Compare commits

...

660 Commits
2.1.1 ... 2.2.1

Author SHA1 Message Date
92995138fb Release wallabag 2.2.1 2017-01-31 11:38:05 +01:00
713f35bafd Merge pull request #2812 from wallabag/prepare-221
Prepare wallabag 2.2.1 🚀
2017-01-31 11:31:45 +01:00
4021c928be Prepare wallabag 2.2.1 🚀 2017-01-31 11:06:35 +01:00
38c73f9691 Merge pull request #2809 from wallabag/fix-22-migrations
Fixed duplicate entry for share_public in craue_setting_table
2017-01-31 11:03:58 +01:00
a5cd696b22 Added check in migration about uuid field 2017-01-30 21:21:49 +01:00
7a340375c3 Fixed duplicate entry for share_public in craue_setting_table 2017-01-30 16:22:03 +01:00
ec67907420 Merge pull request #2790 from wallabag/prepare-220
Prepare wallabag 2.2.0 🚀
2017-01-27 19:03:13 +01:00
c833d576a9 Prepare wallabag 2.2.0 🚀 2017-01-27 17:28:58 +01:00
f0c5154d68 Merge pull request #2789 from wallabag/add-index-starred-archived
Added indexes on is_archived and is_starred
2017-01-27 14:46:50 +01:00
01e760691b Fixed check on index 2017-01-27 14:11:21 +01:00
b564d350b0 Added indexes on is_archived and is_starred 2017-01-27 11:44:04 +01:00
6fb06904ec Merge pull request #2416 from wallabag/2.2
wallabag 2.2.0
2017-01-27 09:34:32 +01:00
78295b99dd Merge remote-tracking branch 'origin/master' into 2.2 2017-01-26 13:32:07 +01:00
463cb376e3 Merge pull request #2646 from wallabag/explain-migrations-in-doc
Added explanations about migrations
2017-01-26 13:15:06 +01:00
012b2d453e Merge pull request #2787 from wallabag/lock-rulerz
Lock kphoen/rulerz to avoid breaking changes
2017-01-26 11:33:42 +01:00
363e2a9ce9 Lock kphoen/rulerz to avoid breaking changes 2017-01-26 11:01:25 +01:00
73eb2b4ed5 Merge pull request #2750 from wallabag/rename-uuid
Added migration to rename uuid to uid
2017-01-25 13:57:26 +01:00
6dfd1a6c78 Added migration for SQLite 2017-01-25 12:59:04 +01:00
5d916d03af Moved queries in a separate file 2017-01-25 12:34:20 +01:00
b8805fad03 Merge pull request #2774 from wallabag/cli-export
add cli export
2017-01-24 21:07:49 +01:00
3b0380f049 Fix phpcs and tests 2017-01-24 20:42:02 +01:00
c8cd1660af Fixed update script 2017-01-23 14:43:00 +01:00
4acbeb9371 Added hardcoded SQL for migration to 2.2 2017-01-23 14:16:00 +01:00
b87f171233 Added information about latest migrations 2017-01-23 12:42:58 +01:00
500ae20c94 Add translation for 🇩🇪 2017-01-23 12:42:58 +01:00
80aee45fa8 Added french translation 2017-01-23 12:42:58 +01:00
c8ef0583af Added explanations about migrations 2017-01-23 12:42:58 +01:00
a607b7a9c0 add filepath test
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-01-22 13:19:46 +01:00
8303b037fb add cli export
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-01-22 12:51:14 +01:00
afaee1cc0a Merge pull request #2763 from janLo/sort-tags
Sort list of available tags
2017-01-18 15:15:19 +01:00
05fa529bcf Merge pull request #2759 from wallabag/prepare-216
Prepare wallabag 2.1.6 🚀
2017-01-18 10:24:24 +01:00
32755d5091 Order tags by slug
This adds an orderBy clause to findAllTags(). This makes the list of
tags more useful, as the tags appear in alphanumerical order instead of
somehow random.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2017-01-17 19:22:20 +01:00
1ba542ce04 Prepare wallabag 2.1.6 🚀 2017-01-17 13:59:39 +01:00
9123cb3053 Merge pull request #2758 from wallabag/fix-public-sharing
Fixed possible JS injection via the title edition
2017-01-17 11:59:14 +01:00
3d9950792c Fixed possible JS injection via the title edition 2017-01-17 10:09:04 +01:00
5ed503ab28 Added migration to rename uuid to uid 2017-01-14 13:46:20 +01:00
b4d81c91de Merge pull request #2742 from wallabag/fix-og-image-false
Avoid false preview image
2017-01-10 21:25:27 +01:00
1ff2e71c1c Use latest bdunogier/guzzle-site-authenticator 2017-01-10 18:50:55 +01:00
72e634b06c Fix registration.submit test 2017-01-10 18:50:45 +01:00
3d71d40349 Avoid false preview image
If the website doesn't provide an og_image, the value will be false and so it'll be saved like that in the database.
We prefer to leave it as null instead of false.
2017-01-10 17:42:36 +01:00
e4ccd3effe Update deps 2017-01-10 17:35:17 +01:00
a4180d0b8e Merge pull request #2733 from wallabag/fix-no-matching-response
Fixed API error No matching accepted Response format could be determined
2017-01-08 10:22:31 +01:00
96e2827605 Merge pull request #2736 from lex111/patch-1
Update copyright year
2017-01-04 22:43:58 +01:00
de84b135e2 Update copyright year in COPYING.md 2017-01-05 00:06:09 +03:00
c20d9e311f Update copyright year 2017-01-04 23:57:33 +03:00
cace43dd7b Merge pull request #2735 from wallabag/remove-small-readingtime
Removed the small element on reading time
2016-12-30 15:45:19 +01:00
144f2039e4 Merge pull request #2729 from Simounet/fix/double-overlay-right-sidenav
Fix double overlay on expanded right sidenav
2016-12-30 15:01:39 +01:00
4da856ef11 Merge pull request #2728 from Simounet/fix/side-nav-scrolling
Fix right side-nav scrolling on low height window
2016-12-30 14:57:39 +01:00
70d99765c7 Removed the small element on reading time 2016-12-30 14:17:18 +01:00
ccb9e79a35 Fix double overlay on expanded right sidenav 2016-12-30 14:00:19 +01:00
bb2934d476 Fix action's icons position 2016-12-30 13:54:13 +01:00
8e2419a5cf Fix right side-nav scrolling on low height window 2016-12-30 13:50:59 +01:00
339b1e689d Merge pull request #2725 from lapineige/master
Share to Shaarli - Include tags
2016-12-30 13:50:44 +01:00
0bacc9e175 Fixed API error 'No matching accepted Response format could be determined' 2016-12-30 13:23:02 +01:00
510b02573f Merge pull request #2732 from Simounet/fix/firefox-addon-url
Firefox add-on URL updated
2016-12-30 13:18:22 +01:00
db769f6061 Firefox add-on URL updated 2016-12-30 12:01:38 +01:00
5f4667e3e8 Merge pull request #2730 from Simounet/feature/all-actions-on-mobile
Access to search, filters, export on mobile
2016-12-30 11:10:47 +01:00
af54b2c959 Merge pull request #2731 from llune/patch-2
Minor typo fix
2016-12-30 08:55:15 +01:00
9ad7475c74 Minor typo fix 2016-12-30 02:20:58 +01:00
22d0c929e3 Access to search, filters, export on mobile 2016-12-29 19:19:51 +01:00
8527238846 Merge pull request #2702 from wallabag/add-index-uuid
Added index on entry.uuid
2016-12-29 10:54:07 +01:00
7239082a5e Renamed uuid to uid 2016-12-29 10:09:44 +01:00
90f6ee4dbe Merge pull request #2724 from Simounet/fix/reading-time
Fix entry reading time
2016-12-28 18:11:01 +01:00
d5d4708fe3 Share tags to Shaarli - Material theme 2016-12-28 12:27:09 +01:00
0a0aa70098 Share tags to Shaarli - Baggy theme 2016-12-28 12:27:00 +01:00
92ba3b5c0d Merge pull request #2723 from wallabag/fix-export-tag-space
Fixed export by tags with a tag which contains space
2016-12-28 09:10:14 +01:00
6ed615ac74 Fix entry reading time 2016-12-27 22:37:42 +01:00
c8de7ab94c Fixed export by tags with a tag which contains space 2016-12-27 21:26:53 +01:00
89cd670abf Changed uuid type in database 2016-12-25 10:51:25 +01:00
8137515171 Fixed index on entry.uuid and changed uuid field type 2016-12-25 10:51:25 +01:00
af131cb513 Added index on table creation 2016-12-23 10:26:33 +01:00
74b7c0985d Added index on entry.uuid
Useful for entry sharing
2016-12-23 10:26:33 +01:00
7719346328 Merge pull request #2696 from wallabag/run-migration
Run migration on each test
2016-12-23 09:31:41 +01:00
a72f3dc308 Fix bad migration for PostreSQL
Queries weren’t executed for PostgreSQL, bad syntax.
2016-12-23 09:00:13 +01:00
cd77a7e7ef Merge pull request #2714 from Simounet/fix/entry-card-shadow
Fix the box shadow on the card entry
2016-12-20 14:52:50 +01:00
78d6c3090a Fix the box shadow on the card entry 2016-12-20 13:04:51 +01:00
3ef75cc4e3 Be consistent between migration & schema definition 2016-12-19 14:24:19 +01:00
6514f0ed37 fixup! Run migration in test, ready for MySQL 2016-12-19 10:35:25 +01:00
d44016b072 Use actual database name
We can't retrieve the environment within the migration.
And when we ran migration on Travis, database name isn't `database_name` but `test_database_name`.
Retrieve the database name from the connection is more accurate
2016-12-19 10:35:25 +01:00
3ad4061dba pocket_consumer_key can be null 2016-12-19 10:35:24 +01:00
d9efa42f66 fixup! Manually import file for PostgreSQL 2016-12-19 10:35:24 +01:00
bd8db77f5f Remove comment
"The string "--" is not permitted within comments."
2016-12-19 10:35:24 +01:00
5354485885 Add orignal DB schema 2016-12-19 10:35:24 +01:00
81915ad8df And of course it doesn't work for SQLite 2016-12-19 10:35:24 +01:00
cafb105681 Manually import file for PostgreSQL 2016-12-19 10:35:24 +01:00
a48b5d5a5a Run migration in test, ready for MySQL 2016-12-19 10:35:24 +01:00
68cb89a516 Merge pull request #2616 from mathieui/doc-https-links
Change documentation links to HTTPS
2016-12-19 10:29:18 +01:00
77e342f75d Merge pull request #2682 from wallabag/migration-config
Ensure craue_config_setting migration are ok
2016-12-18 20:32:35 +01:00
bea8d75417 Replaced quotes for Postgres 2016-12-18 13:47:25 +01:00
57e629e154 Merge pull request #2690 from wallabag/improve-rmq-config
Added QoS for RabbitMQ
2016-12-16 08:20:50 +01:00
be8033bf12 Merge pull request #2701 from wallabag/disable-outputWalkers
Removed outputWalkers for pagination
2016-12-16 07:43:01 +01:00
31fec5f363 Ensure craue_config_setting migration are ok
We now can run the migration every time, new line from `craue_config_setting` are properly checked.
2016-12-15 22:25:10 +01:00
881b0578e7 Moved RabbitMQ QoS to parameters 2016-12-15 22:23:28 +01:00
99712e5d85 Added QoS for RabbitMQ 2016-12-15 22:23:28 +01:00
5a5da36955 Removed outputWalkers for RSS and API 2016-12-15 22:22:57 +01:00
9deac0c597 Removed outputWalkers for pagination
Due to overload, we disabled output walkers (see https://github.com/whiteoctober/Pagerfanta/issues/115
2016-12-15 22:22:56 +01:00
24becc9717 Merge pull request #2667 from wallabag/upgrade-symfony-32
Upgrade to Symfony 3.2
2016-12-15 22:18:45 +01:00
6ad8aabb83 Fixed search bug 2016-12-15 21:38:16 +01:00
21e7ccef3d Fix tests & deprecation notice 2016-12-15 21:38:16 +01:00
202a66ce02 Use simple-phpunit instead of phpunit
To avoid problem with the Yaml constant
http://symfony.com/blog/how-to-solve-phpunit-issues-in-symfony-3-2-applications
2016-12-13 09:33:06 +01:00
15cc183850 Merge pull request #2699 from wallabag/remove-usertable-query
Removed user join in query builder
2016-12-13 09:08:34 +01:00
375c9e2d3e Merge pull request #2697 from wallabag/fix-list-mode
Add default value for list_mode
2016-12-12 22:54:43 +01:00
45c159b798 Removed user join in query builder 2016-12-12 22:51:29 +01:00
24879db1f7 Add default value for list_mode 2016-12-12 17:41:03 +01:00
2c1eed8051 Merge pull request #2691 from wallabag/moved-total-import-notif
Moved total messages from import
2016-12-08 19:02:30 +01:00
be2c55de4c Moved total messages from import 2016-12-08 16:46:17 +01:00
edb9feb472 Merge pull request #2689 from wallabag/change-chmod
Replaced chmod for download pictures feature
2016-12-08 15:19:33 +01:00
e044d27f82 Replaced chmod for download pictures feature 2016-12-08 13:04:15 +01:00
75ae3c8d82 Merge pull request #2688 from wallabag/fix-browsers-import
Fixed imports with is_starred and is_archived
2016-12-08 09:07:09 +01:00
bb98fede2b Fixed imports with is_starred and is_archived 2016-12-07 16:01:50 +01:00
2d4b167038 Merge pull request #2686 from wallabag/fix-redis-import
Casted maxIterations for Redis import
2016-12-06 21:04:08 +01:00
558d5199b9 Merge pull request #2680 from wallabag/taggingrule-255
Limit rule to 255
2016-12-06 21:00:24 +01:00
7dc48ef820 Casted maxIterations for Redis import
Simpleue\Worker wants an integer, we gave it a string
2016-12-06 11:44:40 +01:00
4a1f963531 Merge pull request #2679 from jcharaoui/fix-2658
Fix content from imported entried being discarded when URL goes bad
2016-12-04 19:30:11 +01:00
106bdbcd0a Add some comments 2016-12-04 11:27:49 +01:00
a2c1b94e82 Revert switch to KernelTestCase for ContentProxyTest
Define the error string manually inside the test class instead of
fetching it from app config.
2016-12-03 09:50:36 -05:00
5aa0294cca Limit rule to 255
To avoid database error
2016-12-03 11:10:39 +01:00
cd82ace70a Add missing CoreKernelTestCase class 2016-12-03 00:26:57 -05:00
dba1e0b188 Fix WallabagV1Controller test
Account for URL redirection in refreshed entry.
2016-12-03 00:14:06 -05:00
fc2b7bda53 Fix ContentProxy tests 2016-12-03 00:14:06 -05:00
3cd6da0b74 Allow fetching content on all import types
For better consistency, allow all types of imported entries to update,
which was already the case for Firefox and Chrome.
2016-12-03 00:12:20 -05:00
e858018fdd Prevent undefined index when import fetching fails 2016-12-02 22:45:04 -05:00
36e6ef52a1 Imported entries which fail to fetch get standard error body 2016-12-02 22:42:36 -05:00
29dca43236 Retain imported content if fetching fails, fixes #2658 2016-12-02 22:41:35 -05:00
1093e979ff Merge pull request #2677 from wallabag/add-wallabag_user.de.yml
add translations/wallabag_user.de.yml (fixes #2673)
2016-12-01 19:08:12 +01:00
10d85dbae3 Update wallabag_user.de.yml
Wallabag->wallabag
2016-12-01 18:23:41 +01:00
87958ce645 add translations/wallabag_user.de.yml (fixes #2673) 2016-12-01 18:03:36 +01:00
81c657fc5b Merge pull request #2676 from wallabag/update-addons
Updated addons links
2016-12-01 14:39:48 +01:00
8d064ba5a4 Updated addons links 2016-12-01 13:48:34 +01:00
075e1d75e2 Merge pull request #2674 from wallabag/fix-404img-2FA
Fixed 404 for wallabag logo in 2FA
2016-12-01 13:35:55 +01:00
68da51d2a3 Fixed 404 for wallabag logo in 2FA 2016-12-01 10:51:04 +01:00
4bd42110c6 Merge pull request #2672 from wallabag/fix-typo
Fixed typo in asynchronous documentation
2016-12-01 07:38:19 +01:00
b46e63fc0a Fixed typo in asynchronous documentation 2016-11-30 22:02:08 +01:00
f3a1b896b3 Merge pull request #2670 from wallabag/add-floating-button
Added floating button on entry view for mobile
2016-11-30 16:55:44 +01:00
6787afbe0d Added floating button on entry view for mobile 2016-11-30 16:08:02 +01:00
9abac9651f Merge pull request #2650 from wallabag/add-hascolumn
Added hasColumn() in migration to check column existence
2016-11-30 14:17:40 +01:00
067ae472cc Named index 2016-11-30 12:29:55 +01:00
65a8c6e135 Code review 2016-11-30 11:27:07 +01:00
d68e045d86 Upgrade to Symfony 3.2 2016-11-30 11:08:38 +01:00
ad51d77146 Merge pull request #2662 from wallabag/add-list-view
Add list view
2016-11-28 16:47:41 +01:00
9aa991281d Renamed view_mode by list_mode and hide excerpt 2016-11-28 16:10:21 +01:00
d79b3adbed Fixed typo 2016-11-28 14:28:35 +01:00
597755b8c7 Cleaned old migrations 2016-11-28 14:28:35 +01:00
84c6a48df4 Added dropColumn for SQLite and some enhancements 2016-11-28 14:28:35 +01:00
a4d55a9161 Replaced abortIf with skipIf 2016-11-28 14:28:35 +01:00
18d7bc3a35 Added checks on migrations 2016-11-28 14:28:35 +01:00
986cb53645 Removed my hasColumn and used the existing one in Doctrine 2016-11-28 14:28:35 +01:00
73f7eabb6e Added hasColumn() in migration to check column existence 2016-11-28 14:28:35 +01:00
56a7ce17f3 Hide article text on mobile with list mode 2016-11-28 14:27:58 +01:00
8f3ff39ca3 Added test for list view 2016-11-28 14:27:58 +01:00
9f01d0fde0 Added list view 2016-11-28 14:27:58 +01:00
34ea7be622 Merge pull request #2663 from wallabag/remove-fosuser-attributes
Removed FOSUser attributes removed in alpha4
2016-11-28 14:27:31 +01:00
07326af5e2 Added migration to remove useless fields 2016-11-28 13:25:18 +01:00
cda0662311 Removed FOSUser attributes removed in alpha4
See https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Upgrade.md\#200-alpha3-to-200-alpha4
2016-11-28 12:44:17 +01:00
6bb0866cf5 Merge pull request #2659 from akovalyov/bugfix/non-latin-characters-in-reading-time-calculation
Fix incorrect reading time calculation for entries in non-latin languages.
2016-11-28 09:23:04 +01:00
5b6888b13f Fix incorrect reading time calculation for entries in languages with
non-latin chars subset.
2016-11-28 01:15:06 +02:00
5b644798a0 Merge pull request #2654 from Kdecherf/domain-filter
Enforce lowercase on domain name filter
2016-11-27 18:35:38 +01:00
00fc2b44f4 Enforce lowercase on domain name filter
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-26 19:52:50 +01:00
ebe50a85fb Merge pull request #2622 from Kdecherf/ui-changes
Material UI Changes
2016-11-25 17:11:07 +01:00
60abe8c274 Minified CSS 2016-11-25 16:45:03 +01:00
56026217c5 Material: update size of text in article
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:49:45 +01:00
819c8f5bd4 Material: render blockquote in italic and strong in bold in article
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:39:53 +01:00
fdaa044314 Material: update style of pre in article
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:39:53 +01:00
59cfd63c23 Material: update style of ul in article
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:39:53 +01:00
858430c0d0 Material: update style of article links
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:39:53 +01:00
5ea90fa8b9 Material: increase max width of article on large screens
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:39:49 +01:00
7470a2f36a Material: prevent bold in title, update title font size
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:37:42 +01:00
5b69e03eb4 Material: change color of background, article content and titles
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-25 13:37:42 +01:00
b5e0bbeb85 Merge pull request #2642 from wallabag/fix-logout-shortcut
Fixed logout shortcut
2016-11-23 15:14:05 +01:00
66e9dde0dc Fixed logout shortcut 2016-11-23 14:40:00 +01:00
f4a9833490 Merge pull request #2620 from wallabag/fix-password-layout
Fix password layout
2016-11-23 09:53:18 +01:00
fcbf253b6b Remove empty line 2016-11-23 09:20:00 +01:00
75a4b3b23f Merge pull request #2640 from wallabag/fix-openoriginal
Fixed entry shortcuts available in list view
2016-11-23 09:06:45 +01:00
0df2a4b021 Fixed entry shortcuts available in list view 2016-11-22 21:31:21 +01:00
be2725db40 Add migration for new FOSUser version 2016-11-22 21:25:05 +01:00
ae741f998e Fix MonologBundle deprecation
The Symfony\Bundle\MonologBundle\DependencyInjection\Compiler\DebugHandlerPass class is deprecated since version 2.12 and will be removed in 3.0. Use AddDebugLogProcessorPass in FrameworkBundle instead.
2016-11-22 21:25:05 +01:00
5066c3e066 Re-use FOSUser master branch 2016-11-22 21:25:05 +01:00
4da598c5df Fix Travis 2016-11-22 21:23:58 +01:00
d7acde5cc3 Use the correct template
When resetting the password, the overriden template we used wasn’t well spelled.

And since we are using a locked version of FOSUser (on a custom commit), the translation of `resetting.check_email` is wrong in any language but english.
2016-11-22 21:23:58 +01:00
9624b3adfa These files aren’t used anymore
Translation were moved to the global one
2016-11-22 21:23:58 +01:00
7c6b7a40d1 Merge pull request #2637 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-11-22 20:02:00 +01:00
24d4b243a7 Update messages.pl.yml
translate shortcuts section to polish
2016-11-22 19:24:38 +01:00
176e0ea3ca Merge pull request #2317 from wallabag/restricted-access
Added authentication for restricted access articles
2016-11-22 19:12:53 +01:00
d51093a7d9 Added documentation and missing translations 2016-11-22 17:32:24 +01:00
d64bf7953b Added internal setting to enable/disable articles with paywall 2016-11-22 14:56:53 +01:00
40f3ea57fb Cleared CookieJar to avoid websites who use cookies for analytics 2016-11-22 14:25:51 +01:00
1d5dd2c241 Merge pull request #2612 from wallabag/add-shortcuts-help
Added help about shortcuts
2016-11-22 14:10:12 +01:00
7aab0ecf2f Added authentication for restricted access articles
Fix #438. Thank you so much @bdunogier
2016-11-22 14:01:46 +01:00
893ccad31f Translations for shortcuts help 2016-11-22 13:33:06 +01:00
c526f9e474 Added help about shortcuts 2016-11-22 13:07:42 +01:00
bb28368f69 Merge pull request #2635 from wallabag/304-reload
Return 304 when content isn't reloaded using the API
2016-11-22 11:27:55 +01:00
5cd0857e3c Return 304 when content isn't reloaded using the API
Previously it was a 400 but this is more related to a real error.
Using the API user should only know the content got reloaded or not.
If reloaded: 200 otherwise: 304.
2016-11-22 10:45:19 +01:00
944b8d6175 Merge pull request #2613 from wallabag/fix-overlap
Fix card action overlap
2016-11-22 10:27:14 +01:00
ba838dae5a Merge pull request #2614 from wallabag/api-reload
Add ability to reload entry from API
2016-11-22 09:39:43 +01:00
c72c6f43f2 Merge pull request #2632 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-11-21 20:17:33 +01:00
4bf5172585 Update messages.pl.yml
missing polish translation added
2016-11-21 18:18:52 +01:00
1f00547836 Merge pull request #2630 from ThibaudDauce/fix-black-headings
Add white-text class to card-title too
2016-11-21 17:06:55 +01:00
4f2755a61d Add white-text class to card-title too 2016-11-21 15:37:47 +01:00
eb2d613c3e Merge remote-tracking branch 'origin/master' into 2.2 2016-11-21 15:15:30 +01:00
625bb56181 Merge pull request #2624 from Rurik19/master
Fix #2056 update config.yml
2016-11-21 13:14:31 +01:00
83fed2648b Merge pull request #2625 from wallabag/prepare-215
Prepare wallabag 2.1.5
2016-11-21 09:49:34 +01:00
98253436e9 Prepare wallabag 2.1.5 🚀 2016-11-21 09:20:27 +01:00
e839f87a1c Merge pull request #2623 from wallabag/composer-php-5.5
Force composer to run as PHP 5.5.9
2016-11-21 09:01:35 +01:00
f32ff37534 Lock down PHPUnit for PHP 5.5
Since Composer defined lowest version is now PHP 5.5.9.
PHPUnit 5.0 require PHP 5.6.
2016-11-21 07:46:46 +01:00
05cdd393d8 wrong spaces 2016-11-21 11:29:09 +05:00
5e7fdfc8dd Fix #2056 update config.yml
Resolves refresh token lifetime issue
2016-11-21 11:13:40 +05:00
c396a50509 Force composer to run as PHP 5.5.9 2016-11-20 23:07:38 +01:00
a38d50e1e8 Merge pull request #2621 from wallabag/redis-password
Add ability to use Redis with password
2016-11-20 22:27:05 +01:00
59c42a4aad Add german translation 2016-11-20 20:43:05 +01:00
c1683778ab Add ability to use Redis with password 2016-11-20 20:43:04 +01:00
56da73969a Return an explicit error if reload fail 2016-11-20 16:25:13 +01:00
70584b42aa Fixing tests 2016-11-20 15:15:13 +01:00
7c05d59153 Change documentation links to HTTPS
Even though all the websites used in the commands redirect http to
https, a man in the middle can happen with the initial request,
leading to arbitrary code execution.
2016-11-20 14:51:14 +01:00
0a6f4568b5 Add ability to reload entry from API 2016-11-20 13:08:41 +01:00
5ae8788583 Merge pull request #2609 from wallabag/rss-paging
RSS paging
2016-11-20 10:17:37 +01:00
77e2898ad4 Fix card action overlap
On smaller resolution
2016-11-20 10:14:19 +01:00
16eb124e4a Add documentation about RSS paging 2016-11-20 09:50:52 +01:00
edd2472faa Fix tests 2016-11-20 09:39:26 +01:00
8670250a26 Add RSS pagination
Following https://tools.ietf.org/html/rfc5005#page-4
2016-11-20 09:39:26 +01:00
3c969d3990 Add missing translations 2016-11-20 09:39:25 +01:00
6f85bed294 Merge pull request #2543 from wallabag/search-engine
Added a simple search engine
2016-11-19 20:42:27 +01:00
995c204428 Added shortcut 2016-11-19 20:05:16 +01:00
32f455c131 Added tests 2016-11-19 20:05:16 +01:00
49b042dfdf Added translations and currentRoute parameter 2016-11-19 19:17:30 +01:00
398de40517 Added search engine in baggy theme 2016-11-19 19:17:30 +01:00
ee122a7528 Added a simple search engine
Fix #18
2016-11-19 19:17:30 +01:00
27dce581ca Messed up DE import translation 2016-11-19 15:39:02 +01:00
68003139e1 Merge remote-tracking branch 'origin/master' into 2.2
# Conflicts:
#	.editorconfig
#	docs/de/index.rst
#	docs/de/user/import.rst
#	docs/en/index.rst
#	docs/en/user/configuration.rst
#	docs/en/user/import.rst
#	docs/fr/index.rst
#	docs/fr/user/import.rst
#	src/Wallabag/CoreBundle/Command/InstallCommand.php
#	src/Wallabag/CoreBundle/Resources/translations/messages.da.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.de.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.en.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.pt.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml
#	src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml
#	src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
#	web/bundles/wallabagcore/themes/baggy/css/style.min.css
#	web/bundles/wallabagcore/themes/baggy/js/baggy.min.js
#	web/bundles/wallabagcore/themes/material/css/style.min.css
#	web/bundles/wallabagcore/themes/material/js/material.min.js
2016-11-19 15:30:49 +01:00
cb1a6590c0 Merge pull request #2608 from wallabag/change-dev-version
Change version to 2.2.0-dev
2016-11-19 14:56:47 +01:00
8fdadee3a5 Change version to 2.2.0-dev 2016-11-19 14:28:25 +01:00
00b1dc0eb0 Merge pull request #2607 from wallabag/update-changelog
Updated changelog for 2.1.4
2016-11-19 14:03:18 +01:00
442dcb8ec1 Updated changelog for 2.1.4 2016-11-19 14:02:32 +01:00
bbd4ae7b56 Merge pull request #2600 from wallabag/install-assets
Install assets for shortcuts
2016-11-19 12:23:16 +01:00
4c27f14fa9 Merge pull request #2604 from wallabag/postgresql-version
wallabag can’t work on PostgreSQL <= 9.1
2016-11-19 12:00:18 +01:00
eabcd880ca Merge pull request #2605 from wallabag/update-release-process
Add .travis.yml change to RELEASE_PROCESS
2016-11-19 11:57:26 +01:00
8add306204 Merge pull request #2601 from wallabag/store-http-status
Added http_status in Entry entity
2016-11-19 11:53:41 +01:00
45277ad2bd Add .travis.yml change to RELEASE_PROCESS 2016-11-19 11:43:47 +01:00
a2261fbd70 Merge pull request #2603 from wallabag/fix-composer-no-dev
Fix clear-cache problem using —no-dev
2016-11-19 11:33:35 +01:00
cffcce0c92 Wallabag can’t work on PostgreSQL <= 9.1 2016-11-19 11:32:56 +01:00
01a47da128 Fix clear-cache problem using —no-dev
Related to :

> PHP Fatal error:  Class 'FOS\RestBundle\Serializer\JMSSerializerAdapter' not found in /Users/j0k/Sites/github/wallabag/var/cache/prod/appProdProjectContainer.php on line 9139
2016-11-19 10:45:21 +01:00
d215273c65 Check if status code is OK 2016-11-18 23:05:02 +01:00
e10e6ab34e Replace http status with a string
I don't want to have 0 if we don't fetch status code, I think it's better to have an empty string, mainly for filters
2016-11-18 15:55:16 +01:00
10b3509757 Added http_status in Entry entity 2016-11-18 15:09:21 +01:00
74216c7c74 Install assets for shortcuts 2016-11-18 14:12:26 +01:00
8853914ba4 Merge pull request #2596 from wallabag/prepare-214
Prepare wallabag 2.1.4 🚀
2016-11-18 10:24:55 +01:00
5d2971cadd Prepare wallabag 2.1.4 🚀 2016-11-18 10:00:29 +01:00
19d401b15c Merge pull request #2550 from wallabag/reorder-documentation
Reordered documentation
2016-11-18 09:28:20 +01:00
b060fbdfe7 Merge pull request #2593 from wallabag/test-clarify
Put log in the most common failure tests
2016-11-18 09:21:27 +01:00
50540682ff Undo translation of 'in english'. 2016-11-18 09:08:16 +01:00
c15d5a3af8 Merge pull request #2592 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-11-17 20:03:40 +01:00
5cc367b83a Fix tests 2016-11-17 19:58:10 +01:00
d8a35aba49 Put log in the most common failure tests
So we’ll quickly be able to see what kind of test is failing when viewing Travis
2016-11-17 19:30:50 +01:00
2bc5b74c73 Reordered documentation for German. 2016-11-17 19:22:21 +01:00
887303889b Update translation of link to german translation. 2016-11-17 19:22:19 +01:00
bb624c0269 Reordered 🇫🇷 documentation 2016-11-17 19:22:16 +01:00
2e389b0b90 Reordered documentation 2016-11-17 19:22:15 +01:00
52e01d3483 Update messages.pl.yml
translate action_mark_as_read section to polish
2016-11-17 18:52:42 +01:00
9e0a49e6ac Merge pull request #2578 from wallabag/questionmark-icon
Added help on config screen
2016-11-17 09:53:14 +01:00
66336f6571 Merge pull request #2547 from wallabag/add-option-markasread
Added a configuration to define the redirection after archiving an entry
2016-11-17 09:40:46 +01:00
c894d76e57 Added tooltips for baggy theme 2016-11-17 09:22:39 +01:00
540a9bc4a2 Added help on config screen 2016-11-17 09:22:39 +01:00
9e2440fe15 Fix migration 2016-11-17 08:05:15 +01:00
e6b133c60c CS 2016-11-16 23:10:01 +01:00
00bf45b6f2 Update unit test for Redirect 2016-11-16 23:07:34 +01:00
54fd55fda1 Tried to fix tests 2016-11-16 23:07:34 +01:00
65cd8a4a9a Added tests 2016-11-16 23:07:34 +01:00
f052f1fd57 Added constants for redirection values 2016-11-16 23:07:34 +01:00
287204cda7 Update messages.en.yml 2016-11-16 23:07:34 +01:00
f0ba37fbd5 Update messages.de.yml 2016-11-16 23:07:34 +01:00
5d52cc411b update German configuration.rst 2016-11-16 23:07:34 +01:00
a42f38d9fb Added a configuration to define the redirection after archiving an entry
Fix #496
2016-11-16 23:07:34 +01:00
e042a5d78f Merge pull request #2495 from wallabag/add-shortcuts
Added shortcuts
2016-11-16 09:35:59 +01:00
94f2057ffe Added CSS class on links 2016-11-16 09:17:12 +01:00
10a1ffae53 Fix keyboard navigation on quickstart view
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-15 22:23:50 +01:00
c930992348 fix next/prev page 2016-11-15 21:55:16 +01:00
5637a26e9a Bring navigation (with right, left and enter) on material entries page. Supports going to next and previous page !
Also better indentation for js files (changed editorconfig for them).

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-15 21:55:10 +01:00
16ef7607f4 Reorganized JS folders for shortcuts 2016-11-15 21:54:50 +01:00
af61cb80eb es6 imports
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-15 21:54:41 +01:00
f9cded7dd2 Added new shortcuts 2016-11-15 21:54:34 +01:00
49c5d0ad6e Changed FOSJSRouting format in config 2016-11-15 21:54:20 +01:00
3cc78f0679 Added shortcuts 2016-11-15 21:54:20 +01:00
d213219ec7 Merge pull request #2570 from wallabag/add-creation-date
Added creation date on entries view
2016-11-15 09:23:44 +01:00
decf651bbd Merge pull request #2587 from wallabag/user-agents
User-agents have moved to site-config
2016-11-15 09:23:26 +01:00
66fe2a3dc4 User-agents have moved to site-config
Since graby@1.5.0, user-agent can be defined in site-config, which the now recommended way
2016-11-14 14:29:13 +01:00
a8c6f29f3e Hide creation date in mobile view 2016-11-14 14:28:42 +01:00
64d080586d Merge pull request #2584 from blankoworld/master
fix #2582 - Documentation, Nginx config: disable all other PHP file from symphony
2016-11-14 14:00:24 +01:00
80302e5aaa Changed display for material theme 2016-11-14 13:58:41 +01:00
1c282b1da0 Added creation date on entries view 2016-11-14 13:57:31 +01:00
ccad5d7629 fix #2582 - Nginx config: disable all other PHP file from symphony
Regarding
https://www.nginx.com/resources/wiki/start/topics/recipes/symfony/ we
need to limit access to config.php and make_dev.php files from Nginx.
That's why we return 404 error page for these files.
2016-11-14 11:58:26 +01:00
d3511bbde9 Merge pull request #2577 from wallabag/add-tooltip-material
Added tooltips in header bar
2016-11-14 10:08:26 +01:00
d37081e50b Merge pull request #2562 from wallabag/image-bigger
Bigger image preview in case of only image content
2016-11-14 10:01:12 +01:00
cf9ee2fbd0 Added tooltips in header bar 2016-11-12 11:57:55 +01:00
8315507384 Merge pull request #2571 from wallabag/change-language-without-logout
Changed behavior when we change language
2016-11-11 18:27:04 +01:00
ece4718f63 Changed behavior when we change language
No need to disconnect to apply the language substitution
2016-11-10 20:54:20 +01:00
644b340178 Merge pull request #2566 from wallabag/add-unmarkit
Added unmark.it sharing
2016-11-09 18:19:08 +01:00
8a9604aafe Added unmark.it sharing
Fix #668
2016-11-09 18:18:49 +01:00
5cf9604004 Merge pull request #2565 from wallabag/remove-support-website
Removed support website on about page
2016-11-09 14:24:32 +01:00
1781ca3763 Removed support website on about page 2016-11-09 13:59:55 +01:00
33a66b1973 Merge pull request #2563 from wallabag/pr-template
Improve PR template
2016-11-09 09:03:10 +01:00
1e8c7fa5f9 Merge pull request #2564 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-11-09 09:02:33 +01:00
a9740448cf Update messages.pl.yml
translate Pinboard importer section to polish
2016-11-08 23:11:03 +01:00
c396ee2c63 Improve PR template 2016-11-08 22:53:30 +01:00
8d7b4f0eff Display a bigger image in case of image content
If the content is only an image, we can display a bigger preview image because we won’t have text to display.

Also, split different card view to avoid too much complexity in the entries.html.twig
2016-11-08 22:17:46 +01:00
e9490a3443 Add grunt watch task 2016-11-08 22:16:01 +01:00
7005b425e0 Remove the left margin of tag
In the entries list, the first tag below the link isn’t stick to the left. Now it is.
2016-11-08 22:15:37 +01:00
a0fb3b1b7a Merge pull request #2561 from wallabag/Rurik19-patch-2259
fix #2559
2016-11-08 18:38:37 +01:00
d99a7c2206 fix #2559 2016-11-08 22:14:32 +05:00
89e167a45a Merge pull request #2553 from wallabag/add-tagform-mobile
Added new tag form in mobile view for Material theme
2016-11-08 15:42:05 +01:00
df30af69d2 Added new tag form in mobile view for Material theme
Fix #2376
2016-11-08 14:24:00 +01:00
41c2178685 Merge pull request #2548 from wallabag/pinboard
Add Pinboard import
2016-11-08 14:19:40 +01:00
82f9a52078 docs: update german import.rst 2016-11-07 21:00:57 +01:00
40f3ab5311 Merge pull request #2555 from dkrmr/fix_update_script
Reorder variable assignation in update.sh script, fix #2554
2016-11-07 11:14:05 +01:00
a4de2351a0 Merge pull request #2556 from wallabag/replace-tokenstorage
Replaced TokenStorage with TokenStorageInterface
2016-11-07 11:13:50 +01:00
94766a8962 PHP CS 2016-11-07 10:41:11 +01:00
2fe2e411a7 Replaced TokenStorage with TokenStorageInterface 2016-11-07 10:34:49 +01:00
7d173a28c7 Reorder variable assignation in update.sh script, fix #2554 2016-11-07 09:55:03 +01:00
94060509b8 Use more explicit check 2016-11-07 08:36:52 +01:00
06283bef72 Merge pull request #2552 from wallabag/reading-time-round
Round readingtime to avoid crazy number
2016-11-06 23:32:39 +01:00
2e4efb5965 Add english doc into german one 2016-11-06 23:27:55 +01:00
56e6216485 Update messages.en.yml
Instapaper->Pinboard
2016-11-06 22:29:49 +01:00
e8e72daaa6 Update messages.de.yml 2016-11-06 22:29:08 +01:00
01ad4d6a89 Merge pull request #2551 from wallabag/remove-maintenance-bundle
Removed Maintenance bundle
2016-11-06 21:47:16 +01:00
d61b24e459 Round readingtime to avoid crazy number
Like `8.666666666667 min`
2016-11-06 21:41:32 +01:00
31151d70f2 Add doc 2016-11-06 21:23:38 +01:00
db3838545c Removed Maintenance bundle 2016-11-06 15:34:08 +01:00
e92fbdc852 Fix tests 2016-11-06 09:58:07 +01:00
24692715de Merge pull request #2546 from wallabag/update-parameters-doc
Updated default parameters.yml file in documentation
2016-11-06 09:52:09 +01:00
0c256e2e70 Updated default parameters.yml file in documentation 2016-11-06 09:11:12 +01:00
16037570bf Merge pull request #2545 from wallabag/update-doc
Update the upgrade documentation
2016-11-05 14:16:21 +01:00
bc12f08bda Update the upgrade documentation 2016-11-05 14:15:09 +01:00
9ab024b4f5 Add Pinboard import 2016-11-04 22:44:31 +01:00
b5571b52cc Merge pull request #2541 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-11-04 21:49:42 +01:00
cbdbd9d683 Merge pull request #2540 from wallabag/Quent-in-patch-1
Update of the OC version
2016-11-04 19:29:27 +01:00
ff7f551f5a Update messages.pl.yml
missing polish translation added
2016-11-04 19:26:06 +01:00
eaa0bf00a6 Update of the OC version 2016-11-04 18:13:11 +01:00
4ec9f5c334 Merge pull request #2536 from wallabag/prepare-213
Prepare wallabag 2.1.3 🚀
2016-11-04 13:32:47 +01:00
505e8acd46 Update CHANGELOG
Usage of github-changes from @lalitkapoor
2016-11-04 13:32:30 +01:00
4775fed6a7 Merge pull request #2535 from wallabag/default-sort-2.2
Use created_at as default sort
2016-11-04 09:38:03 +01:00
a3f7d8a870 Prepare wallabag 2.1.3 🚀 2016-11-04 09:10:15 +01:00
2db9142bfc Merge pull request #2460 from wallabag/ui-changes
UI Changes
2016-11-04 08:49:52 +01:00
f53f542fa5 Merge pull request #2534 from wallabag/default-sort
Use created_at as default sort
2016-11-04 08:48:42 +01:00
7e9c1d65b1 Add index into Table definition 2016-11-04 08:02:02 +01:00
1e7b04d4ea Use created_at as default sort
With index (following https://github.com/wallabag/wallabag/pull/2534)
2016-11-04 07:56:04 +01:00
ce11952447 Use created_at as default sort
Imported content use the real creation date. If we sort by id, it'll
display contents in reverse order.
2016-11-04 07:34:38 +01:00
001cc7168a Cleanup 2016-11-03 18:01:25 +01:00
864c1dd23a Fix rest controller merge 2016-11-03 17:29:16 +01:00
5a619812ca Merge remote-tracking branch 'origin/master' into 2.2 2016-11-03 16:41:29 +01:00
da41365579 Merge pull request #2180 from wallabag/download-pictures
Download pictures
2016-11-03 16:22:07 +01:00
ca08d02f2f Add warning message for import + download images
When import isn't async and downloading images is enabled, we warn the user that import can fail.
Also, added missing translations
2016-11-03 15:59:20 +01:00
816c0940d1 Merge pull request #2523 from wallabag/qrcode-android-app
Added QRCode and link to configure android application
2016-11-03 14:55:24 +01:00
32508ef07a avoid eslint warning by disabling line
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-03 14:23:09 +01:00
d56d416d9b Deal with more resolution issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-03 12:49:57 +01:00
3221b2e413 Fix resolution issues and 'title' issues
Also, modify editorconfig for css files.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-11-03 11:28:40 +01:00
84795d015b Merge pull request #2530 from wallabag/add-doc-failed-load-external-entity
Added documentation about failed to load external entity error
2016-11-02 20:07:10 +01:00
a49159e9eb Update faq.rst 2016-11-02 18:08:25 +01:00
b1057c6a5e update German faq.rst 2016-11-02 17:16:57 +01:00
cce77ebc2d update German faq.rst 2016-11-02 17:15:32 +01:00
4b5e95c0e5 Added more info about Doctrine / PHP bug 2016-11-02 17:02:48 +01:00
585fd2a4ad Added documentation about failed to load external entity error
Fix #2529
2016-11-02 16:58:20 +01:00
3be554c78f Merge pull request #2519 from Jibec/master
Translation update - French
2016-11-02 07:48:10 +01:00
e46fdf3096 CS 2016-11-02 07:26:14 +01:00
9c15470691 wallabag is full lowercase 2016-11-02 07:15:24 +01:00
1f66d79e6b Add more importer to wallabag:import command
All importer available expect Pocket which require an oAuth login.
2016-11-02 07:10:57 +01:00
7816eb622d Add entry.saved event to import & rest 2016-11-02 07:10:23 +01:00
be4f6bb4f3 Merge pull request #2528 from Kdecherf/slashdot-cookie
Force user-agent for .slashdot.org
2016-11-01 22:29:43 +01:00
22ef6f96e2 Force user-agent for .slashdot.org
Slashdot replaces actual content with a form regarding cookies when
requests originate from France. By forcing the user-agent, the warning
seems to go away.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2016-11-01 19:51:45 +01:00
e0597476d1 Use custom event instead of Doctrine ones
This give us ability to use Entry ID to determine where to store images and it’s then more easy to remove them when we remove the entry.
2016-11-01 14:49:02 +01:00
db1d962f7b Merge pull request #2524 from lologhi/instapaper-cli-import
Add Instapaper to CLI import
2016-11-01 14:26:57 +01:00
995d909d0f Add Instapaper to CLI import 2016-11-01 18:33:32 +08:00
303b3c61a7 Translation - French - tiny typo 2016-10-31 20:16:36 +01:00
31dd328df4 Translation - French - tiny escape correction 2016-10-31 20:12:29 +01:00
337b47c216 Translation - French - tiny escape correction 2016-10-31 20:01:07 +01:00
68e0efffb8 Fixed review 2016-10-31 17:20:27 +01:00
3b81212674 Added translations and baggy part 2016-10-31 16:48:34 +01:00
e61ee56031 Added QRCode and link to configure android application 2016-10-31 16:18:52 +01:00
aedd6ca0fd Add translations & migration 2016-10-31 13:29:33 +01:00
e52ee565f7 Merge pull request #2521 from foxmask/master
fix path for  the install scripts
2016-10-31 09:56:07 +01:00
7d9abd1ab5 Merge pull request #2520 from wallabag/config
Inject parameter instead of service
2016-10-31 09:39:53 +01:00
99692e8c33 fix path for in install scripts 2016-10-30 22:46:09 +01:00
038469e73f fix path for in install scripts 2016-10-30 22:38:38 +01:00
d1495dd0a4 Ability to enable/disable downloading images
This will speed up the test suite because it won’t download everything when we add new entry…
Add a custom test with downloading image enabled
2016-10-30 21:30:45 +01:00
e1632cea0e Fix tests 2016-10-30 20:43:37 +01:00
4b3c983ab8 Inject parameter instead of service
We are injecting CraueConfig service when we only need to retrieve one or two values from it.
Instead I discovered we can directly inject a value from a service in the service definition!
2016-10-30 20:27:41 +01:00
309e13c11b Move settings before Entry
Because we need wallabag_url to be defined when we’ll insert entries
2016-10-30 20:12:34 +01:00
41ada277f0 Add instance url to the downloaded images 2016-10-30 19:50:00 +01:00
f74061f1e1 Merge pull request #2518 from wallabag/docs-dev-3rd-party-by-strubbl
docs: fix link to wallabag-stats project
2016-10-30 12:27:25 +01:00
2087e499b4 Translation update - French 2016-10-30 12:11:24 +01:00
f6aff9a7a8 Translation update - French 2016-10-30 12:10:59 +01:00
431d038aa7 Translation update - French 2016-10-30 12:10:14 +01:00
a0eddc598e Translation update - French 2016-10-30 12:09:08 +01:00
90ec78f05a docs: fix link to wallabag-stats project 2016-10-30 12:01:24 +01:00
48656e0eaa Fixing tests 2016-10-30 11:27:09 +01:00
7f55941856 Use doctrine event to download images 2016-10-30 10:48:29 +01:00
45fd7e09d7 Cleanup 2016-10-30 09:58:53 +01:00
535bfcbe80 Move related event things in Event folder 2016-10-30 09:58:39 +01:00
2a2ceceaa4 Merge pull request #2514 from wallabag/docs-dev-3rd-party-by-strubbl
docs: update 3rd party projects by Strubbl
2016-10-30 07:04:11 +01:00
a40b2b7ee4 docs: update 3rd party projects by Strubbl 2016-10-29 19:59:05 +02:00
156bf62758 CS 2016-10-29 16:25:45 +02:00
94654765cc Working 2016-10-29 16:25:45 +02:00
419214d722 Download pictures successfully
Needs to rewrite them properly (get base url)
2016-10-29 16:25:45 +02:00
4dface6670 first draft (from v1) 2016-10-29 16:25:45 +02:00
ca9858537e Merge pull request #2513 from wallabag/update-capistrano-config
Updated Capistrano configuration
2016-10-29 15:36:58 +02:00
c4b3933bae Updated Capistrano configuration 2016-10-29 14:39:07 +02:00
67b270d996 Merge pull request #2506 from wallabag/fix-export-with-tags
Fixed entries export filtered with a tag
2016-10-29 14:27:46 +02:00
794ac861cb Added test for export by filtering with tag 2016-10-29 14:03:55 +02:00
920d88599a Fixed entries export filtered with a tag
Fix #2505
2016-10-29 13:43:11 +02:00
5feef9f7a4 Merge pull request #2499 from wallabag/add-relation-client-user
Added relation between API Client and User
2016-10-29 13:20:55 +02:00
267087d969 Merge pull request #2509 from wallabag/explode-api-controller
Exploded WallabagRestController into many controllers
2016-10-29 13:20:01 +02:00
bc4564a709 Removed useless route 2016-10-28 15:24:58 +02:00
900c844861 Exploded WallabagRestController into many controllers
Fix #2503
2016-10-28 14:46:30 +02:00
f08ec5f88a Remove backquote in query 2016-10-28 11:14:14 +02:00
f24ea59ea4 Fixed migration and added tests 2016-10-28 10:55:39 +02:00
eca4d030bf Merge pull request #2508 from wallabag/fix-redis-rabbit-doc
Added the whole path to parameters.yml file
2016-10-27 16:53:57 +02:00
37da178696 Added the whole path to parameters.yml file 2016-10-27 14:46:21 +02:00
069d39dfaf Merge pull request #2507 from wallabag/add-check-makefile
Added require.sh to check if composer is installed
2016-10-27 13:55:17 +02:00
c4d9a8d6d0 Usage of composer.phar if it's found 2016-10-27 10:09:43 +02:00
9998c72533 Added require.sh to check if composer is installed 2016-10-27 09:53:09 +02:00
f3b637fbfe Merge pull request #2500 from wallabag/add-check-composer
Added a check in Makefile to see if composer is installed
2016-10-27 07:30:50 +02:00
a5d6a7d8b5 Merge pull request #2504 from wallabag/change-page-title-filter-tags
Added tag label in the page title
2016-10-26 16:09:37 +02:00
73e8df9e44 Renamed variable for page title 2016-10-26 15:49:44 +02:00
7a5043f187 Added tag label in the page title
Fix #2472
2016-10-26 13:53:23 +02:00
c68720d40e Merge pull request #2473 from pmichelazzo/master
Portuguese (Brazilian) translation
2016-10-25 11:41:24 +02:00
e8eec07ae6 Translated missed line 147 2016-10-25 07:25:08 -02:00
c5ad143e75 Added a check in Makefile to see if composer is installed
Fix #2498
2016-10-24 22:28:44 +02:00
23406ca3f1 Added relation between API Client and User
Fix #2062
2016-10-24 21:56:28 +02:00
e1d4ed2d81 Merge pull request #2493 from bmillemathias/add_link_content_fetch_problem
Add relevant links to fetch content error page
2016-10-24 21:44:22 +02:00
d36e5e20a5 Removed the email part 2016-10-24 21:01:13 +02:00
8e58be9fb6 Merge pull request #2496 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-10-24 20:19:53 +02:00
cd99bfae68 Update messages.pl.yml
translate reset section to polish
2016-10-24 19:49:33 +02:00
64a8781e45 Merge remote-tracking branch 'origin/master' into 2.2 2016-10-24 12:03:17 +02:00
9313ea9d44 Merge pull request #2401 from wallabag/reset-account
Reset account
2016-10-24 11:57:51 +02:00
f623516e10 SQLite should use utf8, not utf8mb4 2016-10-24 10:10:38 +02:00
a1c1841828 Merge pull request #1890 from wallabag/v2-api-annotation-switched
bring annotations to API
2016-10-24 10:06:12 +02:00
d1b075509d Add relevant links to fetch content error pages.
We link to the troubleshooting guide and give the mail link.
2016-10-23 15:34:52 +02:00
5ce1528953 Fix migrations 2016-10-23 12:35:57 +02:00
c64b4941d5 Merge pull request #2486 from wallabag/translate-backup-doc
Added 🇫🇷 documentation for wallabag backup
2016-10-22 22:23:15 +02:00
2ca1cc0c18 Translate backup.rst to German 2016-10-22 21:11:20 +02:00
67aa755fb5 Added 🇫🇷 documentation for wallabag backup 2016-10-22 14:16:17 +02:00
88d5d94dcb Lowercase wallabag 2016-10-22 14:05:59 +02:00
5751b41491 Add migration for MySQL utf8mb4 2016-10-22 14:01:58 +02:00
f69636c4db Merge pull request #2484 from bmillemathias/fix_2479
Document what to backup in Wallabag
2016-10-22 13:55:46 +02:00
fc79f1ffa8 Add verification check for MySQL version
Must now be >= 5.5.4
2016-10-22 13:41:03 +02:00
f7f6bfb7e9 Merge pull request #2485 from bmillemathias/fix_android_documentation
Fix missing words in Android application documentation
2016-10-22 13:31:14 +02:00
1e7807e703 Merge pull request #2456 from wallabag/use-new-pdf
use new tcpdf library version
2016-10-22 13:29:58 +02:00
89abc0b61b Add missing words in the documentation 2016-10-22 13:21:53 +02:00
b0de88f75d Use statements & update translation 2016-10-22 13:13:07 +02:00
8c61fd12b1 CS 2016-10-22 13:13:07 +02:00
ca8b49f46e Add baggy reset part 2016-10-22 13:13:07 +02:00
f71e55ac88 Avoid orphan tags 2016-10-22 13:13:07 +02:00
2f82e7f8e1 Cleanup subscriber / listener definition 2016-10-22 13:13:07 +02:00
191564b7f7 Add custom doctrine subscriber for SQLite
Since SQLite doesn’t handle cascade remove by default, we need to handle it manually.

Also some refacto
2016-10-22 13:13:07 +02:00
98efffc2a6 Fix emoji insertion in MySQL
Switch to utf8mb4 instead of utf8 because f*** MySQL
See https://github.com/doctrine/dbal/pull/851
2016-10-22 13:13:07 +02:00
206bade58a Add ability to reset some datas
- annotations
- tags
- entries
2016-10-22 13:13:06 +02:00
817724a7b8 Re-add bottom pagination
Also pager.html.twig wasn’t necessary, there weren't enough duplication to put them in a dedicated template
2016-10-22 13:09:16 +02:00
ab61dbc073 remove padding on small widths
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-10-22 13:08:12 +02:00
34aa06a9b9 WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-10-22 13:08:04 +02:00
af2ff7c6da use new tcpdf library version 2016-10-22 12:52:23 +02:00
aa4741091f Add test on /api/annotations
Fix controller forward in WallabagRestController.
Update PHPDoc so it is sorted the same way as others one
Duplicate all annotations test to use both api & normal way
Also, make annotation tests independent to each other
2016-10-22 12:09:20 +02:00
3199ec4702 CS 2016-10-22 09:17:01 +02:00
fc75009de7 Document what to backup in Wallabag
Fixes issue #2479
2016-10-22 09:14:07 +02:00
d9b7768dca Added a missing namespace 2016-10-22 09:06:07 +02:00
e5edb6e127 PHP CS 2016-10-22 09:06:07 +02:00
0c271b9eb0 fix cs and phpdoc 2016-10-22 09:06:07 +02:00
b1e92f8c14 cs 2016-10-22 09:06:07 +02:00
1eea248bb0 move code 2016-10-22 09:06:07 +02:00
c7935f32d2 cs 2016-10-22 09:06:07 +02:00
351eb8d97e bring annotations to API 2016-10-22 09:06:07 +02:00
e8331dd9e7 Merge pull request #2453 from wallabag/fix-api-export
Fix API export
2016-10-21 15:22:11 +02:00
f99ddbc6f8 Merge pull request #2481 from wallabag/some-fixes
Some fixes
2016-10-21 15:15:41 +02:00
49dee2d2de Merge pull request #2482 from wallabag/avoid-bad-refresh
If reload content failed, don’t update it
2016-10-21 15:12:29 +02:00
b64d8f2c9f Update Twitter cards description 2016-10-21 10:51:20 +02:00
2cbf0d05d4 Update translation for piwik_host 2016-10-21 10:45:39 +02:00
645dc7594b Fix missing translations 2016-10-21 07:52:55 +02:00
818cbe1fee Fix Portuguese translation 2016-10-21 07:18:41 +02:00
8e53bf3aa1 Update translation 2016-10-21 00:12:53 +02:00
f6798f69c3 This test doesn’t require an internet connection 2016-10-20 23:26:16 +02:00
9095497191 Fix test 2016-10-20 23:03:37 +02:00
2297d60f10 If reload content failed, don’t update it
In case user wants a fresh version of the current one and the website isn’t available, don’t erase it with a boring message saying wallabag wasn’t able to refresh the content.
2016-10-20 22:49:46 +02:00
5453500458 Requeue depending on producer
Browser import can requeue message from `parseEntry` but we should take care of the way import are handled (depending on the producer)
2016-10-20 21:17:45 +02:00
1e3d74a9cf Avoid RabbitMQ consumer to loop
When the `parseEntry` returns null it means the entry already exists in the database. Sending `false` as return, will requeue the message which will then loop forever.
2016-10-20 21:17:03 +02:00
576d285ddf Translate date
I use a kind of hacky way to convert the user locale (defined with 2 letters, like `fr`) into a local with 5 letters (like `fr_FR`). I guess it should work on most of the case..
2016-10-20 21:16:01 +02:00
166e8cc6a9 Fix french translation 2016-10-20 21:14:46 +02:00
1cad9416c9 Update Portuguese translations 2016-10-20 21:11:10 +02:00
b669224762 Validate ALL translations files 2016-10-20 21:11:09 +02:00
a42cc6ff89 Update validators.pt.yml file
Some missed strings translated.
2016-10-20 08:57:24 +02:00
5d6cffedb1 Update Portuguese (Brazilian) translation
Adding the config.yml on the package.
2016-10-19 19:25:48 +02:00
99731f0bb1 Merge remote-tracking branch 'wallabag/master' 2016-10-18 22:48:23 +02:00
3a3c6b866b Portuguese (Brazilian) translation
This the Portuguese (Brazilian) for the Wallaby v2.
2016-10-18 20:51:31 +02:00
7180aaed45 Merge pull request #2467 from wallabag/version-213dev
Update wallabag version for master branch
2016-10-17 11:57:52 +02:00
f31361a6d9 Update wallabag version for master branch 2016-10-17 11:56:29 +02:00
fd461c25aa Merge pull request #2466 from wallabag/fix-update-doc
Removed MD5 hash in documentation
2016-10-17 11:40:03 +02:00
39c3dd30d2 Removed MD5 hash in documentation 2016-10-17 11:38:11 +02:00
1172622a07 Merge pull request #2452 from wallabag/prepare-212
Prepare wallabag 2.1.2 🚀
2016-10-17 11:04:20 +02:00
d4e9ce5807 Change release title in changelog 2016-10-17 10:27:07 +02:00
fd54f236f4 Update release process 2016-10-17 10:23:34 +02:00
545748bad1 Update changelog 2016-10-17 10:22:51 +02:00
ef22711605 Prepare wallabag 2.1.2 🚀 2016-10-17 09:43:13 +02:00
72ec79a5d6 Merge pull request #2464 from wallabag/fix-settings-translation
Fixed hardcoded title for internal settings
2016-10-17 09:23:15 +02:00
5e469b91d9 Fixed hardcoded title for internal settings
Fix #2458
2016-10-17 09:14:05 +02:00
692f9388cb Merge pull request #2455 from wallabag/fix-material-config-tabs
Fix tabs on material
2016-10-16 21:06:23 +02:00
3fb409ffc6 Merge pull request #2454 from wallabag/fix-baggy-small-width
Fix baggy display on small screens
2016-10-16 21:05:30 +02:00
97512ec4bc Merge pull request #2459 from wallabag/improve-german-translation
German: improve existing and add missing translation
2016-10-16 12:06:42 +02:00
dda6398a40 Merge pull request #2457 from wallabag/link-german-docu
add link to German documentation in about page
2016-10-16 10:54:19 +02:00
5bd7acd50d German: improve existing and add missing translation 2016-10-16 10:45:51 +02:00
f69ab83a5a add link to German documentation in about page 2016-10-16 09:23:58 +02:00
d9a30ef301 Fix tabs on material
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-10-15 19:26:38 +02:00
d32e1c424a Fix baggy on small screens 2016-10-15 19:04:53 +02:00
5960aa1ffc CS 2016-10-15 18:00:08 +02:00
f1c3f68e90 ApiDoc & Route annotation were conflicted
The generated error was “Unable to guess how to get a Doctrine instance from the request information.”.

I haven’t checked deeper in Doctrine (I know it was coming from the DoctrineParamConverter).

Anyway, I check for FosRest possiblity to add extra format without allowing them for every route (like it was done in the first place).

I finally found a way but it then seems all request goes to the FormatListener of FosRest so I needed to add a custom rules to match all request to be sure we don’t get  a 406 error from FosRest.

Should be ok now …
2016-10-15 16:46:42 +02:00
05c009bb85 Merge pull request #2451 from wallabag/add-dev-make
Bring make dev
2016-10-15 15:40:20 +02:00
8ecfdd7f8a Merge pull request #2450 from wallabag/new-improvement-view
View improvements
2016-10-15 15:38:49 +02:00
08f5a5b6bd fix stylelint 2016-10-15 15:25:46 +02:00
f48a6f3a54 Bring make dev 2016-10-15 15:16:35 +02:00
38dc91be8e Improved side menu, reduced the font size on small screens, fixed a form to add links on small screens 2016-10-15 14:49:07 +02:00
76f2123def Merge pull request #2412 from wallabag/fix-postgres-migration
Fix PostgreSQL migrations
2016-10-15 14:42:46 +02:00
7131f94274 Merge pull request #2446 from wallabag/fix-taggingrules-doc
Added information about tagging rules in documentation
2016-10-15 11:47:12 +02:00
f878902e6a docs/de/user/configuration.rst: German fix for tagging rules docu 2016-10-14 23:48:50 +02:00
2752053f99 docs/de/user/configuration.rst: German fix for tagging rules docu 2016-10-14 23:47:37 +02:00
7b9b9ca7f8 Merge pull request #2447 from wallabag/fix-fr-de-doc-homepage
Fixed french and german doc homepages
2016-10-14 15:45:13 +02:00
68b8e75f94 Fixed french and german doc homepages 2016-10-14 14:55:45 +02:00
8edb250caa Added information about tagging rules in documentation
Fix #2060
2016-10-14 14:45:32 +02:00
311285f585 Merge pull request #2444 from Kaligule/master
Mention example instance in docs
2016-10-14 09:57:34 +02:00
7880838943 Merge pull request #1 from Kaligule/Documentation
Mention example instance
2016-10-14 09:15:14 +02:00
eb7d1b4b30 Mention example instance
Namely http://v2.wallabag.org/api/doc, so api methods can be looked up without installing wallabag first.
2016-10-14 09:09:28 +02:00
bf8e088033 Merge pull request #2435 from wallabag/french-upgrade-doc
Added french documentation for upgrade
2016-10-13 16:56:37 +02:00
83634bab22 Added missing space 2016-10-13 16:56:03 +02:00
8b28151e14 Merge pull request #2434 from wallabag/parameters-doc
Added french documentation for parameters.yml
2016-10-13 16:53:13 +02:00
e65c27587b Merge pull request #2439 from zertrin/minor-fix-docs-1
Minor fixes in the english documentation
2016-10-13 16:52:25 +02:00
a25377cb4c Minor fixes in the english documentation 2016-10-13 11:07:24 +02:00
17064d3c54 update German user/upgrade-2.1.x-2.1.y.rst 2016-10-12 20:45:28 +02:00
f68e351018 update German user/upgrade-2.0.x-2.1.1 2016-10-12 20:41:15 +02:00
75a1506c27 translate to German: user/parameters 2016-10-12 20:33:55 +02:00
6147736868 Merge pull request #2438 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-10-12 20:01:13 +02:00
fa100dd1e0 Update messages.pl.yml
translate delete section to polish
2016-10-12 19:32:30 +02:00
b1b561da51 Merge pull request #2372 from pmartin/api-get-entry-as-epub
API: ability to export entry in all available format (epub, pdf, etc...)
2016-10-12 14:06:33 +02:00
b09cafbb3f Added french documentation for upgrade 2016-10-12 13:37:50 +02:00
18470d7c6a Added french documentation for parameters.yml 2016-10-12 13:19:45 +02:00
da8ecdfa17 Merge pull request #2432 from wallabag/issue-site-config
Update ISSUE_TEMPLATE.md
2016-10-12 12:04:08 +02:00
7ffa48a11c Update ISSUE_TEMPLATE.md 2016-10-12 11:22:11 +02:00
e4cf672ccf Merge remote-tracking branch 'origin/master' into 2.2 2016-10-11 21:01:30 +02:00
dbe94e73a9 Merge pull request #2429 from wallabag/lock-fos-user
Lock deps for FOSUser
2016-10-11 19:32:22 +02:00
a0a4ce3135 Lock deps for FOSUser
We’ll wait until the final release will be out and other related project will be update to support it.
Meanwhile we can safely lock to a previous version.
2016-10-11 18:59:08 +02:00
e57df5611f Merge pull request #2409 from wallabag/Quent-in-patch-1
Occitan version update
2016-10-11 18:18:29 +02:00
9bed0ea236 Merge pull request #2422 from wallabag/typo-doc
Fixed display for note in installation page
2016-10-11 15:03:46 +02:00
c8976118d4 Merge pull request #2426 from wallabag/fix-doc
Fix links on english documentation homepage
2016-10-11 15:00:59 +02:00
7e72b371ba Fix links on english documentation homepage 2016-10-11 14:59:32 +02:00
a9e4d6dad2 Update messages.oc.yml
I thought I had translated the Docker installation line, apparently not!
Thanks Nicolas for the other changes!
2016-10-10 20:01:25 +02:00
7dacf35845 Merge pull request #2420 from wallabag/redis-tests
Avoid error when Redis isn't here in tests
2016-10-10 19:02:05 +02:00
36ef9e2730 Fixed display for note in installation page 2016-10-10 18:51:20 +02:00
bccf7a70bc Merge pull request #2403 from wallabag/cleanup-install-process-in-doc
Cleaned up documentation for installation process
2016-10-10 16:58:15 +02:00
e40bed3607 Avoid error when Redis isn't here in tests 2016-10-10 16:34:57 +02:00
c99d90455b Merge pull request #2419 from wallabag/fix-twitter-cards
Fixed Twitter Cards by adding a description tag
2016-10-10 16:09:52 +02:00
a2f42d8eaa Fixed Twitter Cards by adding a description tag 2016-10-10 16:05:06 +02:00
fa4c39b37c Added steps about Redis/RabbitMQ activation 2016-10-10 15:38:49 +02:00
c15f083896 Fixed links on import page 2016-10-10 15:38:42 +02:00
0ff674a952 Merge pull request #2418 from wallabag/add-twitter-cards
Added support of Twitter Cards for public articles
2016-10-10 15:20:06 +02:00
020c723e28 Added support of Twitter Cards for public articles 2016-10-10 14:33:34 +02:00
035513b025 Use table for parameters.yml 2016-10-10 13:42:50 +02:00
3e761063e2 Merge pull request #2417 from wallabag/version-dev
Define a dev version for the master
2016-10-10 13:03:34 +02:00
ed11d7f731 Added page about parameters.yml 2016-10-10 13:01:14 +02:00
6b1317a627 Add -dev version
Following https://github.com/wallabag/wallabag/pull/2417
2016-10-10 11:39:42 +02:00
eb54d338e8 Typos in upgrade doc 2016-10-10 11:35:32 +02:00
fb8835cc8f Define a dev version for the master
This is to be sure that user testing wallabag from the master will have the version defined as dev.
2016-10-10 11:31:57 +02:00
7c1ce28342 Update upgrade documentation 2016-10-10 11:21:20 +02:00
7c1225347d Update documentation 2016-10-10 10:20:32 +02:00
c26d1285ba Fixed review 2016-10-10 10:05:50 +02:00
84e3c36e02 Added documentation about testsuite
Fix #2415
2016-10-10 09:15:53 +02:00
edc8bc0b2f Update RELEASE_PROCESS.md 2016-10-10 09:12:24 +02:00
3175e33012 Update README.md 2016-10-10 09:11:26 +02:00
2a5ff7f554 Merge pull request #2411 from wallabag/fix-entities
Fix entities definition
2016-10-10 08:02:25 +02:00
8eeefc658c Merge pull request #2414 from szafranek/bugfix-bookmarklet
Remove automatic closing of the window from bookmarklet
2016-10-10 07:11:01 +02:00
e93c9dc4ab Merge pull request #2413 from wallabag/sub-command-verbose
When a sub command fail, display error message
2016-10-10 07:09:45 +02:00
d8a9209cfc Remove automatic closing of the window from bookmarklet 2016-10-09 22:40:55 +02:00
39a19bdf47 When a sub command fail, display error message
We often got issue with message “The command "doctrine:database:create" terminated with an error code: 1.”.

Using the `BufferedOutput` we can store the output and only display it if an error occurs.
2016-10-09 22:39:43 +02:00
02edf0707f Changed the default command when we launch make 2016-10-09 22:01:24 +02:00
4e7863c6aa Created scripts folder to store update/install/release process 2016-10-09 21:50:15 +02:00
4c79c51f99 Fix PostgreSQL migrations 2016-10-09 21:35:04 +02:00
47508f004f Merge pull request #2410 from wallabag/tag-optim
Optimize tag list display
2016-10-09 21:27:47 +02:00
418626e836 Merge pull request #2177 from wallabag/delete-account
Delete user
2016-10-09 21:21:03 +02:00
26490a8794 Update Makefile 2016-10-09 21:15:57 +02:00
46aeaab8ff Update Makefile 2016-10-09 21:06:26 +02:00
8dc4cd0f25 Fix entities definition
As per Doctrine said in the debug tool bar:

- The field Wallabag\ApiBundle\Entity\Client#refreshTokens is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity Wallabag\ApiBundle\Entity\RefreshToken#client does not contain the required 'inversedBy="refreshTokens"' attribute.

- The field Wallabag\ApiBundle\Entity\Client#accessTokens is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity Wallabag\ApiBundle\Entity\AccessToken#client does not contain the required 'inversedBy="accessTokens"' attribute.
2016-10-09 20:51:37 +02:00
d8507addbb First draft for Makefile 2016-10-09 20:21:02 +02:00
e084778030 CS 2016-10-09 19:35:27 +02:00
28bb48905a Optimize the way tag list is rendered
Instead of retrieve all informations about entries of a tag to just count them, we’ll count them before with a fastest query.

Also change the layout of the tag list in material design
2016-10-09 18:55:22 +02:00
b4fcd60e7f Avoid tag duplication when tagging all articles
Mostly when the tag doesn’t yet exist.
It was created each time it matche the rule… glups.
2016-10-09 18:55:21 +02:00
4d318f3755 Add more log to tag:all 2016-10-09 18:55:21 +02:00
dd248e4561 Occitan version update
If you need to write dates in full letter you might be interessed in https://github.com/fightbulc/moment.php
It comes with lots of languages ;)
Q: where are the "previous" and "next" bouton text? Can't find them to translate them.
2016-10-09 18:24:42 +02:00
e39aec3e38 Merge pull request #2406 from szafranek/bugfix-number-of-annotations
Show number of annotations instead of nbAnnotations placeholder
2016-10-09 14:11:20 +02:00
d451bcb3d0 Merge pull request #2405 from szafranek/cleanup-fix-invalid-html
Fix few invalid HTML tags
2016-10-09 07:46:09 +02:00
90c766b96b Show number of annotations instead of nbAnnotations placeholder
When there was more than one annotation, a placeholder was displayed in both themes, instead of actual number.
2016-10-09 04:59:04 +02:00
c5e4293efd Fix few invalid HTML tags 2016-10-09 03:37:21 +02:00
9810f30821 Remove unnecessary user serialization 2016-10-08 21:16:40 +02:00
7ac3e575f1 CS 2016-10-08 20:35:16 +02:00
a730cae384 Bonus: display driver in install command 2016-10-08 20:33:21 +02:00
5112b3556b update German installation.rst 2016-10-08 20:28:18 +02:00
3f60446756 Fix PostgreSQL query
PostgreSQL doesn’t like when we compare interger and boolean :)
2016-10-08 20:26:06 +02:00
5334381509 update German installation.rst 2016-10-08 20:25:48 +02:00
876d77a67d Better display and description
Confirmation message isn’t required since it is written in the delete description
2016-10-08 20:25:42 +02:00
eed812afd0 Logout user before deleting it
And add a smal description
2016-10-08 19:39:12 +02:00
7c256ffabe Chmoded install.sh 2016-10-08 15:14:45 +02:00
7eff4736a1 Cleaned up documentation for installation process 2016-10-08 15:10:56 +02:00
32d103f702 Merge pull request #2402 from wallabag/remove-1x-changelog
Removed 1.x stuff in CHANGELOG
2016-10-08 14:07:35 +02:00
c3396c65ef Fix some tests 2016-10-08 14:07:13 +02:00
951ad27fe4 Removed 1.x stuff in CHANGELOG 2016-10-08 14:05:07 +02:00
93a95c09bf Merge pull request #2351 from wallabag/fix-api-client-deletion
Changed relation between API client and refresh token
2016-10-08 13:31:54 +02:00
4ad6f5878a Merge pull request #2393 from wallabag/api-urls-exist
Ability to check multiple urls in API
2016-10-08 13:31:31 +02:00
e07c25a1ad Merge pull request #2397 from wallabag/api-orphan-tags
Ensure orphan tag are remove in API
2016-10-08 13:31:08 +02:00
b840268711 Added a test to check if entries are also deleted 2016-10-08 13:27:18 +02:00
71254701b7 Changed tests 2016-10-08 13:27:18 +02:00
821bb87685 Added tests 2016-10-08 13:27:18 +02:00
bb0c78f4a6 Added check if there is only one user
Added translations and documentation
2016-10-08 13:27:18 +02:00
abb5291cd5 CS 2016-10-08 13:27:17 +02:00
e4b46f77ef work 2016-10-08 13:27:17 +02:00
3f3a60879e Add entry export in API
Export isn't available for json & xml because user can use the default
entry endpoint instead.
2016-10-08 12:59:19 +02:00
24de866534 API: getEntry can return EPUB 2016-10-08 12:05:41 +02:00
3d4b0b3064 Routing: epub format is allowed for API 2016-10-08 12:05:40 +02:00
d9b0673dbb Merge pull request #2399 from wallabag/use-locale-for-config
Use default locale for user config
2016-10-08 10:34:08 +02:00
af4ce9e069 Merge pull request #2400 from wallabag/doc-env-prod
Set env to prod in documentation
2016-10-08 10:33:52 +02:00
ba69216853 Set env to prod in documentation 2016-10-08 09:39:07 +02:00
dd32c89ed6 Use default locale for user config
When creating a user, we set the language config “en” by default. We should use the defined locale (from `parameters.yml`) instead
2016-10-08 09:33:55 +02:00
ee32248f43 Ensure access_token are removed
When we remove the client, we should ensure that access_token are also removed.

To ensure that, I created a test that generated an access_token. So when we remove the client, this association should be cascaded and shouldn’t generate an error.

Also I moved some Api related stuff to the ApiBundle (like the developer controler and ClientType form)
2016-10-08 00:05:41 +02:00
ac8cf632bb Ensure orphan tag are remove in API
When the association between a tag and an entry is removed, if the tag doesn’t have other entries, we can remove it.

Also add more tests for that part and ensure TagControllerTest is isolated from the rest of the test suite (finally!)
2016-10-07 23:31:53 +02:00
3049afe190 Merge pull request #2396 from wallabag/mruminski-patch-1
Update messages.pl.yml
2016-10-07 22:20:51 +02:00
f271dd4b76 Merge pull request #2395 from wallabag/socket-connection
Add ability to use socket
2016-10-07 22:20:37 +02:00
aa8a58b5a0 Update messages.pl.yml
translated shared_by_wallabag to polish
2016-10-07 21:32:27 +02:00
6d204f5382 Add ability to use socket
For Redis & MySQL
2016-10-07 21:00:13 +02:00
f0abc22d09 Ability to check multiple urls in API 2016-10-07 20:37:01 +02:00
233a1081ea Merge pull request #2386 from wallabag/update-changelog
Changed Changelog by using github-changelog-generator from @skywinder
2016-10-07 17:35:57 +02:00
20bf78b935 Merge pull request #2389 from wallabag/add-info-publich-articles
Added default picture if preview picture is null
2016-10-07 16:35:32 +02:00
499ba4cb2f Merge pull request #2388 from wallabag/fix-2factor-user-admin
Fixed two-factor checkbox display in user admin panel
2016-10-07 16:35:01 +02:00
aa88d2494b Merge pull request #2385 from wallabag/add-doc-about-siteconfig
Added documentation about siteconfig fix
2016-10-07 16:02:03 +02:00
3b1bf6343d Update release process 2016-10-07 15:30:25 +02:00
4e5d219663 Fixed review 2016-10-07 15:27:05 +02:00
d5c45d5288 Added default picture if preview picture is null 2016-10-07 15:21:31 +02:00
fba816c43b Added link to fivefilters website 2016-10-07 15:14:15 +02:00
5e7786f3c4 Fixed two-factor checkbox display in user admin panel
Fix #2380
2016-10-07 14:56:26 +02:00
9cfea18a5d Fixed review 2016-10-07 14:40:32 +02:00
e17373b659 Changed Changelog by using github-changelog-generator from @skywinder 2016-10-07 14:34:44 +02:00
c8d2dcdafe Merge pull request #2383 from wallabag/add-info-publich-articles
Added OpenGraph support for public articles
2016-10-07 14:30:46 +02:00
baf0ffa7df Added documentation about siteconfig fix
Found in #2358, thank you @j0k3r
2016-10-07 14:17:13 +02:00
21d82c3c5d Added test for OpenGraph 2016-10-07 14:06:12 +02:00
bf71a734f6 Merge pull request #2332 from wallabag/tags-export
Fix relations export for Entry
2016-10-07 13:55:55 +02:00
d0d196ffb3 Fixed review 2016-10-07 09:22:40 +02:00
f0d52417fb Added OpenGraph support for public articles
Fix #2289
2016-10-07 09:05:18 +02:00
74e1f7433a Fix tag test 2016-10-07 07:43:48 +02:00
6c8806cadc Fix bad translation key
`entry_reload_failed` instead of `entry_reloaded_failed`
2016-10-07 07:43:48 +02:00
b0458874c8 Fix relations export for Entry
Tags & Annotations weren’t really well exported.
This is now fixed (+ tests)
2016-10-07 07:43:19 +02:00
9d127b3b93 Merge pull request #2377 from wallabag/fix-exists-api
Fix exists API call
2016-10-05 19:52:06 +02:00
0b174d69d7 Fix typo & add test 2016-10-05 19:30:56 +02:00
046f33e21b Merge pull request #2374 from wallabag/clickable-tags
Clickable tags
2016-10-05 16:16:21 +02:00
145d69fe5d Merge pull request #2375 from wallabag/upgrade-nodejs
try to reduce assets build npm connection failing by updating nodejs
2016-10-05 15:38:19 +02:00
5d39243068 Fix exists API call
Boo
2016-10-05 15:28:36 +02:00
3c00779dc3 try to reduce assets build npm connection failing by updating nodejs 2016-10-05 15:05:42 +02:00
15f1352ef8 better tags on material 2016-10-05 14:06:55 +02:00
2fb9caeb2d Merge pull request #2363 from wallabag/clean-composer
Remove mouf/nodejs-installer from composer
2016-10-04 22:22:19 +02:00
1b1cb553be Remove mouf/nodejs-installer from composer 2016-10-04 21:44:58 +02:00
645c0d5bce better tags on baggy 2016-10-04 20:11:10 +02:00
837247dea4 Update md5 hash for package 2016-10-04 17:43:28 +02:00
b0da721a52 Changed relation between API client and refresh token
Fix #2350
2016-10-03 21:39:01 +02:00
391 changed files with 24001 additions and 4763 deletions

View File

@ -8,3 +8,7 @@ indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.{js,css}]
indent_style = space
indent_size = 2

View File

@ -2,7 +2,11 @@
"extends": "airbnb-base",
"parser": "babel-eslint",
"env": {
"browser": true
"browser": true,
"es6": true
},
"globals": {
"Routing": true
},
"rules": {
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]

View File

@ -1,3 +1,5 @@
:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that
### Issue details
Please provide issue details here.

View File

@ -1,11 +1,16 @@
| Q | A
| ------------- | ---
| Bug fix? | yes|no
| New feature? | yes|no
| BC breaks? | yes|no
| Deprecations? | yes|no
| Tests pass? | yes|no
| Documentation | yes|no
| Translation | yes|no
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| Bug fix? | yes/no
| New feature? | yes/no
| BC breaks? | yes/no
| Deprecations? | yes/no
| Tests pass? | yes/no
| Documentation | yes/no
| Translation | yes/no
| Fixed tickets | #...
| License | MIT
<!--
- Please fill in this template according to the PR you're about to submit.
- Replace this comment by a description of what your PR is solving.
-->

3
.gitignore vendored
View File

@ -25,6 +25,8 @@ web/uploads/
!web/bundles
web/bundles/*
!web/bundles/wallabagcore
/web/assets/images/*
!web/assets/images/.gitkeep
# Build
/app/build
@ -34,7 +36,6 @@ web/bundles/*
/composer.phar
# Data for wallabag
data/assets/*
data/db/wallabag*.sqlite
# Docker container logs and data

View File

@ -57,12 +57,11 @@ before_script:
- if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
# xdebug isn't enable for PHP 7.1
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
- if [[ $PHP = 5.5 ]]; then composer require "phpunit/phpunit:4.*" --no-update; fi;
- composer self-update --no-progress
- if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
install:
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 5.0; fi;
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.7; fi;
- if [[ $ASSETS = build ]]; then npm install -g npm@latest; fi;
- if [[ $ASSETS = build ]]; then npm install; fi;
@ -70,9 +69,11 @@ before_install:
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
script:
- travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
- travis_wait composer update --no-interaction --no-progress
- ant prepare-$DB
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then phpunit -v ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then ./bin/simple-phpunit -v ; fi;
- if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi;
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/UserBundle/Resources/translations -v ; fi;
- if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;

View File

@ -1,261 +1,579 @@
# Changelog
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
## [2.1.1] - 2016-10-04
### Changed
- [#2340](https://github.com/wallabag/wallabag/pull/2340) Updated german translation (Strubbl)
- [#2341](https://github.com/wallabag/wallabag/pull/2341) Updated polish translation (Mateusz Rumiński)
- [#2354](https://github.com/wallabag/wallabag/pull/2354) Add php-bcmath extension to requirements (Godinez Pablo)
### Fixed
- [#2338](https://github.com/wallabag/wallabag/pull/2338) Fixed 2.1 installation (Jeremy Benoist)
- [#2345](https://github.com/wallabag/wallabag/issues/2345) Fixed 2.0.x update (Jeremy Benoist)
- [#2353](https://github.com/wallabag/wallabag/pull/2353) Fixed assets problem (Thomas Citharel)
- [#2359](https://github.com/wallabag/wallabag/pull/2359) Create config even if user is disabled (Jeremy Benoist)
## [2.1.0] - 2016-10-03
### Added
- [#1990](https://github.com/wallabag/wallabag/pull/1990) Added command line import for wallabag files (Nicolas Lœuillet)
- [#2142](https://github.com/wallabag/wallabag/pull/2142) Manage assets through npm (Thomas Citharel)
- [#2174](https://github.com/wallabag/wallabag/pull/2174) Added filter for tags on API (Thomas Citharel)
- [#2176](https://github.com/wallabag/wallabag/pull/2176) Added `since` parameter in API (Thomas Citharel)
- [#2170](https://github.com/wallabag/wallabag/pull/2170), [#2183](https://github.com/wallabag/wallabag/pull/2183) Added tags on entries view (Thomas Citharel)
- [#2186](https://github.com/wallabag/wallabag/pull/2186) Added option to disable registration (Thomas Citharel)
- [#1904](https://github.com/wallabag/wallabag/pull/1904) Share entry with a public URL (Nicolas Lœuillet)
- [#2243](https://github.com/wallabag/wallabag/pull/2243) Added list of untagged articles (Nicolas Lœuillet)
- [#2255](https://github.com/wallabag/wallabag/pull/2255) Added Readability import (Jeremy Benoist)
- [#2002](https://github.com/wallabag/wallabag/pull/2002) Added articles counter in sidebar (Nicolas Lœuillet)
- [#2275](https://github.com/wallabag/wallabag/pull/2275) Added date from entries in export (Jeremy Benoist)
- [#2266](https://github.com/wallabag/wallabag/pull/2266) Added tags counter in sidebar (Nicolas Lœuillet)
- [#1941](https://github.com/wallabag/wallabag/pull/1941) Added asynchronous import (Jeremy Benoist, Nicolas Lœuillet)
- [#2192](https://github.com/wallabag/wallabag/pull/2192) Added Firefox / Chrome bookmarks import (Thomas Citharel)
- [#2310](https://github.com/wallabag/wallabag/pull/2310) Added Instapaper import (Jeremy Benoist)
- [#2322](https://github.com/wallabag/wallabag/pull/2322) Added customized errors templates (Jeremy Benoist)
- [#2323](https://github.com/wallabag/wallabag/pull/2323) Added simple stats in footer (Jeremy Benoist)
- [#2324](https://github.com/wallabag/wallabag/pull/2324) Added ability to edit a tagging rule (Jeremy Benoist)
- [#2325](https://github.com/wallabag/wallabag/pull/2325) Added an `exists` endpoint in API (Jeremy Benoist)
### Changed
- [#2170](https://github.com/wallabag/wallabag/pull/2170) Entry titles are now smaller on entry view (Thomas Citharel)
- [#2245](https://github.com/wallabag/wallabag/pull/2245) Changed where page title is displayed (Nicolas Lœuillet)
- [#2274](https://github.com/wallabag/wallabag/pull/2274) Re use JsonResponse in API (Jeremy Benoist)
- [#2257](https://github.com/wallabag/wallabag/pull/2257) Use created date for imported content (Jeremy Benoist)
- [#2326](https://github.com/wallabag/wallabag/pull/2326) Quickstart layout (Nicolas Lœuillet)
### Fixed
- [#2328](https://github.com/wallabag/wallabag/pull/2328) Fixed duplicate URL with accents (Jeremy Benoist)
- [#2319](https://github.com/wallabag/wallabag/pull/2319) Fixed `gd` extension missing in Dockerfile (Pascal Martin)
- [#2313](https://github.com/wallabag/wallabag/pull/2313) Fixed long loading on Firefox (Nicolas Lœuillet)
- [#2320](https://github.com/wallabag/wallabag/pull/2320) Fixed user config which wasn't created in some cases (Jeremy Benoist)
- [#2301](https://github.com/wallabag/wallabag/pull/2301) Fixed feeds not syncing on android application (Thomas Citharel)
- [#2308](https://github.com/wallabag/wallabag/pull/2308) Fixed duplicate tags on import (Jeremy Benoist)
- [#2297](https://github.com/wallabag/wallabag/pull/2297) Fixed epub export with special characters in title (morhelluin)
- [#2292](https://github.com/wallabag/wallabag/pull/2292) Fixed label for mark as read link in entry view (Nicolas Lœuillet)
- [#2260](https://github.com/wallabag/wallabag/pull/2260) Fixed different font-size for labels in config screen (Nicolas Lœuillet)
- [#2242](https://github.com/wallabag/wallabag/pull/2242) Fixed print / article views (Nicolas Lœuillet)
- [#2328](https://github.com/wallabag/wallabag/pull/2328) Avoid duplicate url with accents (Jeremy Benoist)
- [#2330](https://github.com/wallabag/wallabag/pull/2330) Remove error message when creating ePub versions (Paulino Michelazzo)
- [#2331](https://github.com/wallabag/wallabag/pull/2331) Fix parameters in API links (Jeremy Benoist)
### Removed
- [#2318](https://github.com/wallabag/wallabag/pull/2318) Removed duplicated templates files (Nicolas Lœuillet)
- [#2287](https://github.com/wallabag/wallabag/pull/2287) Useless area in footer for material theme (Nicolas Lœuillet)
## [2.0.8] - 2016-09-07
### Added
- [#2262](https://github.com/wallabag/wallabag/pull/2262) Added a check for the database connection during installation (Jeremy Benoist)
- [#2235](https://github.com/wallabag/wallabag/pull/2235) Added configuration for german documentation website, [available here](http://doc.wallabag.org/de/latest/) (Nicolas Lœuillet)
### Changed
- [graby](https://github.com/j0k3r/graby/releases/tag/1.4.3) Update Graby version, which now handles ZIP files (Jeremy Benoist)
- [#2230](https://github.com/wallabag/wallabag/pull/2230) Changed title display in card view (Danilow Alexandr)
### Fixed
- [#2234](https://github.com/wallabag/wallabag/pull/2234) Fixed mailto link in documentation (Christian Studer)
- [#2241](https://github.com/wallabag/wallabag/pull/2241) Fixed the height of the "Add new article" field in Chrome (Danilow Alexandr)
- [#2238](https://github.com/wallabag/wallabag/pull/2238) Fixed login page in Qupzilla (Danilow Alexandr)
## [2.0.7] - 2016-08-22
### Added
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (Nicolas Lœuillet)
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (Jeremy Benoist)
### Changed
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (Nicolas Lœuillet)
### Fixed
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (Jeremy Benoist)
- [#2216](https://github.com/wallabag/wallabag/pull/2216), [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable CORS headers for OAUTH part (Rurik19)
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
## [2.0.6] - 2016-08-10
### Changed
- [#2199](https://github.com/wallabag/wallabag/pull/2199) Handling socials links into a config file (Simon Alberny)
- [#2172](https://github.com/wallabag/wallabag/pull/2172) Change the way to login user in tests (Jeremy Benoist)
- [#2155](https://github.com/wallabag/wallabag/pull/2155) Use friendsofphp instead of fabpot for PHP CS Fixer (Jeremy Benoist)
### Fixed
- [#2200](https://github.com/wallabag/wallabag/pull/2200) Fixed typo in entry:notice:entry_saved (charno6)
- [#2185](https://github.com/wallabag/wallabag/pull/2185) Fix 3rd-Party Apps links (Chrome & Firefox) (Thomas Citharel)
- [#2165](https://github.com/wallabag/wallabag/pull/2165) Fix a few french translations typos (Thomas Citharel)
- [#2157](https://github.com/wallabag/wallabag/pull/2157) Handle only upper or only lower reading filter (Jeremy Benoist)
- [#2156](https://github.com/wallabag/wallabag/pull/2156) Try to find bad redirection after delete (Jeremy Benoist)
## [2.0.5] - 2016-05-31
### Added
- [#2052](https://github.com/wallabag/wallabag/pull/2052) Add unread filter to entries pages (Dan Bartram)
### Changed
- [#2093](https://github.com/wallabag/wallabag/pull/2093) Replace vertical dots in material theme with horizontal dots (Nicolas Lœuillet)
- [#2054](https://github.com/wallabag/wallabag/pull/2054) Update italian translation (Daniele Conca)
- [#2068](https://github.com/wallabag/wallabag/pull/2068), [#2049](https://github.com/wallabag/wallabag/pull/2049) Update documentation (Josh Panter, Mario Vormstein)
### Fixed
- [#2122](https://github.com/wallabag/wallabag/pull/2122) Fix the deletion of Tags/Entries relation when delete an entry (Jeremy Benoist, Nicolas Lœuillet)
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
- [#2092](https://github.com/wallabag/wallabag/pull/2092) API: Starred and archived clears if article is already exists (Rurik19)
- [#2097](https://github.com/wallabag/wallabag/issues/2097) Fix image path in 2-factor authentification email (Baptiste Mille-Mathias)
- [#2069](https://github.com/wallabag/wallabag/pull/2069) Do not specify language in Firefox addon link (Merouane Atig)
## [2.0.4] - 2016-05-07
### Added
- [#2016](https://github.com/wallabag/wallabag/pull/2016) Big updates in [our documentation](http://doc.wallabag.org/en/master/) (Nicolas Lœuillet)
- [#2028](https://github.com/wallabag/wallabag/pull/2028) Documentation about android application (Strubbl)
- [#2019](https://github.com/wallabag/wallabag/pull/2019) Italian translation (Daniele Conca)
- [#2011](https://github.com/wallabag/wallabag/pull/2011) Documentation about wallabag upgrade (biva)
- [#1985](https://github.com/wallabag/wallabag/pull/1985) Documentation about rights access (FoxMaSk)
- [#1969](https://github.com/wallabag/wallabag/pull/1969) Third resources for API in documentation (Nicolas Lœuillet)
- [#1967](https://github.com/wallabag/wallabag/pull/1967) FAQ page in documentation (Nicolas Lœuillet)
### Changed
- [#1977](https://github.com/wallabag/wallabag/pull/1977) Spanish documentation (jami7)
### Fixed
- [#2023](https://github.com/wallabag/wallabag/pull/2023) Fix translation for validators (Nicolas Lœuillet)
- [#2020](https://github.com/wallabag/wallabag/pull/2020) Fix number of entries in tag/list (Nicolas Lœuillet)
- [#2022](https://github.com/wallabag/wallabag/pull/2022) Fix pagination bar on small devices (Nicolas Lœuillet)
- [#2013](https://github.com/wallabag/wallabag/pull/2013) Fix tag listing (Nicolas Lœuillet)
- [#1976](https://github.com/wallabag/wallabag/pull/1976) Fix filter reading time (Nicolas Lœuillet)
- [#2005](https://github.com/wallabag/wallabag/pull/2005) Fix reading speed not defined when user was created via config page (Nicolas Lœuillet)
- [#2010](https://github.com/wallabag/wallabag/pull/2010) Set the title via POST /api/entries (Nicolas Lœuillet)
## [2.0.3] - 2016-04-22
### Added
- [#1962](https://github.com/wallabag/wallabag/pull/1962) cURL examples in documentation about API (Dirk Deimeke)
### Fixed
- Forgot `composer.lock` file in 2.0.2 release so some users may encounter `Fatal error: Out of memory` error during installation
## [2.0.2] - 2016-04-21
### Added
- [#1945](https://github.com/wallabag/wallabag/pull/1945) cURL examples in documentation about API (Dirk Deimeke)
- [#1911](https://github.com/wallabag/wallabag/pull/1911) Add title hover on entry titles (Thomas Citharel)
### Changed
- [#1944](https://github.com/wallabag/wallabag/pull/1944), [#1953](https://github.com/wallabag/wallabag/pull/1953), [#1954](https://github.com/wallabag/wallabag/pull/1954) Due to branches renaming, update documentation and configuration (maxi62330, Nicolas Lœuillet)
- [#1942](https://github.com/wallabag/wallabag/pull/1942) Optimize import (Nicolas Lœuillet)
- [#1935](https://github.com/wallabag/wallabag/pull/1935) Update spanish translation (jami7)
- [#1929](https://github.com/wallabag/wallabag/pull/1929) Change guid and link in RSS feeds to give original entry URL (Nicolas Lœuillet)
- [#1918](https://github.com/wallabag/wallabag/pull/1918) Improve pagination when user has lot of entries (Nicolas Lœuillet)
- [#1916](https://github.com/wallabag/wallabag/pull/1916) Change PHP arrays and move test parameters in a separated file (Jeremy Benoist)
### Fixed
- [#1957](https://github.com/wallabag/wallabag/pull/1957) Fix translation for `Go to your account` button (Nicolas Lœuillet)
- [#1925](https://github.com/wallabag/wallabag/pull/1925) Redirect to homepage if refered is null (Nicolas Lœuillet)
- [#1912](https://github.com/wallabag/wallabag/pull/1912) Fix 500 Internal Server Error -> "Setting piwik_enabled couldn't be found" (Jeremy Benoist)
## [2.0.1] - 2016-04-11
### Added
- [Documentation about importing large file](http://doc.wallabag.org/en/v2/user/installation.html#installing-on-nginx) into nginx. (Nicolas Lœuillet)
- [Documentation about wallabag API](http://doc.wallabag.org/en/v2/developer/api.html) (Nicolas Lœuillet)
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (Nicolas Lœuillet)
- [Documentation about wallabag v1 CLI import](http://doc.wallabag.org/en/v2/user/migration.html#import-via-command-line-interface-cli) (Nicolas Lœuillet)
- [Add migrate link](http://doc.wallabag.org/en/v2/user/migration.html) in documentation (Nicolas Lœuillet)
### Changed
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Persian translation (Masoud Abkenar)
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Spanish translation (Jeremy Benoist)
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (Nicolas Lœuillet)
### Fixed
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connection error (Jeremy Benoist)
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (Nicolas Lœuillet)
- [#1895](https://github.com/wallabag/wallabag/pull/1895) API: All the entries are fetched via GET /api/entries (Nicolas Lœuillet)
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view #1893 (Nicolas Lœuillet)
- [#1896](https://github.com/wallabag/wallabag/pull/1896) remove download_picture setting and manage show_printlink in material theme #1867 (Nicolas Lœuillet)
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (Nicolas Lœuillet)
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (Nicolas Lœuillet)
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (Nicolas Lœuillet)
- [#1844](https://github.com/wallabag/wallabag/pull/1844) Lock ocramius/proxy-manager (Jeremy Benoist)
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (Nicolas Lœuillet)
- [#1801](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (Jeremy Benoist)
### Removed
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (Nicolas Lœuillet)
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (Nicolas Lœuillet)
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (Mathieu Bruyen)
## [2.0.0] - 2016-04-03
### Added
* save an article, read it, favorite it, archive it. (Hopefully)
* annotations: In each article you read, you can write annotations. ([read the doc](http://doc.wallabag.org/en/v2/user/annotations.html))
* filter entries by reading time, domain name, creation date, status, etc.
* assign tags to entries
* edit article titles
* a REST API ([you can have a look to the documentation](http://v2.wallabag.org/api/doc))
* authorization via oAuth2
* a new default theme, called `material`
* RSS feeds (with ability to limit number of articles)
* create a new account from the config page (for super admin only)
* recover passwords from login page (you have to fill your email on config page)
* picture preview, if available, is displayed for each entry
* Public registration
* migration from wallabag v1/v2 (based on JSON export) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
* migration from Pocket (it works, but we need to implement asynchronous import: if you have too many articles, it can fail) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
* exports in many formats (PDF, JSON, EPUB, MOBI, XML, CSV and TXT).
* 2-Factor authentication via email ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#two-factor-authentication))
* Tagging rule: create a rule to automatically assign tags to entries! ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#tagging-rules))
* Occitan, German, French, Turkish, Persian, Romanian, Polish, Danish, Spanish and English translations
* Quickstart for beginners (when you don't have any entries)
* Internal settings for administrator (the account created during installation)
* For 3rd apps developers, a developer page is available to create API token
## Changelog
### 2.2.1 2017/01/31
- [#2809](https://github.com/wallabag/wallabag/pull/2809) Fixed duplicate entry for share_public in craue_setting_table and added documentation about migration (@nicosomb)
### 2.2.0 2017/01/27
- [#2789](https://github.com/wallabag/wallabag/pull/2789) Added indexes on is_archived and is_starred (@nicosomb)
- [#2763](https://github.com/wallabag/wallabag/pull/2763) Sort list of available tags (@janLo)
- [#2646](https://github.com/wallabag/wallabag/pull/2646) Added explanations about migrations (@nicosomb, @jlnostr)
- [#2787](https://github.com/wallabag/wallabag/pull/2787) Lock kphoen/rulerz to avoid breaking changes (@j0k3r)
- [#2750](https://github.com/wallabag/wallabag/pull/2750) Added migration to rename uuid to uid (@nicosomb)
- [#2774](https://github.com/wallabag/wallabag/pull/2774) add cli export (@tcitworld)
- [#2742](https://github.com/wallabag/wallabag/pull/2742) Avoid false preview image (@j0k3r)
- [#2733](https://github.com/wallabag/wallabag/pull/2733) Fixed API error No matching accepted Response format could be determined (@nicosomb)
- [#2735](https://github.com/wallabag/wallabag/pull/2735) Removed the small element on reading time (@nicosomb)
- [#2729](https://github.com/wallabag/wallabag/pull/2729) Fix double overlay on expanded right sidenav (@Simounet)
- [#2728](https://github.com/wallabag/wallabag/pull/2728) Fix right side-nav scrolling on low height window (@Simounet)
- [#2725](https://github.com/wallabag/wallabag/pull/2725) Share to Shaarli - Include tags (@lapineige,)
- [#2732](https://github.com/wallabag/wallabag/pull/2732) Firefox add-on URL updated (@Simounet)
- [#2730](https://github.com/wallabag/wallabag/pull/2730) Access to search, filters, export on mobile (@Simounet)
- [#2731](https://github.com/wallabag/wallabag/pull/2731) Minor typo fix (@llune)
- [#2702](https://github.com/wallabag/wallabag/pull/2702) Added index on entry.uuid (@nicosomb)
- [#2724](https://github.com/wallabag/wallabag/pull/2724) Fix entry reading time (@Simounet)
- [#2723](https://github.com/wallabag/wallabag/pull/2723) Fixed export by tags with a tag which contains space (@nicosomb)
- [#2696](https://github.com/wallabag/wallabag/pull/2696) Run migration on each test (@j0k3r)
- [#2714](https://github.com/wallabag/wallabag/pull/2714) Fix the box shadow on the card entry (@Simounet)
- [#2616](https://github.com/wallabag/wallabag/pull/2616) Change documentation links to HTTPS (@mathieui)
- [#2682](https://github.com/wallabag/wallabag/pull/2682) Ensure craue_config_setting migration are ok (@nicosomb, @j0k3r)
- [#2690](https://github.com/wallabag/wallabag/pull/2690) Added QoS for RabbitMQ (@nicosomb)
- [#2701](https://github.com/wallabag/wallabag/pull/2701) Removed outputWalkers for pagination (@nicosomb)
- [#2667](https://github.com/wallabag/wallabag/pull/2667) Upgrade to Symfony 3.2 (@nicosomb, @j0k3r)
- [#2699](https://github.com/wallabag/wallabag/pull/2699) Removed user join in query builder (@nicosomb)
- [#2697](https://github.com/wallabag/wallabag/pull/2697) Add default value for list_mode (@j0k3r)
- [#2691](https://github.com/wallabag/wallabag/pull/2691) Moved total messages from import (@nicosomb)
- [#2689](https://github.com/wallabag/wallabag/pull/2689) Replaced chmod for download pictures feature (@nicosomb)
- [#2688](https://github.com/wallabag/wallabag/pull/2688) Fixed imports with is_starred and is_archived (@nicosomb)
- [#2686](https://github.com/wallabag/wallabag/pull/2686) Casted maxIterations for Redis import (@nicosomb)
- [#2680](https://github.com/wallabag/wallabag/pull/2680) Limit rule to 255 (@j0k3r)
- [#2679](https://github.com/wallabag/wallabag/pull/2679) Fix content from imported entried being discarded when URL goes bad (@j0k3r, @jcharaoui)
- [#2677](https://github.com/wallabag/wallabag/pull/2677) add translations/wallabag_user.de.yml (fixes #2673) (@Strubbl)
- [#2676](https://github.com/wallabag/wallabag/pull/2676) Updated addons links (@nicosomb)
- [#2674](https://github.com/wallabag/wallabag/pull/2674) Fixed 404 for wallabag logo in 2FA (@nicosomb)
- [#2672](https://github.com/wallabag/wallabag/pull/2672) Fixed typo in asynchronous documentation (@nicosomb)
- [#2670](https://github.com/wallabag/wallabag/pull/2670) Added floating button on entry view for mobile (@nicosomb)
- [#2650](https://github.com/wallabag/wallabag/pull/2650) Added hasColumn() in migration to check column existence (@nicosomb)
- [#2662](https://github.com/wallabag/wallabag/pull/2662) Add list view (@nicosomb)
- [#2663](https://github.com/wallabag/wallabag/pull/2663) Removed FOSUser attributes removed in alpha4 (@nicosomb)
- [#2659](https://github.com/wallabag/wallabag/pull/2659) Fix incorrect reading time calculation for entries in non-latin languages. (@akovalyov)
- [#2654](https://github.com/wallabag/wallabag/pull/2654) Enforce lowercase on domain name filter (@Kdecherf)
- [#2622](https://github.com/wallabag/wallabag/pull/2622) Material UI Changes (@nicosomb, @Kdecherf)
- [#2642](https://github.com/wallabag/wallabag/pull/2642) Fixed logout shortcut (@nicosomb)
- [#2620](https://github.com/wallabag/wallabag/pull/2620) Fix password layout (@j0k3r)
- [#2640](https://github.com/wallabag/wallabag/pull/2640) Fixed entry shortcuts available in list view (@nicosomb)
- [#2637](https://github.com/wallabag/wallabag/pull/2637) Update messages.pl.yml (@wallabag)
- [#2317](https://github.com/wallabag/wallabag/pull/2317) Added authentication for restricted access articles (@nicosomb, @bdunogier)
- [#2612](https://github.com/wallabag/wallabag/pull/2612) Added help about shortcuts (@nicosomb)
- [#2635](https://github.com/wallabag/wallabag/pull/2635) Return 304 when content isn't reloaded using the API (@j0k3r)
- [#2613](https://github.com/wallabag/wallabag/pull/2613) Fix card action overlap (@j0k3r)
- [#2614](https://github.com/wallabag/wallabag/pull/2614) Add ability to reload entry from API (@j0k3r)
- [#2632](https://github.com/wallabag/wallabag/pull/2632) Update messages.pl.yml (@wallabag)
- [#2630](https://github.com/wallabag/wallabag/pull/2630) Add white-text class to card-title too (@ThibaudDauce)
- [#2600](https://github.com/wallabag/wallabag/pull/2600) Install assets for shortcuts (@j0k3r)
- [#2601](https://github.com/wallabag/wallabag/pull/2601) Added http_status in Entry entity (@nicosomb)
- [#2593](https://github.com/wallabag/wallabag/pull/2593) Put log in the most common failure tests (@j0k3r)
- [#2592](https://github.com/wallabag/wallabag/pull/2592) Update messages.pl.yml (@wallabag)
- [#2547](https://github.com/wallabag/wallabag/pull/2547) Added a configuration to define the redirection after archiving an entry (@j0k3r, @nicosomb, @Strubbl)
- [#2495](https://github.com/wallabag/wallabag/pull/2495) Added shortcuts (@nicosomb, @tcitworld)
- [#2566](https://github.com/wallabag/wallabag/pull/2566) Added unmark.it sharing (@nicosomb)
- [#2564](https://github.com/wallabag/wallabag/pull/2564) Update messages.pl.yml (@wallabag)
- [#2553](https://github.com/wallabag/wallabag/pull/2553) Added new tag form in mobile view for Material theme (@nicosomb)
- [#2548](https://github.com/wallabag/wallabag/pull/2548) Add Pinboard import (@Strubbl, @j0k3r)
- [#2551](https://github.com/wallabag/wallabag/pull/2551) Removed Maintenance bundle (@nicosomb)
- [#2541](https://github.com/wallabag/wallabag/pull/2541) Update messages.pl.yml (@wallabag)
- [#2540](https://github.com/wallabag/wallabag/pull/2540) Update of the OC version (@Quent-in)
- [#2535](https://github.com/wallabag/wallabag/pull/2535) Use created_at as default sort (@j0k3r)
- [#2180](https://github.com/wallabag/wallabag/pull/2180) Download pictures (@j0k3r, @tcitworld)
- [#2523](https://github.com/wallabag/wallabag/pull/2523) Added QRCode and link to configure android application (@tcitworld, @nicosomb)
- [#2499](https://github.com/wallabag/wallabag/pull/2499) Added relation between API Client and User (@nicosomb)
- [#2496](https://github.com/wallabag/wallabag/pull/2496) Update messages.pl.yml (@wallabag)
- [#2401](https://github.com/wallabag/wallabag/pull/2401) Reset account (@j0k3r)
- [#1890](https://github.com/wallabag/wallabag/pull/1890) bring annotations to API (@j0k3r, @nicosomb, @tcitworld)
- [#2456](https://github.com/wallabag/wallabag/pull/2456) use new tcpdf library version (@tcitworld)
- [#2453](https://github.com/wallabag/wallabag/pull/2453) Fix API export (@j0k3r)
- [#2438](https://github.com/wallabag/wallabag/pull/2438) Update messages.pl.yml (@wallabag)
- [#2372](https://github.com/wallabag/wallabag/pull/2372) API: ability to export entry in all available format (epub, pdf, etc...) (@j0k3r, @pmartin)
- [#2409](https://github.com/wallabag/wallabag/pull/2409) Occitan version update (@Quent-in, @nicosomb)
- [#2177](https://github.com/wallabag/wallabag/pull/2177) Delete user (@j0k3r, @nicosomb, @tcitworld)
### 2.1.6 2017/01/18
- [#2759](https://github.com/wallabag/wallabag/pull/2759) Prepare wallabag 2.1.6 :rocket: (@nicosomb)
- [#2758](https://github.com/wallabag/wallabag/pull/2758) Fixed possible JS injection via the title edition (@nicosomb)
- [#2736](https://github.com/wallabag/wallabag/pull/2736) Update copyright year (@lex111)
- [#2624](https://github.com/wallabag/wallabag/pull/2624) Fix #2056 update config.yml (@Rurik19)
### 2.1.5 2016/11/21
- [#2625](https://github.com/wallabag/wallabag/pull/2625) Prepare wallabag 2.1.5 (@nicosomb)
- [#2623](https://github.com/wallabag/wallabag/pull/2623) Force composer to run as PHP 5.5.9 (@j0k3r)
- [#2608](https://github.com/wallabag/wallabag/pull/2608) Change version to 2.2.0-dev (@nicosomb)
- [#2607](https://github.com/wallabag/wallabag/pull/2607) Updated changelog for 2.1.4 (@nicosomb)
### 2.1.4 2016/11/19
- [#2604](https://github.com/wallabag/wallabag/pull/2604) wallabag cant work on PostgreSQL <= 9.1 (@j0k3r)
- [#2605](https://github.com/wallabag/wallabag/pull/2605) Add .travis.yml change to RELEASE_PROCESS (@j0k3r)
- [#2603](https://github.com/wallabag/wallabag/pull/2603) Fix clear-cache problem using —no-dev (@j0k3r)
- [#2596](https://github.com/wallabag/wallabag/pull/2596) Prepare wallabag 2.1.4 :rocket: (@nicosomb)
- [#2550](https://github.com/wallabag/wallabag/pull/2550) Reordered documentation (@jlnostr, @nicosomb)
- [#2578](https://github.com/wallabag/wallabag/pull/2578) Added help on config screen (@nicosomb)
- [#2570](https://github.com/wallabag/wallabag/pull/2570) Added creation date on entries view (@nicosomb)
- [#2587](https://github.com/wallabag/wallabag/pull/2587) User-agents have moved to site-config (@j0k3r)
- [#2584](https://github.com/wallabag/wallabag/pull/2584) fix #2582 - Documentation, Nginx config: disable all other PHP file from symphony (@blankoworld)
- [#2577](https://github.com/wallabag/wallabag/pull/2577) Added tooltips in header bar (@nicosomb)
- [#2562](https://github.com/wallabag/wallabag/pull/2562) Bigger image preview in case of only image content (@j0k3r)
- [#2571](https://github.com/wallabag/wallabag/pull/2571) Changed behavior when we change language (@nicosomb)
- [#2565](https://github.com/wallabag/wallabag/pull/2565) Removed support website on about page (@nicosomb)
- [#2563](https://github.com/wallabag/wallabag/pull/2563) Improve PR template (@j0k3r)
- [#2561](https://github.com/wallabag/wallabag/pull/2561) fix #2559 (@Rurik19)
- [#2555](https://github.com/wallabag/wallabag/pull/2555) Reorder variable assignation in update.sh script, fix #2554 (@dkrmr)
- [#2556](https://github.com/wallabag/wallabag/pull/2556) Replaced TokenStorage with TokenStorageInterface (@nicosomb)
- [#2552](https://github.com/wallabag/wallabag/pull/2552) Round readingtime to avoid crazy number (@j0k3r)
- [#2546](https://github.com/wallabag/wallabag/pull/2546) Updated default parameters.yml file in documentation (@nicosomb)
- [#2545](https://github.com/wallabag/wallabag/pull/2545) Update the upgrade documentation (@nicosomb)
### 2.1.3 2016/11/04
- [#2536](https://github.com/wallabag/wallabag/pull/2536) Prepare wallabag 2.1.3 :rocket: (@nicosomb)
- [#2460](https://github.com/wallabag/wallabag/pull/2460) UI Changes (@tcitworld, @j0k3r)
- [#2534](https://github.com/wallabag/wallabag/pull/2534) Use created_at as default sort (@j0k3r)
- [#2530](https://github.com/wallabag/wallabag/pull/2530) Added documentation about failed to load external entity error (@j0k3r, @Strubbl, @nicosomb)
- [#2519](https://github.com/wallabag/wallabag/pull/2519) Translation update - French (@j0k3r, @Jibec)
- [#2528](https://github.com/wallabag/wallabag/pull/2528) Force user-agent for .slashdot.org (@Kdecherf)
- [#2524](https://github.com/wallabag/wallabag/pull/2524) Add Instapaper to CLI import (@lologhi)
- [#2521](https://github.com/wallabag/wallabag/pull/2521) fix path for the install scripts (@foxmask)
- [#2520](https://github.com/wallabag/wallabag/pull/2520) Inject parameter instead of service (@j0k3r)
- [#2518](https://github.com/wallabag/wallabag/pull/2518) docs: fix link to wallabag-stats project (@Strubbl)
- [#2514](https://github.com/wallabag/wallabag/pull/2514) docs: update 3rd party projects by Strubbl (@Strubbl)
- [#2513](https://github.com/wallabag/wallabag/pull/2513) Updated Capistrano configuration (@nicosomb)
- [#2506](https://github.com/wallabag/wallabag/pull/2506) Fixed entries export filtered with a tag (@nicosomb)
- [#2509](https://github.com/wallabag/wallabag/pull/2509) Exploded WallabagRestController into many controllers (@nicosomb)
- [#2508](https://github.com/wallabag/wallabag/pull/2508) Added the whole path to parameters.yml file (@nicosomb)
- [#2507](https://github.com/wallabag/wallabag/pull/2507) Added require.sh to check if composer is installed (@nicosomb)
- [#2500](https://github.com/wallabag/wallabag/pull/2500) Added a check in Makefile to see if composer is installed (@nicosomb)
- [#2504](https://github.com/wallabag/wallabag/pull/2504) Added tag label in the page title (@nicosomb)
- [#2473](https://github.com/wallabag/wallabag/pull/2473) Portuguese (Brazilian) translation (@pmichelazzo, @j0k3r, @nicosomb, @Quent-in, @danbartram, @even-allmighty, @Strubbl, @tcitworld, @benages, @Simounet, @charno6, @Rurik19, @bmillemathias, @cstuder, @egilli, @pmartin)
- [#2493](https://github.com/wallabag/wallabag/pull/2493) Add relevant links to fetch content error page (@nicosomb, @bmillemathias)
- [#2486](https://github.com/wallabag/wallabag/pull/2486) Added :fr: documentation for wallabag backup (@jlnostr, @nicosomb)
- [#2484](https://github.com/wallabag/wallabag/pull/2484) Document what to backup in Wallabag (@bmillemathias)
- [#2485](https://github.com/wallabag/wallabag/pull/2485) Fix missing words in Android application documentation (@bmillemathias)
- [#2481](https://github.com/wallabag/wallabag/pull/2481) Some fixes (@j0k3r)
- [#2482](https://github.com/wallabag/wallabag/pull/2482) If reload content failed, dont update it (@j0k3r)
- [#2467](https://github.com/wallabag/wallabag/pull/2467) Update wallabag version for master branch (@nicosomb)
- [#2466](https://github.com/wallabag/wallabag/pull/2466) Removed MD5 hash in documentation (@nicosomb)
### 2.1.2 2016/10/17
- [#2452](https://github.com/wallabag/wallabag/pull/2452) Prepare wallabag 2.1.2 :rocket: (@nicosomb)
- [#2464](https://github.com/wallabag/wallabag/pull/2464) Fixed hardcoded title for internal settings (@nicosomb)
- [#2455](https://github.com/wallabag/wallabag/pull/2455) Fix tabs on material (@tcitworld)
- [#2454](https://github.com/wallabag/wallabag/pull/2454) Fix baggy display on small screens (@tcitworld)
- [#2459](https://github.com/wallabag/wallabag/pull/2459) German: improve existing and add missing translation (@Strubbl)
- [#2457](https://github.com/wallabag/wallabag/pull/2457) add link to German documentation in about page (@Strubbl)
- [#2451](https://github.com/wallabag/wallabag/pull/2451) Bring make dev (@tcitworld)
- [#2450](https://github.com/wallabag/wallabag/pull/2450) View improvements (@tcitworld)
- [#2412](https://github.com/wallabag/wallabag/pull/2412) Fix PostgreSQL migrations (@j0k3r)
- [#2446](https://github.com/wallabag/wallabag/pull/2446) Added information about tagging rules in documentation (@Strubbl, @nicosomb)
- [#2447](https://github.com/wallabag/wallabag/pull/2447) Fixed french and german doc homepages (@nicosomb)
- [#2444](https://github.com/wallabag/wallabag/pull/2444) Mention example instance in docs (@Kaligule)
- [#1](https://github.com/wallabag/wallabag/pull/1) Mention example instance (@Kaligule)
- [#2435](https://github.com/wallabag/wallabag/pull/2435) Added french documentation for upgrade (@nicosomb, @Strubbl)
- [#2434](https://github.com/wallabag/wallabag/pull/2434) Added french documentation for parameters.yml (@Strubbl, @nicosomb)
- [#2439](https://github.com/wallabag/wallabag/pull/2439) Minor fixes in the english documentation (@zertrin)
- [#2432](https://github.com/wallabag/wallabag/pull/2432) Update ISSUE_TEMPLATE.md (@j0k3r)
- [#2429](https://github.com/wallabag/wallabag/pull/2429) Lock deps for FOSUser (@j0k3r)
- [#2422](https://github.com/wallabag/wallabag/pull/2422) Fixed display for note in installation page (@nicosomb)
- [#2426](https://github.com/wallabag/wallabag/pull/2426) Fix links on english documentation homepage (@nicosomb)
- [#2420](https://github.com/wallabag/wallabag/pull/2420) Avoid error when Redis isn't here in tests (@j0k3r)
- [#2403](https://github.com/wallabag/wallabag/pull/2403) Cleaned up documentation for installation process (@nicosomb, @j0k3r, @Strubbl)
- [#2419](https://github.com/wallabag/wallabag/pull/2419) Fixed Twitter Cards by adding a description tag (@nicosomb)
- [#2418](https://github.com/wallabag/wallabag/pull/2418) Added support of Twitter Cards for public articles (@nicosomb)
- [#2417](https://github.com/wallabag/wallabag/pull/2417) Define a dev version for the master (@j0k3r)
- [#2411](https://github.com/wallabag/wallabag/pull/2411) Fix entities definition (@j0k3r)
- [#2414](https://github.com/wallabag/wallabag/pull/2414) Remove automatic closing of the window from bookmarklet (@szafranek)
- [#2413](https://github.com/wallabag/wallabag/pull/2413) When a sub command fail, display error message (@j0k3r)
- [#2410](https://github.com/wallabag/wallabag/pull/2410) Optimize tag list display (@j0k3r)
- [#2406](https://github.com/wallabag/wallabag/pull/2406) Show number of annotations instead of nbAnnotations placeholder (@szafranek)
- [#2405](https://github.com/wallabag/wallabag/pull/2405) Fix few invalid HTML tags (@szafranek)
- [#2402](https://github.com/wallabag/wallabag/pull/2402) Removed 1.x stuff in CHANGELOG (@nicosomb)
- [#2351](https://github.com/wallabag/wallabag/pull/2351) Changed relation between API client and refresh token (@j0k3r, @nicosomb)
- [#2393](https://github.com/wallabag/wallabag/pull/2393) Ability to check multiple urls in API (@j0k3r)
- [#2397](https://github.com/wallabag/wallabag/pull/2397) Ensure orphan tag are remove in API (@j0k3r)
- [#2399](https://github.com/wallabag/wallabag/pull/2399) Use default locale for user config (@j0k3r)
- [#2400](https://github.com/wallabag/wallabag/pull/2400) Set env to prod in documentation (@j0k3r)
- [#2396](https://github.com/wallabag/wallabag/pull/2396) Update messages.pl.yml (@wallabag)
- [#2395](https://github.com/wallabag/wallabag/pull/2395) Add ability to use socket (@j0k3r)
- [#2386](https://github.com/wallabag/wallabag/pull/2386) Changed Changelog by using github-changelog-generator from @skywinder (@nicosomb)
- [#2389](https://github.com/wallabag/wallabag/pull/2389) Added default picture if preview picture is null (@nicosomb)
- [#2388](https://github.com/wallabag/wallabag/pull/2388) Fixed two-factor checkbox display in user admin panel (@nicosomb)
- [#2385](https://github.com/wallabag/wallabag/pull/2385) Added documentation about siteconfig fix (@nicosomb)
- [#2383](https://github.com/wallabag/wallabag/pull/2383) Added OpenGraph support for public articles (@nicosomb)
- [#2332](https://github.com/wallabag/wallabag/pull/2332) Fix relations export for Entry (@j0k3r)
- [#2377](https://github.com/wallabag/wallabag/pull/2377) Fix exists API call (@j0k3r, @tcitworld)
- [#2374](https://github.com/wallabag/wallabag/pull/2374) Clickable tags (@tcitworld)
- [#2375](https://github.com/wallabag/wallabag/pull/2375) try to reduce assets build npm connection failing by updating nodejs (@tcitworld)
- [#2363](https://github.com/wallabag/wallabag/pull/2363) Remove mouf/nodejs-installer from composer (@j0k3r)
### 2.1.1 2016/10/04
- [#2349](https://github.com/wallabag/wallabag/pull/2349) Prepare wallabag 2.1.1 (@nicosomb, @j0k3r)
- [#2353](https://github.com/wallabag/wallabag/pull/2353) Basically, fix everything (@tcitworld, @nicosomb, @j0k3r)
- [#2359](https://github.com/wallabag/wallabag/pull/2359) Create config even if user is disabled (@j0k3r)
- [#2354](https://github.com/wallabag/wallabag/pull/2354) Add php-bcmath extension to requirements (@Zayon)
- [#2341](https://github.com/wallabag/wallabag/pull/2341) Update messages.pl.yml (@mruminski)
- [#2340](https://github.com/wallabag/wallabag/pull/2340) small improvement for german translation (@Strubbl)
- [#2338](https://github.com/wallabag/wallabag/pull/2338) Fix for 2.1 installation (@j0k3r)
### 2.1.0 2016/10/03
- [#2334](https://github.com/wallabag/wallabag/pull/2334) Prepare wallabag 2.1.0 :rocket: (@nicosomb)
- [#2335](https://github.com/wallabag/wallabag/pull/2335) Fixed CSS for quickstart links (@nicosomb)
- [#2333](https://github.com/wallabag/wallabag/pull/2333) for 2.1, translate all strings to German, which haven't been translated yet (@j0k3r, @nicosomb, @jlnostr, @Strubbl)
- [#2314](https://github.com/wallabag/wallabag/pull/2314) Assets work (@tcitworld)
- [#2331](https://github.com/wallabag/wallabag/pull/2331) Fix parameters in API _links (@j0k3r)
- [#2327](https://github.com/wallabag/wallabag/pull/2327) Add users management UI (@j0k3r)
- [#2330](https://github.com/wallabag/wallabag/pull/2330) Remove error message when creating ePub versions (@pmichelazzo)
- [#2325](https://github.com/wallabag/wallabag/pull/2325) Add an exists endpoint in API (@j0k3r)
- [#2328](https://github.com/wallabag/wallabag/pull/2328) Avoid duplicate url with accents (@j0k3r)
- [#2326](https://github.com/wallabag/wallabag/pull/2326) Changed quickstart layout (@j0k3r, @nicosomb)
- [#2324](https://github.com/wallabag/wallabag/pull/2324) Add ability to edit a tagging rule (@j0k3r)
- [#2323](https://github.com/wallabag/wallabag/pull/2323) Add simple stats in footer (@j0k3r)
- [#2329](https://github.com/wallabag/wallabag/pull/2329) Occitan version update (@j0k3r, @Quent-in)
- [#2322](https://github.com/wallabag/wallabag/pull/2322) Customize errors templates (@j0k3r)
- [#2320](https://github.com/wallabag/wallabag/pull/2320) Create user config in one place. (@j0k3r)
- [#2319](https://github.com/wallabag/wallabag/pull/2319) Docker : install PHP 'gd' extension (@pmartin)
- [#2318](https://github.com/wallabag/wallabag/pull/2318) Removed duplicated templates files (@nicosomb)
- [#2315](https://github.com/wallabag/wallabag/pull/2315) Fixes about upgrade (@nicosomb, @Strubbl, @jlnostr)
- [#2316](https://github.com/wallabag/wallabag/pull/2316) Update messages.pl.yml (@mruminski)
- [#2313](https://github.com/wallabag/wallabag/pull/2313) Remove CSS class who caused long loading on Firefox (@nicosomb)
- [#2309](https://github.com/wallabag/wallabag/pull/2309) Update messages.pl.yml (@mruminski)
- [#2192](https://github.com/wallabag/wallabag/pull/2192) Import Firefox & Chrome bookmarks into wallabag (@nicosomb, @j0k3r, @tcitworld)
- [#2308](https://github.com/wallabag/wallabag/pull/2308) Fix duplicate tags on import (@j0k3r)
- [#2306](https://github.com/wallabag/wallabag/pull/2306) Some checks about Redis & RabbitMQ (@j0k3r)
- [#2301](https://github.com/wallabag/wallabag/pull/2301) fix feeds not syncing on android app (@tcitworld, @nicosomb, @Quent-in, @j0k3r, @danbartram, @even-allmighty, @Strubbl, @benages, @Simounet, @charno6, @Rurik19, @bmillemathias, @cstuder, @egilli)
- [#2239](https://github.com/wallabag/wallabag/pull/2239) Update documentation with new features for 2.1 (@nicosomb)
- [#2299](https://github.com/wallabag/wallabag/pull/2299) polish version (@mruminski)
- [#2297](https://github.com/wallabag/wallabag/pull/2297) Fix issue #2296: epub export with special chars in the title. (@egilli)
- [#1941](https://github.com/wallabag/wallabag/pull/1941) Use asynchronous jobs for imports (@j0k3r, @nicosomb)
- [#2292](https://github.com/wallabag/wallabag/pull/2292) Fixed label for mark as read link in entry view (@nicosomb)
- [#2291](https://github.com/wallabag/wallabag/pull/2291) Add links to translations in documentation homepage (@nicosomb)
- [#2287](https://github.com/wallabag/wallabag/pull/2287) Remove footer part (@nicosomb)
- [#2290](https://github.com/wallabag/wallabag/pull/2290) Update messages.oc.yml (@Quent-in)
- [#2279](https://github.com/wallabag/wallabag/pull/2279) Check if asset is enable instead of opposite (@j0k3r)
- [#2275](https://github.com/wallabag/wallabag/pull/2275) Export dates from entries (@j0k3r)
- [#2274](https://github.com/wallabag/wallabag/pull/2274) Re-use JsonResponse (@j0k3r)
### 2.0.8 2016/09/07
- [#2271](https://github.com/wallabag/wallabag/pull/2271) Prepare wallabag 2.0.8 (@nicosomb)
- [#2266](https://github.com/wallabag/wallabag/pull/2266) Added tags counter in sidebar (material theme) (@nicosomb)
- [#2267](https://github.com/wallabag/wallabag/pull/2267) Occitan updated (@Quent-in)
- [#2263](https://github.com/wallabag/wallabag/pull/2263) Instead of selecting the whole data, just count it (@j0k3r)
- [#2002](https://github.com/wallabag/wallabag/pull/2002) Feature display items number (@nicosomb)
- [#2262](https://github.com/wallabag/wallabag/pull/2262) Add a check for the database connection (@j0k3r)
- [#2260](https://github.com/wallabag/wallabag/pull/2260) Fixed different font-size for labels in config screen (@nicosomb)
- [#2252](https://github.com/wallabag/wallabag/pull/2252) Fixed last merge who caused CSS/JS bugs (@j0k3r, @nicosomb)
- [#2242](https://github.com/wallabag/wallabag/pull/2242) Fix print / article views (@nicosomb)
- [#2258](https://github.com/wallabag/wallabag/pull/2258) Update messages.pl.yml (@mruminski)
- [#2255](https://github.com/wallabag/wallabag/pull/2255) Add Readability import (@nicosomb, @j0k3r)
- [#2243](https://github.com/wallabag/wallabag/pull/2243) Add untagged entries (@j0k3r, @nicosomb)
- [#2245](https://github.com/wallabag/wallabag/pull/2245) Changed where page title is displayed (@nicosomb)
- [#2240](https://github.com/wallabag/wallabag/pull/2240) Add icon for public share link (@nicosomb)
- [#2241](https://github.com/wallabag/wallabag/pull/2241) Fix issue #1991: correction of the height field to add articles (@modos189)
- [#2238](https://github.com/wallabag/wallabag/pull/2238) V2 improve view (@modos189)
- [#2237](https://github.com/wallabag/wallabag/pull/2237) Add original link in public view of the article (@nicosomb)
- [#1904](https://github.com/wallabag/wallabag/pull/1904) Share entry with a public URL (@j0k3r, @nicosomb)
- [#2236](https://github.com/wallabag/wallabag/pull/2236) Allow failure for PHP 7.1 (@j0k3r)
- [#2186](https://github.com/wallabag/wallabag/pull/2186) Add option to disable registration (@nicosomb, @j0k3r, @tcitworld)
- [#2234](https://github.com/wallabag/wallabag/pull/2234) Fixes mailto link in documentation (@cstuder)
- [#2235](https://github.com/wallabag/wallabag/pull/2235) Add configuration for german documentation (@nicosomb)
- [#2230](https://github.com/wallabag/wallabag/pull/2230) Cut entries title in card view: continued (@bmillemathias)
- [#2218](https://github.com/wallabag/wallabag/pull/2218) Delete tag or tags by label (@j0k3r, @tcitworld, @nicosomb)
### 2.0.7 2016/08/22
- [#2226](https://github.com/wallabag/wallabag/pull/2226) Prepare wallabag 2.0.7 (@nicosomb)
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (@j0k3r, @nicosomb)
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (@nicosomb)
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (@j0k3r)
- [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable PATCH method for CORS in API part (@Rurik19)
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (@j0k3r)
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (@j0k3r, @nicosomb)
- [#2216](https://github.com/wallabag/wallabag/pull/2216) Enable CORS headers for OAUTH part (@Rurik19)
### 2.0.6 2016/08/10
- [#2212](https://github.com/wallabag/wallabag/pull/2212) Prepare release 2.0.6 (@nicosomb)
- [#2202](https://github.com/wallabag/wallabag/pull/2202) add some missing phpdoc parameters (@tcitworld)
- [#2200](https://github.com/wallabag/wallabag/pull/2200) Fixed typo in entry:notice:entry_saved (@charno6)
- [#2199](https://github.com/wallabag/wallabag/pull/2199) Handling socials links into a config file (@Simounet)
- [#2198](https://github.com/wallabag/wallabag/pull/2198) FIX image inside a figure element max-width (@Simounet)
- [#2195](https://github.com/wallabag/wallabag/pull/2195) Remove binary from repo (@j0k3r)
- [#2048](https://github.com/wallabag/wallabag/pull/2048) Run PHP 7.1 on Travis (@j0k3r)
- [#2194](https://github.com/wallabag/wallabag/pull/2194) Fixed spelling Artúclos --> Artículos (@benages)
- [#2183](https://github.com/wallabag/wallabag/pull/2183) Bring tags on entries view to baggy (@tcitworld)
- [#2185](https://github.com/wallabag/wallabag/pull/2185) Fix 3rd-Party Apps links (Chrome & Firefox) (@tcitworld)
- [#2174](https://github.com/wallabag/wallabag/pull/2174) Add filter for tags on API (@tcitworld)
- [#2176](https://github.com/wallabag/wallabag/pull/2176) Add since parameter (@tcitworld)
- [#2170](https://github.com/wallabag/wallabag/pull/2170) Add tags on entries view and minor ui fixes (@tcitworld)
- [#2172](https://github.com/wallabag/wallabag/pull/2172) Change the way to login user in tests (@j0k3r)
- [#2169](https://github.com/wallabag/wallabag/pull/2169) fix font paths (@tcitworld)
- [#2168](https://github.com/wallabag/wallabag/pull/2168) Add modules when NodeJS versions are too low. (@tcitworld)
- [#2157](https://github.com/wallabag/wallabag/pull/2157) Handle only upper or only lower reading filter (@j0k3r)
- [#2165](https://github.com/wallabag/wallabag/pull/2165) Fix a few french translations typos (@tcitworld)
- [#2142](https://github.com/wallabag/wallabag/pull/2142) Manage assets through npm (@tcitworld)
- [#2132](https://github.com/wallabag/wallabag/pull/2132) Jump to Symfony 3.1 (@j0k3r)
- [#2160](https://github.com/wallabag/wallabag/pull/2160) Update symlink to php-cs-fixer (@j0k3r)
- [#2155](https://github.com/wallabag/wallabag/pull/2155) Use friendsofphp instead of fabpot (@j0k3r)
- [#2156](https://github.com/wallabag/wallabag/pull/2156) Try to find bad redirection after delete (@j0k3r)
- [#2148](https://github.com/wallabag/wallabag/pull/2148) translate documentation to German (@Strubbl)
- [#2145](https://github.com/wallabag/wallabag/pull/2145) Corrected Regex for lighttpd rewrite (@even-allmighty)
### 2.0.5 2016/05/31
- [#2118](https://github.com/wallabag/wallabag/pull/2118) Prepare wallabag 2.0.5 (@nicosomb)
- [#2122](https://github.com/wallabag/wallabag/pull/2122) Fix the deletion of Tags/Entries relation when delete an entry (@j0k3r, @nicosomb)
- [#2052](https://github.com/wallabag/wallabag/pull/2052) Add unread filter to entries pages (@danbartram)
- [#2112](https://github.com/wallabag/wallabag/pull/2112) Docs proposal (@Poorchop)
- [#2111](https://github.com/wallabag/wallabag/pull/2111) add screenshots of android docu in English (@Strubbl)
- [#2109](https://github.com/wallabag/wallabag/pull/2109) Improve English translation (@Poorchop)
- [#2097](https://github.com/wallabag/wallabag/pull/2097) Fix image path in 2-factor authentification email (@bmillemathias)
- [#2098](https://github.com/wallabag/wallabag/pull/2098) CS (@j0k3r)
- [#2092](https://github.com/wallabag/wallabag/pull/2092) Starred and Archived clears if article is already exists (@Rurik19)
- [#2093](https://github.com/wallabag/wallabag/pull/2093) Replace vertical dots in material theme with horizontal dots (@nicosomb)
- [#2094](https://github.com/wallabag/wallabag/pull/2094) Update CONTRIBUTING file (@nicosomb)
- [#2069](https://github.com/wallabag/wallabag/pull/2069) Do not specify language in Firefox addon link (@merwan)
- [#2068](https://github.com/wallabag/wallabag/pull/2068) Added information about permissions on data/ (@mariovor)
- [#2054](https://github.com/wallabag/wallabag/pull/2054) Update CraueConfigBundle.it.yml (@jamiroconca)
- [#2049](https://github.com/wallabag/wallabag/pull/2049) Update api.rst (@joshp23)
- [#2044](https://github.com/wallabag/wallabag/pull/2044) Update api.rst (@joshp23)
- [#2038](https://github.com/wallabag/wallabag/pull/2038) new details in the doc about the rights access again;) (@foxmask)
### 2.0.4 2016/05/07
- [#2035](https://github.com/wallabag/wallabag/pull/2035) Prepare wallabag 2.0.4 (@nicosomb)
- [#2023](https://github.com/wallabag/wallabag/pull/2023) Fix translation for validators (@nicosomb)
- [#2016](https://github.com/wallabag/wallabag/pull/2016) Update documentation (@nicosomb)
- [#2020](https://github.com/wallabag/wallabag/pull/2020) Fix number of entries in tag/list (@nicosomb)
- [#2024](https://github.com/wallabag/wallabag/pull/2024) Update messages.it.yml (@jamiroconca)
- [#2029](https://github.com/wallabag/wallabag/pull/2029) Change Travis/Scrutinizer pictures in README (@nicosomb)
- [#2028](https://github.com/wallabag/wallabag/pull/2028) Docu for android app (@Strubbl)
- [#2022](https://github.com/wallabag/wallabag/pull/2022) Fix pagination bar on small devices (@nicosomb)
- [#2017](https://github.com/wallabag/wallabag/pull/2017) Create messages.it.yml (@jamiroconca)
- [#2018](https://github.com/wallabag/wallabag/pull/2018) Update config.yml, add italian as available language (@jamiroconca)
- [#2019](https://github.com/wallabag/wallabag/pull/2019) Create CraueConfigBundle.it.yml (@jamiroconca)
- [#2013](https://github.com/wallabag/wallabag/pull/2013) Fix tags listing (@nicosomb)
- [#1976](https://github.com/wallabag/wallabag/pull/1976) Fix filter reading time (@nicosomb)
- [#2005](https://github.com/wallabag/wallabag/pull/2005) Fix reading speed not defined when user was created via config page (@nicosomb)
- [#2012](https://github.com/wallabag/wallabag/pull/2012) integrate upgrade.rst (@biva)
- [#2011](https://github.com/wallabag/wallabag/pull/2011) upgrade.rst (Creation of an upgrade page in the documentation) (@biva)
- [#2010](https://github.com/wallabag/wallabag/pull/2010) Set the title via POST /api/entries (@nicosomb)
- [#2001](https://github.com/wallabag/wallabag/pull/2001) Fix old branch name urls (@tcitworld)
- [#1992](https://github.com/wallabag/wallabag/pull/1992) Update CraueConfigBundle.es.yml (@jami7)
- [#1985](https://github.com/wallabag/wallabag/pull/1985) Rights access to the folders of the project (@foxmask)
- [#1977](https://github.com/wallabag/wallabag/pull/1977) Es translation (@j0k3r, @jami7)
- [#1970](https://github.com/wallabag/wallabag/pull/1970) Fix typos in API documentation (@nicosomb)
- [#1969](https://github.com/wallabag/wallabag/pull/1969) Create 3rd Resources chapter in API documentation (@nicosomb)
- [#1967](https://github.com/wallabag/wallabag/pull/1967) Add FAQ page in documentation (@nicosomb)
### 2.0.3 2016/04/22
- [#1965](https://github.com/wallabag/wallabag/pull/1965) Prepare release 2.0.3 (@nicosomb)
- [#1962](https://github.com/wallabag/wallabag/pull/1962) Update API documentation with cURL examples (@nicosomb)
### 2.0.2 2016/04/21
- [#1948](https://github.com/wallabag/wallabag/pull/1948) Prepare release 2.0.2 (@nicosomb)
- [#1957](https://github.com/wallabag/wallabag/pull/1957) Fix translation for Go to your account button after subscription (@nicosomb)
- [#1945](https://github.com/wallabag/wallabag/pull/1945) Added some curl examples (@ddeimeke)
- [#1954](https://github.com/wallabag/wallabag/pull/1954) Update links in documentation (@nicosomb)
- [#1953](https://github.com/wallabag/wallabag/pull/1953) Actualisation des liens morts (Documentation de traduction) (@maxi62330)
- [#1942](https://github.com/wallabag/wallabag/pull/1942) Optimize import (@nicosomb)
- [#1944](https://github.com/wallabag/wallabag/pull/1944) Update Travis configuration with branches renaming (@nicosomb)
### 1.9.2 2016/04/18
- [#1938](https://github.com/wallabag/wallabag/pull/1938) Display pagination only if we have more than one page (@nicosomb)
- [#1935](https://github.com/wallabag/wallabag/pull/1935) Update messages.es.yml (@jami7)
- [#1933](https://github.com/wallabag/wallabag/pull/1933) Hide pagination if we only have one entry to display (@nicosomb)
- [#1925](https://github.com/wallabag/wallabag/pull/1925) Redirect to homepage if referer is null (@nicosomb)
- [#1929](https://github.com/wallabag/wallabag/pull/1929) Change guid and link in RSS feeds to give original entry URL (@nicosomb)
- [#1916](https://github.com/wallabag/wallabag/pull/1916) Convert array + phpDoc (@j0k3r)
- [#1918](https://github.com/wallabag/wallabag/pull/1918) Improve pagination when user has lot of entries (@nicosomb)
- [#1919](https://github.com/wallabag/wallabag/pull/1919) Remove useless dependancy (@nicosomb)
- [#1911](https://github.com/wallabag/wallabag/pull/1911) add title hover on entry titles (@tcitworld)
- [#1915](https://github.com/wallabag/wallabag/pull/1915) Fix doc links (@j0k3r)
### 2.0.1 2016/04/11
- [#1912](https://github.com/wallabag/wallabag/pull/1912) Move setup config outside setupAdmin (@j0k3r)
- [#1909](https://github.com/wallabag/wallabag/pull/1909) Prepare release 2.0.1 (@nicosomb)
- [#1902](https://github.com/wallabag/wallabag/pull/1902) Add changelog (@nicosomb)
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Translation fa (@j0k3r, @mabkenar)
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connexion error (@j0k3r)
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Update Spanish translation (@j0k3r, @jami7)
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (@nicosomb)
- [#1895](https://github.com/wallabag/wallabag/pull/1895) All the entries are fetched via GET /api/entries (@nicosomb)
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (@nicosomb)
- [#1899](https://github.com/wallabag/wallabag/pull/1899) Add documentation about importing large file into nginx (@nicosomb)
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view (@nicosomb)
- [#1896](https://github.com/wallabag/wallabag/pull/1896) Fix internal settings (@nicosomb)
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (@nicosomb)
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (@nicosomb)
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (@nicosomb)
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (@nicosomb)
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (@nicosomb)
- [#1804](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (@j0k3r)
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (@nicosomb)
- [#1862](https://github.com/wallabag/wallabag/pull/1862) Add production environment for CLI import (@nicosomb)
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (@nicosomb)
- [#1856](https://github.com/wallabag/wallabag/pull/1856) Documentation about wallabag v1 CLI import (@nicosomb)
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (@nicosomb)
### 2.0.0 2016/04/03
- [#1835](https://github.com/wallabag/wallabag/pull/1835) :rocket: Prepare v2.0.0 :birthday: (@nicosomb)
- [#1838](https://github.com/wallabag/wallabag/pull/1838) Hide search buttons (@nicosomb)
- [#1832](https://github.com/wallabag/wallabag/pull/1832) Check selected PDO driver on install (@j0k3r)
- [#3](https://github.com/wallabag/wallabag/pull/3) Fix simple quote (@j0k3r)
- [#1822](https://github.com/wallabag/wallabag/pull/1822) Update messages.es.yml (@jami7)
- [#1820](https://github.com/wallabag/wallabag/pull/1820) Refacto wallabag import (@j0k3r)
- [#1821](https://github.com/wallabag/wallabag/pull/1821) Update messages.es.yml (@jami7)
- [#1805](https://github.com/wallabag/wallabag/pull/1805) Fix #1768 Split tags with commas from UI (@j0k3r)
- [#1819](https://github.com/wallabag/wallabag/pull/1819) Some cleanup (@j0k3r)
- [#1818](https://github.com/wallabag/wallabag/pull/1818) add migration docs (@tcitworld)
- [#1817](https://github.com/wallabag/wallabag/pull/1817) Correct translation (@mruminski)
- [#1813](https://github.com/wallabag/wallabag/pull/1813) [v2] German translation (@wallabag)
- [#1807](https://github.com/wallabag/wallabag/pull/1807) fix typo diaspora* share (@nikaro)
- [#1806](https://github.com/wallabag/wallabag/pull/1806) Translate flash message in baggy theme (@nicosomb)
- [#1774](https://github.com/wallabag/wallabag/pull/1774) Switch to keys in translated files (@j0k3r)
- [#1767](https://github.com/wallabag/wallabag/pull/1767) Setting for reading time (@nicosomb)
- [#1799](https://github.com/wallabag/wallabag/pull/1799) fix tabs display on mobile view (@tcitworld)
- [#1791](https://github.com/wallabag/wallabag/pull/1791) fix api properties and typo (@tcitworld)
- [#1797](https://github.com/wallabag/wallabag/pull/1797) Don't add entry through API if it already exists (@tcitworld)
- [#1792](https://github.com/wallabag/wallabag/pull/1792) add tests on user in API responses (@tcitworld)
- [#1786](https://github.com/wallabag/wallabag/pull/1786) API shows just what needed for user (@tcitworld)
- [#1784](https://github.com/wallabag/wallabag/pull/1784) add refresh-token grant-type (@tcitworld)
### 2.0.0-beta.2 2016/03/12
- [#1775](https://github.com/wallabag/wallabag/pull/1775) Some fixes (@j0k3r)
- [#1776](https://github.com/wallabag/wallabag/pull/1776) clarify that wllbg is compatible php 7 (@tcitworld)
- [#1763](https://github.com/wallabag/wallabag/pull/1763) Prepare files for 2.0.0-beta.2 (@nicosomb)
- [#1771](https://github.com/wallabag/wallabag/pull/1771) Docker timezone (@DjayDev)
- [#1766](https://github.com/wallabag/wallabag/pull/1766) Fix #1756: Added 'wallabag' in page title (@nicosomb)
- [#1762](https://github.com/wallabag/wallabag/pull/1762) Change documentation links in quickstart (@nicosomb)
- [#1761](https://github.com/wallabag/wallabag/pull/1761) V2 api version (@tcitworld, @ZeddZull)
- [#1675](https://github.com/wallabag/wallabag/pull/1675) Ability to create new client for the API (@j0k3r, @nicosomb, @tcitworld)
- [#1750](https://github.com/wallabag/wallabag/pull/1750) Documentation about filters / Quickstart changes (@nicosomb)
- [#1670](https://github.com/wallabag/wallabag/pull/1670) Mark all imported articles as read (@j0k3r, @tcitworld)
- [#1754](https://github.com/wallabag/wallabag/pull/1754) Add starred & archive properties to API (@j0k3r, @tcitworld)
- [#1753](https://github.com/wallabag/wallabag/pull/1753) Doc: fix typo in php-hash ext name (@Horgix)
- [#1745](https://github.com/wallabag/wallabag/pull/1745) V2 spanish translation (@benages)
- [#1743](https://github.com/wallabag/wallabag/pull/1743) Releasing documentation (@nicosomb)
- [#1615](https://github.com/wallabag/wallabag/pull/1615) Added RELEASE_PROCESS document (@bdunogier)
- [#1740](https://github.com/wallabag/wallabag/pull/1740) minor typofix again (@goofy-bz)
- [#1742](https://github.com/wallabag/wallabag/pull/1742) Add the way to install (package or composer) (@nicosomb)
### 2.0.0-beta.1 2016/03/01
- [#1738](https://github.com/wallabag/wallabag/pull/1738) Prepare wallabag for first beta :rocket: (@nicosomb)
- [#1739](https://github.com/wallabag/wallabag/pull/1739) minor typofix + missing quotes (@goofy-bz)
- [#1736](https://github.com/wallabag/wallabag/pull/1736) Update Capistrano libraries with last versions (@nicosomb)
- [#1734](https://github.com/wallabag/wallabag/pull/1734) Remove extra definition (@j0k3r)
- [#1732](https://github.com/wallabag/wallabag/pull/1732) Adding Danish translations to Wallabag v2 (@mjjzf)
- [#1731](https://github.com/wallabag/wallabag/pull/1731) Fix: #1703: authentication for PR by external contributors (@nicosomb)
- [#1653](https://github.com/wallabag/wallabag/pull/1653) V2 annotator comments (@nicosomb, @tcitworld)
- [#1728](https://github.com/wallabag/wallabag/pull/1728) Fix #1717: Change remove tag icon in entry view with material theme (@wallabag)
- [#1723](https://github.com/wallabag/wallabag/pull/1723) Make English welcome message more natural (@shtrom)
- [#1712](https://github.com/wallabag/wallabag/pull/1712) Fix #1711: Update CONTRIBUTING file (@nicosomb)
- [#1716](https://github.com/wallabag/wallabag/pull/1716) Fix #1603: Enhance requirements in InstallCommand (@j0k3r, @tcitworld)
- [#1710](https://github.com/wallabag/wallabag/pull/1710) Fix #811: Display a human message when graby fails to fetch articles (@nicosomb)
- [#1715](https://github.com/wallabag/wallabag/pull/1715) Fix #1694 #1669 #1684: Add contributors and 3rd party libraries (@wallabag)
- [#1714](https://github.com/wallabag/wallabag/pull/1714) Change wording for create a new user (@j0k3r)
- [#1683](https://github.com/wallabag/wallabag/pull/1683) Demonstration mode to prevent password changes (@j0k3r)
- [#1701](https://github.com/wallabag/wallabag/pull/1701) Fix #1351: add maintenance mode (@j0k3r)
- [#1709](https://github.com/wallabag/wallabag/pull/1709) Fix #1708: typos in french documentation (@wallabag)
- [#1702](https://github.com/wallabag/wallabag/pull/1702) Added Piwik implementation (@j0k3r)
- [#1707](https://github.com/wallabag/wallabag/pull/1707) typo in french documentation (@nicosomb)
- [#1706](https://github.com/wallabag/wallabag/pull/1706) Documentation for wallabag installation (@tcitworld, @nicosomb)
- [#1705](https://github.com/wallabag/wallabag/pull/1705) French translation for documentation (@nicosomb)
- [#1699](https://github.com/wallabag/wallabag/pull/1699) Move assignTagsToEntry in ContentProxy helper (@j0k3r)
- [#1700](https://github.com/wallabag/wallabag/pull/1700) Fix #1551 - Redirect to the last page when current page is out of range (@delyriand)
- [#1693](https://github.com/wallabag/wallabag/pull/1693) Fix #1691 create ISSUE_TEMPLATE and PULL_REQUEST_TEMPLATE (@wallabag)
- [#1696](https://github.com/wallabag/wallabag/pull/1696) Add some missing french translations (@wallabag)
- [#1688](https://github.com/wallabag/wallabag/pull/1688) Create messages.pl.yml (@mruminski)
- [#1690](https://github.com/wallabag/wallabag/pull/1690) translate estimated time minutes (@tcitworld)
- [#1689](https://github.com/wallabag/wallabag/pull/1689) Create validators.pl.yml (@mruminski)
- [#1686](https://github.com/wallabag/wallabag/pull/1686) Polish translation (@mruminski)
- [#1687](https://github.com/wallabag/wallabag/pull/1687) Translated another two files into romanian. (@0wnrepo)
- [#1681](https://github.com/wallabag/wallabag/pull/1681) two more Persian translated files (@mabkenar)
- [#1679](https://github.com/wallabag/wallabag/pull/1679) Documentation about translation (@wallabag)
- [#1680](https://github.com/wallabag/wallabag/pull/1680) Update Capistrano configuration for symfony3 (@wallabag)
- [#1678](https://github.com/wallabag/wallabag/pull/1678) Translation file for the 'Romanian' language. Also recognised by ro_RO. Known in romanian as "Română". (@0wnrepo)
- [#1676](https://github.com/wallabag/wallabag/pull/1676) Translation for Persian (@mabkenar)
- [#1668](https://github.com/wallabag/wallabag/pull/1668) Few updates (@j0k3r)
- [#1672](https://github.com/wallabag/wallabag/pull/1672) improve baggy theme (add new tag panel) (@tcitworld)
- [#1671](https://github.com/wallabag/wallabag/pull/1671) display pictures properly (@tcitworld)
- [#1658](https://github.com/wallabag/wallabag/pull/1658) import tags from v1 (#1657) (@tcitworld)
- [#1656](https://github.com/wallabag/wallabag/pull/1656) fix labels on new user prompt (@tcitworld)
- [#1654](https://github.com/wallabag/wallabag/pull/1654) fix #1636 (@tcitworld)
- [#1663](https://github.com/wallabag/wallabag/pull/1663) remove tag from entry #1377 (@tcitworld)
- [#1665](https://github.com/wallabag/wallabag/pull/1665) lots of diverse translation stuff & some typos (@tcitworld)
- [#1666](https://github.com/wallabag/wallabag/pull/1666) reimport v1 entries if they were not fetched (@tcitworld)
- [#1659](https://github.com/wallabag/wallabag/pull/1659) Update README.md with the environment parameters (@0wnrepo)
- [#1651](https://github.com/wallabag/wallabag/pull/1651) Test if some keys are missing in v2 import (@wallabag)
- [#1650](https://github.com/wallabag/wallabag/pull/1650) Exported entries were added twice in export file (@wallabag)
- [#1652](https://github.com/wallabag/wallabag/pull/1652) User created via wallabag:install is now a SUPER_ADMIN :crown: (@wallabag)
- [#1648](https://github.com/wallabag/wallabag/pull/1648) Fix project version in installation command (@lologhi)
- [#1647](https://github.com/wallabag/wallabag/pull/1647) Force prod env on project creation (@j0k3r)
- [#1633](https://github.com/wallabag/wallabag/pull/1633) Exporttxt (@j0k3r, @tcitworld)
- [#1642](https://github.com/wallabag/wallabag/pull/1642) Unescape content for Material card (@j0k3r)
- [#1644](https://github.com/wallabag/wallabag/pull/1644) Fix #1622: parameter for FosUser confirmation (@wallabag)
- [#1645](https://github.com/wallabag/wallabag/pull/1645) Fix #1643: fix the way to load the HTML template in 2factor auth (@wallabag)
- [#1612](https://github.com/wallabag/wallabag/pull/1612) Settings page (@j0k3r)
- [#1641](https://github.com/wallabag/wallabag/pull/1641) Update import.rst to fix a doc typo (@nicosomb)
- [#1601](https://github.com/wallabag/wallabag/pull/1601) [#1590] Add JSON import from wallabag v2 (@wallabag)
- [#1605](https://github.com/wallabag/wallabag/pull/1605) [#1604] First draft to fix SensioLabsInsight report (@wallabag)
- [#1639](https://github.com/wallabag/wallabag/pull/1639) Fix #1635: change database name for test environments (mysql/pgsql) (@wallabag)
- [#1630](https://github.com/wallabag/wallabag/pull/1630) Add @GitterHQ badge on README (@nicosomb)
- [#1629](https://github.com/wallabag/wallabag/pull/1629) fix #1620 and introduce new parameters to export (@tcitworld)
- [#1628](https://github.com/wallabag/wallabag/pull/1628) Add Turkish translation (@ogunkarakus)
- [#1625](https://github.com/wallabag/wallabag/pull/1625) [#1621] Add default address for FosUser (@nicosomb)
- [#1619](https://github.com/wallabag/wallabag/pull/1619) Move public assets for themes (@j0k3r)
- [#1618](https://github.com/wallabag/wallabag/pull/1618) Updated version in README (@wallabag)
### 2.0.0-alpha.2 2016/01/22
- [#1614](https://github.com/wallabag/wallabag/pull/1614) Few fixes (@j0k3r)
- [#1565](https://github.com/wallabag/wallabag/pull/1565) Use HTML email for 2FA (@j0k3r)
- [#1610](https://github.com/wallabag/wallabag/pull/1610) Disable xdebug all the time (@j0k3r)
- [#1606](https://github.com/wallabag/wallabag/pull/1606) Remove tag relation when removing an entry (@j0k3r)
- [#1607](https://github.com/wallabag/wallabag/pull/1607) Ignore composer.lock (@j0k3r)
- [#1599](https://github.com/wallabag/wallabag/pull/1599) Add configuration for portuguese documentation (@wallabag)
- [#1594](https://github.com/wallabag/wallabag/pull/1594) Create index.rst (@araujo0205)
- [#1587](https://github.com/wallabag/wallabag/pull/1587) Use translator interface instead of final class (@j0k3r)
- [#1584](https://github.com/wallabag/wallabag/pull/1584) some cleanup (@wallabag)
- [#1564](https://github.com/wallabag/wallabag/pull/1564) Remove Flattr references (@wallabag)
- [#1583](https://github.com/wallabag/wallabag/pull/1583) Fix `findOneByUrl` side effect in tests (@j0k3r)
- [#1524](https://github.com/wallabag/wallabag/pull/1524) Upgrade to Symfony 3.0 (@j0k3r)
- [#1560](https://github.com/wallabag/wallabag/pull/1560) Fix #1501 Quickstart for beginners (@nicosomb)
- [#1574](https://github.com/wallabag/wallabag/pull/1574) Fix typo and set version in the README (@jjanvier)
- [#1561](https://github.com/wallabag/wallabag/pull/1561) Add basic docker-compose configuration (@FabienM)
- [#1563](https://github.com/wallabag/wallabag/pull/1563) #1394 Fixed 'mark as read' and 'mark as unread' links (@nicosomb)
- [#1562](https://github.com/wallabag/wallabag/pull/1562) add import link on baggy theme (@nicosomb)
- [#1558](https://github.com/wallabag/wallabag/pull/1558) [v2] documentation cleaning (@wallabag)
- [#1559](https://github.com/wallabag/wallabag/pull/1559) Installation & configuration of Doctrine Migrations (@j0k3r)
### 2.0.0-alpha.1 2016/01/07
- [#1493](https://github.com/wallabag/wallabag/pull/1493) v2 1st draft for Pocket import via API & Wallabag v1 import (@nicosomb, @j0k3r)
- [#1553](https://github.com/wallabag/wallabag/pull/1553) Hide export button if we are not on entries list (@nicosomb)
- [#1545](https://github.com/wallabag/wallabag/pull/1545) v2 Remove user reference in tag (@j0k3r)
- [#1546](https://github.com/wallabag/wallabag/pull/1546) v2 Ability to reload an entry (@j0k3r)
- [#1547](https://github.com/wallabag/wallabag/pull/1547) v2 Fix wrong if when deleting an entry (@j0k3r)
- [#1544](https://github.com/wallabag/wallabag/pull/1544) v2 Add custom email for 2FA (@j0k3r)
- [#1540](https://github.com/wallabag/wallabag/pull/1540) v2 Don't redirect to the content page after deletion (@j0k3r)
- [#1542](https://github.com/wallabag/wallabag/pull/1542) v2 Avoid multiple tag creation (@j0k3r)
- [#1488](https://github.com/wallabag/wallabag/pull/1488) Slug for tags (@wallabag)
- [#1537](https://github.com/wallabag/wallabag/pull/1537) Updated composer.lock (@bdunogier)
- [#1529](https://github.com/wallabag/wallabag/pull/1529) changed table name for tagging rule (@nicosomb)
- [#1478](https://github.com/wallabag/wallabag/pull/1478) Rule based tags (@K-Phoen)
- [#1523](https://github.com/wallabag/wallabag/pull/1523) Typo (@tcitworld)
- [#1518](https://github.com/wallabag/wallabag/pull/1518) Set SMTP from environment variables (@mathbruyen)
- [#1422](https://github.com/wallabag/wallabag/pull/1422) V2 Export entries (@j0k3r, @tcitworld)
- [#1500](https://github.com/wallabag/wallabag/pull/1500) Fix quote strategy for reserved keyword in Postgres (@j0k3r)
- [#1510](https://github.com/wallabag/wallabag/pull/1510) v2 Fix some deprecated for Symfony3 (@j0k3r)
- [#1505](https://github.com/wallabag/wallabag/pull/1505) Add graby log (@j0k3r)
- [#1495](https://github.com/wallabag/wallabag/pull/1495) add docs (@wallabag)
- [#1496](https://github.com/wallabag/wallabag/pull/1496) fix #1005 V2 redirect after deletion (@wallabag)
- [#1491](https://github.com/wallabag/wallabag/pull/1491) Add german translation. (@jlnostr)
- [#1446](https://github.com/wallabag/wallabag/pull/1446) [WIP] language selection on config screen (@j0k3r, @nicosomb)
- [#1484](https://github.com/wallabag/wallabag/pull/1484) 2factor authentication via email (@wallabag)
- [#1475](https://github.com/wallabag/wallabag/pull/1475) V2 material (@modos189)
- [#1472](https://github.com/wallabag/wallabag/pull/1472) fix #1470: clean material theme (@wallabag)
- [#1471](https://github.com/wallabag/wallabag/pull/1471) implement bookmarklet (@wallabag)
- [#1468](https://github.com/wallabag/wallabag/pull/1468) fix bug on detect active theme (@wallabag)
- [#1464](https://github.com/wallabag/wallabag/pull/1464) fix type hint for User (@wallabag)
- [#1436](https://github.com/wallabag/wallabag/pull/1436) Public registration & oAuth2 \o/ (@j0k3r, @nicosomb)
- [#1461](https://github.com/wallabag/wallabag/pull/1461) fix #1433: add test for removeWww Twig Extension (@wallabag)
- [#1459](https://github.com/wallabag/wallabag/pull/1459) fix #1457 & update materialize (@tcitworld)
- [#1447](https://github.com/wallabag/wallabag/pull/1447) typo (@tcitworld)
- [#1441](https://github.com/wallabag/wallabag/pull/1441) Add french translation (@nicosomb)
- [#1437](https://github.com/wallabag/wallabag/pull/1437) some cleanup on material theme (@nicosomb)
- [#1439](https://github.com/wallabag/wallabag/pull/1439) fix Capistrano configuration (@nicosomb)
- [#1440](https://github.com/wallabag/wallabag/pull/1440) fix #1433: remove www. on entries view (@nicosomb)
- [#1434](https://github.com/wallabag/wallabag/pull/1434) Add multiple database tests on Travis (@j0k3r)
- [#1435](https://github.com/wallabag/wallabag/pull/1435) Enabled created user from Config (@j0k3r)
- [#1429](https://github.com/wallabag/wallabag/pull/1429) V2 Handle language in entry (@j0k3r)

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2016 Nicolas Lœuillet
Copyright (c) 2013-2017 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

View File

@ -7,6 +7,8 @@ require 'capistrano/setup'
# Include default deployment tasks
require 'capistrano/deploy'
require 'capistrano/composer'
require 'capistrano/file-permissions'
require 'capistrano/symfony'
# Load custom tasks from `lib/capistrano/tasks` if you have any defined

View File

@ -1,5 +1,6 @@
source "https://rubygems.org"
gem 'capistrano', '~> 3.4'
gem 'capistrano-composer'
gem 'capistrano-symfony', '~> 1.0.0.rc1'
gem 'capistrano-composer', '~> 0.0.3'
gem 'capistrano-file-permissions'

View File

@ -29,8 +29,9 @@ PLATFORMS
DEPENDENCIES
capistrano (~> 3.4)
capistrano-composer (~> 0.0.3)
capistrano-composer
capistrano-file-permissions
capistrano-symfony (~> 1.0.0.rc1)
BUNDLED WITH
1.11.2
1.13.5

View File

@ -10,10 +10,6 @@ module.exports = function (grunt) {
postcss: {
material: {
options: {
map: {
inline: false,
},
processors: [
require('pixrem')(),
require('autoprefixer')({ browsers: 'last 2 versions' }),
@ -25,10 +21,6 @@ module.exports = function (grunt) {
},
baggy: {
options: {
map: {
inline: false,
},
processors: [
require('pixrem')(),
require('autoprefixer')({ browsers: 'last 2 versions' }),
@ -95,19 +87,13 @@ module.exports = function (grunt) {
files: {
'<%= releaseDir %>/themes/material/js/material.min.js':
['<%= buildDir %>/material.browser.js'],
},
options: {
sourceMap: true,
},
}
},
baggy: {
files: {
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
['<%= buildDir %>/baggy.browser.js'],
},
options: {
sourceMap: true,
},
}
},
},
copy: {
@ -203,8 +189,11 @@ module.exports = function (grunt) {
},
stylelint: {
target: ['<%= appDir %>/themes/material/css/*.css', '<%= appDir %>/themes/baggy/css/*.css']
},
watch: {
files: ['<%= appDir %>/**/*.css', '<%= appDir %>/**/*.js'],
tasks: ['css', 'js']
}
});
grunt.registerTask(
@ -235,5 +224,7 @@ module.exports = function (grunt) {
'tests',
'Test css and js style conformity',
['eslint', 'stylelint', 'default']
)
),
grunt.loadNpmTasks('grunt-contrib-watch');
};

45
Makefile Executable file
View File

@ -0,0 +1,45 @@
TMP_FOLDER=/tmp
RELEASE_FOLDER=wllbg-release
ifndef ENV
ENV=prod
endif
help: ## Display this help menu
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
clean: ## Clear the application cache
@rm -rf var/cache/*
install: ## Install wallabag with the latest version
@sh scripts/install.sh $(ENV)
update: ## Update the wallabag installation to the latest version
@sh scripts/update.sh $(ENV)
dev: ## Install the latest dev version
@sh scripts/dev.sh
run: ## Run the wallabag built-in server
@php bin/console server:run --env=$(ENV)
build: ## Run grunt
@grunt
test: ## Launch wallabag testsuite
@ant prepare && bin/simple-phpunit -v
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
ifndef VERSION
$(error VERSION is not set)
endif
@sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
travis: ## Make some stuff for Travis-CI
deploy: ## Deploy wallabag
@bundle exec cap staging deploy
.PHONY: help clean install update build test release travis deploy run dev
.DEFAULT_GOAL := install

View File

@ -6,23 +6,22 @@
wallabag is a self hostable application allowing you to not miss any content anymore.
Click, save and read it when you can. It extracts content so that you can read it when you have time.
More informations on our website: [wallabag.org](https://wallabag.org)
More information on our website: [wallabag.org](https://wallabag.org).
![wallabag logo](https://raw.githubusercontent.com/wallabag/logo/master/_default/typo-horizontal/png/sm/logo-typo-horizontal-black-no-bg-no-border-sm.png)
# Install wallabag
Please read [the documentation to see the wallabag requirements](http://doc.wallabag.org/en/master/user/installation.html#requirements).
If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that). Read [our documentation](http://doc.wallabag.org) to have more information about installation.
Then you can install wallabag by executing the following commands:
```
git clone https://github.com/wallabag/wallabag.git
cd wallabag
git checkout 2.1.1
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
php bin/console server:run --env=prod
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
make run
```
## License
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
# License
Copyright © 2013-2017 Nicolas Lœuillet <nicolas@loeuillet.org>
This work is free. You can redistribute it and/or modify it under the
terms of the MIT License. See the COPYING file for more details.

View File

@ -1,47 +1,58 @@
## Definition
A release is mostly a git tag of http://github.com/wallabag/wallabag, following [semantic versioning](http://semver.org).
The last release at the time of writing is 2.0.0-alpha.2, from the v2 branch.
### Steps to release
During this documentation, we assume the release is `release-2.0.0-beta.1`.
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
#### Files to edit
- `app/config/config.yml` (`wallabag_core.version`)
- `README.md` (`composer create-project` command)
- `docs/en/user/installation.rst` and its translations (`composer create-project` command)
- `CHANGELOG.md` (by using this command `github-changes -o wallabag -r wallabag -k YOURGITHUBTOKEN --only-pulls --use-commit-body --title Changelog --date-format YYYY/MM/DD --between-tags 2.0.0-alpha.0...master -n 2.1.3`. [github-changes is available here](https://github.com/lalitkapoor/github-changes))
#### Create release on GitHub
- Run these commands to create the tag:
```
git checkout v2
git pull origin v2
git checkout -b release-2.0.0-beta.1
SYMFONY_ENV=prod composer up --no-dev
git add --force composer.lock
git add README.md
git commit -m "Release wallabag 2.0.0-beta.1"
git push origin release-2.0.0-beta.1
git checkout master
git pull origin master
git checkout -b release-$LAST_WALLABAG_RELEASE
SYMFONY_ENV=prod composer up --no-dev
```
- Create a new pull request with this title `DON'T MERGE Release wallabag 2.0.0-beta.1`. This pull request is used to launch builds on Travis-CI.
- Run these commands to create the package:
- Update `.travis.yml` file and replace the composer line with this one:
```diff
script:
- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
+ - travis_wait composer update --no-interaction --no-progress
```
- Then continue with these commands:
```
git clone git@github.com:wallabag/wallabag.git -b release-2.0.0-beta.1 release-2.0.0-beta.1
SYMFONY_ENV=prod composer up -d=release-2.0.0-beta.1 --no-dev
tar czf wallabag-release-2.0.0-beta.1.tar.gz --exclude="var/*" --exclude=".git" release-2.0.0-beta.1
git add --force composer.lock .travis.yml
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
git push origin release-$LAST_WALLABAG_RELEASE
```
- Create a new pull request with this title `DON'T MERGE Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
- Run these command to create the package:
```
make release master /tmp wllbg-release prod
```
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new). You have to upload on this page the package.
- Delete the `release-2.0.0-beta.1` branch and close the pull request (**DO NOT MERGE IT**).
- Delete the `release-$LAST_WALLABAG_RELEASE` branch and close the pull request (**DO NOT MERGE IT**).
- Update the URL shortener (used on `wllbg.org` to generate links like `http://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
- Update [the downloads page](https://github.com/wallabag/wallabag.org/blob/master/content/pages/download.md) on the website (MD5 sum, release date)
- Drink a beer!
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
- Update wallabag.org website (downloads, releases and new blog post)
- Put the next patch version suffixed with `-dev` in `app/config/config.yml` (`wallabag_core.version`)
- Drink a :beer:!
### `composer.lock`
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,

View File

@ -29,8 +29,9 @@ class AppKernel extends Kernel
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
new Craue\ConfigBundle\CraueConfigBundle(),
new Lexik\Bundle\MaintenanceBundle\LexikMaintenanceBundle(),
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
new BD\GuzzleSiteAuthenticatorBundle\BDGuzzleSiteAuthenticatorBundle(),
// wallabag bundles
new Wallabag\CoreBundle\WallabagCoreBundle(),

View File

@ -7,6 +7,9 @@ use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added foreign keys for account resetting
*/
class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface
{
/**
@ -21,7 +24,7 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
@ -29,8 +32,23 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
$this->addSql('ALTER TABLE `'.$this->getTable('entry').'` ADD `uuid` LONGTEXT DEFAULT NULL');
$this->addSql("INSERT INTO `".$this->getTable('craue_config_setting')."` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry')");
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('uid') || $entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
$entryTable->addColumn('uid', 'string', [
'notnull' => false,
'length' => 23,
]);
$sharePublic = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
if (false === $sharePublic) {
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
}
}
/**
@ -38,9 +56,9 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
*/
public function down(Schema $schema)
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
$entryTable = $schema->getTable($this->getTable('entry'));
$entryTable->dropColumn('uid');
$this->addSql('ALTER TABLE `'.$this->getTable('entry').'` DROP `uuid`');
$this->addSql("DELETE FROM `".$this->getTable('craue_config_setting')."` WHERE `name` = 'share_public'");
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
}
}

View File

@ -7,6 +7,9 @@ use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added name field on wallabag_oauth2_clients
*/
class Version20160812120952 extends AbstractMigration implements ContainerAwareInterface
{
/**
@ -21,7 +24,7 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
@ -29,11 +32,10 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
if ($this->connection->getDatabasePlatform()->getName() == 'sqlite') {
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext DEFAULT NULL');
} else {
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext COLLATE \'utf8_unicode_ci\' DEFAULT NULL');
}
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
$this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.');
$clientsTable->addColumn('name', 'blob');
}
/**
@ -41,8 +43,7 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI
*/
public function down(Schema $schema)
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' DROP COLUMN name');
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
$clientsTable->dropColumn('name');
}
}

View File

@ -7,6 +7,9 @@ use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added settings for RabbitMQ and Redis imports
*/
class Version20160911214952 extends AbstractMigration implements ContainerAwareInterface
{
/**
@ -21,7 +24,7 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
@ -29,8 +32,25 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
$this->addSql('INSERT INTO `'.$this->getTable('craue_config_setting').'` (`name`, `value`, `section`) VALUES (\'import_with_redis\', \'0\', \'import\')');
$this->addSql('INSERT INTO `'.$this->getTable('craue_config_setting').'` (`name`, `value`, `section`) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')');
$redis = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_redis'");
if (false === $redis) {
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('import_with_redis', 0, 'import')");
}
$rabbitmq = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_rabbitmq'");
if (false === $rabbitmq) {
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('import_with_rabbitmq', 0, 'import')");
}
$this->skipIf(false !== $rabbitmq && false !== $redis, 'It seems that you already played this migration.');
}
/**
@ -38,5 +58,7 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_redis';");
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'import_with_rabbitmq';");
}
}

View File

@ -7,6 +7,9 @@ use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added pocket_consumer_key field on wallabag_config
*/
class Version20160916201049 extends AbstractMigration implements ContainerAwareInterface
{
/**
@ -21,7 +24,7 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix') . $tableName;
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
@ -29,8 +32,12 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
*/
public function up(Schema $schema)
{
$this->addSql('ALTER TABLE '.$this->getTable('config').' ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL');
$this->addSql("DELETE FROM `".$this->getTable('craue_config_setting')."` WHERE `name` = 'pocket_consumer_key';");
$configTable = $schema->getTable($this->getTable('config'));
$this->skipIf($configTable->hasColumn('pocket_consumer_key'), 'It seems that you already played this migration.');
$configTable->addColumn('pocket_consumer_key', 'string', ['notnull' => false]);
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'pocket_consumer_key';");
}
/**
@ -38,9 +45,8 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI
*/
public function down(Schema $schema)
{
$this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
$this->addSql('ALTER TABLE `'.$this->getTable('config').'` DROP pocket_consumer_key');
$this->addSql("INSERT INTO `".$this->getTable('craue_config_setting')."` (`name`, `value`, `section`) VALUES ('pocket_consumer_key', NULL, 'import')");
$configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('pocket_consumer_key');
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
}
}

View File

@ -0,0 +1,127 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Doctrine\DBAL\Migrations\SkipMigrationException;
/**
* Added pocket_consumer_key field on wallabag_config
*/
class Version20161001072726 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
// remove all FK from entry_tag
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'mysql':
$query = $this->connection->query("
SELECT CONSTRAINT_NAME
FROM information_schema.key_column_usage
WHERE TABLE_NAME = '".$this->getTable('entry_tag')."' AND CONSTRAINT_NAME LIKE 'FK_%'
AND TABLE_SCHEMA = '".$this->connection->getDatabase()."'"
);
$query->execute();
foreach ($query->fetchAll() as $fk) {
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' DROP FOREIGN KEY '.$fk['CONSTRAINT_NAME']);
}
break;
case 'postgresql':
// http://dba.stackexchange.com/questions/36979/retrieving-all-pk-and-fk
$query = $this->connection->query("
SELECT conrelid::regclass AS table_from
,conname
,pg_get_constraintdef(c.oid)
FROM pg_constraint c
JOIN pg_namespace n ON n.oid = c.connamespace
WHERE contype = 'f'
AND conrelid::regclass::text = '".$this->getTable('entry_tag')."'
AND n.nspname = 'public';"
);
$query->execute();
foreach ($query->fetchAll() as $fk) {
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' DROP CONSTRAINT '.$fk['conname']);
}
break;
}
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES '.$this->getTable('entry').' (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE '.$this->getTable('entry_tag').' ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES '.$this->getTable('tag').' (id) ON DELETE CASCADE');
// remove entry FK from annotation
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'mysql':
$query = $this->connection->query("
SELECT CONSTRAINT_NAME
FROM information_schema.key_column_usage
WHERE TABLE_NAME = '".$this->getTable('annotation')."'
AND CONSTRAINT_NAME LIKE 'FK_%'
AND COLUMN_NAME = 'entry_id'
AND TABLE_SCHEMA = '".$this->connection->getDatabase()."'"
);
$query->execute();
foreach ($query->fetchAll() as $fk) {
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' DROP FOREIGN KEY '.$fk['CONSTRAINT_NAME']);
}
break;
case 'postgresql':
// http://dba.stackexchange.com/questions/36979/retrieving-all-pk-and-fk
$query = $this->connection->query("
SELECT conrelid::regclass AS table_from
,conname
,pg_get_constraintdef(c.oid)
FROM pg_constraint c
JOIN pg_namespace n ON n.oid = c.connamespace
WHERE contype = 'f'
AND conrelid::regclass::text = '".$this->getTable('annotation')."'
AND n.nspname = 'public'
AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
);
$query->execute();
foreach ($query->fetchAll() as $fk) {
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' DROP CONSTRAINT '.$fk['conname']);
}
break;
}
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES '.$this->getTable('entry').' (id) ON DELETE CASCADE');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
throw new SkipMigrationException('Too complex ...');
}
}

View File

@ -0,0 +1,85 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Converted database to utf8mb4 encoding (for MySQL only)
*/
class Version20161022134138 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$this->skipIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'This migration only apply to MySQL');
$this->addSql('ALTER DATABASE '.$this->connection->getParams()['dbname'].' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;');
// convert field length for utf8mb4
// http://stackoverflow.com/a/31474509/569101
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE salt salt VARCHAR(180) NOT NULL;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE password password VARCHAR(180) NOT NULL;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `content` `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->skipIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'This migration only apply to MySQL');
$this->addSql('ALTER DATABASE '.$this->connection->getParams()['dbname'].' CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('annotation').' CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('tag').' CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
$this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;');
}
}

View File

@ -0,0 +1,67 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added user_id column on oauth2_clients to prevent users to delete API clients from other users
*/
class Version20161024212538 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
private $constraintName = 'IDX_user_oauth_client';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
$this->skipIf($clientsTable->hasColumn('user_id'), 'It seems that you already played this migration.');
$clientsTable->addColumn('user_id', 'integer', ['notnull' => false]);
$clientsTable->addForeignKeyConstraint(
$this->getTable('user'),
['user_id'],
['id'],
['onDelete' => 'CASCADE'],
$this->constraintName
);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
$this->skipIf(!$clientsTable->hasColumn('user_id'), 'It seems that you already played this migration.');
$clientsTable->dropColumn('user_id', 'integer');
if ($this->connection->getDatabasePlatform()->getName() != 'sqlite') {
$clientsTable->removeForeignKey($this->constraintName);
}
}
}

View File

@ -0,0 +1,52 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added the internal setting to enable/disable downloading pictures
*/
class Version20161031132655 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$images = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'download_images_enabled'");
$this->skipIf(false !== $images, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'download_images_enabled';");
}
}

View File

@ -0,0 +1,53 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added created_at index on entry table
*/
class Version20161104073720 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
private $indexName = 'IDX_entry_created_at';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
$entryTable->addIndex(['created_at'], $this->indexName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
$entryTable->dropIndex($this->indexName);
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added action_mark_as_read field on config table
*/
class Version20161106113822 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$this->skipIf($configTable->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
$configTable->addColumn('action_mark_as_read', 'integer', [
'default' => 0,
'notnull' => false,
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$this->skipIf(!$configTable->hasColumn('action_mark_as_read'), 'It seems that you already played this migration.');
$configTable->dropColumn('action_mark_as_read');
}
}

View File

@ -0,0 +1,64 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added the internal setting to share articles to unmark.it
*/
class Version20161117071626 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$share = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_unmark'");
if (false === $share) {
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_unmark', 0, 'entry')");
}
$unmark = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'unmark_url'");
if (false === $unmark) {
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')");
}
$this->skipIf(false !== $share && false !== $unmark, 'It seems that you already played this migration.');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_unmark';");
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'unmark_url';");
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Add http_status in `entry_table`.
*/
class Version20161118134328 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('http_status'), 'It seems that you already played this migration.');
$entryTable->addColumn('http_status', 'string', [
'length' => 3,
'notnull' => false,
]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(!$entryTable->hasColumn('http_status'), 'It seems that you already played this migration.');
$entryTable->dropColumn('http_status');
}
}

View File

@ -0,0 +1,52 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Add the restricted_access internal setting for articles with paywall.
*/
class Version20161122144743 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$access = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'restricted_access'");
$this->skipIf(false !== $access, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('restricted_access', 0, 'entry')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'restricted_access';");
}
}

View File

@ -0,0 +1,63 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Methods and properties removed from `FOS\UserBundle\Model\User`.
*
* - `$expired`
* - `$credentialsExpired`
* - `setExpired()` (use `setExpiresAt(\DateTime::now()` instead)
* - `setCredentialsExpired()` (use `setCredentialsExpireAt(\DateTime::now()` instead)
*
* You need to drop the fields `expired` and `credentials_expired` from your database
* schema, because they aren't mapped anymore.
*/
class Version20161122203647 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
$this->skipIf(false === $userTable->hasColumn('expired') || false === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
$userTable->dropColumn('expired');
$userTable->dropColumn('credentials_expired');
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
$this->skipIf(true === $userTable->hasColumn('expired') || true === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
$userTable->addColumn('expired', 'smallint', ['notnull' => false]);
$userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]);
}
}

View File

@ -0,0 +1,49 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added list_mode in user config.
*/
class Version20161128084725 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$this->skipIf($configTable->hasColumn('list_mode'), 'It seems that you already played this migration.');
$configTable->addColumn('list_mode', 'integer', ['notnull' => false]);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$configTable = $schema->getTable($this->getTable('config'));
$configTable->dropColumn('list_mode');
}
}

View File

@ -0,0 +1,61 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Removed locked, credentials_expire_at and expires_at.
*/
class Version20161128131503 extends AbstractMigration implements ContainerAwareInterface
{
private $fields = [
'locked' => 'smallint',
'credentials_expire_at' => 'datetime',
'expires_at' => 'datetime',
];
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
foreach ($this->fields as $field => $type) {
$this->skipIf(!$userTable->hasColumn($field), 'It seems that you already played this migration.');
$userTable->dropColumn($field);
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
foreach ($this->fields as $field => $type) {
$this->skipIf($userTable->hasColumn($field), 'It seems that you already played this migration.');
$userTable->addColumn($field, $type, ['notnull' => false]);
}
}
}

View File

@ -0,0 +1,75 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Renamed uuid to uid in entry table
*/
class Version20161214094402 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('uid'), 'It seems that you already played this migration.');
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM '.$this->getTable('entry'));
$this->addSql('DROP TABLE '.$this->getTable('entry'));
$this->addSql('CREATE TABLE '.$this->getTable('entry').' (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT "0", PRIMARY KEY(id));');
$this->addSql('INSERT INTO '.$this->getTable('entry').' (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry;');
$this->addSql('DROP TABLE __temp__wallabag_entry');
break;
case 'mysql':
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE uuid uid VARCHAR(23)');
break;
case 'postgresql':
$this->addSql('ALTER TABLE '.$this->getTable('entry').' RENAME uuid TO uid');
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
switch ($this->connection->getDatabasePlatform()->getName()) {
case 'sqlite':
throw new SkipMigrationException('Too complex ...');
break;
case 'mysql':
$this->addSql('ALTER TABLE '.$this->getTable('entry').' CHANGE uid uuid VARCHAR(23)');
break;
case 'postgresql':
$this->addSql('ALTER TABLE '.$this->getTable('entry').' RENAME uid TO uuid');
}
}
}

View File

@ -0,0 +1,53 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added index on wallabag_entry.uid
*/
class Version20161214094403 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
private $indexName = 'IDX_entry_uid';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
$entryTable->addIndex(['uid'], $this->indexName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
$entryTable->dropIndex($this->indexName);
}
}

View File

@ -0,0 +1,56 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Added indexes on wallabag_entry.is_starred and wallabag_entry.is_archived
*/
class Version20170127093841 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
private $indexStarredName = 'IDX_entry_starred';
private $indexArchivedName = 'IDX_entry_archived';
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf($entryTable->hasIndex($this->indexStarredName) && $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
$entryTable->addIndex(['is_starred'], $this->indexStarredName);
$entryTable->addIndex(['is_archived'], $this->indexArchivedName);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$entryTable = $schema->getTable($this->getTable('entry'));
$this->skipIf(false === $entryTable->hasIndex($this->indexStarredName) && false === $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
$entryTable->dropIndex($this->indexStarredName);
$entryTable->dropIndex($this->indexArchivedName);
}
}

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Download billeder på din server
carrot: Aktiver deling til Carrot
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
@ -15,6 +16,7 @@ share_diaspora: Aktiver deling til Diaspora
share_mail: Aktiver deling med email
share_shaarli: Aktiver deling gennem Shaarli
share_twitter: Aktiver deling gennem Twitter
share_unmark: Aktiver deling gennem Unmark.it
show_printlink: Vis et link til print-indhold
wallabag_support_url: Support-URL for wallabag
wallabag_url: URL for *sin* wallabag-installation
@ -23,9 +25,11 @@ export: "eksport"
import: "import"
misc: "misc"
modify_settings: "Gem ændring"
piwik_host: Hosting af din side hos Piwik
piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
piwik_site_id: ID for din side hos Piwik
piwik_enabled: Aktiver Piwik
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
demo_mode_username: "Demobruger"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,20 +1,22 @@
# settings_changed: Configuration updated
download_pictures: Bilder auf den Server herunterladen
carrot: Teilen zu Carrot aktivieren
diaspora_url: Diaspora-URL, sofern der Service aktiviert ist
export_epub: ePUB-Export aktivieren
export_mobi: .mobi-Export aktivieren
export_mobi: mobi-Export aktivieren
export_pdf: PDF-Export aktivieren
export_csv: CSV-Export aktivieren
export_json: JSON-Export aktivieren
export_txt: TXT-Export aktivieren
export_xml: XML-Export aktivieren
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren
import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
share_diaspora: Teilen zu Diaspora aktiveren
share_mail: Teilen via E-Mail aktiveren
share_shaarli: Teilen zu Shaarli aktiveren
share_twitter: Teilen zu Twitter aktiveren
share_unmark: Teilen zu Unmark.it aktiveren
show_printlink: Link anzeigen, um den Inhalt auszudrucken
wallabag_support_url: Support-URL für wallabag
wallabag_url: URL von *deiner* wallabag-Instanz
@ -23,9 +25,11 @@ export: "Export"
import: "Import"
misc: "Verschiedenes"
modify_settings: "Übernehmen"
piwik_host: Host deiner Webseite in Piwik
piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://)
piwik_site_id: ID deiner Webseite in Piwik
piwik_enabled: Piwik aktivieren
demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)"
demo_mode_username: "Test-Benutzer"
# share_public: Allow public url for entries
share_public: Erlaube eine öffentliche URL für Einträge
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
settings_changed: Configuration updated
download_pictures: Download pictures on your server
carrot: Enable share to Carrot
diaspora_url: Diaspora URL, if the service is enabled
@ -15,6 +16,7 @@ share_diaspora: Enable share to Diaspora
share_mail: Enable share by email
share_shaarli: Enable share to Shaarli
share_twitter: Enable share to Twitter
share_unmark: Enable share to Unmark.it
show_printlink: Display a link to print content
wallabag_support_url: Support URL for wallabag
wallabag_url: URL of *your* wallabag instance
@ -23,9 +25,11 @@ export: "export"
import: "import"
misc: "misc"
modify_settings: "apply"
piwik_host: Host of your website in Piwik
piwik_host: Host of your website in Piwik (without http:// ou https://)
piwik_site_id: ID of your website in Piwik
piwik_enabled: Enable Piwik
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
demo_mode_username: "Demo user"
share_public: Allow public url for entries
download_images_enabled: Download images locally
restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Descargar imágenes
carrot: Activar compartir con Carrot
diaspora_url: Diaspora URL, si el servicio está activado
@ -15,6 +16,7 @@ share_diaspora: Activar compartir con Diaspora
share_mail: Activar compartir con email
share_shaarli: Activar compartir con Shaarli
share_twitter: Activar compartir con Twitter
share_unmark: Activar compartir con Unmark.it
show_printlink: Mostrar un enlace para imprimir contenido
wallabag_support_url: URL de soporte de wallabag
wallabag_url: URL de *tu* instancia de wallabag
@ -23,9 +25,11 @@ export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "modificar configuración"
piwik_host: Host de tu website de Piwik
piwik_host: Host de tu website de Piwik (sin http:// o https://)
piwik_site_id: ID de tu website de Piwik
piwik_enabled: Activar Piwik
demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)"
demo_mode_username: "Nombre de usuario demo"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
carrot: فعال‌سازی هم‌رسانی به Carrot
diaspora_url: نشانی Diaspora، اگر فعال بود
@ -15,6 +16,7 @@ share_diaspora: فعال‌سازی هم‌رسانی به Diaspora
share_mail: فعال‌سازی هم‌رسانی با ایمیل
share_shaarli: فعال‌سازی هم‌رسانی به Shaarli
share_twitter: فعال‌سازی هم‌رسانی به Twitter
share_unmark: فعال‌سازی هم‌رسانی به Unmark.it
show_printlink: نمایش پیوندی برای چاپ مطلب
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
wallabag_url: نشانی صفحهٔ wallabag *شما*
@ -23,9 +25,11 @@ export: "برون‌سپاری"
import: "درون‌ریزی"
misc: "غیره"
modify_settings: "اعمال"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
settings_changed: Configuration mise à jour
download_pictures: Télécharger les images sur le serveur
carrot: Activer le partage vers Carrot
diaspora_url: URL de Diaspora, si le service Diaspora est activé
@ -15,6 +16,7 @@ share_diaspora: Activer le partage vers Diaspora
share_mail: Activer le partage par email
share_shaarli: Activer le partage vers Shaarli
share_twitter: Activer le partage vers Twitter
share_unmark: Activer le partage vers Unmark.it
show_printlink: Afficher un lien pour imprimer
wallabag_support_url: URL de support de wallabag
wallabag_url: URL de *votre* instance de wallabag
@ -23,9 +25,11 @@ export: "export"
import: "import"
misc: "divers"
modify_settings: "appliquer"
piwik_host: URL de votre site dans Piwik
piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
piwik_site_id: ID de votre site dans Piwik
piwik_enabled: Activer Piwik
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
demo_mode_username: "Utilisateur de la démo"
share_public: Autoriser une URL publique pour les articles
download_images_enabled: Télécharger les images en local
restricted_access: Activer l'authentification pour les articles derrière un paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Scarica le immagini sul tuo server
carrot: Abilita la condivisione con Carrot
diaspora_url: Diaspora URL, se il servizio è abilitato
@ -15,6 +16,7 @@ share_diaspora: Abilita la condivisione con Diaspora
share_mail: Abilita la condivisione per email
share_shaarli: Abilita la condivisione con Shaarli
share_twitter: Abilita la condivisione con Twitter
share_unmark: Abilita la condivisione con Unmark.it
show_printlink: Mostra un collegamento per stampare il contenuto
wallabag_support_url: URL di supporto per wallabag
wallabag_url: URL della *tua* installazione di wallabag
@ -23,9 +25,11 @@ export: "esporta"
import: "importa"
misc: "misc"
modify_settings: "applica"
piwik_host: Host del tuo sito in Piwik
piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
piwik_site_id: ID del tuo sito in Piwik
piwik_enabled: Abilita Piwik
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
demo_mode_username: "Utente Demo"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Telecargar los imatges sul servidor
carrot: Activar lo partatge cap a Carrot
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
@ -15,6 +16,7 @@ share_diaspora: Activar lo partatge cap a Diaspora
share_mail: Activar lo partatge per corrièl
share_shaarli: Activar lo partatge cap a Shaarli
share_twitter: Activar lo partatge cap a Twitter
share_unmark: Activar lo partatge cap a Unmark.it
show_printlink: Afichar un ligam per imprimir
wallabag_support_url: URL d'assisténcia de wallabag
wallabag_url: URL de *vòstra* instància de wallabag
@ -23,9 +25,11 @@ export: "expòrt"
import: "impòrt"
misc: "divèrs"
modify_settings: "aplicar"
piwik_host: URL de vòstre site dins Piwik
piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
piwik_site_id: ID de vòstre site dins Piwik
piwik_enabled: Activar Piwik
demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)"
demo_mode_username: "Utilizaire de la demostracion"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Pobierz obrazy na swój serwer
carrot: Włącz udostępnianie dla Carrot
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
@ -15,6 +16,7 @@ share_diaspora: Włącz udostępnianie dla Diaspora
share_mail: Włącz udostępnianie przez email
share_shaarli: Włącz udostępnianie dla Shaarli
share_twitter: Włącz udostępnianie dla Twitter
share_unmark: Włącz udostępnianie dla Unmark.it
show_printlink: Pokaż link do wydrukowania zawartości
wallabag_support_url: Adres URL wsparcia dla wallabag
wallabag_url: Adres *twojej* instacji wallabag
@ -23,9 +25,11 @@ export: "eksport"
import: "import"
misc: "różne"
modify_settings: "zatwierdz"
piwik_host: Host twojej strony Piwik
piwik_host: Host twojej strony Piwik (bez http:// lub https://)
piwik_site_id: ID twojej strony Piwik
piwik_enabled: Włacz Piwik
demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"
demo_mode_username: "Użytkownik Demonstracyjny"
share_public: Zezwalaj na publiczny adres url dla wpisow
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -0,0 +1,35 @@
# settings_changed: Configuration updated
download_pictures: Download imagens no seu servidor
carrot: Habilitar compartilhamento para o Carrot
diaspora_url: URL Diaspora, se o serviço está habilitado
export_epub: Habilita exportação para ePub
export_mobi: Habilita exportação para .mobi
export_pdf: Habilita exportação para PDF
export_csv: Habilita exportação para CSV
export_json: Habilita exportação para JSON
export_txt: Habilita exportação para TXT
export_xml: Habilita exportação para XML
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
shaarli_url: URL Shaarli, se o serviço está habilitado
share_diaspora: Habilitar compartilhamento para o Diaspora
share_mail: Habilitar compartilhamento por e-mail
share_shaarli: Habilitar compartilhamento para o Shaarli
share_twitter: Habilitar compartilhamento para o Twitter
share_unmark: Habilitar compartilhamento para o Unmark.it
show_printlink: Mostrar um link para imprimir o conteúdo
wallabag_support_url: URL de Suporte do wallabag
wallabag_url: URL de *sua* instância do wallabag
entry: "artigo"
export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "aplicar"
piwik_host: Host de seu website Piwik
piwik_site_id: ID de seu website Piwik
piwik_enabled: Habilitar Piwik
demo_mode_enabled: "Habilitar modo demo? (somente usado para o demo público do wallabag)"
demo_mode_username: "Usuário demo"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
download_pictures: Descarcă poze pe server
carrot: Permite share către Carrot
diaspora_url: Diaspora URL, dacă serviciul este permis
@ -15,6 +16,7 @@ share_diaspora: Permite share către Diaspora
share_mail: Permite share prin email
share_shaarli: Permite share către Shaarli
share_twitter: Permite share către Twitter
share_unmark: Permite share către Unmark.it
show_printlink: Afișează un link pentru a printa content-ul
wallabag_support_url: URL-ul de suport pentru wallabag
wallabag_url: URL-ul instanței tale wallabag
@ -23,9 +25,11 @@ export: "exportă"
import: "importă"
misc: "diverse"
modify_settings: "aplică"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,3 +1,4 @@
# settings_changed: Configuration updated
# download_pictures: Download pictures on your server
# carrot: Enable share to Carrot
# diaspora_url: Diaspora URL, if the service is enabled
@ -15,6 +16,7 @@
# share_mail: Enable share by email
# share_shaarli: Enable share to Shaarli
# share_twitter: Enable share to Twitter
# share_unmark: Enable share to Unmark.it
# show_printlink: Display a link to print content
# wallabag_support_url: Support URL for wallabag
# wallabag_url: URL of *your* wallabag instance
@ -23,9 +25,11 @@
# import: "import"
# misc: "misc"
# modify_settings: "apply"
# piwik_host: Host of your website in Piwik
# piwik_host: Host of your website in Piwik (without http:// or https://)
# piwik_site_id: ID of your website in Piwik
# piwik_enabled: Enable Piwik
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
# demo_mode_username: "Demo user"
# share_public: Allow public url for entries
# download_images_enabled: Download images locally
# restricted_access: Enable authentication for websites with paywall

View File

@ -1,6 +1,6 @@
{% extends "WallabagCoreBundle::layout.html.twig" %}
{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %}
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
{% block content %}
<div class="row">
@ -13,7 +13,7 @@
<div class="div_tabs col s12">
<ul class="tabs">
{% for section in sections | craue_sortSections %}
<li class="tab col s3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
{% endfor %}
</ul>
</div>

View File

@ -1,2 +0,0 @@
Login: "Log ind"
Enter your email address below and we'll send you password reset instructions.: "Indtast din emailadresse nedenfor, så sender vi dig instrukser til at nulstille din adgangskode."

View File

@ -1,2 +0,0 @@
Login: "Anmelden"
Enter your email address below and we'll send you password reset instructions.: "Tippe deine E-Mail-Adresse unten ein und wir senden dir die Anweisungen, wie du dein Kennwort zurücksetzen kannst."

View File

@ -1,2 +0,0 @@
Login: "Logearse"
Enter your email address below and we'll send you password reset instructions.: "Introduzca su dirección de email y le enviaremos las instrucciones para resetear su contraseña."

View File

@ -1,2 +0,0 @@
Login: "Se connecter"
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse email, nous vous enverrons les instructions pour réinitialiser votre mot de passe."

View File

@ -1,2 +0,0 @@
Login: "Se connectar"
Enter your email address below and we'll send you password reset instructions.: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."

View File

@ -1,2 +0,0 @@
Login: "Logowanie"
Enter your email address below and we'll send you password reset instructions.: "Wpisz poniżej swój adres email, abyśmy mogli wysłać ci instrukcję resetowania hasła."

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

View File

@ -1,4 +1,3 @@
top['bookmarklet-url@wallabag.org'] =
'<!DOCTYPE html><html><head><title>bag it!</title>' +
'<link rel="icon" href="tpl/img/favicon.ico" />' +

View File

@ -0,0 +1,15 @@
import Mousetrap from 'mousetrap';
/** Shortcuts **/
/* Go to */
Mousetrap.bind('g u', () => { window.location.href = Routing.generate('homepage'); });
Mousetrap.bind('g s', () => { window.location.href = Routing.generate('starred'); });
Mousetrap.bind('g r', () => { window.location.href = Routing.generate('archive'); });
Mousetrap.bind('g a', () => { window.location.href = Routing.generate('all'); });
Mousetrap.bind('g t', () => { window.location.href = Routing.generate('tag'); });
Mousetrap.bind('g c', () => { window.location.href = Routing.generate('config'); });
Mousetrap.bind('g i', () => { window.location.href = Routing.generate('import'); });
Mousetrap.bind('g d', () => { window.location.href = Routing.generate('developer'); });
Mousetrap.bind('?', () => { window.location.href = Routing.generate('howto'); });
Mousetrap.bind('g l', () => { window.location.href = Routing.generate('fos_user_security_logout'); });

View File

@ -1,4 +1,9 @@
const $ = require('jquery');
import $ from 'jquery';
import './shortcuts/main';
import './shortcuts/entry';
/* Allows inline call qr-code call */
import jrQrcode from 'jr-qrcode'; // eslint-disable-line
function supportsLocalStorage() {
try {
@ -30,7 +35,7 @@ function initFilters() {
// no display if filters not available
if ($('div').is('#filters')) {
$('#button_filters').show();
$('.button-collapse-right').sideNav({ edge: 'right' });
$('.js-filters-action').sideNav({ edge: 'right' });
$('#clear_form_filters').on('click', () => {
$('#filters input').val('');
$('#filters :checked').removeAttr('checked');
@ -43,7 +48,7 @@ function initExport() {
// no display if export not available
if ($('div').is('#export')) {
$('#button_export').show();
$('.button-collapse-right').sideNav({ edge: 'right' });
$('.js-export-action').sideNav({ edge: 'right' });
}
}

View File

@ -297,18 +297,14 @@ h2::after {
text-decoration: none;
}
#listmode a:hover {
opacity: 1;
}
#listmode.tablemode {
background-image: url("../img/baggy/table.png");
background-image: url("../../_global/img/table.png");
background-repeat: no-repeat;
background-position: bottom;
}
#listmode.listmode {
background-image: url("../img/baggy/list.png");
background-image: url("../../_global/img/list.png");
background-repeat: no-repeat;
background-position: bottom;
}
@ -352,9 +348,9 @@ footer a {
letter-spacing: -5px;
}
.listmode .entry {
width: 100% !important;
margin-left: 0 !important;
.listmode.entry {
width: 100%;
height: inherit;
}
.card-entry-labels {
@ -383,9 +379,11 @@ footer a {
max-height: 2em;
overflow-y: hidden;
padding: 0;
margin: 0;
}
.card-entry-tags li {
.card-entry-tags li,
.card-entry-tags span {
display: inline-block;
margin: 0 5px;
padding: 5px 12px;
@ -394,14 +392,25 @@ footer a {
max-height: 2em;
overflow: hidden;
text-overflow: ellipsis;
}
.card-entry-tags a,
.card-entry-labels a {
text-decoration: none;
font-weight: normal;
color: #fff;
}
.nav-panel-add-tag {
margin-top: 10px;
}
.list-entries + .results {
margin-bottom: 2em;
}
.estimatedTime .reading-time {
.reading-time,
.created-at {
color: #999;
font-style: italic;
font-weight: normal;
@ -509,6 +518,7 @@ img.preview {
color: #666;
font-size: 0.9em;
line-height: 1.7;
margin-top: 5px;
}
.entry h2 a::first-letter {
@ -568,13 +578,13 @@ img.preview {
div.pagination ul {
text-align: right;
margin-bottom: 50px;
}
.nb-results {
text-align: left;
font-style: italic;
color: #999;
display: inline-flex;
}
div.pagination ul > * {
@ -607,6 +617,10 @@ div.pagination ul .current {
background-color: #ccc;
}
.hide {
display: none;
}
/* ==========================================================================
2.1 = "save a link" related styles
========================================================================== */
@ -923,6 +937,11 @@ a.add-to-wallabag-link-after::after {
background-image: url("../../_global/img/icons/diaspora-icon--black.png");
}
/* Unmark.it */
.icon-image--unmark {
background-image: url("../../_global/img/icons/unmark-icon--black.png");
}
/* shaarli */
.icon-image--shaarli {
background-image: url("../../_global/img/icons/shaarli.png");
@ -1021,6 +1040,7 @@ blockquote {
#article_toolbar li {
display: inline-block;
margin: 3px auto;
}
#article_toolbar a {
@ -1178,6 +1198,14 @@ pre code {
}
}
@media screen and (max-height: 770px) {
.menu.users,
.menu.internal,
.menu.developer {
display: none;
}
}
@media screen and (max-width: 500px) {
.entry {
width: 100%;

View File

@ -5,4 +5,4 @@ function extractLast(term) {
return split(term).pop();
}
export { split, extractLast };
export default { split, extractLast };

View File

@ -1,11 +1,26 @@
/* jQuery */
import $ from 'jquery';
/* eslint-disable no-unused-vars */
/* jquery has default scope */
import cookie from 'jquery.cookie';
import ui from 'jquery-ui-browserify';
/* eslint-enable no-unused-vars */
/* Annotations */
import annotator from 'annotator';
/* Shortcuts */
import './shortcuts/main';
import './shortcuts/entry';
import '../../_global/js/shortcuts/main';
import '../../_global/js/shortcuts/entry';
/* Tools */
import { savePercent, retrievePercent } from '../../_global/js/tools';
import { toggleSaveLinkForm } from './uiTools';
const $ = global.jquery = require('jquery');
require('jquery.cookie');
require('jquery-ui-browserify');
const annotator = require('annotator');
import toggleSaveLinkForm from './uiTools';
global.jquery = $;
$.fn.ready(() => {
const $listmode = $('#listmode');

View File

@ -0,0 +1,26 @@
import Mousetrap from 'mousetrap';
import $ from 'jquery';
$(document).ready(() => {
if ($('#article').length > 0) {
/* Article view */
Mousetrap.bind('o', () => {
$('div#article_toolbar ul.links a.original')[0].click();
});
/* mark as favorite */
Mousetrap.bind('f', () => {
$('div#article_toolbar ul.links a.favorite')[0].click();
});
/* mark as read */
Mousetrap.bind('a', () => {
$('div#article_toolbar ul.links a.markasread')[0].click();
});
/* delete */
Mousetrap.bind('del', () => {
$('div#article_toolbar ul.links a.delete')[0].click();
});
}
});

View File

@ -0,0 +1,7 @@
$(document).ready(() => {
Mousetrap.bind('s', () => {
$('#search').trigger('click');
$('#search_entry_term').focus();
return false;
});
});

View File

@ -1,4 +1,4 @@
const $ = require('jquery');
import $ from 'jquery';
function toggleSaveLinkForm(url, event) {
$('#add-link-result').empty();
@ -32,4 +32,4 @@ function toggleSaveLinkForm(url, event) {
plainUrl.focus();
}
export { toggleSaveLinkForm };
export default toggleSaveLinkForm;

View File

@ -17,12 +17,11 @@
0 = Common
========================================================================== */
@font-face {
font-family: icomoon;
src: url("../fonts/IcoMoon-Free.ttf");
font-weight: normal;
font-style: normal;
}
/**
*
* Material icons
*
*/
@font-face {
font-family: 'Material Icons';
@ -62,6 +61,33 @@
font-feature-settings: 'liga';
}
/* Rules for sizing the icon. */
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
/* Rules for using icons as black on a light background. */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }
/* Rules for using icons as white on a dark background. */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }
/**
*
* Icomoon icons
*
*/
@font-face {
font-family: icomoon;
src: url("../fonts/IcoMoon-Free.ttf");
font-weight: normal;
font-style: normal;
}
[class^="icon-"]::before,
[class*=" icon-"]::before {
font-family: icomoon;
@ -124,6 +150,11 @@
background-image: url("../../_global/img/icons/diaspora-icon--black.png");
}
/* Unmark.it */
.icon-image--unmark {
background-image: url("../../_global/img/icons/unmark-icon--black.png");
}
/* Shaarli */
.icon-image--shaarli {
background-image: url("../../_global/img/icons/shaarli.png");
@ -133,7 +164,7 @@ body {
display: flex;
min-height: 100vh;
flex-direction: column;
background: #f0f0f0;
background: #fafafa;
}
body.login main {
@ -163,7 +194,6 @@ main,
.results {
height: 1em;
line-height: 30px;
}
.results .nb-results,
@ -172,6 +202,14 @@ main,
margin-bottom: 0;
}
.results .nb-results {
display: inline-flex;
}
.results a {
color: #444;
}
.pagination {
float: right;
}
@ -207,8 +245,17 @@ div.pagination ul .next.disabled {
color: #fff;
}
.page-footer .footer-copyright {
min-width: 50px;
height: auto !important;
line-height: 1em !important;
}
.page-footer .footer-copyright p {
display: inline;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
}
.hidden {
@ -236,6 +283,16 @@ nav input {
color: #aaa;
}
nav {
height: auto;
}
.nav-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.nav-wrapper .button-collapse {
padding: 0 15px;
}
@ -244,8 +301,10 @@ nav input {
display: none;
}
.nav-panels {
overflow: hidden;
.nav-panel-buttom {
display: flex;
flex-grow: 1;
justify-content: flex-end;
}
.nav-panel-buttom li {
@ -282,11 +341,13 @@ nav input {
color: #444;
}
.input-field.nav-panel-add label {
.input-field.nav-panel-add label,
.input-field.nav-panel-search label {
left: 1rem;
}
.input-field.nav-panel-add .close {
.input-field.nav-panel-add .close,
.input-field.nav-panel-search .close {
position: absolute;
top: 0;
right: 1rem;
@ -305,8 +366,10 @@ nav input {
}
.input-field.nav-panel-add,
.input-field.nav-panel-add form {
height: 100%;
.input-field.nav-panel-add form,
.input-field.nav-panel-search,
.input-field.nav-panel-search form {
flex-grow: 1;
}
/* ==========================================================================
@ -360,6 +423,10 @@ span.numberItems {
float: right;
}
nav ul a:hover {
background-color: initial;
}
/* ==========================================================================
* 3 = Filters slider
* ========================================================================== */
@ -372,7 +439,6 @@ span.numberItems {
.side-nav.fixed.right-aligned {
right: -250px;
left: auto !important;
overflow-y: visible;
}
#filters div.with-checkbox {
@ -393,13 +459,23 @@ main ul.row {
}
.data .card .card-body {
height: 22em;
height: 19em;
overflow: hidden;
}
.card .card-content .card-title {
line-height: 32px;
max-height: 64px;
.card .card-content .card-title,
.card .card-reveal .card-title {
line-height: 22.8px;
max-height: 80px;
font-size: 19px;
font-family: roberto, "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #313131;
}
.card .card-content .activator,
.card .card-reveal .activator {
cursor: pointer;
font-family: "Material Icons";
}
.card .card-content i.right,
@ -407,6 +483,18 @@ main ul.row {
margin-left: 0;
}
.card .card-content .original {
line-height: 24px;
font-size: 15px;
}
a.original {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
}
.card .card-entry-labels {
position: absolute;
top: 10px;
@ -414,9 +502,10 @@ main ul.row {
max-width: 50%;
}
.card .card-entry-labels li {
.card .card-entry-labels li,
.card-tag-labels li {
margin: 10px 10px 10px auto;
padding: 5px 12px 5px 16px;
padding: 5px 12px 5px 16px !important;
background-color: rgba(0, 151, 167, 0.85);
border-radius: 0 3px 3px 0;
color: #fff;
@ -428,7 +517,7 @@ main ul.row {
}
.card .card-entry-labels-hidden {
margin-top: 5px;
margin: 2.5px auto;
}
.card .card-entry-labels-hidden li {
@ -445,12 +534,26 @@ main ul.row {
white-space: nowrap;
}
.card .card-entry-labels-hidden li:first-child {
margin-left: 0;
}
.card-entry-tags a,
.card-entry-labels a,
.card-tag-labels a,
.card-entry-labels-hidden a,
#list .chip a {
text-decoration: none;
font-weight: normal;
color: #fff;
}
.card .card-content .estimatedTime {
margin-bottom: 10px;
}
.card .card-action .original {
line-height: 24px;
.card .card-action {
padding: 10px 5px 10px 15px;
}
.card .card-action ul.links {
@ -459,6 +562,18 @@ main ul.row {
line-height: 24px;
}
.card .card-action ul.tools li a.tool {
margin-right: 5px !important;
}
.card-stacked:hover ul.tools-list {
display: block;
}
.card-stacked ul.tools-list {
display: none;
}
.card .card-action a {
color: #fff;
margin: 0;
@ -468,6 +583,11 @@ main ul.row {
color: #fff;
}
.card .card-action .reading-time {
display: inline-flex;
vertical-align: middle;
}
.quickstart .card .card-action a,
.quickstart .card .card-action a:hover {
color: #fff !important;
@ -484,10 +604,15 @@ main ul.row {
}
.card .card-image {
height: 14em;
height: 10em;
}
.card .card-image .preview {
.card .card-fullimage {
height: 13.5em;
}
.card .card-image .preview,
.card .card-fullimage .preview {
height: 14em;
background-size: cover;
background-repeat: no-repeat;
@ -501,7 +626,55 @@ main ul.row {
#article {
font-size: 20px;
margin: 0 auto;
max-width: 40em;
max-width: 45em;
}
#article article {
color: #424242;
font-size: 18px;
line-height: 1.7em;
}
#article article h1,
#article article h2,
#article article h3,
#article article h4,
#article article h5,
#article article h6 {
color: #212121;
}
#article article h1 strong,
#article article h2 strong,
#article article h3 strong,
#article article h4 strong,
#article article h5 strong,
#article article h6 strong {
font-weight: 500;
}
#article article h6 {
font-size: 1.2rem;
}
#article article h5 {
font-size: 1.6rem;
}
#article article h4 {
font-size: 1.9rem;
}
#article article h3 {
font-size: 2.2rem;
}
#article article h2 {
font-size: 2.5rem;
}
#article article h1 {
font-size: 2.7rem;
}
#article img,
@ -510,8 +683,49 @@ main ul.row {
height: auto;
}
#article article a {
border-bottom: 1px dotted #03a9f4;
text-decoration: none;
}
#article article a:hover {
border-bottom-style: solid;
}
#article article ul {
padding-left: 30px;
}
#article article ul,
#article article ul li {
list-style-type: disc;
}
#article article blockquote {
font-style: italic;
}
#article article strong {
font-weight: bold;
}
#article article pre {
box-sizing: border-box;
margin: 0 0 1.75em;
border: #e3f2fd 1px solid;
width: 100%;
padding: 10px;
font-family: monospace;
font-size: 0.8em;
white-space: pre;
overflow: auto;
background: #f5f5f5;
border-radius: 3px;
}
#article > header > h1 {
font-size: 2em;
margin: 2.1rem 0 0.68rem;
}
.reader-mode {
@ -550,9 +764,20 @@ main ul.row {
z-index: 9999;
}
#article aside .link {
color: #000;
#article aside .tools {
font-size: 0.8em;
display: flex;
flex-flow: row wrap;
margin: 0 auto;
}
article aside .tools li {
display: inline-flex;
vertical-align: middle;
}
#article aside .tools a {
color: #000;
text-decoration: none;
}
@ -563,10 +788,11 @@ main ul.row {
#article aside .chip {
background-color: rgba(0, 151, 167, 0.85);
color: #fff;
padding: 0 15px 0 10px;
margin: auto 2px;
}
#article aside .chip a,
#article aside .chip i {
color: #fff;
}
@ -592,6 +818,25 @@ main ul.row {
width: auto;
}
.nav-panels .action {
padding-right: 0.75rem;
}
.nav-panel-buttom {
justify-content: space-around;
}
#article {
max-width: 35em;
margin-left: auto;
margin-right: auto;
font-size: 18px;
}
#article > header > h1 {
font-size: 1.33em;
}
.reader-mode {
width: 240px !important;
}
@ -617,15 +862,24 @@ main ul.row {
.pagination li.next {
width: auto;
}
}
@media only screen and (min-width: 400px) {
.nav-panel-buttom {
float: right;
.drag-target + .drag-target {
height: 50%;
}
.drag-target + .drag-target + .drag-target {
top: 50%;
}
}
@media only screen and (min-width: 993px) and (max-width: 1180px) {
@media only screen and (min-width: 1200px) and (max-width: 1650px) {
.row .col.l3 {
width: 33.33333%;
margin-left: 0;
}
}
@media only screen and (min-width: 993px) and (max-width: 1200px) {
.row .col.l1 {
width: 25%;
margin-left: 0;
@ -681,6 +935,14 @@ main ul.row {
.nb-results {
display: none;
}
main ul.row {
padding: 0;
}
.row .col {
padding: 0;
}
}
/* ==========================================================================
@ -749,3 +1011,7 @@ div.settings div.file-field div {
.input-field label.active {
font-size: 1rem;
}
nav .input-field input {
margin: 0;
}

View File

@ -1,10 +1,21 @@
/* jQuery */
import $ from 'jquery';
/* Annotations */
import annotator from 'annotator';
/* Tools */
import { savePercent, retrievePercent, initFilters, initExport } from '../../_global/js/tools';
const $ = require('jquery');
/* Import shortcuts */
import './shortcuts/main';
import './shortcuts/entry';
import '../../_global/js/shortcuts/main';
import '../../_global/js/shortcuts/entry';
require('materialize'); // eslint-disable-line
global.jQuery = $;
require('materialize'); // eslint-disable-line
const annotator = require('annotator');
$(document).ready(() => {
// sideNav
@ -44,7 +55,7 @@ $(document).ready(() => {
$('.nav-panels .action').hide(100);
$('.nav-panel-menu').addClass('hidden');
$('.nav-panels').css('background', 'white');
$('#searchfield').focus();
$('#search_entry_term').focus();
return false;
});
$('.close').on('click', () => {

View File

@ -0,0 +1,26 @@
import Mousetrap from 'mousetrap';
import $ from 'jquery';
$(document).ready(() => {
if ($('#article').length > 0) {
/* open original article */
Mousetrap.bind('o', () => {
$('ul.side-nav a.original i')[0].click();
});
/* mark as favorite */
Mousetrap.bind('f', () => {
$('ul.side-nav a.favorite i')[0].click();
});
/* mark as read */
Mousetrap.bind('a', () => {
$('ul.side-nav a.markasread i')[0].click();
});
/* delete */
Mousetrap.bind('del', () => {
$('ul.side-nav a.delete i')[0].click();
});
}
});

View File

@ -0,0 +1,75 @@
import Mousetrap from 'mousetrap';
import $ from 'jquery';
function toggleFocus(cardToToogleFocus) {
if (cardToToogleFocus) {
$(cardToToogleFocus).toggleClass('z-depth-4');
}
}
$(document).ready(() => {
const cards = $('#content').find('.card');
const cardNumber = cards.length;
let cardIndex = 0;
/* If we come from next page */
if (window.location.hash === '#prev') {
cardIndex = cardNumber - 1;
}
let card = cards[cardIndex];
const pagination = $('.pagination');
/* Show nothing on quickstart */
if ($('#content > div.quickstart').length > 0) {
return;
}
/* Focus current card */
toggleFocus(card);
/* Actions */
Mousetrap.bind('g n', () => {
$('#nav-btn-add').trigger('click');
return false;
});
Mousetrap.bind('s', () => {
$('#nav-btn-search').trigger('click');
return false;
});
Mousetrap.bind('esc', () => {
$('.close').trigger('click');
});
/* Select right card. If there's a next page, go to next page */
Mousetrap.bind('right', () => {
if (cardIndex >= 0 && cardIndex < cardNumber - 1) {
toggleFocus(card);
cardIndex += 1;
card = cards[cardIndex];
toggleFocus(card);
return;
}
if (pagination.length > 0 && pagination.find('li.next:not(.disabled)').length > 0 && cardIndex === cardNumber - 1) {
window.location.href = window.location.origin + $(pagination).find('li.next a').attr('href');
}
});
/* Select previous card. If there's a previous page, go to next page */
Mousetrap.bind('left', () => {
if (cardIndex > 0 && cardIndex < cardNumber) {
toggleFocus(card);
cardIndex -= 1;
card = cards[cardIndex];
toggleFocus(card);
return;
}
if (pagination.length > 0 && $(pagination).find('li.prev:not(.disabled)').length > 0 && cardIndex === 0) {
window.location.href = `${window.location.origin + $(pagination).find('li.prev a').attr('href')}#prev`;
}
});
Mousetrap.bind('enter', () => {
window.location.href = window.location.origin + $(card).find('span.card-title a').attr('href');
});
});

View File

@ -1,9 +1,4 @@
# config valid only for current version of Capistrano
lock '3.4.0'
set :log_path, "var/logs"
set :cache_path, "var/cache"
set :symfony_console_path, 'bin/console'
set :application, 'wallabag'
set :repo_url, 'git@github.com:wallabag/wallabag.git'
@ -11,8 +6,6 @@ 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
@ -23,4 +16,4 @@ set :linked_files, %w{app/config/parameters.yml}
set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"]
set :keep_releases, 3
after 'deploy:finishing', 'deploy:cleanup'
after 'deploy:updated', 'symfony:cache:clear'

View File

@ -30,7 +30,7 @@ framework:
assets: ~
wallabag_core:
version: 2.1.1
version: 2.2.1
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'
@ -44,12 +44,17 @@ wallabag_core:
es: 'Español'
oc: 'Occitan'
it: 'Italiano'
pt: 'Português'
items_on_page: 12
theme: material
language: en
language: '%locale%'
rss_limit: 50
reading_speed: 1
cache_lifetime: 10
action_mark_as_read: 1
list_mode: 1
fetching_error_message: |
wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
wallabag_user:
registration_enabled: "%fosuser_registration%"
@ -75,8 +80,9 @@ doctrine:
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
charset: "%database_charset%"
path: "%database_path%"
unix_socket: "%database_socket%"
server_version: 5.6
orm:
@ -111,12 +117,26 @@ swiftmailer:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
mime_types:
csv:
- 'text/csv'
- 'text/plain'
pdf:
- 'application/pdf'
epub:
- 'application/epub+zip'
mobi:
- 'application/x-mobipocket-ebook'
view_response_listener: 'force'
formats:
xml: true
json : true
json: true
txt: true
csv: true
pdf: true
epub: true
mobi: true
templating_formats:
html: true
force_redirects:
@ -125,10 +145,21 @@ fos_rest:
default_engine: twig
routing_loader:
default_format: json
format_listener:
enabled: true
rules:
- { path: "^/api/entries/([0-9]+)/export.(.*)", priorities: ['epub', 'mobi', 'pdf', 'txt', 'csv'], fallback_format: json, prefer_extension: false }
- { path: "^/api", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
- { path: "^/annotations", priorities: ['json', 'xml'], fallback_format: json, prefer_extension: false }
# for an unknown reason, EACH REQUEST goes to FOS\RestBundle\EventListener\FormatListener
# so we need to add custom rule for custom api export but also for all other routes of the application...
- { path: '^/', priorities: ['text/html', '*/*'], fallback_format: html, prefer_extension: false }
nelmio_api_doc:
sandbox:
enabled: false
cache:
enabled: true
name: wallabag API documentation
nelmio_cors:
@ -181,6 +212,7 @@ fos_user:
from_email:
address: "%from_email%"
sender_name: wallabag
fos_oauth_server:
db_driver: orm
client_class: Wallabag\ApiBundle\Entity\Client
@ -188,7 +220,9 @@ fos_oauth_server:
refresh_token_class: Wallabag\ApiBundle\Entity\RefreshToken
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
service:
user_provider: fos_user.user_manager
user_provider: fos_user.user_provider.username_email
options:
refresh_token_lifetime: 1209600
scheb_two_factor:
trusted_computer:
@ -207,16 +241,6 @@ kphoen_rulerz:
executors:
doctrine: true
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
driver:
ttl: 3600
class: 'Lexik\Bundle\MaintenanceBundle\Drivers\DatabaseDriver'
response:
code: 503
status: "wallabag Service Temporarily Unavailable"
old_sound_rabbit_mq:
connections:
default:
@ -237,6 +261,11 @@ old_sound_rabbit_mq:
exchange_options:
name: 'wallabag.import.readability'
type: topic
import_pinboard:
connection: default
exchange_options:
name: 'wallabag.import.pinboard'
type: topic
import_instapaper:
connection: default
exchange_options:
@ -271,6 +300,7 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.pocket'
callback: wallabag_import.consumer.amqp.pocket
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_readability:
connection: default
exchange_options:
@ -279,6 +309,7 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.readability'
callback: wallabag_import.consumer.amqp.readability
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_instapaper:
connection: default
exchange_options:
@ -287,6 +318,16 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.instapaper'
callback: wallabag_import.consumer.amqp.instapaper
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_pinboard:
connection: default
exchange_options:
name: 'wallabag.import.pinboard'
type: topic
queue_options:
name: 'wallabag.import.pinboard'
callback: wallabag_import.consumer.amqp.pinboard
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_wallabag_v1:
connection: default
exchange_options:
@ -295,6 +336,7 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.wallabag_v1'
callback: wallabag_import.consumer.amqp.wallabag_v1
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_wallabag_v2:
connection: default
exchange_options:
@ -303,6 +345,7 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.wallabag_v2'
callback: wallabag_import.consumer.amqp.wallabag_v2
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_firefox:
connection: default
exchange_options:
@ -311,6 +354,7 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.firefox'
callback: wallabag_import.consumer.amqp.firefox
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
import_chrome:
connection: default
exchange_options:
@ -319,3 +363,18 @@ old_sound_rabbit_mq:
queue_options:
name: 'wallabag.import.chrome'
callback: wallabag_import.consumer.amqp.chrome
qos_options: {prefetch_count: "%rabbitmq_prefetch_count%"}
fos_js_routing:
routes_to_expose:
- homepage
- starred
- archive
- all
- tag
- config
- import
- developer
- howto
- fos_user_security_logout
- new

View File

@ -28,7 +28,7 @@ doctrine:
dbname: "%test_database_name%"
user: "%test_database_user%"
password: "%test_database_password%"
charset: UTF8
charset: "%test_database_charset%"
path: "%test_database_path%"
orm:
metadata_cache_driver:

View File

@ -18,16 +18,19 @@ parameters:
database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
database_socket: null
# with MySQL, use "utf8mb4" if you got problem with content with emojis
database_charset: utf8
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
# two factor stuff
twofactor_auth: true
@ -46,7 +49,14 @@ parameters:
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
rabbitmq_prefetch_count: 10
# Redis processing
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
redis_password: null
# sites credentials
sites_credentials: {}

View File

@ -6,3 +6,4 @@ parameters:
test_database_user: null
test_database_password: null
test_database_path: '%kernel.root_dir%/../data/db/wallabag_test.sqlite'
test_database_charset: utf8

View File

@ -13,7 +13,8 @@ wallabag_user:
prefix: /users
wallabag_api:
resource: "@WallabagApiBundle/Resources/config/routing.yml"
resource: "@WallabagApiBundle/Controller/"
type: annotation
prefix: /
app:
@ -47,3 +48,6 @@ craue_config_settings_modify:
path: /settings
defaults:
_controller: CraueConfigBundle:Settings:modify
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"

View File

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

View File

@ -32,13 +32,13 @@ services:
- { name: twig.extension }
wallabag.locale_listener:
class: Wallabag\CoreBundle\EventListener\LocaleListener
class: Wallabag\CoreBundle\Event\Listener\LocaleListener
arguments: ["%kernel.default_locale%"]
tags:
- { name: kernel.event_subscriber }
wallabag.user_locale_listener:
class: Wallabag\CoreBundle\EventListener\UserLocaleListener
class: Wallabag\CoreBundle\Event\Listener\UserLocaleListener
arguments: ["@session"]
tags:
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }

View File

@ -6,3 +6,4 @@ parameters:
test_database_user: root
test_database_password: ~
test_database_path: ~
test_database_charset: utf8mb4

View File

@ -6,3 +6,4 @@ parameters:
test_database_user: travis
test_database_password: ~
test_database_path: ~
test_database_charset: utf8

View File

@ -6,3 +6,4 @@ parameters:
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
test_database_charset: utf8

124
build.xml
View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="wallabag" default="build">
<target name="build" depends="clean,prepare,phpunit"/>
<target name="prepare-mysql" depends="clean,db_mysql,prepare"/>
<target name="prepare-sqlite" depends="clean,db_sqlite,prepare"/>
<target name="prepare-pgsql" depends="clean,db_pgsql,prepare"/>
<target name="prepare-mysql" depends="clean,prepare_mysql"/>
<target name="prepare-sqlite" depends="clean,prepare_sqlite"/>
<target name="prepare-pgsql" depends="clean,prepare_pgsql"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/var/cache"/>
@ -26,11 +26,48 @@
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="prepare_mysql" description="Run test for MySQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
<arg value="${basedir}/app/config/parameters_test.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:import"/>
<arg value="data/sql/mysql_base.sql"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:migrations:migrate"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
@ -39,46 +76,91 @@
</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_test.mysql.yml"/>
<arg value="${basedir}/app/config/parameters_test.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_sqlite" description="Run test for SQLite">
<target name="prepare_sqlite" description="Run test for SQLite">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
<arg value="${basedir}/app/config/parameters_test.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:schema:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:migrations:migrate"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="db_pgsql" description="Run test for PostgreSQL">
<target name="prepare_pgsql" description="Run test for PostgreSQL">
<delete dir="${basedir}/app/config/parameters.yml"/>
<exec executable="cp">
<arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
<arg value="${basedir}/app/config/parameters_test.yml"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="cache:clear"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:drop"/>
<arg value="--force"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:database:create"/>
<arg value="--env=test"/>
</exec>
<exec executable="psql">
<arg value="-h"/>
<arg value="localhost"/>
<arg value="-d"/>
<arg value="wallabag_test"/>
<arg value="-U"/>
<arg value="travis"/>
<arg value="-f"/>
<arg value="data/sql/pgsql_base.sql"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:migrations:migrate"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
<exec executable="php">
<arg value="${basedir}/bin/console"/>
<arg value="doctrine:fixtures:load"/>
<arg value="--no-interaction"/>
<arg value="--env=test"/>
</exec>
</target>
<target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">

View File

@ -43,54 +43,54 @@
"ext-iconv": "*",
"ext-tokenizer": "*",
"ext-pdo": "*",
"symfony/symfony": "3.1.*",
"symfony/symfony": "3.2.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"twig/extensions": "~1.0",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^2.8",
"symfony/monolog-bundle": "^3.0",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"nelmio/cors-bundle": "~1.4.0",
"friendsofsymfony/rest-bundle": "~1.4",
"jms/serializer-bundle": "~1.0",
"friendsofsymfony/rest-bundle": "~2.1",
"jms/serializer-bundle": "~1.1",
"nelmio/api-doc-bundle": "~2.7",
"mgargano/simplehtmldom": "~1.5",
"tecnickcom/tcpdf": "~6.2",
"tecnickcom/tc-lib-pdf": "dev-master",
"simplepie/simplepie": "~1.3.1",
"willdurand/hateoas-bundle": "~1.0",
"htmlawed/htmlawed": "~1.1.19",
"liip/theme-bundle": "~1.1",
"pagerfanta/pagerfanta": "~1.0.3",
"lexik/form-filter-bundle": "~5.0",
"j0k3r/graby": "~1.0",
"friendsofsymfony/user-bundle": "~2.0@dev",
"friendsofsymfony/user-bundle": "2.0.x-dev",
"friendsofsymfony/oauth-server-bundle": "^1.5",
"stof/doctrine-extensions-bundle": "^1.2@dev",
"stof/doctrine-extensions-bundle": "^1.2",
"scheb/two-factor-bundle": "~2.0",
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
"kphoen/rulerz": "0.19.1",
"guzzlehttp/guzzle": "^5.3.1",
"doctrine/doctrine-migrations-bundle": "^1.0",
"paragonie/random_compat": "~1.0",
"craue/config-bundle": "~1.4",
"mnapoli/piwik-twig-extension": "^1.0",
"lexik/maintenance-bundle": "~2.1",
"ocramius/proxy-manager": "1.*",
"white-october/pagerfanta-bundle": "^1.0",
"mouf/nodejs-installer": "~1.0",
"php-amqplib/rabbitmq-bundle": "^1.8",
"predis/predis": "^1.0",
"javibravo/simpleue": "^1.0"
"javibravo/simpleue": "^1.0",
"symfony/dom-crawler": "^3.1",
"friendsofsymfony/jsrouting-bundle": "^1.6",
"bdunogier/guzzle-site-authenticator": "dev-master"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2",
"doctrine/data-fixtures": "~1.1.1",
"sensio/generator-bundle": "^3.0",
"phpunit/phpunit": "~5.0",
"symfony/phpunit-bridge": "^3.0",
"friendsofphp/php-cs-fixer": "~1.9",
"m6web/redis-mock": "^2.0"
@ -100,8 +100,8 @@
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-install-cmd": [
"@post-cmd"
@ -116,6 +116,7 @@
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "symlink",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
}
@ -128,7 +129,10 @@
"psr-4": { "Tests\\": "tests/" }
},
"config": {
"bin-dir": "bin"
"bin-dir": "bin",
"platform": {
"php": "5.5.9"
}
},
"minimum-stability": "dev",
"prefer-stable": true

7355
composer.lock generated Normal file

File diff suppressed because it is too large Load Diff

25
data/sql/mysql_base.sql Normal file
View File

@ -0,0 +1,25 @@
CREATE TABLE wallabag_craue_config_setting (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_5D9649505E237E06 (name), PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `wallabag_entry` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, title LONGTEXT DEFAULT NULL, url LONGTEXT DEFAULT NULL, is_archived TINYINT(1) NOT NULL, is_starred TINYINT(1) NOT NULL, content LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype LONGTEXT DEFAULT NULL, language LONGTEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name LONGTEXT DEFAULT NULL, preview_picture LONGTEXT DEFAULT NULL, is_public TINYINT(1) DEFAULT '0', INDEX IDX_F4D18282A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_entry_tag (entry_id INT NOT NULL, tag_id INT NOT NULL, INDEX IDX_C9F0DD7CBA364942 (entry_id), INDEX IDX_C9F0DD7CBAD26311 (tag_id), PRIMARY KEY(entry_id, tag_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `wallabag_config` (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, UNIQUE INDEX UNIQ_87E64C53A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `wallabag_tagging_rule` (id INT AUTO_INCREMENT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT '(DC2Type:simple_array)', INDEX IDX_2D9B3C5424DB0683 (config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `wallabag_tag` (id INT AUTO_INCREMENT NOT NULL, `label` LONGTEXT NOT NULL, slug VARCHAR(128) NOT NULL, UNIQUE INDEX UNIQ_4CA58A8C989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_oauth2_clients (id INT AUTO_INCREMENT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris LONGTEXT NOT NULL COMMENT '(DC2Type:array)', secret VARCHAR(255) NOT NULL, allowed_grant_types LONGTEXT NOT NULL COMMENT '(DC2Type:array)', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_oauth2_access_tokens (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_368A42095F37A13B (token), INDEX IDX_368A420919EB6921 (client_id), INDEX IDX_368A4209A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_oauth2_refresh_tokens (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_20C9FB245F37A13B (token), INDEX IDX_20C9FB2419EB6921 (client_id), INDEX IDX_20C9FB24A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_oauth2_auth_codes (id INT AUTO_INCREMENT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri LONGTEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_EE52E3FA5F37A13B (token), INDEX IDX_EE52E3FA19EB6921 (client_id), INDEX IDX_EE52E3FAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE `wallabag_user` (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled TINYINT(1) NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked TINYINT(1) NOT NULL, expired TINYINT(1) NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT '(DC2Type:array)', credentials_expired TINYINT(1) NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication TINYINT(1) NOT NULL, trusted LONGTEXT DEFAULT NULL COMMENT '(DC2Type:json_array)', UNIQUE INDEX UNIQ_1D63E7E592FC23A8 (username_canonical), UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF (email_canonical), UNIQUE INDEX UNIQ_1D63E7E5C05FB297 (confirmation_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE wallabag_annotation (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges LONGTEXT NOT NULL COMMENT '(DC2Type:array)', INDEX IDX_A7AED006A76ED395 (user_id), INDEX IDX_A7AED006BA364942 (entry_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE `wallabag_entry` ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES `wallabag_entry` (id);
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES `wallabag_tag` (id);
ALTER TABLE `wallabag_config` ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE `wallabag_tagging_rule` ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES `wallabag_config` (id);
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id);
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES `wallabag_user` (id);
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES `wallabag_entry` (id);

62
data/sql/pgsql_base.sql Normal file
View File

@ -0,0 +1,62 @@
CREATE TABLE wallabag_craue_config_setting (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, PRIMARY KEY(name));
CREATE UNIQUE INDEX UNIQ_5D9649505E237E06 ON wallabag_craue_config_setting (name);
CREATE TABLE "wallabag_entry" (id INT NOT NULL, user_id INT DEFAULT NULL, title TEXT DEFAULT NULL, url TEXT DEFAULT NULL, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content TEXT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, mimetype TEXT DEFAULT NULL, language TEXT DEFAULT NULL, reading_time INT DEFAULT NULL, domain_name TEXT DEFAULT NULL, preview_picture TEXT DEFAULT NULL, is_public BOOLEAN DEFAULT 'false', PRIMARY KEY(id));
CREATE INDEX IDX_F4D18282A76ED395 ON "wallabag_entry" (user_id);
CREATE TABLE wallabag_entry_tag (entry_id INT NOT NULL, tag_id INT NOT NULL, PRIMARY KEY(entry_id, tag_id));
CREATE INDEX IDX_C9F0DD7CBA364942 ON wallabag_entry_tag (entry_id);
CREATE INDEX IDX_C9F0DD7CBAD26311 ON wallabag_entry_tag (tag_id);
CREATE TABLE "wallabag_config" (id INT NOT NULL, user_id INT DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INT NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INT DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON "wallabag_config" (user_id);
CREATE TABLE "wallabag_tagging_rule" (id INT NOT NULL, config_id INT DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags TEXT NOT NULL, PRIMARY KEY(id));
CREATE INDEX IDX_2D9B3C5424DB0683 ON "wallabag_tagging_rule" (config_id);
COMMENT ON COLUMN "wallabag_tagging_rule".tags IS '(DC2Type:simple_array)';
CREATE TABLE "wallabag_tag" (id INT NOT NULL, label TEXT NOT NULL, slug VARCHAR(128) NOT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_4CA58A8C989D9B62 ON "wallabag_tag" (slug);
CREATE TABLE wallabag_oauth2_clients (id INT NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris TEXT NOT NULL, secret VARCHAR(255) NOT NULL, allowed_grant_types TEXT NOT NULL, PRIMARY KEY(id));
COMMENT ON COLUMN wallabag_oauth2_clients.redirect_uris IS '(DC2Type:array)';
COMMENT ON COLUMN wallabag_oauth2_clients.allowed_grant_types IS '(DC2Type:array)';
CREATE TABLE wallabag_oauth2_access_tokens (id INT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_368A42095F37A13B ON wallabag_oauth2_access_tokens (token);
CREATE INDEX IDX_368A420919EB6921 ON wallabag_oauth2_access_tokens (client_id);
CREATE INDEX IDX_368A4209A76ED395 ON wallabag_oauth2_access_tokens (user_id);
CREATE TABLE wallabag_oauth2_refresh_tokens (id INT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_20C9FB245F37A13B ON wallabag_oauth2_refresh_tokens (token);
CREATE INDEX IDX_20C9FB2419EB6921 ON wallabag_oauth2_refresh_tokens (client_id);
CREATE INDEX IDX_20C9FB24A76ED395 ON wallabag_oauth2_refresh_tokens (user_id);
CREATE TABLE wallabag_oauth2_auth_codes (id INT NOT NULL, client_id INT NOT NULL, user_id INT DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri TEXT NOT NULL, expires_at INT DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_EE52E3FA5F37A13B ON wallabag_oauth2_auth_codes (token);
CREATE INDEX IDX_EE52E3FA19EB6921 ON wallabag_oauth2_auth_codes (client_id);
CREATE INDEX IDX_EE52E3FAA76ED395 ON wallabag_oauth2_auth_codes (user_id);
CREATE TABLE "wallabag_user" (id INT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, locked BOOLEAN NOT NULL, expired BOOLEAN NOT NULL, expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, roles TEXT NOT NULL, credentials_expired BOOLEAN NOT NULL, credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, name TEXT DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, authCode INT DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted TEXT DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON "wallabag_user" (username_canonical);
CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON "wallabag_user" (email_canonical);
CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON "wallabag_user" (confirmation_token);
COMMENT ON COLUMN "wallabag_user".roles IS '(DC2Type:array)';
COMMENT ON COLUMN "wallabag_user".trusted IS '(DC2Type:json_array)';
CREATE TABLE wallabag_annotation (id INT NOT NULL, user_id INT DEFAULT NULL, entry_id INT DEFAULT NULL, text TEXT NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, quote VARCHAR(255) NOT NULL, ranges TEXT NOT NULL, PRIMARY KEY(id));
CREATE INDEX IDX_A7AED006A76ED395 ON wallabag_annotation (user_id);
CREATE INDEX IDX_A7AED006BA364942 ON wallabag_annotation (entry_id);
COMMENT ON COLUMN wallabag_annotation.ranges IS '(DC2Type:array)';
CREATE SEQUENCE "entry_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE "config_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE "tagging_rule_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE "tag_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE oauth2_clients_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE oauth2_access_tokens_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE oauth2_refresh_tokens_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE oauth2_auth_codes_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE "user_id_seq" INCREMENT BY 1 MINVALUE 1 START 1;
CREATE SEQUENCE annotation_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
ALTER TABLE "wallabag_entry" ADD CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES "wallabag_tag" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE "wallabag_config" ADD CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE "wallabag_tagging_rule" ADD CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES "wallabag_config" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_access_tokens ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_refresh_tokens ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_oauth2_auth_codes ADD CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;
ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE;

33
data/sql/sqlite_base.sql Normal file
View File

@ -0,0 +1,33 @@
CREATE TABLE wallabag_craue_config_setting (name VARCHAR(255) NOT NULL, value VARCHAR(255) DEFAULT NULL, section VARCHAR(255) DEFAULT NULL, PRIMARY KEY(name));
CREATE UNIQUE INDEX UNIQ_5D9649505E237E06 ON wallabag_craue_config_setting (name);
CREATE TABLE "wallabag_tagging_rule" (id INTEGER NOT NULL, config_id INTEGER DEFAULT NULL, rule VARCHAR(255) NOT NULL, tags CLOB NOT NULL, PRIMARY KEY(id), CONSTRAINT FK_2D9B3C5424DB0683 FOREIGN KEY (config_id) REFERENCES "wallabag_config" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE INDEX IDX_2D9B3C5424DB0683 ON "wallabag_tagging_rule" (config_id);
CREATE TABLE "wallabag_tag" (id INTEGER NOT NULL, label CLOB NOT NULL, slug VARCHAR(128) NOT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_4CA58A8C989D9B62 ON "wallabag_tag" (slug);
CREATE TABLE "wallabag_entry" (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, title CLOB DEFAULT NULL, url CLOB DEFAULT NULL, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL, language CLOB DEFAULT NULL, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL, preview_picture CLOB DEFAULT NULL, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id), CONSTRAINT FK_F4D18282A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE INDEX IDX_F4D18282A76ED395 ON "wallabag_entry" (user_id);
CREATE TABLE wallabag_entry_tag (entry_id INTEGER NOT NULL, tag_id INTEGER NOT NULL, PRIMARY KEY(entry_id, tag_id), CONSTRAINT FK_C9F0DD7CBA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_C9F0DD7CBAD26311 FOREIGN KEY (tag_id) REFERENCES "wallabag_tag" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE INDEX IDX_C9F0DD7CBA364942 ON wallabag_entry_tag (entry_id);
CREATE INDEX IDX_C9F0DD7CBAD26311 ON wallabag_entry_tag (tag_id);
CREATE TABLE "wallabag_config" (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL, rss_token VARCHAR(255) DEFAULT NULL, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, PRIMARY KEY(id), CONSTRAINT FK_87E64C53A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON "wallabag_config" (user_id);
CREATE TABLE wallabag_oauth2_refresh_tokens (id INTEGER NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INTEGER DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id), CONSTRAINT FK_20C9FB2419EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE UNIQUE INDEX UNIQ_20C9FB245F37A13B ON wallabag_oauth2_refresh_tokens (token);
CREATE INDEX IDX_20C9FB2419EB6921 ON wallabag_oauth2_refresh_tokens (client_id);
CREATE INDEX IDX_20C9FB24A76ED395 ON wallabag_oauth2_refresh_tokens (user_id);
CREATE TABLE wallabag_oauth2_access_tokens (id INTEGER NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, token VARCHAR(255) NOT NULL, expires_at INTEGER DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id), CONSTRAINT FK_368A420919EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE UNIQUE INDEX UNIQ_368A42095F37A13B ON wallabag_oauth2_access_tokens (token);
CREATE INDEX IDX_368A420919EB6921 ON wallabag_oauth2_access_tokens (client_id);
CREATE INDEX IDX_368A4209A76ED395 ON wallabag_oauth2_access_tokens (user_id);
CREATE TABLE wallabag_oauth2_auth_codes (id INTEGER NOT NULL, client_id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, token VARCHAR(255) NOT NULL, redirect_uri CLOB NOT NULL, expires_at INTEGER DEFAULT NULL, scope VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id), CONSTRAINT FK_EE52E3FA19EB6921 FOREIGN KEY (client_id) REFERENCES wallabag_oauth2_clients (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_EE52E3FAA76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE UNIQUE INDEX UNIQ_EE52E3FA5F37A13B ON wallabag_oauth2_auth_codes (token);
CREATE INDEX IDX_EE52E3FA19EB6921 ON wallabag_oauth2_auth_codes (client_id);
CREATE INDEX IDX_EE52E3FAA76ED395 ON wallabag_oauth2_auth_codes (user_id);
CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, random_id VARCHAR(255) NOT NULL, redirect_uris CLOB NOT NULL, secret VARCHAR(255) NOT NULL, allowed_grant_types CLOB NOT NULL, PRIMARY KEY(id));
CREATE TABLE "wallabag_user" (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, locked BOOLEAN NOT NULL, expired BOOLEAN NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(255) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL, credentials_expired BOOLEAN NOT NULL, credentials_expire_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON "wallabag_user" (username_canonical);
CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON "wallabag_user" (email_canonical);
CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON "wallabag_user" (confirmation_token);
CREATE TABLE wallabag_annotation (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, entry_id INTEGER DEFAULT NULL, text CLOB NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, quote VARCHAR(255) NOT NULL, ranges CLOB NOT NULL, PRIMARY KEY(id), CONSTRAINT FK_A7AED006A76ED395 FOREIGN KEY (user_id) REFERENCES "wallabag_user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_A7AED006BA364942 FOREIGN KEY (entry_id) REFERENCES "wallabag_entry" (id) NOT DEFERRABLE INITIALLY IMMEDIATE);
CREATE INDEX IDX_A7AED006A76ED395 ON wallabag_annotation (user_id);
CREATE INDEX IDX_A7AED006BA364942 ON wallabag_annotation (entry_id);

View File

@ -1,4 +1,4 @@
API DoKumentation
API Dokumentation
=================
Dank dieser Dokumentation werden wir sehen, wie wir mit der wallabag API interagieren.
@ -264,7 +264,8 @@ Drittanbieter Ressourcen
Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen:
- `Java wrapper for the wallabag API <https://github.com/Strubbl/wallabag-java>`_ von Strubbl.
- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ von Strubbl.
- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ von Julian Oster.
- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ von FoxMaSk, für sein Projekt `Trigger Happy <https://blog.trigger-happy.eu/>`_.
- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ entworfen für `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_, das die wallabag v2 API nutzt. Von Josh Panter.
- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für sein Projekt `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_.

View File

@ -0,0 +1,159 @@
Asynchrone Aufgaben
===================
Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir RabbitMQ oder Redis nutzen.
Installation von RabbitMQ für asynchrone Aufgaben
-------------------------------------------------
Voraussetzungen
^^^^^^^^^^^^^^^
Du musst RabbitMQ auf deinem Server installiert haben.
Installation
^^^^^^^^^^^^
.. code:: bash
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc
apt-get update
apt-get install rabbitmq-server
Konfiguration und Start
^^^^^^^^^^^^^^^^^^^^^^^
.. code:: bash
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
rabbitmq-server -detached
RabbitMQ stoppen
^^^^^^^^^^^^^^^^
.. code:: bash
rabbitmqctl stop
RabbitMQ für wallabag konfigurieren
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Bearbeite deine ``app/config/parameters.yml``-Datei, um die RabbitMQ-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
.. code:: yaml
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
rabbitmq_prefetch_count: 10 # lesen http://www.rabbitmq.com/consumer-prefetch.html
RabbitMQ in wallabag aktivieren
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In den internen Einstellungen, aktiviere RabbitMQ im Import-Abschnitt mit dem Wert 1.
Starte den RabbitMQ-Consumer
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
.. code:: bash
# für den Pocket-Import
bin/console rabbitmq:consumer -e=prod import_pocket -w
# für den Readability-Import
bin/console rabbitmq:consumer -e=prod import_readability -w
# für den Instapaper-Import
bin/console rabbitmq:consumer -e=prod import_instapaper -w
# für den wallabag v1-Import
bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
# für den wallabag v2-Import
bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
# für den Firefox-Import
bin/console rabbitmq:consumer -e=prod import_firefox -w
# für den Chrome-Import
bin/console rabbitmq:consumer -e=prod import_chrome -w
Redis für asynchrone Aufgaben installieren
------------------------------------------
Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir auch Redis nutzen.
Voraussetzungen
^^^^^^^^^^^^^^^
Du musst Redis auf deinem Server installiert haben.
Installation
^^^^^^^^^^^^
.. code:: bash
apt-get install redis-server
Start
^^^^^
Der Server kann bereits nach der Installation laufen, falls nicht, kannst du ihn wie folgt starten:
.. code:: bash
redis-server
Redis für wallabag konfigurieren
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Bearbeite deine ``app/config/parameters.yml``-Datei, um die Redis-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
.. code:: yaml
redis_host: localhost
redis_port: 6379
Redis in wallabag aktivieren
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In den internen Einstellungen, aktiviere Redis im Import-Abschnitt mit dem Wert 1.
Starten des Redis-Consumer
^^^^^^^^^^^^^^^^^^^^^^^^^^
Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
.. code:: bash
# für den Pocket-Import
bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
# für den Readability-Import
bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
# für den Instapaper-Import
bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
# für den wallabag v1-Import
bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
# für den wallabag v2-Import
bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
# für den Firefox-Import
bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
# für den Chrome-Import
bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer wird nach dem zwölften Artikel aufhören:
.. code:: bash
bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12

View File

@ -1,32 +0,0 @@
Wartungsmodus
=============
Wenn du längere Aufgaben auf deiner wallabag Instanz ausführen willst, kannst du den Wartungsmodus aktivieren.
Keiner wird dann Zugang zu deiner Instanz haben.
Aktivieren des Wartungsmodus
----------------------------
Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
::
bin/console lexik:maintenance:lock --no-interaction
Du kannst deine IP Adresse in ``app/config/config.yml`` setzen, wenn du Zugriff zu wallabag haben willst, auch wenn der Wartungsmodus aktiv ist. Zum Beispiel:
::
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
Deaktivieren des Wartungsmodus
------------------------
Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
::
bin/console lexik:maintenance:unlock

View File

@ -0,0 +1,56 @@
Articles behind a paywall
=========================
wallabag can fetch articles from websites which use a paywall system.
Enable paywall authentication
-----------------------------
In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1).
Configure credentials in wallabag
---------------------------------
Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. Here is an example for some french websites:
.. code:: yaml
sites_credentials:
mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
arretsurimages.net: {username: "myASILogin", password: "mypassword"}
.. note::
These credentials will be shared between each user of your wallabag instance.
Parsing configuration files
---------------------------
.. note::
Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files.
Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
on a website where the login form is loaded after the page (by ajax for example).
``login_uri`` is the action URL of the form (``action`` attribute in the form).
``login_username_field`` is the ``name`` attribute of the login field.
``login_password_field`` is the ``name`` attribute of the password field.
For example:
.. code::
title://div[@id="titrage-contenu"]/h1[@class="title"]
body: //div[@class="contenu-html"]/div[@class="page-pane"]
requires_login: yes
login_uri: http://www.arretsurimages.net/forum/login.php
login_username_field: username
login_password_field: password
not_logged_in_xpath: //body[@class="not-logged-in"]

View File

@ -1,77 +0,0 @@
Installiere RabbitMQ für asynchrone Aufgaben
============================================
Um asynchrone Aufgaben zu starten (nützlich z.B. für große Imports), können wir RabbitMQ nutzen.
Voraussetzungen
---------------
Du musst RabbitMQ auf deinem Server installiert haben.
Installation
~~~~~~~~~~~~
.. code:: bash
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
apt-key add rabbitmq-signing-key-public.asc
apt-get update
apt-get install rabbitmq-server
Konfiguration und Starten
~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: bash
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
rabbitmq-server -detached
RabbitMQ stoppen
~~~~~~~~~~~~~~~
.. code:: bash
rabbitmqctl stop
Konfigure RabbitMQ in wallabag
------------------------------
Bearbeite die Datei ``parameters.yml``, um die RabbitMQ Konfiguration einzurichten. Die Standardkonfiguration sollte ok sein:
.. code:: yaml
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
Starte den RabbitMQ Consumer
----------------------------
Abhängig von welchem Service du importieren möchtest, solltest du einen Cron Job aktivieren (oder mehrere, wenn du viele unterstützen willst):
.. code:: bash
# for Pocket import
bin/console rabbitmq:consumer import_pocket -w
# for Readability import
bin/console rabbitmq:consumer import_readability -w
# for Instapaper import
bin/console rabbitmq:consumer import_instapaper -w
# for wallabag v1 import
bin/console rabbitmq:consumer import_wallabag_v1 -w
# for wallabag v2 import
bin/console rabbitmq:consumer import_wallabag_v2 -w
# for Firefox import
bin/console rabbitmq:consumer import_firefox -w
# for Chrome import
bin/console rabbitmq:consumer import_chrome -w

View File

@ -1,71 +0,0 @@
Installiere Redis für asynchrone Aufgaben
=========================================
Um asynchrone Aufgaben zu starten (nützlich z.B. für große Imports), können wir Redis nutzen.
Voraussetzungen
---------------
Du musst Redis auf deinem Server installiert haben.
Installation
~~~~~~~~~~~~
.. code:: bash
apt-get install redis-server
Starten
~~~~~~
Der Redis Service läuft eventuell schon direkt nach der Installation. Falls nicht kannst du ihn wie folgt starten:
.. code:: bash
redis-server
Konfigure Redis in wallabag
---------------------------
Bearbeite die Datei ``parameters.yml``, um die RabbitMQ Konfiguration einzurichten. Die Standardkonfiguration sollte ok sein:
.. code:: yaml
redis_host: localhost
redis_port: 6379
Starte den Redis Consumer
-------------------------
Abhängig von welchem Service du importieren möchtest, solltest du einen Cron Job aktivieren (oder mehrere, wenn du viele unterstützen willst):
.. code:: bash
# for Pocket import
bin/console wallabag:import:redis-worker pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
# for Readability import
bin/console wallabag:import:redis-worker readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
# for Instapaper import
bin/console wallabag:import:redis-worker instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
# for wallabag v1 import
bin/console wallabag:import:redis-worker wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
# for wallabag v2 import
bin/console wallabag:import:redis-worker wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
# for Firefox import
bin/console wallabag:import:redis-worker firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
# for Chrome import
bin/console wallabag:import:redis-worker instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log
Wenn du den Import nur für ein paar Nachrichten und nicht für alle starten willst, kannst du die Nummer (im folgenden Beispiel 12) angeben. Der Redis Worker wird dann nach der 12. Nachricht stoppen:
.. code:: bash
bin/console wallabag:import:redis-worker pocket -vv --maxIterations=12

View File

@ -0,0 +1,10 @@
Testsuite
=========
To ensure wallabag development quality, we wrote tests with `PHPUnit <https://phpunit.de>`_.
If you contribute to the project (by translating the application, by fixing bugs or by adding a new feature), please write your own tests.
To launch wallabag testsuite, you need to install `ant <http://ant.apache.org>`_.
Then, execute this command ``make test``.

View File

@ -20,7 +20,7 @@ der ISO 639-1 Code deiner Sprache ist (`siehe Wikipedia <https://en.wikipedia.or
Andere Dateien zum Übersetzen:
- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
- https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations.
- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
Du musst die ``THE_TRANSLATION_FILE.CODE.yml`` Dateien erstellen.

View File

@ -8,10 +8,6 @@ wallabag Dokumentation
**wallabag** ist eine Read-it-later Applikation: es speichert Websites,
indem es nur den Inhalt behält. Elemente wie Navigation oder Werbung werden gelöscht.
.. tip::
Diese Dokumentation ist über wallabag v2. Wenn du die Dokumentation für wallabag v1 lesen willst, `siehe dir bitte das hier an <https://github.com/wallabag/documentation>`__.
Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organisiert:
* :ref:`user-docs`
@ -28,22 +24,19 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
:maxdepth: 2
:caption: Nutzerdokumentation
user/faq
user/installation
user/upgrade-2.0.x-2.1.y
user/upgrade-2.0.x-2.0.y
user/migration
user/upgrade
user/configuration
user/import
user/create_account
user/login
user/configuration
user/first_article
user/articles
user/errors_during_fetching
user/annotations
user/download_articles
user/filters
user/tags
user/android
user/parameters
user/backup
user/faq
.. _dev-docs:
@ -53,8 +46,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
developer/api
developer/docker
developer/paywall
developer/documentation
developer/translate
developer/maintenance
developer/redis
developer/rabbitmq
developer/asynchronous

View File

@ -23,7 +23,7 @@ Bestätige nur diese Nachricht und du wirst zum Einstellungsbildschirm weitergel
:alt: Einstellungsbildschirm
:align: center
Trage deine Wallabagdaten ein. Du musst deine Wallabagadresse eintragen. Es ist wichtig, dass die URL nicht mit einem Schrägstrich endet. Füge auch deine Wallabagzugangsdaten in das Nutzer- und Passwortfeld ein.
Trage deine Wallabagdaten ein. Du musst deine Wallabagadresse eintragen. **Es ist wichtig, dass die URL nicht mit einem Schrägstrich endet.** Füge auch deine Wallabagzugangsdaten in das Nutzer- und Passwortfeld ein.
.. image:: ../../img/user/android_configuration_filled_in.de.png
:alt: Eingetragene Einstellungen
@ -76,8 +76,8 @@ Schließlich nach der ersten erfolgreichen Synchronisation, wird dir die Liste d
Bekannte Limitierungen
---------------------
2FA
~~~
Zwei-Faktor-Authentifizierung (2FA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zur Zeit unterstützt die App keine Zwei-Faktor Authentifizierung. Du solltest sie deaktivieren damit die App funktioniert.
@ -97,11 +97,6 @@ Wenn du deine Wallabaginstanz per HTTPS erreichen kannst, solltest du das so kon
Referenzen
----------
`Quellcode der Android Applikation <https://github.com/wallabag/android-app>`_
`Android Applikation auf F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
`Android Applikation auf Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
`Support Chat auf English <https://gitter.im/wallabag/wallabag>`_
- `Quellcode der Android-App <https://github.com/wallabag/android-app>`_
- `Android-App auf F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
- `Android-App auf Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_

View File

@ -1,24 +0,0 @@
Anmerkungen
===========
In jedem Artikel, den du liest, kannst du Anmerkungen hinzufügen. Es ist einfacher mit ein paar Bilder erklärt.
Wähle den Teil des Artikels aus, den du kommentieren willst und klicke auf den Bleistift:
.. image:: ../../img/user/annotations_1.png
:alt: Wähle den Text
:align: center
Schreibe deinen Kommentar:
.. image:: ../../img/user/annotations_2.png
:alt: Schreibe deinen Kommentar
:align: center
Der Text ist nun hervorgehoben und du kannst deine Anmerkung lesen, wenn du den Mauspfeil darüber fährst.
.. image:: ../../img/user/annotations_3.png
:alt: lese deine Anmerkung
:align: center
Du kannst so viele Anmerkungen erstellen wie du möchtest.

112
docs/de/user/articles.rst Normal file
View File

@ -0,0 +1,112 @@
Artikel
=======
Speichere deinen ersten Artikel
-------------------------------
Die Hauptzweck von wallabag ist es, Artikel aus dem Web zu speichern. Es gibt viele Wege, dieses Ziel zu erreichen.
Wenn du denkst, dass ein Artikel falsch angezeigt wird, kannst du `diese Dokumentation lesen <http://doc.wallabag.org/de/master/user/errors_during_fetching.html>`_.
Über ein Bookmarklet
^^^^^^^^^^^^^^^^^^^^
Auf der ``Howto``-Seite hast du einen ``Bookmarklet``-Tab. Ziehe das ``bag it!`` in die Lesezeichenleiste deines Browsers.
Nun kannst du jedes Mal, wenn du einen Artikel speichern willst, auf den ``bag it!``-Link klicken, dann ist der Artikel gespeichert.
Der klassische Weg
^^^^^^^^^^^^^^^^^^
In der oberen Leiste deines Fensters hast du auf der rechten Seite drei Symbole. Mit dem ersten Symbole, einem Plus-Zeichen, kannst du auf einfache Weise einen neuen Artikel speichern.
.. image:: ../../img/user/topbar.png
:alt: Top bar
:align: center
Klicke darauf, um ein neues Feld anzuzeigen, füge die Artikel-URL ein und drücke Enter. Dann wird der Artikel gespeichert.
Über ein Browser-Addon
^^^^^^^^^^^^^^^^^^^^^^
Firefox
"""""""
Du kannst das `Firefox-Addon hier <https://addons.mozilla.org/firefox/addon/wallabag-v2/> herunterladen`_.
Chrome
""""""
Du kannst das `Chrome-Addon hier <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr> herunterladen`_.
Über das Smartphone
^^^^^^^^^^^^^^^^^^^
Android
"""""""
Du kannst die `Android-App hier <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche> herunterladen`_.
Windows 10 in general
"""""""""""""""""""""
Du kannst die `Windows-App hier <https://www.microsoft.com/store/apps/9nblggh5x3p6> herunterladen`_.
Artikel herunterladen
---------------------
Du kannst jeden Artikel in verschiedenen Formaten herunterladen: ePUB, MOBI, PDF, XML, JSON, CSV.
Klicke in der Artikelansicht auf dieses Symbol in der Seitenleiste:
.. image:: ../../img/user/download_article.png
:alt: Artikel herunterladen
:align: center
Du kannst sogar eine ganze Kategorie (Ungelesen, Favoriten, Archiv) in diesen Formaten herunterladen:
Beispielsweise kannst du auf der **Ungelesen**-Ansicht auf dieses Symbol in der oberen Leiste klicken:
.. image:: ../../img/user/download_articles.png
:alt: Artikel herunterladen
:align: center
Artikel teilen
--------------
Wenn du einen Artikel liest, kannst du ihn auch teilen. Klicke dazu einfach auf den Teilen-Button:
.. image:: ../../img/user/share.png
:alt: Artikel teilen
:align: center
Nun kannst du den Artikel teilen:
- über eine öffentliche URL (es wird eine reduzierte Ansicht des Artikels zurückgegeben)
- über einen Tweet
- in deine Shaarli
- mit einem Beitrag auf Diaspora*
- an Carrot
- mit einer E-Mail
Artikel-Anmerkungen
-------------------
In jedem Artikel, den du liest, kannst du Anmerkungen hinzufügen. Es ist einfacher mit ein paar Bilder erklärt.
Wähle den Teil des Artikels aus, den du kommentieren willst und klicke auf den Bleistift:
.. image:: ../../img/user/annotations_1.png
:alt: Wähle den Text
:align: center
Schreibe deinen Kommentar:
.. image:: ../../img/user/annotations_2.png
:alt: Schreibe deinen Kommentar
:align: center
Der Text ist nun hervorgehoben und du kannst deine Anmerkung lesen, wenn du den Mauspfeil darüber fährst.
.. image:: ../../img/user/annotations_3.png
:alt: lese deine Anmerkung
:align: center
Du kannst so viele Anmerkungen erstellen wie du möchtest.

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