Compare commits

...

632 Commits

Author SHA1 Message Date
39643c6b76 Merge pull request #1493 from wallabag/v2-pocket-import
v2 – 1st draft for Pocket import via API & Wallabag v1 import
2016-01-07 22:15:08 +01:00
b88cf91fc8 updated tests 2016-01-07 21:00:04 +01:00
488a468e3e Merge pull request #1553 from wallabag/v2-hide-export-button
Hide export button if we are not on entries list
2016-01-06 21:25:41 +01:00
10b2411c10 Hide export button if we are not on entries list 2016-01-06 07:47:09 +01:00
d1af8ad4db Added french translations 2016-01-05 22:38:09 +01:00
8eedc8cfac Few phpDoc fix
And some little mistakes
2016-01-03 11:15:44 +01:00
c5c7f90a81 Fix tag related test for Pocket 2016-01-03 10:32:56 +01:00
5b2b5858fe Update deps 2016-01-02 23:31:41 +01:00
6d7c7a6e3f Remove real consumer key
We should never commit them :)
2016-01-02 23:27:41 +01:00
7019c7cf6c Add tagged services for import
- list services in /import
- add url to import service
- ImportBundle routing are now prefixed by /import
- optimize flush in each import (flushing each 20 contents)
- improve design of each import
- add more tests
2016-01-02 23:27:41 +01:00
b1d05721cf Rewrote Wallabag v1 import 2016-01-02 23:27:41 +01:00
252ebd6071 Rewrote Pocket Import
For the moment, we won't do a queue system, just a plain synchronous import.
We also use ContentProxy to grab content for each article from Pocket.
Error from Pocket are now logged using the logger.
The ImportInterface need to be simple and not related to oAuth (not all import will use that method).
2016-01-02 23:27:41 +01:00
b4b592a0c0 Fix the way to check for an existing entry
Instead of requiring more than 1 entry (> 1) we have to check for at least one entry (> 0)
2016-01-02 23:27:41 +01:00
77a7752a59 Update after previous merge
PR #1443 was merged into this branch to handle all import type in the same place.
2016-01-02 23:27:41 +01:00
7ec2897ee0 First test on PocketImport
Giving ability to define the Client add abitliy to easliy test the import.
2016-01-02 23:27:41 +01:00
0aa344dc24 Update url & service name
Prefix ur with service namel: [service]_[route name]
Add comment in Interface
2016-01-02 23:27:41 +01:00
5a4bbcc9a7 Change the way to check for an existing entry
The repository method return the entry found or false if nothing exists.
2016-01-02 23:27:41 +01:00
27a8708b67 Update deps 2016-01-02 23:27:41 +01:00
303768dfe9 - remove importers configuration
- add check on userId for findOneByURL for entries
2016-01-02 23:27:41 +01:00
dda57bb944 fix #1502 avoid duplicate entry and store pocket url in config 2016-01-02 23:24:17 +01:00
87f23b005c assign tags to entries and add lastPocketImport attribute to user 2016-01-02 23:24:17 +01:00
d51b38ed30 create ImportController to list importers 2016-01-02 23:24:17 +01:00
557e549db7 service call 2016-01-02 23:24:17 +01:00
9c9c23cf08 forgot test parameters 2016-01-02 23:24:17 +01:00
ff7b031d57 refactor pocket import 2016-01-02 23:24:17 +01:00
1f4408de9e 1st draft for Pocket import via API 2016-01-02 23:24:17 +01:00
10b40f85d6 add docs for Import feature 2016-01-02 23:24:17 +01:00
d275bdf4d3 form to upload file 2016-01-02 23:24:17 +01:00
8c3c77c1bd create controller to launch import command 2016-01-02 23:24:17 +01:00
a1bb1b3c2a userId is now set in parameters 2016-01-02 23:24:17 +01:00
56ea1de99b first draft for json import, needed for wallabag v1 migration 2016-01-02 23:24:17 +01:00
dad1c546a5 Merge pull request #1545 from wallabag/v2-user-tag
v2 – Remove user reference in tag
2016-01-02 12:46:52 +01:00
5432f61509 Merge pull request #1546 from wallabag/v2-reload-content
v2 – Ability to reload an entry
2016-01-02 12:46:09 +01:00
00a051add4 Merge pull request #1547 from wallabag/v2-mistakes
v2 – Fix wrong if when deleting an entry
2016-01-02 12:45:08 +01:00
e82160e5e9 Fix wrong if when deleting an entry
Bad condition when deleting an entry returned `true` instead of the referer url
2015-12-30 11:32:53 +01:00
0cf434c00f Backport all icomoon from v1
And add a reload icon
2015-12-30 09:53:52 +01:00
831b02aaf2 Ability to reload an entry
Could be useful when we want to update the content or when the content failed to be fetched.

Fix #1503
2015-12-30 09:41:17 +01:00
6be9750155 Removed comment
And move the SQL query inside the php doc
2015-12-29 21:59:34 +01:00
e6a228c43b Merge pull request #1544 from wallabag/2fa-email
v2 – Add custom email for 2FA
2015-12-29 20:32:58 +01:00
4059a061c0 Fix the way to remove a tag from all user entries 2015-12-29 15:43:32 +01:00
1bb1939ab7 Cleanup tests
- WallabagRestController: remove the tag deletion from the API since we can't remove a tag now, we only remove reference to entries
- RuleBasedTaggerTest: remove workaround for asserting tag are equal since problem was related to mock expects (_call instead of findOneByLabel which was removed from the tag repository)
2015-12-29 15:04:46 +01:00
01fddd0cb2 Fix parameters regarding documentation
Parameters are `star` & `archived`, not `is_starred` & `is_archived`
2015-12-29 14:54:55 +01:00
fc73222723 Remove user reference in tag
Fix #1543
2015-12-29 14:50:52 +01:00
ab64c3d9ac PHP 7.0 must not fail 2015-12-29 11:41:35 +01:00
23ff8d3619 Add custom email for 2FA
Related #1490
2015-12-29 11:17:06 +01:00
c997cfcc9c Merge pull request #1540 from wallabag/v2-fix-delete
v2 – 	Don't redirect to the content page after deletion
2015-12-28 13:51:48 +01:00
2863bf2ab5 Don't redirect to the content page after deletion
Fix #1512

We generate the url of the removed content and compare it to the referer url. If they matche, we redirect user to the homepage otherwise to the referer url.
2015-12-28 13:42:50 +01:00
71eff67f8b Entry data should have unique url 2015-12-28 13:42:50 +01:00
d25b828821 Merge pull request #1542 from wallabag/v2-avoid-duplicate-tag
v2 – 	Avoid multiple tag creation
2015-12-28 13:37:13 +01:00
e9fa8c40aa Add test on tagAllForUser
And fix multiplication of entries returned by `tagAllForUser`.
2015-12-28 13:20:48 +01:00
fc031e5706 Avoid multiple tag creation
When a new tag is created but not yet persisted, it can be duplicated.
It could happen when multiple rules match the content and at least 2 of them should attach same new tag.

Fix #1528
2015-12-28 13:20:48 +01:00
82899c0402 Merge pull request #1488 from wallabag/v2-slug-tags
Slug for tags
2015-12-28 13:12:30 +01:00
3c65dfb735 add slug for tags 2015-12-28 12:49:45 +01:00
22c1d29b89 Merge pull request #1537 from bdunogier/update_lock
Updated composer.lock
2015-12-24 08:37:27 +01:00
d4aa174367 Updated composer.lock
Had to restrict scheb/two-factor-bundle to ~1.4.0 because of a circular service reference.
See https://github.com/scheb/two-factor-bundle/issues/33.

Also updated php version requirement to 5.5.0.
2015-12-23 22:49:03 +01:00
da2240f9d4 Merge pull request #1529 from wallabag/v2-taggingrule-tablename
changed table name for tagging rule
2015-12-08 09:35:27 +01:00
347fa6beb0 php cs 2015-12-08 09:20:03 +01:00
c5d0db8b71 changed table name for tagging rule 2015-12-08 09:05:56 +01:00
a7f1921f7d Merge pull request #1478 from K-Phoen/rule-based-tags
Rule based tags
2015-12-06 14:31:26 +01:00
2e15e30bf0 Merge pull request #1523 from wallabag/tcitworld-patch-1
Typo
2015-12-04 06:43:40 +01:00
a24c1ee30a Typo 2015-12-04 00:17:07 +01:00
f4b617f2ff Merge pull request #1518 from mathbruyen/smtp-from-env
Set SMTP from environment variables
2015-12-03 08:43:40 +01:00
752b90d1f2 Fix tagging rules ordering 2015-11-29 16:19:02 +01:00
59507c5b24 SMTP configuration through environment
Configuring SMTP parameters required to be written in files which is not
convenient when using docker containers as the credentials need to be in
the filesystem.

Created environment parameters override for those parameters. A new build
script created in order to generate those parameters right before
launching the application.
2015-11-26 10:44:03 +01:00
c13eda461f Clean the tagging rule creation form 2015-11-16 14:01:43 +01:00
69edb774eb Assert that the tag has is the good one 2015-11-16 13:34:00 +01:00
958671a7ae Add a quick test 2015-11-13 22:53:28 +01:00
aeff8aa765 Document the matches operator in the FAQ 2015-11-13 20:57:46 +01:00
f27aca26f6 Add phpdoc for all Matches implementations 2015-11-13 20:50:09 +01:00
a6e27f7466 Add matches operator 2015-11-13 14:37:58 +01:00
5c514b0be3 Improve the tagging rules documentation 2015-11-11 17:06:36 +01:00
b7b2005494 Fix the creation of the repository services 2015-11-11 16:44:57 +01:00
6cbbf1481a Update rulerz-bundle 2015-11-11 16:39:28 +01:00
0c5bcd82ba Use Psr\Log\NullLogger instead of creating a mock 2015-11-11 16:27:53 +01:00
7b1648961d Fix incorrect comment. 2015-11-11 16:27:19 +01:00
8a99c7a86b Add a few functional tests for the tagging rules creation form 2015-11-11 16:27:19 +01:00
9b88658c04 Update baggy theme 2015-11-11 16:27:19 +01:00
52e423f307 Provide a way to delete tagging rules 2015-11-11 16:27:19 +01:00
625acf3352 Add a command to automatically tag all entries for a user 2015-11-11 16:27:19 +01:00
cad8cda7af Use a tagged version of kphoen/rulerz-bundle 2015-11-11 16:25:44 +01:00
c23fc05df8 Validate used operators when creating tagging rules 2015-11-11 16:23:49 +01:00
5a166c5c1a Add tests for the RuleBasedTagger class 2015-11-11 16:23:49 +01:00
1c9cd2a7f0 Errors in the automatic tagging do not prevent the entry from being added 2015-11-11 16:23:49 +01:00
1dc4e5da2e Also validate used variables when creating tagging rules 2015-11-11 16:23:49 +01:00
3447d1ee07 Add naïve validation for tagging rules (only checks the syntax) 2015-11-11 16:23:49 +01:00
71ef0ed254 Rename the « Tags » tab to « Tagging rules » 2015-11-11 16:23:49 +01:00
003fa77438 Add tests for the StringToListTransformer class 2015-11-11 16:23:49 +01:00
f530f7f5e1 Fix ContentProxyTest 2015-11-11 16:23:49 +01:00
1d7b350b25 Add missing use statement 2015-11-11 16:23:49 +01:00
e9fbd2d12e Add a table explaining the available variables 2015-11-11 16:23:49 +01:00
981cacf7b9 Display the tagging rules in the config 2015-11-11 16:23:49 +01:00
9cbb404b4a Add missing tagging rule repository 2015-11-11 16:23:49 +01:00
f19f9f62d1 Add a form to create tagging rules 2015-11-11 16:23:49 +01:00
ac9fec610a Add TaggingRule entity 2015-11-11 16:23:49 +01:00
c3510620ad PoC of rule-based tagging 2015-11-11 16:23:49 +01:00
0a0c600887 Merge pull request #1422 from wallabag/v2-ebook
V2 – Export entries
2015-11-09 16:45:48 +01:00
16bbb4aa41 Update deps 2015-11-09 16:35:09 +01:00
fba3f536a5 Fix tests 2015-11-09 16:32:48 +01:00
cceca9ea1d Fix route parameters
Improve export tests
Improve CSV export
2015-11-09 16:32:48 +01:00
268e9e7277 use JMS Serializer 2015-11-09 16:32:48 +01:00
5b7da07620 use the groups annotation instead of setIgnoredAttributes 2015-11-09 16:32:48 +01:00
8ac95cbfcc improved function 2015-11-09 16:32:48 +01:00
b3cc1a14e7 add json & xml 2015-11-09 16:32:48 +01:00
33c36f6b48 Fix tests on pgsql 2015-11-09 16:32:48 +01:00
add597bad9 Rework on export
- all export now return a `HttpFoundation\Response`
- return a 404 on unsupported format
- add tests
2015-11-09 16:32:48 +01:00
03690d1387 Start work on export
For now:
 - ebook
 - mobi
 - pdf
 - csv
2015-11-09 16:32:48 +01:00
f1eccfd63f Merge pull request #1500 from wallabag/v2-quote-pgsql
Fix quote strategy for reserved keyword in Postgres
2015-11-09 16:31:59 +01:00
53cf510689 Lock DoctrineBundle to 1.5.2
Because of a bad change, SQLite database cannot be created anymore.

➡️ https://github.com/doctrine/DoctrineBundle/pull/434
2015-11-08 10:47:56 +01:00
970e0e994f Remove duplicate comments 2015-11-07 14:18:38 +01:00
75c48e3ae0 CS 2015-11-07 14:16:13 +01:00
d502762598 Skipping PostgreSQL test that drop database
For a not-clear reason, I can't properly drop the current database. Even if Doctrine made a special case for that (https://github.com/doctrine/dbal/pull/849).

So instead of trying crazy things to achieve the test, better way is to skip test (too much wasted days ..)
2015-11-07 14:16:13 +01:00
8a493541fa Re-enable test on doctrine command
It will slow down the whole test suite (because it'll use doctrine command).
Remove unecessary `KernelTestCase`.
Also rename `AbstractControllerTest` to `WallabagApiTestCase` for consistency.
2015-11-07 14:16:13 +01:00
735068d181 Add tests on TablePrefixSubscriber 2015-11-07 14:15:33 +01:00
bd0f3d32c9 Quoted entity to avoid reserved keyword
Should fix #1498
2015-11-07 14:15:33 +01:00
54a2241e13 Fix database already exist detection
This is not the same message exception from MySQL & SQLite with Postgres.
2015-11-07 14:15:33 +01:00
4529d0f4b6 Merge pull request #1510 from wallabag/v2-sf3
v2 – Fix some deprecated for Symfony3
2015-11-07 13:39:30 +01:00
164d260c49 CS
Also force SYMFONY_DEPRECATIONS_HELPER for travis
2015-11-07 00:27:41 +01:00
b2a903feef Avoid other bundle deprecation to cancel the build 2015-11-07 00:18:46 +01:00
33fe61f92f Fix form_enctype deprecation
Use form_start instead
2015-11-07 00:18:06 +01:00
18f8f32f70 Fix security.context deprecation 2015-11-07 00:17:37 +01:00
5ead137fe6 Fix pattern deprecation
Replaced by path
2015-11-07 00:16:26 +01:00
78507d2835 Fix deprecated helper in command 2015-11-06 23:39:19 +01:00
872384b0c1 Update deps & add PHPUnit Bridge
Changelogs summary:

 - symfony/phpunit-bridge installed in version v2.7.6
   Release notes: https://github.com/symfony/phpunit-bridge/releases/tag/v2.7.6

 - twig/twig updated from v1.23.0 to v1.23.1
   See changes: https://github.com/twigphp/Twig/compare/v1.23.0...v1.23.1
   Release notes: https://github.com/twigphp/Twig/releases/tag/v1.23.1

 - doctrine/inflector updated from v1.0.1 to v1.1.0
   See changes: https://github.com/doctrine/inflector/compare/v1.0.1...v1.1.0
   Release notes: https://github.com/doctrine/inflector/releases/tag/v1.1.0

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

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

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

 - friendsofsymfony/user-bundle updated from dev-master to dev-master
   See changes: d5b28c3...45d6f40
2015-11-06 23:39:14 +01:00
3d9ccf9390 Merge pull request #1505 from wallabag/v2-graby-log
Add graby log
2015-11-02 07:52:28 +01:00
386cd24663 Update deps
Changelogs summary:

 - twig/twig updated from v1.22.3 to v1.23.0
   See changes: https://github.com/twigphp/Twig/compare/v1.22.3...v1.23.0
   Release notes: https://github.com/twigphp/Twig/releases/tag/v1.23.0

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

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

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

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

 - lexik/form-filter-bundle updated from v4.0.1 to v4.0.2
   See changes: https://github.com/lexik/LexikFormFilterBundle/compare/v4.0.1...v4.0.2
   Release notes: https://github.com/lexik/LexikFormFilterBundle/releases/tag/v4.0.2

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

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

 - phpunit/phpunit updated from 4.8.13 to 4.8.16
   See changes: https://github.com/sebastianbergmann/phpunit/compare/4.8.13...4.8.16
   Release notes: https://github.com/sebastianbergmann/phpunit/releases/tag/4.8.16
2015-10-30 08:00:43 +01:00
c929c88faf Enable graby log 2015-10-24 10:53:55 +02:00
e686b5e6fe Merge pull request #1495 from wallabag/v2-docs
add docs
2015-10-22 17:02:06 +02:00
71200c4155 Merge pull request #1496 from wallabag/v2-redirect-after-deletion
fix #1005 V2 redirect after deletion
2015-10-22 09:28:54 +02:00
18d5f4541e redirect on last page after deletion 2015-10-21 15:26:37 +02:00
59e91bc893 add docs 2015-10-21 14:14:51 +02:00
a4e1ddf2d6 Merge pull request #1491 from jlnostr/v2-german-translation
Add german translation.
2015-10-19 09:21:43 +02:00
57cf6fd76c Add language to config.yml 2015-10-18 22:04:50 +02:00
37a564a868 Add german translation. 2015-10-18 21:26:09 +02:00
fcc6949d4a Merge pull request #1446 from wallabag/v2-language-config
[WIP] language selection on config screen
2015-10-18 15:35:42 +02:00
2aac2f278f Add tests on listeners 2015-10-16 07:40:09 +02:00
c89d35e851 Language selection on config screen 2015-10-15 21:42:29 +02:00
3d3ed955f1 Merge pull request #1484 from wallabag/v2-2factor-auth
2factor authentication via email
2015-10-15 13:52:52 +02:00
e9b395ec4b forgot parameters for travis 2015-10-15 13:20:44 +02:00
18cf594f8a move 2factor activation in parameters 2015-10-15 13:17:21 +02:00
0d6a7929e1 add tests for 2factor authentication 2015-10-14 17:10:12 +02:00
f6af634aec Merge pull request #1475 from modos189/v2_material
V2 material
2015-10-14 12:01:30 +02:00
2db616b586 2factor authentication via email 2015-10-13 22:43:15 +02:00
c26a3edc0a Other improvements 2015-10-09 13:00:15 +03:00
ba873ae667 Icons in footer 2015-10-09 12:43:42 +03:00
cf0ea8f113 Merge pull request #1472 from wallabag/v2-clean-views
fix #1470: clean material theme
2015-10-08 13:44:04 +02:00
9dbcf9d418 Merge pull request #1471 from wallabag/v2-bookmarklet
implement bookmarklet
2015-10-08 13:43:53 +02:00
fa853bb603 fix #1470: clean material theme 2015-10-08 13:32:34 +02:00
880a0e1c0b implement bookmarklet 2015-10-08 13:29:41 +02:00
3bfbd22f13 Merge pull request #1468 from wallabag/v2-fix-detect-theme
fix bug on detect active theme
2015-10-06 20:57:54 +02:00
ce782c84b8 fix bug on detect active theme 2015-10-06 20:51:40 +02:00
3123b3c0c8 Merge pull request #1464 from wallabag/v2-fix-type-hint
fix type hint for User
2015-10-06 12:24:18 +02:00
1ce8f30342 fix type hint for User 2015-10-06 12:16:08 +02:00
16dabc3263 Merge pull request #1436 from wallabag/v2-register
Public registration & oAuth2 \o/
2015-10-06 09:19:06 +02:00
fdef5f4605 Merge pull request #1461 from wallabag/v2-test-for-www
fix #1433: add test for removeWww Twig Extension
2015-10-06 09:16:52 +02:00
794dc4ee8a Merge pull request #1459 from wallabag/v2-tags-chips
fix #1457 & update materialize
2015-10-06 09:09:56 +02:00
784bb4c38d add test for removeWww Twig Extension 2015-10-06 09:09:26 +02:00
8263e71192 use form widget for registration 2015-10-06 07:44:10 +02:00
68e9dcf615 restore blue color 2015-10-06 06:16:17 +02:00
e0d188809c move css 2015-10-05 22:49:46 +02:00
d30262154a last changes for baggy theme 2015-10-05 22:45:44 +02:00
ec3ce598f6 material design for register/login/recover pages 2015-10-05 22:16:18 +02:00
9c8f7af196 fix #1457 2015-10-05 21:37:17 +02:00
4c5e544183 Cleanup
- remove unecessary routing for UserBundle
- remove unused form type
2015-10-03 13:37:21 +02:00
0a878469d4 move some files to UserBundle 2015-10-03 13:31:48 +02:00
1210dae105 remove old implementation for login/register/recover 2015-10-03 13:31:48 +02:00
772d8c4b93 Add test on RegistrationConfirmedListener
And PLEASE @nicosomb, NEVER EVER inject the whole container inside a service.
2015-10-03 13:30:43 +02:00
2c13918acc add test for confirmed registration 2015-10-03 13:30:43 +02:00
359b3f43cc * rename AuthenticationListener
* add tests
2015-10-03 13:30:43 +02:00
772732531e check authentication on each API route 2015-10-03 13:30:43 +02:00
cd1298d6df allow API documentation for anonymous 2015-10-03 13:30:43 +02:00
fcb1fba5c2 * public registration
* remove WSSE implementation
* add oAuth2 implementation
2015-10-03 13:30:43 +02:00
8a60bc4cc2 Merge pull request #1447 from wallabag/v2-typo
typo
2015-10-01 19:58:58 +02:00
4b55e704ab typo 2015-10-01 18:48:38 +02:00
0e8f778199 Merge pull request #1441 from wallabag/v2-french-translation
Add french translation
2015-10-01 11:49:13 +02:00
4e9f656ecb restore footer 2015-10-01 11:38:59 +02:00
cfb28c9da0 french translation 2015-10-01 09:26:52 +02:00
8e417206d5 flash messages translation 2015-09-30 18:17:40 +02:00
4aafa7f0df french translation 2015-09-30 18:09:18 +02:00
4f0dfac6a6 add french translation 2015-09-30 17:06:41 +02:00
7c99da0c95 Merge pull request #1437 from wallabag/v2-clean-material
some cleanup on material theme
2015-09-30 09:05:03 +02:00
24429857d8 Merge pull request #1439 from wallabag/v2-fix-deploy
fix Capistrano configuration
2015-09-30 08:49:00 +02:00
d2755b1c30 Merge pull request #1440 from wallabag/v2-fix-1433
fix #1433: remove www. on entries view
2015-09-29 23:23:58 +02:00
2afdea1ccc forgot one file 2015-09-29 23:11:27 +02:00
72fcaf8a6c remove www. on entries view 2015-09-29 22:59:44 +02:00
e75b215a25 fix Capistrano configuration 2015-09-29 22:13:07 +02:00
b0b352fc8e some cleanup on material theme 2015-09-29 20:26:32 +02:00
917040d4a0 Merge pull request #1434 from wallabag/travis-db
Add multiple database tests on Travis
2015-09-28 22:57:11 +02:00
fef4124130 Enabled Tidy on travis for HHVM 2015-09-28 20:35:56 +02:00
02d17813a1 Fix tests for all 2015-09-28 20:26:37 +02:00
159986c4fb Fix Postgres tests 2015-09-28 19:35:55 +02:00
da3d4998c0 Move readingTime & domainName in ContentProxy
So, everything is centralized in one place when we save a new entry.
2015-09-28 19:35:33 +02:00
4180fddac1 Merge pull request #1435 from wallabag/v2-enabled-user
Enabled created user from Config
2015-09-26 20:19:42 +02:00
34c2cc7a1a Use tecnickcom/tcpdf
tecnick.com/tcpdf is abandonned.
2015-09-26 19:51:26 +02:00
0f30f48b93 Enabled created user from Config
By default, creating user with FOSUser are disabled by default.

Fix #1423
2015-09-26 19:45:14 +02:00
609594fa5e Fix authentication error from Github
From: http://blog.wyrihaximus.net/2015/09/github-auth-token-on-travis/
2015-09-26 19:23:20 +02:00
dc22b46bf3 Fix HHVM & PHP 7.0 2015-09-26 19:06:32 +02:00
03fb6fde5f Add multiple database tests on Travis 2015-09-26 11:56:15 +02:00
5716249455 Merge pull request #1429 from wallabag/v2-language
V2 – Handle language in entry
2015-09-23 09:13:34 +02:00
d4ebe5c5dc Entries filter on language
+ updated deps
2015-09-23 07:55:55 +02:00
0d3bafdfdf Remove tab from baggy css
And add a border left on the filter slider
2015-09-23 07:51:17 +02:00
98f0929f16 Handle entry in language
Fix #1333
2015-09-22 20:52:13 +02:00
db96045a0a Adjust preview picture 2015-09-20 22:36:51 +02:00
1db9d411c5 Merge pull request #1420 from modos189/v2_display_picture
improved display pictures
2015-09-14 17:15:40 +02:00
451bad02f0 improved display pictures 2015-09-14 02:12:39 +03:00
b004a236ba Merge pull request #1401 from wallabag/v2-baggy-themes
Cleanup baggy
2015-09-13 21:07:27 +02:00
1a5f7e2d88 A little more width for filter view 2015-09-13 19:53:09 +02:00
5e98404dfb Re-add preview picture on baggy
Which should has been removed on merge
2015-09-13 15:17:58 +02:00
463573bf69 Update deps 2015-09-13 15:07:15 +02:00
5def3f5862 Filters view on side for baggy 2015-09-13 14:56:34 +02:00
71e51207ce Fix tests 2015-09-13 14:56:34 +02:00
1137fae94d Lower domain search length
When searching for "bbc" I got no result .. sigh.
2015-09-13 13:35:12 +02:00
d2fcbf5d84 Handle filter form using some JS
Instead of displaying an ugly form
2015-09-13 13:35:12 +02:00
19c283140e Cleanup base layout 2015-09-13 13:35:12 +02:00
89ee994f77 Remove some global assets
Some global assets where dedicated to baggy
Remove some non-used css
2015-09-13 13:35:12 +02:00
a78d6afeaa Move baggy theme in its folder 2015-09-13 13:35:12 +02:00
4d5fd9be81 Merge pull request #1417 from wallabag/v2-display-picture
fix #972: add preview pictures
2015-09-13 11:41:23 +02:00
40f59b219b Merge pull request #1418 from wallabag/v2-previewpicture-filter
filter for entries with previewPicture
2015-09-13 10:14:42 +02:00
497e0cad7c add test for previewPicture filter 2015-09-13 10:11:22 +02:00
b026d3b115 add previewPicture on baggy theme 2015-09-13 10:03:53 +02:00
616f9fea26 forgot case for previewPicture filter 2015-09-13 08:43:15 +02:00
a3bcd60a37 filter for entries with previewPicture 2015-09-12 17:08:12 +02:00
fb96ea8845 Merge pull request #1362 from wallabag/v2-fosuser
implement FosUser
2015-09-12 16:13:40 +02:00
e610143f51 add preview pictures 2015-09-12 13:39:01 +02:00
af43bd3767 Fix tests
Ensure that created use during install command will always be unique.
We assume that the install command must be run to initialize a wallabag instance. NEVER to add more user.

Also, use a better way to retrieve the real name of the database and not the one defined in parameters.yml (which isn't the same for test envi because the dbname isn't defined in parameters.yml but directly in config_test.yml)
2015-09-12 11:36:16 +02:00
3f7a62908c fix tests for FosUser 2015-09-11 20:32:37 +02:00
a1691859ca implement FosUser 2015-09-11 20:32:37 +02:00
9c08a891f9 Merge pull request #1397 from wallabag/v2-graby
Integrate graby
2015-09-11 20:17:42 +02:00
f1e29e69cb CS 2015-09-10 22:00:53 +02:00
558d9aabab Move fetching content in a separate class 2015-09-10 21:57:25 +02:00
75c3478a0c Update deps 2015-09-10 15:09:44 +02:00
49e564ec15 Merge pull request #1403 from wallabag/v2-material-full-size-domain-filter
Use full size of the panel for domain-filtering
2015-08-26 07:13:11 +02:00
e643992350 typo 2015-08-26 00:24:33 +02:00
b125ed0394 Use full size of the panel for domain-filtering
For longer domains
2015-08-26 00:19:17 +02:00
c6da9bea71 Merge pull request #1400 from wallabag/v2-fix-1357
fix #1357, truncate domain name if it's too loooong
2015-08-25 07:51:55 +02:00
50243f0e34 fix #1357, truncate domain name if it's too loooong 2015-08-24 22:09:57 +02:00
d13de40db6 Update url from graby 2015-08-24 19:52:31 +02:00
a1413a3da9 CS 2015-08-24 12:35:02 +02:00
fad316151c Integrate graby 2015-08-24 12:27:17 +02:00
8c55a9e6c9 Merge pull request #1395 from wallabag/v2-fix-1378
fix #1378: nice display for tags list
2015-08-24 12:16:08 +02:00
230413bdd1 Merge pull request #1396 from wallabag/j0k3r-patch-1
Apply margin only on settings page
2015-08-24 12:04:24 +02:00
dc1c2debfb Apply margin only on settings page 2015-08-24 12:03:00 +02:00
a754db33c9 fix #1378: nice display for tags list 2015-08-24 11:59:53 +02:00
7083d183b9 Merge pull request #1392 from wallabag/v2-fix-redirect
Fix redirect after deletion
2015-08-24 10:44:14 +02:00
8bb1f3d69a Merge pull request #1393 from wallabag/fix-filter-same-day
Fix date filter on same day
2015-08-24 10:39:24 +02:00
f90af145ca Add test for same day filter 2015-08-23 22:06:27 +02:00
bccb5bba75 Merge pull request #1384 from wallabag/v2-fix-config-display
fix #1371 config screen: display bug in RSS tab
2015-08-23 13:17:21 +02:00
7d6c3edcdd Fix date filter on same day
Fix #1379
2015-08-22 15:36:07 +02:00
ec00964de2 Merge pull request #1372 from wallabag/v2-assign-tags
assign tags to an entry
2015-08-22 12:56:42 +02:00
7244d6cb61 assign tags to an entry 2015-08-22 12:40:48 +02:00
83aaf84195 Fix display issue in config rss tab 2015-08-22 12:30:06 +02:00
16a3d04cbd Fix redirect after deletion
Fix #1391
2015-08-22 12:09:27 +02:00
f9d5155abf Merge pull request #1390 from wallabag/coderating
Enable code rating on Scrutinizer
2015-08-21 18:11:52 +02:00
b45c188516 Enable code rating on Scrutinizer 2015-08-21 18:00:02 +02:00
f506da40e2 Merge pull request #1385 from wallabag/v2-status-filter
filters: implement status filter and a new view (to display all entries)
2015-08-21 17:49:20 +02:00
3b84dc08fc restore composer.lock 2015-08-21 11:02:22 +02:00
78f66dcc52 Merge pull request #1389 from wallabag/v2-fix-duplicate
remove dead code
2015-08-21 11:00:49 +02:00
c937de3443 remove dead code 2015-08-21 08:36:57 +02:00
2b7a488917 filters: adapt queryBuilder for 'all' view 2015-08-21 07:38:18 +02:00
e177976099 filters: add test for status filter and adapt other tests results 2015-08-21 07:30:48 +02:00
89659c9eae filters: implement status filter and a new view (to display all entries) 2015-08-21 07:30:48 +02:00
109d67dbb1 Merge pull request #1386 from wallabag/v2-refactor
WIP – Fixing things around 💨
2015-08-20 21:51:02 +02:00
6682139ec5 CS 2015-08-20 20:39:52 +02:00
e6f55346fd Add test on getting starred entries using the API 2015-08-20 20:39:26 +02:00
eccf5eb2e0 Add title in "picto-link"
Picto aren't always obvious for every one. So it's better to have some title when we move the mouse over.
2015-08-20 20:39:26 +02:00
1dbcd63b59 Update baggy about page
According to what have been done on the material theme
2015-08-20 20:39:26 +02:00
4793ee6509 Fixed my name & website 👌 2015-08-20 20:39:26 +02:00
6eebd8c909 Remove unsed things 2015-08-20 20:39:26 +02:00
0ab7404f93 Refactorize the way to retrieve entries
One place to retrieve entries in Entry & Rss controller.
More simple and easy to maintain.
2015-08-20 20:39:22 +02:00
4fcb7eaf13 Merge pull request #1383 from wallabag/cs
CS
2015-08-20 08:22:39 +02:00
8ce32af612 CS
We shouldn't forget to run `php-cs-fixer` time to time
2015-08-20 07:53:55 +02:00
34437f408c Merge pull request #1369 from wallabag/v2-bottombar
fix #1332: bottom bar to display message
2015-08-19 21:27:49 +02:00
ab4aeb8bd8 Merge pull request #1375 from wallabag/v2-fix-1371
fix #1368 config: redirect on correct tab in material theme
2015-08-19 21:26:29 +02:00
fdab81e910 warning bar: add parameter to dis/enable it 2015-08-19 16:00:15 +02:00
c3fdbcc60f Merge pull request #1374 from wallabag/v2-fix-filters-display
filters: enhance view for domain name
2015-08-19 15:32:38 +02:00
e62d27ff9b bottom bar to display message 2015-08-19 15:14:08 +02:00
8b8cdabc89 config: redirect on correct tab in material theme 2015-08-19 15:10:11 +02:00
bdd23b076a filters: enhance view for domain name 2015-08-19 14:55:39 +02:00
7b2d336893 Merge pull request #1342 from wallabag/v2-domain-filter
fix #981: add filter on domain name
2015-08-19 14:33:46 +02:00
443cecd2d8 add filter on domain name 2015-08-19 14:27:00 +02:00
b71ebd9af9 Merge pull request #1366 from wallabag/fix-tags-view
fix tag view in material theme
2015-08-19 12:02:24 +02:00
22ed64522a Merge pull request #1365 from wallabag/v2-typo-pagination
change </div> into </ul>
2015-08-19 11:21:31 +02:00
2e02b50409 Merge pull request #1367 from wallabag/v2-fix-actions-label
action labels depend on status
2015-08-19 11:20:22 +02:00
a3b4e8a2c0 Merge pull request #1363 from wallabag/v2-add-date-filter-view
add creation date filter view
2015-08-19 11:19:43 +02:00
d5e9a99ce6 Merge pull request #1370 from wallabag/v2-composer-cleanup
fix 1356: diet for composer
2015-08-19 11:19:04 +02:00
68568bf0b7 diet for composer 2015-08-18 21:53:11 +02:00
02947111c0 change </div> into </ul> 2015-08-18 18:20:07 +02:00
e68d9179a1 fix tag view in material theme 2015-08-18 18:18:35 +02:00
c713273619 action labels depend on status 2015-08-18 18:13:30 +02:00
3f357ee241 add test 2015-08-18 16:33:32 +02:00
c3cb46809b Merge pull request #1341 from wallabag/v2-capistrano
capistrano config
2015-08-18 16:14:23 +02:00
72ea6dd1a7 add creation date filter view 2015-08-18 15:26:45 +02:00
54f2b4a254 Merge pull request #1353 from wallabag/v2-pluriel
check if one entry or not
2015-08-18 14:29:10 +02:00
3162601c59 Merge pull request #1343 from wallabag/v2-filter-date
[WIP] filter by creation date
2015-08-18 14:28:43 +02:00
6819604185 Merge pull request #1354 from wallabag/v2-clean
some cleanup
2015-08-18 09:11:40 +02:00
f967422fae Update CONTRIBUTING.md 2015-08-18 08:49:42 +02:00
428af5a8c3 usage of transchoice 2015-08-18 08:32:50 +02:00
fd72e99d53 remove capistrano in gitignore 2015-08-18 08:26:41 +02:00
2a2903ceaa some cleanup 2015-08-17 23:31:10 +02:00
fac3f8abfa Merge pull request #1355 from wallabag/v2-clear-button
clean -> clear
2015-08-17 23:22:24 +02:00
e40ff14d7d Merge pull request #1358 from wallabag/nicosomb-patch-1
Disable external_code_coverage on Scrutinizr
2015-08-17 23:21:59 +02:00
a2cdaa8cdd disable external_code_coverage 2015-08-17 23:11:20 +02:00
4a230f9844 change timeout because scrutinizer failed 2015-08-17 21:39:07 +02:00
5f246a5543 clean -> clear 2015-08-17 20:12:11 +02:00
2ba06b1ee2 check if one entry or not 2015-08-17 18:02:54 +02:00
3c5b025ac3 filter by creation date 2015-08-17 15:54:49 +02:00
ceb79aa016 capistrano config 2015-08-17 15:36:27 +02:00
925d8ab316 Merge pull request #1337 from modos189/v2_material
fixes material
2015-08-17 15:32:59 +02:00
d5b28518e9 fix 2015-08-17 16:30:30 +03:00
0a3a5f6cd7 Merge pull request #1352 from wallabag/v2-fix-pagination
fix #1350: fix pagination with filters
2015-08-17 15:19:35 +02:00
ab2c93c7eb add test 2015-08-17 15:15:51 +02:00
727b39a90e Fix calendar in chromium and reducing the size of the calendar 2015-08-17 15:43:44 +03:00
c14a7c4251 fix #1350: fix pagination with filters 2015-08-17 12:13:37 +02:00
c37381b946 Merge pull request #1349 from wallabag/v2-add-original-link
add link to original article in material theme
2015-08-17 09:20:41 +02:00
790d18a319 GUI for filter by creation date #1343 2015-08-17 03:12:14 +03:00
6fd3d82c01 Hide open menu on page reading articles 2015-08-17 02:02:55 +03:00
fcb3faf109 My implementation progress bar at the top of the page #1348 2015-08-17 01:50:46 +03:00
d75a9fa38b Fix:
When I click on "new article" icon, and on the cross after, the filter icon is no more visible.
    When I change the size of my browser window, the filter appears but I didn't click on the icon
    Bug: can't click on pagination > 1
    display bug: when we load homepage, we see quickly the filter form
    new entry form: when we click on the field, the history of the field is at the left of the screen, not below the field (see screenshot)
2015-08-17 01:29:51 +03:00
0e7cf1fc50 Merge remote-tracking branch 'origin/v2' into v2_material 2015-08-17 00:33:03 +03:00
9cc6bd87fe add link to original article in material theme 2015-08-16 21:05:37 +02:00
80127e4fb1 Merge pull request #1338 from wallabag/v2-add-titles
change title for material pages / about page
2015-08-13 11:53:34 +02:00
4ca0c9139c fix diaspora url 2015-08-13 09:18:41 +02:00
a64f1d9f2d change title for material pages / about page 2015-08-13 09:16:22 +02:00
bac5a34552 Fix form rendere 2015-08-12 23:52:40 +03:00
a737d2a0ee Merge remote-tracking branch 'origin/v2' into v2_material 2015-08-12 23:02:19 +03:00
545b852f46 Merge pull request #1331 from wallabag/v2-disable-download
disable download links on entry view
2015-08-12 21:58:46 +02:00
392f4a2681 #1320 Design for filters 2015-08-12 22:55:44 +03:00
120544cccd disable download links on entry view 2015-08-12 21:52:39 +02:00
82b07eb272 Merge pull request #1334 from wallabag/v2-store-domainname
store domainName in database
2015-08-12 21:45:21 +02:00
c2257428b2 store domainName in database 2015-08-12 21:16:00 +02:00
8ba913d87a improved view 2015-08-12 20:27:30 +03:00
06fdfd025e fix #1321 2015-08-12 19:18:31 +03:00
d990dc6f05 Merge pull request #1328 from wallabag/v2-fix-1324
fix #1324: do not display pagination when only 1 page
2015-08-12 14:12:08 +02:00
bdf39ff10d remove pagination if page == 1 with baggy theme 2015-08-12 14:06:56 +02:00
2ac2e0bc2b fix #1324: do not display pagination when only 1 page 2015-08-12 14:05:53 +02:00
1a0ea1f35a Merge pull request #1326 from wallabag/v2-fix-1299
fix #1299: change send buttons on config page
2015-08-12 13:42:32 +02:00
43e6f47d5b fix #1299: change send buttons on config page 2015-08-12 13:35:48 +02:00
9f1d650ae8 Merge pull request #1325 from wallabag/v2-fix-1314
fix #1314: change max-width in material theme
2015-08-12 13:31:34 +02:00
b69fc0628a fix #1314: change max-width in material theme 2015-08-12 13:26:49 +02:00
a8596c35c8 Merge pull request #1323 from wallabag/v2-1302-checkbox
fix #1302: add 'stay connected' checkbox
2015-08-12 13:23:52 +02:00
a15692b1b7 Merge pull request #1312 from wallabag/v2-fix-1311
fix #1311, redirect after login
2015-08-12 13:21:16 +02:00
6622cf9968 add translation 2015-08-12 13:21:07 +02:00
7fc14130c7 add test 2015-08-12 13:18:39 +02:00
579764b264 fix indentation 2015-08-12 13:03:26 +02:00
3e1f25e22f Merge pull request #1322 from wallabag/v2-fix-1303
fix #1303, add link to homepage on forgot password page
2015-08-12 12:43:02 +02:00
5a58461491 add 'stay connected' checkbox 2015-08-12 12:27:12 +02:00
773ed2e7a6 fix #1303, add link to homepage on forgot password page 2015-08-12 12:16:50 +02:00
496f21e6fa Merge pull request #1319 from wallabag/v2-form-header
add new post form in material header
2015-08-12 10:14:44 +02:00
053b9568b2 add new post form in material header 2015-08-12 09:52:36 +02:00
930334cd6d Merge pull request #1297 from wallabag/v2-estimated-time
store estimated reading time in database (#393)
2015-08-12 09:05:21 +02:00
2686457448 store estimated reading time / filters on reading time 2015-08-12 09:01:29 +02:00
fedaf00537 Merge pull request #1317 from wallabag/v2-fix-typo
fix link in howto page
2015-08-11 21:26:31 +02:00
ea8da8c6d5 fix link in howto page 2015-08-11 21:12:08 +02:00
95135988f9 Merge pull request #1316 from wallabag/v2-focus-searchform
fix #1310 add focus to search form
2015-08-11 20:00:30 +02:00
d85454fbf8 add focus to search form 2015-08-11 18:07:02 +02:00
728a432850 fix #1311, redirect after login 2015-08-10 22:37:56 +02:00
f59601fced Merge pull request #1298 from modos189/v2_fix_material
fix material
2015-08-10 19:35:23 +02:00
0e654f6273 Merge remote-tracking branch 'origin/v2' into v2_fix_material
# Conflicts:
#	src/Wallabag/CoreBundle/Resources/views/themes/material/base.html.twig
2015-08-10 15:25:23 +03:00
f48a018929 Merge pull request #1295 from wallabag/v2-howto
add howto page
2015-08-10 14:15:11 +02:00
b958d9e59b remove useless line 2015-08-10 14:13:23 +02:00
4919584b87 Merge remote-tracking branch 'origin/v2' into v2_fix_material
# Conflicts:
#	src/Wallabag/CoreBundle/Resources/views/themes/material/base.html.twig
2015-08-10 12:27:12 +03:00
1473e8c9fb add tests for static pages 2015-08-10 08:19:40 +02:00
47cadf36c8 Merge pull request #1292 from wallabag/v2-tags-route
Add tags list display
2015-08-09 22:47:28 +02:00
20a69dffe7 Merge pull request #1304 from wallabag/v2-rename-starred-menu
rename favorite in starred
2015-08-09 20:47:13 +02:00
009696d0a8 rename favorite in starred 2015-08-09 20:31:53 +02:00
e9d5c2bf02 Merge pull request #1296 from wallabag/v2-fix-564
fix #564: replace Untitled by the domain name
2015-08-08 20:58:03 +02:00
946d6a5124 Preparation for adding links 2015-08-08 01:30:52 +03:00
a6523cfe86 fix #1281 2015-08-08 00:16:14 +03:00
c54ea989a3 fix #1281 (notifications when we star articles are buggy)
All notification corrected
2015-08-08 00:08:29 +03:00
342f0cc55a fix #1281 (When I save 10 articles, I've got 4 lines: 3 articles on 1st line, 3 on 2nd one, only 1 on 3rd line and 3 on last lines (chrome and firefox)) 2015-08-08 00:00:11 +03:00
0e7650683d Title in navigation bar 2015-08-07 23:59:11 +03:00
768303a573 fix #1282 2015-08-07 23:29:21 +03:00
0bc2baa65c fix #564: replace Untitled by the domain name 2015-08-07 21:57:53 +02:00
b7dd5f824c add howto page 2015-08-07 21:22:43 +02:00
54139268f8 Merge pull request #1294 from wallabag/v2-fix-1282
fix #1282: add title on wallabag logo
2015-08-07 20:56:45 +02:00
44a16e82d8 fix #1282: add title on wallabag logo 2015-08-07 20:47:19 +02:00
d0b90fbe18 unit test 2015-08-07 20:29:03 +02:00
55333dfd21 Merge pull request #1293 from wallabag/v2-items-per-page
get itemsPerPage for unread/fav/archive views
2015-08-07 20:10:07 +02:00
47e12c3677 fix display 2015-08-07 20:07:39 +02:00
3f3fbef11f Add tags list display 2015-08-07 18:17:23 +02:00
48ffc5a4b6 get itemsPerPage for unread/fav/archive views 2015-08-07 18:04:46 +02:00
6ecdd48a3f Merge pull request #1286 from wallabag/v2-issue-1283
fix #1283: display the good title for each category
2015-08-06 04:38:04 +03:00
b17874a7d5 Many corrections material theme 2015-08-06 04:22:45 +03:00
308db01684 change order of condition 2015-08-05 21:16:48 +02:00
b1a65df9df fix #1283: display the good title for each category 2015-08-05 21:10:20 +02:00
8d9b8912af Merge pull request #1279 from wallabag/material-default
set material to default theme \o/
2015-08-04 23:13:15 +02:00
4ab58dcf6c set material to default theme \o/ 2015-08-04 22:51:21 +02:00
9e07dc982c Merge pull request #1276 from modos189/v2
Added Material theme
2015-08-04 22:42:33 +02:00
9948d899d3 Fixes and improve css @media 2015-08-04 19:39:26 +03:00
53e121881b Added Material theme 2015-08-04 17:18:15 +03:00
7e63b892f9 Merge pull request #1250 from frankoa/v2_pagination_and_api
Adds pagerfanta paginator everywhere, modifies article routing.
2015-07-29 09:02:30 +02:00
9fb6ac830f Adds pagerfanta paginator everywhere, modifies article routing. Change API for is_starred and is_archived 2015-07-28 23:23:49 +02:00
9b9b05008a Merge branch 'v2-edit-title' into v2 2015-06-08 16:35:41 +02:00
ac9d58211e Merge branch 'v2' into v2-edit-title 2015-06-08 16:35:02 +02:00
3cf22a0541 Merge pull request #1206 from wallabag/sf-2.7
Upgrade to Symfony 2.7
2015-06-03 21:24:11 +02:00
82d6d9cb06 Add basic title edition
Fix #218
I mean basic, because there is no javascript at all. It could be a nice edit-in-place. But for the moment, it is simple.
2015-06-02 18:56:07 +02:00
75e9d1df03 Update to Symfony 2.7
And fix some deps instead of using dev tags
2015-06-02 16:58:19 +02:00
170746f99d Remove phinx
Doctrine handle quite correctly database migration. Thanks to `doctrine:schema:update`
2015-06-02 16:54:52 +02:00
51d9699fa1 Update deps 2015-06-01 17:39:05 +02:00
2878416f8b Merge pull request #1167 from wallabag/v2-api-bundle
Move API stuff in ApiBundle
2015-06-01 15:49:49 +02:00
4346a86068 CS 2015-05-30 13:59:33 +02:00
399bd777d7 Update deps 2015-05-30 13:42:38 +02:00
2f3c816579 Update naming strategy since Doctrine 2.5
See 20fb8270dc
2015-05-30 13:40:39 +02:00
9a014e48d6 Disable coverage
It takes ages to process and most of the time the build fail for "execution time" too long.
Too much time already burned to investigate it.
We'll investigate later, it's not a priority atm.
2015-05-30 13:31:54 +02:00
98510a4189 Merge pull request #1180 from wallabag/v2patch
Add some required
2015-04-15 17:29:28 +02:00
c7d3bf1671 name not required 2015-04-15 17:19:37 +02:00
4d6e818e40 changed email fields with the email type and added required parameter on some stuff 2015-04-15 16:50:20 +02:00
1cbef2d3b5 Enable debug on phpunit 2015-04-04 21:55:06 +02:00
04aaa199b7 Add Travis & Scrutinizer badges 2015-04-02 11:45:53 +02:00
132f614dee Avoid / in feed token
Of course, it breaks the url and the route matcher for each feed route
2015-04-01 21:59:13 +02:00
9744e97131 Fix tests 2015-04-01 21:59:13 +02:00
769e19dc4a Move API stuff in ApiBundle 2015-04-01 21:59:12 +02:00
e3c34bfc06 Merge pull request #1164 from wallabag/v2-remove-username-in-config
Remove ability to change username
2015-04-01 21:58:08 +02:00
d6fa2f70ac Merge pull request #1165 from wallabag/v2-prefix-db
Prefix table
2015-04-01 21:53:48 +02:00
276a1e9d3f And phpunit with html coverage to ant
Launching `ant phpunit` will now generate HTML Coverage
2015-04-01 21:32:02 +02:00
164bd80118 Ability to prefix tables
Will fix #799
2015-04-01 21:32:02 +02:00
c844dc0c50 Remove ability to change username
Since password are linked to username it was hard to change username while checking that the password is the good one.

Instead of doing crazy things to achieve that, I act that user won't be able to update username.

Also, username (and email) must be unique, since people logged in using username and can request a new password using email.

This should fix #1149
2015-04-01 21:23:27 +02:00
1a93ee423b Merge pull request #1166 from wallabag/v2-rss
Add RSS feeds
2015-04-01 21:08:56 +02:00
7d74a2f32b Force raw on content
We don't want Symfony to escape html content
2015-04-01 16:11:19 +02:00
14d7a69b8c Avoid timeout on code coverage from Scrutinizer 2015-03-31 22:48:01 +02:00
34c06cabef Use lemonde instead of mailjet
Mailjet seems to be laggy, hope that LeMonde will be more reliable in the future.

@see https://travis-ci.org/wallabag/wallabag/jobs/56246231
2015-03-31 22:48:01 +02:00
0ee043f745 Update InstallCommand test
They are god damn too long to execute because it launch external command (mostly related to doctrine).

So I've added a PHPUnit @group (`command-doctrine`) so that we can avoid launching them on a regular basis, like that:

`phpunit --exclude-group command-doctrine`
2015-03-31 22:48:01 +02:00
371ac69a6b Add tests
and fix few mistakes
2015-03-31 22:48:00 +02:00
2385f891e5 Sort by id is faster
Since it's the primary key
2015-03-31 22:47:43 +02:00
0c83fd5994 Add rss for entries
will fix #1000
2015-03-31 22:47:43 +02:00
f98a2a0fc3 Merge pull request #1152 from wallabag/v2-forgot-password
Handle forgot password
2015-03-30 17:05:37 +02:00
bdf2add2e8 Merge pull request #1163 from wallabag/v2-speed-up-tests
Speed up tests
2015-03-28 10:46:33 +01:00
3e6b7ea0e9 Rewrite travis & add scrutinizer 2015-03-28 00:25:47 +01:00
6141388969 Enable hhvm & nightly for curiosity 2015-03-27 19:59:45 +01:00
2d733277e6 Switch to Docker-based infrastructure 2015-03-27 19:59:42 +01:00
a05be8abec Use doctrine cache for tests 2015-03-27 19:49:11 +01:00
d0c2243b10 Add some tests 2015-03-08 22:47:32 +01:00
6894d48e03 Handle forgot password 2015-03-08 07:35:24 +01:00
f37d1427a1 Merge pull request #1110 from wallabag/v2-api-hypermedia
[WIP] API : hypermedia & tags
2015-03-06 21:48:33 +01:00
6e22bd737b Use pager in getEntries() and return Hateoas collection 2015-03-06 21:11:02 +01:00
bcf53ab75b Return pager into EntryRepository (for entries only) 2015-03-06 21:11:01 +01:00
a24f2c8808 Add Pagerfanta 2015-03-06 21:11:01 +01:00
48b67328e2 add getUser on Tag entity 2015-03-06 21:09:15 +01:00
efad7e53a1 add more log on AccessDeniedException 2015-03-06 21:09:15 +01:00
2ab8cb6816 fix tests 2015-03-06 21:09:15 +01:00
db2b4bf678 remove JsonResponse 2015-03-06 21:09:15 +01:00
b0cce9e636 fix tests for GET /entries/tags 2015-03-06 21:09:15 +01:00
1df1204d94 remove useless code 2015-03-06 21:09:15 +01:00
6ee416a069 commit bug with getSalt 2015-03-06 21:09:15 +01:00
0ca374e6a1 replace Response with JsonResponse 2015-03-06 21:09:15 +01:00
d8f9f37ab2 remove debug lines 2015-03-06 21:09:15 +01:00
092ca70725 add relation between user and tags, tests are broken 2015-03-06 21:09:15 +01:00
a36737f485 POST entries/tags with test 2015-03-06 20:50:31 +01:00
46bbd8d321 relation between tags and entries 2015-03-06 20:50:31 +01:00
6c87418ff0 fixtures for tag 2015-03-06 20:50:30 +01:00
1bd12b6229 fix GET /api/entries/{entry}/tags 2015-03-06 20:50:30 +01:00
0a018fe039 add relation between entry and tag 2015-03-06 20:50:30 +01:00
6d37a7e6c1 remove dumb code 2015-03-06 20:50:30 +01:00
b3dc0749d3 remove GET /tags/id 2015-03-06 20:50:30 +01:00
2691cf0438 GET /api/tags/id_tag method 2015-03-06 20:50:30 +01:00
1d14779154 remove isDeleted flag 2015-03-06 20:50:30 +01:00
aa4d6562c1 improve hateoas implementation 2015-03-06 20:50:30 +01:00
0ed6302212 returns serialzed object for GET /entries 2015-03-06 20:50:30 +01:00
0f00688096 first draft of hypermedia implementation 2015-03-06 20:50:29 +01:00
73b7744383 Merge pull request #1144 from wallabag/v2-build
Simplify build system
2015-03-04 06:25:17 +01:00
8378485e33 Simplify build system 2015-03-03 19:20:08 +01:00
ba7b9d48d4 Merge pull request #1132 from wallabag/v2-theme
V2 theme
2015-03-02 21:23:19 +01:00
3e30422cda Only one pattern for LiipTheme
Others patterns aren't required (but I think it's still important to have them around)
2015-03-01 20:25:43 +01:00
495aecfe74 Cleanup & simplify theme 2015-03-01 10:49:17 +01:00
71798e4ec4 Remove old themes 2015-03-01 10:49:16 +01:00
32da2a70ef Add LiipThemeBundle
Re-defined the config / user relation to be OneToOne bidirectionnal.
ConfigType is now a service so I can inject the list of available themes that are also used by LiipThemeBundle

Force sqlite for test
In case of people use a different driver in parameter.yml (yes I do :))
2015-03-01 10:49:16 +01:00
fca3c75723 config for CORS 2015-02-28 13:14:43 +01:00
dcae2fc25d enable CORS 2015-02-27 21:26:43 +01:00
0e7971d835 Merge pull request #1095 from wallabag/v2-config
V2 config
2015-02-23 20:56:09 +01:00
c641baad0e More tests on the install command 2015-02-22 23:29:48 +01:00
732c2ad897 sqlite doesn't support getListDatabasesSQL 2015-02-22 17:18:54 +01:00
0bf99bb144 Improve install command & add test
Also add fixtures for Config

InstallCommand now check if database, schema are here and ask the user what to do (keep or trash & re-create)
2015-02-22 14:35:36 +01:00
0bd2cb1ecd Handle default value for new user 2015-02-22 10:50:27 +01:00
e4977b8a86 Adding new user 2015-02-22 09:30:25 +01:00
c0d9eba07f Updating logged in user (email, name, etc ..) 2015-02-17 22:45:20 +01:00
d9085c63e3 Handle password change 2015-02-17 21:03:23 +01:00
7781faa0b0 Use a form type for entry 2015-02-16 21:31:58 +01:00
78cedc2262 Cleanup 2015-02-16 21:31:58 +01:00
4d85d7e9ba Implement simple config 2015-02-16 21:31:58 +01:00
7a577c519f Fix indentation in templates 2015-02-16 21:31:58 +01:00
55f58c9c5e Update UserConfig schema 2015-02-16 21:31:58 +01:00
2f6a596760 Merge pull request #1070 from wallabag/v2-api-tests
1st draft for testing API
2015-02-12 08:50:06 +01:00
8c7e0f95b9 remove debug lines 2015-02-12 08:46:40 +01:00
d9b7175593 test if GET /api/entries returns 1 or more results 2015-02-11 18:22:59 +01:00
59f18f9a85 create single test for bad headers 2015-02-11 16:08:13 +01:00
9ca5fd43f9 test with bad headers 2015-02-11 15:35:40 +01:00
f170f31594 add test for empty salt 2015-02-11 15:15:06 +01:00
874e3e10a4 phpdoc 2015-02-11 11:52:10 +01:00
f8c2736a10 remove docs 2015-02-11 09:39:42 +01:00
70b54da2b1 test line, forgot to remove it 2015-02-11 07:52:58 +01:00
c9fa9677c1 DELETE entry and use of query for fetch entries 2015-02-11 07:43:43 +01:00
fa8d563934 Merge pull request #1072 from wallabag/v2-entry-test
Add more tests to Entry controller + security
2015-02-11 06:45:14 +01:00
19aee7cd54 refactor and test one entry 2015-02-11 06:41:44 +01:00
2725de8efb cs 2015-02-11 06:31:16 +01:00
91f78f26f2 first test for API, need refactor 2015-02-11 06:28:23 +01:00
2734044aca add test for api/salts 2015-02-11 06:28:23 +01:00
0536b809b0 Test for GET on empty database 2015-02-11 06:27:50 +01:00
e1dd7f70c5 first test for API, need refactor 2015-02-11 06:27:05 +01:00
f5deb024a2 add test for api/salts 2015-02-11 06:27:04 +01:00
68c6f1bd7f Test for GET on empty database 2015-02-11 06:27:04 +01:00
da93261a7d Quick fix in build.xml
We don't need to purge the database since it was just re-created
2015-02-10 22:56:48 +01:00
3d2b2d62be Avoid user to see other entries
hehe :)
2015-02-10 22:56:44 +01:00
eb3bd7efb7 Add more tests on Entry controller
Also add more fixtures
2015-02-10 22:32:42 +01:00
f59f45d740 Merge pull request #1069 from wallabag/v2-fix-return-entries
GET /api/entries returns object, no more array
2015-02-10 14:51:32 +01:00
017e20895f findEntries returns array 2015-02-10 13:53:00 +01:00
2c0ffcf397 Merge pull request #1068 from wallabag/v2-api-authentication
V2 api authentication
2015-02-10 13:49:57 +01:00
3d3368cfd5 change test if we have no entry in GET /api/entries 2015-02-10 13:47:57 +01:00
92504e0dd4 move dir check into constructor 2015-02-10 13:35:34 +01:00
11204db45a change phpdoc 2015-02-10 12:14:09 +01:00
d4c029f46e review from @j0k3r 2015-02-10 12:12:44 +01:00
c5e8ba25bb getSalt method 2015-02-10 08:35:43 +01:00
eaf95758dc GET /api/entries returns object, no more array 2015-02-10 06:44:38 +01:00
7ffb1e80bf replace services.xml into services.yml 2015-02-09 22:54:29 +01:00
5078e8360a PSR 3 2015-02-09 22:43:06 +01:00
d29bfaf139 fix return on API call and fix id in clear for user 2015-02-09 22:40:20 +01:00
2a94b1d1b7 log for authentication on API 2015-02-09 22:07:39 +01:00
cbce162b40 Merge pull request #1063 from wallabag/v2-rename-tags-entity
Rename Tags entity
2015-02-09 15:52:10 +01:00
fb8389f463 change settings for TagsEntries model 2015-02-09 15:41:07 +01:00
970c40bb93 restore TagsEntries 2015-02-09 15:07:48 +01:00
0ac38198ab authentication on API 2015-02-09 13:59:48 +01:00
653e8be4c1 rename Tags entity
why did I delete this file?

rename Tags entity

rename Tags entity
2015-02-09 12:58:44 +01:00
89c03230c3 Merge pull request #1062 from wallabag/v2-relation-entry-user
add a real relation between user and entry
2015-02-09 12:52:06 +01:00
3b815d2de5 Add some fixtures
Improve test, so user can login
Fix some leftJoin
Cleanup EntryController
2015-02-08 23:13:40 +01:00
d91691573f Add custom auth encoder & provider
These custom classes allow Wallabag v2 to be compatible with Wallabag v1 salted password
2015-02-08 23:13:40 +01:00
7812f508bc create an Entry with a User in parameter 2015-02-08 23:13:40 +01:00
5f09650eef add a real relation between user and entry 2015-02-08 23:13:40 +01:00
8af35ad932 Merge pull request #1066 from wallabag/v2-api-tests-entry
V2 api tests entry
2015-02-07 20:39:03 +01:00
9c0c882006 Add some tests on EntryController
Also, create database schema on test initialisation
2015-02-07 18:30:46 +01:00
94f2364cd8 Fix #1057
Unexisting function
2015-02-07 18:29:05 +01:00
8125b415d8 Avoid raw javascript in template
It kills the Symfony Crawler :)
2015-02-07 18:28:31 +01:00
d01db0c71d Update deps 2015-02-06 22:52:51 +01:00
ed4d5cf2d7 Merge pull request #1065 from FabienM/v2-bundles-cleanup
Cleanup default assets symlinks
2015-02-06 22:43:19 +01:00
427b61a35b Cleanup default assets symlinks 2015-02-06 22:36:02 +01:00
7f2d9f9613 Do not display download progress in Travis 2015-02-06 15:38:10 +01:00
c64a14787d Merge pull request #1061 from wallabag/v2-cleanup-entities
Remove temporary entities
2015-02-06 14:56:47 +01:00
02b225a82e Remove temporary entities 2015-02-06 14:26:37 +01:00
15d33c24dc Merge pull request #1060 from wallabag/api-rename-user
rename User entity
2015-02-06 14:23:55 +01:00
2f69eb4afa rename User entity 2015-02-06 14:18:01 +01:00
29c4517f7a Merge pull request #1059 from wallabag/rename-entry
Rename entry
2015-02-06 09:55:16 +01:00
be463487cc rename Entries to Entry 2015-02-06 07:45:32 +01:00
905ae369bd normalize entries fields 2015-02-05 22:33:36 +01:00
c8dee95396 Merge pull request #1055 from wallabag/v2-api-patch-methid
PATCH method, boolean for some parameters and change entity methods name
2015-02-05 21:51:05 +01:00
c0284f6182 remove persist() for PATCH and DELETE 2015-02-05 21:36:39 +01:00
93e28e4d2e remove unused files 2015-02-05 21:33:22 +01:00
5644c2d88e Merge pull request #1054 from wallabag/v2-api-set-title-post
we can now set a title to the article when we use POST /api/entries
2015-02-05 19:07:30 +01:00
de00c9208d Merge pull request #1048 from wallabag/v2-sort-entries
sort entries in repository
2015-02-05 19:06:48 +01:00
2c093b03de PATCH method, boolean for some parameters and change entity methods name 2015-02-05 18:21:31 +01:00
9e0fff7cb0 simplify code 2015-02-05 18:19:34 +01:00
77bb7b92a2 we can now set a title to the article when we use POST /api/entries 2015-02-05 18:05:27 +01:00
3bb7c5ffec Update branch name in README 2015-02-05 09:19:17 +01:00
c2e2906c8d fix travis configuration 2015-02-05 09:06:13 +01:00
bc782eaa72 sort entries in repository 2015-02-05 07:54:04 +01:00
34d15eb4d0 change database structure for Entries 2015-02-04 22:25:44 +01:00
1b0e6e9ae6 forgot one parameter 2015-02-04 21:34:03 +01:00
61b9fdd5e4 restore full database settings 2015-02-04 21:26:15 +01:00
eacaf7f864 change type for isRead, isFav and isDeleted fields, as said @j0k3r 2015-02-04 18:21:45 +01:00
6079aaa33d change delete status for GET /api/entries method 2015-02-04 18:12:13 +01:00
6e334aba68 for GET /api/entries, star, delete and archive status are no more necessary 2015-02-04 18:06:42 +01:00
42a9064620 implement delete method 2015-02-04 17:54:23 +01:00
889249804f disable authentication for the moment 2015-02-02 12:54:14 +01:00
c5772d118f Installation should be launch manually
Also upadte readme for v2 and define a test database (for the future)
2015-02-02 07:48:16 +01:00
2e45e7bebc New wallabag installer
Instead of the legacy bin/install here is a symfony command that can initialize wallabag.

There are still work to do on the requirements part (to be sure that wallabag can run like a charm).

I've also added (but commented) the fixtures load part (which will need an extra doctrine package). We'll see that point later.
2015-02-01 20:16:27 +01:00
8394ab4619 Merge pull request #1036 from j0k3r/refactor-update-composer
Update composer
2015-01-31 21:49:44 +01:00
4cfbd5d893 Merge pull request #1037 from j0k3r/refactor-cs
CS
2015-01-31 21:24:20 +01:00
7df80cb32c CS 2015-01-31 19:12:49 +01:00
daacffefa6 Use tagged version in composer 2015-01-31 19:02:59 +01:00
1990517b22 remove Acme and AppBundle 2015-01-31 15:36:04 +01:00
c3235553dd first implementation of security 2015-01-31 15:14:10 +01:00
71691fe44a Merge pull request #1035 from j0k3r/refactor
Tests are working again
2015-01-31 10:29:30 +01:00
aa6e27cf4f Tests are working again 2015-01-31 09:35:50 +01:00
4ffc77d9f5 Move phpunit into app folder 2015-01-30 15:47:27 +01:00
fdcbdda1ad grrr, remove call to bootstrap 2015-01-30 11:29:50 +01:00
367664ee87 finally fix phpunit and travis? 2015-01-30 11:23:18 +01:00
e11e03cb32 fix phpunit 2015-01-30 10:58:59 +01:00
3ba208b205 fix phpunit configuration 2015-01-30 10:49:47 +01:00
127915f4ea remove bootstrap in phpunit 2015-01-30 09:11:59 +01:00
03493be075 tell to travis that I code in PHP 2015-01-30 09:09:53 +01:00
843dbe5195 create entry via API 2015-01-30 09:05:54 +01:00
a8c90c5c1b add documentation for API 2015-01-30 07:50:52 +01:00
a65f5d5563 fix config for rest bundle 2015-01-29 21:49:44 +01:00
27f15aa4ca improve API 2015-01-29 20:32:11 +01:00
f8bf895254 routing for API, trying to respect #414 2015-01-29 16:56:58 +01:00
589dce52c6 disable dev environment 2015-01-28 21:28:12 +01:00
38ba7ed972 skeleton for DELETE and PATCH methods 2015-01-28 18:18:57 +01:00
3e5a342f65 bundle for API 2015-01-28 18:14:04 +01:00
e4788de51e 1st implementation of wallabag api, yeah 2015-01-28 17:09:27 +01:00
569f8d6851 add dependencies for API 2015-01-28 16:15:06 +01:00
19f2f11ee8 fix themes symlinks 2015-01-28 13:58:12 +01:00
9e11bfa4a6 wrong path for database file 2015-01-28 13:54:24 +01:00
7dfc3c2b58 fix config.yml 2015-01-28 13:46:51 +01:00
80709502c7 fix parameters config 2015-01-28 13:43:23 +01:00
2cdb0b8f40 change gitignore, last time, I promised 2015-01-28 13:28:12 +01:00
b2d9357c78 change gitignore 2015-01-28 13:27:00 +01:00
c4b1e79018 change gitignore 2015-01-28 13:26:36 +01:00
dc61832a9e change gitignore 2015-01-28 13:23:07 +01:00
33767049a5 change gitignore 2015-01-28 13:10:59 +01:00
0c678cf24a rename test file 2015-01-27 13:17:37 +01:00
b9ec99e25b replace legacy calls with new one 2015-01-27 13:08:02 +01:00
d692b3b08d remove legacy code 2015-01-27 13:07:27 +01:00
6b767d1cc0 refactoring for fetching content 2015-01-26 22:15:19 +01:00
ad4d1caa9e move WallabagBundle into Wallabag:CoreBundle 2015-01-23 16:28:37 +01:00
b84a80559a some parameters, new entry form, etc. 2015-01-23 14:58:17 +01:00
163eae0bb1 toggle archive / fav actions 2015-01-23 12:45:24 +01:00
bd9f08157c article view, fav list, archive list 2015-01-22 21:11:22 +01:00
9d50517cea migrating legacy to symfony 2015-01-22 17:18:56 +01:00
2b9fe72b39 remove foo test 2015-01-22 10:14:37 +01:00
93fd4692f6 symfony is there 2015-01-22 08:30:07 +01:00
0440249631 move templates into resources 2015-01-21 16:04:05 +01:00
3eb951572d add some documentation at the end of installation 2015-01-21 15:50:51 +01:00
9de6a0a7cc gitignore for app/cache 2015-01-21 15:02:29 +01:00
19875ef0da add install script after composer install 2015-01-21 14:45:39 +01:00
00fcfd299b whoops, deleted install folder 2015-01-20 14:43:57 +01:00
79e051a1f2 restructure folders 2015-01-20 14:11:26 +01:00
97a2dd74c8 phinx needs a sqlite3 file 2015-01-20 07:51:07 +01:00
8d6ff10e8e test for migration 2015-01-20 07:50:50 +01:00
9a5c1bc62a move install files into bin folder 2015-01-20 07:42:20 +01:00
6ad93dff69 new folders 2015-01-20 07:40:39 +01:00
c78c1a3f08 @fivefilters via composer 2015-01-19 21:27:22 +01:00
9e7f6caf03 htmlawed via composer 2015-01-19 16:53:59 +01:00
820d81aa61 simplepie via composer 2015-01-19 14:48:03 +01:00
3329f1bf3d tcpdf via composer 2015-01-19 14:36:17 +01:00
90c67dbd12 update composer.lock 2015-01-19 13:50:31 +01:00
96b2c59c04 update composer 2015-01-19 13:38:57 +01:00
3d99ce9dad travis configuration 2015-01-19 13:37:32 +01:00
99410a21eb phpepub via composer 2015-01-19 13:00:33 +01:00
1345a10788 phinx for database migration 2015-01-19 12:21:49 +01:00
f3052b4542 foo test 2015-01-19 11:59:22 +01:00
e342acf7ba add phpunit 2015-01-19 11:47:44 +01:00
2b17e0aa77 bin folder 2015-01-19 11:29:43 +01:00
dda7884ace pagination with composer and move FlattrItem 2015-01-19 11:29:25 +01:00
10939766de replace session class 2015-01-18 22:25:29 +01:00
a20f96b76d replace flash messages library 2015-01-18 22:11:41 +01:00
adf17b677e remove 3rd libraries 2015-01-18 20:07:46 +01:00
2192 changed files with 41072 additions and 179541 deletions

10
.editorconfig Normal file
View File

@ -0,0 +1,10 @@
; top-most EditorConfig file
root = true
; Unix-style newlines
[*]
end_of_line = LF
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true

47
.gitignore vendored
View File

@ -1,9 +1,38 @@
.DS_Store
assets/*
cache/*
vendor
composer.phar
db/poche.sqlite
inc/poche/config.inc.php
inc/3rdparty/htmlpurifier/HTMLPurifier/DefinitionCache/Serializer/
.vagrant
# Cache and logs (Symfony2)
/app/cache/*
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
# Cache and logs (Symfony3)
/var/cache/*
/var/logs/*
!var/cache/.gitkeep
!var/logs/.gitkeep
# 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
/web/bundles/
/web/uploads/
# Build
/app/build
/build
# Composer PHAR
/composer.phar
# Data for wallabag
data/assets/*
data/db/wallabag*.sqlite

27
.scrutinizer.yml Normal file
View File

@ -0,0 +1,27 @@
filter:
paths:
- src/*
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'web/*'
- 'src/Wallabag/*Bundle/Tests/*'
- '*Test.php'
tools:
php_cs_fixer: true
php_analyzer: true
php_mess_detector: true
php_changetracking: true
php_code_sniffer: true
php_pdepend: true
sensiolabs_security_checker: true
#external_code_coverage:
# timeout: 3600
php_code_coverage: true
php_sim: false
php_cpd: false
checks:
php:
code_rating: true

59
.travis.yml Normal file
View File

@ -0,0 +1,59 @@
language: php
# faster builds on docker-container setup
sudo: false
# used for HHVM
addons:
apt:
packages:
- tidy
# cache vendor dirs
cache:
directories:
- vendor
- $HOME/.composer/cache
php:
- 5.5
- 5.6
- 7.0
- hhvm
env:
- DB=mysql
- DB=pgsql
- DB=sqlite
matrix:
fast_finish: true
exclude:
- php: hhvm
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
allow_failures:
- php: hhvm
branches:
only:
- v2
before_script:
- composer self-update
- 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:
- 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

View File

@ -6,8 +6,8 @@ Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
To fix the bug quickly, we need some infos:
* your wallabag version (on top of the ./index.php file, and also on config page)
* your webserver installation :
* type of hosting (shared or dedicaced)
* in case of a dedicaced server, the server and OS used
* type of hosting (shared or dedicated)
* in case of a dedicated server, the server and OS used
* the php version used, eventually `phpinfo()`
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL)
* any problem on the `wallabag_compatibility_test.php` page
@ -27,4 +27,4 @@ Note : If you have large portions of text, use [Github's Gist service](https://g
## You want to fix a bug or to add a feature
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).
[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2014 Nicolas Lœuillet
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
@ -16,4 +16,4 @@ 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.
THE SOFTWARE.

View File

@ -1,17 +1,6 @@
wallabag is based on :
* PHP Readability https://bitbucket.org/fivefilters/php-readability
* Full Text RSS http://code.fivefilters.org/full-text-rss/src
* logo by Maylis Agniel https://github.com/wallabag/logo
* icons http://icomoon.io
* PHP Simple HTML DOM Parser (for Pocket import) http://simplehtmldom.sourceforge.net/
* Session https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php
* Twig http://twig.sensiolabs.org
* Flash messages https://github.com/plasticbrain/PHP-Flash-Messages
* Pagination https://github.com/daveismyname/pagination
* PHPePub https://github.com/Grandt/PHPePub/
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb) under the MIT License.
wallabag is mainly developed by Nicolas Lœuillet under the MIT License
Thank you so much to [@tcitworld](https://github.com/tcitworld) and [@j0k3r](https://github.com/j0k3r).
Thank you so much to @tcitworld and @mariroz.
Contributors : https://github.com/wallabag/wallabag/graphs/contributors
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors
).

29
Capfile Normal file
View File

@ -0,0 +1,29 @@
# Load DSL and set up stages
require 'capistrano/setup'
# Include default deployment tasks
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 }

5
Gemfile Normal file
View File

@ -0,0 +1,5 @@
source "https://rubygems.org"
gem 'capistrano', '~> 3.1'
gem 'capistrano-symfony', '~> 0.1', :github => 'capistrano/symfony'
gem 'capistrano-composer', '~> 0.0.3'

41
Gemfile.lock Normal file
View File

@ -0,0 +1,41 @@
GIT
remote: git://github.com/capistrano/symfony.git
revision: ca56a01b817097d2831400ef9b1867fc8e07dcf8
specs:
capistrano-symfony (0.4.0)
capistrano (~> 3.1)
capistrano-composer (~> 0.0.3)
capistrano-file-permissions (~> 0.1.0)
GEM
remote: https://rubygems.org/
specs:
capistrano (3.4.0)
i18n
rake (>= 10.0.0)
sshkit (~> 1.3)
capistrano-composer (0.0.6)
capistrano (>= 3.0.0.pre)
capistrano-file-permissions (0.1.1)
capistrano (~> 3.1)
colorize (0.7.7)
i18n (0.7.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-ssh (2.9.2)
rake (10.4.2)
sshkit (1.7.1)
colorize (>= 0.7.0)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
PLATFORMS
ruby
DEPENDENCIES
capistrano (~> 3.1)
capistrano-composer (~> 0.0.3)
capistrano-symfony (~> 0.1)!
BUNDLED WITH
1.10.6

View File

@ -1,9 +1,26 @@
# 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.
[![Build Status](https://travis-ci.org/wallabag/wallabag.svg?branch=v2)](https://travis-ci.org/wallabag/wallabag)
[![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 ?
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.
More informations on our website: [wallabag.org](http://wallabag.org)
# Want to test the v2 ?
Keep in mind it's an **instable** branch, everything can be broken :)
```
git clone https://github.com/wallabag/wallabag.git -b v2
cd wallabag
composer install
php app/console wallabag:install
php app/console server:run
```
## License
Copyright © 2013-2014 Nicolas Lœuillet <nicolas@loeuillet.org>
Copyright © 2013-2015 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.

0
TRANSLATION.md Executable file → Normal file
View File

7
app/.htaccess Normal file
View File

@ -0,0 +1,7 @@
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>

9
app/AppCache.php Normal file
View File

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

52
app/AppKernel.php Normal file
View File

@ -0,0 +1,52 @@
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new FOS\RestBundle\FOSRestBundle(),
new FOS\UserBundle\FOSUserBundle(),
new JMS\SerializerBundle\JMSSerializerBundle(),
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
new Nelmio\CorsBundle\NelmioCorsBundle(),
new Liip\ThemeBundle\LiipThemeBundle(),
new Wallabag\CoreBundle\WallabagCoreBundle(),
new Wallabag\ApiBundle\WallabagApiBundle(),
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
new Wallabag\UserBundle\WallabagUserBundle(),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
new Wallabag\ImportBundle\WallabagImportBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}

0
assets/.gitignore → app/Resources/views/.gitkeep Executable file → Normal file
View File

764
app/SymfonyRequirements.php Normal file
View File

@ -0,0 +1,764 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/*
* Users of PHP 5.2 should be able to run the requirements checks.
* This is why the file and all classes must be compatible with PHP 5.2+
* (e.g. not using namespaces and closures).
*
* ************** CAUTION **************
*
* DO NOT EDIT THIS FILE as it will be overridden by Composer as part of
* the installation/update process. The original file resides in the
* SensioDistributionBundle.
*
* ************** CAUTION **************
*/
/**
* Represents a single PHP requirement, e.g. an installed extension.
* It can be a mandatory requirement or an optional recommendation.
* There is a special subclass, named PhpIniRequirement, to check a php.ini configuration.
*
* @author Tobias Schultze <http://tobion.de>
*/
class Requirement
{
private $fulfilled;
private $testMessage;
private $helpText;
private $helpHtml;
private $optional;
/**
* Constructor that initializes the requirement.
*
* @param bool $fulfilled Whether the requirement is fulfilled
* @param string $testMessage The message for testing the requirement
* @param string $helpHtml The help text formatted in HTML for resolving the problem
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
* @param bool $optional Whether this is only an optional recommendation not a mandatory requirement
*/
public function __construct($fulfilled, $testMessage, $helpHtml, $helpText = null, $optional = false)
{
$this->fulfilled = (bool) $fulfilled;
$this->testMessage = (string) $testMessage;
$this->helpHtml = (string) $helpHtml;
$this->helpText = null === $helpText ? strip_tags($this->helpHtml) : (string) $helpText;
$this->optional = (bool) $optional;
}
/**
* Returns whether the requirement is fulfilled.
*
* @return bool true if fulfilled, otherwise false
*/
public function isFulfilled()
{
return $this->fulfilled;
}
/**
* Returns the message for testing the requirement.
*
* @return string The test message
*/
public function getTestMessage()
{
return $this->testMessage;
}
/**
* Returns the help text for resolving the problem.
*
* @return string The help text
*/
public function getHelpText()
{
return $this->helpText;
}
/**
* Returns the help text formatted in HTML.
*
* @return string The HTML help
*/
public function getHelpHtml()
{
return $this->helpHtml;
}
/**
* Returns whether this is only an optional recommendation and not a mandatory requirement.
*
* @return bool true if optional, false if mandatory
*/
public function isOptional()
{
return $this->optional;
}
}
/**
* Represents a PHP requirement in form of a php.ini configuration.
*
* @author Tobias Schultze <http://tobion.de>
*/
class PhpIniRequirement extends Requirement
{
/**
* Constructor that initializes the requirement.
*
* @param string $cfgName The configuration name used for ini_get()
* @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
* Example: You require a config to be true but PHP later removes this config and defaults it to true internally.
* @param string|null $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived)
* @param string|null $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived)
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
* @param bool $optional Whether this is only an optional recommendation not a mandatory requirement
*/
public function __construct($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null, $optional = false)
{
$cfgValue = ini_get($cfgName);
if (is_callable($evaluation)) {
if (null === $testMessage || null === $helpHtml) {
throw new InvalidArgumentException('You must provide the parameters testMessage and helpHtml for a callback evaluation.');
}
$fulfilled = call_user_func($evaluation, $cfgValue);
} else {
if (null === $testMessage) {
$testMessage = sprintf('%s %s be %s in php.ini',
$cfgName,
$optional ? 'should' : 'must',
$evaluation ? 'enabled' : 'disabled'
);
}
if (null === $helpHtml) {
$helpHtml = sprintf('Set <strong>%s</strong> to <strong>%s</strong> in php.ini<a href="#phpini">*</a>.',
$cfgName,
$evaluation ? 'on' : 'off'
);
}
$fulfilled = $evaluation == $cfgValue;
}
parent::__construct($fulfilled || ($approveCfgAbsence && false === $cfgValue), $testMessage, $helpHtml, $helpText, $optional);
}
}
/**
* A RequirementCollection represents a set of Requirement instances.
*
* @author Tobias Schultze <http://tobion.de>
*/
class RequirementCollection implements IteratorAggregate
{
private $requirements = array();
/**
* Gets the current RequirementCollection as an Iterator.
*
* @return Traversable A Traversable interface
*/
public function getIterator()
{
return new ArrayIterator($this->requirements);
}
/**
* Adds a Requirement.
*
* @param Requirement $requirement A Requirement instance
*/
public function add(Requirement $requirement)
{
$this->requirements[] = $requirement;
}
/**
* Adds a mandatory requirement.
*
* @param bool $fulfilled Whether the requirement is fulfilled
* @param string $testMessage The message for testing the requirement
* @param string $helpHtml The help text formatted in HTML for resolving the problem
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
*/
public function addRequirement($fulfilled, $testMessage, $helpHtml, $helpText = null)
{
$this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, false));
}
/**
* Adds an optional recommendation.
*
* @param bool $fulfilled Whether the recommendation is fulfilled
* @param string $testMessage The message for testing the recommendation
* @param string $helpHtml The help text formatted in HTML for resolving the problem
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
*/
public function addRecommendation($fulfilled, $testMessage, $helpHtml, $helpText = null)
{
$this->add(new Requirement($fulfilled, $testMessage, $helpHtml, $helpText, true));
}
/**
* Adds a mandatory requirement in form of a php.ini configuration.
*
* @param string $cfgName The configuration name used for ini_get()
* @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
* Example: You require a config to be true but PHP later removes this config and defaults it to true internally.
* @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived)
* @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived)
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
*/
public function addPhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null)
{
$this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, false));
}
/**
* Adds an optional recommendation in form of a php.ini configuration.
*
* @param string $cfgName The configuration name used for ini_get()
* @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
* Example: You require a config to be true but PHP later removes this config and defaults it to true internally.
* @param string $testMessage The message for testing the requirement (when null and $evaluation is a boolean a default message is derived)
* @param string $helpHtml The help text formatted in HTML for resolving the problem (when null and $evaluation is a boolean a default help is derived)
* @param string|null $helpText The help text (when null, it will be inferred from $helpHtml, i.e. stripped from HTML tags)
*/
public function addPhpIniRecommendation($cfgName, $evaluation, $approveCfgAbsence = false, $testMessage = null, $helpHtml = null, $helpText = null)
{
$this->add(new PhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence, $testMessage, $helpHtml, $helpText, true));
}
/**
* Adds a requirement collection to the current set of requirements.
*
* @param RequirementCollection $collection A RequirementCollection instance
*/
public function addCollection(RequirementCollection $collection)
{
$this->requirements = array_merge($this->requirements, $collection->all());
}
/**
* Returns both requirements and recommendations.
*
* @return array Array of Requirement instances
*/
public function all()
{
return $this->requirements;
}
/**
* Returns all mandatory requirements.
*
* @return array Array of Requirement instances
*/
public function getRequirements()
{
$array = array();
foreach ($this->requirements as $req) {
if (!$req->isOptional()) {
$array[] = $req;
}
}
return $array;
}
/**
* Returns the mandatory requirements that were not met.
*
* @return array Array of Requirement instances
*/
public function getFailedRequirements()
{
$array = array();
foreach ($this->requirements as $req) {
if (!$req->isFulfilled() && !$req->isOptional()) {
$array[] = $req;
}
}
return $array;
}
/**
* Returns all optional recommendations.
*
* @return array Array of Requirement instances
*/
public function getRecommendations()
{
$array = array();
foreach ($this->requirements as $req) {
if ($req->isOptional()) {
$array[] = $req;
}
}
return $array;
}
/**
* Returns the recommendations that were not met.
*
* @return array Array of Requirement instances
*/
public function getFailedRecommendations()
{
$array = array();
foreach ($this->requirements as $req) {
if (!$req->isFulfilled() && $req->isOptional()) {
$array[] = $req;
}
}
return $array;
}
/**
* Returns whether a php.ini configuration is not correct.
*
* @return bool php.ini configuration problem?
*/
public function hasPhpIniConfigIssue()
{
foreach ($this->requirements as $req) {
if (!$req->isFulfilled() && $req instanceof PhpIniRequirement) {
return true;
}
}
return false;
}
/**
* Returns the PHP configuration file (php.ini) path.
*
* @return string|false php.ini file path
*/
public function getPhpIniConfigPath()
{
return get_cfg_var('cfg_file_path');
}
}
/**
* This class specifies all requirements and optional recommendations that
* are necessary to run the Symfony Standard Edition.
*
* @author Tobias Schultze <http://tobion.de>
* @author Fabien Potencier <fabien@symfony.com>
*/
class SymfonyRequirements extends RequirementCollection
{
const REQUIRED_PHP_VERSION = '5.3.3';
/**
* Constructor that initializes the requirements.
*/
public function __construct()
{
/* mandatory requirements follow */
$installedPhpVersion = phpversion();
$this->addRequirement(
version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>='),
sprintf('PHP version must be at least %s (%s installed)', self::REQUIRED_PHP_VERSION, $installedPhpVersion),
sprintf('You are running PHP version "<strong>%s</strong>", but Symfony needs at least PHP "<strong>%s</strong>" to run.
Before using Symfony, upgrade your PHP installation, preferably to the latest version.',
$installedPhpVersion, self::REQUIRED_PHP_VERSION),
sprintf('Install PHP %s or newer (installed version is %s)', self::REQUIRED_PHP_VERSION, $installedPhpVersion)
);
$this->addRequirement(
version_compare($installedPhpVersion, '5.3.16', '!='),
'PHP version must not be 5.3.16 as Symfony won\'t work properly with it',
'Install PHP 5.3.17 or newer (or downgrade to an earlier PHP version)'
);
$this->addRequirement(
is_dir(__DIR__.'/../vendor/composer'),
'Vendor libraries must be installed',
'Vendor libraries are missing. Install composer following instructions from <a href="http://getcomposer.org/">http://getcomposer.org/</a>. '.
'Then run "<strong>php composer.phar install</strong>" to install them.'
);
$cacheDir = is_dir(__DIR__.'/../var/cache') ? __DIR__.'/../var/cache' : __DIR__.'/cache';
$this->addRequirement(
is_writable($cacheDir),
'app/cache/ or var/cache/ directory must be writable',
'Change the permissions of either "<strong>app/cache/</strong>" or "<strong>var/cache/</strong>" directory so that the web server can write into it.'
);
$logsDir = is_dir(__DIR__.'/../var/logs') ? __DIR__.'/../var/logs' : __DIR__.'/logs';
$this->addRequirement(
is_writable($logsDir),
'app/logs/ or var/logs/ directory must be writable',
'Change the permissions of either "<strong>app/logs/</strong>" or "<strong>var/logs/</strong>" directory so that the web server can write into it.'
);
$this->addPhpIniRequirement(
'date.timezone', true, false,
'date.timezone setting must be set',
'Set the "<strong>date.timezone</strong>" setting in php.ini<a href="#phpini">*</a> (like Europe/Paris).'
);
if (version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>=')) {
$timezones = array();
foreach (DateTimeZone::listAbbreviations() as $abbreviations) {
foreach ($abbreviations as $abbreviation) {
$timezones[$abbreviation['timezone_id']] = true;
}
}
$this->addRequirement(
isset($timezones[@date_default_timezone_get()]),
sprintf('Configured default timezone "%s" must be supported by your installation of PHP', @date_default_timezone_get()),
'Your default timezone is not supported by PHP. Check for typos in your <strong>php.ini</strong> file and have a look at the list of deprecated timezones at <a href="http://php.net/manual/en/timezones.others.php">http://php.net/manual/en/timezones.others.php</a>.'
);
}
$this->addRequirement(
function_exists('iconv'),
'iconv() must be available',
'Install and enable the <strong>iconv</strong> extension.'
);
$this->addRequirement(
function_exists('json_encode'),
'json_encode() must be available',
'Install and enable the <strong>JSON</strong> extension.'
);
$this->addRequirement(
function_exists('session_start'),
'session_start() must be available',
'Install and enable the <strong>session</strong> extension.'
);
$this->addRequirement(
function_exists('ctype_alpha'),
'ctype_alpha() must be available',
'Install and enable the <strong>ctype</strong> extension.'
);
$this->addRequirement(
function_exists('token_get_all'),
'token_get_all() must be available',
'Install and enable the <strong>Tokenizer</strong> extension.'
);
$this->addRequirement(
function_exists('simplexml_import_dom'),
'simplexml_import_dom() must be available',
'Install and enable the <strong>SimpleXML</strong> extension.'
);
if (function_exists('apc_store') && ini_get('apc.enabled')) {
if (version_compare($installedPhpVersion, '5.4.0', '>=')) {
$this->addRequirement(
version_compare(phpversion('apc'), '3.1.13', '>='),
'APC version must be at least 3.1.13 when using PHP 5.4',
'Upgrade your <strong>APC</strong> extension (3.1.13+).'
);
} else {
$this->addRequirement(
version_compare(phpversion('apc'), '3.0.17', '>='),
'APC version must be at least 3.0.17',
'Upgrade your <strong>APC</strong> extension (3.0.17+).'
);
}
}
$this->addPhpIniRequirement('detect_unicode', false);
if (extension_loaded('suhosin')) {
$this->addPhpIniRequirement(
'suhosin.executor.include.whitelist',
create_function('$cfgValue', 'return false !== stripos($cfgValue, "phar");'),
false,
'suhosin.executor.include.whitelist must be configured correctly in php.ini',
'Add "<strong>phar</strong>" to <strong>suhosin.executor.include.whitelist</strong> in php.ini<a href="#phpini">*</a>.'
);
}
if (extension_loaded('xdebug')) {
$this->addPhpIniRequirement(
'xdebug.show_exception_trace', false, true
);
$this->addPhpIniRequirement(
'xdebug.scream', false, true
);
$this->addPhpIniRecommendation(
'xdebug.max_nesting_level',
create_function('$cfgValue', 'return $cfgValue > 100;'),
true,
'xdebug.max_nesting_level should be above 100 in php.ini',
'Set "<strong>xdebug.max_nesting_level</strong>" to e.g. "<strong>250</strong>" in php.ini<a href="#phpini">*</a> to stop Xdebug\'s infinite recursion protection erroneously throwing a fatal error in your project.'
);
}
$pcreVersion = defined('PCRE_VERSION') ? (float) PCRE_VERSION : null;
$this->addRequirement(
null !== $pcreVersion,
'PCRE extension must be available',
'Install the <strong>PCRE</strong> extension (version 8.0+).'
);
if (extension_loaded('mbstring')) {
$this->addPhpIniRequirement(
'mbstring.func_overload',
create_function('$cfgValue', 'return (int) $cfgValue === 0;'),
true,
'string functions should not be overloaded',
'Set "<strong>mbstring.func_overload</strong>" to <strong>0</strong> in php.ini<a href="#phpini">*</a> to disable function overloading by the mbstring extension.'
);
}
/* optional recommendations follow */
if (file_exists(__DIR__.'/../vendor/composer')) {
require_once __DIR__.'/../vendor/autoload.php';
try {
$r = new ReflectionClass('Sensio\Bundle\DistributionBundle\SensioDistributionBundle');
$contents = file_get_contents(dirname($r->getFileName()).'/Resources/skeleton/app/SymfonyRequirements.php');
} catch (ReflectionException $e) {
$contents = '';
}
$this->addRecommendation(
file_get_contents(__FILE__) === $contents,
'Requirements file should be up-to-date',
'Your requirements file is outdated. Run composer install and re-check your configuration.'
);
}
$this->addRecommendation(
version_compare($installedPhpVersion, '5.3.4', '>='),
'You should use at least PHP 5.3.4 due to PHP bug #52083 in earlier versions',
'Your project might malfunction randomly due to PHP bug #52083 ("Notice: Trying to get property of non-object"). Install PHP 5.3.4 or newer.'
);
$this->addRecommendation(
version_compare($installedPhpVersion, '5.3.8', '>='),
'When using annotations you should have at least PHP 5.3.8 due to PHP bug #55156',
'Install PHP 5.3.8 or newer if your project uses annotations.'
);
$this->addRecommendation(
version_compare($installedPhpVersion, '5.4.0', '!='),
'You should not use PHP 5.4.0 due to the PHP bug #61453',
'Your project might not work properly due to the PHP bug #61453 ("Cannot dump definitions which have method calls"). Install PHP 5.4.1 or newer.'
);
$this->addRecommendation(
version_compare($installedPhpVersion, '5.4.11', '>='),
'When using the logout handler from the Symfony Security Component, you should have at least PHP 5.4.11 due to PHP bug #63379 (as a workaround, you can also set invalidate_session to false in the security logout handler configuration)',
'Install PHP 5.4.11 or newer if your project uses the logout handler from the Symfony Security Component.'
);
$this->addRecommendation(
(version_compare($installedPhpVersion, '5.3.18', '>=') && version_compare($installedPhpVersion, '5.4.0', '<'))
||
version_compare($installedPhpVersion, '5.4.8', '>='),
'You should use PHP 5.3.18+ or PHP 5.4.8+ to always get nice error messages for fatal errors in the development environment due to PHP bug #61767/#60909',
'Install PHP 5.3.18+ or PHP 5.4.8+ if you want nice error messages for all fatal errors in the development environment.'
);
if (null !== $pcreVersion) {
$this->addRecommendation(
$pcreVersion >= 8.0,
sprintf('PCRE extension should be at least version 8.0 (%s installed)', $pcreVersion),
'<strong>PCRE 8.0+</strong> is preconfigured in PHP since 5.3.2 but you are using an outdated version of it. Symfony probably works anyway but it is recommended to upgrade your PCRE extension.'
);
}
$this->addRecommendation(
class_exists('DomDocument'),
'PHP-DOM and PHP-XML modules should be installed',
'Install and enable the <strong>PHP-DOM</strong> and the <strong>PHP-XML</strong> modules.'
);
$this->addRecommendation(
function_exists('mb_strlen'),
'mb_strlen() should be available',
'Install and enable the <strong>mbstring</strong> extension.'
);
$this->addRecommendation(
function_exists('iconv'),
'iconv() should be available',
'Install and enable the <strong>iconv</strong> extension.'
);
$this->addRecommendation(
function_exists('utf8_decode'),
'utf8_decode() should be available',
'Install and enable the <strong>XML</strong> extension.'
);
$this->addRecommendation(
function_exists('filter_var'),
'filter_var() should be available',
'Install and enable the <strong>filter</strong> extension.'
);
if (!defined('PHP_WINDOWS_VERSION_BUILD')) {
$this->addRecommendation(
function_exists('posix_isatty'),
'posix_isatty() should be available',
'Install and enable the <strong>php_posix</strong> extension (used to colorize the CLI output).'
);
}
$this->addRecommendation(
extension_loaded('intl'),
'intl extension should be available',
'Install and enable the <strong>intl</strong> extension (used for validators).'
);
if (extension_loaded('intl')) {
// in some WAMP server installations, new Collator() returns null
$this->addRecommendation(
null !== new Collator('fr_FR'),
'intl extension should be correctly configured',
'The intl extension does not behave properly. This problem is typical on PHP 5.3.X x64 WIN builds.'
);
// check for compatible ICU versions (only done when you have the intl extension)
if (defined('INTL_ICU_VERSION')) {
$version = INTL_ICU_VERSION;
} else {
$reflector = new ReflectionExtension('intl');
ob_start();
$reflector->info();
$output = strip_tags(ob_get_clean());
preg_match('/^ICU version +(?:=> )?(.*)$/m', $output, $matches);
$version = $matches[1];
}
$this->addRecommendation(
version_compare($version, '4.0', '>='),
'intl ICU version should be at least 4+',
'Upgrade your <strong>intl</strong> extension with a newer ICU version (4+).'
);
$this->addPhpIniRecommendation(
'intl.error_level',
create_function('$cfgValue', 'return (int) $cfgValue === 0;'),
true,
'intl.error_level should be 0 in php.ini',
'Set "<strong>intl.error_level</strong>" to "<strong>0</strong>" in php.ini<a href="#phpini">*</a> to inhibit the messages when an error occurs in ICU functions.'
);
}
$accelerator =
(extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'))
||
(extension_loaded('apc') && ini_get('apc.enabled'))
||
(extension_loaded('Zend Optimizer+') && ini_get('zend_optimizerplus.enable'))
||
(extension_loaded('Zend OPcache') && ini_get('opcache.enable'))
||
(extension_loaded('xcache') && ini_get('xcache.cacher'))
||
(extension_loaded('wincache') && ini_get('wincache.ocenabled'))
;
$this->addRecommendation(
$accelerator,
'a PHP accelerator should be installed',
'Install and/or enable a <strong>PHP accelerator</strong> (highly recommended).'
);
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$this->addRecommendation(
$this->getRealpathCacheSize() > 1000,
'realpath_cache_size should be above 1024 in php.ini',
'Set "<strong>realpath_cache_size</strong>" to e.g. "<strong>1024</strong>" in php.ini<a href="#phpini">*</a> to improve performance on windows.'
);
}
$this->addPhpIniRecommendation('short_open_tag', false);
$this->addPhpIniRecommendation('magic_quotes_gpc', false, true);
$this->addPhpIniRecommendation('register_globals', false, true);
$this->addPhpIniRecommendation('session.auto_start', false);
$this->addRecommendation(
class_exists('PDO'),
'PDO should be installed',
'Install <strong>PDO</strong> (mandatory for Doctrine).'
);
if (class_exists('PDO')) {
$drivers = PDO::getAvailableDrivers();
$this->addRecommendation(
count($drivers) > 0,
sprintf('PDO should have some drivers installed (currently available: %s)', count($drivers) ? implode(', ', $drivers) : 'none'),
'Install <strong>PDO drivers</strong> (mandatory for Doctrine).'
);
}
}
/**
* Loads realpath_cache_size from php.ini and converts it to int.
*
* (e.g. 16k is converted to 16384 int)
*
* @return int
*/
protected function getRealpathCacheSize()
{
$size = ini_get('realpath_cache_size');
$size = trim($size);
$unit = strtolower(substr($size, -1, 1));
switch ($unit) {
case 'g':
return $size * 1024 * 1024 * 1024;
case 'm':
return $size * 1024 * 1024;
case 'k':
return $size * 1024;
default:
return (int) $size;
}
}
}

13
app/autoload.php Normal file
View File

@ -0,0 +1,13 @@
<?php
use Doctrine\Common\Annotations\AnnotationRegistry;
use Composer\Autoload\ClassLoader;
/**
* @var ClassLoader $loader
*/
$loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;

142
app/check.php Normal file
View File

@ -0,0 +1,142 @@
<?php
require_once dirname(__FILE__).'/SymfonyRequirements.php';
$lineSize = 70;
$symfonyRequirements = new SymfonyRequirements();
$iniPath = $symfonyRequirements->getPhpIniConfigPath();
echo_title('Symfony2 Requirements Checker');
echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) {
echo_style('green', ' '.$iniPath);
} else {
echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!');
}
echo PHP_EOL.PHP_EOL;
echo '> Checking Symfony requirements:'.PHP_EOL.' ';
$messages = array();
foreach ($symfonyRequirements->getRequirements() as $req) {
/** @var $req Requirement */
if ($helpText = get_error_message($req, $lineSize)) {
echo_style('red', 'E');
$messages['error'][] = $helpText;
} else {
echo_style('green', '.');
}
}
$checkPassed = empty($messages['error']);
foreach ($symfonyRequirements->getRecommendations() as $req) {
if ($helpText = get_error_message($req, $lineSize)) {
echo_style('yellow', 'W');
$messages['warning'][] = $helpText;
} else {
echo_style('green', '.');
}
}
if ($checkPassed) {
echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects');
} else {
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects');
echo_title('Fix the following mandatory requirements', 'red');
foreach ($messages['error'] as $helpText) {
echo ' * '.$helpText.PHP_EOL;
}
}
if (!empty($messages['warning'])) {
echo_title('Optional recommendations to improve your setup', 'yellow');
foreach ($messages['warning'] as $helpText) {
echo ' * '.$helpText.PHP_EOL;
}
}
echo PHP_EOL;
echo_style('title', 'Note');
echo ' The command console could use a different php.ini file'.PHP_EOL;
echo_style('title', '~~~~');
echo ' than the one used with your web server. To be on the'.PHP_EOL;
echo ' safe side, please check the requirements from your web'.PHP_EOL;
echo ' server using the ';
echo_style('yellow', 'web/config.php');
echo ' script.'.PHP_EOL;
echo PHP_EOL;
exit($checkPassed ? 0 : 1);
function get_error_message(Requirement $requirement, $lineSize)
{
if ($requirement->isFulfilled()) {
return;
}
$errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL;
$errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL;
return $errorMessage;
}
function echo_title($title, $style = null)
{
$style = $style ?: 'title';
echo PHP_EOL;
echo_style($style, $title.PHP_EOL);
echo_style($style, str_repeat('~', strlen($title)).PHP_EOL);
echo PHP_EOL;
}
function echo_style($style, $message)
{
// ANSI color codes
$styles = array(
'reset' => "\033[0m",
'red' => "\033[31m",
'green' => "\033[32m",
'yellow' => "\033[33m",
'error' => "\033[37;41m",
'success' => "\033[37;42m",
'title' => "\033[34m",
);
$supports = has_color_support();
echo($supports ? $styles[$style] : '').$message.($supports ? $styles['reset'] : '');
}
function echo_block($style, $title, $message)
{
$message = ' '.trim($message).' ';
$width = strlen($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_repeat(' ', $width).PHP_EOL);
}
function has_color_support()
{
static $support;
if (null === $support) {
if (DIRECTORY_SEPARATOR == '\\') {
$support = false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
} else {
$support = function_exists('posix_isatty') && @posix_isatty(STDOUT);
}
}
return $support;
}

209
app/config/config.yml Normal file
View File

@ -0,0 +1,209 @@
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
framework:
#esi: ~
translator: { fallback: "%locale%" }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
fragments: ~
http_method_override: true
wallabag_core:
languages:
en: 'English'
fr: 'Français'
de: 'Deutsch'
wallabag_import:
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
resource_dir: "%kernel.root_dir%/../web/uploads/import"
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
share_twitter: %share_twitter%
share_mail: %share_mail%
share_shaarli: %share_shaarli%
shaarli_url: %shaarli_url%
share_diaspora: %share_diaspora%
diaspora_url: %diaspora_url%
flattr: %flattr%
flattrable: 1
flattred: 2
carrot: %carrot%
show_printlink: %show_printlink%
export_epub: %export_epub%
export_mobi: %export_mobi%
export_pdf: %export_pdf%
version: %app.version%
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
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
#yui_css:
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
default:
auto_mapping: true
stof_doctrine_extensions:
default_locale: "%locale%"
translation_fallback: true
orm:
default:
tree: true
sluggable: true
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
xml: true
json : true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
nelmio_api_doc:
sandbox:
enabled: false
name: wallabag API documentation
nelmio_cors:
defaults:
allow_credentials: false
allow_origin: []
allow_headers: []
allow_methods: []
expose_headers: []
max_age: 0
hosts: []
#origin_regex: false
paths:
'^/api/':
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
'^/':
#origin_regex: true
allow_origin: ['^http://localhost:[0-9]+']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
max_age: 3600
hosts: ['^api\.']
liip_theme:
load_controllers: false
themes:
- baggy
- material
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
firewall_name: main
user_class: Wallabag\UserBundle\Entity\User
registration:
confirmation:
enabled: true
fos_oauth_server:
db_driver: orm
client_class: Wallabag\ApiBundle\Entity\Client
access_token_class: Wallabag\ApiBundle\Entity\AccessToken
refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
service:
user_provider: fos_user.user_manager
scheb_two_factor:
trusted_computer:
enabled: true
cookie_name: wllbg_trusted_computer
cookie_lifetime: 2592000
email:
enabled: %twofactor_auth%
sender_email: %twofactor_sender%
digits: 6
template: WallabagUserBundle:Authentication:form.html.twig
mailer: wallabag_user.auth_code_mailer
kphoen_rulerz:
executors:
doctrine: true

54
app/config/config_dev.yml Normal file
View File

@ -0,0 +1,54 @@
imports:
- { resource: config.yml }
framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
intercept_redirects: false
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
channels: ["!doctrine"]
console_very_verbose:
type: console
bubble: false
verbosity_levels:
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
assetic:
use_controller: true
swiftmailer:
# see http://mailcatcher.me/
transport: smtp
host: 'localhost'
port: 1025
username: null
password: null

View File

@ -0,0 +1,25 @@
imports:
- { resource: config.yml }
#framework:
# validation:
# cache: apc
#doctrine:
# orm:
# metadata_cache_driver: apc
# result_cache_driver: apc
# query_cache_driver: apc
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console

View File

@ -0,0 +1,36 @@
imports:
- { resource: config_dev.yml }
framework:
test: ~
session:
storage_id: session.storage.mock_file
profiler:
collect: false
web_profiler:
toolbar: false
intercept_redirects: false
swiftmailer:
# to be able to read emails sent
spool:
type: file
doctrine:
dbal:
driver: "%test_database_driver%"
host: "%test_database_host%"
port: "%test_database_port%"
dbname: "%test_database_name%"
user: "%test_database_user%"
password: "%test_database_password%"
charset: UTF8
path: "%test_database_path%"
orm:
metadata_cache_driver:
type: service
id: filesystem_cache
query_cache_driver:
type: service
id: filesystem_cache

View File

@ -0,0 +1,65 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_sqlite
test_database_host: 127.0.0.1
test_database_port: ~
test_database_name: ~
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# wallabag misc
app.version: 2.0.0-alpha
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# message to display at the bottom of the page
warning_message: >
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
download_pictures: false # if true, pictures will be stored into data/assets for each article
# Entry view
share_twitter: true
share_mail: true
share_shaarli: true
shaarli_url: http://myshaarli.com
share_diaspora: true
diaspora_url: http://diasporapod.com
flattr: true
carrot: true
show_printlink: true
export_epub: true
export_mobi: true
export_pdf: true
wallabag_url: http://v2.wallabag.org
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
# default user config
items_on_page: 12
theme: material
language: en
from_email: no-reply@wallabag.org
rss_limit: 50
# pocket import
pocket_consumer_key: xxxxxxxx

33
app/config/routing.yml Normal file
View File

@ -0,0 +1,33 @@
wallabag_import:
resource: "@WallabagImportBundle/Controller/"
type: annotation
prefix: /import
wallabag_api:
resource: "@WallabagApiBundle/Resources/config/routing.yml"
prefix: /
app:
resource: @WallabagCoreBundle/Controller/
type: annotation
doc-api:
resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
prefix: /api/doc
rest :
type : rest
resource : "routing_rest.yml"
prefix : /api
homepage:
path: "/{page}"
defaults: { _controller: WallabagCoreBundle:Entry:showUnread, page : 1 }
requirements:
page: \d+
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
fos_oauth_server_token:
resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml"

View File

@ -0,0 +1,18 @@
_wdt:
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
prefix: /_wdt
_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

View File

@ -0,0 +1,3 @@
Rest_Wallabag:
type : rest
resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"

55
app/config/security.yml Normal file
View File

@ -0,0 +1,55 @@
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
administrators:
entity: { class: WallabagUserBundle:User, property: username }
fos_userbundle:
id: fos_user.user_provider.username
# the main part of the security, where you can set up firewalls
# for specific sections of your app
firewalls:
oauth_token:
pattern: ^/oauth/v2/token
security: false
api:
pattern: /api/.*
fos_oauth: true
stateless: true
anonymous: true
login_firewall:
pattern: ^/login$
anonymous: ~
secured_area:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
anonymous: true
remember_me:
key: "%secret%"
lifetime: 31536000
path: /
domain: ~
logout:
path: /logout
target: /
access_control:
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }

32
app/config/services.yml Normal file
View File

@ -0,0 +1,32 @@
parameters:
lexik_form_filter.get_filter.doctrine_orm.class: Wallabag\CoreBundle\Event\Subscriber\CustomDoctrineORMSubscriber
services:
# used for tests
filesystem_cache:
class: Doctrine\Common\Cache\FilesystemCache
arguments:
- %kernel.cache_dir%/doctrine/metadata
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension }
wallabag.twig_extension:
class: Wallabag\CoreBundle\Twig\WallabagExtension
public: false
tags:
- { name: twig.extension }
wallabag.locale_listener:
class: Wallabag\CoreBundle\EventListener\LocaleListener
arguments: ["%kernel.default_locale%"]
tags:
- { name: kernel.event_subscriber }
wallabag.user_locale_listener:
class: Wallabag\CoreBundle\EventListener\UserLocaleListener
arguments: ["@session"]
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }

View File

@ -0,0 +1,65 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_mysql
test_database_host: localhost
test_database_port: 3306
test_database_name: wallabag
test_database_user: root
test_database_password: ~
test_database_path: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# wallabag misc
app.version: 2.0.0-alpha
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# message to display at the bottom of the page
warning_message: >
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
download_pictures: false # if true, pictures will be stored into data/assets for each article
# Entry view
share_twitter: true
share_mail: true
share_shaarli: true
shaarli_url: http://myshaarli.com
share_diaspora: true
diaspora_url: http://diasporapod.com
flattr: true
carrot: true
show_printlink: true
export_epub: true
export_mobi: true
export_pdf: true
wallabag_url: http://v2.wallabag.org
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
# default user config
items_on_page: 12
theme: material
language: en_US
from_email: no-reply@wallabag.org
rss_limit: 50
# pocket import
pocket_consumer_key: xxxxxxxx

View File

@ -0,0 +1,65 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_pgsql
test_database_host: localhost
test_database_port:
test_database_name: wallabag
test_database_user: travis
test_database_password: ~
test_database_path: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# wallabag misc
app.version: 2.0.0-alpha
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# message to display at the bottom of the page
warning_message: >
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
download_pictures: false # if true, pictures will be stored into data/assets for each article
# Entry view
share_twitter: true
share_mail: true
share_shaarli: true
shaarli_url: http://myshaarli.com
share_diaspora: true
diaspora_url: http://diasporapod.com
flattr: true
carrot: true
show_printlink: true
export_epub: true
export_mobi: true
export_pdf: true
wallabag_url: http://v2.wallabag.org
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
# default user config
items_on_page: 12
theme: material
language: en_US
from_email: no-reply@wallabag.org
rss_limit: 50
# pocket import
pocket_consumer_key: xxxxxxxx

View File

@ -0,0 +1,65 @@
# This file is a "template" of what your parameters.yml file should look like
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: ~
database_name: symfony
database_user: root
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
test_database_driver: pdo_sqlite
test_database_host: localhost
test_database_port:
test_database_name: ~
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ThisTokenIsNotSoSecretChangeIt
# wallabag misc
app.version: 2.0.0-alpha
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# message to display at the bottom of the page
warning_message: >
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
download_pictures: false # if true, pictures will be stored into data/assets for each article
# Entry view
share_twitter: true
share_mail: true
share_shaarli: true
shaarli_url: http://myshaarli.com
share_diaspora: true
diaspora_url: http://diasporapod.com
flattr: true
carrot: true
show_printlink: true
export_epub: true
export_mobi: true
export_pdf: true
wallabag_url: http://v2.wallabag.org
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
# default user config
items_on_page: 12
theme: material
language: en_US
from_email: no-reply@wallabag.org
rss_limit: 50
# pocket import
pocket_consumer_key: xxxxxxxx

27
app/console Executable file
View File

@ -0,0 +1,27 @@
#!/usr/bin/env php
<?php
// 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;
$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';
if ($debug) {
Debug::enable();
}
$kernel = new AppKernel($env, $debug);
$application = new Application($kernel);
$application->run($input);

1
bin/phpunit Symbolic link
View File

@ -0,0 +1 @@
../vendor/phpunit/phpunit/phpunit

98
build.xml Normal file
View File

@ -0,0 +1,98 @@
<?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="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>
</target>
<target name="prepare" description="Prepare for build">
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_mysql" description="Run test for MySQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.mysql"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_sqlite" description="Run test for SQLite">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.sqlite"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_pgsql" description="Run test for PostgreSQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters.yml.dist.pgsql"/>
<arg value="${basedir}/app/config/parameters.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/app/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">
<exec executable="phpunit" failonerror="true">
<arg value="--coverage-html"/>
<arg value="build/coverage"/>
</exec>
</target>
</project>

1
cache/.gitignore vendored
View File

@ -1 +0,0 @@
!.htaccess

2
cache/.htaccess vendored
View File

@ -1,2 +0,0 @@
Order deny,allow
Deny from all

View File

@ -1,14 +0,0 @@
<?php
// PHP 5.3 minimum
if (version_compare(PHP_VERSION, '5.3.3', '<')) {
die('This software require PHP 5.3.3 minimum');
}
// Short tags must be enabled for PHP < 5.4
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
if (! ini_get('short_open_tag')) {
die('This software require to have short tags enabled, check your php.ini => "short_open_tag = On"');
}
}

View File

@ -1,12 +0,0 @@
<?php
// Check if /cache is writeable
if (! is_writable('cache')) {
die('The directory "cache" must be writeable by your web server user');
}
// install folder still present, need to install wallabag
if (is_dir('install')) {
require('install/index.php');
exit;
}

View File

@ -16,6 +16,11 @@
"name": "Thomas Citharel",
"homepage": "http://tcit.fr",
"role": "Developer"
},
{
"name": "Jérémy Benoist",
"homepage": "http://www.j0k3r.net",
"role": "Developer"
}
],
"support": {
@ -23,8 +28,91 @@
"issues": "https://github.com/wallabag/wallabag/issues"
},
"require": {
"twig/twig": "1.*",
"twig/extensions": "1.0.*",
"umpirsky/twig-gettext-extractor": "1.1.*"
}
}
"php": ">=5.5.0",
"symfony/symfony": "~2.7.0",
"doctrine/orm": "~2.3",
"doctrine/doctrine-bundle": "1.5.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",
"nelmio/cors-bundle": "~1.4.0",
"friendsofsymfony/rest-bundle": "~1.4",
"jms/serializer-bundle": "~0.13",
"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",
"htmlawed/htmlawed": "~1.1.19",
"liip/theme-bundle": "~1.1.3",
"pagerfanta/pagerfanta": "~1.0.3",
"lexik/form-filter-bundle": "~4.0",
"j0k3r/graby": "~1.0",
"friendsofsymfony/user-bundle": "dev-master",
"friendsofsymfony/oauth-server-bundle": "^1.4@dev",
"stof/doctrine-extensions-bundle": "^1.2@dev",
"scheb/two-factor-bundle": "~1.4.0",
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
"guzzlehttp/guzzle": "^5.2.0"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2.0",
"sensio/generator-bundle": "~2.5",
"phpunit/phpunit": "~4.4",
"symfony/phpunit-bridge": "~2.7.0"
},
"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"
]
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml",
"env-map": {
"mailer_host": "WALLABAG_MAILER_HOST",
"mailer_user": "WALLABAG_MAILER_USER",
"mailer_password": "WALLABAG_MAILER_PASSWORD",
"secret": "WALLABAG_SECRET"
}
}
},
"autoload": {
"psr-0": { "": "src/" }
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "dev",
"prefer-stable": true
}

6292
composer.lock generated

File diff suppressed because it is too large Load Diff

23
config/deploy.rb Normal file
View File

@ -0,0 +1,23 @@
# config valid only for current version of Capistrano
lock '3.4.0'
set :application, 'wallabag'
set :repo_url, 'git@github.com:wallabag/wallabag.git'
set :ssh_user, 'framasoft_bag'
server '78.46.248.87', user: fetch(:ssh_user), roles: %w{web app db}
set :scm, :git
set :format, :pretty
set :log_level, :info
# set :log_level, :debug
set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader'
set :linked_files, %w{app/config/parameters.yml}
set :linked_dirs, %w{app/logs web/uploads data}
set :keep_releases, 3
after 'deploy:finishing', 'deploy:cleanup'

View File

@ -0,0 +1,61 @@
# 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'
# }

2
config/deploy/staging.rb Normal file
View File

@ -0,0 +1,2 @@
set :branch, 'v2'
set :deploy_to, '/var/www/v2.wallabag.org/web/'

0
data/assets/.gitignore vendored Normal file
View File

0
data/db/.gitignore vendored Normal file
View File

View File

@ -1,2 +0,0 @@
Order deny,allow
Deny from all

File diff suppressed because one or more lines are too long

0
docs/README.rst Normal file
View File

View File

@ -1,119 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Artikel lesen</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li class="active"><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Artikel lesen <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/04_Artikel_lesen.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Thursday, November 20, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
11:43 AM </span>
</div>
<p>Zum Lesen eines Artikels klicke einfach auf den zugehörigen Link.</p>
<h2>Weiterlesen von Artikeln</h2>
<p>Wenn du einen Artikel schließt, merkt sich wallabag die Stelle, an der du aufgehört hast zu lesen. So kannst du dort weiterlesen, wo du aufgehört hast.
Das funktioniert nur in der Web-Anwendung.</p>
<h2>Mögliche Aktionen für Artikel</h2>
<p>Die hier beschriebenen Aktionen können mit Hilfe der am oberen Seitenrand angezeigten Symbole ausgeführt werden.
Die Beschreibung hier orientiert sich am Theme "Baggy" (<a href="/de/Anwenderdokumentation/wallabag_konfigurieren">Theme ändern</a>), die Symbole in den anderen Themes sind im Wesentlichen gleich.
Die Aktionen in Reihenfolge der Symbole sind:</p>
<h3>Den Originalartikel lesen</h3>
<p>Ein Klick auf dieses Symbol öffnet den Originalartikel.</p>
<h3>Artikel als gelesen markieren</h3>
<p>Markiert den Artikel als gelesen und verschiebt ihn ins Archiv (zu erreichen über den Eintrag <em>Archiv</em> im Menü).
Ein erneuter Klick auf das Symbol setzt den Zustand des Artikels zurück auf "ungelesen".</p>
<h3>Artikel favorisieren</h3>
<p>Ein Klick auf dieses Symbol markiert den Artikel als Lieblngsartikel. Eine Liste aller so favorisierten Artikel kann über den Punkt "Favoriten" im wallabag-Menü aufgerufen werden.</p>
<p>Durch einen erneuten Klick auf das Symbol kann der Favoriten-Status wieder aufgehoben werden</p>
<h3>Artikel löschen</h3>
<p>Löscht den Artikel aus deiner wallabag. Diese Aktion kann nicht rückgängig gemacht werden. </p>
<p><strong>Achtung</strong>: Es wird keine Bestätigung zum Löschen angefordert!</p>
<h3>Twitter</h3>
<p>Teile den Titel und Link zum Original-Artikel auf twitter.</p>
<h3>Per E-Mail</h3>
<p>Teile den Titel und Link zum Original-Artikel per E-Mail.</p>
<h3>Artikel drucken</h3>
<p>Öffnet den Druckdialog des Browsers zum Drucken des Artikels.</p>
<h3>ePub erstellen</h3>
<p>Wandelt den Artikel ins ePub-Format um. Eine genauere Beschreibung dazu gibt es im Kapitel (<a href="/de/Anwenderdokumentation/ePub_erstellen">ePub erstellen</a>.</p>
<h3>Fehlerhafte Anzeige des Artikels melden</h3>
<p>Hiermit kann gemeldet werden, dass der Artikel nicht wie erwartet angezeigt wird. Eine genauere Beschreibung dazu gibt es im Kapitel <a href="/de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt">Eine vollständige oder Kapitel existieren</a>.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,129 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Den ersten Artikel speichern</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li class="active"><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Den ersten Artikel speichern <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/03_Den_ersten_Artikel_speichern.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<p>Einmal angemeldet, gibt es viele Möglichkeiten, Artikel zu speichern.</p>
<h2>In der Webanwendung</h2>
<p>Klicke in derMenüleiste auf den Eintrag "Speichere einen Link", gib in das erscheinende Popup-Fenster den Link ein und klicke auf "Link speichern!".</p>
<p>Das Standardverhakten von wallabag ist, nur den Text des Artikels zu speichern. Wenn du möchtest, dass wallabag auch Kopien der im Artikel enthaltenen Bilder auf deinem Server speichert, musst du die Einstellung <em>DOWNLOAD_PICTURES</em> aktivieren. Lies dazu das Kapitel über die versteckten Einstellungen.</p>
<h2>Mit dem Bookmarklet</h2>
<p><a href="https://de.wikipedia.org/wiki/Bookmarklet">Aus Wikipedia</a></p>
<pre><code>Ein Bookmarklet (auch Favelet) ist ein kleines in JavaScript geschriebenes Makro, das als Bookmark abgespeichert wird und dadurch die Funktionen eines Webbrowsers erweitert.</code></pre>
<h2>Auf deinem Smartphone</h2>
<h3>Vorbereitung</h3>
<p>Um Artikel vom Smartphone aus zu lesen, musst du in den wallabag-Einstellungen RSS-Feeds aktivieren. Nach der Aktivierung werden benötigte Informationen wie das Sicherheits-Token angezeigt. Weiterführende Informationen findest du im Kapitel über RSS-Feeds.</p>
<h3>Android</h3>
<h4>Installation und Konfiguration</h4>
<p>Du findest die wallabag-Android-App im <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche">Google Play Store</a> oder bei <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche">F-droid</a>. Es gibt keinen Unterschied zwischen der im Google Play Store und der bei F-Droid angebotenen Version.</p>
<p>Nach der Installation musst du auf <strong>Einstellungen</strong> tippen, deine wallabag <strong>URL (gesamte Adresse deiner wallabag-Installation oder deines Framabag-Kontos)</strong> und deine <strong>User ID (im Normalfall 1)</strong> in die entsprechenden Felder eingeben. Wenn du mehrere Accounts angelegt hast, musst du den Account angeben, mit dem du die App verbinden willst, sowie das zugehörige Sicherheits-<strong>Token</strong> (achte darauf, alle Buchstaben und Ziffern des Tokens anzugeben, so wie es auf der Konfigurationsseite von wallabag angegeben ist).</p>
<h4>Einen Artikel speichern</h4>
<p>Wenn du alles richtig eingestellt hast, kannst du beim Surfen im Webbrowser Artikel ganz einfach speichern. Wähle im <strong>Teilen</strong>-Menü deines Browsers den Eintrag <strong>Bag it!</strong> und der Artikel wir deiner wallabag hinzugefügt.</p>
<h4>Lesen</h4>
<p>Um die Liste deiner Artikel zu laden, klicke in der wallabag-App auf <strong>Synchronisieren</strong>. Die Artikel werden nun auf dein Telefon heruntergeladen. Nun brauchst du zum Lesen der Artikel keine Internetverbindung mehr. Klicke auf <strong>Artikelliste</strong>, um einen Artikel zum Lesen auszuwählen.</p>
<p>Am Ende jedes Artikels wird eine <strong>Als gelesen markieren</strong>-Schaltfläche angezeigt, mit der der Artikel archiviert werden kann.</p>
<p>Momentan funktioniert die Synchronisation nur in eine Richtung (von wallabag zur Android-App), so dass auf dem Smartphone archivierte Artikel nicht auch in wallabag auf dem Server archiviert werden.</p>
<h3>iOS</h3>
<h4>Installation und Konfiguration</h4>
<p>TODO</p>
<h4>Anwendung</h4>
<p>TODO</p>
<h3>Windows Phone</h3>
<h4>Installation und Konfiguration</h4>
<p>Du kannst die Windows Phone-App aus dem <a href="http://www.windowsphone.com/fr-fr/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450">Windows Store</a> oder direkt aus dem Store deines Smartphones.</p>
<p>Nach der Installation wirst du über eine Benachrichtigung dazu aufgefordert, die App zu konfigurieren. Öffne den <strong>Einstellungen</strong>-Abschnitt der App, indem du das Drei-Punkte-Menü am unteren Rand des Bildschirms. Gib nun die <strong>URL (gesamte Adresse deiner wallabag-Installation oder deines Framabag-Kontos)</strong> und deine <strong>User ID (im Normalfall 1)</strong> in die entsprechenden Felder ein.</p>
<p>Wenn du mehrere Accounts angelegt hast, musst du den Account angeben, mit dem du die App verbinden willst, sowie das zugehörige Sicherheits-<strong>Token</strong> (achte darauf, alle Buchstaben und Ziffern des Tokens anzugeben, so wie es auf der Konfigurationsseite von wallabag angegeben ist).</p>
<h2>Mit dem Browser</h2>
<h3>Firefox</h3>
<p>Lade das Firefox-Addon von <a href="https://addons.mozilla.org/firefox/addon/wallabag/">addons.mozilla.org</a> herunter und installiere es.</p>
<p>Gib die URL deiner wallabag-Installation oder deines Framabag-Kontos ein den Einstellungen des Addons ein.</p>
<p>Um das Addon zu nutzen, musst du die Werkzeugleiste von Firefox anpassen (Menü>Anpassen) und das wallabag (<strong>W</strong>)-Icon hinzufügen. Um einen Artikel zu speichern, klicke auf dieses wallabag-Icon. Ein neues Fenster wird geöffnet, der Artikel wird deiner wallabag hinzugefügt und das Fenster automatisch wieder geschlossen. Das funktioniert am Besten, wenn du bereits in deiner wallabag angemeldet bist, ansonsten kannst du das in dem gerade geöffneten Fenster nachholen.</p>
<h3>Chrome</h3>
<p>Lade das Chrome-Addon aus dem <a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj">Chrome-Webstore</a> herunter und installiere es.</p>
<p>Gib die URL deiner wallabag-Installation oder deines Framabag-Kontos ein den Einstellungen des Addons ein.</p>
<p>Während der Installation wird in der Chrome-Werkzeugleiste ein neues <strong>W</strong>-Icon erscheinen. Ein neues Fenster wird geöffnet, der Artikel wird deiner wallabag hinzugefügt und das Fenster automatisch wieder geschlossen. Das funktioniert am Besten, wenn du bereits in deiner wallabag angemeldet bist, ansonsten kannst du das in dem gerade geöffneten Fenster nachholen.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,108 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Ein Artikel wird nicht korrekt angezeigt</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li class="active"><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Ein Artikel wird nicht korrekt angezeigt <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/09_Ein_Artikel_wird_nicht_korrekt_angezeigt.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Thursday, November 20, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
11:43 AM </span>
</div>
<p>Wenn du meinst, dass wallabag einen Artikel nicht korrekt anzeigt (z.B. fehlender oder unvollständiger Text, nur eine von mehreren Artikelseiten oder störende Werbung im Text), gibt es mehrere Möglichkeiten, wie du helfen kannst, wallabag besser zu machen.</p>
<h2>Melden des Anzeigeproblems</h2>
<p>Egal ob du uns per Mail oder über ein Ticket auf GitHub über die fehlerhatfte Anzeige informierst: folgende Angaben helfen uns, das Problem zu lösen.</p>
<ul>
<li>die URL des Artikels</li>
<li>wie stellt wallabag den Artikel momentan dar?</li>
<li>was hättest du stattdessen erwartet?</li>
<li>deine wallabag-Version bzw. ob du Framabag verwendest
<h3>Variante 1: Ein Ticket auf GitHub eröffnen</h3>
<p>Um ein <a href="https://github.com/wallabag/wallabag/issues/new">Ticket auf GitHub zu eröffnen</a>, benötigst du dort ein Benutzerkonto. Bitte vergiss nicht, in der Ticketbeschreibung die oben genannten Angaben zu machen.
Danke!</p></li>
</ul>
<h3>Variante 2: E-Mail</h3>
<p>Sende uns eine E-Mail mit dem Betreff <code>Falsche Anzeige in wallabag</code> an <a href="mailto: hello@wallabag.org">hello@wallabag.org</a>.
Bitte vergiss nicht, in der E-Mail die oben genannten Angaben zu machen.
Danke!</p>
<h2>Lösung des Anzeigeproblems</h2>
<p>TODO</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,121 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Herunterladen und installieren</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li class="active"><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Herunterladen und installieren <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/02_Herunterladen_und_installieren.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h2>Ich möchte wallabag nicht installieren</h2>
<p>Wenn du wallabag nicht auf einem eigenen Server installieren kannst oder möchtest, solltest du ein kostenloses Benutzerkonto auf Framabag erstellen, wo wallabag genutzt wird.</p>
<h2>Ich möchte wallabag installieren</h2>
<p><a href="http://www.wallabag.org/download">Lade die neueste Version von wallabag herunter</a> und entpacke sie. Kopiere die entpackten Dateien und Verzeichnisse auf deinen Webserver.</p>
<h2>Voraussetzungen für den Webserver</h2>
<ul>
<li><a href="http://php.net/manual/en/install.php">PHP 5.3.3 oder höher</a></li>
<li><a href="http://php.net/manual/en/book.sqlite.php">SQLite</a> or <a href="http://php.net/manual/fr/book.mysql.php">MySQL</a> or <a href="http://php.net/manual/en/book.pgsql.php">PostgreSQL</a></li>
<li><a href="http://php.net/xml">XML for PHP</a></li>
<li><a href="http://php.net/pcre">PCRE</a></li>
<li><a href="http://php.net/manual/book.filter.php">Data filtering</a></li>
<li><a href="http://php.net/tidy">Tidy for PHP</a></li>
<li><a href="http://php.net/curl">cURL</a></li>
<li><a href="http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen">allow_url_fopen</a></li>
<li><a href="http://php.net/manual/en/book.gettext.php">gettext</a></li>
</ul>
<p>Um zu überprüfen, ob dein Server die Voraussetzungen erfüllt, kannst du <code>wallabag_compatibility_test.php</code> ausführen. Diese Datei liegt im <code>install</code>-Verzeichnis von wallabag.</p>
<h2>Installation der Abhängigkeiten</h2>
<p>Damit wallabag ordnungsgemäß funktioniert, müssen einige Abhängigkeiten erfüllt werden. Um diese zu installieren, muss <code>composer</code> verwendet werden. Führe folgende Kommandos in deinem wallabag-Verzeichnis aus:</p>
<pre><code>curl -s http://getcomposer.org/installer | php
php composer.phar install</code></pre>
<p>Falls du <code>composer</code> nicht installieren kannst, kannst du alternativ <a href="http://wllbg.org/vendor">vendor.zip</a> herunterladen und in deinem wallabag-Verzeichnis entpacken. </p>
<h2>Berechtigungen</h2>
<p>Dein Webserver braucht Schreibrechte in den Verzeichnissen <code>assets</code>, <code>cache</code>, und <code>db</code>. Bei fehlenden Schreibrechten kann die Installation nicht ausgeführt werden.</p>
<h2>wallabag installieren. Endlich.</h2>
<p>Rufe wallabag in deinem Browser auf. Wenn dein Server richtig konfiguriert ist, wird die Setup-Seite angezeigt.</p>
<p>Gib dort deinen Datenbank-Typ an (<code>sqlite</code>, <code>mysql</code> oder <code>postgresql</code>) und die Angaben für dein Benutzerkonto</p>
<p>wallabag ist jetzt fertig installiert.</p>
<h2>Anmelden</h2>
<p>Rufe wallabag in deinem Webbrowser auf und gib deinen Benutzernamen und dein Passwort ein, um dich anzumelden.</p>
<p>Viel Spaß!</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,185 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Versteckte Einstellungen</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li class="active"><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Versteckte Einstellungen <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/14_Versteckte_Einstellungen.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h2>Vorsicht!</h2>
<p>Dieser Teil ist nur für fortgeschrittene Anwender.
<strong>Solltest du beim Bearbeiten einer der Dateien etwas falsch machen, kann es sein, dass wallabag nicht mehr funktioniert.</strong>
Es muss eine wichtige Datei von wallabag bearbeitet werden, <code>inc/poche/config.inc.php</code>, deshalb mache unbedingt eine Sicherungskopie dieser Datei, bevor du etwas änderst!</p>
<p>Die Datei wird während der Installation von wallabag erzeugt und mit Standardeinstellungen initialisiert. Durch Anpassen der Datei kann das Verhalten von wallabag in einigen Punkten angepasst werden, die nicht über die nicht über der Konfigurationsseite verfügbar sind.</p>
<h2>Fortgeschrittene Einstellungen</h2>
<p>Jeder der in <code>inc/poche/config.inc.php</code> definierten Parameter ist folgendermaßen angegeben:</p>
<pre><code>@define ('PARAMETER_NAME', 'Parameter-Wert');</code></pre>
<p>Es darf in jeder Zeile ausschließlich <code>Parameter-Wert</code> geändert werden.
Ändere keine anderen in der Datei angegebenen Parameter!</p>
<p>Änderbare Parameter: </p>
<table>
<thead>
<tr>
<th>PARAMETER_NAME</th>
<th>Standardwert</th>
<th>Beschreibung</th>
<th align="center">erwarteter Wert</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>HTTP_PORT</code></td>
<td><code>80</code></td>
<td>entspricht dem HTTP-Port auf deinem Webserver. Nur ändern, wenn sich dein Web-Server hinter einem Proxy befindet.</td>
<td align="center">ganze Zahl</td>
</tr>
<tr>
<td><code>SSL_PORT</code></td>
<td><code>443</code></td>
<td>entspricht dem SSL-Port auf deinem Webserver. Ändern, wenn du sslh verwendest.</td>
<td align="center">ganze Zahl</td>
</tr>
<tr>
<td><code>DEBUG_POCHE</code></td>
<td><code>FALSE</code></td>
<td>Wenn du Probleme mit wallabag hast, kann es bei der Fehlersuche helfen, den Debug-Modus zu aktivieren.</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>DOWNLOAD_PICTURES</code></td>
<td><code>FALSE</code></td>
<td>Damit kannst du Bilder aus Artikeln herunterladen (zusätzlich zum Artikeltext). Diese Einstellung ist standardmäßig deaktiviert, um eine Überlastung des Webservers zu vermeiden. Wir bevorzugen, dich diese Einstellung selbst aktivieren zu lassen.</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>SHARE_TWITTER</code></td>
<td><code>TRUE</code></td>
<td>ermöglicht die gemeinsame Nutzung mit Twitter</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>SHARE_MAIL</code></td>
<td><code>TRUE</code></td>
<td>ermöglicht den Austausch per E-Mail</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>SHARE_SHAARLI</code></td>
<td><code>FALSE</code></td>
<td>ermöglicht die gemeinsame Nutzung mit einer Shaarli-Installation (ein Lesezeichen-Manager)</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>SHAARLI_URL</code></td>
<td><code>'http://myshaarliurl.com'</code></td>
<td>Definiert die URL Ihrer Installation Shaarli.</td>
<td align="center">URL</td>
</tr>
<tr>
<td><code>FLATTR</code></td>
<td><code>TRUE</code></td>
<td>Aktiviert die Möglichkeit, einen Artikel zu flattrn ([Flattr ist eine Plattform für Mikrospenden] (<a href="http://de.wikipedia.org/wiki/Flattr">http://de.wikipedia.org/wiki/Flattr</a>)). Wenn ein Artikel flattrbar ist, wird ein Symbol angezeigt und ermöglicht es, eine Mikro-Spende an den Autor des Artikels zu senden.</td>
<td align="center"><code>TRUE</code> / <code>FALSE</code></td>
</tr>
<tr>
<td><code>SHOW_PRINTLINK</code></td>
<td><code>'1'</code></td>
<td>Zeigt eine Link, um einen Artikel zu drucken.</td>
<td align="center"><code>'0'</code> (deaktiviert), <code>'1'</code> (aktiviert)</td>
</tr>
<tr>
<td><code>SHOW_READPERCENT</code></td>
<td><code>'1'</code></td>
<td>Zeige den bereits gelesenen Anteil im Artikel (nur bei den Themes <code>default</code>, <code>dark</code>, <code>dmagenta</code>, <code>solarized</code>, <code>solarized-dark</code>).</td>
<td align="center"><code>'0'</code> (deaktiviert), <code>'1'</code> (aktiviert)</td>
</tr>
<tr>
<td><code>PAGINATION</code></td>
<td><code>'12'</code></td>
<td>Definiert die Anzahl der Einträge, die auf einer Seite dargestellt werden.</td>
<td align="center">ganze Zahl</td>
</tr>
</tbody>
</table>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,92 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Anwenderdokumentation</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Anwenderdokumentation <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/index.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h2>Anwenderdokumentation</h2>
<p>Hier findest du alle Informationen, die du zur Nutzung von wallabag benötigst, ohne dass detailliert auf technische Hintergründe eingegangen wird.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,104 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>wallabag konfigurieren</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li class="open"><a href="../../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li class="active"><a href="../../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>wallabag konfigurieren <a href="https://github.com/wallabag/documentation/blob/master/de/02_Anwenderdokumentation/06_wallabag_konfigurieren.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h1>wallabag konfigurieren</h1>
<p>Auf Konfigurationsseite kannst du wallabags Einstellungen anpassen. </p>
<p>Einige Punkte der Konfigurationsseite werden hier nicht beschrieben, da für diese eigene Kapitel in der Dokumentation vorgesehen sind (RSS-Feeds, Import von einem Drittanbieter, Datenexport, epub-Konvertierung und Mehrbenutzermodus)</p>
<h2>Themes</h2>
<p>Über Geschmack lässt sich nicht streiten. Deshalb lässt dir wallabag die Wahl zwischen verschiedenen Themes, um das Aussahen deinem Geschmack anzupassen.</p>
<p>Wähle ein Theme aus der Auwahlliste und bestätige die Änderung durch einen Klick auf <strong>Aktualisieren</strong>.</p>
<h2>Sprache</h2>
<p>Wähle die Sprache deiner Wahl in der Auswahlliste und bestätige die Änderung durch Klick auf <strong>Aktualisieren</strong>.</p>
<h2>Passwort</h2>
<p>Um dein Passwort zu ändern, gib es in die zwei vorgesehenen Felder ein und bestätige die Änderung durch Klick auf <strong>Aktualisieren</strong>.</p>
<p>Du wirst abgemeldet und musst für eine erneute Anmeldung dein neues Passwort nutzen.</p>
<h2>Den Cache leeren</h2>
<p>Mit Hilfe des Caches kann wallabag einige Aufgaben schneller erledigen.</p>
<p>Nach einem Update von wallabag sollte der Cache geleert werden. Klicke dazu auf den entsprechendenLink.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,106 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Einfuehrung</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li class="active"><a href="../de/Einfuehrung.html">Einfuehrung</a></li><li><a href="../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li><a href="../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Einfuehrung <a href="https://github.com/wallabag/documentation/blob/master/de/00_Einfuehrung.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Friday, October 31, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
8:34 PM </span>
</div>
<p><strong>wallabag</strong> ist eine Read-it-later-Anwendung: sie speichert Webseiten, indem sie lediglich die Inhalte behält. Elemente wie Navigations-Links und Werbung werden entfernt.</p>
<h2>Funktionen</h2>
<ul>
<li>Inhalte der Webseiten werden gespeichert: Texte und Bilder </li>
<li>die Webanwendung passt sich dem benutzten Anzeigegerät (Smartphone, PC, ... ) an</li>
<li>Artikel können als ePub exportiert werden</li>
<li>dank Smartphone-Apps können Artikel auch offline gelesen werden</li>
<li>dank Browser-Addons können neue Links schnell hinzugefügt werden</li>
<li>viele Templates zur individuellen Anpassung des Erscheinungsbild von wallabag sind verfügbar</li>
<li>... und viele weitere Funktionen! </li>
</ul>
<p>Diese Anwenderdokumentation soll zeigen, wie man wallabag nutzen kann.</p>
<h2>Demonstration</h2>
<p>Wenn du alle wallabag-Funktionen ausprobieren möchtest, kannst du diese Demonstrations-Webseite nutzen: <a href="http://demo.wallabag.org"><a href="http://demo.wallabag.org">http://demo.wallabag.org</a></a></p>
<h2>Ein Benutzerkonto erstellen</h2>
<p>Wenn du wallabag nicht selbst installieren möchtest oder kannst, kannst du stattdessen ein kostenloses Benutzerkonto auf <a href="https://www.framabag.org">Framabag.org</a> erstellen. Dazu brauchst du nur eine gültige E-Mail-Adresse.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,108 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>wallabag unterstuetzen</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../de/Einfuehrung.html">Einfuehrung</a></li><li class="active"><a href="../de/wallabag_unterstuetzen.html">wallabag unterstuetzen</a></li><li><a href="../de/Anwenderdokumentation/index.html" class="folder">Anwenderdokumentation</a><ul class="nav nav-list"><li><a href="../de/Anwenderdokumentation/Herunterladen_und_installieren.html">Herunterladen und installieren</a></li><li><a href="../de/Anwenderdokumentation/Den_ersten_Artikel_speichern.html">Den ersten Artikel speichern</a></li><li><a href="../de/Anwenderdokumentation/Artikel_lesen.html">Artikel lesen</a></li><li><a href="../de/Anwenderdokumentation/wallabag_konfigurieren.html">wallabag konfigurieren</a></li><li><a href="../de/Anwenderdokumentation/Ein_Artikel_wird_nicht_korrekt_angezeigt.html">Ein Artikel wird nicht korrekt angezeigt</a></li><li><a href="../de/Anwenderdokumentation/Versteckte_Einstellungen.html">Versteckte Einstellungen</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>wallabag unterstuetzen <a href="https://github.com/wallabag/documentation/blob/master/de/01_wallabag_unterstuetzen.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Wednesday, November 12, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:12 PM </span>
</div>
<h2>Fehler melden</h2>
<h3>Den wallabag-Support kontaktieren</h3>
<p>TODO</p>
<h3>Einen Fehlerbericht verfassen</h3>
<p>TODO</p>
<h2>Die Dokumentation schreiben und verbessern</h2>
<p>TODO</p>
<h2>Fehler beheben</h2>
<p>TODO</p>
<h2>Weitersagen</h2>
<p>Es ist gar nicht schwer: sprich einfach über wallabag! Benutze den #wallabag-Hashtag in sozialen Netzwerken: twitter, Facebook, Diaspora*, Google+, etc.</p>
<p>wallabag in sozialen Netzwerken: </p>
<ul>
<li><a href="https://framasphere.org/people/2335ff202f920132196e2a0000053625">Diaspora*</a></li>
<li><a href="https:/twitter.com/wallabagapp">twitter</a></li>
<li><a href="https://www.facebook.com/wallabag">Facebook</a></li>
<li><a href="https://plus.google.com/+WallabagOrg/">Google+</a></li>
</ul>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -0,0 +1,85 @@
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

@ -0,0 +1,200 @@
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

@ -0,0 +1,47 @@
.. _`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

@ -0,0 +1,26 @@
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

@ -0,0 +1,30 @@
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

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

View File

@ -0,0 +1,29 @@
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

@ -0,0 +1,52 @@
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,106 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Getting started</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li class="active"><a href="../en/Getting_started.html">Getting started</a></li><li><a href="../en/Help_wallabag.html">Help wallabag</a></li><li><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li><a href="../en/User_documentation/Download_and_install.html">Download and install</a></li><li><a href="../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li><a href="../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li><a href="../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Getting started <a href="https://github.com/wallabag/documentation/blob/master/en/00_Getting_started.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Friday, October 31, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
8:34 PM </span>
</div>
<p><strong>wallabag</strong> is a read-it-later application: it saves a web page by keeping content only. Elements like navigation or ads are deleted.</p>
<h2>Features</h2>
<ul>
<li>content of the web page is saved: text and pictures. </li>
<li>the web application is responsive</li>
<li>you can export articles into ePub</li>
<li>you can read your articles offline thanks to smartphones applications</li>
<li>you can easily save a new link thanks to browser addons</li>
<li>many templates are available to change your wallabag as you wish</li>
<li>and many others great features ! </li>
</ul>
<p>This user documentation is here to learn to you what you can do with wallabag.</p>
<h2>Demonstration</h2>
<p>If you want to try all wallabag features, there is a demonstration website: <a href="http://demo.wallabag.org"><a href="http://demo.wallabag.org">http://demo.wallabag.org</a></a></p>
<h2>Create an account</h2>
<p>Maybe you don't want to install and update wallabag by yourself, or you can't do it, it's possible to create a free account on <a href="https://www.framabag.org">Framabag.org</a>. Just your email is needed.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,108 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Help wallabag</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../en/Getting_started.html">Getting started</a></li><li class="active"><a href="../en/Help_wallabag.html">Help wallabag</a></li><li><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li><a href="../en/User_documentation/Download_and_install.html">Download and install</a></li><li><a href="../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li><a href="../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li><a href="../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Help wallabag <a href="https://github.com/wallabag/documentation/blob/master/en/01_Help_wallabag.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Tuesday, November 4, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
8:52 PM </span>
</div>
<h2>Report bugs</h2>
<h3>Contact wallabag support</h3>
<p>TODO</p>
<h3>Create a new issue</h3>
<p>TODO</p>
<h2>Write and fix documentation</h2>
<p>TODO</p>
<h2>Fix bugs</h2>
<p>TODO</p>
<h2>Spread the word</h2>
<p>It's not so complicated: just talk about wallabag! Use #wallabag hashtag on all your social networks: twitter, Facebook, Diaspora*, Google+, etc. </p>
<p>Here are our accounts on social networks: </p>
<ul>
<li><a href="https://framasphere.org/people/2335ff202f920132196e2a0000053625">Diaspora*</a></li>
<li><a href="https:/twitter.com/wallabagapp">twitter</a></li>
<li><a href="https://www.facebook.com/wallabag">Facebook</a></li>
<li><a href="https://plus.google.com/+WallabagOrg/">Google+</a></li>
</ul>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -0,0 +1,118 @@
.. _`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

@ -0,0 +1,32 @@
.. _`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

@ -0,0 +1,49 @@
.. _`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

@ -0,0 +1,107 @@
.. _`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

@ -0,0 +1,36 @@
.. _`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

@ -0,0 +1,109 @@
.. _`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

@ -0,0 +1,63 @@
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`).

41
docs/en/User/rss_feed.rst Normal file
View File

@ -0,0 +1,41 @@
.. _`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

@ -0,0 +1,226 @@
.. _`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

21
docs/en/User/search.rst Normal file
View File

@ -0,0 +1,21 @@
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

@ -1,106 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Configure wallabag</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../en/Getting_started.html">Getting started</a></li><li><a href="../../en/Help_wallabag.html">Help wallabag</a></li><li class="open"><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li><a href="../../en/User_documentation/Download_and_install.html">Download and install</a></li><li><a href="../../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li class="active"><a href="../../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li><a href="../../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Configure wallabag <a href="https://github.com/wallabag/documentation/blob/master/en/02_User_documentation/06_Configure_wallabag.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h1>Configure wallabag</h1>
<p>From the configuration menu, you can change some wallabag's options. </p>
<p>Some parts won't be presented here as they have a complete chapter in the documentation (RSS
feeds, import from a third party service, export your data, Epub conversion and multi-user mode).</p>
<h2>Theme</h2>
<p>Of tastes and colors, we do not discuss. That's why wallabag offers you to change its skin to please everyone.</p>
<p>Select the theme of your choice from the drop down list and confirm by clicking on <strong>Update</strong>.</p>
<h2>Language</h2>
<p>Select the language of your choice in the drop down list and confirm by clicking on <strong>Update</strong>
.</p>
<h2>Password</h2>
<p>Fill in your new password in the two dedicated fields and confirm by clicking on <strong>Update</strong>.</p>
<p>You will be disconnected and need to enter your new password to access your wallabag.</p>
<h2>Clear the cache</h2>
<p>The cache allows wallabag perform certain functions faster.</p>
<p>After updating wallabag, it is advised to clear the cache. You only have to click to do so.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,121 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Download and install</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../en/Getting_started.html">Getting started</a></li><li><a href="../../en/Help_wallabag.html">Help wallabag</a></li><li class="open"><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li class="active"><a href="../../en/User_documentation/Download_and_install.html">Download and install</a></li><li><a href="../../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li><a href="../../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li><a href="../../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Download and install <a href="https://github.com/wallabag/documentation/blob/master/en/02_User_documentation/02_Download_and_install.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h2>I don't want to install wallabag</h2>
<p>If you can't or don't want to install Wallabag on your server, we suggest you create a free account on Framabag wich uses our software: read the complete documentation here (TODO write Create a framabag account).</p>
<h2>I want to install wallabag</h2>
<p><a href="http://www.wallabag.org/download">Download the latest wallabag version</a> and unpack it. Copy the files on your web server.</p>
<h2>Prerequisites for your web server</h2>
<ul>
<li><a href="http://php.net/manual/en/install.php">PHP 5.3.3 or more</a></li>
<li><a href="http://php.net/manual/en/book.sqlite.php">SQLite</a> or <a href="http://php.net/manual/fr/book.mysql.php">MySQL</a> or <a href="http://php.net/manual/en/book.pgsql.php">PostgreSQL</a></li>
<li><a href="http://php.net/xml">XML for PHP</a></li>
<li><a href="http://php.net/pcre">PCRE</a></li>
<li><a href="http://php.net/manual/book.filter.php">Data filtering</a></li>
<li><a href="http://php.net/tidy">Tidy for PHP</a></li>
<li><a href="http://php.net/curl">cURL</a></li>
<li><a href="http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen">allow_url_fopen</a></li>
<li><a href="http://php.net/manual/en/book.gettext.php">gettext</a></li>
</ul>
<p>To ensure that your server has all the prerequisites, you can run the file <code>wallabag_compatibility_test.php</code> that is located in the <code>install</code> directory of wallabag.</p>
<h2>Installation of the dependencies</h2>
<p>In order to work properly, wallabag needs some dependencies. To install them, you have to use <code>composer</code>. In your wallabag folder, run the following commands:</p>
<pre><code>curl -s http://getcomposer.org/installer | php
php composer.phar install</code></pre>
<p>If you can't install <code>composer</code> (In order to work properly, Wallabag needs some dependencies), we provide you a <a href="http://wllbg.org/vendor">vendor.zip</a> file to unpack in your wallabag directory. </p>
<h2>Permissions</h2>
<p>Your web server needs a writing access in <code>assets</code>, <code>cache</code> and <code>db</code> directory. Otherwise, a message will report that the installation is impossible.</p>
<h2>Installation of wallabag. At last.</h2>
<p>Access to wallabag from your web browser. If your server is correctly configured, you reach the setup screen. </p>
<p>Fill your database type (<code>sqlite</code>, <code>mysql</code> or <code>postgresql</code>) and finally the information for your user account.</p>
<p>wallabag is now installed. </p>
<h2>Login</h2>
<p>From your web browser, you reach the login screen : fill your username and your password to connect to your account.</p>
<p>Enjoy!</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,116 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Hidden options</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../en/Getting_started.html">Getting started</a></li><li><a href="../../en/Help_wallabag.html">Help wallabag</a></li><li class="open"><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li><a href="../../en/User_documentation/Download_and_install.html">Download and install</a></li><li><a href="../../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li><a href="../../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li class="active"><a href="../../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Hidden options <a href="https://github.com/wallabag/documentation/blob/master/en/02_User_documentation/14_Hidden_options.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h2>Be careful</h2>
<p><strong>Attention</strong>, this part is for advanced users only. We'll edit an important file of wallabag, <code>inc/poche/config.inc.php</code>, please make a backup of this file before changes.<br />
<strong>If you make a mistake while editing a wallabag file, your application may be broken.</strong></p>
<p>This file is created when wallabag is installed.<br />
Please first install wallabag, make a backup of this file and open it with <del>Sublime Text</del> your favorite editor.</p>
<p>In this file are defined some parameters that you can't change on the wallabag <strong>configuration</strong> page. </p>
<h2>Advanced options</h2>
<p>Each parameter is defined like this:</p>
<pre><code>@define ('PARAMETER_NAME', 'Parameter value');</code></pre>
<p>For each line, you can only change <code>Parameter value</code> part. </p>
<p>TODO explain all the following parameters</p>
<p>Here are all the parameters you can change: </p>
<ul>
<li><code>HTTP_PORT</code> (default value is <code>80</code>): Expected value: a digit.</li>
<li><code>SSL_PORT</code> (default value is <code>443</code>): Expected value: a digit. </li>
<li><code>DEBUG_POCHE</code> (default value is <code>FALSE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>DOWNLOAD_PICTURES</code> (default value is <code>FALSE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>SHARE_TWITTER</code> (default value is <code>TRUE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>SHARE_MAIL</code> (par défaut, <code>TRUE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>SHARE_SHAARLI</code> (default value is <code>FALSE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>SHAARLI_URL</code> (default value is <code>'http://myshaarliurl.com'</code>): Expected value: your Shaarli URL. </li>
<li><code>FLATTR</code> (default value is <code>TRUE</code>): Expected values: <code>TRUE</code> or <code>FALSE</code>.</li>
<li><code>SHOW_PRINTLINK</code> (default value is <code>'1'</code>): Expected values: <code>'0'</code> to disable, <code>'1'</code> to enable.</li>
<li><code>SHOW_READPERCENT</code> (default value is <code>'1'</code>): <code>'0'</code> to disable, <code>'1'</code> to enable.</li>
<li><code>PAGINATION</code> (default value is <code>'12'</code>): Expected value: a digit. </li>
</ul>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

@ -1,138 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Save your first article</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../../en/Getting_started.html">Getting started</a></li><li><a href="../../en/Help_wallabag.html">Help wallabag</a></li><li class="open"><a href="#" class="aj-nav folder">User documentation</a><ul class="nav nav-list"><li><a href="../../en/User_documentation/Download_and_install.html">Download and install</a></li><li class="active"><a href="../../en/User_documentation/Save_your_first_article.html">Save your first article</a></li><li><a href="../../en/User_documentation/Configure_wallabag.html">Configure wallabag</a></li><li><a href="../../en/User_documentation/Hidden_options.html">Hidden options</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Save your first article <a href="https://github.com/wallabag/documentation/blob/master/en/02_User_documentation/03_Save_your_first_article.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Sunday, November 16, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
9:22 PM </span>
</div>
<h1>Save your first article</h1>
<p>Once connected on wallabag, you have many ways to save an article.</p>
<h2>From the web application</h2>
<p>Let's see first how to do from the web application. In the menu, you have a link <strong>save a link</strong>. Clicking on it, a form shows up : you simply have to type the web adress of the article you want to save.</p>
<p>Confirm to store the content of the article.</p>
<p>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 <em>DOWNLOAD_PICTURES</em>. Read the chapter on hidden options for more information. </p>
<h2>From the bookmarklet</h2>
<p>From <a href="http://fr.wikipedia.org/wiki/Bookmarklet">Wikipedia's definition</a></p>
<blockquote>
<p>A bookmarklet is a <a href="http://en.wikipedia.org/wiki/Internet_bookmark">bookmark</a> stored in a <a href="http://en.wikipedia.org/wiki/Web_browser">web browser</a> that contains <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>commands to extend the browser's functionality.</p>
<p>Bookmarklets are unobtrusive scripts stored as the URL of a bookmark in a web browser or as a hyperlink on a web page.</p>
<p>When clicked, a bookmarklet performs some function, one of a wide variety such as a search query or data extraction. Bookmarklets are usually <a href="http://en.wikipedia.org/wiki/Computer_program">JavaScript programs</a>.</p>
</blockquote>
<p>From the wallabag's menu, click on <strong>settings</strong>. On the first part of this page, we have listed all the ways to save an article. You'll find the bookmarklet (it's 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.</p>
<h2>From your smartphone</h2>
<h3>Above all else</h3>
<p>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 tokken. Read the chapter on RSS feeds for more information.</p>
<h3>Android</h3>
<h4>Installation and configuration</h4>
<p>You can download the android application from the <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche">Google Play Store</a> and from <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche">F-droid</a>. It's the exact same application on those two stores.</p>
<p>Once installed, start the application, go to the <strong>settings</strong> part et fill in the <strong>URL (complete address of your wallabag installation or your Framabag account)</strong> and <strong>User ID (in most cases, you'll have to put 1)</strong> 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 <strong>Token</strong> (enter properly all the token's letters as seen in the settings part of wallabag).</p>
<h4>Saving of an article</h4>
<p>Now that everything is correctly set up, as soon as you browse on your smartphone's web browser, you can share an article in wallabag at any time from the <strong>Share</strong> menu : you'll find a <strong>Bag it !</strong> entry which will add your article in wallabag.</p>
<h4>Reading</h4>
<p>When you open the application, click on Synchronize : your recently saved articles will be downloaded on your smartphone.</p>
<p>You don't need an internet connection anymore : click on <strong>List articles</strong> to start your reading.</p>
<p>At the end of each article, a <strong>Mark as read</strong> button allows you to archive the article.</p>
<p>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.</p>
<h3>iOS</h3>
<h4>Installation and configuration</h4>
<p>TODO</p>
<h4>Utilization</h4>
<p>TODO</p>
<h3>Windows Phone</h3>
<h4>Installation and configuration</h4>
<p>You can download the Windows Phone application from the <a href="http://www.windowsphone.com/fr-fr/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450">Windows Store</a> or directly from your smartphone's Store.</p>
<p>Once installed, the application will show you a notification on the first launch, asking the configuration of your wallabag server. Go to the <strong>Settings</strong> part of the application by pressing the three dots menu at the bottom of the screen, then fill in the <strong>URL (complete address of your wallabag installation or your Framabag account)</strong> and <strong>User ID (in most cases, you'll have to put 1)</strong> fields.</p>
<p>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 <strong>Token</strong> (enter properly all the token's letters as seen in the setting part of wallabag).</p>
<h2>From your web browser</h2>
<h3>Firefox</h3>
<p>Download the Firefox add-on on <a href="https://addons.mozilla.org/firefox/addon/wallabag/">addons.mozilla.org</a> and install it like any other Firefox add-on.</p>
<p>In the add-on's settings, fill the complete URL of your installation of wallabag or your Framabag account.</p>
<p>Personalize the Firefox toolbar to add wallabag (<strong>W</strong> 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.</p>
<h3>Chrome</h3>
<p>Download the Chrome add-on <a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj">on the dedicated website</a> and install it like any other Chrome add-on.</p>
<p>In the add-on's settings, fill the complete URL of your installation of wallabag or your Framabag account.</p>
<p>During the addon's installation, a new icon appear in Chrome toolbar (a <strong>W</strong> 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.</p>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

87
docs/en/conf.py Normal file
View File

@ -0,0 +1,87 @@
# -*- 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'
copyright = u'2013-2015, 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 = 'wallabagdoc'
latex_elements = {
}
latex_documents = [
('index', 'wallabag.tex', u'wallabag Documentation',
u'Nicolas Lœuillet', 'manual'),
]
man_pages = [
('index', 'wallabag', u'wallabag Documentation',
[u'Nicolas Lœuillet'], 1)
]
texinfo_documents = [
('index', 'wallabag', u'wallabag Documentation',
u'Nicolas Lœuillet', 'wallabag', 'One line description of project.',
'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")
# 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
}

58
docs/en/index.rst Normal file
View File

@ -0,0 +1,58 @@
wallabag documentation
======================
.. image:: ../img/wallabag.png
:alt: wallabag logo
:align: center
**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:
* :ref:`user-docs`
* :ref:`admin-docs`
* :ref:`dev-docs`
.. _user-docs:
.. toctree::
:maxdepth: 2
: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
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Developer Documentation
Developer/write_config_files
Developer/create_new_theme
Developer/git_repo

2
docs/en/requirements.txt Normal file
View File

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

View File

@ -0,0 +1,61 @@
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``.
Settings
--------
Theme
~~~~~
wallabag is customizable. You can choose your prefered theme here. You can also create a new one, a chapter is dedicated for this. The default theme is ``Material``, it's the theme used in the documentation screenshots.
Items per page
~~~~~~~~~~~~~~
You can change the number of articles displayed on each page.
Language
~~~~~~~~
You can change the language of wallabag interface.
RSS
---
wallabag provides RSS feeds for each article status: unread, starred and archive.
Firstly, you need to create a personal token: click on ``Create your token``.
It's possible to change your token by clicking on ``Reset your token``.
Now you have three links, one for each status: add them into your favourite RSS reader.
You can also define how many articles you want in each RSS feed (default value: 50).
User information
----------------
You can change your name, your email address and enable ``Two factor authentication``.
Two factor authentication
~~~~~~~~~~~~~~~~~~~~~~~~~
Two-factor authentication (also known as 2FA) is a technology patented in 1984 that provides identification of users by means of the combination of two different components.
https://en.wikipedia.org/wiki/Two-factor_authentication
If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email. You have to put this code on the following form.
.. image:: ../../img/user/2FA_form.png
:alt: Two factor authentication
:align: center
If you don't want to receive a code each time you want to login, you can check the ``I'm on a trusted computer`` checkbox: wallabag will remember you for 15 days.
Password
--------
You can change your password here.

View File

@ -0,0 +1,43 @@
Create an account
=================
On the login page, click on ``Register`` button.
.. image:: ../../img/user/registration_form.png
:alt: Registration form
:align: center
You have to fill the form. Please sure to type a valid email address, we'll send you an activation email.
.. image:: ../../img/user/sent_email.png
:alt: Email was sent to activate account
:align: center
Check your inbox, you now have a new mail with a link like this ``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``. Click on it to activate your account.
Your account is now activated.
.. image:: ../../img/user/activated_account.png
:alt: Welcome on board!
:align: center
Frequently asked questions
--------------------------
I can't valid the registration form
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make sure that all fields are well filled:
* valid email address
* same passwords in two fields
I don't receive my activation email
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Are you sure your email address was correct? Did you check your spams folder?
When I click on the activation link, I've got this message: ``The user with confirmation token "DtrOPfbQeVkWf6N" does not exist``.
~~~~~~~~~~~~~~~
You already enabled your account or the URL of the activation email is wrong.

View File

@ -0,0 +1,79 @@
Save your first article
=======================
The main purpose of wallabag is to save web articles. You have many ways to do it.
By using a bookmarklet
----------------------
On the ``Howto`` page, you have a ``Bookmarklet`` tab. Drag and drop the ``bag it!`` link to your bookmarks bar of your browser.
Now, each time you're reading an article on the web and you want to save it, click on the ``bag it!`` link in your bookmarks bar. The article is saved.
By using the classic form
-------------------------
In the top bar of your screen, you have 3 icons. With the first one, a plus sign, you can easily save a new article.
.. image:: ../../img/user/topbar.png
:alt: Top bar
:align: center
Click on it to display a new field, paste the article URL inside and press your ``Return`` key. The article is saved.
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.
Chrome
~~~~~~
By using your smarphone application
-----------------------------------
Android
~~~~~~~
Firefox OS
~~~~~~~~~~
Windows Phone
~~~~~~~~~~~~~
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

39
docs/en/user/import.rst Normal file
View File

@ -0,0 +1,39 @@
Migrate to wallabag
===================
From wallabag 1.x
-----------------
Export your data from your wallabag 1.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On your config page, click on ``JSON export`` in the ``Export your wallabag data`` section.
.. image:: ../../img/user/export_wllbg_1.png
:alt: Export from wallabag 1.x
:align: center
You will have a ``wallabag-export-1-1970-01-01.json`` file.
Import your data into wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Click on ``Import`` link in the menu, select your export file on your computer and import it.
.. image:: ../../img/user/import_wllbg.png
:alt: Import from wallabag 1.x
:align: center
All your wallabag 1.x articles will be imported.
From Pocket
-----------
From Instapaper
---------------
From Readability
----------------
From HTML or JSON file
----------------------

20
docs/en/user/login.rst Normal file
View File

@ -0,0 +1,20 @@
Login
=====
Your account is now enabled, congratulations!
To login to wallabag, fill the form on login page.
If you are on your personal computer and you want to stay connected, you can check the ``Keep me logged in`` checkbox: wallabag will remember you for one year.
.. image:: ../../img/user/login_form.png
:alt: Login form
:align: center
Frequently asked questions
--------------------------
I forgot my password
~~~~~~~~~~~~~~~~~~~~
You can reset your password by clicking on ``Forgot your password?`` link, on the login page. Then, fill the form with your email address

View File

@ -0,0 +1,22 @@
---
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

@ -0,0 +1,35 @@
---
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

@ -0,0 +1,40 @@
---
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

@ -0,0 +1,121 @@
---
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

@ -0,0 +1,26 @@
---
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

@ -0,0 +1,52 @@
---
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,126 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<title>Contribuer à wallabag</title>
<meta charset="utf-8">
<meta name="description" content="Documentation for wallabag" />
<meta name="author" content="Nicolas Lœuillet">
<link rel="icon" href="../templates/default/themes/daux-blue/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Font -->
<!-- CSS -->
<link href='../templates/default/themes/daux-blue/css/daux-blue.css' rel='stylesheet' type='text/css'>
</head>
<body>
<!-- Docs -->
<div class="container-fluid fluid-height wrapper">
<div class="navbar navbar-fixed-top hidden-print">
<div class="container-fluid">
<a class="brand navbar-brand pull-left" href="../index.html">wallabag</a>
<p class="navbar-text pull-right">Generated by <a href="http://daux.io">Daux.io</a></p>
</div>
</div>
<div class="row columns content">
<div class="left-column article-tree col-sm-3 hidden-print">
<!-- For Mobile -->
<div class="responsive-collapse">
<button type="button" class="btn btn-sidebar" id="menu-spinner-button">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="sub-nav-collapse" class="sub-nav-collapse">
<!-- Navigation -->
<ul class="nav nav-list"><li><a href="../fr/Pour_commencer.html">Pour commencer</a></li><li class="active"><a href="../fr/Contribuer_à_wallabag.html">Contribuer à wallabag</a></li><li><a href="#" class="aj-nav folder">Documentation utilisateur</a><ul class="nav nav-list"><li><a href="../fr/Documentation_utilisateur/Téléchargement_et_installation.html">Téléchargement et installation</a></li><li><a href="../fr/Documentation_utilisateur/Sauvegarder_son_premier_article.html">Sauvegarder son premier article</a></li><li><a href="../fr/Documentation_utilisateur/Lire_un_article.html">Lire un article</a></li><li><a href="../fr/Documentation_utilisateur/Classer_ses_articles.html">Classer ses articles</a></li><li><a href="../fr/Documentation_utilisateur/Configurer_wallabag.html">Configurer wallabag</a></li><li><a href="../fr/Documentation_utilisateur/Rechercher.html">Rechercher</a></li><li><a href="../fr/Documentation_utilisateur/Convertir_en_ePub.html">Convertir en ePub</a></li><li><a href="../fr/Documentation_utilisateur/Un_article_est_mal_affiché.html">Un article est mal affiché</a></li><li><a href="../fr/Documentation_utilisateur/Flux_RSS.html">Flux RSS</a></li><li><a href="../fr/Documentation_utilisateur/Importer_:_Exporter.html">Importer : Exporter</a></li><li><a href="../fr/Documentation_utilisateur/Multi-utilisateurs.html">Multi-utilisateurs</a></li><li><a href="../fr/Documentation_utilisateur/Se_créer_un_compte_sur_Framabag.html">Se créer un compte sur Framabag</a></li><li><a href="../fr/Documentation_utilisateur/Les_options_cachées.html">Les options cachées</a></li></ul></li><li><a href="#" class="aj-nav folder">Documentation technique</a><ul class="nav nav-list"><li><a href="../fr/Documentation_technique/Créer_un_nouveau_thème.html">Créer un nouveau thème</a></li><li><a href="../fr/Documentation_technique/Docker.html">Docker</a></li><li><a href="../fr/Documentation_technique/Dépôt_git_de_wallabag.html">Dépôt git de wallabag</a></li><li><a href="../fr/Documentation_technique/Vagrant.html">Vagrant</a></li><li><a href="../fr/Documentation_technique/wallabag_v2_(Symfony2).html">wallabag v2 (Symfony2)</a></li></ul></li></ul> <div class="well well-sidebar">
<!-- Links -->
<a href="https://www.wallabag.org/downloads" target="_blank">Download</a><br><a href="https://github.com/wallabag/wallabag" target="_blank">GitHub Repo</a><br><a href="http://support.wallabag.org" target="_blank">Help</a><br><a href="https://github.com/wallabag/documentation/graphs/contributors" target="_blank">Documentation contributors</a><br>
<!-- Twitter -->
</div>
</div>
</div>
<div class="right-column content-area col-sm-9">
<div class="content-page">
<article>
<div class="page-header sub-header clearfix">
<h1>Contribuer à wallabag <a href="https://github.com/wallabag/documentation/blob/master/fr/01_Contribuer_à_wallabag.md" class="btn">Fix this page</a> </h1>
<span style="float: left; font-size: 10px; color: gray;">
Tuesday, November 4, 2014 </span>
<span style="float: right; font-size: 10px; color: gray;">
8:34 AM </span>
</div>
<h2>Soumettre des bugs</h2>
<h3>Demande de support</h3>
<p>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 <a href="http://support.wallabag.org"><a href="http://support.wallabag.org">http://support.wallabag.org</a></a>.</p>
<p>Nous verrons alors si nous pouvons vous dépanner rapidement ou alors s'il s'agit un nouveau bug qu'il nous faudra corriger.</p>
<p>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. </p>
<h3>Créer un nouveau ticket</h3>
<p>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). </p>
<p><strong>Avant toute chose</strong>, pensez à lire <a href="https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md">les recommandations nécessaires pour la rédaction d'un nouveau ticket</a>. Au mieux vous renseignez votre ticket, au mieux nous pourrons vous aider. </p>
<ul>
<li>si c'est un bug avec l'application web, <a href="https://github.com/wallabag/wallabag/issues/new">ouvrez un nouveau ticket ici</a></li>
<li>si c'est un bug avec l'application Android, <a href="https://github.com/wallabag/android-app/issues/new">ouvrez un nouveau ticket ici</a></li>
<li>si c'est un bug avec l'application Windows Phone, <a href="https://github.com/wallabag/windowsphone-app">ouvrez un nouveau ticket ici</a></li>
<li>si c'est un bug avec l'application iOS, <a href="https://github.com/wallabag/ios-app/issues/new">ouvrez un nouveau ticket ici</a></li>
<li>si c'est un bug avec l'extension Firefox, <a href="https://github.com/wallabag/firefox-ext/issues/new">ouvrez un nouveau ticket ici</a></li>
<li>si c'est un bug avec l'extension Chrome, <a href="https://github.com/wallabag/chrome-ext/issues/new">ouvrez un nouveau ticket ici</a></li>
</ul>
<h2>Écrire et corriger la documentation</h2>
<p>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. </p>
<p>Le dépôt Github se trouve ici : <a href="https://github.com/wallabag/documentation"><a href="https://github.com/wallabag/documentation">https://github.com/wallabag/documentation</a></a>.</p>
<p>Astuce : si vous êtes en train de lire une page de la documentation et vous vous rendez compte d'une erreur ou d'un oubli, cliquez sur le lien <strong>Fix this page</strong> qui se trouve à côté du titre de la page. Vous serez alors redirigés vers la page sur Github, vous n'aurez plus qu'à proposer vos modifications. </p>
<h2>Corriger les bugs, résoudre les problèmes : faire du support</h2>
<p>Deux possibilités : </p>
<ul>
<li>lorsqu'un utilisateur de wallabag pose une nouvelle question <a href="http://support.wallabag.org">sur le site de support</a>, en tant qu'utilisateur avancé de wallabag, vous pouvez lui répondre. </li>
<li>sur Github, des tickets correspondent sûrement à vos compétences. <a href="https://github.com/wallabag/wallabag/issues">Parcourez la liste des tickets</a> et servez-vous. </li>
</ul>
<p>Si vous souhaitez proposer une modification dans le code de wallabag, vous êtes le bienvenu. <a href="https://github.com/wallabag/wallabag/blob/master/CONTRIBUTING.md">N'oubliez pas de lire les recommandations pour proposer vos modifications</a>.</p>
<h2>Communiquer</h2>
<p>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. </p>
<p>D'ailleurs, voici la liste de nos comptes sur ces réseaux, si jamais vous voulez nous citer dans un de vos messages : </p>
<ul>
<li><a href="https://framasphere.org/people/2335ff202f920132196e2a0000053625">Diaspora*</a></li>
<li><a href="https:/twitter.com/wallabagapp">twitter</a></li>
<li><a href="https://www.facebook.com/wallabag">Facebook</a></li>
<li><a href="https://plus.google.com/+WallabagOrg/">Google+</a></li>
</ul>
</article>
</div>
</div>
</div>
</div>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (typeof jQuery == 'undefined')
document.write(unescape("%3Cscript src='../js/jquery-1.11.0.min.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<!-- hightlight.js -->
<script src="../js/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- JS -->
<!-- Front end file editor -->
<script src="../js/custom.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</body>
</html>

View File

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

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