Compare commits

..

70 Commits

Author SHA1 Message Date
a45f644148 Release wallabag 2.0.0-alpha.2 2016-01-22 11:37:17 +01:00
6c32aaae95 Merge pull request #1614 from wallabag/v2-few-fixes
Few fixes
2016-01-22 09:36:50 +01:00
23afdf3a70 CS 2016-01-22 08:01:32 +01:00
a3cac44c78 Add for deleting rule from an other user 2016-01-22 08:01:17 +01:00
0f0e8eb82a Use FOSUserEvents instead of c/p a controller
The `resetAction` was overriden to redirect user to the homepage instead of `fos_user_profile_show`.
Instead of copying the whole method we can simply use FOSUserEvents to handle that.
2016-01-21 16:39:13 +01:00
a0d6ccc5ca Fix bad type after using findByUrlAndUserId
It returns an object since few commits this part of (untested) code still use an array.
Also add test for that part of code.
2016-01-21 16:37:25 +01:00
e56983af1f Fix bad redirection when adding a new user 2016-01-21 16:36:30 +01:00
27ea492cf7 Add tests on TagAllCommand
Some simple tests
2016-01-21 16:36:17 +01:00
7a0e6970b4 Use PHP7 random_bytes to generate RSS Token
random_bytes is a PHP 7 function wich has been ported to PHP 5 using paragonie/random_compat
2016-01-21 16:35:41 +01:00
9aa66d6244 Merge pull request #1565 from wallabag/v2-2fa-html
Use HTML email for 2FA
2016-01-21 12:27:47 +01:00
abd454c456 Update HTML 2FA template
Split paragraph in translation
Inject wallabag_url for image in HTML template
Remove username & password from config_dev.yml (null are already the default value)
2016-01-21 11:03:27 +01:00
5f736213af #1490 HTML in E-Mails 2016-01-21 11:03:27 +01:00
d1f1333f48 CS 2016-01-21 11:03:27 +01:00
7ce895bf5e Use HTML email for 2FA
Related to #1490
2016-01-21 11:03:27 +01:00
e72a943ad2 Merge pull request #1610 from wallabag/v2-composer-lock-release
Disable xdebug all the time
2016-01-21 11:02:18 +01:00
3ee1582e60 Disable xdebug all the time
Use travis_wait to avoid travis timeout on `composer up`
Jump to `memory_limit -1` for `composer up`
Also, since composer.lock is ignored, we can remove it.
2016-01-21 09:29:14 +01:00
eff6a406f3 Merge pull request #1606 from wallabag/v2-tag-cascade
Remove tag relation when removing an entry
2016-01-21 08:38:37 +01:00
ff1c7d16be Merge pull request #1607 from wallabag/v2-composer-lock
Ignore composer.lock
2016-01-21 08:28:52 +01:00
173629a400 Ignore composer.lock
Having a big composer.lock on a final project can have side effect on incoming PR that add a new vendor.
Mostly because conflict are too frequent.

By ignoring composer.lock we ease the PR submission and rebase.

BUT we need to be careful when we release a new version of wallabag. We should manually `git add -f composer.lock` to update it.

Since composer.lock will no longer be commited I switch the `composer install` to a `composer up` in the travis configuration.
2016-01-20 18:49:45 +01:00
7e80861588 Remove tag relation when removing an entry
Fix #1453
2016-01-20 18:35:57 +01:00
d481f42b7d Merge pull request #1599 from wallabag/v2-fix-pt-documentation
Add configuration for portuguese documentation
2016-01-20 13:00:43 +01:00
acc0160c29 Add configuration for portuguese documentation 2016-01-20 12:54:19 +01:00
3a59d13fd1 Merge pull request #1594 from araujo0205/patch-1
Create index.rst
2016-01-20 12:09:18 +01:00
e1101bee83 Create index.rst 2016-01-19 16:01:28 -02:00
3080a4afa4 Merge pull request #1587 from wallabag/v2-translator
Use translator interface instead of final class
2016-01-18 09:16:01 +01:00
e678c4752a Use translator interface instead of final class
Symfony use a different class when in dev mode and prod mode.

Prod loads `Symfony\Bundle\FrameworkBundle\Translation\Translator`.
Dev loads `Symfony\Component\Translation\DataCollectorTranslator` to gather information for the debug bar.

Fix #1585
2016-01-17 12:56:04 +01:00
3bcc4d4cb2 Merge pull request #1584 from wallabag/v2-cleanup
some cleanup
2016-01-15 16:29:06 +01:00
160e2d8f0b some cleanup:
* move capistrano config files
* remove useless files
2016-01-15 16:07:57 +01:00
f902d78153 Merge pull request #1564 from wallabag/v2-remove-flattr
Remove Flattr references
2016-01-15 16:01:13 +01:00
86719c63bf Merge pull request #1583 from wallabag/v2-fix-delete
Fix `findOneByUrl` side effect in tests
2016-01-15 15:47:13 +01:00
b91465c067 remove flattr on about page 2016-01-15 15:46:46 +01:00
1930c19d82 Merge pull request #1524 from wallabag/sf2.8
Upgrade to Symfony 3.0
2016-01-15 15:38:31 +01:00
7883367246 Fix findOneByUrl side effect in tests
Fix #1566
2016-01-15 15:28:32 +01:00
790573d458 Merge pull request #1560 from wallabag/v2-quickstart
Fix #1501 Quickstart for beginners
2016-01-15 15:21:43 +01:00
5c072d2b57 Quickstart for beginners 2016-01-15 15:01:30 +01:00
131eaa3e94 Update graby stuff 2016-01-15 11:05:51 +01:00
c7f622d369 Update readme & fix console permission 2016-01-15 09:36:32 +01:00
1fc8ed8794 Last deps update 2016-01-15 09:35:39 +01:00
d8dbe76bf5 Add assets config
To avoid :
> Twig_Error_Syntax: Unknown "asset" function in
2016-01-15 09:35:39 +01:00
ccf50a9fd8 Update path in build file 2016-01-15 09:35:39 +01:00
31e33fc42e Update to Symfony 3.0.x 2016-01-15 09:35:39 +01:00
73cd160bfc Switch to Symfony 3 structure 2016-01-15 09:35:39 +01:00
1d405d0e62 Remove some commented code 2016-01-15 09:35:39 +01:00
c38d27d421 Update to friendsofsymfony/oauth-server-bundle@1.5.0-BETA 2016-01-15 09:35:39 +01:00
27e475a941 Fix Pocket generateUrl parameters 2016-01-15 09:35:38 +01:00
6108b0f26c Update deps
LexikFormFilterBundle & RulerZBundle are now Symfony 3 compatible

There are still some issue with FOSOAuthServerBundle
2016-01-15 09:35:38 +01:00
1d76102a24 Fix recent update
- some missing url parameters from WallabagRestController & EntryController
- use a service for `EntryFilterType` to use fully qualified name instead (so changing class signature)
- update ImportBundle (url & form)
2016-01-15 09:35:38 +01:00
8ba854c068 TwoFactorBundle -> 2.0 2016-01-15 09:35:38 +01:00
b4faefc04d Switch to psr-4 2016-01-15 09:35:38 +01:00
5c895a7fd1 Update bundle & stock file
- update stock file (AppKernel, app.php, etc ..) from SymfonyStandard edition)
- update bundle to latest release
- remove security on profiler
2016-01-15 09:35:38 +01:00
619cc45359 Symfony Upgrade Fixer FTW
symfony-upgrade-fixer fix src/Wallabag/
2016-01-15 09:35:38 +01:00
516022d60e Improve composer.json
Following great article from Jordi: http://seld.be/notes/new-composer-patterns

Changelogs summary:

 - paragonie/random_compat updated from 1.1.1 to 1.1.4
   See changes: https://github.com/paragonie/random_compat/compare/1.1.1...1.1.4
   Release notes: https://github.com/paragonie/random_compat/releases/tag/1.1.4

 - doctrine/cache updated from v1.5.2 to v1.5.4
   See changes: https://github.com/doctrine/cache/compare/v1.5.2...v1.5.4
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.4

 - sensio/framework-extra-bundle updated from v3.0.11 to v3.0.12
   See changes: https://github.com/sensiolabs/SensioFrameworkExtraBundle/compare/v3.0.11...v3.0.12
   Release notes: https://github.com/sensiolabs/SensioFrameworkExtraBundle/releases/tag/v3.0.12

 - nelmio/cors-bundle updated from 1.4.0 to 1.4.1
   See changes: https://github.com/nelmio/NelmioCorsBundle/compare/1.4.0...1.4.1
   Release notes: https://github.com/nelmio/NelmioCorsBundle/releases/tag/1.4.1

 - friendsofsymfony/rest-bundle updated from 1.7.4 to 1.7.6
   See changes: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/1.7.4...1.7.6
   Release notes: https://github.com/FriendsOfSymfony/FOSRestBundle/releases/tag/1.7.6

 - nelmio/api-doc-bundle updated from 2.11.0 to 2.11.1
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.11.0...2.11.1
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.1

 - neitanod/forceutf8 updated from v1.5 to v2.0
   See changes: https://github.com/neitanod/forceutf8/compare/v1.5...v2.0
   Release notes: https://github.com/neitanod/forceutf8/releases/tag/v2.0

 - j0k3r/graby-site-config updated from 1.0.9 to 1.0.10
   See changes: https://github.com/j0k3r/graby-site-config/compare/1.0.9...1.0.10
   Release notes: https://github.com/j0k3r/graby-site-config/releases/tag/1.0.10

 - j0k3r/graby updated from 1.0.6 to 1.0.7
   See changes: https://github.com/j0k3r/graby/compare/1.0.6...1.0.7
   Release notes: https://github.com/j0k3r/graby/releases/tag/1.0.7

 - sebastian/diff updated from 1.4.0 to 1.4.1
   See changes: https://github.com/sebastianbergmann/diff/compare/1.4.0...1.4.1
   Release notes: https://github.com/sebastianbergmann/diff/releases/tag/1.4.1

 - phpunit/phpunit updated from 4.8.19 to 4.8.21
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.19...4.8.21
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.21

 - kphoen/rulerz updated from 0.16.1 to 0.16.2
   See changes: https://github.com/K-Phoen/rulerz/compare/0.16.1...0.16.2
   Release notes: https://github.com/K-Phoen/rulerz/releases/tag/0.16.2
2016-01-15 09:35:37 +01:00
bd2c8b4677 Wallabag now require PHP >= 5.5
See https://github.com/K-Phoen/rulerz/pull/21/files#diff-b5d0ee8c97c7abd7e3fa29b9a27d1780
2016-01-15 09:35:37 +01:00
30a40b0298 Remove weak deprecation 💥 2016-01-15 09:35:37 +01:00
e23edfd287 Update deps
Changelogs summary:

 - doctrine/cache updated from v1.5.1 to v1.5.2
   See changes: https://github.com/doctrine/cache/compare/v1.5.1...v1.5.2
   Release notes: https://github.com/doctrine/cache/releases/tag/v1.5.2

 - doctrine/common updated from v2.5.1 to v2.5.2
   See changes: https://github.com/doctrine/common/compare/v2.5.1...v2.5.2
   Release notes: https://github.com/doctrine/common/releases/tag/v2.5.2

 - symfony/polyfill-mbstring installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-mbstring/releases/tag/v1.0.0

 - symfony/polyfill-util installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-util/releases/tag/v1.0.0

 - paragonie/random_compat installed in version 1.1.1
   Release notes: https://github.com/paragonie/random_compat/releases/tag/1.1.1

 - symfony/polyfill-php70 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php70/releases/tag/v1.0.0

 - symfony/polyfill-php56 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php56/releases/tag/v1.0.0

 - ircmaxell/password-compat installed in version v1.0.4
   Release notes: https://github.com/ircmaxell/password_compat/releases/tag/v1.0.4

 - symfony/polyfill-php55 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php55/releases/tag/v1.0.0

 - symfony/polyfill-php54 installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-php54/releases/tag/v1.0.0

 - symfony/polyfill-intl-icu installed in version v1.0.0
   Release notes: https://github.com/symfony/polyfill-intl-icu/releases/tag/v1.0.0

 - symfony/symfony updated from v2.7.7 to v2.8.0
   See changes: https://github.com/symfony/symfony/compare/v2.7.7...v2.8.0
   Release notes: https://github.com/symfony/symfony/releases/tag/v2.8.0

 - symfony/security-acl installed in version v2.7.7
   Release notes: https://github.com/symfony/security-acl/releases/tag/v2.7.7

 - doctrine/orm updated from v2.5.1 to v2.5.2
   See changes: https://github.com/doctrine/doctrine2/compare/v2.5.1...v2.5.2
   Release notes: https://github.com/doctrine/doctrine2/releases/tag/v2.5.2

 - kriswallsmith/assetic updated from v1.3.1 to v1.3.2
   See changes: https://github.com/kriswallsmith/assetic/compare/v1.3.1...v1.3.2
   Release notes: https://github.com/kriswallsmith/assetic/releases/tag/v1.3.2

 - symfony/assetic-bundle updated from v2.7.0 to v2.7.1
   See changes: https://github.com/symfony/assetic-bundle/compare/v2.7.0...v2.7.1
   Release notes: https://github.com/symfony/assetic-bundle/releases/tag/v2.7.1

 - symfony/swiftmailer-bundle updated from v2.3.8 to v2.3.9
   See changes: https://github.com/symfony/swiftmailer-bundle/compare/v2.3.8...v2.3.9
   Release notes: https://github.com/symfony/swiftmailer-bundle/releases/tag/v2.3.9

 - symfony/monolog-bundle updated from 2.8.1 to v2.8.2
   See changes: https://github.com/symfony/monolog-bundle/compare/2.8.1...v2.8.2
   Release notes: https://github.com/symfony/monolog-bundle/releases/tag/v2.8.2

 - sensio/distribution-bundle updated from v3.0.33 to v3.0.34
   See changes: https://github.com/sensiolabs/SensioDistributionBundle/compare/v3.0.33...v3.0.34
   Release notes: https://github.com/sensiolabs/SensioDistributionBundle/releases/tag/v3.0.34

 - friendsofsymfony/rest-bundle updated from 1.7.2 to 1.7.4
   See changes: https://github.com/FriendsOfSymfony/FOSRestBundle/compare/1.7.2...1.7.4
   Release notes: https://github.com/FriendsOfSymfony/FOSRestBundle/releases/tag/1.7.4

 - nelmio/api-doc-bundle updated from 2.10.3 to 2.11.0
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.10.3...2.11.0
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.0

 - j0k3r/graby-site-config updated from 1.0.6 to 1.0.9
   See changes: https://github.com/j0k3r/graby-site-config/compare/1.0.6...1.0.9
   Release notes: https://github.com/j0k3r/graby-site-config/releases/tag/1.0.9

 - j0k3r/safecurl updated from v1.1.1 to 2.0.2
   See changes: https://github.com/j0k3r/safecurl/compare/v1.1.1...2.0.2
   Release notes: https://github.com/j0k3r/safecurl/releases/tag/2.0.2

 - j0k3r/graby updated from 1.0.4 to 1.0.6
   See changes: https://github.com/j0k3r/graby/compare/1.0.4...1.0.6
   Release notes: https://github.com/j0k3r/graby/releases/tag/1.0.6

 - scheb/two-factor-bundle updated from v1.4.7 to v1.5.0
   See changes: https://github.com/scheb/two-factor-bundle/compare/v1.4.7...v1.5.0
   Release notes: https://github.com/scheb/two-factor-bundle/releases/tag/v1.5.0

 - sebastian/recursion-context updated from 1.0.1 to 1.0.2
   See changes: https://github.com/sebastianbergmann/recursion-context/compare/1.0.1...1.0.2
   Release notes: https://github.com/sebastianbergmann/recursion-context/releases/tag/1.0.2

 - sebastian/environment updated from 1.3.2 to 1.3.3
   See changes: https://github.com/sebastianbergmann/environment/compare/1.3.2...1.3.3
   Release notes: https://github.com/sebastianbergmann/environment/releases/tag/1.3.3

 - sebastian/diff updated from 1.3.0 to 1.4.0
   See changes: https://github.com/sebastianbergmann/diff/compare/1.3.0...1.4.0
   Release notes: https://github.com/sebastianbergmann/diff/releases/tag/1.4.0

 - phpunit/phpunit updated from 4.8.18 to 4.8.19
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.18...4.8.19
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.19

 - symfony/phpunit-bridge updated from v2.7.7 to v2.8.0
   See changes: https://github.com/symfony/phpunit-bridge/compare/v2.7.7...v2.8.0
   Release notes: https://github.com/symfony/phpunit-bridge/releases/tag/v2.8.0

 - doctrine/doctrine-cache-bundle updated from 1.2.1 to 1.2.2
   See changes: https://github.com/doctrine/DoctrineCacheBundle/compare/1.2.1...1.2.2
   Release notes: https://github.com/doctrine/DoctrineCacheBundle/releases/tag/1.2.2

 - doctrine/doctrine-bundle updated from v1.5.2 to 1.6.1
   See changes: https://github.com/doctrine/DoctrineBundle/compare/v1.5.2...1.6.1
   Release notes: https://github.com/doctrine/DoctrineBundle/releases/tag/1.6.1

 - phpzip/phpzip updated from 2.0.7 to 2.0.8
   See changes: https://github.com/Grandt/PHPZip/compare/2.0.7...2.0.8
   Release notes: https://github.com/Grandt/PHPZip/releases/tag/2.0.8

 - kphoen/rulerz updated from 0.14.0 to 0.16.1
   See changes: https://github.com/K-Phoen/rulerz/compare/0.14.0...0.16.1
   Release notes: https://github.com/K-Phoen/rulerz/releases/tag/0.16.1

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: 45d6f40...e39b040
2016-01-15 09:35:37 +01:00
9ee44a109a Merge pull request #1574 from jjanvier/readme
Fix typo and set version in the README
2016-01-14 07:50:55 +01:00
6663d49329 Fix typo and set version in the README 2016-01-14 00:47:17 +01:00
0aafb8dfcb Merge pull request #1561 from FabienM/docker-compose
Add basic docker-compose configuration
2016-01-11 09:08:39 +01:00
8b909e7ea7 Add documentation to run docker-compose 2016-01-10 15:01:20 +01:00
1d41effebc Add Docker configuration for Postgres and MariaDB 2016-01-10 15:01:11 +01:00
540ef5e084 Add basic docker-compose configuration 2016-01-10 14:41:42 +01:00
4aa2997106 Merge pull request #1563 from wallabag/v2-fix-1394
#1394 Fixed 'mark as read' and 'mark as unread' links
2016-01-10 10:20:16 +01:00
c60b549313 Merge pull request #1562 from wallabag/v2-add-import-baggy
add import link on baggy theme
2016-01-10 10:17:27 +01:00
6c9bad13e1 Fixed 'mark as read' and 'mark as unread' links 2016-01-09 22:20:19 +01:00
da82839bf8 add import link on baggy theme 2016-01-09 20:33:09 +01:00
5ad863c63a Merge pull request #1558 from wallabag/v2-documentation
[v2] documentation cleaning
2016-01-09 17:33:27 +01:00
1caf557de7 Merge pull request #1559 from wallabag/v2-doctrine-migrations
Installation & configuration of Doctrine Migrations
2016-01-09 14:43:06 +01:00
e1b9f4fb37 Update deps
Changelogs summary:

 - doctrine/dbal updated from v2.5.3 to v2.5.4
   See changes: https://github.com/doctrine/dbal/compare/v2.5.3...v2.5.4
   Release notes: https://github.com/doctrine/dbal/releases/tag/v2.5.4

 - doctrine/orm updated from v2.5.3 to v2.5.4
   See changes: https://github.com/doctrine/doctrine2/compare/v2.5.3...v2.5.4
   Release notes: https://github.com/doctrine/doctrine2/releases/tag/v2.5.4

 - nelmio/api-doc-bundle updated from 2.11.1 to 2.11.2
   See changes: https://github.com/nelmio/NelmioApiDocBundle/compare/2.11.1...2.11.2
   Release notes: https://github.com/nelmio/NelmioApiDocBundle/releases/tag/2.11.2

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: e5e7a2b...6ccff96
2016-01-09 14:24:09 +01:00
a42938f42c documentation cleaning 2016-01-09 13:50:45 +01:00
292c1324e9 Installation & configuration of Doctrine Migrations 2016-01-08 16:27:29 +01:00
186 changed files with 2529 additions and 3514 deletions

30
.gitignore vendored
View File

@ -1,25 +1,20 @@
# Cache and logs (Symfony2)
/app/cache/*
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
# Cache and logs (Symfony3)
# Cache, logs & sessions
/var/*
!/var/cache
/var/cache/*
/var/logs/*
!var/cache/.gitkeep
!/var/logs
/var/logs/*
!var/logs/.gitkeep
!/var/sessions
/var/sessions/*
!var/sessions/.gitkeep
!var/SymfonyRequirements.php
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
# Managed by Composer
/app/bootstrap.php.cache
/var/bootstrap.php.cache
/bin/*
!bin/console
!bin/symfony_requirements
/vendor/
# Assets and user uploads
@ -36,3 +31,10 @@
# Data for wallabag
data/assets/*
data/db/wallabag*.sqlite
# Docker container logs and data
docker/logs/
docker/data/
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
composer.lock

View File

@ -4,6 +4,7 @@ filter:
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'var/*'
- 'web/*'
- 'src/Wallabag/*Bundle/Tests/*'
- '*Test.php'

View File

@ -39,21 +39,13 @@ branches:
- v2
before_script:
- composer self-update
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-rm xdebug.ini; fi;
- composer self-update --no-progress
- if [ -n "$GH_TOKEN" ]; then composer config github-oauth.github.com ${GH_TOKEN}; fi;
# disable xdebug since we don't use code-coverage for now
- if [[ $TRAVIS_PHP_VERSION != '5.6' && $TRAVIS_PHP_VERSION != 'hhvm' && $TRAVIS_PHP_VERSION != '7.0' ]]; then phpenv config-rm xdebug.ini; fi
# build coverage only on one build, to speed up results feedbacks
# - if [[ "$TRAVIS_PHP_VERSION" = "5.6" ]]; then PHPUNIT_FLAGS="--coverage-clover=coverage.clover"; else PHPUNIT_FLAGS=""; fi;
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag;' -U postgres; fi;
script:
- travis_wait composer update --no-interaction --no-progress
- ant prepare-$DB
- SYMFONY_DEPRECATIONS_HELPER=weak bin/phpunit -v
# after_script:
# - |
# if [ $TRAVIS_PHP_VERSION = '5.6' ]; then
# wget https://scrutinizer-ci.com/ocular.phar
# php ocular.phar code-coverage:upload --format=php-clover coverage.clover
# fi
- bin/phpunit -v

View File

@ -1,19 +1,19 @@
Copyright (c) 2013-2015 Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Copyright (c) 2013-2016 Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,6 +1,3 @@
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb) under the MIT License.
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r) and [@tcitworld](https://github.com/tcitworld) under the MIT License.
Thank you so much to [@tcitworld](https://github.com/tcitworld) and [@j0k3r](https://github.com/j0k3r).
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors
).
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors).

22
Capfile
View File

@ -1,3 +1,6 @@
set :deploy_config_path, 'app/config/capistrano/deploy.rb'
set :stage_config_path, 'app/config/capistrano/deploy'
# Load DSL and set up stages
require 'capistrano/setup'
@ -6,24 +9,5 @@ require 'capistrano/deploy'
require 'capistrano/symfony'
# Include tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
# https://github.com/capistrano/rvm
# https://github.com/capistrano/rbenv
# https://github.com/capistrano/chruby
# https://github.com/capistrano/bundler
# https://github.com/capistrano/rails
# https://github.com/capistrano/passenger
#
# require 'capistrano/rvm'
# require 'capistrano/rbenv'
# require 'capistrano/chruby'
# require 'capistrano/bundler'
# require 'capistrano/rails/assets'
# require 'capistrano/rails/migrations'
# require 'capistrano/passenger'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

View File

@ -1,53 +0,0 @@
# Guidelines for wallabag
If you want to contribute to wallabag, you have some rules to respect. These rules were defined by [PHP Framework Interop Group](http://www.php-fig.org).
## Basic Coding Standard (PSR-1)
This section of the standard comprises what should be considered the standard coding elements that are required to ensure a high level of technical interoperability between shared PHP code.
* Files MUST use only `<?php` and `<?=` tags.
* Files MUST use only UTF-8 without BOM for PHP code.
* Files SHOULD either declare symbols (classes, functions, constants, etc.) or cause side-effects (e.g. generate output, change .ini settings, etc.) but SHOULD NOT do both.
* Namespaces and classes MUST follow [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md).
* Class names MUST be declared in `StudlyCaps`.
* Class constants MUST be declared in all upper case with underscore separators.
* Method names MUST be declared in `camelCase`.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-1/).
## Coding Style Guide (PSR-2)
This guide extends and expands on PSR-1, the basic coding standard.
The intent of this guide is to reduce cognitive friction when scanning code from different authors. It does so by enumerating a shared set of rules and expectations about how to format PHP code.
The style rules herein are derived from commonalities among the various member projects. When various authors collaborate across multiple projects, it helps to have one set of guidelines to be used among all those projects. Thus, the benefit of this guide is not in the rules themselves, but in the sharing of those rules.
* Code MUST follow PSR-1.
* Code MUST use 4 spaces for indenting, not tabs.
* There MUST NOT be a hard limit on line length; the soft limit MUST be 120 characters; lines SHOULD be 80 characters or less.
* There MUST be one blank line after the `namespace` declaration, and there MUST be one blank line after the block of `use` declarations.
* Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body.
* Opening braces for methods MUST go on the next line, and closing braces MUST go on the next line after the body.
* Visibility MUST be declared on all properties and methods; `abstract` and `final` MUST be declared before the visibility; `static` MUST be declared after the visibility.
* Control structure keywords MUST have one space after them; method and function calls MUST NOT.
* Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body.
* Opening parentheses for control structures MUST NOT have a space after them, and closing parentheses for control structures MUST NOT have a space before.
You can read details on [PHP FIG website](http://www.php-fig.org/psr/psr-2/).

View File

@ -2,25 +2,25 @@
[![Code Coverage](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/coverage.png?b=v2)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=v2)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
# What is wallabag ?
# What is wallabag?
wallabag is a self hostable application allowing you to not miss any content anymore.
Click, save, read it when you can. It extracts content so that you can read it when you have time.
Click, save and read it when you can. It extracts content so that you can read it when you have time.
More informations on our website: [wallabag.org](http://wallabag.org)
# Want to test the v2 ?
# Want to test the v2?
Keep in mind it's an **instable** branch, everything can be broken :)
Keep in mind it's an **unstable** branch, everything can be broken :)
If you don't have it yet, please [install composer](https://getcomposer.org/download/). Then you can install wallabag by executing the following commands:
```
git clone https://github.com/wallabag/wallabag.git -b v2
cd wallabag
composer install
php app/console wallabag:install
php app/console server:run
composer create-project wallabag/wallabag wallabag 2.0.*@alpha
php bin/console wallabag:install
php bin/console server:run
```
## License
Copyright © 2013-2015 Nicolas Lœuillet <nicolas@loeuillet.org>
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
This work is free. You can redistribute it and/or modify it under the
terms of the MIT License. See the COPYING file for more details.

View File

@ -1,67 +0,0 @@
# How to manage translations for wallabag
This guide will describe the procedure of translation management of the wallabag web application.
All translations are made using [gettext](http://en.wikipedia.org/wiki/Gettext) system and tools.
You will need the [Poedit](http://www.poedit.net/download.php) editor to update, edit and create your translation files easily. However, you can also handle translations also without it: all can be done using gettext tools and your favorite plain text editor only. This guide, however, describes editing with Poedit. If you want to use gettext only, please refer to the xgettext manual page to update po files from sources (see also how it is used by Poedit below) and use msgunfmt tool to compile .mo files manually.
You need to know, that translation phrases are stored in **".po"** files (for example: `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po`), which are then complied in **".mo"** files using **msgfmt** gettext tool or by Poedit, which will run msgfmt for you in background.
**It's assumed, that you have wallabag installed locally on your computer or on the server you have access to.**
## To change existing translation you will need to do:
### 1. Clear cache
You can do this using **http://your-wallabag-host.com/?empty-cache** link (replace http://your-wallabag-host.com/ with real url of your wallabag application)
OR
from command line:
go to root of your installation of wallabag project and run next command:
`rm -rf ./cache/*`
(this may require root privileges if you run, for example Apache web server with mod_php)
### 2. Generate php files from all twig templates
Do this using next command:
`php ./locale/tools/fillCache.php`
OR
from your browser: **http://your-wallabag-host.com/locale/tools/fillCache.php** (this may require removal of .htaccess file in locale/ directory).
### 3. Configure your Poedit
Open Poedit editor, open Edit->Preferences. Go to "Parsers" tab, click on PHP and press "Edit" button. Make sure your "Parser command:" looks like
`xgettext --no-location --force-po -o %o %C %K %F`
Usually it is required to add "--no-location" to default value.
### 4. Open .po file you want to edit in Poedit and change its settings
Open, for example `locale/pl_PL.utf8/LC_MESSAGES/pl_PL.utf8.po` file in your Poedit.
Go to "Catalog"->"Settings..." menu. Then go to "Path" tab and add path to wallabag installation in your local file system. This step can't be omitted as you will not be able to update phrases otherwise.
You can also check "project into" tab to be sure, that "Language" is set correctly (this will allow you to spell check your translation).
### 5. Update opened .po file from sources
Once you have set your path correctly, you are able to update phrases from sources. Press "Update catalog - synchronize it with sources" button or go to "Catalog"->"Update from sources" menu.
As a result you will see confirmation popup with two tabs: "New strings" and "Obsolete strings". Please review and accept changes (or press "Undo" if you see too many obsolete strings, as Poedit will remove them all - in this case please make sure all previous steps are performed w/o errors).
### 6. Translate and save your .po file
If you have any difficulties on this step, please consult with Poedit manual.
Every time you save your .po file, Poedit will also compile appropriate .mo file by default (of course, if not disabled in preferences).
You are now almost done.
### 7. Clear cache again
This step may be required if your web server runs php scripts in name of, say, www user (i.e. Apache with mod_php, not cgi).
##To create new translation
You just have to copy the folder corresponding to the language you want to translate from, change language in the project settings and for the folder and files names. Then start replacing all existing translations with your own.

71
Vagrantfile vendored
View File

@ -1,71 +0,0 @@
$script_sqlite = <<SCRIPT
apt-get update
apt-get install -y apache2 php5 php5-sqlite php5-xdebug
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_mysql = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-mysql php5-xdebug mysql-server mysql-client
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service mysql restart
echo "create database wallabag;" | mysql -u root
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
$script_postgres = <<SCRIPT
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y apache2 php5 php5-pgsql php5-xdebug postgresql postgresql-contrib
apt-get clean -y
echo "ServerName localhost" >> /etc/apache2/apache2.conf
service apache2 restart
service postgresql restart
rm -f /var/www/html/index.html
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.define "sqlite" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "mysql" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_mysql
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "postgres" do |m|
m.vm.box = "ubuntu/trusty64"
m.vm.provision "shell", inline: $script_postgres
m.vm.synced_folder ".", "/var/www/html", owner: "www-data", group: "www-data"
end
config.vm.define "debian7" do |m|
m.vm.box = "chef/debian-7.6"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.define "debian6" do |m|
m.vm.box = "chef/debian-6.0.10"
m.vm.provision "shell", inline: $script_sqlite
m.vm.synced_folder ".", "/var/www", owner: "www-data", group: "www-data"
end
config.vm.network :forwarded_port, guest: 80, host: 8003
#config.vm.network "public_network", :bridge => "en0: Wi-Fi (AirPort)"
end

View File

@ -1,7 +1,5 @@
<?php
require_once __DIR__.'/AppKernel.php';
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
class AppCache extends HttpCache

View File

@ -7,7 +7,7 @@ class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
@ -32,9 +32,10 @@ class AppKernel extends Kernel
new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
new Wallabag\ImportBundle\WallabagImportBundle(),
);
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
];
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
@ -45,8 +46,23 @@ class AppKernel extends Kernel
return $bundles;
}
public function getRootDir()
{
return __DIR__;
}
public function getCacheDir()
{
return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
}
public function getLogDir()
{
return dirname(__DIR__).'/var/logs';
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
}
}

View File

@ -8,6 +8,6 @@ use Composer\Autoload\ClassLoader;
*/
$loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
AnnotationRegistry::registerLoader([$loader, 'loadClass']);
return $loader;

View File

@ -21,9 +21,11 @@ framework:
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
http_method_override: true
assets: ~
wallabag_core:
languages:
@ -58,10 +60,8 @@ twig:
twofactor_auth: %twofactor_auth%
warning_message: %warning_message%
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
flattr_url: "https://flattr.com/thing/1265480"
form:
resources:
- LexikFormFilterBundle:Form:form_div_layout.html.twig
form_themes:
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
# Assetic Configuration
assetic:
@ -102,6 +102,12 @@ stof_doctrine_extensions:
tree: true
sluggable: true
doctrine_migrations:
dir_name: "%kernel.root_dir%/DoctrineMigrations"
namespace: Application\Migrations
table_name: migration_versions
name: Application Migrations
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
@ -165,14 +171,8 @@ liip_theme:
autodetect_theme: wallabag_core.helper.detect_active_theme
path_patterns:
# app_resource:
# - %%app_path%%/views/themes/%%current_theme%%/%%template%%
# - %%app_path%%/views/%%template%%
bundle_resource:
- %%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%%
# bundle_resource_dir:
# - %%dir%%/views/themes/%%current_theme%%/%%bundle_name%%/%%template%%
# - %%dir%%/views/%%bundle_name%%/%%override_path%%
fos_user:
db_driver: orm

View File

@ -17,13 +17,14 @@ monolog:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [!event]
console:
type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
channels: ["!doctrine"]
channels: [!event, !doctrine]
console_very_verbose:
type: console
bubble: false
@ -31,15 +32,7 @@ monolog:
VERBOSITY_VERBOSE: NOTICE
VERBOSITY_VERY_VERBOSE: NOTICE
VERBOSITY_DEBUG: DEBUG
channels: ["doctrine"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
channels: [doctrine]
assetic:
use_controller: true
@ -49,6 +42,3 @@ swiftmailer:
transport: smtp
host: 'localhost'
port: 1025
username: null
password: null

View File

@ -1,5 +1,15 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
# Uncomment these settings or manually update your parameters.yml
# to use docker-compose
#
# database_driver: %env.database_driver%
# database_host: %env.database_host%
# database_port: %env.database_port%
# database_name: %env.database_name%
# database_user: %env.database_user%
# database_password: %env.database_password%
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~

View File

@ -8,7 +8,7 @@ wallabag_api:
prefix: /
app:
resource: @WallabagCoreBundle/Controller/
resource: "@WallabagCoreBundle/Controller/"
type: annotation
doc-api:

View File

@ -6,13 +6,9 @@ _profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
prefix: /_profiler
_configurator:
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
prefix: /_configurator
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
_main:
resource: routing.yml
resource: routing.yml

View File

@ -15,6 +15,11 @@ security:
# the main part of the security, where you can set up firewalls
# for specific sections of your app
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
oauth_token:
pattern: ^/oauth/v2/token
security: false
@ -33,11 +38,11 @@ security:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
csrf_token_generator: security.csrf.token_manager
anonymous: true
remember_me:
key: "%secret%"
secret: "%secret%"
lifetime: 31536000
path: /
domain: ~

View File

@ -1,22 +1,24 @@
#!/usr/bin/env php
<?php
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
// if you don't want to setup permissions the proper way, just uncomment the following PHP line
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information
//umask(0000);
set_time_limit(0);
require_once __DIR__.'/bootstrap.php.cache';
require_once __DIR__.'/AppKernel.php';
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Debug\Debug;
/**
* @var Composer\Autoload\ClassLoader $loader
*/
$loader = require __DIR__.'/../app/autoload.php';
$input = new ArgvInput();
$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod';
$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod';
if ($debug) {
Debug::enable();

1
bin/doctrine Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/orm/bin/doctrine

1
bin/doctrine-dbal Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/dbal/bin/doctrine-dbal

1
bin/doctrine-migrations Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/migrations/bin/doctrine-migrations

1
bin/doctrine.php Symbolic link
View File

@ -0,0 +1 @@
../vendor/doctrine/orm/bin/doctrine.php

Binary file not shown.

1
bin/security-checker Symbolic link
View File

@ -0,0 +1 @@
../vendor/sensiolabs/security-checker/security-checker

9
app/check.php → bin/symfony_requirements Normal file → Executable file
View File

@ -1,6 +1,7 @@
#!/usr/bin/env php
<?php
require_once dirname(__FILE__).'/SymfonyRequirements.php';
require_once dirname(__FILE__).'/../var/SymfonyRequirements.php';
$lineSize = 70;
$symfonyRequirements = new SymfonyRequirements();
@ -80,7 +81,7 @@ function get_error_message(Requirement $requirement, $lineSize)
return;
}
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
return $errorMessage;
@ -121,8 +122,8 @@ function echo_block($style, $title, $message)
echo PHP_EOL.PHP_EOL;
echo_style($style, str_repeat(' ', $width).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_repeat(' ', $width).PHP_EOL);
}

View File

@ -1,46 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
<target name="build" depends="clean,composer,prepare,phpunit"/>
<target name="prepare-mysql" depends="clean,composer,db_mysql,prepare"/>
<target name="prepare-sqlite" depends="clean,composer,db_sqlite,prepare"/>
<target name="prepare-pgsql" depends="clean,composer,db_pgsql,prepare"/>
<target name="build" depends="clean,prepare,phpunit"/>
<target name="prepare-mysql" depends="clean,db_mysql,prepare"/>
<target name="prepare-sqlite" depends="clean,db_sqlite,prepare"/>
<target name="prepare-pgsql" depends="clean,db_pgsql,prepare"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/app/cache"/>
</target>
<target name="composer" description="Install deps using Composer">
<exec executable="composer">
<arg value="install"/>
<arg value="--no-interaction"/>
<arg value="--no-progress"/>
</exec>
<delete dir="${basedir}/var/cache"/>
</target>
<target name="prepare" description="Prepare for build">
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
@ -55,7 +47,7 @@
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
@ -69,7 +61,7 @@
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
@ -83,7 +75,7 @@
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>

View File

@ -28,74 +28,74 @@
"issues": "https://github.com/wallabag/wallabag/issues"
},
"require": {
"php": ">=5.5.0",
"symfony/symfony": "~2.7.0",
"doctrine/orm": "~2.3",
"doctrine/doctrine-bundle": "1.5.2",
"php": ">=5.5.9",
"symfony/symfony": "3.0.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~3.0.12",
"sensio/framework-extra-bundle": "~3.0",
"incenteev/composer-parameter-handler": "~2.0",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^2.8",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"nelmio/cors-bundle": "~1.4.0",
"friendsofsymfony/rest-bundle": "~1.4",
"jms/serializer-bundle": "~0.13",
"jms/serializer-bundle": "~1.0",
"nelmio/api-doc-bundle": "~2.7",
"ezyang/htmlpurifier": "~4.6",
"mgargano/simplehtmldom": "~1.5",
"tecnickcom/tcpdf": "~6.2",
"simplepie/simplepie": "~1.3.1",
"willdurand/hateoas-bundle": "~0.5.0",
"willdurand/hateoas-bundle": "~1.0",
"htmlawed/htmlawed": "~1.1.19",
"liip/theme-bundle": "~1.1.3",
"liip/theme-bundle": "~1.1",
"pagerfanta/pagerfanta": "~1.0.3",
"lexik/form-filter-bundle": "~4.0",
"lexik/form-filter-bundle": "~5.0",
"j0k3r/graby": "~1.0",
"friendsofsymfony/user-bundle": "dev-master",
"friendsofsymfony/oauth-server-bundle": "^1.4@dev",
"friendsofsymfony/oauth-server-bundle": "^1.5@dev",
"stof/doctrine-extensions-bundle": "^1.2@dev",
"scheb/two-factor-bundle": "~1.4.0",
"scheb/two-factor-bundle": "~2.0",
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
"guzzlehttp/guzzle": "^5.2.0"
"guzzlehttp/guzzle": "^5.2.0",
"doctrine/doctrine-migrations-bundle": "^1.0",
"paragonie/random_compat": "~1.0"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2.0",
"sensio/generator-bundle": "~2.5",
"doctrine/doctrine-fixtures-bundle": "~2.2",
"sensio/generator-bundle": "^3.0",
"phpunit/phpunit": "~4.4",
"symfony/phpunit-bridge": "~2.7.0"
"symfony/phpunit-bridge": "^2.7"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/wallabag/phpMobi"
}
],
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"build-parameters": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"
],
"post-cmd": [
"@build-parameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@post-cmd"
],
"post-update-cmd": [
"@post-cmd"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml",
@ -108,7 +108,8 @@
}
},
"autoload": {
"psr-0": { "": "src/" }
"psr-4": { "": "src/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"config": {
"bin-dir": "bin"

1420
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,61 +0,0 @@
# server-based syntax
# ======================
# Defines a single server with a list of roles and multiple properties.
# You can define all roles on a single server, or split them:
# server 'example.com', user: 'deploy', roles: %w{app db web}, my_property: :my_value
# server 'example.com', user: 'deploy', roles: %w{app web}, other_property: :other_value
# server 'db.example.com', user: 'deploy', roles: %w{db}
# role-based syntax
# ==================
# Defines a role with one or multiple servers. The primary server in each
# group is considered to be the first unless any hosts have the primary
# property set. Specify the username and a domain or IP for the server.
# Don't use `:all`, it's a meta role.
# role :app, %w{deploy@example.com}, my_property: :my_value
# role :web, %w{user1@primary.com user2@additional.com}, other_property: :other_value
# role :db, %w{deploy@example.com}
# Configuration
# =============
# You can set any configuration variable like in config/deploy.rb
# These variables are then only loaded and set in this stage.
# For available Capistrano configuration variables see the documentation page.
# http://capistranorb.com/documentation/getting-started/configuration/
# Feel free to add new variables to customise your setup.
# Custom SSH Options
# ==================
# You may pass any option but keep in mind that net/ssh understands a
# limited set of options, consult the Net::SSH documentation.
# http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start
#
# Global options
# --------------
# set :ssh_options, {
# keys: %w(/home/rlisowski/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(password)
# }
#
# The server-based syntax can be used to override options:
# ------------------------------------
# server 'example.com',
# user: 'user_name',
# roles: %w{web app},
# ssh_options: {
# user: 'user_name', # overrides user setting above
# keys: %w(/home/user_name/.ssh/id_rsa),
# forward_agent: false,
# auth_methods: %w(publickey password)
# # password: 'please use keys'
# }

42
docker-compose.yml Normal file
View File

@ -0,0 +1,42 @@
nginx:
image: nginx
ports:
- "8080:80"
volumes:
- ./docker/nginx/nginx.conf:/nginx.conf
- ./docker/logs/nginx:/var/log/nginx
- .:/var/www/html
links:
- php:php
command: nginx -c /nginx.conf
php:
build: docker/php
ports:
- "9000:9000"
volumes:
- .:/var/www/html
#links:
# - "postgres:rdbms"
# - "mariadb:rdbms"
env_file:
- ./docker/php/env
# Comment non-used DBMS lines
# If all DBMS are commented out, sqlite will be used as default
# - ./docker/postgres/env
# - ./docker/mariadb/env
#postgres:
# image: postgres:9
# ports:
# - "5432:5432"
# volumes:
# - ./docker/data/pgsql:/var/lib/postgresql/data
# env_file:
# - ./docker/postgres/env
#mariadb:
# image: mariadb:10
# ports:
# - "3306:3306"
# volumes:
# - ./docker/data/mariadb:/var/lib/mysql
# env_file:
# - ./docker/mariadb/env

10
docker/mariadb/env Normal file
View File

@ -0,0 +1,10 @@
MYSQL_ROOT_PASSWORD=wallaroot
MYSQL_USER=wallabag
MYSQL_PASSWORD=wallapass
MYSQL_DATABASE=wallabag
SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
SYMFONY__ENV__DATABASE_HOST=rdbms
SYMFONY__ENV__DATABASE_PORT=3306
SYMFONY__ENV__DATABASE_NAME=wallabag
SYMFONY__ENV__DATABASE_USER=wallabag
SYMFONY__ENV__DATABASE_PASSWORD=wallapass

89
docker/nginx/nginx.conf Normal file
View File

@ -0,0 +1,89 @@
user nginx;
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 15;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
error_log off;
gzip on;
gzip_disable "msie6";
open_file_cache max=100;
upstream php-upstream {
server php:9000;
}
server {
#server_name domain.tld www.domain.tld;
root /var/www/html/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
# DEV
# This rule should only be placed on your development environment
# In production, don't include this and don't deploy app_dev.php or config.php
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
}
daemon off;

10
docker/php/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM php:fpm
RUN apt-get update && apt-get install -y \
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
&& docker-php-ext-install \
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
RUN usermod -u 1000 www-data
CMD ["php-fpm"]

6
docker/php/env Normal file
View File

@ -0,0 +1,6 @@
SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite
SYMFONY__ENV__DATABASE_HOST=127.0.0.1
SYMFONY__ENV__DATABASE_PORT=~
SYMFONY__ENV__DATABASE_NAME=symfony
SYMFONY__ENV__DATABASE_USER=root
SYMFONY__ENV__DATABASE_PASSWORD=~

9
docker/postgres/env Normal file
View File

@ -0,0 +1,9 @@
POSTGRES_USER=wallabag
POSTGRES_PASSWORD=wallapass
POSTGRES_DB=wallabag
export SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
export SYMFONY__ENV__DATABASE_HOST=rdbms
export SYMFONY__ENV__DATABASE_PORT=5432
export SYMFONY__ENV__DATABASE_NAME=wallabag
export SYMFONY__ENV__DATABASE_USER=wallabag
export SYMFONY__ENV__DATABASE_PASSWORD=wallapass

View File

@ -1,85 +0,0 @@
Hidden options
==============
Caution
-------
**Be careful**, this section is destined to advanced users. We are going
to modify an important wallabag configuration file,
``inc/poche/config.inc.php``. It is therefore advised to do a backup of
this file before you proceed. **Any error occuring during the
modification of a wallabag file could lead to malfunctions**.
This file is created when you install wallabag. Install wallabag, do a
backup copy of the file, then open it in your favorite text editor.
In this file, there are some options that are not, as of now, available
in the **config** page of wallabag.
Modification of advanced options
--------------------------------
Each option is defined this way:
::
@define ('OPTION_NAME', 'Value');
For each line, you can only modify the ``Value`` field.
Here is the list of each option you can change:
- ``HTTP_PORT`` (default: ``80``) : the HTTP port of your web server.
You may need to change it if your server is behind a proxy. Accepted
values: number
- ``SSL_PORT`` (default: ``443``) : the HTTP port of your web server.
You may need to change it if your server use SSLH. Accepted values:
number
- ``MODE_DEMO`` (default : ``FALSE)``: If you ever wanted to set up a
demonstration server… Accepted values: ``TRUE`` or ``FALSE``.
- ``DEBUG_POCHE`` (default: ``FALSE``) : if you encounter some problems
with wallabag, we may ask you to active Debug mode. Accepted values:
``TRUE`` or ``FALSE``. Check the logs in cache/log.txt after
activating that.
- ``ERROR_REPORTING`` (default : ``E_ALL & ~E_NOTICE``) : Set to
``E_ALL`` if needed to look for eventual PHP errors.
- ``DOWNLOAD_PICTURES`` (default: ``FALSE``) : Allows wallabag to fetch
images from the articles you save on your server, instead of fetching
only the text. We prefer to let you activate this option yourself.
Accepted values: ``TRUE`` or ``FALSE``.
- ``REGENERATE_PICTURES_QUALITY`` (default : ``75``) : In order to
avoid security problems, pictures are regenerated if you activate the
download of pictures. This is the percentage of quality at which they
are saved. Increase that numbler if you want better quality, lower if
you need better performances.
- ``SHARE_TWITTER`` (default: ``TRUE``) : enables Twitter sharing.
Accepted values: ``TRUE`` or ``FALSE``.
- ``SHARE_MAIL`` (default: ``TRUE``) : enables mail sharing. Accepted
values: ``TRUE`` or ``FALSE``.
- ``SHARE_EVERNOTE``\ (default : ``FALSE``) : enables sharing with your
Evernote account. Accepted values: ``TRUE`` or ``FALSE``.
- ``SHARE_DIASPORA`` (default : ``FALSE``) : enables to share an
article on your Diaspora account.
- ``DIASPORA_URL`` (default : ``http://diasporapod.com``) : The URL of
your Diaspora\* pod
- ``CARROT`` (default : ``FALSE``) : Like Flattr, its a service to
give small amounts of money to a web page. See http://carrot.org/
- ``SHARE_SHAARLI`` (default: ``FALSE``) : enables sharing via your
Shaarli installation (Shaarli is an open-source bookmark manager).
Accepted values: ``TRUE`` or ``FALSE``.
- ``SHAARLI_URL`` (default: ``'http://myshaarliurl.com'``) : defines
your Shaarli installation URL. Accepted values: an URL.
- ``FLATTR`` (default: ``TRUE``) : enables the possibility to Flattr an
article (`Flattr is a microdonation platform`_). If an article is
Flattr-able, an icon will be displayed, allowing you to send a
microdonation to the author. Accepted values: ``TRUE`` or ``FALSE``.
- ``SHOW_PRINTLINK`` (default: ``'1'``) : enables the Print button for
articles. Accepted values: ``'1'`` to enable or ``'0'`` to disable.
- ``SHOW_READPERCENT`` (default: ``'1'``) : enables the reading
progress on articles (working on the ``default``, ``dark``,
``dmagenta``, ``solarized``, ``solarized-dark`` themes). Accepted
values: ``'1'`` to enable or ``'0'`` to disable.
- ``PAGINATION`` (default: ``'12'``) : defines the number of articles
that are displayed on a list. Accepted values: number.
.. _Flattr is a microdonation platform: http://en.wikipedia.org/wiki/Flattr

View File

@ -1,200 +0,0 @@
Download and install wallabag
=============================
I dont want to install wallabag
--------------------------------
If you cant or dont want to install Wallabag on your server, we
suggest you create a free account on `Framabag`_ which uses our
software (see :ref:`Framabag account creation`).
I want to install wallabag
--------------------------
I want to download wallabag manually
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`Download the latest wallabag version`_ and unpack it:
::
wget http://wllbg.org/latest
unzip latest
mv wallabag-version-number wallabag
Copy the files on your web server. For Ubuntu/Debian, it is the
directory /var/www/html/ :
::
sudo mv wallabag /var/www/html/
Then, jump off to next section.
I want to download wallabag via composer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You need to install composer:
::
curl -s http://getcomposer.org/installer | php
Next, on your web server, run this command:
::
composer create-project wallabag/wallabag . dev-master
All is downloaded into the current folder.
Prerequisites for your web server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Wallabag requires that several components to be installed on your web
server. To make sure your server has all the prerequisites, open in your
browser the page ``http://monserveur.com/wallabag/install/index.php``.
The components are:
- `PHP 5.3.3 or above`_ **with `PDO`_ support**
- `XML for PHP`_
- `PCRE`_
- `ZLib`_ (otherwise, the processing of compressed pages will be
affected)
- `mbstring`_ anb/or `iconv`_ (otherwise some pages will not be read -
even in English)
- The `DOM/XML`_ extension
- `Data filtering`_
- `GD`_ (otherwise, pictures will not be saved)
- `Tidy for PHP`_ (otherwise, you may encounter problems with some
pages)
- `cURL`_ with ``Parallel URL fetching`` (optionnal)
- `Parse ini file`_
- `allow\_url\_fopen`_ (optionnal if cURL is installed)
- `gettext`_ (required for multi-language support)
Install the missing components before to proceed. For example, to
install Tidy on Ubuntu/Debian:
::
sudo apt-get install php5-tidy
sudo service apache2 reload
Note : if youre using IIS as a webserver, you have to disable
*Anonymous Authentication* and `enable *Basic Authentication*`_ in order
to be able to login.
Twig installation
^^^^^^^^^^^^^^^^^
wallabag is build with Twig, a template library. You have to download it
for wallabag to work. If you cannot install ``composer`` (for example in
the case of shared hosting), we offer you to download a file which
includes ``Twig``. This file can be downloaed from the page
``http://myservur.com/wallabag/install/index.php`` (section TWIG
INSTALLATION) or directly at http://wllbg.org/vendor. Uncompress it in
your wallabag directory.
Otherwise, you can use Composer to install ``Twig`` by launching
``composer`` from your wallabag directory (in the case of Ubuntu/Debian
too: /var/www/html/wallabag/) by following the commands written on
screen:
::
curl -s http://getcomposer.org/installer | php
php composer.phar install
Creation of the database.
^^^^^^^^^^^^^^^^^^^^^^^^^
Wallabag can be installed on different types of databases:
- `SQLite`_. The easiest system of all. No extra configuration needed.
- `MySQL`_. A well known database system, which is in most cases more
efficient than SQLite.
- `PostgreSQL`_. Some people found it better than MySQL.
We advice you to use MySQL because it is more efficient. In this case,
you should create a new database (for example ``wallabag``), a new user
(for example ``wallabag``) and a password (here ``YourPassWord``). To do
this, you can use ``phpMyAdmin``, or launch the following commands:
::
mysql -p -u root
mysql> CREATE DATABASE wallabag;
mysql> GRANT ALL PRIVILEGES ON `wallabag`.* TO 'wallabag'@'localhost' IDENTIFIED BY 'VotreMotdePasse';
mysql> exit
*Note:* If youre using MySQL or Postgresql, you have to **fill all the
fields**, otherwise the installation will not work and an error message
will tell you whats wrong. You must create the database that you will
use for wallabag manually with a tool like PHPMyAdmin or the console.
Permissions
~~~~~~~~~~~
Your web server needs a writing access to the ``assets``, ``cache`` and
``db`` directories. Otherwise, a message will report that the
installation is impossible:
::
sudo chown -R www-data:www-data /var/www/html/wallabag
Installation of wallabag. At last.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Access to wallabag from your web browser:
``http://votreserveur.com/wallabag``. If your server is correctly
configured, you directly reach the setup screen.
Select the type of database (``sqlite``, ``mysql`` or ``postgresql``)
and fill the information about your database. In the case of the databse
MySQL created before, the standard configuration will be:
::
Database engine: MySQL
Server: localhost
Database: wallabag
Username: wallabag
Password: YourPassWord
Finally, Create your first user and his/her password (different from the
database user).
Wallabag is now installed.
Login
-----
From your web browser, you reach the login screen: fill your username
and your password to connect to your account.
Enjoy!
.. _SQLite: http://php.net/manual/fr/book.sqlite.php
.. _MySQL: http://php.net/manual/fr/book.mysql.php
.. _PostgreSQL: http://php.net/manual/fr/book.pgsql.php
.. _Framabag: https://framabag.org/
.. _Download the latest wallabag version: http://wllbg.org/latest
.. _PHP 5.3.3 or above: http://php.net/manual/fr/install.php
.. _PDO: http://php.net/manual/en/book.pdo.php
.. _XML for PHP: http://php.net/fr/xml
.. _PCRE: http://php.net/fr/pcre
.. _ZLib: http://php.net/en/zlib
.. _mbstring: http://php.net/en/mbstring
.. _iconv: http://php.net/en/iconv
.. _DOM/XML: http://php.net/manual/en/book.dom.php
.. _Data filtering: http://php.net/manual/fr/book.filter.php
.. _GD: http://php.net/manual/en/book.image.php
.. _Tidy for PHP: http://php.net/fr/tidy
.. _cURL: http://php.net/fr/curl
.. _Parse ini file: http://uk.php.net/manual/en/function.parse-ini-file.php
.. _allow\_url\_fopen: http://www.php.net/manual/fr/filesystem.configuration.php#ini.allow-url-fopen
.. _gettext: http://php.net/manual/fr/book.gettext.php
.. _enable *Basic Authentication*: https://technet.microsoft.com/en-us/library/cc772009%28v=ws.10%29.aspx

View File

@ -1,47 +0,0 @@
.. _`Multi users`:
Multi users
===========
Create a new account
--------------------
Administrator mode
------------------
If you want to use wallabag with several persons, you can create new
accounts from the configuration page.
At the bottom of this page there is a form where you should input a user
name and a password.
It is now possible to login to this account from the login page of
wallabag.
No information are shared among the accounts.
Open registration mode
----------------------
Starting from version 1.9, the administrator can let users register by
themselves. This is done by changing the following lines in the
configuration file:
::
// registration
@define ('ALLOW_REGISTER', FALSE);
@define ('SEND_CONFIRMATION_EMAIL', FALSE);
Then, a user will be able to enter his/her user name and password to
create his/her own account. Depending on the configuration, a
confimation email can be sent to users who gave an email address.
Remove an account
-----------------
It is possible to remove your own account from the configuration page.
You simply have to enter your password and to ask for the removal.
Of course, when there is only one account, it is impossible to remove
it.

View File

@ -1,26 +0,0 @@
Session issues
==============
If you end up disconnected even while checking the *Stay signed in
checkbox*, please run the following commands as root (or with sudo) :
::
mkdir /var/lib/wallabag-sessions
chown www-data:www-data /var/lib/wallabag-sessions
*NOTE : The www-data user and group may not exist, you may use
``chown http:http /var/lib/wallabag-sessions`` instead*
Then, using apache add:
``php_admin_value session.save_path /var/lib/wallabag-sessions`` to your
apache vhost, for instance ``wallabag-apache.conf`` Finally, restart
apache, for instance like this : ``/etc/init.d/apache2 restart``
If youre using nginx, add
``php_admin_value[session.save_path] = /var/lib/wallabag-sessions`` in
your nginx configuration file. Then, restart nginx :
``/etc/init.d/nginx restart``
*NOTE : If youre using systemd, you should do
``systemctl restart apache2`` (or nginx).*

View File

@ -1,30 +0,0 @@
Update wallabag
===============
Update an existing wallabag installation
----------------------------------------
In order to update your installation, download and unzip the archive
into your installation folder. For example on Ubuntu/Debian:
::
wget http://wllbg.org/latest
unzip latest
rsync -ur wallabag-version-number/* /var/www/html/wallabag/ # could be another location such as /srv/html, /usr/share/nginx/html
After that, just access wallabag in your browser and follow the
instructions to finish the update.
You can verify at the bottom of the configuration page that youre
running the last version.
**If it fails**, just delete the ``install`` folder and clear the cache:
::
cd /var/www/html/wallabag/
rm -r cache/* install/
Clearing the cache is also possible in the configuration page, clicking
on the link ``Delete Cache``.

View File

@ -1,4 +0,0 @@
Create new theme
================
TODO

View File

@ -1,29 +0,0 @@
Git repository
==============
If you wish to contribute to the project by suggesting new features or
by fixing some bugs, please follow the recommendations below regarding
the git repository available at https://github.com/wallabag/wallabag.
Current state
-------------
To manage the different versions of wallabag, we use Git.
There are multiple branches for the source code of wallabag web app:
- ``master`` branch : this is the stable branch, downloaded by those
who wish to install wallabag for their own use.
- ``dev`` branch : before being added on ``master`` branch, all bug
fixes and new features must go on that branch. This branch is not
recommended for production use.
- ``v2`` branch : this is the branch for a revamp of wallabag.
A whole chapter is to be focused on it.
Workflow
--------
All the rules for contributing to the git repository are in the
`CONTRIBUTING.md file of
wallabag <https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md>`__.
Please read carefully this file before you make any change.

View File

@ -1,52 +0,0 @@
Write config files
==================
wallabag can use specific site config files to parse website articles.
These files are stored in the
```inc/3rdparty/site_config/standard`` <https://github.com/wallabag/wallabag/tree/master/inc/3rdparty/site_config/standard>`__
folder.
The format used for these files is
`XPath <http://www.w3.org/TR/xpath20/>`__. Look at some examples in the
folder.
Automatic config files generation
---------------------------------
Fivefilters has created a `very useful
tool <http://siteconfig.fivefilters.org/>`__ to create config files. You
just type in the adress of the article to work on with, and you select
the area containing the content you want.
.. figure:: https://lut.im/RNaO7gGe/l9vRnO1b
:alt: siteconfig
siteconfig
| You should confirm this area by trying with other articles.
| When you got the right area, just click on *Download Full-Text RSS
site config* to download your file.
Manual config file generation
-----------------------------
If Fivefilters tool doesn't work correctly, take a look at the source
(Ctrl + U on Firefox and Chromium). Search for your content and get the
``class`` or the ``id`` attribute of the area containing what you want.
Once you've got the id or class, you can write for example one or
another of these lines:
::
body: //div[@class='myclass']
body: //div[@id='myid']
Then, test you file. If you got the right content but you want to strip
unnecessary parts, do:
::
strip: //div[@class='hidden']
You can look at other options for siteconfig files
`here <http://help.fivefilters.org/customer/portal/articles/223153-site-patterns>`__.

View File

@ -1,118 +0,0 @@
.. _`Configure wallabag`:
Configure wallabag
==================
From the configuration menu, you can change some of wallabag's options.
Some parts won't be detailed here, as they have a dedicated chapter in
the documentation (:ref:`RSS feeds`, :ref:`Import / Export`, :ref:`ePub conversion` and :ref:`Multi users`).
Saving articles
---------------
You'll find help about the different ways to save articles to your
wallabag here.
Save article field
~~~~~~~~~~~~~~~~~~
Enter a link in the field and click “bag it!” to save.
Browser extensions
~~~~~~~~~~~~~~~~~~
Links to download extensions for your favourite browser, Firefox or
Chrome.
Mobile apps
~~~~~~~~~~~
Links to download mobile apps, Android, iOS or Windows Phone.
For Android, you have the choice to download either from Google's Play
Store of from the Free and Open Source market
`F-Droid <https://f-droid.org>`__
Bookmarklet
~~~~~~~~~~~
Lastly, you can use the bookmarklet. A bookmarklet is a simple link you
can drag to your browser's bookmarks. Once it's in your bookmarks,
simply clicking on it will save the webpage you're currently viewing to
your wallabag.
Feeds
-----
Plese refer to `RSS feeds <rss_feed.html>`__ for more details.
.. _`Howto change theme`:
Theme
-----
As they say, “all tastes and colors are found in nature”. That's why
wallabag allows you to change its appearance through the use of themes,
in order to please everyone.
Select the theme of your choice from the drop down list and confirm by
clicking on **Update**.
Language
--------
Select the language of your choice in the drop down list and confirm by
clicking on **Update**.
Import
------
Please refer to `Import/Export <import_export.html>`__ for more details.
Export
------
Please refer to `Import/Export <import_export.html>`__ for more details.
Clear the cache
---------------
The cache allows wallabag perform certain functions faster.
After updating wallabag, it is advised to clear the cache.
Click on “delete cache” to do so (no confirmation will be asked).
Password
--------
Fill in your new password in the two dedicated fields and confirm by
clicking on **Update**.
You will be disconnected and will have to enter your new password to
access your wallabag.
User
----
Add a user here by entering their name, password and (optionnaly) email
in the corresponding fields.
You may not be able to add a user if don't have the rights to do so.
Remind newly created users to change their password the first time they
connect to wallabag!
Delete
------
Delete your user account on wallabag here.
If there is only one account, you won't be able to delete the account.
Upgrade
-------
Wallabag will check its curent version and if there is a new version
available and display this information here.

View File

@ -1,32 +0,0 @@
.. _`ePub conversion`:
ePub conversion
===============
To enable you to read your articles on a e-reader, wallabag can convert
them to the ePub format, and hence create an eBook for your long winter
evenings.
A word of caution
-----------------
Be careful, the creation of ePub files can be very resource demanding
for the server on which wallabag is installed. It depends on the number
of articles and on their length. Do not create a really big eBook if
this is not necessary.
Where to convert the articles
-----------------------------
You can convert your articles at various places in wallabag:
- on the reading page of an article: the ePub link will convert this
article only
- from the list of articles (unread, favorite or archived articles,
articles with a tag): a link at the bottom of the page allows you to
convert all the article of this category
- from a search: the link is at the bottom of the page
- from the configuration page: you can convert all your articles,
whatever the category to which they belong
TODO talk about calibre

View File

@ -1,49 +0,0 @@
.. _`Framabag account creation`:
Framabag account creation
=========================
If you do not want to install and update wallabag, or if you do not have
the know-how to install it, it is possible to create an account for free
at `Framabag.org <https://www.framabag.org>`__.
Account creation
----------------
Click on the button **Créez votre compte / Create your account**.
You have to input some information: your username, your password and
your email address. Your address is used only to validate your account,
except if you check the box to subscribe the newsletter (3 to 4 messages
per year).
Once this form validated, you will receive an email with the
confirmation link. Click on it to create your account.
You will receive a last email with the address of your Framabag account,
which will look like ``https://www.framabag.org/u/Your-username``.
Information storage
-------------------
Framabag use one database per user. We do not and will not use your
stored data.
You have forgotten your password
--------------------------------
| If you have forgotten your password to get connected to Framabag, a
form is available `on the main page of the
service <https://www.framabag.org>`__.
| Fill it, and a confirmation will be sent to you and will allow you to
input a new password.
Account deletion
----------------
If you wish to delete your account, contact us by email:
hello@wallabag.org using the address your created your account with, and
state your username.
We will answer you after your account has been deleted: then, no
information about you will be stored by Framabag.

View File

@ -1,107 +0,0 @@
.. _`Import / Export`:
Import and export data
======================
Import
------
To import data in wallabag, go to the page **Configuration**.
Caution
~~~~~~~
Data import can be a **demanding process** for your server. Hence, it is
done in two steps:
- Insertion of the URL in the wallabag database
- in the second step, the retrieval, for each article, of its full
content.
These two steps cannot be done concurrently, because it let us the
possibility to import thousands of links, but today, wallabag does not
have sufficient technical capabilities to do this task automatically.
From Pocket
~~~~~~~~~~~
Export your data from Pocket
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
From your Pocket account, go to the options. TODO
Import your Pocket data
^^^^^^^^^^^^^^^^^^^^^^^
From the configuration page of wallabag, section **Import**, select the
file ``ril_export.html`` generated by Pocket, then click on **Import**.
Wallabag only insert these links in the database. Now, you have to get
the content of each article.
For this, click on ``Click to finish import``: wallabag will fetch the
content of 10 articles at a time.
TODO
TODO new ticket: why when a click is done, this does not load in a loop?
I believe this was doing this ping @mariroz
From Instapaper
~~~~~~~~~~~~~~~
Export your data from Instapaper
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO
Import your Instapaper data
^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO
From Readability
~~~~~~~~~~~~~~~~
Export your data from Readability
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO
Import your Readability data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TODO
From wallabag
~~~~~~~~~~~~~
Since you can export your data from wallabag (see below), it is of
course possible to re-import them.
In the import form, select your wallabag-exported file (format JSON).
Start the import, et voilà.
Unlike the above imports, this process is shorter because all the data
(title and content of the articles) are already included in the file.
Hence wallabag does not have to access each URL. However, the import
file is necessarily bigger.
From a HTML or JSON file
~~~~~~~~~~~~~~~~~~~~~~~~
TODO
Export
------
It is possible to export your data from the page **Configuration** of
wallabag. Several reasons to do this:
- re-install of wallabag
- leave the Framabag service to install your own wallabag
- a user with an account on a multi-user wallabag want to have his/her
own wallabag installation
- ...
This will lead you to download a file `at the JSON
format <http://en.wikipedia.org/wiki/JavaScript_Object_Notation>`__. As detailed above, you can import this file in wallabag.

View File

@ -1,36 +0,0 @@
.. _`Article is not displayed properly`:
My article is not displayed properly in wallabag
================================================
If you think wallabag do not copy well the content of an article (empty
or incomplete text), here are some suggestions.
Ask for help
------------
Via an email or a ticket, do not forget to give some information that
are important for us to better solve the problem:
- The URL of the article
- What wallabag displays
- What you were expecting
- The wallabag version of if you use Framabag
Open a ticket on github
~~~~~~~~~~~~~~~~~~~~~~~
To open a new ticket, you should `go to
github <https://github.com/wallabag/wallabag/issues/new>`__. An account
is required. Do not forget to send us the information listed above.
Send us an email
~~~~~~~~~~~~~~~~
Send us the link in a email to the address
`hello@wallabag.org <mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag>`__. Do not forget to send us the information listed above.
Solve this display problem
--------------------------
TODO

View File

@ -1,109 +0,0 @@
.. _`Organize articles`:
Organize articles
=================
To be able to find more easily your articles, several methods are
available.
Tags
----
Assign a tag
~~~~~~~~~~~~
When saving an article
^^^^^^^^^^^^^^^^^^^^^^
To tag an article when saving it, just click on the tag icon next to the
URL field before hitting the Save button. At the moment, it is possible
only to do this from the web interface, but it could come to some apps
or extensions.
From the article
^^^^^^^^^^^^^^^^
To tag an already-saved article, go to the reading page of the article.
There is a part ``tags`` followed with a pencil. Click on the pencil.
Input in the box the tags you want to assign. Add as many tags as you
want. They need to be separated by commas and not spaces.
Auto-completion is available here: when you type the first letters of an
existing tag, it is not necessary to type the whole word. Select it in
the drop-down list. Once all your tags are inputted, click on the button
**Tag**.
Then, you can go back to your article and read it.
From the search
^^^^^^^^^^^^^^^
A full chapter on search is available. Here, we will describe only how
to assign a tag from your search.
When your search displays results, there is a link
``Apply the tag ABCD to this search`` at the bottom of the page. Click
on it: a tad depending on your search (here ``ABCD``) will be assigned
to all the articles found.
Find all the articles with a given tag
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the wallabag menu, click on **Tags**. Then, all the tags you have
created are displayed, sorted by the number of articles for each tag.
Click on one of these tags to find all the articles with this tag.
Preferred articles
------------------
When you wish to set aside an article, you can mark it as preferred.
Set an article as favorite
~~~~~~~~~~~~~~~~~~~~~~~~~~
From the reading page of an article, or from a list of articles (such as
the list of unread articles), you can set an article as favorite simply
by a click on the star which is displayed. Click again on the star will
remove the **favorite** status of this article.
Find all the favorite articles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the wallabag menu, click on **Favorites** to display the list of all
the articles that you have set as favorite.
Archived articles
-----------------
When you have read an article, you can archive it: hence it will not be
displayed in your list of unread articles.
Archiving an article does not remove it from wallabag.
Archive an article
~~~~~~~~~~~~~~~~~~
| From the reading page of an article, or from a list of articles (such
as the list of unread articles), you can archive an article simply by
clicking on the icon ✓.
| Click again on this icon will set back the **unread** status of the
article.
Find all the archived articles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the wallabag menu, click on **Archive** to find all the articles that
you have archived.
Delete an article
-----------------
Be cautious: the deletion of an article is **definitive**. It is deleted
from the wallabag database.
To delete an article, a trash icon is displayed on the page of an
article or of a list of articles (unread articles, favorites or
archived, for example).
We trust you: that is why there is no confirmation message during the
deletion.

View File

@ -1,63 +0,0 @@
Read an article
===============
Reading an article is not difficult in wallabag: you only have to click on the title of the article for it to be displayed.
Back to where you left the article
----------------------------------
If you stop reading an article halfway through, the next time wallabag will open it right where you left off.
This feature only works with web applications and not with smartphone applications.
Possible actions in an article
------------------------------
The following actions can be performed through the icons displayed at the top of the page. We assume here that you are using the Baggy theme (see the section on :ref:`Howto change theme`). Icons in other themes are very similar.
Here are the actions, in the order of appearance of the icons.
Read the original article
~~~~~~~~~~~~~~~~~~~~~~~~~
Open the article on its original location.
Mark the article as read
~~~~~~~~~~~~~~~~~~~~~~~~
Archive the article, which will be placed into the **Archive** category of the wallabag menu. Clicking again on this button will move the article back to the **unread** category.
Mark the article as favorite
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mark the article as favorite, and it will be placed into the **Favorites** category of the wallabag menu. Clicking again on this button will remove the favorite status.
Delete the article
~~~~~~~~~~~~~~~~~~
Delete the article from wallabag permanently. It cannot be restored. Be careful: no confirmation message is displayed.
Share through twitter
~~~~~~~~~~~~~~~~~~~~~
Share the title and the original link of the article on twitter.
Share via email
~~~~~~~~~~~~~~~
Share the title and the original link of the article via e-mail.
Print the article
~~~~~~~~~~~~~~~~~
Open the print window of the browser.
Convert into ePub
~~~~~~~~~~~~~~~~~
Convert the article into ePub format: see the section on :ref:`ePub conversion`.
Notify us that the article appears wrong
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Notify the wallabag developers that an article is not displayed as expected (see the section on :ref:`Article is not displayed properly`).

View File

@ -1,41 +0,0 @@
.. _`RSS feeds`:
RSS feeds
=========
The RSS feeds allow you to:
- read your articles from your favorite RSS feed reader.
- to activate the reading features for smartphone softwares
| First, you must activate the RSS feature by generating a feed token.
| Go to **config** in wallabag and generate a token in the section
**Feeds**. You can generate a new token at any time.
Read articles
-------------
Once the token created, you have access to three RSS feeds:
- the one of the unread articles
- the one of the favorites articles
- the one of the archived articles
Add the feed you want to your RSS feed reader. Be careful: when you will
be reading an article from your feed reader, this will not set it as
read in wallabag.
Share your readings
~~~~~~~~~~~~~~~~~~~
If you wish to share your readings with somebody, send him for example
the RSS feed of your favorite articles. Hence, as soon as an article
will be set as favorite in wallabag, this person will be able to read it
too.
Activate the features for smartphones
-------------------------------------
You ave created an RSS feed token. It will also be useful to you to
configure your smartphone software. For more information about
smartphone sofwares, you can read :ref:`Save your first article`.

View File

@ -1,226 +0,0 @@
.. _`Save your first article`:
Save your first article
=======================
Once connected on wallabag, you have many ways to save an article.
From the web application
------------------------
Lets see first how to do from the web application. In the menu, you
have a link **save a link**. Clicking on it, a form shows up: you simply
have to type the web adress of the article you want to save.
Confirm to store the content of the article.
By default, only the text is saved. If you want to store a copy of the
images on your server, you have to enable the setting
*DOWNLOAD\_PICTURES*. Read the chapter on hidden options for more
information.
From the bookmarklet
--------------------
From `Wikipedias definition`_
A bookmarklet is a `bookmark`_ stored in a `web browser`_ that
contains `JavaScript`_\ commands to extend the browsers
functionality.
Bookmarklets are unobtrusive scripts stored as the URL of a bookmark
in a web browser or as a hyperlink on a web page.
When clicked, a bookmarklet performs some function, one of a wide
variety such as a search query or data extraction. Bookmarklets are
usually `JavaScript programs`_.
From the wallabags menu, click on **settings**. On the first part of
this page, we have listed all the ways to save an article. Youll find
the bookmarklet (its the ``Bag it!`` link) to drag and drop in the
bookmarks bar of your web browser. From now on, when you want to save
the article you are browsing, you just have to click on this bookmarklet
and the article will be automatically saved.
From your smartphone
--------------------
Above all else
~~~~~~~~~~~~~~
To use a smartphone application, you have to enable RSS feeds from the
settings panel of wallabag. Then some information will be displayed,
like your security token. Read the chapter on RSS feeds for more
information.
Android
~~~~~~~
Installation and configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can download the android application from the `Google Play Store`_
and from `F-droid`_. Its the exact same application on those two
stores.
Once installed, start the application, go to the **settings** part et
fill in the **URL (complete address of your wallabag installation or
your Framabag account)** and **User ID (in most cases, youll have to
put 1)** fields. If you have created multiple accounts from wallabag,
you will have to to fill the user account you want to connect to your
application and your security **Token** (enter properly all the tokens
letters as seen in the settings part of wallabag).
Saving of an article
^^^^^^^^^^^^^^^^^^^^
Now that everything is correctly set up, as soon as you browse on your
smartphones web browser, you can share an article in wallabag at any
time from the **Share** menu: youll find a **Bag it!** entry which will
add your article in wallabag.
Reading
^^^^^^^
When you open the application, click on Synchronize: your recently saved
articles will be downloaded on your smartphone.
You dont need an internet connection anymore: click on **List
articles** to start your reading.
At the end of each article, a **Mark as read** button allows you to
archive the article.
To date, the synchronisation occurs in one direction (from wallabag to
the application), thus preventing mark as read an article on wallabag
from your smartphone.
iOS
~~~
Installation and configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can download the iOS application from the `AppStore`_.
Once installed, configure the app by filling following fields inside the
settings: the **URL (complete address of your wallabag installation or
your Framabag account)** and **User ID (in most cases, youll have to
put 1)** field. If you have created multiple accounts from wallabag, you
will have to to fill the user account you want to connect to your
application and your security **Token** (enter properly all the tokens
letters as seen in the settings part of wallabag).
Usage
^^^^^
If the app is configured correctly, the app will automatically download
the articles from your wallabag (use **pull-to-refresh** to trigger this
update manually). Once an article is downloaded, itll be available
offline from your app.
Unfortunately you can only locally mark an article as read (it will not
synchronise to your online wallabag).
Saving articles
~~~~~~~~~~~~~~~
If youre browsing a website and want to add the current article to your
wallabag, simply tap the **Share**-button and select **Bag it!** (if you
dont find the wallabag icon, have a look in the **more**-menu). If
everything is set up correctly, your article will be saved (you may have
to login from time to time).
Windows Phone
~~~~~~~~~~~~~
Installation and configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can download the Windows Phone application from the `Windows Store`_
or directly from your smartphones Store.
Once installed, the application will show you a notification on the
first launch, asking the configuration of your wallabag server. Go to
the **Settings** part of the application by pressing the three dots menu
at the bottom of the screen, then fill in the **URL (complete address of
your wallabag installation or your Framabag account)** and **User ID (in
most cases, youll have to put 1)** fields.
If you have created multiple accounts from wallabag, you will have to to
fill the user account you want to connect to your application and your
security **Token** (enter properly all the tokens letters as seen in
the setting part of wallabag).
From your web browser
---------------------
Firefox Classic Add-on
~~~~~~~~~~~~~~~~~~~~~~
Download the Firefox add-on at `addons.mozilla.org`_ and install it like
any other Firefox add-on.
In the add-ons settings, fill the complete URL of your installation of
wallabag or your Framabag account.
Personalize the Firefox toolbar to add wallabag (**W** icon). When you
find an article you want to save, click on this icon: a new window will
open to add the article and will close itself automatically.
Firefox Social API Service
~~~~~~~~~~~~~~~~~~~~~~~~~~
*Available from wallabag v1.9.1 only*
You will need an https connection to use this. Its a Firefox
`requirement`_, sorry.
With Firefox 29+ versions, your browser comes with an integrated
interface to share things to multiple social services directly from your
browser. In the Firefox interface, it is shown a paper plane-like icon
that you will use to share a page, which means here, save an article.
You can add the service by going into the Config page of wallabag, then
click on Mozilla Services Social API Extension. You must also accept to
use Firefox Services.
Chrome
~~~~~~
Download the Chrome add-on `on the dedicated website`_ and install it
like any other Chrome add-on.
In the add-ons settings, fill the complete URL of your installation of
wallabag or your Framabag account.
During the addons installation, a new icon appear in Chrome toolbar (a
**W** icon). When you find an article you want to save, click on this
icon: a popup will appear to confirm that your article has been saved.
Opera
~~~~~
The recent versions of Opera (15+) allow to install add-ons compatible
with Chrome.
First, install the add-on named `Download Chrome Extensions`_ which will
allow you to install add-ons from the Chrome Web Store. Then, go `to to
Google site`_ and get the Chrome add-on by clicking on *Add to Opera*. A
message will invite you to confirm this action because this add-on is
not coming from a certified source. The behavior will be the same as for
Chrome (see above).
.. _Wikipedias definition: http://fr.wikipedia.org/wiki/Bookmarklet
.. _bookmark: http://en.wikipedia.org/wiki/Internet_bookmark
.. _web browser: http://en.wikipedia.org/wiki/Web_browser
.. _JavaScript: http://en.wikipedia.org/wiki/JavaScript
.. _JavaScript programs: http://en.wikipedia.org/wiki/Computer_program
.. _Google Play Store: https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche
.. _F-droid: https://f-droid.org/app/fr.gaulupeau.apps.InThePoche
.. _AppStore: https://itunes.apple.com/app/id828331015
.. _Windows Store: https://www.microsoft.com/en-us/store/apps/wallabag/9nblggh11646
.. _addons.mozilla.org: https://addons.mozilla.org/firefox/addon/wallabag/
.. _requirement: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Manifest#Manifest_Contents
.. _on the dedicated website: https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj
.. _Download Chrome Extensions: https://addons.opera.com/en/extensions/details/download-chrome-extension-9/
.. _to to Google site: https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj

View File

@ -1,21 +0,0 @@
Search content in wallabag
==========================
To enable you to find an article quickly, we set up a full search
engine.
Click on **Search** in the wallabag menu. Then, enter your search terms.
Wallabag will go through all your articles, and lists the ones
containing the search terms in their title, their content or their URL.
Convert this search into ePub format
------------------------------------
You can convert the listed articles to the ePub format, so that you can
read them in your e-reader, for example. Look at :ref:`ePub conversion` for more about this.
Assign a tag to your search results
-----------------------------------
You can create a tag based on your search criteria. Loot at :ref:`Organize articles` for more about this.

View File

@ -11,7 +11,7 @@ templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = u'wallabag'
copyright = u'2013-2015, Nicolas Lœuillet - MIT Licence'
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
version = '2.0.0'
release = version
exclude_patterns = ['_build']
@ -35,7 +35,7 @@ man_pages = [
texinfo_documents = [
('index', 'wallabag', u'wallabag Documentation',
u'Nicolas Lœuillet', 'wallabag', 'One line description of project.',
u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
'Miscellaneous'),
]
@ -53,35 +53,3 @@ html_sidebars = {
# Register the theme as an extension to generate a sitemap.xml
extensions.append("guzzle_sphinx_theme")
# Guzzle theme options (see theme.conf for more information)
html_theme_options = {
# Set the path to a special layout to include for the homepage
# "index_template": "homepage.html",
# Allow a separate homepage from the master_doc
# homepage = index
# Set the name of the project to appear in the nav menu
# "project_nav_name": "Guzzle",
# Set your Disqus short name to enable comments
# "disqus_comments_shortname": "my_disqus_comments_short_name",
# Set you GA account ID to enable tracking
# "google_analytics_account": "my_ga_account",
# Path to a touch icon
# "touch_icon": "",
# Specify a base_url used to generate sitemap.xml links. If not
# specified, then no sitemap will be built.
#"base_url": "http://guzzlephp.org"
# Allow the "Table of Contents" page to be defined separately from "master_doc"
# tocpage = Contents
# Allow the project link to be overriden to a custom URL.
# projectlink = http://myproject.url
}

View File

@ -0,0 +1,51 @@
Run Wallabag in docker-compose
==============================
In order to run your own development instance of wallabag, you may
want to use the pre-configured docker compose files.
Requirements
------------
Make sure to have `Docker
<https://docs.docker.com/installation/ubuntulinux/>`__ and `Docker
Compose <https://docs.docker.com/compose/install/>`__ availables on
your system and up to date.
Switch DBMS
-----------
By default, Wallabag will start with a sqlite database.
Since Wallabag provide support for Postgresql and MySQL, docker
containers are also available for these ones.
In ``docker-compose.yml``, for the chosen DBMS uncomment :
- the container definition (``postgres`` or ``mariadb`` root level
block)
- the container link in the ``php`` container
- the container env file in the ``php`` container
In order to keep running Symfony commands on your host (such as
``wallabag:install``), you also should :
- source the proper env files on your command line, so variables
like ``SYMFONY__ENV__DATABASE_HOST`` will exist.
- create a ``127.0.0.1 rdbms`` on your system ``hosts`` file
Run Wallabag
------------
#. Fork and clone the project
#. Edit ``app/config/parameters.yml`` to replace ``database_*``
properties with commented ones (with values prefixed by ``env.``)
#. ``composer install`` the project dependencies
#. ``php app/console wallabag:install`` to create the schema
#. ``docker-compose up`` to run the containers
#. Finally, browse to http://localhost:8080/ to find your freshly
installed wallabag.
At various step, you'll probably run into UNIX permission problems,
bad paths in generated cache, etc…
Operations like removing cache files or changing files owners might
be frequently required, so don't be afraid !

View File

@ -8,51 +8,30 @@ wallabag documentation
**wallabag** is a read-it-later application: it saves a web page by
keeping content only. Elements like navigation or ads are deleted.
The main documentation for the site is organized into a couple sections:
The main documentation for this application is organized into a couple sections:
* :ref:`user-docs`
* :ref:`admin-docs`
* :ref:`dev-docs`
.. _user-docs:
.. toctree::
:maxdepth: 2
:caption: User Documentation
:caption: User documentation
user/create_account
user/login
user/configuration
user/first_article
user/import
user/organize
user/filters
User/read_an_article
User/search
User/epub_conversion
User/issue_with_article
User/rss_feed
User/import_export
.. _admin-docs:
.. toctree::
:maxdepth: 2
:caption: Admin Documentation
Administrator/install
Administrator/update
Administrator/hidden_options
Administrator/multiusers
Administrator/sessions
user/download_articles
user/filters
user/tags
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Developer Documentation
:caption: Developer documentation
Developer/write_config_files
Developer/create_new_theme
Developer/git_repo
developer/docker

View File

@ -3,7 +3,7 @@ Configuration
Now you're logged in, it's time to configure your account as you want.
Click on ``Config`` menu. You have four tabs: ``Settings``, ``RSS``, ``User information`` and ``Password``.
Click on ``Config`` menu. You have five tabs: ``Settings``, ``RSS``, ``User information``, ``Password`` and ``Tagging rules``.
Settings
--------
@ -59,3 +59,41 @@ Password
--------
You can change your password here.
Tagging rules
-------------
If you want to automatically assign a tag to new articles, this part of the configuration is for you.
What does « tagging rules » mean?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
They are rules used by wallabag to automatically tag new entries.
Each time a new entry is added, all the tagging rules will be used to add the tags you configured, thus saving you the trouble to manually classify your entries.
How do I use them?
~~~~~~~~~~~~~~~~~~
Let assume you want to tag new entries as *« short reading »* when the reading time is inferior to 3 minutes.
In that case, you should put « readingTime <= 3 » in the **Rule** field and *« short reading »* in the **Tags** field.
Several tags can added simultaneously by separating them by a comma: *« short reading, must read »*.
Complex rules can be written by using predefined operators: if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
Which variables and operators can I use to write rules?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following variables and operators can be used to create tagging rules:
=========== ============================================== ======== ==========
Variable Meaning Operator Meaning
----------- ---------------------------------------------- -------- ----------
title Title of the entry <= Less than…
url URL of the entry < Strictly less than…
isArchived Whether the entry is archived or not => Greater than…
isStared Whether the entry is starred or not > Strictly greater than…
content The entry's content = Equal to…
language The entry's language != Not equal to…
mimetype The entry's mime-type OR One rule or another
readingTime The estimated entry's reading time, in minutes AND One rule and another
domainName The domain name of the entry matches Tests that a subject is matches a search (case-insensitive). Example: title matches "football"
=========== ============================================== ======== ==========

View File

@ -0,0 +1,16 @@
Download articles
=================
You can download each article in several formats: ePUB, MOBI, PDF, XML, JSON, CSV.
On the article view, click on this icon, in the sidebar:
.. image:: ../../img/user/download_article.png
:alt: download article
:align: center
You can also download a full category in these formats. For example, on **Unread** view, click on this icon in the top bar:
.. image:: ../../img/user/download_articles.png
:alt: download articles
:align: center

2
docs/en/user/filters.rst Normal file
View File

@ -0,0 +1,2 @@
Filters
=======

View File

@ -3,6 +3,10 @@ Save your first article
The main purpose of wallabag is to save web articles. You have many ways to do it.
.. note::
A quickstart will be displayed in the application until you save your first article.
By using a bookmarklet
----------------------
@ -27,53 +31,32 @@ By using a browser add-on
Firefox
~~~~~~~
Firefox Classic Add-on
^^^^^^^^^^^^^^^^^^^^^^
Download the Firefox add-on at `addons.mozilla.org`_ and install it like
any other Firefox add-on.
In the add-ons settings, fill the complete URL of your installation of
wallabag or your Framabag account.
Personalize the Firefox toolbar to add wallabag (**W** icon). When you
find an article you want to save, click on this icon: a new window will
open to add the article and will close itself automatically.
Firefox Social API Service
^^^^^^^^^^^^^^^^^^^^^^^^^^
*Available from wallabag v1.9.1 only*
You will need an https connection to use this. Its a Firefox
`requirement`_, sorry.
With Firefox 29+ versions, your browser comes with an integrated
interface to share things to multiple social services directly from your
browser. In the Firefox interface, it is shown a paper plane-like icon
that you will use to share a page, which means here, save an article.
You can add the service by going into the Config page of wallabag, then
click on Mozilla Services Social API Extension. You must also accept to
use Firefox Services.
*This addon is not yet available for wallabag v2*.
Chrome
~~~~~~
*This addon is not yet available for wallabag v2*.
By using your smarphone application
-----------------------------------
Android
~~~~~~~
*This application is not yet available for wallabag v2*.
Firefox OS
~~~~~~~~~~
*This application is not yet available for wallabag v2*.
Windows Phone
~~~~~~~~~~~~~
*This application is not yet available for wallabag v2*.
iOS
~~~
.. _addons.mozilla.org: https://addons.mozilla.org/firefox/addon/wallabag/
.. _requirement: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Social_API/Manifest#Manifest_Contents
*This application is not yet available for wallabag v2*.

View File

@ -29,11 +29,36 @@ All your wallabag 1.x articles will be imported.
From Pocket
-----------
Create a new applicaton on Pocket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To import your data from Pocket, we use the Pocket API. You need to create a new application on their developer website to continue.
* Create a new application `on the developer website <https://getpocket.com/developer/apps/new>`_
* Fill in the required fields: application name, application description, permissions (only **retrieve**), platform (**web**), accept the terms of service and submit your new application
Pocket will give you a **Consumer Key** (for example, `49961-985e4b92fe21fe4c78d682c1`). You need to configure the ``pocket_consumer_key`` into the ``app/config/parameters.yml`` file in wallabag.
Now, all is fine to migrate from Pocket.
Import your data into wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Click on ``Import`` link in the menu, on ``Import contents`` in Pocket section and then on ``Connect to Pocket and import data``.
You need to authorize wallabag to interact with your Pocket account. Your data will be imported. Data import can be a demanding process for your server (we need to work on this import to improve it).
From Instapaper
---------------
*Feature not yet implemented in wallabag v2.*
From Readability
----------------
*Feature not yet implemented in wallabag v2.*
From HTML or JSON file
----------------------
*Feature not yet implemented in wallabag v2.*

2
docs/en/user/tags.rst Normal file
View File

@ -0,0 +1,2 @@
Tags
====

View File

@ -1,22 +0,0 @@
---
language: Français
currentMenu: upgrade
subTitle: Mettre à jour wallabag
---
# Mettre à jour wallabag
Pour mettre à jour votre installation, téléchargez et décompressez larchive dans votre installation (ici `/var/www/html/wallabag/`) :
wget http://wllbg.org/latest
unzip latest
rsync -ur wallabag-version-number/* /var/www/html/wallabag/
Supprimez le répertoire `install` et videz le cache :
cd /var/www/html/wallabag/
rm -r cache/* install/
Pour vider le cache, il est également possible d'aller dans la page de configuration et de cliquer sur le lien pour supprimer le cache.
Vérifiez dans le bas de la page de configuration que la dernière version est bien installée.

View File

@ -1,35 +0,0 @@
---
language: Français
currentMenu: multiusers
subTitle: wallabag multi-utilisateurs
---
# wallabag multi-utilisateurs
## Créer un nouveau compte
### Mode administrateur
Si vous souhaitez utiliser wallabag pour plusieurs personnes, il est possible de créer de nouveaux comptes depuis la page de configuration.
En bas de cette page se trouve un formulaire où vous devez saisir un nom d'utilisateur et un mot de passe.
Il est maintenant possible de se connecter avec ce compte depuis la page d'identification de wallabag.
Aucune information n'est partagée entre les différents comptes.
### Mode libre
A partir de la version 1.9, l'administrateur peut laisser libre la création de nouveaux comptes. Il doit pour cela l'autoriser en modifiant les lignes suivantes dans le fichier de configuration :
// registration
@define ('ALLOW_REGISTER', FALSE);
@define ('SEND_CONFIRMATION_EMAIL', FALSE);
Ensuite, l'utilisateur rentrera lui-même son nom d'utilisateur et son mot de passe pour se créer un compte. Selon la configuration, un courriel de confirmation peut être envoyé aux utilisateurs ayant fourni une adresse électronique.
## Supprimer un compte
Il est possible de supprimer son propre compte, depuis la page de configuration. Il suffit de saisir son mot de passe et de demander la suppression.
Bien évidemment, lorsqu'il ne reste plus qu'un seul compte, il est impossible de le supprimer.

View File

@ -1,40 +0,0 @@
---
language: Français
currentMenu: hidden
subTitle: Options cachées
---
# Options cachées
## Mise en garde
**Attention**, cette partie concerne les utilisateurs avancés. Nous allons modifier un fichier important de wallabag, `inc/poche/config.inc.php`, il est donc conseillé de faire une sauvegarde de celui-ci avant toute modification.
**Toute erreur lors d'une modification d'un fichier de wallabag pourra entrainer des dysfonctionnements**.
Ce fichier est créé lorsque vous installez wallabag.
Installez donc d'abord wallabag, faites une copie du fichier et ouvrez-le avec ~~Sublime Text~~ votre éditeur de texte préféré.
Dans ce fichier sont définis des paramètres qui ne sont, aujourd'hui, pas encore disponibles dans la page **Configuration** de wallabag.
## Modification des options avancées
Chaque paramètre est défini de cette façon :
@define ('NOM_DU_PARAMETRE', 'Valeur du paramètre');
Pour chaque ligne, vous ne pouvez modifier que la partie `Valeur du paramètre`.
Listons maintenant les différents paramètres que vous pouvez changer :
* `HTTP_PORT` (par défaut, `80`) : correspond au port HTTP de votre serveur web. À changer si votre serveur web est derrière un proxy. Valeur attendue : un nombre.
* `SSL_PORT` (par défaut, `443`) : correspond au port SSL de votre serveur web. À changer si votre serveur web utilises SSLH. Valeur attendue : un nombre.
* `DEBUG_POCHE` (par défaut, `FALSE`) : si vous rencontrez des problèmes avec wallabag, nous vous demanderons peut-être d'activer le mode Debug. Valeurs attendues : `TRUE` ou `FALSE`.
* `DOWNLOAD_PICTURES` (par défaut, `FALSE`) : permet de télécharger sur votre serveur les images des articles. Ce paramètre est désactivé par défaut pour ne pas surcharger votre serveur web. Nous préférons vous laisser activer vous-même ce paramètre. Valeurs attendues : `TRUE` ou `FALSE`.
* `SHARE_TWITTER` (par défaut, `TRUE`) : permet d'activer le partage vers twitter. Valeurs attendues : `TRUE` ou `FALSE`.
* `SHARE_MAIL` (par défaut, `TRUE`) : permet d'activer le partage par email. Valeurs attendues : `TRUE` ou `FALSE`.
* `SHARE_SHAARLI` (par défaut, `FALSE`) : permet d'activer le partage vers votre installation de Shaarli (gestionnaire de favoris). Valeurs attendues : `TRUE` ou `FALSE`.
* `SHAARLI_URL` (par défaut, `'http://myshaarliurl.com'`) : définit l'URL de votre installation de Shaarli. Valeur attendue : une URL.
* `FLATTR` (par défaut, `TRUE`) : permet d'activer la possibilité de flattrer un article ([Flattr est une plateforme de micro-dons](http://fr.wikipedia.org/wiki/Flattr)). Si un article est flattrable, une icône s'affichera et vous permet d'envoyer un micro-don à l'auteur de l'article. Valeurs attendues : `TRUE` ou `FALSE`.
* `SHOW_PRINTLINK` (par défaut, `'1'`) : permet d'afficher le lien pour imprimer un article. Valeurs attendues : `'0'` pour désactiver ou `'1'` pour activer.
* `SHOW_READPERCENT` (par défaut, `'1'`) : permet d'afficher (sur les thèmes `default`, `dark`, `dmagenta`, `solarized`, `solarized-dark`) le pourcentage de lecture de l'article. Valeurs attendues : `'0'` pour désactiver ou `'1'` pour activer.
* `PAGINATION` (par défaut, `'12'`) : définit le nombre d'articles affichés sur une liste. Valeur attendue : un nombre.

View File

@ -1,121 +0,0 @@
---
language: Français
currentMenu: install
subTitle: Télécharger et installer wallabag
---
# Télécharger et installer wallabag
## Je ne souhaite pas installer wallabag
Puisque vous ne voulez pas ou ne pouvez pas installer wallabag, nous vous proposons de créer un compte gratuit sur [Framabag](https://framabag.org/), lequel utilise notre logiciel. [Lisez la documentation complète](../Utilisateur/Framabag.md).
## Je souhaite installer wallabag
### Je souhaite télécharger wallabag manuellement
[Télécharger la dernière version de wallabag](http://wllbg.org/latest) et décompresser-là :
wget http://wllbg.org/latest
unzip latest
mv wallabag-version-number wallabag
Copiez les fichiers sur votre serveur web. Dans le cas d'Ubuntu/Debian, il s'agit de /var/www/html/ :
sudo mv wallabag /var/www/html/
Puis sautez le paragraphe suivant.
### Je souhaite télécharger wallabag via composer
Vous devez installer composer :
curl -s http://getcomposer.org/installer | php
Ensuite, sur votre serveur web, exécutez cette commande :
composer create-project wallabag/wallabag . dev-master
Tout est téléchargé dans le répertoire courant.
#### Pré-requis pour votre serveur web
Wallabag nécessite qu'un certain nombre de composants soient installées sur votre serveur web.
Pour être sûr que votre serveur possède tous les pré-requis, ouvrez dans votre navigateur la page `http://monserveur.com/wallabag/install/index.php`.
Les composants sont :
* [PHP 5.3.3 ou plus](http://php.net/manual/fr/install.php) **avec support [PDO](http://php.net/manual/en/book.pdo.php)**
* [XML pour PHP](http://php.net/fr/xml)
* [PCRE](http://php.net/fr/pcre)
* [ZLib](http://php.net/en/zlib) (son absence affectera le traitement des pages compressées)
* [mbstring](http://php.net/en/mbstring) et/ou [iconv](http://php.net/en/iconv) (sinon, certaines pages ne pourront pas être lues - même en anglais)
* L'extension [DOM/XML](http://php.net/manual/en/book.dom.php)
* [Filtrage des données](http://php.net/manual/fr/book.filter.php)
* [GD](http://php.net/manual/en/book.image.php) (son absence empèchera la sauvegarde des images)
* [Tidy pour PHP](http://php.net/fr/tidy) (son absence peut poser problème avec certaines pages)
* [cURL](http://php.net/fr/curl) avec `Parallel URL fetching` (optionel)
* [Parse ini file](http://uk.php.net/manual/en/function.parse-ini-file.php)
* [allow_url_fopen](http://www.php.net/manual/fr/filesystem.configuration.php#ini.allow-url-fopen) (optionel si cURL présent)
* [gettext](http://php.net/manual/fr/book.gettext.php) (nécessaire pour le support multilingues)
Installez les composants manquants avant de poursuivre. Par exemple pour installer Tidy sur Ubuntu/Debian :
sudo apt-get install php5-tidy
sudo service apache2 reload
Note : si voux utilisez IIS comme serveur web, vous devez interdire l'*Authentification Anonyme* et [permettre L'*Authentification de base*](https://technet.microsoft.com/fr-fr/library/cc772009%28v=ws.10%29.aspx) pour autoriser la connexion.
#### Twig installation
Pour pouvoir fonctionner, wallabag a besoin de `Twig`, une bibliothèque de modèles.
Si vous ne pouvez pas installer `composer` (dans le cas d'hébergement mutualisé par exemple), nous vous proposons un fichier
incluant `Twig`. Ce fichier peut être télécharger depuis la page `http://monserveur.com/wallabag/install/index.php` (section INSTALLATION TWIG) ou directement ici [http://wllbg.org/vendor](http://wllbg.org/vendor). Décompressez-le dans votre répertoire wallabag.
Alternativement, vous pouvez installer `Twig` en lançant `composer` depuis votre dossier wallabag (toujours dans le cas d'Ubuntu/Debian : <code>/var/www/html/wallabag/</code>) en exécutant les commandes :
curl -s http://getcomposer.org/installer | php
php composer.phar install
### Création de la base de données
Wallabag peut s'installer sur différents types de bases de données :
* [SQLite](http://php.net/manual/fr/book.sqlite.php). Le plus simple de tous. Rien de particulier à configurer.
* [MySQL](http://php.net/manual/fr/book.mysql.php). Un système de base de données bien connu, qui est dans la plupart des cas plus efficace que SQLite.
* [PostgreSQL](http://php.net/manual/fr/book.pgsql.php). Certaines personnes l'ont trouvé mieux que MySQL.
Nous vous conseillons d'utiliser MySQL, plus performante. Il est alors nécessaire de créer une nouvelle base (par exemple `wallabag`), un nouvel utilisateur (par exemple `wallabag`) et un mot de passe (ici `VotreMotdePasse`). Vous pouvez pour cela utiliser `phpMyAdmin`, ou exécuter les commandes suivantes :
mysql -p -u root
mysql> CREATE DATABASE wallabag;
mysql> GRANT ALL PRIVILEGES ON `wallabag`.* TO 'wallabag'@'localhost' IDENTIFIED BY 'VotreMotdePasse';
mysql> exit
*Note :* Si vous utilisez MySQL ou Postgresql, vous devrez **remplir tous les champs**, sinon l'installation ne fonctionera pas et un message d'erreur vous dira ce qui ne va pas. Vous devez créer manuellement la base de données qui sera utilisée par wallabag avec un outil comme PHPMyAdmin ou en ligne de commande.
### Permissions
Le serveur web doit avoir accès en écriture aux répertoires `assets`, `cache` et `db`. Sans cela, un message vous indiquera que l'installation est impossible :
sudo chown -R www-data:www-data /var/www/html/wallabag
### Installation de wallabag. Enfin.
Accédez à wallabag depuis votre navigateur : `http://votreserveur.com/wallabag`. Si votre serveur est bien configuré, vous arrivez sur l'écran d'installation.
Renseignez le type de votre base de données (`sqlite`, `mysql` ou `postgresql`) et les informations de votre base de données. Dans le cas de la base MySQL créée plus haut, la configuration standard sera :
Database engine: MySQL
Server: localhost
Database: wallabag
Username: wallabag
Password: VotreMotdePasse
Créez enfin votre premier utilisateur et son mot de passe (différents de l'utilisateur de la base de données).
wallabag est maintenant installé.
### Connexion
Depuis votre navigateur, vous arrivez sur l'écran d'identification : saisissez votre identifiant et votre mot de passe et vous voici connecté.

View File

@ -1,26 +0,0 @@
---
language: Français
currentMenu: sessions
subTitle: Problème de sessions
---
Si vous vous retrouvez à être déconnecté même après avoir valider le *Stay signed in checkbox*,
lancez les commandes suivantes comme administrateur (ou avec sudo) :
```
mkdir /var/lib/wallabag-sessions
chown www-data:www-data /var/lib/wallabag-sessions
```
*NOTE : L'utilisateur et le groupe www-data pourrait ne pas exister.
Vous pouvez alors utiliser ```chown http:http /var/lib/wallabag-sessions``` à la place.*
Ensuite, en utilisant apache, ajoutez : `php_admin_value session.save_path /var/lib/wallabag-sessions`
à votre vhost apache, tel que `wallabag-apache.conf`.
Enfin, redémarrez apache, en lançant par exemple : ```/etc/init.d/apache2 restart```
Si vous utilisez nginx, ajoutez `php_admin_value[session.save_path] = /var/lib/wallabag-sessions`
à votre fichier de configuration de nginx.
Ensuite, redémarrez nginx : ```/etc/init.d/nginx restart```
*NOTE : si vous utilisez systemd, vous devriez faire `systemctl restart apache2` (ou nginx).*

View File

@ -1,52 +0,0 @@
---
language: Français
currentMenu: help_us
subTitle: Contribuer au projet
---
# Contribuer au projet
## Soumettre des bugs
### Demande de support
Si vous avez un problème lors de l'installation ou de l'utilisation de wallabag (que ça soit l'application web ou les applications pour smartphone), utilisez le site de support [http://support.wallabag.org](http://support.wallabag.org).
Nous verrons alors si nous pouvons vous dépanner rapidement ou alors s'il s'agit un nouveau bug qu'il nous faudra corriger.
Il est préférable d'utiliser le site de support plutôt que de nous envoyer un mail : le suivi est plus pratique pour vous comme pour nous et la résolution de votre problème pourra resservir pour un autre utilisateur.
### Créer un nouveau ticket
Si vous avez trouvé un bug lors de votre utilisation de wallabag, merci d'ouvrir un nouveau ticket sur Github (un compte est nécessaire).
**Avant toute chose**, pensez à lire [les recommandations nécessaires pour la rédaction d'un nouveau ticket](https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md). Au mieux vous renseignez votre ticket, au mieux nous pourrons vous aider.
* si c'est un bug avec l'application web, [ouvrez un nouveau ticket ici](https://github.com/wallabag/wallabag/issues/new)
* si c'est un bug avec l'application Android, [ouvrez un nouveau ticket ici](https://github.com/wallabag/android-app/issues/new)
* si c'est un bug avec l'application Windows Phone, [ouvrez un nouveau ticket ici](https://github.com/wallabag/windowsphone-app)
* si c'est un bug avec l'application iOS, [ouvrez un nouveau ticket ici](https://github.com/wallabag/ios-app/issues/new)
* si c'est un bug avec l'extension Firefox, [ouvrez un nouveau ticket ici](https://github.com/wallabag/firefox-ext/issues/new)
* si c'est un bug avec l'extension Chrome, [ouvrez un nouveau ticket ici](https://github.com/wallabag/chrome-ext/issues/new)
## Écrire et corriger la documentation
La documentation que vous êtes en train de lire n'est sûrement pas complète, à jour, traduite dans votre langue. C'est pourquoi nous vous invitons à participer à sa rédaction.
Le dépôt Github se trouve ici : [https://github.com/wallabag/documentation](https://github.com/wallabag/documentation).
## Corriger les bugs, résoudre les problèmes : faire du support
Deux possibilités :
* lorsqu'un utilisateur de wallabag pose une nouvelle question [sur le site de support](http://support.wallabag.org), en tant qu'utilisateur avancé de wallabag, vous pouvez lui répondre.
* sur Github, des tickets correspondent sûrement à vos compétences. [Parcourez la liste des tickets](https://github.com/wallabag/wallabag/issues) et servez-vous.
Si vous souhaitez proposer une modification dans le code de wallabag, vous êtes le bienvenu. [N'oubliez pas de lire les recommandations pour proposer vos modifications](https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md).
## Communiquer
Rien de compliqué ici, parlez de wallabag autour de vous. Utilisez le mot-clé #wallabag sur tous vos réseaux sociaux préférés : twitter, Facebook, Diaspora*, Google+, etc.
D'ailleurs, voici la liste de nos comptes sur ces réseaux, si jamais vous voulez nous citer dans un de vos messages :
* [Diaspora*](https://framasphere.org/people/2335ff202f920132196e2a0000053625)
* [twitter](https:/twitter.com/wallabagapp)
* [Facebook](https://www.facebook.com/wallabag)
* [Google+](https://plus.google.com/+WallabagOrg/)

View File

@ -1,9 +0,0 @@
---
language: Français
currentMenu: theme
subTitle: Créer un nouveau thème
---
# Créer un nouveau thème
TODO

View File

@ -1,23 +0,0 @@
---
language: Français
currentMenu: repo
subTitle: Dépôt git de wallabag
---
# Dépôt git de wallabag
Si vous souhaitez contribuer au projet en proposant de nouvelles fonctionnalités ou en corrigeant des bugs, il faut suivre les recommandations que vous lirez ci-dessous concernant le dépôt Git disponible à cette adresse : [https://github.com/wallabag/wallabag](https://github.com/wallabag/wallabag).
## État des lieux
Pour la gestion des différentes versions de wallabag, nous utilisons Git.
Nous utilisons plusieurs branches pour le code source de l'application web de wallabag :
* la branche `master` : c'est la branche stable, celle qui est téléchargée pour tous ceux qui souhaitent installer wallabag pour leur utilisation.
* la branche `dev` : avant d'être sur la branche `master`, toutes les corrections de bugs et nouvelles fonctionnalités doivent passer par cette branche. Cette branche n'est pas conseillée pour une utilisation en production.
* la branche `v2-symfony` : c'est la branche de la refonte de wallabag. Un chapitre complet lui est consacré.
## Workflow
Toutes les consignes concernant le dépôt Git se trouve dans [le fichier CONTRIBUTING.md de wallabag](https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md). Merci de le lire attentivement avant toute modification.

View File

@ -1,9 +0,0 @@
---
language: Français
currentMenu: docker
subTitle: Docker
---
# Docker
TODO

View File

@ -1,39 +0,0 @@
---
language: Français
currentMenu: site_config
subTitle: Écrire un fichier de configuration
---
# Écrire un fichier de configuration
wallabag peut utiliser des fichiers de configuration spécifiques à un site pour lire les articles de ce site. Ces fichiers sont stockés dans le répertoire [`inc/3rdparty/site_config/standard`](https://github.com/wallabag/wallabag/tree/master/inc/3rdparty/site_config/standard).
Le format utilisé pour ces fichiers est [XPath](http://www.w3.org/TR/xpath20/). Inspirez-vous des exemples dans le répertoire pour en créer de nouveaux.
## Génération automatique de fichiers de configuration
@FiveFilters a créé un [outil très utile](http://siteconfig.fivefilters.org/) pour créer des fichiers de configuration. Vous devez taper l'adresse d'un article qui vous intéresse. puis vous sélectionnez le contenu que vous souhaitez.
![siteconfig](https://lut.im/RNaO7gGe/l9vRnO1b)
Vous devez confirmer cette zone en essayant avec d'autres articles.
Quand vous avez trouvé la bonne zone, cliquez simplement sur *Download Full-Text RSS site config* (Téléchargez la configuration du site Full-Text RSS) pour télécharger le fichier à inclure dans le répertoire.
## Génération manuelle de fichiers de configuration
Si l'outil de FiveFilters ne marche pas tel qu´attendu, regardez la source d'un article (Ctrl+U sur Firefox ou Chromium). Cherchez votre contenu parmi le code source et repérez l'attribut `class` ou `id` de la zone que vous souhaitez.
Une fois que vous avez obtenu l'attribut `id` ou `class`, vous pouvez écrire par exemple l'une ou l'autre de ces lignes :
```
body: //div[@class='myclass']
body: //div[@id='myid']
```
Ensuite, testez votre fichier de configuration avec d'autres articles du même site. Si vous avez trouvé le bon contenu mais que vous voulez enlever des parties inutiles, ajoutez la ligne suivante (avec l'attribut `class` correspondant à la partie inutile) :
```
strip: //div[@class='hidden']
```
Vous pouvez regarder d'autres options pour les fichiers de configuration de sites [sur l'aide du site de FiveFilters](http://help.fivefilters.org/customer/portal/articles/223153-site-patterns).

View File

@ -1,34 +0,0 @@
---
language: Français
currentMenu: vagrant
subTitle: Vagrant
---
# Vagrant
Pour vous permettre de mettre en place rapidement la configuration requise pour wallabag, nous vous proposons un fichier Vagrantfile.
[Définition Wikipedia](http://fr.wikipedia.org/wiki/Vagrant)
Vagrant est un logiciel libre et open-source pour la création et la configuration des environnements de développement virtuel. Il peut être considéré comme un wrapper autour du logiciel de virtualisation comme VirtualBox.
## Utiliser Vagrant pour wallabag
Voici la procédure pour exécuter wallabag au sein d'un conteneur Vagrant :
wget -O wallabag-dev.zip https://github.com/wallabag/wallabag/archive/dev.zip
unzip wallabag-dev.zip
cd wallabag-dev
vagrant up
Accédez maintenant à `http://localhost:8003` et à vous de jouer !
## Qu'a installé le Vagrantfile ?
Le script installe un serveur LAMP, à savoir :
* Ubuntu 14.04
* Un serveur web Apache2
* PHP5
* SQLite ou MySQL ou PostgreSQL pour PHP
* XDebug pour PHP

View File

@ -1,9 +0,0 @@
---
language: Français
currentMenu: v2
subTitle: wallabag v2 / symfony2
---
# wallabag v2 / symfony2
TODO

View File

@ -1,68 +0,0 @@
---
language: Français
currentMenu: sort_article
subTitle: Classer ses articles
---
# Classer ses articles
Pour pouvoir retrouver plus facilement vos articles, plusieurs méthodes existent.
## Tags
### Assigner un tag
#### Depuis l'article
Aujourd'hui, il n'est pas encore possible d'assigner un tag lorsque vous sauvegardez un nouvel article.
Tout ajout de tag se fera donc sur un article déjà sauvegardé.
Sur la page de lecture de l'article, se trouve une partie `tags` suivie d'un crayon. Cliquez sur ce crayon.
Saisissez dans la case les tags que vous souhaitez assigner. Saisissez autant de tags que vous le voulez. Ils doivent être séparés par des virgules et non par des espaces. L'auto-complétion existe ici : si vous tapez les premières lettres d'un tag déjà existant, inutile de taper le mot en entier, sélectionnez-le dans la liste déroulante. Une fois tous vos tags saisis, cliquez sur le bouton **Tag**.
Vous pouvez ensuite retourner lire votre article.
#### Depuis la recherche
Un chapitre complet sur la recherche existe. Ici, nous verrons uniquement comment assigner un tag depuis votre recherche.
Lorsque votre recherche vous affiche les résultats, vous avez un lien en bas de page `Apply the tag ABCD to this search`. Cliquez dessus : un tag en fonction de la recherche que vous venez d'effectuer (ici `ABCD`) sera assigné à tous les articles trouvés.
### Retrouver tous les articles d'un même tag
Dans le menu de wallabag, cliquez sur **Tags**. Ici s'affichent tous les tags que vous avez créés, triés par nombre d'articles au sein de chaque tag. Cliquez sur l'un de ces tags pour retrouver tous les articles correspondants à ce tag.
## Articles favoris
Lorsque vous souhaitez mettre de côté un article, vous pouvez le marquer comme favori.
### Marquer un article comme favori
Depuis la page de lecture d'un article, ou depuis une liste d'articles (par exemple, la liste des articles non lus), vous pouvez mettre un article comme favori juste en cliquant sur l'étoile qui apparait.
Recliquer sur cette étoile enlèvera le statut **favori** de cet article.
### Retrouver tous ses articles favoris
Dans le menu de wallabag, cliquez sur **Favoris** pour retrouver tous les articles que vous avez déjà mis en favori.
## Articles archivés
Lorsque vous avez lu un article, vous pouvez l'archiver : ainsi il n'apparaitra plus dans votre liste d'articles non lus.
Le fait d'archiver un article ne le supprime pas de wallabag.
### Archiver un article
Depuis la page de lecture d'un article, ou depuis une liste d'articles (par exemple, la liste des articles non lus), vous pouvez archiver un article juste en cliquant sur l'icône ✓.
Recliquer sur cette icône remettra l'article en statut **non lu**.
### Retrouver tous ses articles archivés
Dans le menu de wallabag, cliquez sur **Archive** pour retrouver tous les articles que vous avez déjà archivés.
## Supprimer l'article
Attention, la suppression d'un article est **définitive** : il est supprimé de la base de données de wallabag.
Pour supprimer un article, une icône de corbeille se trouve sur la page d'un article ou sur une liste d'articles (articles non lus, favoris ou archivés par exemple).
Nous vous faisons confiance : c'est pourquoi il n'y a aucune demande de confirmation lors de la suppression.

View File

@ -1,30 +0,0 @@
---
language: Français
currentMenu: configure
subTitle: Configurer wallabag
---
# Configurer wallabag
Depuis le menu **configuration**, vous avez la possibilité de changer quelques options de wallabag.
Certaines parties ne seront pas présentées ici car elles bénéficient d'un chapitre complet dans la documentation ([flux RSS](flux_rss.html), [l'import depuis un service tiers](importer_exporter.html), [l'export de vos données](importer_exporter.html), [la conversion en ePub](convertir_en_epub.html) et [le mode multi-utilisateurs](../Administrateur/multi-utilisateurs.html)).
## Thème
Des goûts et des couleurs, on ne discute pas. C'est pourquoi wallabag vous propose de changer son habillage pour plaire à chacun.
Sélectionnez le thème de votre choix dans la liste déroulante et validez en cliquant sur **Mettre à jour**.
## Langue
Sélectionnez la langue de votre choix dans la liste déroulante et validez en cliquant sur **Mettre à jour**.
## Mot de passe
Saisissez votre nouveau mot de passe dans les deux champs prévus et validez en cliquant sur **Mettre à jour**.
Vous serez alors déconnecté et devrez saisir votre nouveau mot de passe pour accéder à wallabag.
## Vider le cache
Le cache permet à wallabag d'effectuer certains traitements plus rapidement.
Après une mise à jour de wallabag, il est conseillé de vider le cache. Vous n'avez qu'un clic à faire pour le vider.

View File

@ -1,25 +0,0 @@
---
language: Français
currentMenu: epub
subTitle: Convertir en ePub
---
# Convertir en ePub
Pour que vous puissiez lire vos articles sauvegardés depuis votre liseuse, wallabag vous permet de les convertir au format ePub et ainsi vous créer un eBook pour vos longues soirées d'hiver.
## Mise en garde
Attention, la génération de fichiers ePub peut être très consommatrice de ressources pour le serveur sur lequel est installé wallabag. Cela dépend du nombre d'articles et de leur longueur.
Ne générez pas un eBook trop important si cela n'est pas nécessaire.
## Où convertir les articles
Vous pouvez convertir vos articles depuis différents endroits de wallabag :
* sur la page de lecture d'un article : le lien ePub convertira ce seul article
* depuis une liste d'articles (articles non lus, favoris ou archivés, articles d'un tag) : un lien en bas de page vous permet de convertir tous les articles de cette catégorie
* depuis une recherche : le lien se trouve en bas de page
* depuis la page de configuration : vous allez pouvoir convertir tous vos articles, peu importe la catégorie dans laquelle ils se trouvent
TODO parler de calibre

View File

@ -1,35 +0,0 @@
---
language: Français
currentMenu: rss
subTitle: Flux RSS
---
# Flux RSS
Les flux RSS vous permettent :
* de lire vos articles depuis votre lecteur de flux RSS préféré
* d'activer les fonctionnalités de lecture pour les applications smartphones
Tout d'abord, vous devez activer la fonctionnalité RSS en générant votre jeton de flux.
Rendez-vous dans **configuration** de wallabag et créez le jeton dans la partie **Flux**.
À tout moment, vous pouvez générer un nouveau jeton.
## Lire les articles
Une fois le jeton créé, vous avez accès à trois flux RSS :
* celui des articles non lus
* celui des articles favoris
* celui des articles archivés
Ajoutez le flux de votre choix dans votre lecteur de flux RSS.
Attention, lorsque vous lirez un article depuis votre lecteur de flux, ça ne le marquera pas comme lu dans wallabag.
### Partager vos lectures
Si vous souhaitez partager vos lectures avec quelqu'un, envoyez-lui par exemple le flux RSS de vos articles préférés. Ainsi, dès qu'un article sera mis en favori dans wallabag, cette personne pourra également le lire.
## Activer les fonctionnalités pour smartphones
Vous avez créé le jeton de flux RSS : il va vous être utile pour configurer votre application smartphone. Pour en savoir sur les applications smartphones, vous pouvez lire [Sauvegarder son premier article](Sauvegarder_son_premier_article.md).

View File

@ -1,34 +0,0 @@
---
language: Français
currentMenu: framabag
subTitle: Se créer un compte sur Framabag
---
# Se créer un compte sur Framabag
Puisque vous ne souhaitez peut-être pas gérer l'installation et la mise à jour de wallabag, ou puisque vous n'avez peut-être pas les connaissances pour l'installer, il vous est possible de vous créer un compte gratuit sur [Framabag.org](https://www.framabag.org).
## Création du compte
Cliquez sur le bouton **Créez votre compte / Create your account**.
Vous devez saisir certaines informations : votre nom d'utilisateur, votre mot de passe et votre adresse email. Votre adresse n'est utilisée que pour la validation de votre compte, sauf si vous cochez la case pour recevoir la newsletter (3 à 4 envois par an).
Une fois ce formulaire validé, vous recevez un email avec un lien de confirmation. Cliquez dessus, votre compte sera alors créé.
Vous recevrez un dernier email avec l'adresse de votre compte Framabag, de la forme `https://www.framabag.org/u/votre-nom-d'utilisateur`.
## Stockage de vos informations
Framabag utilise une base de données par utilisateur. Nous ne faisons et ne ferons aucune utilisation de vos données stockées.
## Vous avez oublié votre mot de passe
Si vous avez oublié votre mot de passe pour vous connecter à Framabag, un formulaire est disponible [depuis la page d'accueil du service](https://www.framabag.org).
Remplissez-le, un email de confirmation vous sera envoyé et vous permettra de saisir votre nouveau mot de passe.
## Suppression de votre compte
Si vous souhaitez supprimer votre compte, contactez-nous par email : [hello@wallabag.org](mailto:hello@wallabag.org) avec l'adresse de création de votre compte, en nous indiquant votre nom d'utilisateur.
Nous vous répondrons quand votre compte sera supprimé : dès cet instant, plus aucune information vous concernant ne sera stockée sur Framabag.

View File

@ -1,78 +0,0 @@
---
language: Français
currentMenu: import
subTitle: Importer ou exporter ses données
---
# Importer ou exporter ses données
## Importer
Pour importer des données dans wallabag, vous devez vous rendre dans la page **Configuration**.
### Mise en garde
L'import de données peut être une **opération gourmande** pour votre serveur. C'est pourquoi elle s'effectue en deux étapes :
* l'insertion des URL dans la base de données de wallabag
* dans un second temps, la récupération, pour chaque article, du contenu complet
Ces deux actions ne peuvent pas être effectuées simultanément, car nous vous donnons la possibilité d'importer des milliers de liens, mais aujourd'hui, wallabag n'a pas les possibilités techniques nécessaires pour effectuer tout ce travail automatiquement.
### Depuis Pocket
#### Exporter ses données depuis Pocket
Depuis votre compte Pocket, rendez-vous dans vos options.
TODO
#### Importer ses données Pocket
Depuis la page de configuration de wallabag, partie **Import**, sélectionnez le fichier `ril_export.html` que Pocket a généré puis cliquez sur **Import**.
wallabag ne fait qu'insérer les liens dans sa base de données. Il faut maintenant lui faire récupérer le contenu de chaque article.
Pour cela, cliquez sur `Click to finish import` : wallabag récupèrera alors le contenu de 10 articles à la fois.
TODO
TODO nouveau ticket : pourquoi quand on clique une fois, ça ne charge pas en boucle ? Il me semblait que ça faisait ça ping @mariroz
### Depuis Instapaper
#### Exporter ses données depuis Instapaper
TODO
#### Importer ses données Instapaper
TODO
### Depuis Readability
#### Exporter ses données depuis Readability
TODO
#### Importer ses données Readability
TODO
### Depuis wallabag
Puisque vous pouvez exporter vos données de wallabag (lire ci-dessous), il est évidemment possible de les réimporter.
Dans le formulaire d'import, sélectionnez votre fichier d'export wallabag (au format JSON). Démarrez l'import et voila.
Contrairement aux imports ci-dessus, le traitement est moins long car toutes les données (titre et contenu des articles) sont déjà présentes dans le fichier, il n'est pas nécessaire pour wallabag d'accéder à chacune des URL.
Par contre, le fichier d'import est forcément plus conséquent.
### Depuis un fichier HTML ou JSON
TODO
## Exporter
Il est possible d'exporter ses données depuis la page **Configuration** de wallabag. Plusieurs raisons possibles :
* réinstaller wallabag
* quitter le service Framabag pour installer soi-même wallabag
* un compte sur un wallabag multi-utilisateurs souhaite avoir sa propre installation de wallabag
* ...
Vous téléchargerez alors un fichier [au format JSON](http://fr.wikipedia.org/wiki/JavaScript_Object_Notation).
Comme nous l'avons vu ci-dessus, il est possible d'importer ce fichier dans wallabag.

View File

@ -1,58 +0,0 @@
---
language: Français
currentMenu: read_article
subTitle: Lire un article
---
# Lire un article
Lire un article n'est pas la chose la plus compliquée dans wallabag. Vous n'avez qu'à cliquer sur le titre d'un article pour l'afficher.
## Revenir là où vous avez laissé votre article
Si vous quittez un article alors que vous n'êtes qu'à la moitié de celui-ci par exemple, lorsque vous reviendrez, wallabag vous renverra là où vous avez laissé l'article.
Cette astuce ne fonctionne qu'avec l'application web et pas les applications smartphones.
## Actions possibles depuis l'article
Ces actions sont possibles grâce aux icônes affichés en haut de la page. Nous partons du principe que vous utilisez le thème Baggy ([lire la documentation pour changer de thème](Configurer_wallabag.md)), les icônes dans les autres thèmes sont sensiblement les mêmes.
Voici donc ces actions, par ordre d'apparition des icônes.
### Lire l'article original
Renvoie vers l'article original.
### Marquer l'article comme lu
Archive l'article, qui se retrouvera dans la catégorie **Archive** du menu de wallabag.
Recliquer dessus permet de replacer cet article en état non lu.
### Mettre l'article en favori
Marque l'article comme favori, qui se retrouvera dans la catégorie **Favoris** du menu de wallabag.
Recliquer dessus permet d'enlever le statut de favori.
### Supprimer l'article
Supprime complètement l'article de wallabag. Il ne pourra être restauré. Attention, aucune confirmation n'est demandée.
### Partager vers twitter
Partage le titre et le lien original de l'article sur twitter.
### Partager par email
Partage le titre et le lien original de l'article par email.
### Imprimer l'article
Ouvre la fenêtre d'impression du navigateur.
### Convertir en ePub
Convertit l'article au format ePub. [Un chapitre complet existe](Convertir_en_ePub.md).
### Signaler que l'article s'affiche mal
Permet de signaler qu'un article ne s'affiche pas comme attendu. [Un chapitre complet existe](Un_article_est_mal_affiche.md).

View File

@ -1,21 +0,0 @@
---
language: Français
currentMenu: search
subTitle: Rechercher du contenu dans wallabag
---
# Rechercher du contenu dans wallabag
Pour que vous puissiez retrouver un article au plus vite, nous avons mis en place un moteur de recherche complet.
Cliquez sur **Rechercher** dans le menu de wallabag. Là, saisissez un terme de recherche.
wallabag ira parcourir tous vos articles et affichera ceux qui contiennent le terme de recherche dans son titre, son contenu ou son URL.
## Convertir cette recherche au format ePub
Vous pouvez convertir les articles retournés au format ePub, pour les lire sur une liseuse par exemple. Lisez [Convertir en ePub](Convertir_en_ePub.md) pour en savoir plus.
## Assigner un tag aux résultats de cette recherche
Vous pouvez créer un tag en fonction du critère de recherche. Lisez [Classer ses articles](Classer_ses_articles.md) pour en savoir plus.

View File

@ -1,101 +0,0 @@
---
language: Français
currentMenu: save_article
subTitle: Sauvegarder son premier article
---
# Sauvegarder son premier article
Une fois connecté sur wallabag, vous avez plusieurs moyens pour sauvegarder un article.
## Depuis l'application web
Voyons d'abord comment faire depuis l'application web. Dans le menu, vous avez un lien **Sauvegarder un lien**. En cliquant dessus, un formulaire s'affiche : vous n'avez qu'à saisir l'adresse internet de l'article concerné.
Validez et le contenu de l'article est enregistré.
Par défaut, seul le texte est sauvegardé. Si vous souhaitez également conserver une copie des images sur votre serveur, il faut activer le paramètre `DOWNLOAD_PICTURES`. Lisez le chapitre [Les options cachées](../Administrateur/Options_cachees.md) pour en savoir plus.
## Depuis le bookmarklet
[Définition Wikipedia](http://fr.wikipedia.org/wiki/Bookmarklet)
Un bookmarklet est un petit programme JavaScript pouvant être stocké :
* soit en tant qu'URL dans un signet (marque-page ou lien favori) avec la plupart des navigateurs Web ;
* soit en tant qu'hyperlien dans une page web.
Depuis le menu de wallabag, cliquez sur **configuration**. Dans la première partie de cette page, nous avons listé les différents moyens de sauvegarder un article. Vous trouverez ainsi le bookmarklet (c'est le lien `bag it !`) à glisser / déposer dans la barre de favoris de votre navigateur.
Dorénavant, lorsque vous souhaitez sauvegarder un article sur lequel vous êtes en train de surfer, vous n'avez qu'à cliquer sur ce bookmarklet et l'article sera automatiquement enregistré.
## Depuis son smartphone
### Avant toute chose
Pour pouvoir utiliser une application smartphone, vous devez activer les flux RSS depuis la partie **configuration** de wallabag. Certaines informations seront ainsi affichées, comme votre **token** (jeton de sécurité). Lisez le chapitre [Flux RSS](Flux_RSS.md) pour en savoir plus.
### Android
#### Installation et configuration
Vous pouvez télécharger l'application Android depuis le [Google Play Store](https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche) et depuis [F-droid](https://f-droid.org/app/fr.gaulupeau.apps.InThePoche). C'est exactement la même application sur ces deux plateformes de téléchargement.
Une fois installée, démarrez l'application, rendez-vous dans la partie **settings** et renseignez les champs **URL** (Adresse complète de votre installation de wallabag ou de votre compte Framabag), **User ID** (très souvent, il vous faudra mettre 1 comme valeur). Si vous avez créé plusieurs comptes depuis wallabag, il faudra saisir l'identifiant du compte que vous souhaitez connecter à votre application) et **Token** (recopiez bien tous les caractères du token, disponible dans la **configuration** de wallabag).
#### Sauvegarde d'un article
Maintenant que tout est bien configuré, dès que vous naviguerez avec le navigateur de votre smartphone, vous pourrez à tout moment partager un article dans wallabag depuis le menu **Partager** : vous trouverez une entrée **Bag it!** qui ajoutera l'article dans wallabag.
#### Lecture
Lorsque vous ouvrez l'application, cliquez sur **Synchronize** : vos articles dernièrement sauvegardés seront ainsi téléchargés sur votre smartphone.
Vous n'avez maintenant plus besoin de connexion internet : cliquez sur le bouton **List articles** pour commencer votre lecture.
En bas de chaque article, un bouton **Mark as read** vous permet d'archiver l'article.
Aujourd'hui, la synchronisation ne s'effectue que dans un sens (de wallabag vers l'application), ce qui empêche de marquer comme lu un article sur wallabag depuis votre smartphone.
### iOS
#### Installation et configuration
TODO
#### Utilisation
TODO
### Windows Phone
#### Installation et configuration
Vous pouvez télécharger l'application Windows Phone depuis le [Windows Store](http://www.windowsphone.com/fr-fr/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450) ou directement dans le Store de votre smartphone.
Une fois installée, l'application affichera une notification au premier lancement, demandant la configuration du serveur wallabag. Rendez-vous dans la partie **Configuration** de l'application en appuyant sur les 3 petits points du menu en bas de l'écran, puis renseignez les champs **URL** (Adresse complète de votre installation de wallabag ou de votre compte Framabag), **User ID** (très souvent, il vous faudra mettre 1 comme valeur).
Si vous avez créé plusieurs comptes depuis wallabag, il faudra saisir l'identifiant du compte que vous souhaitez connecter à votre application) et **Token** (recopiez bien tous les caractères du token, disponible dans la **configuration** de wallabag).
Enfin, sauvegardez les paramètres entrés.
## Depuis son navigateur
### Extension Firefox classique
Téléchargez l'extension Firefox [sur le site addons.mozilla.org](https://addons.mozilla.org/firefox/addon/wallabag/) et installez-la comme toute autre extension Firefox.
Dans les préférences de l'extension, renseignez l'URL complète de votre installation de wallabag ou de votre compte Framabag.
Personnalisez la barre d'outils de Firefox pour ajouter wallabag (icône `w`). Lorsque vous vous trouvez sur un article que vous souhaitez sauvegarder, cliquez sur cette icône : une nouvelle fenêtre s'ouvrira pour ajouter l'article et elle se refermera automatiquement.
### Extension Mozilla Services (Social API)
*Disponible uniquement à compter de wallabag 1.9.1*
Avec les versions 29 et supérieures de Firefox, votre navigateur possède une interface intégrée permettant le partage direct vers de multiples réseaux sociaux. Dans l'interface de Firefox, elle est symbolisée par un icône en forme d'avion en papier que vous pourrez utiliser pour partager une page, ce qui signifie ici enregistrer un article dans wallabag.
Vous pouvez ajouter ce service depuis la page de configuration de wallabag en cliquant sur Extension Mozilla Services (Social API). Vous devez aussi accepter l'utilisation des Services Firefox.
### Chrome
Téléchargez l'extension Chrome [sur le site dédié](https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj) et installez-la comme toute autre extension Chrome.
Dans les options de l'extension, renseignez l'URL complète de votre installation de wallabag ou de votre compte Framabag.
Lors de l'installation de l'extension, une nouvelle icône est apparue dans la barre d'outils de Chrome, une icône `w`. Lorsque vous vous trouvez sur un article que vous souhaitez sauvegarder, cliquez sur cette icône : une popup s'ouvrira et vous confirmera que l'article a bien été sauvegardé.
### Opera
Les dernières versions d'Opera (15+) permettent d'installer des extensions compatibles avec Chrome.
Il faut tout d'abord installer l'extension [Download Chrome Extensions](https://addons.opera.com/en/extensions/details/download-chrome-extension-9/) pour installer des extensions à partir du Chrome Web Store. Ensuite, on peut se rendre [sur le site de Google](https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj) et récupérer l'extension Chrome en cliquant sur *Add to Opera*. Vous obtiendrez un message qui vous invitera à confirmer l'action car l'extension ne provient pas d'une source approuvée. Le comportement sera ensuite le même que pour Chrome (ci-dessus).

View File

@ -1,32 +0,0 @@
---
language: Français
currentMenu: issue
subTitle: Mon article s'affiche mal dans wallabag
---
# Mon article s'affiche mal dans wallabag
Si vous pensez que wallabag récupère mal le contenu d'un article (texte absent ou incomplet), nous vous proposons plusieurs possibilités.
## Demande d'aide
Que ça soit par mail ou via un ticket, n'oubliez pas de nous donner certaines informations qui sont importantes pour que nous puissions résoudre le problème au mieux :
* l'URL de l'article concerné
* ce que wallabag affiche
* ce à quoi vous vous attendiez
* la version de wallabag ou alors si vous utilisez Framabag
### Ouvrir un ticket sur github
Pour ouvrir un nouveau ticket, il faut [aller sur github](https://github.com/wallabag/wallabag/issues/new). Un compte est nécessaire.
N'oubliez pas de nous envoyer les informations ci-dessus.
### Nous envoyer un email
Envoyez-nous un lien à l'adresse [hello@wallabag.org](mailto:hello@wallabag.org?subject=Mauvais%20affichage%20dans%20wallabag).
N'oubliez pas de nous envoyer les informations ci-dessus.
## Résoudre ce problème d'affichage
TODO

View File

@ -11,7 +11,7 @@ templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = u'wallabag-fr'
copyright = u'2013-2015, Nicolas Lœuillet - MIT Licence'
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
version = '2.0.0'
release = version
exclude_patterns = ['_build']
@ -34,8 +34,8 @@ man_pages = [
]
texinfo_documents = [
('index', 'wallabagfr', u'wallabag Documentation',
u'Nicolas Lœuillet', 'wallabagfr', 'One line description of project.',
('index', 'wallabag', u'wallabag Documentation',
u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
'Miscellaneous'),
]
@ -53,35 +53,3 @@ html_sidebars = {
# Register the theme as an extension to generate a sitemap.xml
extensions.append("guzzle_sphinx_theme")
# Guzzle theme options (see theme.conf for more information)
html_theme_options = {
# Set the path to a special layout to include for the homepage
# "index_template": "homepage.html",
# Allow a separate homepage from the master_doc
# homepage = index
# Set the name of the project to appear in the nav menu
# "project_nav_name": "Guzzle",
# Set your Disqus short name to enable comments
# "disqus_comments_shortname": "my_disqus_comments_short_name",
# Set you GA account ID to enable tracking
# "google_analytics_account": "my_ga_account",
# Path to a touch icon
# "touch_icon": "",
# Specify a base_url used to generate sitemap.xml links. If not
# specified, then no sitemap will be built.
#"base_url": "http://guzzlephp.org"
# Allow the "Table of Contents" page to be defined separately from "master_doc"
# tocpage = Contents
# Allow the project link to be overriden to a custom URL.
# projectlink = http://myproject.url
}

View File

@ -1,27 +1,15 @@
Documentation de wallabag
=========================
.. image:: ../img/wallabag.png
:alt: wallabag logo
:align: center
**wallabag** est une application de lecture différée : elle permet
simplement darchiver une page web en ne conservant que le contenu. Les
éléments superflus (menu, publicité, etc.) sont supprimés.
Principales fonctionnalités
---------------------------
- tout le contenu est archivé : le texte et les photos
- lapplication web est entièrement responsive
- vous pouvez convertir vos articles au format ePub pour les charger
sur votre liseuse
- des applications smartphones vous permettent de lire vos articles
tout en étant déconnecté
- des extensions pour votre navigateur vous permettent d'archiver
rapidement un nouvel article
- plusieurs thèmes graphiques vous permettent d'habiller votre
wallabag comme vous le souhaitez
- et forcément plein dautres fonctionnalités !
Cette documentation est justement là pour faire découvrir toutes les
possibilités de wallabag. Cest parti !
La documentation principale de cette application est découpée en plusieurs sections :
.. toctree::
:maxdepth: 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

55
docs/pt-br/conf.py Normal file
View File

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
#
# wallabag documentation build configuration file, created by
# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
import sys
import os
extensions = []
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = u'wallabag-pt'
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
version = '2.0.0'
release = version
exclude_patterns = ['_build']
pygments_style = 'sphinx'
html_theme = 'default'
html_static_path = ['_static']
htmlhelp_basename = 'wallabagfrdoc'
latex_elements = {
}
latex_documents = [
('index', 'wallabag-pt.tex', u'wallabag Documentation',
u'Nicolas Lœuillet', 'manual'),
]
man_pages = [
('index', 'wallabagpt', u'wallabag Documentation',
[u'Nicolas Lœuillet'], 1)
]
texinfo_documents = [
('index', 'wallabag', u'wallabag Documentation',
u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
'Miscellaneous'),
]
##### Guzzle sphinx theme
import guzzle_sphinx_theme
html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
html_theme_path = guzzle_sphinx_theme.html_theme_path()
html_theme = 'guzzle_sphinx_theme'
# Custom sidebar templates, maps document names to template names.
html_sidebars = {
'**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
}
# Register the theme as an extension to generate a sitemap.xml
extensions.append("guzzle_sphinx_theme")

36
docs/pt-br/index.rst Normal file
View File

@ -0,0 +1,36 @@
wallabag documentation
======================
.. image:: ../img/wallabag.png
:alt: wallabag logo
:align: center
**wallabag** É uma aplicação "leia mais tarde": Ele salva páginas da web mantendo apenas o conteúdo. Elementos como ícones de navegação ou propaganda são deletedos.
A documentação principal desta aplicação é organizada em duas seções:
* :ref:`doc-usuario`
* :ref:`doc-desenvolvedor`
.. _user-docs:
.. toctree::
:maxdepth: 2
:caption: Documentação do usuário
user/criar_conta
user/login
user/configuração
user/primeiro_artigo
user/importar
user/baixar_artigos
user/filtros
user/tags
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Documentação do desenvolvedor
developer/docker

View File

@ -0,0 +1,2 @@
Sphinx>=1.3.0,<1.4.0
guzzle_sphinx_theme>=0.7.0,<0.8.0

View File

@ -9,32 +9,27 @@
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
bootstrap="app/bootstrap.php.cache"
bootstrap="app/autoload.php"
>
<testsuites>
<testsuite name="wallabag Test Suite">
<directory>./src/Wallabag/*Bundle/Tests</directory>
<directory>src/Wallabag/*Bundle/Tests</directory>
</testsuite>
</testsuites>
<php>
<server name="KERNEL_DIR" value="./app/" />
<!--
Avoid tests to fail because of deprecated stuff
see: http://symfony.com/doc/current/cookbook/upgrade/major_version.html#deprecations-in-phpunit
-->
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak" />
<server name="KERNEL_DIR" value="app/" />
</php>
<filter>
<whitelist>
<directory>./src</directory>
<directory>src</directory>
<exclude>
<directory>./vendor</directory>
<directory>./src/Wallabag/*Bundle/Resources</directory>
<directory>./src/Wallabag/*Bundle/Tests</directory>
<directory>./src/Wallabag/*Bundle/DataFixtures</directory>
<directory>vendor</directory>
<directory>src/Wallabag/*Bundle/Resources</directory>
<directory>src/Wallabag/*Bundle/Tests</directory>
<directory>src/Wallabag/*Bundle/DataFixtures</directory>
</exclude>
</whitelist>
</filter>

View File

@ -3,13 +3,14 @@
namespace Wallabag\ApiBundle\Controller;
use FOS\RestBundle\Controller\FOSRestController;
use Hateoas\Configuration\Route;
use Hateoas\Representation\Factory\PagerfantaFactory;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
use Hateoas\Configuration\Route;
use Hateoas\Representation\Factory\PagerfantaFactory;
class WallabagRestController extends FOSRestController
{
@ -84,7 +85,7 @@ class WallabagRestController extends FOSRestController
$pagerfantaFactory = new PagerfantaFactory('page', 'perPage');
$paginatedCollection = $pagerfantaFactory->createRepresentation(
$pager,
new Route('api_get_entries', [], $absolute = true)
new Route('api_get_entries', [], UrlGeneratorInterface::ABSOLUTE_URL)
);
$json = $this->get('serializer')->serialize($paginatedCollection, 'json');

View File

@ -2,8 +2,8 @@
namespace Wallabag\ApiBundle\Entity;
use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken;
use Doctrine\ORM\Mapping as ORM;
use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken;
/**
* @ORM\Table("oauth2_access_tokens")

View File

@ -2,8 +2,8 @@
namespace Wallabag\ApiBundle\Entity;
use FOS\OAuthServerBundle\Entity\AuthCode as BaseAuthCode;
use Doctrine\ORM\Mapping as ORM;
use FOS\OAuthServerBundle\Entity\AuthCode as BaseAuthCode;
/**
* @ORM\Table("oauth2_auth_codes")

Some files were not shown because too many files have changed in this diff Show More