Compare commits
562 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b6a3e571b2 | |||
| fbffcdad7c | |||
| 4ec9f5c334 | |||
| 505e8acd46 | |||
| a3f7d8a870 | |||
| 2db9142bfc | |||
| f53f542fa5 | |||
| ce11952447 | |||
| d56d416d9b | |||
| 3221b2e413 | |||
| 84795d015b | |||
| a49159e9eb | |||
| b1057c6a5e | |||
| cce77ebc2d | |||
| 4b5e95c0e5 | |||
| 585fd2a4ad | |||
| 3be554c78f | |||
| 9c15470691 | |||
| be4f6bb4f3 | |||
| 22ef6f96e2 | |||
| db1d962f7b | |||
| 995d909d0f | |||
| 303b3c61a7 | |||
| 31dd328df4 | |||
| 337b47c216 | |||
| e52ee565f7 | |||
| 7d9abd1ab5 | |||
| 99692e8c33 | |||
| 038469e73f | |||
| e1632cea0e | |||
| 4b3c983ab8 | |||
| f74061f1e1 | |||
| 2087e499b4 | |||
| f6aff9a7a8 | |||
| 431d038aa7 | |||
| a0eddc598e | |||
| 90ec78f05a | |||
| 2a2ceceaa4 | |||
| a40b2b7ee4 | |||
| ca9858537e | |||
| c4b3933bae | |||
| 67b270d996 | |||
| 794ac861cb | |||
| 920d88599a | |||
| 267087d969 | |||
| bc4564a709 | |||
| 900c844861 | |||
| eca4d030bf | |||
| 37da178696 | |||
| 069d39dfaf | |||
| c4d9a8d6d0 | |||
| 9998c72533 | |||
| f3b637fbfe | |||
| a5d6a7d8b5 | |||
| 73e8df9e44 | |||
| 7a5043f187 | |||
| c68720d40e | |||
| e8eec07ae6 | |||
| c5ad143e75 | |||
| e1d4ed2d81 | |||
| d36e5e20a5 | |||
| d1b075509d | |||
| c64b4941d5 | |||
| 2ca1cc0c18 | |||
| 67aa755fb5 | |||
| f69636c4db | |||
| f7f6bfb7e9 | |||
| 89abc0b61b | |||
| 817724a7b8 | |||
| ab61dbc073 | |||
| 34aa06a9b9 | |||
| fc75009de7 | |||
| f99ddbc6f8 | |||
| 49dee2d2de | |||
| b64d8f2c9f | |||
| 2cbf0d05d4 | |||
| 645dc7594b | |||
| 818cbe1fee | |||
| 8e53bf3aa1 | |||
| f6798f69c3 | |||
| 9095497191 | |||
| 2297d60f10 | |||
| 5453500458 | |||
| 1e3d74a9cf | |||
| 576d285ddf | |||
| 166e8cc6a9 | |||
| 1cad9416c9 | |||
| b669224762 | |||
| a42cc6ff89 | |||
| 5d6cffedb1 | |||
| 99731f0bb1 | |||
| 3a3c6b866b | |||
| 7180aaed45 | |||
| f31361a6d9 | |||
| fd461c25aa | |||
| 39c3dd30d2 | |||
| 1172622a07 | |||
| d4e9ce5807 | |||
| fd54f236f4 | |||
| 545748bad1 | |||
| ef22711605 | |||
| 72ec79a5d6 | |||
| 5e469b91d9 | |||
| 692f9388cb | |||
| 3fb409ffc6 | |||
| 97512ec4bc | |||
| dda6398a40 | |||
| 5bd7acd50d | |||
| f69ab83a5a | |||
| d9a30ef301 | |||
| d32e1c424a | |||
| 05c009bb85 | |||
| 8ecfdd7f8a | |||
| 08f5a5b6bd | |||
| f48a6f3a54 | |||
| 38dc91be8e | |||
| 76f2123def | |||
| 7131f94274 | |||
| f878902e6a | |||
| 2752053f99 | |||
| 7b9b9ca7f8 | |||
| 68b8e75f94 | |||
| 8edb250caa | |||
| 311285f585 | |||
| 7880838943 | |||
| eb7d1b4b30 | |||
| bf8e088033 | |||
| 83634bab22 | |||
| 8b28151e14 | |||
| e65c27587b | |||
| a25377cb4c | |||
| 17064d3c54 | |||
| f68e351018 | |||
| 75a1506c27 | |||
| b09cafbb3f | |||
| 18470d7c6a | |||
| da8ecdfa17 | |||
| 7ffa48a11c | |||
| dbe94e73a9 | |||
| a0a4ce3135 | |||
| 9bed0ea236 | |||
| c8976118d4 | |||
| 7e72b371ba | |||
| 7dacf35845 | |||
| 36ef9e2730 | |||
| bccf7a70bc | |||
| e40bed3607 | |||
| c99d90455b | |||
| a2f42d8eaa | |||
| fa4c39b37c | |||
| c15f083896 | |||
| 0ff674a952 | |||
| 020c723e28 | |||
| 035513b025 | |||
| 3e761063e2 | |||
| ed11d7f731 | |||
| 6b1317a627 | |||
| eb54d338e8 | |||
| fb8835cc8f | |||
| 7c1ce28342 | |||
| 7c1225347d | |||
| 84e3c36e02 | |||
| edc8bc0b2f | |||
| 3175e33012 | |||
| 2a5ff7f554 | |||
| 8eeefc658c | |||
| e93c9dc4ab | |||
| d8a9209cfc | |||
| 39a19bdf47 | |||
| 02edf0707f | |||
| 4e7863c6aa | |||
| 4c79c51f99 | |||
| 47508f004f | |||
| 26490a8794 | |||
| 46aeaab8ff | |||
| 8dc4cd0f25 | |||
| d8507addbb | |||
| e084778030 | |||
| 28bb48905a | |||
| b4fcd60e7f | |||
| 4d318f3755 | |||
| e39aec3e38 | |||
| d451bcb3d0 | |||
| 90c766b96b | |||
| c5e4293efd | |||
| 5112b3556b | |||
| 5334381509 | |||
| 7c256ffabe | |||
| 7eff4736a1 | |||
| 32d103f702 | |||
| 951ad27fe4 | |||
| 93a95c09bf | |||
| 4ad6f5878a | |||
| e07c25a1ad | |||
| d9b0673dbb | |||
| af4ce9e069 | |||
| ba69216853 | |||
| dd32c89ed6 | |||
| ee32248f43 | |||
| ac8cf632bb | |||
| 3049afe190 | |||
| f271dd4b76 | |||
| aa8a58b5a0 | |||
| 6d204f5382 | |||
| f0abc22d09 | |||
| 233a1081ea | |||
| 20bf78b935 | |||
| 499ba4cb2f | |||
| aa88d2494b | |||
| 3b1bf6343d | |||
| 4e5d219663 | |||
| d5c45d5288 | |||
| fba816c43b | |||
| 5e7786f3c4 | |||
| 9cfea18a5d | |||
| e17373b659 | |||
| c8d2dcdafe | |||
| baf0ffa7df | |||
| 21d82c3c5d | |||
| bf71a734f6 | |||
| d0d196ffb3 | |||
| f0d52417fb | |||
| 74e1f7433a | |||
| 6c8806cadc | |||
| b0458874c8 | |||
| 9d127b3b93 | |||
| 0b174d69d7 | |||
| 046f33e21b | |||
| 145d69fe5d | |||
| 5d39243068 | |||
| 3c00779dc3 | |||
| 15f1352ef8 | |||
| 2fb9caeb2d | |||
| 1b1cb553be | |||
| 645c0d5bce | |||
| 837247dea4 | |||
| c36f5adce2 | |||
| 933c6f3155 | |||
| 8ebb214ec4 | |||
| 954b6a36a3 | |||
| 5958597ba6 | |||
| 57386125ab | |||
| c10adc1f76 | |||
| 6cb364a2c1 | |||
| f733d8aaa3 | |||
| 3e85e91159 | |||
| 0c7f1ba796 | |||
| 46d78f87d9 | |||
| f2ab290f0f | |||
| 9f7d154e34 | |||
| 9a6ac0b47a | |||
| 755ff9e835 | |||
| f440e28281 | |||
| ca8f9bdc15 | |||
| f0b2d57154 | |||
| 9f3a1cd20c | |||
| 10f51f429d | |||
| 96a99d4375 | |||
| f7265b4b9d | |||
| 5759c9aac1 | |||
| a494c33ef7 | |||
| b0da721a52 | |||
| a3cc0dd0bf | |||
| aafb3321b7 | |||
| b054bc27e6 | |||
| 1c634fe437 | |||
| 24add95e9e | |||
| 0113e2af1f | |||
| 88d8125a5f | |||
| 4ac780eb21 | |||
| 8fdb5e5766 | |||
| 9d3603147b | |||
| 8c3c69fb9c | |||
| 83c26bdf26 | |||
| 0f70abd695 | |||
| 7d002c333d | |||
| 12f7fd004a | |||
| ab809de184 | |||
| c30af946e7 | |||
| 553f863c3c | |||
| beee26f6d5 | |||
| a878581410 | |||
| df9c080f8c | |||
| dfbbf0e18a | |||
| 77557d289b | |||
| c3f8b428dd | |||
| 1dc3bee6b9 | |||
| c21f2924f3 | |||
| ccc7faec09 | |||
| 18b8dc0e99 | |||
| ffcd91ec6c | |||
| 92395680b6 | |||
| eb4142e0af | |||
| 03141f9b95 | |||
| 152fcccd44 | |||
| 52c1fc7449 | |||
| 6e5e27ab07 | |||
| bfb3ae01da | |||
| ae394b4078 | |||
| a4df48916d | |||
| 24ad330be6 | |||
| 3583cadf6f | |||
| d6d3fb6e4c | |||
| 1bcfeb0f4a | |||
| 0d61b6015f | |||
| 2455472e26 | |||
| 19ca0b2f35 | |||
| 7d72cce4c7 | |||
| 55551e332c | |||
| 8799bde00d | |||
| 6273fefd5d | |||
| a44d2613c7 | |||
| bf3dc999e7 | |||
| c4bf7af96f | |||
| 1264029cd4 | |||
| db5541e7a1 | |||
| 40e219622a | |||
| fb7354c4a4 | |||
| ca17abce2d | |||
| 114c55c0a6 | |||
| 00d3f2a383 | |||
| ecdefb11f7 | |||
| 56f0150e2a | |||
| 555ed552ca | |||
| 2ff9991a1d | |||
| 49f25d6ee8 | |||
| fb479be3a0 | |||
| 2d8af6fc7f | |||
| c59e628afe | |||
| 00283a3b0a | |||
| 080cb52fac | |||
| b4118f66ff | |||
| 0471e905b8 | |||
| 37b63c170d | |||
| 02384d22ef | |||
| 8f234d0156 | |||
| ff5be9720b | |||
| cb0096df41 | |||
| fc487c4eb1 | |||
| 34e4c12604 | |||
| ff1f55c2a0 | |||
| 9866d39431 | |||
| eef8aeec8f | |||
| c146f6940a | |||
| 084fb0d303 | |||
| 92fa168344 | |||
| 1ed965beb9 | |||
| a9e92b6609 | |||
| a7dda1f2bf | |||
| c7ea9b41f3 | |||
| ff1a5362f7 | |||
| 55345331c4 | |||
| 20762cd1ab | |||
| d6de23a100 | |||
| fefef9d41b | |||
| 990adfb34c | |||
| 12d93e6896 | |||
| 7e98ad9626 | |||
| 27acc6ddb8 | |||
| f0fd82d039 | |||
| bd206a84d8 | |||
| 64b1229b2d | |||
| 2c61db30b7 | |||
| 59201088b4 | |||
| f7c55b3812 | |||
| 06d13ddfbc | |||
| efe659ab84 | |||
| ae669126e7 | |||
| 289875836a | |||
| 82fc3290d4 | |||
| 401135852c | |||
| faa86e06ba | |||
| 9d7dd6b0d2 | |||
| 0e0102b6fc | |||
| 13a522dfbd | |||
| e10f3b1e91 | |||
| 637aa17e6b | |||
| 389d55f86b | |||
| 32e95760f5 | |||
| 5074e7d4fa | |||
| b6fc1f2007 | |||
| 1223c0811d | |||
| a94108f574 | |||
| 267b9d62dc | |||
| a00bed8b59 | |||
| e406a94ab6 | |||
| ce0a32229a | |||
| 8fed8d1bac | |||
| 05d2d62f12 | |||
| d7b4b2c72c | |||
| f9feca5c64 | |||
| da18a4682f | |||
| 45d94a98f7 | |||
| 59b97fae99 | |||
| fbb319f064 | |||
| ebe0787e09 | |||
| 4fc998245c | |||
| 0ed8ce55b5 | |||
| 458beef0a9 | |||
| 760419cd43 | |||
| 78d5da87fa | |||
| c6b68dc1df | |||
| e77cde4531 | |||
| 5b382b9ffb | |||
| 15b1917142 | |||
| ac87e0db2a | |||
| a622fbc444 | |||
| d4e366f6eb | |||
| 47d7c682a4 | |||
| c80cc01afa | |||
| e01a3c98d6 | |||
| d49c88f15a | |||
| 5d002e9bdf | |||
| 886d479734 | |||
| ebf5e5087d | |||
| 03e078d060 | |||
| 015c7a8359 | |||
| 7d862f83b9 | |||
| dc69e25f97 | |||
| 7230e4c39f | |||
| b3437d58ae | |||
| 7f7531171f | |||
| 13470c3596 | |||
| 8664069e1a | |||
| 6d65c0a8b0 | |||
| 3aca0a9f00 | |||
| 3849a9f323 | |||
| 02f6489572 | |||
| c98db1b653 | |||
| ef75e1220e | |||
| 87c9995b6c | |||
| 40d2a29443 | |||
| e31ee20dd7 | |||
| 56c778b415 | |||
| 59758d8fe5 | |||
| 88e88016b9 | |||
| 58fadbc9df | |||
| 04d5c60216 | |||
| 40c47f7023 | |||
| c078d18372 | |||
| 9401696fe4 | |||
| 5fc79381bb | |||
| 60faee002c | |||
| a707643ef1 | |||
| 6f23289e72 | |||
| e5b090960b | |||
| fee8f2312e | |||
| 5173fd1c3d | |||
| a1d22ea7d0 | |||
| 13d9f7c96c | |||
| 429d86f388 | |||
| c3b53188d7 | |||
| 234ad94453 | |||
| 59ddb9ae99 | |||
| 543da3e0b7 | |||
| 8f8654913c | |||
| b3f4a11a81 | |||
| 9972ab467a | |||
| b1e0a586e8 | |||
| 336262e6ee | |||
| a8d5aa1c44 | |||
| 33adf8dc91 | |||
| 8bde9d0efe | |||
| 0b0233b1ec | |||
| 3a6c252104 | |||
| be20e6f009 | |||
| bd8c13e8b0 | |||
| dc9d76b490 | |||
| 209ec7cedd | |||
| a1a1077059 | |||
| ca2a43ae7d | |||
| ca15aaac18 | |||
| 03e3753f6b | |||
| a374ac0fd3 | |||
| cdd3010b47 | |||
| 13d44ca766 | |||
| 0184e09a66 | |||
| d5d1612153 | |||
| b6520f0b15 | |||
| 8635ab1cd1 | |||
| 74d68fbf25 | |||
| add0e14cff | |||
| 52ef497099 | |||
| c4da9d1cd8 | |||
| 8e06720ff3 | |||
| aad350a5a2 | |||
| 0a512eaf57 | |||
| 9415bc992e | |||
| 60e7220406 | |||
| eddda878a0 | |||
| b1afef30dc | |||
| ad9304cd7e | |||
| a1ab7d1d32 | |||
| 8541b3c4fd | |||
| 78b3c31d70 | |||
| 3e860ff1ce | |||
| f1be7af446 | |||
| 3377c938f8 | |||
| 9a5231e8c4 | |||
| a7e2218e25 | |||
| 222e09f140 | |||
| d0545b6bd6 | |||
| f3d0cb9106 | |||
| 1bee9e0760 | |||
| f997ae6afb | |||
| 8315130a75 | |||
| ee4442f42a | |||
| 7149aa5781 | |||
| de3d716ae4 | |||
| 97e7ad4dc7 | |||
| a0e1eafc35 | |||
| 9bf83f1fb8 | |||
| 4da01f492b | |||
| e71cef0bb8 | |||
| 119914e65d | |||
| 267e8d6361 | |||
| 371bcca0f6 | |||
| 891456ba9a | |||
| 79efca1e6f | |||
| 9c545fe028 | |||
| db4d63fc1a | |||
| b10a422e1f | |||
| 8cb869ea95 | |||
| 0faeabefa7 | |||
| 2bb138ef6d | |||
| 1d4d9aaf29 | |||
| 9dbd3e9302 | |||
| 4f0558a0d4 | |||
| 28803f106b | |||
| a314b920bf | |||
| e43c78abd9 | |||
| e5fb89e5d3 | |||
| 33e2aec18b | |||
| eef833d644 | |||
| e7aed21b33 | |||
| b1c9b78203 | |||
| a15022db96 | |||
| 91826e3ca2 | |||
| 25dc07d3c9 | |||
| dafc5cf993 | |||
| 20218495a7 | |||
| 9ccb96cfe2 | |||
| f49d9ca383 | |||
| 49e2854d5c | |||
| 4eaaa27bb5 | |||
| 4e411208cc | |||
| 11493858a7 | |||
| 3247b90776 | |||
| afbe800be2 | |||
| eae86d3403 | |||
| e42b13bcff | |||
| 6334f2cac1 | |||
| f06f840c9d | |||
| af95c09c80 | |||
| 26ed851f52 | |||
| 710f8e69d7 | |||
| 496cfdc017 | |||
| 2e24d12027 | |||
| 0743287f95 | |||
| 5ecdfcd041 | |||
| 235026e2c7 | |||
| 3fad6c74fe |
@ -8,3 +8,7 @@ indent_style = space
|
||||
indent_size = 4
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.css]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
10
.eslintrc.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"extends": "airbnb-base",
|
||||
"parser": "babel-eslint",
|
||||
"env": {
|
||||
"browser": true
|
||||
},
|
||||
"rules": {
|
||||
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]
|
||||
}
|
||||
}
|
||||
2
.github/ISSUE_TEMPLATE.md
vendored
@ -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.
|
||||
|
||||
13
.gitignore
vendored
@ -21,8 +21,10 @@
|
||||
/vendor/
|
||||
|
||||
# Assets and user uploads
|
||||
/web/bundles/
|
||||
/web/uploads/
|
||||
web/uploads/
|
||||
!web/bundles
|
||||
web/bundles/*
|
||||
!web/bundles/wallabagcore
|
||||
|
||||
# Build
|
||||
/app/build
|
||||
@ -41,3 +43,10 @@ docker/data/
|
||||
|
||||
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
|
||||
composer.lock
|
||||
|
||||
# assets stuff
|
||||
node_modules/
|
||||
bin
|
||||
app/Resources/build/
|
||||
!/src/Wallabag/CoreBundle/Resources/public
|
||||
/src/Wallabag/CoreBundle/Resources/public/*
|
||||
|
||||
3
.stylelintrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "stylelint-config-standard"
|
||||
}
|
||||
51
.travis.yml
@ -1,5 +1,9 @@
|
||||
language: php
|
||||
|
||||
services:
|
||||
- rabbitmq
|
||||
- redis
|
||||
|
||||
# faster builds on docker-container setup
|
||||
sudo: false
|
||||
|
||||
@ -15,6 +19,9 @@ cache:
|
||||
directories:
|
||||
- vendor
|
||||
- $HOME/.composer/cache
|
||||
- node_modules
|
||||
- $HOME/.cache/bower
|
||||
- $HOME/.npm
|
||||
|
||||
php:
|
||||
- 5.5
|
||||
@ -23,6 +30,9 @@ php:
|
||||
- 7.1
|
||||
- nightly
|
||||
|
||||
node_js:
|
||||
- "5"
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
- DB=pgsql
|
||||
@ -31,29 +41,9 @@ env:
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
# driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
|
||||
- php: hhvm-3.12
|
||||
sudo: required
|
||||
dist: trusty
|
||||
group: edge
|
||||
env: DB=mysql
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- mysql-server-5.6
|
||||
- mysql-client-core-5.6
|
||||
- mysql-client-5.6
|
||||
services:
|
||||
- mysql
|
||||
- php: hhvm-3.12
|
||||
sudo: required
|
||||
dist: trusty
|
||||
group: edge
|
||||
env: DB=sqlite
|
||||
- php: 7.0
|
||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
|
||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
|
||||
allow_failures:
|
||||
- php: hhvm-3.12
|
||||
- php: 7.1
|
||||
- php: nightly
|
||||
|
||||
@ -67,15 +57,24 @@ 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;
|
||||
- if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
|
||||
|
||||
install:
|
||||
- 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;
|
||||
|
||||
before_install:
|
||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||
|
||||
script:
|
||||
- travis_wait composer install --no-interaction --no-progress --prefer-dist -o
|
||||
- travis_wait bash composer update --no-interaction --no-progress
|
||||
- ant prepare-$DB
|
||||
- phpunit -v
|
||||
- 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 = '' ]]; then 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 app/Resources/FOSUserBundle/translations -v ; fi;
|
||||
- if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;
|
||||
|
||||
614
CHANGELOG.md
@ -1,193 +1,457 @@
|
||||
# Changelog
|
||||
## Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
### 2.1.3 2016/11/04
|
||||
- [#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, don’t 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.0.8] - 2016-09-07
|
||||
### 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 (@mruminski)
|
||||
- [#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)
|
||||
|
||||
### Added
|
||||
### 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)
|
||||
|
||||
- [#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)
|
||||
### 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)
|
||||
|
||||
### Changed
|
||||
### 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)
|
||||
|
||||
- [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)
|
||||
### 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)
|
||||
|
||||
### Fixed
|
||||
### 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)
|
||||
|
||||
- [#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.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.7] - 2016-08-22
|
||||
### 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)
|
||||
|
||||
### Added
|
||||
### 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)
|
||||
|
||||
- [#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)
|
||||
### 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)
|
||||
|
||||
### Changed
|
||||
### 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)
|
||||
|
||||
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (Nicolas Lœuillet)
|
||||
### 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)
|
||||
|
||||
### Fixed
|
||||
### 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)
|
||||
|
||||
- [#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.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.6] - 2016-08-10
|
||||
### 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)
|
||||
|
||||
### Changed
|
||||
### 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)
|
||||
|
||||
- [#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
|
||||
### 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)
|
||||
2
Capfile
@ -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
|
||||
|
||||
3
Gemfile
@ -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'
|
||||
|
||||
@ -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
|
||||
|
||||
225
Gruntfile.js
Normal file
@ -0,0 +1,225 @@
|
||||
module.exports = function (grunt) {
|
||||
require('load-grunt-tasks')(grunt);
|
||||
|
||||
grunt.initConfig({
|
||||
appDir: 'app/Resources/static',
|
||||
buildDir: 'app/Resources/build',
|
||||
modulesDir: 'node_modules',
|
||||
releaseDir: 'web/bundles/wallabagcore',
|
||||
|
||||
postcss: {
|
||||
material: {
|
||||
options: {
|
||||
processors: [
|
||||
require('pixrem')(),
|
||||
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
||||
require('cssnano')(),
|
||||
],
|
||||
},
|
||||
src: '<%= buildDir %>/material.css',
|
||||
dest: '<%= releaseDir %>/themes/material/css/style.min.css',
|
||||
},
|
||||
baggy: {
|
||||
options: {
|
||||
processors: [
|
||||
require('pixrem')(),
|
||||
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
||||
require('cssnano')(),
|
||||
],
|
||||
},
|
||||
src: '<%= buildDir %>/baggy.css',
|
||||
dest: '<%= releaseDir %>/themes/baggy/css/style.min.css',
|
||||
},
|
||||
},
|
||||
concat: {
|
||||
options: {
|
||||
separator: ';',
|
||||
},
|
||||
cssMaterial: {
|
||||
src: [
|
||||
'node_modules/materialize-css/bin/materialize.css',
|
||||
'<%= appDir %>/themes/material/css/*.css',
|
||||
],
|
||||
dest: '<%= buildDir %>/material.css',
|
||||
},
|
||||
cssBaggy: {
|
||||
src: [
|
||||
'<%= appDir %>/themes/baggy/css/*.css',
|
||||
],
|
||||
dest: '<%= buildDir %>/baggy.css',
|
||||
},
|
||||
},
|
||||
browserify: {
|
||||
dist: {
|
||||
files: {
|
||||
'<%= buildDir %>/material.browser.js': ['<%= appDir %>/themes/material/js/init.js'],
|
||||
'<%= buildDir %>/baggy.browser.js': ['<%= appDir %>/themes/baggy/js/init.js']
|
||||
}
|
||||
},
|
||||
options: {
|
||||
sourceType: "module",
|
||||
transform: [
|
||||
["babelify", {
|
||||
presets: ["es2015"]
|
||||
}], ["browserify-shim", {
|
||||
"jquery": {
|
||||
"exports": "$"
|
||||
},
|
||||
"materialize": "materialize",
|
||||
"jquery-ui": {
|
||||
"depends": "jquery",
|
||||
"exports": null
|
||||
}
|
||||
}]
|
||||
],
|
||||
browserifyOptions: {
|
||||
browser: {
|
||||
"jQuery": "./node_modules/jquery/dist/jquery.js",
|
||||
"jquery.tinydot": "./node_modules/jquery.tinydot/src/jquery.tinydot.js",
|
||||
"jquery.ui": "./node_modules/jquery-ui-browserify/dist/jquery-ui.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
uglify: {
|
||||
material: {
|
||||
files: {
|
||||
'<%= releaseDir %>/themes/material/js/material.min.js':
|
||||
['<%= buildDir %>/material.browser.js'],
|
||||
}
|
||||
},
|
||||
baggy: {
|
||||
files: {
|
||||
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
|
||||
['<%= buildDir %>/baggy.browser.js'],
|
||||
}
|
||||
},
|
||||
},
|
||||
copy: {
|
||||
pickerjs: {
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/pickadate/lib',
|
||||
src: 'picker.js',
|
||||
dest: '<%= buildDir %>',
|
||||
},
|
||||
annotator: {
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/annotator/pkg',
|
||||
src: 'annotator.min.js',
|
||||
dest: '<%= buildDir %>/themes/_global/js/',
|
||||
},
|
||||
baggyfonts: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||
src: 'IcoMoon-Free.ttf',
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/ptsans-npm-webfont/fonts',
|
||||
src: 'ptsansbold.woff',
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
],
|
||||
},
|
||||
materialfonts: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||
src: 'IcoMoon-Free.ttf',
|
||||
dest: '<%= releaseDir %>/themes/material/fonts',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/roboto-fontface/fonts/Roboto',
|
||||
src: '*',
|
||||
dest: '<%= releaseDir %>/themes/material/font/roboto',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||
dest: '<%= releaseDir %>/themes/material/fonts/',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
symlink: {
|
||||
pics: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= appDir %>/themes/_global/',
|
||||
src: 'img',
|
||||
dest: '<%= releaseDir %>/themes/_global/',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
clean: {
|
||||
css: {
|
||||
src: ['<%= buildDir %>/**/*.css'],
|
||||
},
|
||||
js: {
|
||||
src: ['<%= buildDir %>/**/*.js', '<%= buildDir %>/**/*.map'],
|
||||
},
|
||||
all: {
|
||||
src: ['./<%= buildDir %>'],
|
||||
},
|
||||
release: {
|
||||
src: ['./<%= releaseDir %>/*'],
|
||||
}
|
||||
},
|
||||
eslint: {
|
||||
target: ['<%= appDir %>/themes/material/js/init.js', '<%= appDir %>/themes/baggy/js/init.js']
|
||||
},
|
||||
stylelint: {
|
||||
target: ['<%= appDir %>/themes/material/css/*.css', '<%= appDir %>/themes/baggy/css/*.css']
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
grunt.registerTask(
|
||||
'fonts',
|
||||
'Install fonts',
|
||||
['copy:baggyfonts', 'copy:materialfonts']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'js',
|
||||
'Build and install js files',
|
||||
['clean:js', 'copy:pickerjs', 'browserify', 'uglify']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'default',
|
||||
'Build and install everything',
|
||||
['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'copy', 'symlink']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'css',
|
||||
'Compiles the stylesheets.',
|
||||
['clean:css', 'concat:cssMaterial', 'concat:cssBaggy', 'postcss']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'tests',
|
||||
'Test css and js style conformity',
|
||||
['eslint', 'stylelint', 'default']
|
||||
)
|
||||
};
|
||||
46
Makefile
Executable file
@ -0,0 +1,46 @@
|
||||
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
|
||||
@if [ ! -d "vendor/phpunit" ]; then composer install; fi
|
||||
@ant prepare && vendor/phpunit/phpunit/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
|
||||
17
README.md
@ -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).
|
||||
|
||||

|
||||
|
||||
# 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).
|
||||
Then you can install wallabag by executing the following commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.0.8
|
||||
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
|
||||
# License
|
||||
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
This work is free. You can redistribute it and/or modify it under the
|
||||
terms of the MIT License. See the COPYING file for more details.
|
||||
|
||||
@ -1,47 +1,45 @@
|
||||
## 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
|
||||
git add --force composer.lock
|
||||
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 2.0.0-beta.1`. This pull request is used to launch builds on Travis-CI.
|
||||
- Run these commands to create the package:
|
||||
- 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:
|
||||
|
||||
```
|
||||
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
|
||||
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,
|
||||
|
||||
@ -13,7 +13,6 @@ class AppKernel extends Kernel
|
||||
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
||||
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
||||
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
|
||||
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
||||
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
||||
new FOS\RestBundle\FOSRestBundle(),
|
||||
@ -39,6 +38,7 @@ class AppKernel extends Kernel
|
||||
new Wallabag\UserBundle\WallabagUserBundle(),
|
||||
new Wallabag\ImportBundle\WallabagImportBundle(),
|
||||
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
|
||||
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
|
||||
];
|
||||
|
||||
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
||||
|
||||
51
app/DoctrineMigrations/Version20160410190541.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
class Version20160410190541 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)
|
||||
{
|
||||
if ($this->connection->getDatabasePlatform()->getName() == 'postgresql') {
|
||||
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid UUID DEFAULT NULL');
|
||||
} else {
|
||||
$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')");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
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.');
|
||||
|
||||
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" DROP uuid');
|
||||
$this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'share_public'");
|
||||
}
|
||||
}
|
||||
53
app/DoctrineMigrations/Version20160812120952.php
Normal 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;
|
||||
|
||||
class Version20160812120952 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)
|
||||
{
|
||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||
case 'sqlite':
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext DEFAULT NULL');
|
||||
break;
|
||||
case 'mysql':
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext COLLATE \'utf8_unicode_ci\' DEFAULT NULL');
|
||||
break;
|
||||
case 'postgresql':
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name text DEFAULT NULL');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
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');
|
||||
}
|
||||
}
|
||||
42
app/DoctrineMigrations/Version20160911214952.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
class Version20160911214952 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->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\')');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
}
|
||||
}
|
||||
46
app/DoctrineMigrations/Version20160916201049.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
|
||||
class Version20160916201049 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->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';");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Schema $schema
|
||||
*/
|
||||
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')");
|
||||
}
|
||||
}
|
||||
@ -8,7 +8,8 @@ export_csv: Aktiver eksport til CSV
|
||||
export_json: Aktiver eksport til JSON
|
||||
export_txt: Aktiver eksport til TXT
|
||||
export_xml: Aktiver eksport til XML
|
||||
pocket_consumer_key: Brugers nøgle til Pocket for at importere materialer (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
||||
share_diaspora: Aktiver deling til Diaspora
|
||||
share_mail: Aktiver deling med email
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -2,13 +2,14 @@ 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
|
||||
pocket_consumer_key: Consumer-Key für Pocket, um Inhalte zu importieren (https://getpocket.com/developer/docs/authentication)
|
||||
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
|
||||
@ -22,8 +23,9 @@ 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: Erlaube eine öffentliche URL für Einträge
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Enable CSV export
|
||||
export_json: Enable JSON export
|
||||
export_txt: Enable TXT export
|
||||
export_xml: Enable XML export
|
||||
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
|
||||
import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, if the service is enabled
|
||||
share_diaspora: Enable share to Diaspora
|
||||
share_mail: Enable share by email
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Activar exportación a CSV
|
||||
export_json: Activar exportación a JSON
|
||||
export_txt: Activar exportación a TXT
|
||||
export_xml: Activar exportación a XML
|
||||
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, si el servicio está activado
|
||||
share_diaspora: Activar compartir con Diaspora
|
||||
share_mail: Activar compartir con email
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: فعالسازی برونسپاری به CSV
|
||||
export_json: فعالسازی برونسپاری به JSON
|
||||
export_txt: فعالسازی برونسپاری به TXT
|
||||
export_xml: فعالسازی برونسپاری به XML
|
||||
pocket_consumer_key: کلید کاربری Pocket برای درونریزی مطالب (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: نشانی Shaarli، اگر فعال بود
|
||||
share_diaspora: فعالسازی همرسانی به Diaspora
|
||||
share_mail: فعالسازی همرسانی با ایمیل
|
||||
@ -22,3 +23,9 @@ export: "برونسپاری"
|
||||
import: "درونریزی"
|
||||
misc: "غیره"
|
||||
modify_settings: "اعمال"
|
||||
# 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Activer l'export CSV
|
||||
export_json: Activer l'export JSON
|
||||
export_txt: Activer l'export TXT
|
||||
export_xml: Activer l'export XML
|
||||
pocket_consumer_key: Clé d'authentification Pocket pour importer les données (https://getpocket.com/developer/docs/authentication)
|
||||
import_with_rabbitmq: Activer RabbitMQ pour gérer les imports de façon asynchrone
|
||||
import_with_redis: Activer Redis pour gérer les imports de façon asynchrone
|
||||
shaarli_url: URL de Shaarli, si le service Shaarli est activé
|
||||
share_diaspora: Activer le partage vers Diaspora
|
||||
share_mail: Activer le partage par email
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Abilita esportazione CSV
|
||||
export_json: Abilita esportazione JSON
|
||||
export_txt: Abilita esportazione TXT
|
||||
export_xml: Abilita esportazione XML
|
||||
pocket_consumer_key: Consumer key per Pocket per importare i contenuti (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, se il servizio è abilitato
|
||||
share_diaspora: Abilita la condivisione con Diaspora
|
||||
share_mail: Abilita la condivisione per email
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Activar l'expòrt CSV
|
||||
export_json: Activar l'expòrt JSON
|
||||
export_txt: Activar l'expòrt TXT
|
||||
export_xml: Activar l'expòrt XML
|
||||
pocket_consumer_key: Clau d'autentificacion Pocket per importar las donadas (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
|
||||
share_diaspora: Activar lo partatge cap a Diaspora
|
||||
share_mail: Activar lo partatge per corrièl
|
||||
@ -22,8 +23,9 @@ 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
|
||||
|
||||
@ -8,7 +8,8 @@ export_csv: Włącz eksport do CSV
|
||||
export_json: Włącz eksport do JSON
|
||||
export_txt: Włącz eksport do TXT
|
||||
export_xml: Włącz eksport do XML
|
||||
pocket_consumer_key: Klucz klienta Pocket do importu zawartości (https://getpocket.com/developer/docs/authentication)
|
||||
import_with_rabbitmq: Włącz RabbitMQ dla asynchronicznego importu danych
|
||||
import_with_redis: Włącz Redis dla asynchronicznego importu danych
|
||||
shaarli_url: Adress URL Shaarli, jeżeli usługa jest włączona
|
||||
share_diaspora: Włącz udostępnianie dla Diaspora
|
||||
share_mail: Włącz udostępnianie przez email
|
||||
@ -22,3 +23,9 @@ export: "eksport"
|
||||
import: "import"
|
||||
misc: "różne"
|
||||
modify_settings: "zatwierdz"
|
||||
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
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
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
|
||||
pocket_consumer_key: Chave de consumidor do Pocket para importar conteúdo (https://getpocket.com/developer/docs/authentication)
|
||||
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
|
||||
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"
|
||||
@ -8,7 +8,8 @@ export_csv: Permite exportare CSV
|
||||
export_json: Permite exportare JSON
|
||||
export_txt: Permite exportare TXT
|
||||
export_xml: Permite exportare XML
|
||||
pocket_consumer_key: Cheie consumator pentru importarea contentului din Pocket (https://getpocket.com/developer/docs/authentication)
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, dacă serviciul este permis
|
||||
share_diaspora: Permite share către Diaspora
|
||||
share_mail: Permite share prin email
|
||||
@ -22,3 +23,9 @@ export: "exportă"
|
||||
import: "importă"
|
||||
misc: "diverse"
|
||||
modify_settings: "aplică"
|
||||
# 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
|
||||
|
||||
@ -0,0 +1,31 @@
|
||||
# download_pictures: Download pictures on your server
|
||||
# carrot: Enable share to Carrot
|
||||
# diaspora_url: Diaspora URL, if the service is enabled
|
||||
# export_epub: Enable ePub export
|
||||
# export_mobi: Enable .mobi export
|
||||
# export_pdf: Enable PDF export
|
||||
# export_csv: Enable CSV export
|
||||
# export_json: Enable JSON export
|
||||
# export_txt: Enable TXT export
|
||||
# export_xml: Enable XML export
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
# shaarli_url: Shaarli URL, if the service is enabled
|
||||
# share_diaspora: Enable share to Diaspora
|
||||
# share_mail: Enable share by email
|
||||
# share_shaarli: Enable share to Shaarli
|
||||
# share_twitter: Enable share to Twitter
|
||||
# show_printlink: Display a link to print content
|
||||
# wallabag_support_url: Support URL for wallabag
|
||||
# wallabag_url: URL of *your* wallabag instance
|
||||
# entry: "article"
|
||||
# export: "export"
|
||||
# import: "import"
|
||||
# misc: "misc"
|
||||
# modify_settings: "apply"
|
||||
# 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
|
||||
@ -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>
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
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."
|
||||
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse courriel, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
Login: "Login"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Digite seu endereço de e-mail para enviarmos as instruções de recupeção de sua senha."
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 612 B After Width: | Height: | Size: 612 B |
BIN
app/Resources/static/themes/_global/img/icons/shaarli.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
6
app/Resources/static/themes/_global/js/bookmarklet.js
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
top['bookmarklet-url@wallabag.org'] =
|
||||
'<!DOCTYPE html><html><head><title>bag it!</title>' +
|
||||
'<link rel="icon" href="tpl/img/favicon.ico" />' +
|
||||
'</head><body><script>window.onload=function(){window.setTimeout' +
|
||||
'(function(){history.back();},250);};</script></body></html>';
|
||||
50
app/Resources/static/themes/_global/js/tools.js
Normal file
@ -0,0 +1,50 @@
|
||||
const $ = require('jquery');
|
||||
|
||||
function supportsLocalStorage() {
|
||||
try {
|
||||
return 'localStorage' in window && window.localStorage !== null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function savePercent(id, percent) {
|
||||
if (!supportsLocalStorage()) { return false; }
|
||||
localStorage[`wallabag.article.${id}.percent`] = percent;
|
||||
return true;
|
||||
}
|
||||
|
||||
function retrievePercent(id) {
|
||||
if (!supportsLocalStorage()) { return false; }
|
||||
|
||||
const bheight = $(document).height();
|
||||
const percent = localStorage[`wallabag.article.${id}.percent`];
|
||||
const scroll = bheight * percent;
|
||||
|
||||
$('html,body').animate({ scrollTop: scroll }, 'fast');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function initFilters() {
|
||||
// no display if filters not available
|
||||
if ($('div').is('#filters')) {
|
||||
$('#button_filters').show();
|
||||
$('.button-collapse-right').sideNav({ edge: 'right' });
|
||||
$('#clear_form_filters').on('click', () => {
|
||||
$('#filters input').val('');
|
||||
$('#filters :checked').removeAttr('checked');
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function initExport() {
|
||||
// no display if export not available
|
||||
if ($('div').is('#export')) {
|
||||
$('#button_export').show();
|
||||
$('.button-collapse-right').sideNav({ edge: 'right' });
|
||||
}
|
||||
}
|
||||
|
||||
export { savePercent, retrievePercent, initFilters, initExport };
|
||||
6
app/Resources/static/themes/baggy/css/font.css
Executable file
@ -0,0 +1,6 @@
|
||||
@font-face {
|
||||
font-family: "PT Sans";
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/ptsansbold.woff") format("woff");
|
||||
}
|
||||
19
app/Resources/static/themes/baggy/css/messages.css
Executable file
@ -0,0 +1,19 @@
|
||||
.messages.error.install {
|
||||
border: 1px solid #c42608;
|
||||
color: #c00 !important;
|
||||
background: #fff0ef;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.messages.notice.install {
|
||||
border: 1px solid #ebcd41;
|
||||
color: #000;
|
||||
background: #fffcd3;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.messages.success.install {
|
||||
border: 1px solid #6dc70c;
|
||||
background: #e0fbcc !important;
|
||||
text-align: left;
|
||||
}
|
||||
66
app/Resources/static/themes/baggy/css/print.css
Executable file
@ -0,0 +1,66 @@
|
||||
@media print {
|
||||
/* ### Layout ### */
|
||||
|
||||
body {
|
||||
font-family: Serif;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 1cm;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
/* ### Content ### */
|
||||
|
||||
/* Hide useless blocks */
|
||||
body > header,
|
||||
#article_toolbar,
|
||||
#links,
|
||||
#sort,
|
||||
body > footer,
|
||||
.top_link,
|
||||
div.tools,
|
||||
header div,
|
||||
.messages,
|
||||
.entrie + .results,
|
||||
#article .mbm a,
|
||||
#article-informations {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
article {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Add URL after links */
|
||||
.vieworiginal a::after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
/* Add explanation after abbr */
|
||||
abbr[title]::after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
/* Change border on current pager item */
|
||||
.pagination span.current {
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
#main {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-left: 0;
|
||||
padding-right: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
#article {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@ -6,8 +6,8 @@
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
@ -18,7 +18,7 @@ html {
|
||||
|
||||
body {
|
||||
font-size: 1em;
|
||||
line-height:1.5;
|
||||
line-height: 1.5;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ h6:first-child,
|
||||
p:first-child,
|
||||
ul:first-child,
|
||||
ol:first-child,
|
||||
dl:first-child{
|
||||
dl:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@ -43,14 +43,13 @@ code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, serif;
|
||||
font-family: monospace, serif;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
|
||||
.upper {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
@ -61,12 +60,14 @@ pre {
|
||||
|
||||
.inner {
|
||||
margin: 0 auto;
|
||||
max-width: 61.25em;/*980px*/
|
||||
max-width: 61.25em; /* 980px */
|
||||
}
|
||||
|
||||
table, img, figure {
|
||||
table,
|
||||
img,
|
||||
figure {
|
||||
max-width: 100%;
|
||||
height :auto;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
iframe {
|
||||
@ -93,13 +94,13 @@ button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
-webkit-appearance: textfield;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
@ -115,11 +116,17 @@ input[type="search"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.dtable { display:table }
|
||||
.dtable {
|
||||
display: table;
|
||||
}
|
||||
|
||||
.dtable > * { display:table-row; }
|
||||
.dtable > * {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.dtable > * > * { display:table-cell; }
|
||||
.dtable > * > * {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.element-invisible {
|
||||
border: 0;
|
||||
@ -133,32 +140,60 @@ input[type="search"] {
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size:0.8em;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.big {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
/*Width*/
|
||||
/* Width */
|
||||
|
||||
.w100 { width:100%; }
|
||||
.w90 { width:90%; }
|
||||
.w80 { width:80%; }
|
||||
.w70 { width:70%; }
|
||||
.w60 { width:60%; }
|
||||
.w50 { width:50%; }
|
||||
.w40 { width:40%; }
|
||||
.w30 { width:30%; }
|
||||
.w20 { width:20%; }
|
||||
.w10 { width:10%; }
|
||||
.w100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.w90 {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.w80 {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.w70 {
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
.w60 {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.w50 {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.w40 {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.w30 {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.w20 {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.w10 {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Internet Explorer
|
||||
========================================================================== */
|
||||
|
||||
/*IE8 and IE9*/
|
||||
/* IE8 and IE9 */
|
||||
|
||||
article,
|
||||
aside,
|
||||
@ -172,40 +207,20 @@ main,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*IE8 and IE9*/
|
||||
/* IE8 and IE9 */
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
video {
|
||||
display: inline-block;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0){
|
||||
select{
|
||||
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||
select {
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Medias Queries
|
||||
========================================================================== */
|
||||
|
||||
/*Desktop 1080px*/
|
||||
|
||||
@media screen and (max-width: 67.50em) {
|
||||
}
|
||||
|
||||
/*Tablet 800px*/
|
||||
|
||||
@media screen and (max-width: 50em) {
|
||||
}
|
||||
|
||||
/*Mobile 640px*/
|
||||
|
||||
@media screen and (max-width: 40em) {
|
||||
}
|
||||
|
||||
BIN
app/Resources/static/themes/baggy/font/icomoon.eot
Normal file
501
app/Resources/static/themes/baggy/font/icomoon.svg
Normal file
|
After Width: | Height: | Size: 307 KiB |
BIN
app/Resources/static/themes/baggy/font/icomoon.ttf
Normal file
BIN
app/Resources/static/themes/baggy/font/icomoon.woff
Normal file
|
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
|
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
|
Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 201 B |
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
|
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
8
app/Resources/static/themes/baggy/js/autoCompleteTags.js
Executable file
@ -0,0 +1,8 @@
|
||||
function split(val) {
|
||||
return val.split(/,\s*/);
|
||||
}
|
||||
function extractLast(term) {
|
||||
return split(term).pop();
|
||||
}
|
||||
|
||||
export { split, extractLast };
|
||||
314
app/Resources/static/themes/baggy/js/init.js
Executable file
@ -0,0 +1,314 @@
|
||||
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');
|
||||
|
||||
|
||||
$.fn.ready(() => {
|
||||
const $listmode = $('#listmode');
|
||||
const $listentries = $('#list-entries');
|
||||
|
||||
/* ==========================================================================
|
||||
Menu
|
||||
========================================================================== */
|
||||
|
||||
$('#menu').click(() => {
|
||||
$('#links').toggleClass('menu--open');
|
||||
const content = $('#content');
|
||||
if (content.hasClass('opacity03')) {
|
||||
content.removeClass('opacity03');
|
||||
}
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
List mode or Table Mode
|
||||
========================================================================== */
|
||||
|
||||
$listmode.click(() => {
|
||||
if ($.cookie('listmode') === 1) {
|
||||
// Cookie
|
||||
$.removeCookie('listmode');
|
||||
|
||||
$listentries.removeClass('listmode');
|
||||
$listmode.removeClass('tablemode');
|
||||
$listmode.addClass('listmode');
|
||||
} else {
|
||||
// Cookie
|
||||
$.cookie('listmode', 1, { expires: 365 });
|
||||
|
||||
$listentries.addClass('listmode');
|
||||
$listmode.removeClass('listmode');
|
||||
$listmode.addClass('tablemode');
|
||||
}
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
Cookie listmode
|
||||
========================================================================== */
|
||||
|
||||
if ($.cookie('listmode') === 1) {
|
||||
$listentries.addClass('listmode');
|
||||
$listmode.removeClass('listmode');
|
||||
$listmode.addClass('tablemode');
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Add tag panel
|
||||
========================================================================== */
|
||||
|
||||
|
||||
$('#nav-btn-add-tag').on('click', () => {
|
||||
$('.nav-panel-add-tag').toggle(100);
|
||||
$('.nav-panel-menu').addClass('hidden');
|
||||
$('#tag_label').focus();
|
||||
return false;
|
||||
});
|
||||
|
||||
/**
|
||||
* Filters & Export
|
||||
*/
|
||||
// no display if filters not available
|
||||
if ($('div').is('#filters')) {
|
||||
$('#button_filters').show();
|
||||
$('#clear_form_filters').on('click', () => {
|
||||
$('#filters input').val('');
|
||||
$('#filters :checked').removeAttr('checked');
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Annotations & Remember position
|
||||
========================================================================== */
|
||||
|
||||
if ($('article').length) {
|
||||
const app = new annotator.App();
|
||||
|
||||
app.include(annotator.ui.main, {
|
||||
element: document.querySelector('article'),
|
||||
});
|
||||
|
||||
const x = JSON.parse($('#annotationroutes').html());
|
||||
app.include(annotator.storage.http, x);
|
||||
|
||||
app.start().then(() => {
|
||||
app.annotations.load({ entry: x.entryId });
|
||||
});
|
||||
|
||||
$(window).scroll(() => {
|
||||
const scrollTop = $(window).scrollTop();
|
||||
const docHeight = $(document).height();
|
||||
const scrollPercent = (scrollTop) / (docHeight);
|
||||
const scrollPercentRounded = Math.round(scrollPercent * 100) / 100;
|
||||
savePercent(x.entryId, scrollPercentRounded);
|
||||
});
|
||||
|
||||
retrievePercent(x.entryId);
|
||||
|
||||
$(window).resize(() => {
|
||||
retrievePercent(x.entryId);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Close window after adding entry if popup
|
||||
*/
|
||||
const currentUrl = window.location.href;
|
||||
if (currentUrl.match('&closewin=true')) {
|
||||
window.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tags autocomplete
|
||||
*/
|
||||
/**
|
||||
* Not working on v2
|
||||
*
|
||||
|
||||
$('#value').bind('keydown', (event) => {
|
||||
if (event.keyCode === $.ui.keyCode.TAB && $(this).data('ui-autocomplete').menu.active) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}).autocomplete({
|
||||
source: function source(request, response) {
|
||||
$.getJSON('./?view=tags', {
|
||||
term: extractLast(request.term),
|
||||
//id: $(':hidden#entry_id').val()
|
||||
}, response);
|
||||
},
|
||||
search: function search() {
|
||||
// custom minLength
|
||||
const term = extractLast(this.value);
|
||||
return term.length >= 1;
|
||||
},
|
||||
focus: function focus() {
|
||||
// prevent value inserted on focus
|
||||
return false;
|
||||
},
|
||||
select: function select(event, ui) {
|
||||
const terms = split(this.value);
|
||||
// remove the current input
|
||||
terms.pop();
|
||||
// add the selected item
|
||||
terms.push(ui.item.value);
|
||||
// add placeholder to get the comma-and-space at the end
|
||||
terms.push('');
|
||||
this.value = terms.join(', ');
|
||||
return false;
|
||||
},
|
||||
});
|
||||
*/
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Close the message box when the user clicks the close icon
|
||||
//---------------------------------------------------------------------------
|
||||
$('a.closeMessage').on('click', () => {
|
||||
$(this).parents('div.messages').slideUp(300, () => { $(this).remove(); });
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#search-form').hide();
|
||||
$('#bagit-form').hide();
|
||||
$('#filters').hide();
|
||||
$('#download-form').hide();
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Toggle the 'Search' popup in the sidebar
|
||||
//---------------------------------------------------------------------------
|
||||
function toggleSearch() {
|
||||
$('#search-form').toggle();
|
||||
$('#search').toggleClass('current');
|
||||
$('#search').toggleClass('active-current');
|
||||
$('#search-arrow').toggleClass('arrow-down');
|
||||
if ($('#search').hasClass('current')) {
|
||||
$('#content').addClass('opacity03');
|
||||
} else {
|
||||
$('#content').removeClass('opacity03');
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Toggle the 'Filter' popup on entries list
|
||||
//---------------------------------------------------------------------------
|
||||
function toggleFilter() {
|
||||
$('#filters').toggle();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Toggle the 'Download' popup on entries list
|
||||
//---------------------------------------------------------------------------
|
||||
function toggleDownload() {
|
||||
$('#download-form').toggle();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Toggle the 'Save a Link' popup in the sidebar
|
||||
//---------------------------------------------------------------------------
|
||||
function toggleBagit() {
|
||||
$('#bagit-form').toggle();
|
||||
$('#bagit').toggleClass('current');
|
||||
$('#bagit').toggleClass('active-current');
|
||||
$('#bagit-arrow').toggleClass('arrow-down');
|
||||
if ($('#bagit').hasClass('current')) {
|
||||
$('#content').addClass('opacity03');
|
||||
} else {
|
||||
$('#content').removeClass('opacity03');
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Close all #links popups in the sidebar
|
||||
//---------------------------------------------------------------------------
|
||||
function closePopups() {
|
||||
$('#links .messages').hide();
|
||||
$('#links > li > a').removeClass('active-current');
|
||||
$('#links > li > a').removeClass('current');
|
||||
$('[id$=-arrow]').removeClass('arrow-down');
|
||||
$('#content').removeClass('opacity03');
|
||||
}
|
||||
|
||||
$('#search').click(() => {
|
||||
closePopups();
|
||||
toggleSearch();
|
||||
$('#searchfield').focus();
|
||||
});
|
||||
|
||||
$('.filter-btn').click(() => {
|
||||
closePopups();
|
||||
toggleFilter();
|
||||
});
|
||||
|
||||
$('.download-btn').click(() => {
|
||||
closePopups();
|
||||
toggleDownload();
|
||||
});
|
||||
|
||||
$('#bagit').click(() => {
|
||||
closePopups();
|
||||
toggleBagit();
|
||||
$('#plainurl').focus();
|
||||
});
|
||||
|
||||
$('#search-form-close').click(() => {
|
||||
toggleSearch();
|
||||
});
|
||||
|
||||
$('#filter-form-close').click(() => {
|
||||
toggleFilter();
|
||||
});
|
||||
|
||||
$('#download-form-close').click(() => {
|
||||
toggleDownload();
|
||||
});
|
||||
|
||||
$('#bagit-form-close').click(() => {
|
||||
toggleBagit();
|
||||
});
|
||||
|
||||
const $bagitFormForm = $('#bagit-form-form');
|
||||
|
||||
/* ==========================================================================
|
||||
bag it link and close button
|
||||
========================================================================== */
|
||||
|
||||
// send 'bag it link' form request via ajax
|
||||
$bagitFormForm.submit((event) => {
|
||||
$('body').css('cursor', 'wait');
|
||||
$('#add-link-result').empty();
|
||||
|
||||
$.ajax({
|
||||
type: $bagitFormForm.attr('method'),
|
||||
url: $bagitFormForm.attr('action'),
|
||||
data: $bagitFormForm.serialize(),
|
||||
success: function success() {
|
||||
$('#add-link-result').html('Done!');
|
||||
$('#plainurl').val('');
|
||||
$('#plainurl').blur('');
|
||||
$('body').css('cursor', 'auto');
|
||||
},
|
||||
error: function error() {
|
||||
$('#add-link-result').html('Failed!');
|
||||
$('body').css('cursor', 'auto');
|
||||
},
|
||||
});
|
||||
|
||||
event.preventDefault();
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
Process all links inside an article
|
||||
========================================================================== */
|
||||
|
||||
$('article a[href^="http"]').after(
|
||||
() => `<a href="${$(this).attr('href')}" class="add-to-wallabag-link-after" ` +
|
||||
'alt="add to wallabag" title="add to wallabag"></a>'
|
||||
);
|
||||
|
||||
$('.add-to-wallabag-link-after').click((event) => {
|
||||
toggleSaveLinkForm($(this).attr('href'), event);
|
||||
event.preventDefault();
|
||||
});
|
||||
});
|
||||
35
app/Resources/static/themes/baggy/js/uiTools.js
Normal file
@ -0,0 +1,35 @@
|
||||
const $ = require('jquery');
|
||||
|
||||
function toggleSaveLinkForm(url, event) {
|
||||
$('#add-link-result').empty();
|
||||
|
||||
const $bagit = $('#bagit');
|
||||
const $bagitForm = $('#bagit-form');
|
||||
|
||||
$bagit.toggleClass('active-current');
|
||||
|
||||
// only if bag-it link is not presented on page
|
||||
if ($bagit.length === 0) {
|
||||
if (event !== 'undefined' && event) {
|
||||
$bagitForm.css({ position: 'absolute', top: event.pageY, left: event.pageX - 200 });
|
||||
} else {
|
||||
$bagitForm.css({ position: 'relative', top: 'auto', left: 'auto' });
|
||||
}
|
||||
}
|
||||
|
||||
const searchForm = $('#search-form');
|
||||
const plainUrl = $('#plainurl');
|
||||
if (searchForm.length !== 0) {
|
||||
$('#search').removeClass('current');
|
||||
$('#search-arrow').removeClass('arrow-down');
|
||||
searchForm.hide();
|
||||
}
|
||||
$bagitForm.toggle();
|
||||
$('#content').toggleClass('opacity03');
|
||||
if (url !== 'undefined' && url) {
|
||||
plainUrl.val(url);
|
||||
}
|
||||
plainUrl.focus();
|
||||
}
|
||||
|
||||
export { toggleSaveLinkForm };
|
||||
872
app/Resources/static/themes/material/css/main.css
Executable file
@ -0,0 +1,872 @@
|
||||
/* ==========================================================================
|
||||
Sommaire
|
||||
|
||||
0 = Common
|
||||
1 = Nav
|
||||
2 = Side-nav
|
||||
3 = Filters slider
|
||||
4 = Cards
|
||||
5 = Article
|
||||
6 = Media queries
|
||||
7 = Font
|
||||
8 = Others
|
||||
|
||||
========================================================================== */
|
||||
|
||||
/* ==========================================================================
|
||||
0 = Common
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
*
|
||||
* Material icons
|
||||
*
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Material Icons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../fonts/MaterialIcons-Regular.eot);
|
||||
|
||||
/* For IE6-8 */
|
||||
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../fonts/MaterialIcons-Regular.woff2) format("woff2"), url(../fonts/MaterialIcons-Regular.woff) format("woff"), url(../fonts/MaterialIcons-Regular.ttf) format("truetype");
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: 'Material Icons';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px; /* Preferred icon size */
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Support for IE. */
|
||||
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;
|
||||
speak: none;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
background-size: 24px;
|
||||
|
||||
/* Enable Ligatures ================ */
|
||||
letter-spacing: 0;
|
||||
-webkit-font-feature-settings: "liga";
|
||||
-moz-font-feature-settings: "liga=1";
|
||||
-moz-font-feature-settings: "liga";
|
||||
-ms-font-feature-settings: "liga" 1;
|
||||
-o-font-feature-settings: "liga";
|
||||
font-feature-settings: "liga";
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-image {
|
||||
background-size: 16px;
|
||||
background-repeat: no-repeat;
|
||||
padding-right: 1em !important;
|
||||
padding-left: 1em !important;
|
||||
}
|
||||
|
||||
.icon-eye::before {
|
||||
content: "\e9ce";
|
||||
}
|
||||
|
||||
.icon-no-eye::before {
|
||||
content: "\e9d1";
|
||||
}
|
||||
|
||||
.icon-calendar::before {
|
||||
content: "\e953";
|
||||
}
|
||||
|
||||
.icon-mail::before {
|
||||
content: "\ea86";
|
||||
}
|
||||
|
||||
.icon-time::before {
|
||||
content: "\e952";
|
||||
}
|
||||
|
||||
/* Carrot (http://carrot.org) */
|
||||
.icon-image--carrot {
|
||||
background-image: url("../../_global/img/icons/carrot-icon--black.png");
|
||||
}
|
||||
|
||||
/* Diaspora */
|
||||
.icon-image--diaspora {
|
||||
background-image: url("../../_global/img/icons/diaspora-icon--black.png");
|
||||
}
|
||||
|
||||
/* Shaarli */
|
||||
.icon-image--shaarli {
|
||||
background-image: url("../../_global/img/icons/shaarli.png");
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
flex-direction: column;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
body.login main {
|
||||
padding: 0;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.border-bottom {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
nav,
|
||||
main,
|
||||
footer {
|
||||
padding-left: 240px;
|
||||
}
|
||||
|
||||
main,
|
||||
#content,
|
||||
.valign-wrapper {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#main {
|
||||
flex: 1 0 auto;
|
||||
}
|
||||
|
||||
.results {
|
||||
height: 1em;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.results .nb-results,
|
||||
.results .pagination {
|
||||
margin: 15px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.pagination ul {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.pagination li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
padding: 0 10px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.pagination .disabled {
|
||||
margin-right: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
div.pagination ul .prev.disabled,
|
||||
div.pagination ul .next.disabled {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pagination li.active span {
|
||||
padding: 0 10px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.page-footer .footer-copyright {
|
||||
min-width: 50px;
|
||||
height: auto !important;
|
||||
line-height: 1em !important;
|
||||
}
|
||||
|
||||
.page-footer .footer-copyright p {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.picker__date-display {
|
||||
display: none;
|
||||
}
|
||||
|
||||
footer.page-footer {
|
||||
margin-top: 10px;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
footer .row {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
1 = Nav
|
||||
========================================================================== */
|
||||
|
||||
nav input {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.nav-wrapper .button-collapse {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.nav-input {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-panels {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.nav-panel-buttom li {
|
||||
max-height: 64px;
|
||||
}
|
||||
|
||||
.nav-panels {
|
||||
transition: background 0.2s ease;
|
||||
}
|
||||
|
||||
.nav-panel-add .add,
|
||||
.nav-panel-search .search,
|
||||
.nav-panels .close {
|
||||
color: #444 !important;
|
||||
}
|
||||
|
||||
.nav-panels .action {
|
||||
padding-left: 0.75rem;
|
||||
font-size: 2.1rem;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.nav-panels .input-field input {
|
||||
display: block;
|
||||
line-height: inherit;
|
||||
padding-left: 4rem !important;
|
||||
width: calc(100% - 8rem);
|
||||
}
|
||||
|
||||
.nav-panels .input-field input:focus {
|
||||
background-color: #fff;
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.input-field.nav-panel-add label {
|
||||
left: 1rem;
|
||||
}
|
||||
|
||||
.input-field.nav-panel-add .close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 1rem;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
font-size: 2rem;
|
||||
transition: 0.3s color;
|
||||
}
|
||||
|
||||
#button_filters {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#button_export {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.input-field.nav-panel-add,
|
||||
.input-field.nav-panel-add form {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
2 = Side-nav
|
||||
========================================================================== */
|
||||
|
||||
.side-nav.fixed a {
|
||||
font-size: 13px;
|
||||
line-height: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
|
||||
.side-nav .collapsible-header,
|
||||
.side-nav.fixed .collapsible-header {
|
||||
height: 45px;
|
||||
line-height: 44px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.bold > a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.side-nav > li.logo {
|
||||
line-height: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#main .logo a {
|
||||
height: 100pt;
|
||||
}
|
||||
|
||||
#main .logo img {
|
||||
height: 100pt;
|
||||
width: 100pt;
|
||||
}
|
||||
|
||||
#main .logo:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.side-nav li {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.side-nav a {
|
||||
margin: 0 1rem;
|
||||
}
|
||||
|
||||
span.numberItems {
|
||||
float: right;
|
||||
}
|
||||
|
||||
nav ul a:hover {
|
||||
background-color: initial;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
* 3 = Filters slider
|
||||
* ========================================================================== */
|
||||
|
||||
#filters button {
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.side-nav.fixed.right-aligned {
|
||||
right: -250px;
|
||||
left: auto !important;
|
||||
overflow-y: visible;
|
||||
}
|
||||
|
||||
#filters div.with-checkbox {
|
||||
height: 3rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
4 = Cards
|
||||
========================================================================== */
|
||||
|
||||
main #content {
|
||||
padding: 0 0.5rem;
|
||||
}
|
||||
|
||||
main ul.row {
|
||||
padding: 0 0.75rem;
|
||||
}
|
||||
|
||||
.data .card .card-body {
|
||||
height: 19em;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.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,
|
||||
.card .card-reveal i.right {
|
||||
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;
|
||||
z-index: 90;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.card .card-entry-labels li,
|
||||
.card-tag-labels li {
|
||||
margin: 10px 10px 10px auto;
|
||||
padding: 5px 12px 5px 16px !important;
|
||||
background-color: rgba(0, 151, 167, 0.85);
|
||||
border-radius: 0 3px 3px 0;
|
||||
color: #fff;
|
||||
cursor: default;
|
||||
max-height: 2em;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.card .card-entry-labels-hidden {
|
||||
margin: 2.5px auto;
|
||||
}
|
||||
|
||||
.card .card-entry-labels-hidden li {
|
||||
display: inline-block;
|
||||
background-color: rgba(0, 151, 167, 0.85);
|
||||
margin: 0 5px;
|
||||
padding: 5px 12px;
|
||||
border-radius: 3px;
|
||||
color: #fff;
|
||||
max-height: 2em;
|
||||
max-width: calc(100% - 15px);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.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 {
|
||||
padding: 10px 5px 10px 15px;
|
||||
}
|
||||
|
||||
.card .card-action ul.links {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.card .card-action a {
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.card .card-action a:hover {
|
||||
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;
|
||||
}
|
||||
|
||||
.settings .div_tabs {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.card.sw {
|
||||
max-width: 370px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.card .card-image {
|
||||
height: 10em;
|
||||
}
|
||||
|
||||
.card .card-image .preview {
|
||||
height: 14em;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50%;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
5 = Article
|
||||
========================================================================== */
|
||||
|
||||
#article {
|
||||
font-size: 20px;
|
||||
margin: 0 auto;
|
||||
max-width: 40em;
|
||||
}
|
||||
|
||||
#article img,
|
||||
#article figure {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#article > header > h1 {
|
||||
font-size: 2em;
|
||||
margin: 2.1rem 0 0.68rem;
|
||||
}
|
||||
|
||||
.reader-mode {
|
||||
width: 95px !important;
|
||||
transition: width 0.2s ease;
|
||||
}
|
||||
|
||||
.reader-mode:hover {
|
||||
width: 240px !important;
|
||||
}
|
||||
|
||||
.reader-mode .collapsible-body {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.reader-mode:hover .collapsible-body {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.reader-mode span {
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
|
||||
.reader-mode:hover span {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.progress {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 3px;
|
||||
margin: 0;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
#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;
|
||||
margin: auto 10px;
|
||||
}
|
||||
|
||||
#article aside .tools a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#article aside #list {
|
||||
float: right;
|
||||
margin: 0 15px 10px;
|
||||
}
|
||||
|
||||
#article aside .chip {
|
||||
background-color: rgba(0, 151, 167, 0.85);
|
||||
padding: 0 15px 0 10px;
|
||||
margin: auto 2px;
|
||||
}
|
||||
|
||||
#article aside .chip a,
|
||||
#article aside .chip i {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
6 = Media queries
|
||||
========================================================================== */
|
||||
|
||||
@media only screen and (max-width: 992px) {
|
||||
header,
|
||||
main,
|
||||
footer {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
nav,
|
||||
main,
|
||||
footer {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
.reader-mode span {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.tabs {
|
||||
display: inline-block;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.tab {
|
||||
min-width: 100%;
|
||||
}
|
||||
|
||||
.indicator {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.pagination li.prev,
|
||||
.pagination li.next {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 400px) {
|
||||
.nav-panel-buttom {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
.row .col.l2 {
|
||||
width: 33.33333%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l3 {
|
||||
width: 41.66667%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l4 {
|
||||
width: 50%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l5 {
|
||||
width: 58.33333%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l6 {
|
||||
width: 66.66667%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l7 {
|
||||
width: 75%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l8 {
|
||||
width: 83.33333%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l9 {
|
||||
width: 91.66667%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.row .col.l10 {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 350px) {
|
||||
.nb-results {
|
||||
display: none;
|
||||
}
|
||||
|
||||
main ul.row {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.row .col {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
7 = Font
|
||||
========================================================================== */
|
||||
|
||||
.icon-google-plus2::before {
|
||||
content: "\ea89";
|
||||
}
|
||||
|
||||
.icon-facebook2::before {
|
||||
content: "\ea8d";
|
||||
}
|
||||
|
||||
.icon-twitter::before {
|
||||
content: "\ea96";
|
||||
}
|
||||
|
||||
.icon-apple::before {
|
||||
content: "\eabf";
|
||||
}
|
||||
|
||||
.icon-android::before {
|
||||
content: "\eac1";
|
||||
}
|
||||
|
||||
.icon-chrome::before {
|
||||
content: "\eae5";
|
||||
}
|
||||
|
||||
.icon-firefox::before {
|
||||
content: "\eae6";
|
||||
}
|
||||
|
||||
.icon-link::before {
|
||||
content: "\e9cb";
|
||||
}
|
||||
|
||||
footer [class^="icon-"],
|
||||
footer [class*=" icon-"] {
|
||||
font-size: 2em;
|
||||
transition: text-shadow 0.2s ease;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
footer [class^="icon-"]:hover,
|
||||
footer [class*=" icon-"]:hover {
|
||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
8 = Others
|
||||
========================================================================== */
|
||||
|
||||
/* force height on non-input field in the settings page */
|
||||
div.settings div.input-field div,
|
||||
div.settings div.input-field ul {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
/* but avoid to kill all file input */
|
||||
div.settings div.file-field div {
|
||||
margin-top: inherit;
|
||||
}
|
||||
|
||||
.input-field label.active {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
nav .input-field input {
|
||||
margin: 0;
|
||||
}
|
||||
77
app/Resources/static/themes/material/css/print.css
Executable file
@ -0,0 +1,77 @@
|
||||
@media print {
|
||||
/* ### Layout ### */
|
||||
|
||||
body {
|
||||
font-family: Serif;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 1cm;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
/* ### Content ### */
|
||||
|
||||
/* Hide useless blocks */
|
||||
body > header,
|
||||
#article_toolbar,
|
||||
#links,
|
||||
#sort,
|
||||
body > footer,
|
||||
.top_link,
|
||||
div.tools,
|
||||
header div,
|
||||
.messages,
|
||||
.entry + .results,
|
||||
#slide-out,
|
||||
.progress,
|
||||
.hide-on-large-only,
|
||||
#article > aside,
|
||||
#article .mbm a {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
main {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
#article {
|
||||
margin: inherit !important;
|
||||
}
|
||||
|
||||
article {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Add URL after links */
|
||||
.vieworiginal a::after {
|
||||
content: " (" attr(href) ")";
|
||||
}
|
||||
|
||||
/* Add explanation after abbr */
|
||||
abbr[title]::after {
|
||||
content: " (" attr(title) ")";
|
||||
}
|
||||
|
||||
/* Change border on current pager item */
|
||||
.pagination span.current {
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
#main {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-left: 0;
|
||||
padding-right: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
#article {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
99
app/Resources/static/themes/material/js/init.js
Executable file
@ -0,0 +1,99 @@
|
||||
import { savePercent, retrievePercent, initFilters, initExport } from '../../_global/js/tools';
|
||||
|
||||
const $ = require('jquery');
|
||||
|
||||
global.jQuery = $;
|
||||
require('materialize'); // eslint-disable-line
|
||||
const annotator = require('annotator');
|
||||
|
||||
$(document).ready(() => {
|
||||
// sideNav
|
||||
$('.button-collapse').sideNav();
|
||||
$('select').material_select();
|
||||
$('.collapsible').collapsible({
|
||||
accordion: false,
|
||||
});
|
||||
$('.datepicker').pickadate({
|
||||
selectMonths: true,
|
||||
selectYears: 15,
|
||||
formatSubmit: 'dd/mm/yyyy',
|
||||
hiddenName: true,
|
||||
format: 'dd/mm/yyyy',
|
||||
});
|
||||
initFilters();
|
||||
initExport();
|
||||
|
||||
$('#nav-btn-add-tag').on('click', () => {
|
||||
$('.nav-panel-add-tag').toggle(100);
|
||||
$('.nav-panel-menu').addClass('hidden');
|
||||
$('#tag_label').focus();
|
||||
return false;
|
||||
});
|
||||
$('#nav-btn-add').on('click', () => {
|
||||
$('.nav-panel-buttom').hide(100);
|
||||
$('.nav-panel-add').show(100);
|
||||
$('.nav-panels .action').hide(100);
|
||||
$('.nav-panel-menu').addClass('hidden');
|
||||
$('.nav-panels').css('background', 'white');
|
||||
$('#entry_url').focus();
|
||||
return false;
|
||||
});
|
||||
$('#nav-btn-search').on('click', () => {
|
||||
$('.nav-panel-buttom').hide(100);
|
||||
$('.nav-panel-search').show(100);
|
||||
$('.nav-panels .action').hide(100);
|
||||
$('.nav-panel-menu').addClass('hidden');
|
||||
$('.nav-panels').css('background', 'white');
|
||||
$('#searchfield').focus();
|
||||
return false;
|
||||
});
|
||||
$('.close').on('click', () => {
|
||||
$('.nav-panel-add').hide(100);
|
||||
$('.nav-panel-search').hide(100);
|
||||
$('.nav-panel-buttom').show(100);
|
||||
$('.nav-panels .action').show(100);
|
||||
$('.nav-panel-menu').removeClass('hidden');
|
||||
$('.nav-panels').css('background', 'transparent');
|
||||
return false;
|
||||
});
|
||||
$(window).scroll(() => {
|
||||
const s = $(window).scrollTop();
|
||||
const d = $(document).height();
|
||||
const c = $(window).height();
|
||||
const scrollPercent = (s / (d - c)) * 100;
|
||||
$('.progress .determinate').css('width', `${scrollPercent}%`);
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
Annotations & Remember position
|
||||
========================================================================== */
|
||||
|
||||
if ($('article').length) {
|
||||
const app = new annotator.App();
|
||||
const x = JSON.parse($('#annotationroutes').html());
|
||||
|
||||
app.include(annotator.ui.main, {
|
||||
element: document.querySelector('article'),
|
||||
});
|
||||
|
||||
app.include(annotator.storage.http, x);
|
||||
|
||||
app.start().then(() => {
|
||||
app.annotations.load({ entry: x.entryId });
|
||||
});
|
||||
|
||||
$(window).scroll(() => {
|
||||
const scrollTop = $(window).scrollTop();
|
||||
const docHeight = $(document).height();
|
||||
const scrollPercent = (scrollTop) / (docHeight);
|
||||
const scrollPercentRounded = Math.round(scrollPercent * 100) / 100;
|
||||
savePercent(x.entryId, scrollPercentRounded);
|
||||
});
|
||||
|
||||
retrievePercent(x.entryId);
|
||||
|
||||
$(window).resize(() => {
|
||||
retrievePercent(x.entryId);
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -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'
|
||||
|
||||
@ -30,7 +30,7 @@ framework:
|
||||
assets: ~
|
||||
|
||||
wallabag_core:
|
||||
version: 2.0.8
|
||||
version: 2.1.3
|
||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||
languages:
|
||||
en: 'English'
|
||||
@ -44,14 +44,21 @@ 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
|
||||
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%"
|
||||
|
||||
wallabag_import:
|
||||
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
|
||||
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain', 'text/csv']
|
||||
resource_dir: "%kernel.root_dir%/../web/uploads/import"
|
||||
|
||||
# Twig Configuration
|
||||
@ -60,19 +67,7 @@ twig:
|
||||
strict_variables: "%kernel.debug%"
|
||||
form_themes:
|
||||
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
|
||||
|
||||
# Assetic Configuration
|
||||
assetic:
|
||||
debug: "%kernel.debug%"
|
||||
use_controller: false
|
||||
bundles: [ ]
|
||||
#java: /usr/bin/java
|
||||
filters:
|
||||
cssrewrite: ~
|
||||
#closure:
|
||||
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
|
||||
#yui_css:
|
||||
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
|
||||
exception_controller: wallabag_core.exception_controller:showAction
|
||||
|
||||
# Doctrine Configuration
|
||||
doctrine:
|
||||
@ -85,6 +80,7 @@ doctrine:
|
||||
password: "%database_password%"
|
||||
charset: UTF8
|
||||
path: "%database_path%"
|
||||
unix_socket: "%database_socket%"
|
||||
server_version: 5.6
|
||||
|
||||
orm:
|
||||
@ -224,3 +220,106 @@ lexik_maintenance:
|
||||
response:
|
||||
code: 503
|
||||
status: "wallabag Service Temporarily Unavailable"
|
||||
|
||||
old_sound_rabbit_mq:
|
||||
connections:
|
||||
default:
|
||||
host: "%rabbitmq_host%"
|
||||
port: "%rabbitmq_port%"
|
||||
user: "%rabbitmq_user%"
|
||||
password: "%rabbitmq_password%"
|
||||
vhost: /
|
||||
lazy: true
|
||||
producers:
|
||||
import_pocket:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.pocket'
|
||||
type: topic
|
||||
import_readability:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.readability'
|
||||
type: topic
|
||||
import_instapaper:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.instapaper'
|
||||
type: topic
|
||||
import_wallabag_v1:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.wallabag_v1'
|
||||
type: topic
|
||||
import_wallabag_v2:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.wallabag_v2'
|
||||
type: topic
|
||||
import_firefox:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.firefox'
|
||||
type: topic
|
||||
import_chrome:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.chrome'
|
||||
type: topic
|
||||
consumers:
|
||||
import_pocket:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.pocket'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.pocket'
|
||||
callback: wallabag_import.consumer.amqp.pocket
|
||||
import_readability:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.readability'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.readability'
|
||||
callback: wallabag_import.consumer.amqp.readability
|
||||
import_instapaper:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.instapaper'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.instapaper'
|
||||
callback: wallabag_import.consumer.amqp.instapaper
|
||||
import_wallabag_v1:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.wallabag_v1'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.wallabag_v1'
|
||||
callback: wallabag_import.consumer.amqp.wallabag_v1
|
||||
import_wallabag_v2:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.wallabag_v2'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.wallabag_v2'
|
||||
callback: wallabag_import.consumer.amqp.wallabag_v2
|
||||
import_firefox:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.firefox'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.firefox'
|
||||
callback: wallabag_import.consumer.amqp.firefox
|
||||
import_chrome:
|
||||
connection: default
|
||||
exchange_options:
|
||||
name: 'wallabag.import.chrome'
|
||||
type: topic
|
||||
queue_options:
|
||||
name: 'wallabag.import.chrome'
|
||||
callback: wallabag_import.consumer.amqp.chrome
|
||||
|
||||
@ -35,11 +35,16 @@ monolog:
|
||||
VERBOSITY_DEBUG: DEBUG
|
||||
channels: [doctrine]
|
||||
|
||||
assetic:
|
||||
use_controller: true
|
||||
|
||||
swiftmailer:
|
||||
# see http://mailcatcher.me/
|
||||
transport: smtp
|
||||
host: 'localhost'
|
||||
port: 1025
|
||||
|
||||
# If you want to use cache for queries used in WallabagExtension
|
||||
# Uncomment the following lines
|
||||
#doctrine:
|
||||
# orm:
|
||||
# metadata_cache_driver: apcu
|
||||
# result_cache_driver: apcu
|
||||
# query_cache_driver: apcu
|
||||
|
||||
@ -18,6 +18,7 @@ parameters:
|
||||
database_password: ~
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
database_socket: null
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
@ -34,6 +35,21 @@ parameters:
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# fosuser stuff
|
||||
fosuser_registration: true
|
||||
fosuser_confirmation: true
|
||||
|
||||
from_email: no-reply@wallabag.org
|
||||
|
||||
rss_limit: 50
|
||||
|
||||
# RabbitMQ processing
|
||||
rabbitmq_host: localhost
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
|
||||
# Redis processing
|
||||
redis_scheme: tcp
|
||||
redis_host: localhost
|
||||
redis_port: 6379
|
||||
redis_path: null
|
||||
|
||||
@ -5,4 +5,4 @@ parameters:
|
||||
test_database_name: null
|
||||
test_database_user: null
|
||||
test_database_password: null
|
||||
test_database_path: '%kernel.root_dir%/../data/db/wallabag_testYO.sqlite'
|
||||
test_database_path: '%kernel.root_dir%/../data/db/wallabag_test.sqlite'
|
||||
|
||||
@ -7,6 +7,16 @@ wallabag_import:
|
||||
type: annotation
|
||||
prefix: /import
|
||||
|
||||
wallabag_user:
|
||||
resource: "@WallabagUserBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /users
|
||||
|
||||
wallabag_api:
|
||||
resource: "@WallabagApiBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /
|
||||
|
||||
wallabag_api:
|
||||
resource: "@WallabagApiBundle/Resources/config/routing.yml"
|
||||
prefix: /
|
||||
|
||||
@ -60,6 +60,8 @@ security:
|
||||
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/share, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/settings, roles: ROLE_SUPER_ADMIN }
|
||||
- { path: ^/annotations, roles: ROLE_USER }
|
||||
- { path: ^/users, roles: ROLE_SUPER_ADMIN }
|
||||
- { path: ^/, roles: ROLE_USER }
|
||||
|
||||
@ -16,6 +16,12 @@ services:
|
||||
wallabag.twig_extension:
|
||||
class: Wallabag\CoreBundle\Twig\WallabagExtension
|
||||
public: false
|
||||
arguments:
|
||||
- "@wallabag_core.entry_repository"
|
||||
- "@wallabag_core.tag_repository"
|
||||
- "@security.token_storage"
|
||||
- "%wallabag_core.cache_lifetime%"
|
||||
- "@translator"
|
||||
tags:
|
||||
- { name: twig.extension }
|
||||
|
||||
|
||||
@ -5,4 +5,4 @@ parameters:
|
||||
test_database_name: ~
|
||||
test_database_user: ~
|
||||
test_database_password: ~
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_testHU.sqlite"
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
||||
|
||||
@ -22,7 +22,6 @@ echo '> Checking Symfony requirements:'.PHP_EOL.' ';
|
||||
|
||||
$messages = array();
|
||||
foreach ($symfonyRequirements->getRequirements() as $req) {
|
||||
/** @var $req Requirement */
|
||||
if ($helpText = get_error_message($req, $lineSize)) {
|
||||
echo_style('red', 'E');
|
||||
$messages['error'][] = $helpText;
|
||||
@ -121,10 +120,14 @@ function echo_block($style, $title, $message)
|
||||
|
||||
echo PHP_EOL.PHP_EOL;
|
||||
|
||||
echo_style($style, str_repeat(' ', $width).PHP_EOL);
|
||||
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
|
||||
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
|
||||
echo_style($style, str_repeat(' ', $width).PHP_EOL);
|
||||
echo_style($style, str_repeat(' ', $width));
|
||||
echo PHP_EOL;
|
||||
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT));
|
||||
echo PHP_EOL;
|
||||
echo_style($style, $message);
|
||||
echo PHP_EOL;
|
||||
echo_style($style, str_repeat(' ', $width));
|
||||
echo PHP_EOL;
|
||||
}
|
||||
|
||||
function has_color_support()
|
||||
|
||||
@ -48,7 +48,6 @@
|
||||
"doctrine/doctrine-bundle": "^1.6",
|
||||
"doctrine/doctrine-cache-bundle": "^1.2",
|
||||
"twig/extensions": "~1.0",
|
||||
"symfony/assetic-bundle": "~2.3",
|
||||
"symfony/swiftmailer-bundle": "^2.3",
|
||||
"symfony/monolog-bundle": "^2.8",
|
||||
"sensio/distribution-bundle": "^5.0",
|
||||
@ -64,12 +63,11 @@
|
||||
"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": "dev-master#e168ed64629d034cb9cbbffb9d4350f62ef04fab as 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",
|
||||
@ -81,24 +79,26 @@
|
||||
"mnapoli/piwik-twig-extension": "^1.0",
|
||||
"lexik/maintenance-bundle": "~2.1",
|
||||
"ocramius/proxy-manager": "1.*",
|
||||
"white-october/pagerfanta-bundle": "^1.0"
|
||||
"white-october/pagerfanta-bundle": "^1.0",
|
||||
"php-amqplib/rabbitmq-bundle": "^1.8",
|
||||
"predis/predis": "^1.0",
|
||||
"javibravo/simpleue": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
||||
"doctrine/data-fixtures": "~1.1.1",
|
||||
"sensio/generator-bundle": "^3.0",
|
||||
"phpunit/phpunit": "~4.4",
|
||||
"phpunit/phpunit": "~5.0",
|
||||
"symfony/phpunit-bridge": "^3.0",
|
||||
"friendsofphp/php-cs-fixer": "~1.9"
|
||||
"friendsofphp/php-cs-fixer": "~1.9",
|
||||
"m6web/redis-mock": "^2.0"
|
||||
},
|
||||
"scripts": {
|
||||
"post-cmd": [
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
|
||||
],
|
||||
"post-install-cmd": [
|
||||
"@post-cmd"
|
||||
@ -113,7 +113,6 @@
|
||||
"symfony-var-dir": "var",
|
||||
"symfony-web-dir": "web",
|
||||
"symfony-tests-dir": "tests",
|
||||
"symfony-assets-install": "relative",
|
||||
"incenteev-parameters": {
|
||||
"file": "app/config/parameters.yml"
|
||||
}
|
||||
|
||||
7769
composer.lock
generated
Normal file
@ -11,6 +11,7 @@ services:
|
||||
links:
|
||||
- php:php
|
||||
command: nginx -c /nginx.conf
|
||||
|
||||
php:
|
||||
build:
|
||||
context: docker/php
|
||||
@ -30,6 +31,7 @@ services:
|
||||
# If all DBMS are commented out, sqlite will be used as default
|
||||
# - ./docker/postgres/env
|
||||
# - ./docker/mariadb/env
|
||||
|
||||
#postgres:
|
||||
# image: postgres:9
|
||||
# ports:
|
||||
@ -38,6 +40,7 @@ services:
|
||||
# - ./docker/data/pgsql:/var/lib/postgresql/data
|
||||
# env_file:
|
||||
# - ./docker/postgres/env
|
||||
|
||||
#mariadb:
|
||||
# image: mariadb:10
|
||||
# ports:
|
||||
@ -46,3 +49,13 @@ services:
|
||||
# - ./docker/data/mariadb:/var/lib/mysql
|
||||
# env_file:
|
||||
# - ./docker/mariadb/env
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-management
|
||||
ports:
|
||||
- "15672:15672"
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
|
||||
@ -4,9 +4,10 @@ FROM php:fpm
|
||||
ARG timezone='Europe/Paris'
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
|
||||
libmcrypt-dev libicu-dev libpq-dev libxml2-dev libpng12-dev libjpeg-dev \
|
||||
&& /usr/local/bin/docker-php-ext-configure gd --with-jpeg-dir=/usr/include \
|
||||
&& docker-php-ext-install \
|
||||
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
|
||||
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql gd
|
||||
|
||||
RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ source_suffix = '.rst'
|
||||
master_doc = 'index'
|
||||
project = u'wallabag-fr'
|
||||
copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
|
||||
version = '2.0.0'
|
||||
version = '2.1.0'
|
||||
release = version
|
||||
exclude_patterns = ['_build']
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
@ -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>`_.
|
||||
|
||||
@ -44,7 +44,7 @@ wallabag laufen lassen
|
||||
Eigenschaften mit den kommentierten zu ersetzen (mit Werten
|
||||
mit ``env.`` Präfix)
|
||||
#. ``composer install`` die Projektabhängigkeiten
|
||||
#. ``php app/console wallabag:install``, um das Schema zu erstellen
|
||||
#. ``php bin/console wallabag:install``, um das Schema zu erstellen
|
||||
#. ``docker-compose up`` um die Container laufen zu lassen
|
||||
#. Schließlich öffne http://localhost:8080/, um dein frisch
|
||||
installiertes wallabag zu finden.
|
||||
|
||||
@ -11,7 +11,7 @@ Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
|
||||
|
||||
::
|
||||
|
||||
bin/console lexik:maintenance:lock --no-interaction
|
||||
bin/console lexik:maintenance:lock -e=prod --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:
|
||||
|
||||
@ -29,4 +29,4 @@ Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
|
||||
|
||||
::
|
||||
|
||||
bin/console lexik:maintenance:unlock
|
||||
bin/console lexik:maintenance:unlock -e=prod
|
||||
|
||||
81
docs/de/developer/rabbitmq.rst
Normal file
@ -0,0 +1,81 @@
|
||||
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 ``app/config/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
|
||||
|
||||
Enable RabbitMQ in wallabag
|
||||
---------------------------
|
||||
|
||||
In internal settings, in the **Import** section, enable RabbitMQ (with the value 1).
|
||||
|
||||
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 -e=prod import_pocket -w
|
||||
|
||||
# for Readability import
|
||||
bin/console rabbitmq:consumer -e=prod import_readability -w
|
||||
|
||||
# for Instapaper import
|
||||
bin/console rabbitmq:consumer -e=prod import_instapaper -w
|
||||
|
||||
# for wallabag v1 import
|
||||
bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
|
||||
|
||||
# for wallabag v2 import
|
||||
bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
|
||||
|
||||
# for Firefox import
|
||||
bin/console rabbitmq:consumer -e=prod import_firefox -w
|
||||
|
||||
# for Chrome import
|
||||
bin/console rabbitmq:consumer -e=prod import_chrome -w
|
||||
|
||||
75
docs/de/developer/redis.rst
Normal file
@ -0,0 +1,75 @@
|
||||
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 ``app/config/parameters.yml``, um die RabbitMQ Konfiguration einzurichten. Die Standardkonfiguration sollte ok sein:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
redis_host: localhost
|
||||
redis_port: 6379
|
||||
|
||||
Enable Redis in wallabag
|
||||
------------------------
|
||||
|
||||
In internal settings, in the **Import** section, enable Redis (with the value 1).
|
||||
|
||||
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 -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
|
||||
|
||||
# for Readability import
|
||||
bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
|
||||
|
||||
# for Instapaper import
|
||||
bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
|
||||
|
||||
# for wallabag v1 import
|
||||
bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
|
||||
|
||||
# for wallabag v2 import
|
||||
bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
|
||||
|
||||
# for Firefox import
|
||||
bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
|
||||
|
||||
# for Chrome import
|
||||
bin/console wallabag:import:redis-worker -e=prod 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 -e=prod pocket -vv --maxIterations=12
|
||||
10
docs/de/developer/testsuite.rst
Normal 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``.
|
||||
@ -17,6 +17,11 @@ Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organis
|
||||
* :ref:`user-docs`
|
||||
* :ref:`dev-docs`
|
||||
|
||||
Die Dokumentation ist in anderen Sprachen verfügbar :
|
||||
|
||||
* `Documentation in english <http://doc.wallabag.org/en/master/>`_
|
||||
* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
|
||||
|
||||
.. _user-docs:
|
||||
|
||||
.. toctree::
|
||||
@ -25,7 +30,8 @@ Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organis
|
||||
|
||||
user/faq
|
||||
user/installation
|
||||
user/upgrade
|
||||
user/upgrade-2.0.x-2.1.1
|
||||
user/upgrade-2.0.x-2.1.1
|
||||
user/migration
|
||||
user/import
|
||||
user/create_account
|
||||
@ -38,6 +44,8 @@ Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organis
|
||||
user/filters
|
||||
user/tags
|
||||
user/android
|
||||
user/parameters
|
||||
user/backup
|
||||
|
||||
.. _dev-docs:
|
||||
|
||||
@ -50,3 +58,5 @@ Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organis
|
||||
developer/documentation
|
||||
developer/translate
|
||||
developer/maintenance
|
||||
developer/redis
|
||||
developer/rabbitmq
|
||||
|
||||
25
docs/de/user/backup.rst
Normal file
@ -0,0 +1,25 @@
|
||||
wallabag sichern
|
||||
================
|
||||
Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam.
|
||||
Dieser Artikel beschreibt, was du für die Sicherung benötigst.
|
||||
|
||||
Grundlegende Einstellungen
|
||||
--------------------------
|
||||
wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`.
|
||||
|
||||
Datenbank
|
||||
---------
|
||||
Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen:
|
||||
|
||||
Hier sind einige Beispiele:
|
||||
|
||||
- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
|
||||
- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
|
||||
|
||||
SQLite
|
||||
~~~~~~
|
||||
Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren.
|
||||
|
||||
Bilder
|
||||
------
|
||||
Die Bilder, die von wallabag empfangen worden, sind unter `data/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert).
|
||||
@ -102,7 +102,7 @@ Wenn *readingTime >= 5 AND domainName = "github.com"*, dann tagge als *lange zu
|
||||
Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Die folgenden Variabel und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:
|
||||
Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen (sei vorsichtig, denn bei einigen Werten musst du Anführungszeichen hinzufügen, z.B. ``language = "de"``):
|
||||
|
||||
=========== ============================================== ======== ==========
|
||||
Variable Bedeutung Operator Bedeutung
|
||||
|
||||