Compare commits

..

1 Commits

Author SHA1 Message Date
81b53d9812 Release wallabag 2.0.5 2016-05-31 21:49:52 +02:00
557 changed files with 22331 additions and 151632 deletions

View File

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

View File

@ -1,10 +0,0 @@
{
"extends": "airbnb-base",
"parser": "babel-eslint",
"env": {
"browser": true
},
"rules": {
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]
}
}

View File

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

View File

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

16
.gitignore vendored
View File

@ -10,9 +10,6 @@
/var/sessions/*
!var/sessions/.gitkeep
!var/SymfonyRequirements.php
/bin/*
!/bin/console
!/bin/symfony_requirements
# Parameters
/app/config/parameters.yml
@ -21,10 +18,8 @@
/vendor/
# Assets and user uploads
web/uploads/
!web/bundles
web/bundles/*
!web/bundles/wallabagcore
/web/bundles/
/web/uploads/
# Build
/app/build
@ -43,10 +38,3 @@ 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/*

View File

@ -1,3 +0,0 @@
{
"extends": "stylelint-config-standard"
}

View File

@ -1,9 +1,5 @@
language: php
services:
- rabbitmq
- redis
# faster builds on docker-container setup
sudo: false
@ -19,19 +15,12 @@ cache:
directories:
- vendor
- $HOME/.composer/cache
- node_modules
- $HOME/.cache/bower
- $HOME/.npm
php:
- 5.5
- 5.6
- 7.0
- 7.1
- nightly
node_js:
- "5"
- hhvm
env:
- DB=mysql
@ -42,10 +31,12 @@ matrix:
fast_finish: true
include:
- php: 7.0
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite
exclude:
- php: hhvm
env: DB=pgsql # driver for PostgreSQL currently unsupported by HHVM, requires 3rd party dependency
allow_failures:
- php: 7.1
- php: nightly
- php: hhvm
# exclude v1 branches
branches:
@ -53,18 +44,10 @@ branches:
- legacy
before_script:
- PHP=$TRAVIS_PHP_VERSION
- 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;
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then phpenv config-rm xdebug.ini; fi;
- composer self-update --no-progress
- if [[ $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;
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
before_install:
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
@ -72,9 +55,6 @@ before_install:
script:
- travis_wait composer update --no-interaction --no-progress
- ant prepare-$DB
- 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;
- bin/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;

View File

@ -1,26 +0,0 @@
# see https://zappr.opensource.zalan.do/
autobranch: false
commit: false
approvals:
minimum: 1
ignore: pr_opener
pattern: "^(:\\+1:|👍)$"
veto:
pattern: "^(:\\-1:|👎)$"
from:
orgs:
- wallabag
collaborators: true
specification:
title:
minimum-length:
enabled: true
length: 8
body:
minimum-length:
enabled: true
length: 8
contains-url: false
contains-issue-number: false
template:
differs-from-body: true

View File

@ -1,491 +1,142 @@
## Changelog
# Changelog
### 2.1.6 2017/01/17
- [#2758](https://github.com/wallabag/wallabag/pull/2758) Fixed possible JS injection via the title edition (@nicosomb)
- [#2736](https://github.com/wallabag/wallabag/pull/2736) Update copyright year (@lex111)
- [#2624](https://github.com/wallabag/wallabag/pull/2624) Fix #2056 update config.yml (@Rurik19)
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
### 2.1.5 2016/11/21
- [#2625](https://github.com/wallabag/wallabag/pull/2625) Prepare wallabag 2.1.5 (@nicosomb)
- [#2623](https://github.com/wallabag/wallabag/pull/2623) Force composer to run as PHP 5.5.9 (@j0k3r)
- [#2608](https://github.com/wallabag/wallabag/pull/2608) Change version to 2.2.0-dev (@nicosomb)
- [#2607](https://github.com/wallabag/wallabag/pull/2607) Updated changelog for 2.1.4 (@nicosomb)
## [2.0.5] - 2016-05-31
### 2.1.4 2016/11/19
- [#2604](https://github.com/wallabag/wallabag/pull/2604) wallabag cant work on PostgreSQL <= 9.1 (@j0k3r)
- [#2605](https://github.com/wallabag/wallabag/pull/2605) Add .travis.yml change to RELEASE_PROCESS (@j0k3r)
- [#2603](https://github.com/wallabag/wallabag/pull/2603) Fix clear-cache problem using —no-dev (@j0k3r)
- [#2596](https://github.com/wallabag/wallabag/pull/2596) Prepare wallabag 2.1.4 :rocket: (@nicosomb)
- [#2550](https://github.com/wallabag/wallabag/pull/2550) Reordered documentation (@jlnostr, @nicosomb)
- [#2578](https://github.com/wallabag/wallabag/pull/2578) Added help on config screen (@nicosomb)
- [#2570](https://github.com/wallabag/wallabag/pull/2570) Added creation date on entries view (@nicosomb)
- [#2587](https://github.com/wallabag/wallabag/pull/2587) User-agents have moved to site-config (@j0k3r)
- [#2584](https://github.com/wallabag/wallabag/pull/2584) fix #2582 - Documentation, Nginx config: disable all other PHP file from symphony (@blankoworld)
- [#2577](https://github.com/wallabag/wallabag/pull/2577) Added tooltips in header bar (@nicosomb)
- [#2562](https://github.com/wallabag/wallabag/pull/2562) Bigger image preview in case of only image content (@j0k3r)
- [#2571](https://github.com/wallabag/wallabag/pull/2571) Changed behavior when we change language (@nicosomb)
- [#2565](https://github.com/wallabag/wallabag/pull/2565) Removed support website on about page (@nicosomb)
- [#2563](https://github.com/wallabag/wallabag/pull/2563) Improve PR template (@j0k3r)
- [#2561](https://github.com/wallabag/wallabag/pull/2561) fix #2559 (@Rurik19)
- [#2555](https://github.com/wallabag/wallabag/pull/2555) Reorder variable assignation in update.sh script, fix #2554 (@dkrmr)
- [#2556](https://github.com/wallabag/wallabag/pull/2556) Replaced TokenStorage with TokenStorageInterface (@nicosomb)
- [#2552](https://github.com/wallabag/wallabag/pull/2552) Round readingtime to avoid crazy number (@j0k3r)
- [#2546](https://github.com/wallabag/wallabag/pull/2546) Updated default parameters.yml file in documentation (@nicosomb)
- [#2545](https://github.com/wallabag/wallabag/pull/2545) Update the upgrade documentation (@nicosomb)
### Added
### 2.1.3 2016/11/04
- [#2536](https://github.com/wallabag/wallabag/pull/2536) Prepare wallabag 2.1.3 :rocket: (@nicosomb)
- [#2460](https://github.com/wallabag/wallabag/pull/2460) UI Changes (@tcitworld, @j0k3r)
- [#2534](https://github.com/wallabag/wallabag/pull/2534) Use created_at as default sort (@j0k3r)
- [#2530](https://github.com/wallabag/wallabag/pull/2530) Added documentation about failed to load external entity error (@j0k3r, @Strubbl, @nicosomb)
- [#2519](https://github.com/wallabag/wallabag/pull/2519) Translation update - French (@j0k3r, @Jibec)
- [#2528](https://github.com/wallabag/wallabag/pull/2528) Force user-agent for .slashdot.org (@Kdecherf)
- [#2524](https://github.com/wallabag/wallabag/pull/2524) Add Instapaper to CLI import (@lologhi)
- [#2521](https://github.com/wallabag/wallabag/pull/2521) fix path for the install scripts (@foxmask)
- [#2520](https://github.com/wallabag/wallabag/pull/2520) Inject parameter instead of service (@j0k3r)
- [#2518](https://github.com/wallabag/wallabag/pull/2518) docs: fix link to wallabag-stats project (@Strubbl)
- [#2514](https://github.com/wallabag/wallabag/pull/2514) docs: update 3rd party projects by Strubbl (@Strubbl)
- [#2513](https://github.com/wallabag/wallabag/pull/2513) Updated Capistrano configuration (@nicosomb)
- [#2506](https://github.com/wallabag/wallabag/pull/2506) Fixed entries export filtered with a tag (@nicosomb)
- [#2509](https://github.com/wallabag/wallabag/pull/2509) Exploded WallabagRestController into many controllers (@nicosomb)
- [#2508](https://github.com/wallabag/wallabag/pull/2508) Added the whole path to parameters.yml file (@nicosomb)
- [#2507](https://github.com/wallabag/wallabag/pull/2507) Added require.sh to check if composer is installed (@nicosomb)
- [#2500](https://github.com/wallabag/wallabag/pull/2500) Added a check in Makefile to see if composer is installed (@nicosomb)
- [#2504](https://github.com/wallabag/wallabag/pull/2504) Added tag label in the page title (@nicosomb)
- [#2473](https://github.com/wallabag/wallabag/pull/2473) Portuguese (Brazilian) translation (@pmichelazzo, @j0k3r, @nicosomb, @Quent-in, @danbartram, @even-allmighty, @Strubbl, @tcitworld, @benages, @Simounet, @charno6, @Rurik19, @bmillemathias, @cstuder, @egilli, @pmartin)
- [#2493](https://github.com/wallabag/wallabag/pull/2493) Add relevant links to fetch content error page (@nicosomb, @bmillemathias)
- [#2486](https://github.com/wallabag/wallabag/pull/2486) Added :fr: documentation for wallabag backup (@jlnostr, @nicosomb)
- [#2484](https://github.com/wallabag/wallabag/pull/2484) Document what to backup in Wallabag (@bmillemathias)
- [#2485](https://github.com/wallabag/wallabag/pull/2485) Fix missing words in Android application documentation (@bmillemathias)
- [#2481](https://github.com/wallabag/wallabag/pull/2481) Some fixes (@j0k3r)
- [#2482](https://github.com/wallabag/wallabag/pull/2482) If reload content failed, dont update it (@j0k3r)
- [#2467](https://github.com/wallabag/wallabag/pull/2467) Update wallabag version for master branch (@nicosomb)
- [#2466](https://github.com/wallabag/wallabag/pull/2466) Removed MD5 hash in documentation (@nicosomb)
- [#2052](https://github.com/wallabag/wallabag/pull/2052) Add unread filter to entries pages (Dan Bartram)
### 2.1.2 2016/10/17
- [#2452](https://github.com/wallabag/wallabag/pull/2452) Prepare wallabag 2.1.2 :rocket: (@nicosomb)
- [#2464](https://github.com/wallabag/wallabag/pull/2464) Fixed hardcoded title for internal settings (@nicosomb)
- [#2455](https://github.com/wallabag/wallabag/pull/2455) Fix tabs on material (@tcitworld)
- [#2454](https://github.com/wallabag/wallabag/pull/2454) Fix baggy display on small screens (@tcitworld)
- [#2459](https://github.com/wallabag/wallabag/pull/2459) German: improve existing and add missing translation (@Strubbl)
- [#2457](https://github.com/wallabag/wallabag/pull/2457) add link to German documentation in about page (@Strubbl)
- [#2451](https://github.com/wallabag/wallabag/pull/2451) Bring make dev (@tcitworld)
- [#2450](https://github.com/wallabag/wallabag/pull/2450) View improvements (@tcitworld)
- [#2412](https://github.com/wallabag/wallabag/pull/2412) Fix PostgreSQL migrations (@j0k3r)
- [#2446](https://github.com/wallabag/wallabag/pull/2446) Added information about tagging rules in documentation (@Strubbl, @nicosomb)
- [#2447](https://github.com/wallabag/wallabag/pull/2447) Fixed french and german doc homepages (@nicosomb)
- [#2444](https://github.com/wallabag/wallabag/pull/2444) Mention example instance in docs (@Kaligule)
- [#1](https://github.com/wallabag/wallabag/pull/1) Mention example instance (@Kaligule)
- [#2435](https://github.com/wallabag/wallabag/pull/2435) Added french documentation for upgrade (@nicosomb, @Strubbl)
- [#2434](https://github.com/wallabag/wallabag/pull/2434) Added french documentation for parameters.yml (@Strubbl, @nicosomb)
- [#2439](https://github.com/wallabag/wallabag/pull/2439) Minor fixes in the english documentation (@zertrin)
- [#2432](https://github.com/wallabag/wallabag/pull/2432) Update ISSUE_TEMPLATE.md (@j0k3r)
- [#2429](https://github.com/wallabag/wallabag/pull/2429) Lock deps for FOSUser (@j0k3r)
- [#2422](https://github.com/wallabag/wallabag/pull/2422) Fixed display for note in installation page (@nicosomb)
- [#2426](https://github.com/wallabag/wallabag/pull/2426) Fix links on english documentation homepage (@nicosomb)
- [#2420](https://github.com/wallabag/wallabag/pull/2420) Avoid error when Redis isn't here in tests (@j0k3r)
- [#2403](https://github.com/wallabag/wallabag/pull/2403) Cleaned up documentation for installation process (@nicosomb, @j0k3r, @Strubbl)
- [#2419](https://github.com/wallabag/wallabag/pull/2419) Fixed Twitter Cards by adding a description tag (@nicosomb)
- [#2418](https://github.com/wallabag/wallabag/pull/2418) Added support of Twitter Cards for public articles (@nicosomb)
- [#2417](https://github.com/wallabag/wallabag/pull/2417) Define a dev version for the master (@j0k3r)
- [#2411](https://github.com/wallabag/wallabag/pull/2411) Fix entities definition (@j0k3r)
- [#2414](https://github.com/wallabag/wallabag/pull/2414) Remove automatic closing of the window from bookmarklet (@szafranek)
- [#2413](https://github.com/wallabag/wallabag/pull/2413) When a sub command fail, display error message (@j0k3r)
- [#2410](https://github.com/wallabag/wallabag/pull/2410) Optimize tag list display (@j0k3r)
- [#2406](https://github.com/wallabag/wallabag/pull/2406) Show number of annotations instead of nbAnnotations placeholder (@szafranek)
- [#2405](https://github.com/wallabag/wallabag/pull/2405) Fix few invalid HTML tags (@szafranek)
- [#2402](https://github.com/wallabag/wallabag/pull/2402) Removed 1.x stuff in CHANGELOG (@nicosomb)
- [#2351](https://github.com/wallabag/wallabag/pull/2351) Changed relation between API client and refresh token (@j0k3r, @nicosomb)
- [#2393](https://github.com/wallabag/wallabag/pull/2393) Ability to check multiple urls in API (@j0k3r)
- [#2397](https://github.com/wallabag/wallabag/pull/2397) Ensure orphan tag are remove in API (@j0k3r)
- [#2399](https://github.com/wallabag/wallabag/pull/2399) Use default locale for user config (@j0k3r)
- [#2400](https://github.com/wallabag/wallabag/pull/2400) Set env to prod in documentation (@j0k3r)
- [#2396](https://github.com/wallabag/wallabag/pull/2396) Update messages.pl.yml (@wallabag)
- [#2395](https://github.com/wallabag/wallabag/pull/2395) Add ability to use socket (@j0k3r)
- [#2386](https://github.com/wallabag/wallabag/pull/2386) Changed Changelog by using github-changelog-generator from @skywinder (@nicosomb)
- [#2389](https://github.com/wallabag/wallabag/pull/2389) Added default picture if preview picture is null (@nicosomb)
- [#2388](https://github.com/wallabag/wallabag/pull/2388) Fixed two-factor checkbox display in user admin panel (@nicosomb)
- [#2385](https://github.com/wallabag/wallabag/pull/2385) Added documentation about siteconfig fix (@nicosomb)
- [#2383](https://github.com/wallabag/wallabag/pull/2383) Added OpenGraph support for public articles (@nicosomb)
- [#2332](https://github.com/wallabag/wallabag/pull/2332) Fix relations export for Entry (@j0k3r)
- [#2377](https://github.com/wallabag/wallabag/pull/2377) Fix exists API call (@j0k3r, @tcitworld)
- [#2374](https://github.com/wallabag/wallabag/pull/2374) Clickable tags (@tcitworld)
- [#2375](https://github.com/wallabag/wallabag/pull/2375) try to reduce assets build npm connection failing by updating nodejs (@tcitworld)
- [#2363](https://github.com/wallabag/wallabag/pull/2363) Remove mouf/nodejs-installer from composer (@j0k3r)
### Changed
### 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)
- [#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)
### 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)
### Fixed
### 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)
- [#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.7 2016/08/22
- [#2226](https://github.com/wallabag/wallabag/pull/2226) Prepare wallabag 2.0.7 (@nicosomb)
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (@j0k3r, @nicosomb)
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (@nicosomb)
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (@j0k3r)
- [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable PATCH method for CORS in API part (@Rurik19)
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (@j0k3r)
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (@j0k3r, @nicosomb)
- [#2216](https://github.com/wallabag/wallabag/pull/2216) Enable CORS headers for OAUTH part (@Rurik19)
## [2.0.4] - 2016-05-07
### 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)
### Added
### 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)
- [#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)
### 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)
### Changed
### 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)
- [#1977](https://github.com/wallabag/wallabag/pull/1977) Spanish documentation (jami7)
### 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)
### Fixed
### 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)
- [#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.1 2016/04/11
- [#1912](https://github.com/wallabag/wallabag/pull/1912) Move setup config outside setupAdmin (@j0k3r)
- [#1909](https://github.com/wallabag/wallabag/pull/1909) Prepare release 2.0.1 (@nicosomb)
- [#1902](https://github.com/wallabag/wallabag/pull/1902) Add changelog (@nicosomb)
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Translation fa (@j0k3r, @mabkenar)
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connexion error (@j0k3r)
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Update Spanish translation (@j0k3r, @jami7)
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (@nicosomb)
- [#1895](https://github.com/wallabag/wallabag/pull/1895) All the entries are fetched via GET /api/entries (@nicosomb)
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (@nicosomb)
- [#1899](https://github.com/wallabag/wallabag/pull/1899) Add documentation about importing large file into nginx (@nicosomb)
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view (@nicosomb)
- [#1896](https://github.com/wallabag/wallabag/pull/1896) Fix internal settings (@nicosomb)
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (@nicosomb)
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (@nicosomb)
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (@nicosomb)
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (@nicosomb)
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (@nicosomb)
- [#1804](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (@j0k3r)
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (@nicosomb)
- [#1862](https://github.com/wallabag/wallabag/pull/1862) Add production environment for CLI import (@nicosomb)
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (@nicosomb)
- [#1856](https://github.com/wallabag/wallabag/pull/1856) Documentation about wallabag v1 CLI import (@nicosomb)
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (@nicosomb)
## [2.0.3] - 2016-04-22
### 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)
### Added
### 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)
- [#1962](https://github.com/wallabag/wallabag/pull/1962) cURL examples in documentation about API (Dirk Deimeke)
### 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)
### Fixed
### 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)
- Forgot `composer.lock` file in 2.0.2 release so some users may encounter `Fatal error: Out of memory` error during installation
### 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.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

View File

@ -1,4 +1,4 @@
Copyright (c) 2013-2017 Nicolas Lœuillet
Copyright (c) 2013-2016 Nicolas Lœuillet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

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

View File

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

View File

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

View File

@ -1,230 +0,0 @@
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']
},
watch: {
files: ['<%= appDir %>/**/*.css', '<%= appDir %>/**/*.js'],
tasks: ['css', 'js']
}
});
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']
),
grunt.loadNpmTasks('grunt-contrib-watch');
};

View File

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

View File

@ -1,27 +1,28 @@
[![Build Status](https://api.travis-ci.org/wallabag/wallabag.svg?branch=master)](https://travis-ci.org/wallabag/wallabag)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/wallabag/wallabag/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
[![Gitter](https://badges.gitter.im/gitterHQ/gitter.svg)](https://gitter.im/wallabag/wallabag)
# What is wallabag?
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 information on our website: [wallabag.org](https://wallabag.org).
![wallabag logo](https://raw.githubusercontent.com/wallabag/logo/master/_default/typo-horizontal/png/sm/logo-typo-horizontal-black-no-bg-no-border-sm.png)
More informations 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/).
Then you can install wallabag by executing the following commands:
```
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
make run
git clone https://github.com/wallabag/wallabag.git
cd wallabag
git checkout 2.0.5
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console wallabag:install --env=prod
php bin/console server:run --env=prod
```
# License
Copyright © 2013-2017 Nicolas Lœuillet <nicolas@loeuillet.org>
## 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.

View File

@ -1,58 +1,47 @@
## 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 `$LAST_WALLABAG_RELEASE`.
During this documentation, we assume the release is `release-2.0.0-beta.1`.
#### Files to edit
- `app/config/config.yml` (`wallabag_core.version`)
- `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))
- `README.md` (`composer create-project` command)
- `docs/en/user/installation.rst` and its translations (`composer create-project` command)
#### Create release on GitHub
- Run these commands to create the tag:
```
git checkout master
git pull origin master
git checkout -b release-$LAST_WALLABAG_RELEASE
SYMFONY_ENV=prod composer up --no-dev
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
```
- Update `.travis.yml` file and replace the composer line with this one:
```diff
script:
- - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist
+ - travis_wait composer update --no-interaction --no-progress
```
- Then continue with these commands:
- 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:
```
git add --force composer.lock .travis.yml
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
git push origin release-$LAST_WALLABAG_RELEASE
```
- Create a new pull request with this title `DON'T MERGE Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
- Run these command to create the package:
```
make release master /tmp wllbg-release prod
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
```
- [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-$LAST_WALLABAG_RELEASE` branch and close the pull request (**DO NOT MERGE IT**).
- Delete the `release-2.0.0-beta.1` 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)
- 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:!
- Drink a beer!
### `composer.lock`
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,

View File

@ -13,6 +13,7 @@ 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(),
@ -38,7 +39,6 @@ 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)) {

View File

@ -1,51 +0,0 @@
<?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'");
}
}

View File

@ -1,53 +0,0 @@
<?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');
}
}

View File

@ -1,42 +0,0 @@
<?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)
{
}
}

View File

@ -1,46 +0,0 @@
<?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')");
}
}

View File

@ -8,8 +8,7 @@ export_csv: Aktiver eksport til CSV
export_json: Aktiver eksport til JSON
export_txt: Aktiver eksport til TXT
export_xml: Aktiver eksport til XML
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: Brugers nøgle til Pocket for at importere materialer (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
share_diaspora: Aktiver deling til Diaspora
share_mail: Aktiver deling med email
@ -23,9 +22,8 @@ export: "eksport"
import: "import"
misc: "misc"
modify_settings: "Gem ændring"
piwik_host: Hosting af din side hos Piwik (uden http:// eller https://)
piwik_host: Hosting af din side hos Piwik
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

View File

@ -2,14 +2,13 @@ download_pictures: Bilder auf den Server herunterladen
carrot: Teilen zu Carrot aktivieren
diaspora_url: Diaspora-URL, sofern der Service aktiviert ist
export_epub: ePUB-Export aktivieren
export_mobi: mobi-Export aktivieren
export_mobi: .mobi-Export aktivieren
export_pdf: PDF-Export aktivieren
export_csv: CSV-Export aktivieren
export_json: JSON-Export aktivieren
export_txt: TXT-Export aktivieren
export_xml: XML-Export aktivieren
import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren
import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren
pocket_consumer_key: Consumer-Key für Pocket, um Inhalte zu importieren (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
share_diaspora: Teilen zu Diaspora aktiveren
share_mail: Teilen via E-Mail aktiveren
@ -23,9 +22,8 @@ export: "Export"
import: "Import"
misc: "Verschiedenes"
modify_settings: "Übernehmen"
piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://)
piwik_host: Host deiner Webseite in Piwik
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

View File

@ -8,8 +8,7 @@ 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
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, if the service is enabled
share_diaspora: Enable share to Diaspora
share_mail: Enable share by email
@ -23,9 +22,8 @@ export: "export"
import: "import"
misc: "misc"
modify_settings: "apply"
piwik_host: Host of your website in Piwik (without http:// ou https://)
piwik_host: Host of your website in Piwik
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

View File

@ -8,8 +8,7 @@ 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
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: Consumer key for Pocket to import contents (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, si el servicio está activado
share_diaspora: Activar compartir con Diaspora
share_mail: Activar compartir con email
@ -23,9 +22,8 @@ export: "exportar"
import: "importar"
misc: "misc"
modify_settings: "modificar configuración"
piwik_host: Host de tu website de Piwik (sin http:// o https://)
piwik_host: Host de tu website de Piwik
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

View File

@ -8,8 +8,7 @@ export_csv: فعال‌سازی برون‌سپاری به CSV
export_json: فعال‌سازی برون‌سپاری به JSON
export_txt: فعال‌سازی برون‌سپاری به TXT
export_xml: فعال‌سازی برون‌سپاری به XML
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: کلید کاربری Pocket برای درون‌ریزی مطالب (https://getpocket.com/developer/docs/authentication)
shaarli_url: نشانی Shaarli، اگر فعال بود
share_diaspora: فعال‌سازی هم‌رسانی به Diaspora
share_mail: فعال‌سازی هم‌رسانی با ایمیل
@ -23,9 +22,3 @@ 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

View File

@ -8,8 +8,7 @@ export_csv: Activer l'export CSV
export_json: Activer l'export JSON
export_txt: Activer l'export TXT
export_xml: Activer l'export XML
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
pocket_consumer_key: Clé d'authentification Pocket pour importer les données (https://getpocket.com/developer/docs/authentication)
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
@ -23,9 +22,8 @@ export: "export"
import: "import"
misc: "divers"
modify_settings: "appliquer"
piwik_host: URL de votre site dans Piwik (sans http:// ou https://)
piwik_host: URL de votre site dans Piwik
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

View File

@ -8,8 +8,7 @@ export_csv: Abilita esportazione CSV
export_json: Abilita esportazione JSON
export_txt: Abilita esportazione TXT
export_xml: Abilita esportazione XML
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: Consumer key per Pocket per importare i contenuti (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, se il servizio è abilitato
share_diaspora: Abilita la condivisione con Diaspora
share_mail: Abilita la condivisione per email
@ -23,9 +22,8 @@ export: "esporta"
import: "importa"
misc: "misc"
modify_settings: "applica"
piwik_host: Host del tuo sito in Piwik (senza http:// o https://)
piwik_host: Host del tuo sito in Piwik
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

View File

@ -8,8 +8,7 @@ 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
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: Clau d'autentificacion Pocket per importar las donadas (https://getpocket.com/developer/docs/authentication)
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
@ -23,9 +22,8 @@ export: "expòrt"
import: "impòrt"
misc: "divèrs"
modify_settings: "aplicar"
piwik_host: URL de vòstre site dins Piwik (sense http:// o https://)
piwik_host: URL de vòstre site dins Piwik
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

View File

@ -8,8 +8,7 @@ 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
import_with_rabbitmq: Włącz RabbitMQ dla asynchronicznego importu danych
import_with_redis: Włącz Redis dla asynchronicznego importu danych
pocket_consumer_key: Klucz klienta Pocket do importu zawartości (https://getpocket.com/developer/docs/authentication)
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
@ -23,9 +22,3 @@ 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

View File

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

View File

@ -8,8 +8,7 @@ export_csv: Permite exportare CSV
export_json: Permite exportare JSON
export_txt: Permite exportare TXT
export_xml: Permite exportare XML
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
# import_with_redis: Enable Redis to import data asynchronously
pocket_consumer_key: Cheie consumator pentru importarea contentului din Pocket (https://getpocket.com/developer/docs/authentication)
shaarli_url: Shaarli URL, dacă serviciul este permis
share_diaspora: Permite share către Diaspora
share_mail: Permite share prin email
@ -23,9 +22,3 @@ 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

View File

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

View File

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

View File

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

View File

@ -1,2 +0,0 @@
Login: "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."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,6 +0,0 @@
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>';

View File

@ -1,50 +0,0 @@
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 };

View File

@ -1,6 +0,0 @@
@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");
}

View File

@ -1,19 +0,0 @@
.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;
}

View File

@ -1,66 +0,0 @@
@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%;
}
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 307 KiB

View File

@ -1,8 +0,0 @@
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
export { split, extractLast };

View File

@ -1,314 +0,0 @@
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();
});
});

View File

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

View File

@ -1,880 +0,0 @@
/* ==========================================================================
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 .card-entry-labels-hidden li:first-child {
margin-left: 0;
}
.card-entry-tags a,
.card-entry-labels a,
.card-tag-labels a,
.card-entry-labels-hidden a,
#list .chip a {
text-decoration: none;
font-weight: normal;
color: #fff;
}
.card .card-content .estimatedTime {
margin-bottom: 10px;
}
.card .card-action {
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-fullimage {
height: 13.5em;
}
.card .card-image .preview,
.card .card-fullimage .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;
}
#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;
}

View File

@ -1,77 +0,0 @@
@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%;
}
}

View File

@ -1,99 +0,0 @@
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);
});
}
});

View File

@ -1,4 +1,9 @@
# 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'
@ -6,6 +11,8 @@ 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
@ -16,4 +23,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:updated', 'symfony:cache:clear'
after 'deploy:finishing', 'deploy:cleanup'

View File

@ -5,32 +5,30 @@ imports:
framework:
#esi: ~
translator:
enabled: true
fallback: "%locale%"
secret: "%secret%"
translator: { fallback: "%locale%" }
secret: "%secret%"
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
form: ~
csrf_protection: ~
validation:
enable_annotations: true
validation: { enable_annotations: true }
templating:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_hosts: ~
trusted_proxies: ~
session:
# handler_id set to null will use default session handler from php.ini
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
handler_id: session.handler.native_file
save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%"
fragments: ~
http_method_override: true
assets: ~
wallabag_core:
version: 2.1.6
version: 2.0.5
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'
@ -44,43 +42,47 @@ wallabag_core:
es: 'Español'
oc: 'Occitan'
it: 'Italiano'
pt: 'Português'
items_on_page: 12
theme: material
language: '%locale%'
language: en
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', 'text/csv']
allow_mimetypes: ['application/octet-stream', 'application/json', 'text/plain']
resource_dir: "%kernel.root_dir%/../web/uploads/import"
# Twig Configuration
twig:
debug: "%kernel.debug%"
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes:
- "LexikFormFilterBundle:Form:form_div_layout.html.twig"
exception_controller: wallabag_core.exception_controller:showAction
# Assetic Configuration
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: "%kernel.root_dir%/Resources/java/compiler.jar"
#yui_css:
# jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
path: "%database_path%"
unix_socket: "%database_socket%"
charset: UTF8
path: "%database_path%"
server_version: 5.6
orm:
@ -106,11 +108,10 @@ doctrine_migrations:
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool:
type: memory
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
fos_rest:
param_fetcher_listener: true
@ -147,11 +148,6 @@ nelmio_cors:
#origin_regex: false
paths:
'^/api/':
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'PATCH','GET', 'DELETE']
max_age: 3600
'^/oauth/':
allow_origin: ['*']
allow_headers: ['X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
@ -173,17 +169,17 @@ liip_theme:
path_patterns:
bundle_resource:
- "%%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%%"
- %%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%%
fos_user:
db_driver: orm
firewall_name: secured_area
firewall_name: main
user_class: Wallabag\UserBundle\Entity\User
registration:
confirmation:
enabled: "%fosuser_confirmation%"
enabled: %fosuser_confirmation%
from_email:
address: "%from_email%"
address: %from_email%
sender_name: wallabag
fos_oauth_server:
db_driver: orm
@ -193,8 +189,6 @@ fos_oauth_server:
auth_code_class: Wallabag\ApiBundle\Entity\AuthCode
service:
user_provider: fos_user.user_manager
options:
refresh_token_lifetime: 1209600
scheb_two_factor:
trusted_computer:
@ -203,8 +197,8 @@ scheb_two_factor:
cookie_lifetime: 2592000
email:
enabled: "%twofactor_auth%"
sender_email: "%twofactor_sender%"
enabled: %twofactor_auth%
sender_email: %twofactor_sender%
digits: 6
template: WallabagUserBundle:Authentication:form.html.twig
mailer: wallabag_user.auth_code_mailer
@ -222,106 +216,3 @@ 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

View File

@ -5,8 +5,7 @@ framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler:
only_exceptions: false
profiler: { only_exceptions: false }
web_profiler:
toolbar: true
@ -15,19 +14,19 @@ web_profiler:
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ['!event']
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: [!event]
console:
type: console
type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
channels: ['!event', '!doctrine']
channels: [!event, !doctrine]
console_very_verbose:
type: console
type: console
bubble: false
verbosity_levels:
VERBOSITY_VERBOSE: NOTICE
@ -35,16 +34,11 @@ 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

View File

@ -2,8 +2,8 @@ imports:
- { resource: config.yml }
#framework:
# cache:
# system: cache.adapter.apcu
# validation:
# cache: apc
#doctrine:
# orm:
@ -14,12 +14,12 @@ imports:
monolog:
handlers:
main:
type: fingers_crossed
type: fingers_crossed
action_level: error
handler: nested
handler: nested
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
type: console

View File

@ -18,7 +18,6 @@ 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
@ -35,21 +34,6 @@ 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

View File

@ -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_test.sqlite'
test_database_path: '%kernel.root_dir%/../data/db/wallabag_testYO.sqlite'

View File

@ -4,18 +4,8 @@ wallabag_annotation:
wallabag_import:
resource: "@WallabagImportBundle/Controller/"
type: annotation
prefix: /import
wallabag_user:
resource: "@WallabagUserBundle/Controller/"
type: annotation
prefix: /users
wallabag_api:
resource: "@WallabagApiBundle/Controller/"
type: annotation
prefix: /
type: annotation
prefix: /import
wallabag_api:
resource: "@WallabagApiBundle/Resources/config/routing.yml"

View File

@ -1,14 +1,14 @@
_wdt:
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
prefix: /_wdt
prefix: /_wdt
_profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
prefix: /_profiler
prefix: /_profiler
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
prefix: /_error
_main:
resource: routing.yml

View File

@ -3,14 +3,12 @@ security:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
administrators:
entity:
class: WallabagUserBundle:User
property: username
entity: { class: WallabagUserBundle:User, property: username }
fos_userbundle:
id: fos_user.user_provider.username
@ -33,7 +31,7 @@ security:
anonymous: true
login_firewall:
pattern: ^/login$
pattern: ^/login$
anonymous: ~
secured_area:
@ -42,12 +40,12 @@ security:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
anonymous: true
anonymous: true
remember_me:
secret: "%secret%"
secret: "%secret%"
lifetime: 31536000
path: /
domain: ~
path: /
domain: ~
logout:
path: /logout
@ -60,8 +58,6 @@ 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 }

View File

@ -16,12 +16,6 @@ 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 }

View File

@ -5,4 +5,4 @@ parameters:
test_database_name: ~
test_database_user: ~
test_database_password: ~
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
test_database_path: "%kernel.root_dir%/../data/db/wallabag_testHU.sqlite"

1
bin/doctrine Symbolic link
View File

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

1
bin/doctrine-dbal Symbolic link
View File

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

1
bin/doctrine-migrations Symbolic link
View File

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

1
bin/doctrine.php Symbolic link
View File

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

1
bin/php-cs-fixer Symbolic link
View File

@ -0,0 +1 @@
../vendor/fabpot/php-cs-fixer/php-cs-fixer

1
bin/phpunit Symbolic link
View File

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

1
bin/security-checker Symbolic link
View File

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

View File

@ -13,7 +13,7 @@ echo '> PHP is using the following php.ini file:'.PHP_EOL;
if ($iniPath) {
echo_style('green', ' '.$iniPath);
} else {
echo_style('yellow', ' WARNING: No configuration file (php.ini) used by PHP!');
echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!');
}
echo PHP_EOL.PHP_EOL;
@ -22,6 +22,7 @@ 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;
@ -120,14 +121,10 @@ function echo_block($style, $title, $message)
echo PHP_EOL.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;
echo_style($style, str_repeat(' ', $width).PHP_EOL);
echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL);
echo_style($style, str_repeat(' ', $width).PHP_EOL);
}
function has_color_support()

View File

@ -43,19 +43,20 @@
"ext-iconv": "*",
"ext-tokenizer": "*",
"ext-pdo": "*",
"symfony/symfony": "3.1.*",
"symfony/symfony": "3.0.*",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "^2.3",
"symfony/monolog-bundle": "^2.8",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"nelmio/cors-bundle": "~1.4.0",
"friendsofsymfony/rest-bundle": "~2.1",
"jms/serializer-bundle": "~1.1",
"friendsofsymfony/rest-bundle": "~1.4",
"jms/serializer-bundle": "~1.0",
"nelmio/api-doc-bundle": "~2.7",
"mgargano/simplehtmldom": "~1.5",
"tecnickcom/tcpdf": "~6.2",
@ -63,42 +64,40 @@
"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": "dev-master#e168ed64629d034cb9cbbffb9d4350f62ef04fab as 2.0.x-dev",
"friendsofsymfony/user-bundle": "~2.0@dev",
"friendsofsymfony/oauth-server-bundle": "^1.5",
"stof/doctrine-extensions-bundle": "^1.2",
"stof/doctrine-extensions-bundle": "^1.2@dev",
"scheb/two-factor-bundle": "~2.0",
"grandt/phpepub": "~4.0",
"wallabag/php-mobi": "~1.0.0",
"kphoen/rulerz-bundle": "~0.10",
"guzzlehttp/guzzle": "^5.3.1",
"guzzlehttp/guzzle": "^5.2.0",
"doctrine/doctrine-migrations-bundle": "^1.0",
"paragonie/random_compat": "~1.0",
"craue/config-bundle": "~1.4",
"mnapoli/piwik-twig-extension": "^1.0",
"lexik/maintenance-bundle": "~2.1",
"ocramius/proxy-manager": "1.*",
"white-october/pagerfanta-bundle": "^1.0",
"php-amqplib/rabbitmq-bundle": "^1.8",
"predis/predis": "^1.0",
"javibravo/simpleue": "^1.0"
"white-october/pagerfanta-bundle": "^1.0"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "~2.2",
"doctrine/data-fixtures": "~1.1.1",
"sensio/generator-bundle": "^3.0",
"phpunit/phpunit": "~4.0",
"symfony/phpunit-bridge": "^3.0",
"friendsofphp/php-cs-fixer": "~1.9",
"m6web/redis-mock": "^2.0"
"phpunit/phpunit": "~4.4",
"symfony/phpunit-bridge": "^2.7",
"fabpot/php-cs-fixer": "~1.9"
},
"scripts": {
"post-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@post-cmd"
@ -113,6 +112,7 @@
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
}
@ -121,14 +121,8 @@
"psr-4": { "Wallabag\\": "src/Wallabag/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"autoload-dev": {
"psr-4": { "Tests\\": "tests/" }
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.5.9"
}
"bin-dir": "bin"
},
"minimum-stability": "dev",
"prefer-stable": true

2840
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,6 @@ services:
links:
- php:php
command: nginx -c /nginx.conf
php:
build:
context: docker/php
@ -31,7 +30,6 @@ services:
# If all DBMS are commented out, sqlite will be used as default
# - ./docker/postgres/env
# - ./docker/mariadb/env
#postgres:
# image: postgres:9
# ports:
@ -40,7 +38,6 @@ services:
# - ./docker/data/pgsql:/var/lib/postgresql/data
# env_file:
# - ./docker/postgres/env
#mariadb:
# image: mariadb:10
# ports:
@ -49,13 +46,3 @@ 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"

View File

@ -4,10 +4,9 @@ FROM php:fpm
ARG timezone='Europe/Paris'
RUN apt-get update && apt-get install -y \
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 \
libmcrypt-dev libicu-dev libpq-dev libxml2-dev \
&& docker-php-ext-install \
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql gd
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini

View File

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

File diff suppressed because one or more lines are too long

View File

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

View File

@ -1,57 +0,0 @@
Lasse wallabag in docker-compose laufen
=======================================
Um deine eigene Entwicklungsinstanz von wallabag laufen zu lassen,
möchtest du vielleicht die vorkonfigurierten docker compose Dateien
nutzen.
Voraussetzungen
---------------
Stelle sicher `Docker
<https://docs.docker.com/installation/ubuntulinux/>`__ und `Docker
Compose <https://docs.docker.com/compose/install/>`__ auf deinem
System verfügbar und aktuell zu haben.
Wechsel des DBMS
----------------
Standardmäßig startet wallabag mit einer SQLite Datenbank.
Da wallabag Unterstützung für Postgresql und MySQL bietet, gibt es
auch docker Container für diese.
In der ``docker-compose.yml`` kommentierst du für das gewählte DBMS
aus:
- die Container Definition (``postgres`` oder ``mariadb`` root
Level Block)
- den Container Link in dem ``php`` Container
- die Container Umgebungsdatei in dem ``php`` Container
Um mit Symfony Kommandos auf deinem Host auszuführen (wie z.B.
``wallabag:install``), sollst du außerdem:
- die richtige Umgebungsdatei auf deiner Kommandozeile einlesen,
sodass Variablen wie ``SYMFONY__ENV__DATABASE_HOST`` existieren
- eine Zeile ``127.0.0.1 rdbms`` in deiner ``hosts`` Datei auf dem
System erstellen
wallabag laufen lassen
----------------------
#. Forke und klone das Projekt
#. Bearbeite ``app/config/parameters.yml`` um ``database_*``
Eigenschaften mit den kommentierten zu ersetzen (mit Werten
mit ``env.`` Präfix)
#. ``composer install`` die Projektabhängigkeiten
#. ``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.
In den verschiedenen Schritten wirst du vielleicht in verschiendene
Probleme laufen wie UNIX Berechtigungsprobleme, falschen Pfaden im
generierten Cache, etc.…
Operationen wie das Löschen der Cachedateien oder das Ändern der
Dateibesitzer können öfter gebraucht werden, darum habe keine Angst
sie anzupassen.

View File

@ -1,10 +0,0 @@
Wirke an dieser Dokumentation mit
=================================
Quellen der Dokumentation sind hier zu finden https://github.com/wallabag/wallabag/tree/master/docs
Wir nutzen `ReadTheDocs <https://readthedocs.org>`__, um sie zu generieren.
Seiten werden in `reStructuredText <https://de.wikipedia.org/wiki/ReStructuredText>`__ geschrieben. Du kannst Onlinetools wie http://rst.aaroniles.net/ oder http://rst.ninjs.org/ nutzen, um eine Vorschau deiner Artikel zu betrachten.
Wenn du eine neue Seite erstellst, vergiss nicht die `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ zu bearbeiten, um dort einen Link für die Seitenleiste hinzuzufügen.

View File

@ -1,32 +0,0 @@
Wartungsmodus
=============
Wenn du längere Aufgaben auf deiner wallabag Instanz ausführen willst, kannst du den Wartungsmodus aktivieren.
Keiner wird dann Zugang zu deiner Instanz haben.
Aktivieren des Wartungsmodus
----------------------------
Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
::
bin/console lexik:maintenance:lock -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:
::
lexik_maintenance:
authorized:
ips: ['127.0.0.1']
Deaktivieren des Wartungsmodus
------------------------
Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
::
bin/console lexik:maintenance:unlock -e=prod

View File

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

View File

@ -1,57 +0,0 @@
Übersetze wallabag
==================
wallabag Webapplikation
-----------------------
Übersetzungsdateien
~~~~~~~~~~~~~~~~~~~
.. note::
Da wallabag hauptsächlich von einem französischem Team entwickelt wird, betrachte
die französische Übersetzung als die aktuellste und kopiere sie, um deine eigene Übersetzung zu starten.
Du kannst die Übersetzungsdateien hier finden: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
Du musst die ``messages.CODE.yml`` und ``validators.CODE.yml`` erstellen, wobei CODE
der ISO 639-1 Code deiner Sprache ist (`siehe Wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
Andere Dateien zum Übersetzen:
- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
- https://github.com/wallabag/wallabag/tree/master/app/Resources/FOSUserBundle/translations.
Du musst die ``THE_TRANSLATION_FILE.CODE.yml`` Dateien erstellen.
Konfigurationsdatei
~~~~~~~~~~~~~~~~~~~
Du musst die `app/config/config.yml <https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ bearbeiten,
um deine Sprache auf der Konfigurationsseite in wallabag anzuzeigen (um Nutzern zu erlauben zu dieser neuen Übersetzung zu wechseln).
Unter dem Abschnitt ``wallabag_core.languages`` musst du eine neue Zeile mit deiner Übersetzung hinzufügen. Zum Beispiel:
::
wallabag_core:
...
languages:
en: 'English'
fr: 'Français'
Für die erste Spalte (``en``, ``fr``, etc.) musst du den ISO 639-1 Code deiner Sprache hinzufügen (siehe oben).
Für die zweite Spalte trägst du den Namen deiner Sprache ein. Nur den.
wallabag Dokumentation
----------------------
.. note::
Im Gegensatz zur Webapplikation ist die Hauptsprache für die Dokumentation Englisch.
Documentationsdateien sind hier gespeichert: https://github.com/wallabag/wallabag/tree/master/docs
Du musst die Ordnerstruktur des Ordners ``en`` beachten, wenn du deine eigene Übersetzung startest.

View File

@ -1,52 +0,0 @@
wallabag Dokumentation
======================
.. image:: ../img/wallabag.png
:alt: wallabag Logo
:align: center
**wallabag** ist eine Read-it-later Applikation: es speichert Websites,
indem es nur den Inhalt behält. Elemente wie Navigation oder Werbung werden gelöscht.
Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organisiert:
* :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::
:maxdepth: 2
:caption: Nutzerdokumentation
user/installation
user/upgrade
user/configuration
user/import
user/create_account
user/articles
user/errors_during_fetching
user/filters
user/tags
user/android
user/parameters
user/backup
user/faq
.. _dev-docs:
.. toctree::
:maxdepth: 2
:caption: Entwicklerdokumentation
developer/api
developer/docker
developer/documentation
developer/translate
developer/maintenance
developer/asynchronous

View File

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

View File

@ -1,102 +0,0 @@
Android App
===========
Zweck dieses Dokuments
----------------------
Dieses Dokument beschreibt wie du deine Android App einrichtest, damit sie mit deiner Wallabaginstanz zusammenarbeitet. Es gibt hierbei keinen Unterschied im Vorgang - egal ob du Wallabag v1 oder v2 einsetzt.
Schritte, um dein App zu einzurichten
-------------------------------------
Wenn du das erste Mal die App startest, siehst du den Willkommensbildschirm, wo du angewiesen wirst zunächst deine App mit deiner Wallabaginstanz einzurichten.
.. image:: ../../img/user/android_welcome_screen.de.png
:alt: Willkommensbildschirm
:align: center
Bestätige nur diese Nachricht und du wirst zum Einstellungsbildschirm weitergeleitet.
.. image:: ../../img/user/android_configuration_screen.de.png
:alt: Einstellungsbildschirm
:align: center
Trage deine Wallabagdaten ein. Du musst deine Wallabagadresse eintragen. **Es ist wichtig, dass die URL nicht mit einem Schrägstrich endet.** Füge auch deine Wallabagzugangsdaten in das Nutzer- und Passwortfeld ein.
.. image:: ../../img/user/android_configuration_filled_in.de.png
:alt: Eingetragene Einstellungen
:align: center
Nachdem du deine Daten eingetragen hast, drücke den Button Verbindung testen und warte auf das Fertigstellen des Tests.
.. image:: ../../img/user/android_configuration_connection_test.de.png
:alt: Verbindungstest mit deinen Wallabagdaten
:align: center
Der Verbindungstest sollte mit Erfolg ausgehen. Falls nicht, musst du zunächst deine Daten korrigieren bevor du zum nächsten Schritt gehst.
.. image:: ../../img/user/android_configuration_connection_test_success.de.png
:alt: Verbindungstest war erfolgreich
:align: center
Nach dem Verbindungstest erfolgreich war, kannst du den Button zum Feedzugangsdaten abholen drücken. Die App versucht nun sich bei deiner Wallabaginstanz einzuloggen und die Nutzer ID und den dazugehörigen Token für die Feeds zu laden.
.. image:: ../../img/user/android_configuration_get_feed_credentials.de.png
:alt: Feedzugangsdaten abholen
:align: center
Wenn der Prozess des Abholens deiner Feedzugangsdaten erfolgreich beendet wurde, siehst du eine Toastnachricht, dass die User ID und der Token automatisch in das Formular eingetragen wurden.
.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.de.png
:alt: Feedzugangsdaten erfolgreich abgeholt
:align: center
Jetzt scrollst du bis zum unteren Rand des Einstellungsbildschirms. Natürlich kannst du die Einstellungen dort deinen Wünschen anpassen. Schließe die Einrichtung mit dem Drücken des Speicherbuttons ab.
.. image:: ../../img/user/android_configuration_scroll_bottom.de.png
:alt: unterer Rand des Einstellungsbildschirms
:align: center
Nachdem du den Speicherbutton gedrückt hast, kommst du in den folgenden Bildschirm. Die App schlägt vor, eine initiale Synchronisation der Artikelfeeds durchzuführen. Hier ist es empfohlen, dies zu bestätigen und Ja zu drücken.
.. image:: ../../img/user/android_configuration_saved_feed_update.de.png
:alt: Einstellung erstmals gespeichert
:align: center
Schließlich nach der ersten erfolgreichen Synchronisation, wird dir die Liste der ungelesenen Artikel präsentiert.
.. image:: ../../img/user/android_unread_feed_synced.de.png
:alt: Gefüllte Artikellist da Feeds erfolgreich synchronisiert sind
:align: center
Bekannte Limitierungen
---------------------
Zwei-Faktor-Authentifizierung (2FA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Zur Zeit unterstützt die App keine Zwei-Faktor Authentifizierung. Du solltest sie deaktivieren damit die App funktioniert.
Begrenzte Anzahl Artikel mit Wallabag v2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In deiner Wallabaginstanz kannst du einstellen, wie viele Artikel Teil deiner RSS Feeds sind. Diese Option existierte in Wallabag v1 nicht, wo immer alle Artikel Teil des Feeds waren. Also wenn du die Anzahl der Artikel, die in der App angezeigt werden sollen, größer einstellst als die Anzahl Artikel in deinem Feed, wirst du nur die Anzahl an Artikel deines Feeds sehen.
SSL/TLS Verschlüsselung
~~~~~~~~~~~~~~~~~~~~~~~
Wenn du deine Wallabaginstanz per HTTPS erreichen kannst, solltest du das so konfigurieren. Besonders dann, wenn deine HTTP URL nach HTTPS umleitet. Im Moment kann die App mit dieser Weiterleitung nicht korrekt umgehen.
Referenzen
----------
- `Quellcode der Android-App <https://github.com/wallabag/android-app>`_
- `Android-App auf F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
- `Android-App auf Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_

View File

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

View File

@ -1,25 +0,0 @@
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 `web/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert).

View File

@ -1,117 +0,0 @@
Konfiguration
=============
Nun, da du eingeloggt bist, ist es Zeit, deinen Account so zu konfigurieren,
wie du möchtest.
Klicke auf ``Konfiguration`` im Menü. Du hast fünf Karteireiter: ``Einstellungen``,
``RSS``, ``Benutzer-Informationen``, ``Kennwort`` und ``Tagging-Regeln``.
Einstellungen
-------------
Theme
~~~~~
wallabag ist anpassbar. Du kannst dein bevorzugtes Theme hier auswählen. Das Standardtheme
ist ``Material``, es ist das Theme, dass in den Dokumentationsbildschirmfotos genutzt wird.
Artikel pro Seite
~~~~~~~~~~~~~~~~~
Du kannst die Anzahl der dargestellten Artikel pro Seite ändern.
Lesegeschwindigkeit
~~~~~~~~~~~~~~~~~~~
wallabag berechnet die Lesezeit für jeden Artikel. Du kannst hier definieren, dank dieser Liste, ob du
ein schneller oder langsamer Leser bist. wallabag wird die Lesezeit für jeden Artikel neu berechnen.
Sprache
~~~~~~~
Du kannst die Sprache von der wallabag Benutzeroberfläche ändern.
RSS
---
wallabag stellt RSS Feeds für jeden Artikelstatus bereit: ungelesen, Favoriten und Archiv.
Als erstes musst du einen persönlciehn Token erstellen: Klicke auf ``Token generieren``.
Es ist möglich deinen Token zu ändern, indem du auf ``Token zurücksetzen`` klickst.
Jetzt hast du drei Links, einen für jeden Status: Füge sie in deinem liebsten Feedreader hinzu.
Du kannst auch definieren wie viele Artikel du in deinem RSS Feed (Standardwert: 50) haben willst.
Benutzer-Informationen
----------------------
Du kannst deinen Namen ändern, deine E-Mail-Adresse und die Zwei-Faktor-Authentifizierung aktivieren.
Zwei-Faktor-Authentifizierung (2FA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Die Zwei-Faktor-Authentifizierung (2FA) dient dem Identitätsnachweis eines Nutzers mittels der
Kombination zweier verschiedener und insbesondere unabhängiger Komponenten (Faktoren).
https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung
Wenn du 2FA aktivierst, erhälst du jedes Mal, wenn du dich bei wallabag einloggen willst, einen Code per
Mail. Du musst den Code in das folgende Formular eingeben.
.. image:: ../../img/user/2FA_form.png
:alt: Zwei-Faktor-Authentifizierung
:align: center
Wenn du nicht jedes Mal, wenn du dich einloggen willst, einen Code zugesendet bekommen möchtest, kannst du
die Checkbox ``Ich bin an einem persönlichen Computer`` anhaken: wallabag wird sich an dich für 15 Tage
erinnern.
Passwort
--------
Du kannst dein Passwort hier ändern (8 Zeichen Minimum).
Tagging-Regeln
--------------
Wenn du automatisch einen Tag zu einem neuen Artikel zuweisen lassen möchtest, ist dieser Teil der
Konfiguration, was du suchst.
Was ist mit Tagging-Regeln gemeint?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dies sind Regeln, die von wallabag genutzt werden, um neue Artikel automatisch zu taggen
Jedes Mal, wenn ein neuer Artikel hinzugefügt wird, werden alle Tagging-Regeln genutzt, um deine
konfigurierten Tags hinzuzufügen, folglich um dir den Aufwand zu sparen, die Artikel manuell einzuteilen.
Wie benutze ich sie?
~~~~~~~~~~~~~~~~~~~~
Nehmen wir an, du möchtest neuen Artikeln einen Tag *schnell gelesen*, wenn du die Lesezeit kleiner als
3 Minuten ist.
In diesem Fall solltest du in das Regelfeld "readingTime <= 3" eintragen und *schnell gelesen* in das Tags-Feld.
Mehrere Tags können gleichzeitig hinzugefügt werden, wenn man sie mit einem Komma trennt:
*schnell gelesen, Pflichtlektüre*.
Komplexe Regeln können mit vordefinierten Operatoren geschrieben werden:
Wenn *readingTime >= 5 AND domainName = "github.com"*, dann tagge als *lange zu lesen, github*.
Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
----------- ---------------------------------------------- -------- ----------
title Titel des Artikels <= Kleiner gleich als…
url URL des Artikels < Kleiner als…
isArchived Ob der Artikel archiviert ist oder nicht => Größer gleich als…
isStarred Ob der Artikel favorisiert ist oder nicht > Größer als…
content Inhalt des Eintrags = Gleich zu…
language Sprache des Eintrags != Nicht gleich zu…
mimetype MIME-Typ des Eintrags OR Eine Regel oder die andere
readingTime Die geschätzte Lesezeit in Minuten AND Eine Regel und die andere
domainName Der Domain-Name des Eintrags matches Testet, dass ein Feld einer Suche (unabhängig von Groß- und Kleinschreibung) übereinstimmt. Z.B.: title matches "Fußball"
=========== ============================================== ======== ==========

View File

@ -1,41 +0,0 @@
Account erstellen
=================
Registrierungsformular
----------------------
Klicke auf der Loginseite auf den ``Registrieren`` Button-
.. image:: ../../img/user/registration_form.png
:alt: Registrierungsformular
:align: center
Du musst das Formular ausfüllen. Bitte stelle sicher, dass du eine gültige
E-Mail-Adresse eingibst, wir werden dir eine Aktivierungsmail schicken.
.. image:: ../../img/user/sent_email.png
:alt: E-Mail wurde gesendet, um Account zu aktivieren
:align: center
Überprüfge deinen Posteingang, du hast jetzt eine neue Mail mit einem Link wie diesen
``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
Klicke auf den Link, um deinen Account zu aktivieren.
Dein Account ist nun aktiviert.
.. image:: ../../img/user/activated_account.png
:alt: Willkommen!
:align: center
Anmeldung
---------
Glückwunsch, dein Account ist nun aktiviert!
Um dich auf wallabag anzumelden, fülle das Formular auf der Login-Seite aus.
Wenn du auf einem persönlichen Computer bist und angemeldet bleiben möchtest,
kannst du ein Häkchen nach ``angemeldet bleiben`` setzen, wallabag wird sich ein Jahr an dich erinnern.
.. image:: ../../img/user/login_form.png
:alt: Login form
:align: center

View File

@ -1,28 +0,0 @@
Fehler während des Artikelladens
================================
Warum schlägt das Laden eines Artikels fehl?
--------------------------------------------
Das kann verschiedene Ursachen haben:
- Netzwerkprobleme
- wallabag kann den Inhalt aufgrund der Websitestruktur nicht laden
Wie kann ich helfen das zu beheben?
-----------------------------------
- `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello@wallabag.org>`_
- indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel
selbst zu beheben
Du kannst `dieses Tool <http://siteconfig.fivefilters.org/>`__ nutzen.
Wie kann ich versuchen, einen Artikel erneut zu laden?
------------------------------------------------------
Wenn wallabag beim Laden eines Artikels fehlschlägt, kannst du auf den erneut laden Button
klicken (der dritte in dem unteren Bild).
.. image:: ../../img/user/refetch.png
:alt: Inhalt neu laden
:align: center

View File

@ -1,52 +0,0 @@
Häufig gestellte Fragen
==========================
Während der Installation sehe ich den Fehler ``Error Output: sh: 1: @post-cmd: not found``
------------------------------------------------------------------------------------------
Es scheint, dass du ein Problem bei deiner ``composer`` Installation hast. Versuche es zu deinstallieren und neu zu installieren.
`Lies die Dokumentation über composer, um zu erfahren wie es installiert wird
<https://getcomposer.org/doc/00-intro.md>`__.
Ich kann das Registrierungsformular nicht validieren
----------------------------------------------------
Stelle sicher, dass alle Felder ausgefüllt sind:
* valide E-Mail-Adresse
* das gleiche Passwort in zwei Feldern
Ich erhalte meine Aktivierungsmail nicht
----------------------------------------
Bist du sicher, dass deine eingegebene E-Mail-Adresse korrekt war? Hast du deinen Spamordner überprüft?
Wenn du dann immer noch nicht deine Aktivierungsmail siehst, stelle bitte sicher, dass du einen MTA
korrekt installiert und eingerichtet hast. Prüfe, dass deine Firewallregel existiert, z.B. für firewalld:
::
firewall-cmd --permanent --add-service=smtp
firewall-cmd --reload
Schließlich, falls du SELinux aktiviert hast, setze folgende Regel:
``setsebool -P httpd_can_sendmail 1``
Wenn ich den Aktivierungslink klicke, bekomme ich die Nachricht ``Der Nutzer mit dem Bestätigungstoken "DtrOPfbQeVkWf6N" existiert nicht``
------------------------------------------------------------------------------------------------------------------------------------------
Du hast deinen Account schon aktiviert oder die URL der Aktivierungsmail ist falsch.
Ich habe mein Passwort vergessen
--------------------------------
Du kannst dein Passwort zurücksetzen, indem du auf den Link ``Kennwort vergessen?`` auf der Loginseite klickst. Fülle dann das Formular mit deiner E-Mail-Adresse oder deinem Nutzernamen aus
und du wirst eine E-Mail zum Passwort zurücksetzen erhalten.
Ich erhalte den Fehler ``failed to load external entity``, wenn ich wallabag installiere
----------------------------------------------------------------------------------------
Wie `hier <https://github.com/wallabag/wallabag/issues/2529>`_ beschrieben, bearbeite bitte deine Datei ``web/app.php`` und füge ihr diese Zeile ``libxml_disable_entity_loader(false);`` in Zeile 5 hinzu.
Dies ist ein Doctrine / PHP Fehler - nichts, woran wir etwas ändern können.

View File

@ -1,49 +0,0 @@
Filter
======
Um Artikel leichter zu erreichen, kannst du sie filtern.
Klicke auf das dritte Symbol in der oberen Leiste.
.. image:: ../../img/user/topbar.png
:alt: Obere Leiste
:align: center
Alle diese Filter können kombiniert werden.
.. image:: ../../img/user/filters.png
:alt: Kombiniere alle Filter
:align: center
Status
------
Nutze die Checkboxen, um einen archivierten oder favorisierten Artikel zu finden.
Vorschaubild
---------------
Hake diesen Filter an, wenn du Artikel mit einem Vorschaubild erhalten willst.
Sprache
-------
wallabag (via graby) kann die Artikelsprache erkennen. Es ist einfach für dich, Artikel
in einer bestimmten Sprache zu filtern.
Lesezeit
--------
wallabag schätzt wieviel Zeit du brauchst, um einen Artikel zu lesen. Mit diesem Filter
kannst du zum Beispiel Artikel mit einer Lesezeit zwischen 2 und 5 Minuten finden.
Domainname
----------
Dank dieses Filters, kannst ud Artikel von der gleichen Domain finden.
Zum Beispiel tippst du in diesem Feld ``bbc.co.uk``, um Artikel dieser Website zu finden.
Erstellungsdatum
----------------
Wenn du Artikel speicherst, merkt sich wallabag das aktuelle Datum. So praktisch, um Aritkel, die
zwischen dem 1. und 31. Januar geschrieben sind, zu finden.

View File

@ -1,137 +0,0 @@
Migration von einem Drittanbieter
=================================
In wallabag 2.x kannst du Daten von folgenden Anbietern importieren:
- Pocket <#id1>`_
- Readability <#id2>`_
- Instapaper <#id4>`_
- wallabag 1.x <#id6>`_
- wallabag 2.x <#id7>`_
Wir haben zusätzlich `ein Skript für die Migration per Kommandozeile <#import-via-command-line-interface-cli>`_ geschrieben.
Da Importe eine Menge Zeit in Anspruch nehmen können, haben wir auch ein asynchrones Aufgabensystem entwickelt. `Du kannst die Dokumentation hier lesen <http://doc.wallabag.org/de/master/developer/asynchronous.html>`_ (für Experten).
Pocket
------
Erstelle eine neue Applikation in Pocket
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Um deine Daten von Pocket zu importieren, nutzen wir die Pocket API. Du musst
eine neue Applikation auf ihrer Entwicklerwebsite erstellen, um fortzufahren.
* Erstelle eine neue Applikation `auf der Entwicklerwebsite <https://getpocket.com/developer/apps/new>`_
* Fülle die erforderlichen Felder aus: Name, Beschreibung, Berechtigungen (nur **abrufen**), Plattform
(**web**), akzeptiere die Nutzungsbedingungen und reiche deine neue Applikation ein
Pocket wird dir einen **Consumer Key** geben (z.B. `49961-985e4b92fe21fe4c78d682c1`).
Du musst den ``pocket_consumer_key`` in dem Abschnitt ``Import`` in dem ``Interne Einstellungen`` Menü
konfigurieren.
Jetzt ist alles in Ordnung, um von Pocket zu migrieren.
Importiere deine Daten in wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Klicke auf den ``Importieren`` Link im Menü, auf ``Inhalte importieren`` in dem Pocketabschnitt und
dann auf ``Verbinde mit Pocket und importieren Daten``.
Du musst wallabag erlauben, mit deinem Pocketaccount zu interagieren.
Deine Daten werden importiert. Datenimport kann ein sehr anspruchsvoller Prozess für deinen Server
sein (wir müssen daran arbeiten, um diesen Import zu verbessern).
Readability
-----------
Exportiere deine Readability-Daten
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Auf der Tools-Seite (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_), klicke auf "Daten exportieren" im "Daten-Export"-Abschnitt. Du wirst eine E-Mail mit einem Downloadlink zu einer JSON-Datei erhalten, welche zugegebenermaßen nicht mit .json endet.
Importiere deine Daten in wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Klicke auf den ``Importieren``-Link im Menü, auf ``Inhalte importieren`` im Readability-Abschnitt und wähle dann deine JSON-Datei aus und lade sie hoch.
Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein.
Instapaper
----------
Exportiere deine Instapaper-Daten
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Klicke in den Einstellungen (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_) auf "CSV-Datei herunterladen" im Export-Abschnitt. Eine CSV-Datei mit dem Namen ``instapaper-export.csv`` wird heruntergeladen.
Importiere deine Daten in wallabag 2.x
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Klicke auf den ``Importieren``-Link im Menü, auf ``Inhalte importieren`` im Instapaper-Abschnitt und wähle dann deine CSV-Datei aus und lade sie hoch.
Deine Daten werden dann importiert. Dies kann eine starke Belastung für den Server sein.
wallabag 1.x
------------
Wenn du in der Vergangenheit wallabag 1.x genutzt hast, musst du deine Daten exportieren, bevor du auf wallabag 2.x umsteigst, da sich viel an der Anwendung und der Datenbank geändert hast. In deiner alten wallabag-installation kannst du deine Daten exportieren, indem du die Konfigurationsseite auf der alten wallabag-Instanz öffnest.
.. image:: ../../img/user/export_v1.png
:alt: Export aus wallabag 1.x
:align: center
.. note::
Wenn du mehrere Accounts auf der gleichen wallabag-Instanz hast, muss jeder Nutzer seine Daten aus 1.x exportieren und in 2.x importieren.
.. note::
Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den `Support zu kontaktieren <https://www.wallabag.org/pages/support.html>`__.
Wenn du dann die JSON-Datei mit deinen Einträgen heruntergeladen hast, kannst du `wallabag 2 über die Standard-Prozedur installieren <http://doc.wallabag.org/en/master/user/installation.html>`__.
Nach dem Erstellen des Benutzeraccounts auf deiner neuen "wallabag 2.x"-Instanz, navigiere auf den Import-Bereich und wähle `Aus wallabag v1 importieren`. Wähle deine JSON-Datei und lade sie hoch.
.. image:: ../../img/user/import_wallabagv1.png
:alt: Import aus wallabag v1
:align: center
wallabag 2.x
------------
Gehe auf der alten wallabag-Instanz, die du vorher genutzt hast, auf `Alle Artikel` und exportiere diese dann als JSON.
.. image:: ../../img/user/export_v2.png
:alt: Export aus wallabag v2
:align: center
Nach dem Erstellen des Benutzeraccounts auf deiner neuen "wallabag 2.x"-Instanz, navigiere auf den Import-Bereich und wähle `Aus wallabag v2 importieren`. Wähle deine JSON-Datei und lade sie hoch.
.. note::
Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den `Support zu kontaktieren <https://www.wallabag.org/pages/support.html>`__.
Import über die Kommandozeile (CLI)
-----------------------------------
Falls du auf deinem Server Zugriff auf die Kommandozeile hast, kannst du den folgenden Befehl ausführen, um deine Daten aus wallabag v1 zu importieren:
::
bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
Bitte ersetze die Werte:
* ``1`` ist die Benutzer-ID in der Datenbank (die ID des ersten Benutzers ist immer 1)
* ``~/Downloads/wallabag-export-1-2016-04-05.json`` ist der Pfad zu deiner wallabag v1-Exportdatei
Wenn du alle Artikel als gelesen markieren möchtest, kannst du die ``--markAsRead``-Option hinzufügen.
Um eine wallabag 2.x-Datei zu importieren, musst du die Option ``--importer=v2`` hinzufügen.
Als Ergebnis wirst du so etwas erhalten:
::
Start : 05-04-2016 11:36:07 ---
403 imported
0 already saved
End : 05-04-2016 11:36:09 ---

View File

@ -1,335 +0,0 @@
Installation von wallabag
=========================
Voraussetzungen
---------------
wallabag ist kompatibel mit PHP >= 5.5, inkl. PHP 7.
.. note::
To install wallabag easily, we create a ``Makefile``, so you need to have the ``make`` tool.
wallabag nutzt eine große Anzahl an Bibliotheken, um zu funktionieren. Diese Bibliotheken müssen mit einem Tool namens Composer installiert werden. Du musst es installieren sofern du es bisher noch nicht gemacht hast.
Composer installieren:
::
curl -s http://getcomposer.org/installer | php
Du kannst eine spezifische Anleitung `hier <https://getcomposer.org/doc/00-intro.md>`__ finden.
Du benötigst die folgenden Extensions damit wallabag funktioniert. Einige von diesen sind vielleicht schon in deiner Version von PHP aktiviert, somit musst du eventuell
nicht alle folgenden Pakete installieren.
- php-session
- php-ctype
- php-dom
- php-hash
- php-simplexml
- php-json
- php-gd
- php-mbstring
- php-xml
- php-tidy
- php-iconv
- php-curl
- php-gettext
- php-tokenizer
- php-bcmath
wallabag nutzt PDO, um sich mit der Datenbank zu verbinden, darum benötigst du eines der folgenden Komponenten:
- pdo_mysql
- pdo_sqlite
- pdo_pgsql
und dessen dazugehörigen Datenbankserver.
Installation
------------
Auf einem dedizierten Webserver (empfohlener Weg)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Um wallabag selbst zu installieren, musst du die folgenden Kommandos ausführen:
::
git clone https://github.com/wallabag/wallabag.git
cd wallabag && make install
Um PHPs eingebauten Server zu starten und zu testen, ob alles korrekt installiert wurde, kannst du folgendes Kommando ausführen:
::
make run
und wallabag unter http://deineserverip:8000 erreichen.
.. tip::
Um Parameter mit Umgebungsvariable zu definieren, musst du die Variable mit dem ``SYMFONY__`` Präfix setzen. Zum Beispiel ``SYMFONY__DATABASE_DRIVER``. Du kannst einen Blick die `Symfony Dokumentation <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ werfen.
Auf einem geteilten Webhosting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wir stellen ein Paket inkl. aller Abhängigkeiten bereit.
Die Standardkonfiguration nutzt SQLite für die Datenbank. Wenn du diese Einstellung ändern willst, ändere bitte ``app/config/parameters.yml``.
Wir haben bereits einen Nutzer erstellt: Login und Passwort sind ``wallabag``.
.. caution:: Mit diesem Paket überprüft wallabag nicht die von der Applikation gebrauchten Exentions (diese Tests werden während ``composer install`` durchgeführt wenn du einen dedizierten Webserver hast, siehe oben).
Führe dieses Kommando aus, um das neueste Paket herunterzuladen und zu entpacken:
.. code-block:: bash
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://www.wallabag.org/pages/download-wallabag.html>`_.
Jetzt lies die Dokumentation, um einen Virtualhost zu erstellen, dann greife auf dein wallabag zu.
Wenn du die Datenbankkonfiguration eingestellt hast, MySQL oder PostgreSQL zu nutzen, musst du einen Nutzer über das folgende Kommando erstellen ``php bin/console wallabag:install --env=prod``.
Installation mit Docker
~~~~~~~~~~~~~~~~~~~~~~~
Wir stellen ein Docker Image zu Verfügung, um wallabag einfach zu installieren. Schaue in unser Repository in unserem `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__, um mehr Informationen zu erhalten.
Kommando, um den Container zu starten
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: bash
docker pull wallabag/wallabag
Virtualhosts
------------
Konfiguration von Apache
~~~~~~~~~~~~~~~~~~~~~~~~
Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren und du willst PHP als Apache Modul nutzen, dann ist hier ein vhost für wallabag:
::
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/wallabag/web
<Directory /var/www/wallabag/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeScript assets
# <Directory /var/www/wallabag>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/wallabag/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wallabag_error.log
CustomLog /var/log/apache2/wallabag_access.log combined
</VirtualHost>
Nach dem du Apache neugeladen oder neugestartet hast, solltest du nun wallabag unter http://domain.tld erreichen.
Konfiguration von Nginx
~~~~~~~~~~~~~~~~~~~~~~~
Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren, dann ist hier ein Rezept für wallabag:
::
server {
server_name domain.tld www.domain.tld;
root /var/www/wallabag/web;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Nach dem Neuladen oder Neustarten von nginx solltest du nun wallabag unter http://domain.tld erreichen.
.. tip::
Wenn du eine große Datei in wallabag importieren willst, solltest du diese Zeile zu deiner nginx Konfiguration hinzufügen ``client_max_body_size XM; # allows file uploads up to X megabytes``.
Konfiguration von lighttpd
~~~~~~~~~~~~~~~~~~~~~~~~~~
Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren, dann ist hier ein Rezept für wallabag (bearbeite deine ``lighttpd.conf`` und füge die Konfiguration dort ein):
::
server.modules = (
"mod_fastcgi",
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
"mod_rewrite",
)
server.document-root = "/var/www/wallabag/web"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
server.follow-symlink = "enable"
index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
dir-listing.activate = "disable"
url.rewrite-if-not-file = (
"^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
"^/([^?]*)" => "/app.php?=$1",
)
Rechte, um das Projektverzeichnis zu betreten
---------------------------------------------
Testumgebung
~~~~~~~~~~~~
Wenn wir nur wallabag testen wollen, führen wir nur das Kommando ``php bin/console server:run --env=prod`` aus, um unsere wallabag Instanz zu starten und alles wird geschmeidig laufen, weil der Nutzer, der das Projekt gestartet hat, den aktuellen Ordner ohne Probleme betreten kann.
Produktionsumgebung
~~~~~~~~~~~~~~~~~~~
Sobald wir Apache oder Nginx nutzen, um unsere wallabag Instanz zu erreichen, und nicht das Kommando ``php bin/console server:run --env=prod`` nutzen, sollten wir dafür sorgen, die Rechte vernünftig zu vergeben, um die Ordner des Projektes zu schützen.
Um dies zu machen, muss der Ordner, bekannt als ``DocumentRoot`` (bei Apache) oder ``root`` (bei Nginx), von dem Apache-/Nginx-Nutzer zugänglich sein. Sein Name ist meist ``www-data``, ``apache`` oder ``nobody`` (abhängig vom genutzten Linuxsystem).
Der Ordner ``/var/www/wallabag/web`` musst dem letztgenannten zugänglich sein. Aber dies könnte nicht genug sein, wenn wir nur auf diesen Ordner achten, weil wir eine leere Seite sehen könnten oder einen Fehler 500, wenn wir die Homepage des Projekt öffnen.
Dies kommt daher, dass wir die gleichen Rechte dem Ordner ``/var/www/wallabag/var`` geben müssen, so wie wir es für den Ordner ``/var/www/wallabag/web`` gemacht haben. Somit beheben wir das Problem mit dem folgenden Kommando:
.. code-block:: bash
chown -R www-data:www-data /var/www/wallabag/var
Es muss analog für die folgenden Ordner ausgeführt werden
* /var/www/wallabag/bin/
* /var/www/wallabag/app/config/
* /var/www/wallabag/vendor/
* /var/www/wallabag/data/
durch Eingabe der Kommandos
.. code-block:: bash
chown -R www-data:www-data /var/www/wallabag/bin
chown -R www-data:www-data /var/www/wallabag/app/config
chown -R www-data:www-data /var/www/wallabag/vendor
chown -R www-data:www-data /var/www/wallabag/data/
ansonsten wirst du früher oder später folgenden Fehlermeldung sehen:
.. code-block:: bash
Unable to write to the "bin" directory.
file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
Zusätzliche Regeln für SELinux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wenn SELinux in deinem System aktiviert ist, wirst du zusätzliche Kontexte konfigurieren müssen damit wallabag ordentlich funktioniert. Um zu testen, ob SELinux aktiviert ist, führe einfach folgendes aus:
``getenforce``
Dies wird ``Enforcing`` ausgeben, wenn SELinux aktiviert ist. Einen neuen Kontext zu erstellen, erfordert die folgende Syntax:
``semanage fcontext -a -t <context type> <full path>``
Zum Beispiel:
``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
Dies wird rekursiv den httpd_sys_content_t Kontext auf das wallabag Verzeichnis und alle darunterliegenden Dateien und Ordner anwenden. Die folgenden Regeln werden gebraucht:
+-----------------------------------+----------------------------+
| Vollständiger Pfad | Kontext |
+===================================+============================+
| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` |
+-----------------------------------+----------------------------+
| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` |
+-----------------------------------+----------------------------+
| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` |
+-----------------------------------+----------------------------+
| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` |
+-----------------------------------+----------------------------+
Nach dem diese Kontexte erstellt wurden, tippe das folgende, um deine Regeln anzuwenden:
``restorecon -R -v /var/www/wallabag``
Du kannst deine Kontexte in einem Verzeichnis überprüfen, indem du ``ls -lZ`` tippst und alle deine aktuellen Regeln mit ``semanage fcontext -l -C`` überprüfst.
Wenn du das vorkonfigurierte latest-v2-package installierst, dann ist eine weitere Regel während der Installation nötig:
``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
Nachdem du erfolgreich dein wallabag erreichst und die Installation fertiggestellt hast, kann dieser Kontext entfernt werden:
::
semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
retorecon -R -v /var/www/wallabag/var

View File

@ -1,93 +0,0 @@
Was bedeuten die Parameter?
===========================
Standardeinstellungen der `parameters.yml`
------------------------------------------
Dies ist die letzte standardisierte Version der `app/config/parameters.yml`-Datei. Stelle sicher, dass sich deine mit dieser ähnelt.
Wenn du nicht weißt, welchen Wert du setzen sollst, belasse es bei dem Standardwert.
.. code-block:: yml
parameters:
database_driver: pdo_sqlite
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
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
mailer_user: null
mailer_password: null
locale: en
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
fosuser_registration: true
fosuser_confirmation: true
from_email: no-reply@wallabag.org
rss_limit: 50
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
Bedeutung von jedem Parameter
-----------------------------
.. csv-table:: Datenbankparameter
:header: "Name", "Standardwert", "Beschreibung"
"database_driver", "pdo_sqlite", "Sollte pdo_sqlite oder pdo_mysql oder pdo_pgsql sein"
"database_host", "127.0.0.1", "Hostadresse deiner Datenbank (normalerweise localhost oder 127.0.0.1)"
"database_port", "~", "Port deiner Datenbank (Du kannst ``~`` stehen lassen, um den Standardport zu nutzen)"
"database_name", "symfony", "Benenne deine Datenbank"
"database_user", "root", "Benutzer, der Schreibrecht in der Datenbank hat"
"database_password", "~", "Passwort des Benutzers"
"database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "nur für SQLite, definiere, wo die Datenbankdatei abgelegt werden soll. Lass den Parameter leer für andere Datenbanktypen."
"database_table_prefix", "wallabag_", "alle wallabag Tabellen erhalten diesen Präfix im Namen. Du kannst einen ``_`` dafür im Präfix nutzen, um das zu verdeutlichen."
"database_socket", "null", "Wenn deine Datenbank einen Socket statt TCP nutzt, schreibe hier den Pfad zum Socket hin (andere Verbindungsparameter werden dann ignoriert."
.. csv-table:: Konfiguration, um mit wallabag E-Mails senden zu können
:header: "Name", "Standardwert", "Beschreibung"
"mailer_transport", "smtp", "Die exakte Transportmethode, um E-Mails zuzustellen. Gültige Werte sind: smtp, gmail, mail, sendmail, null (was das Mailen deaktivert)"
"mailer_host", "127.0.0.1", "Der Host, zu dem sich verbunden wird, wenn SMTP als Transport genutzt wird."
"mailer_user", "~", "Der Benutzername, wenn SMTP als Transport genutzt wird."
"mailer_password", "~", "Das Passwort, wenn SMTP als Transport genutzt wird."
.. csv-table:: Andere wallabag Optionen
:header: "Name", "Standardwert", "Beschreibung"
"locale", "en", "Standardsprache deiner wallabag Instanz (wie z.B. en, fr, es, etc.)"
"secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Dieser String sollte einzigartig für deine Applikation sein und er wird genutzt, um sicherheitsrelevanten Operationen mehr Entropie hinzuzufügen."
"twofactor_auth", "true", "true, um Zwei-Faktor-Authentifizierung zu aktivieren"
"twofactor_sender", "no-reply@wallabag.org", "E-Mail-Adresse des Senders der Mails mit dem Code für die Zwei-Faktor-Authentifizierung"
"fosuser_registration", "true", "true, um die Registrierung für jedermann zu aktivieren"
"fosuser_confirmation", "true", "true, um eine Bestätigungsmail für jede Registrierung zu senden"
"from_email", "no-reply@wallabag.org", "E-Mail-Adresse, die im Absenderfeld jeder Mail genutzt wird"
"rss_limit", "50", "Artikellimit für RSS Feeds"
.. csv-table:: RabbitMQ Konfiguration
:header: "Name", "Standardwert", "Beschreibung"
"rabbitmq_host", "localhost", "Host deines RabbitMQ"
"rabbitmq_port", "5672", "Port deines RabbitMQ"
"rabbitmq_user", "guest", "Benutzer, der die Queue lesen kann"
"rabbitmq_password", "guest", "Passwort dieses Benutzers"
.. csv-table:: Redis Konfiguration
:header: "Name", "Standardwert", "Beschreibung"
"redis_scheme", "tcp", "Bestimmt das Protokoll, dass genutzt wird, um mit Redis zu kommunizieren. Gültige Werte sind: tcp, unix, http"
"redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)"
"redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)"
"redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt"

View File

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

View File

@ -1,103 +0,0 @@
wallabag-Installation aktualisieren
===================================
Du wirst hier mehrere Wege finden, um deine wallabag zu aktualisieren:
- `von 2.0.x zu 2.1.1 <#upgrade-von-2-0-x-zu-2-1-1>`_
- `von 2.1.x zu 2.1.y <#upgrade-von-2-1-x-zu-2-1-y>`_
- `von 1.x zu 2.x <#upgrade-von-1-x>`_
Upgrade von 2.0.x zu 2.1.1
---------------------------
.. warning::
Mache eine Sicherung deines Pocket-Consumer-Key, falls hinzugefügt, da dieser nach dem Upgrade erneut hinzugefügt werden muss.
Upgrade auf einem dedizierten Webserver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
::
rm -rf var/cache/*
git fetch origin
git fetch --tags
git checkout 2.1.1 --force
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
php bin/console doctrine:migrations:migrate --env=prod
php bin/console cache:clear --env=prod
Upgrade auf einem Shared Hosting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sichere deine ``app/config/parameters.yml``-Datei.
Lade das 2.1.1-Release von wallabag herunter:
.. code-block:: bash
wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
Bitte überprüfe, dass deine ``app/config/parameters.yml`` alle notwendigen Parameter enthält. Eine Dokumentation darüber `findest du hier <http://doc.wallabag.org/de/master/user/parameters.html>`_.
Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue Installation kopieren.
Leere den ``var/cache``-Ordner.
Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist und eine MySQL-Datenbank verwendet wird:
.. code-block:: sql
ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
Upgrade von 2.1.x zu 2.1.y
-----------------------------
Upgrade auf einem dedizierten Webserver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Um deine wallabag-Installation auf die letzte Version zu aktualisieren, führe den folgenden Befehl in deinem wallabag-Ordner aus:
::
make update
Upgrade auf einem Shared Hosting
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sichere deine ``app/config/parameters.yml``-Datei.
Lade das letzte Release von wallabag herunter:
.. code-block:: bash
wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
Du findest den `aktuellen MD5-Hash auf unserer Webseite <https://www.wallabag.org/pages/download-wallabag.html>`_.
Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
Bitte überprüfe, dass deine ``app/config/parameters.yml`` alle notwendigen Parameter enthält. Eine Dokumentation darüber `findest du hier <http://doc.wallabag.org/de/master/user/parameters.html>`_.
Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue Installation kopieren.
Leere den ``var/cache``-Ordner.
Upgrade von 1.x
---------------
Es gibt kein automatisiertes Skript, um wallabag 1.x auf wallabag 2.x zu aktualisieren. Du musst:
- deine Daten exportieren
- wallabag 2.x installieren (Dokumentation <http://doc.wallabag.org/en/master/user/installation.html>`_ )
- die Daten in die neue Installation importieren (`Dokumentation <http://doc.wallabag.org/en/master/user/import.html>`_ )

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