forked from wallabag/wallabag
Compare commits
1 Commits
2.1.1
...
2.0.0-alph
| Author | SHA1 | Date | |
|---|---|---|---|
| a45f644148 |
@ -1,7 +0,0 @@
|
||||
{
|
||||
"github-oauth": {
|
||||
"github.com": "PLEASE DO NOT USE THIS TOKEN IN YOUR OWN PROJECTS/FORKS",
|
||||
"github.com": "This token is reserved for testing the wallabag/wallabag repository",
|
||||
"github.com": "73d9411c719a0a56259dbfa16673793b39973091"
|
||||
}
|
||||
}
|
||||
@ -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}]
|
||||
}
|
||||
}
|
||||
13
.github/CONTRIBUTING.md
vendored
13
.github/CONTRIBUTING.md
vendored
@ -1,13 +0,0 @@
|
||||
# How to contribute
|
||||
|
||||
## You found a bug
|
||||
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
|
||||
|
||||
To fix the bug quickly, we need some infos: please answer to the questions in the issue form.
|
||||
|
||||
If you have the skills, look for errors into php, server and application (see `var/logs`) logs.
|
||||
|
||||
Note : If you have large portions of text, use [Github's Gist service](https://gist.github.com/) or other pastebin-like.
|
||||
|
||||
## You want to fix a bug or to add a feature
|
||||
Please fork wallabag and work with **the master branch**.
|
||||
19
.github/ISSUE_TEMPLATE.md
vendored
19
.github/ISSUE_TEMPLATE.md
vendored
@ -1,19 +0,0 @@
|
||||
### Issue details
|
||||
|
||||
Please provide issue details here.
|
||||
Remember, this is _not_ a place to ask questions. For that, go to http://gitter.im/wallabag/wallabag.
|
||||
|
||||
### Environment
|
||||
|
||||
* wallabag version (or git revision) that exhibits the issue:
|
||||
* How did you install wallabag? Via `git clone` or by downloading the package?
|
||||
* Last wallabag version that did not exhibit the issue (if applicable):
|
||||
* php version:
|
||||
* OS:
|
||||
* type of hosting (shared or dedicated):
|
||||
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL):
|
||||
|
||||
### Steps to reproduce/test case
|
||||
|
||||
Please provide necessary steps for reproduction of this issue, or better the
|
||||
reduced test case (without any external dependencies, if possible).
|
||||
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,11 +0,0 @@
|
||||
| Q | A
|
||||
| ------------- | ---
|
||||
| Bug fix? | yes|no
|
||||
| New feature? | yes|no
|
||||
| BC breaks? | yes|no
|
||||
| Deprecations? | yes|no
|
||||
| Tests pass? | yes|no
|
||||
| Documentation | yes|no
|
||||
| Translation | yes|no
|
||||
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
|
||||
| License | MIT
|
||||
16
.gitignore
vendored
16
.gitignore
vendored
@ -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/*
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
{
|
||||
"extends": "stylelint-config-standard"
|
||||
}
|
||||
59
.travis.yml
59
.travis.yml
@ -1,9 +1,5 @@
|
||||
language: php
|
||||
|
||||
services:
|
||||
- rabbitmq
|
||||
- redis
|
||||
|
||||
# faster builds on docker-container setup
|
||||
sudo: false
|
||||
|
||||
@ -15,64 +11,41 @@ addons:
|
||||
|
||||
# cache vendor dirs
|
||||
cache:
|
||||
apt: true
|
||||
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
|
||||
- DB=pgsql
|
||||
- DB=sqlite
|
||||
- DB=mysql
|
||||
- DB=pgsql
|
||||
- DB=sqlite
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- php: 7.0
|
||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build 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:
|
||||
except:
|
||||
- legacy
|
||||
only:
|
||||
- v2
|
||||
|
||||
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 5.0; fi;
|
||||
- if [[ $ASSETS = build ]]; then npm install -g npm@latest; fi;
|
||||
- if [[ $ASSETS = build ]]; then npm install; fi;
|
||||
|
||||
before_install:
|
||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||
- if [ -n "$GH_TOKEN" ]; then composer config github-oauth.github.com ${GH_TOKEN}; fi;
|
||||
- if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag;' -U postgres; fi;
|
||||
|
||||
script:
|
||||
- travis_wait bash composer update --no-interaction --no-progress
|
||||
- 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 [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;
|
||||
- bin/phpunit -v
|
||||
|
||||
26
.zappr.yaml
26
.zappr.yaml
@ -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
|
||||
261
CHANGELOG.md
261
CHANGELOG.md
@ -1,261 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [2.1.1] - 2016-10-04
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2340](https://github.com/wallabag/wallabag/pull/2340) Updated german translation (Strubbl)
|
||||
- [#2341](https://github.com/wallabag/wallabag/pull/2341) Updated polish translation (Mateusz Rumiński)
|
||||
- [#2354](https://github.com/wallabag/wallabag/pull/2354) Add php-bcmath extension to requirements (Godinez Pablo)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2338](https://github.com/wallabag/wallabag/pull/2338) Fixed 2.1 installation (Jeremy Benoist)
|
||||
- [#2345](https://github.com/wallabag/wallabag/issues/2345) Fixed 2.0.x update (Jeremy Benoist)
|
||||
- [#2353](https://github.com/wallabag/wallabag/pull/2353) Fixed assets problem (Thomas Citharel)
|
||||
- [#2359](https://github.com/wallabag/wallabag/pull/2359) Create config even if user is disabled (Jeremy Benoist)
|
||||
|
||||
## [2.1.0] - 2016-10-03
|
||||
|
||||
### Added
|
||||
|
||||
- [#1990](https://github.com/wallabag/wallabag/pull/1990) Added command line import for wallabag files (Nicolas Lœuillet)
|
||||
- [#2142](https://github.com/wallabag/wallabag/pull/2142) Manage assets through npm (Thomas Citharel)
|
||||
- [#2174](https://github.com/wallabag/wallabag/pull/2174) Added filter for tags on API (Thomas Citharel)
|
||||
- [#2176](https://github.com/wallabag/wallabag/pull/2176) Added `since` parameter in API (Thomas Citharel)
|
||||
- [#2170](https://github.com/wallabag/wallabag/pull/2170), [#2183](https://github.com/wallabag/wallabag/pull/2183) Added tags on entries view (Thomas Citharel)
|
||||
- [#2186](https://github.com/wallabag/wallabag/pull/2186) Added option to disable registration (Thomas Citharel)
|
||||
- [#1904](https://github.com/wallabag/wallabag/pull/1904) Share entry with a public URL (Nicolas Lœuillet)
|
||||
- [#2243](https://github.com/wallabag/wallabag/pull/2243) Added list of untagged articles (Nicolas Lœuillet)
|
||||
- [#2255](https://github.com/wallabag/wallabag/pull/2255) Added Readability import (Jeremy Benoist)
|
||||
- [#2002](https://github.com/wallabag/wallabag/pull/2002) Added articles counter in sidebar (Nicolas Lœuillet)
|
||||
- [#2275](https://github.com/wallabag/wallabag/pull/2275) Added date from entries in export (Jeremy Benoist)
|
||||
- [#2266](https://github.com/wallabag/wallabag/pull/2266) Added tags counter in sidebar (Nicolas Lœuillet)
|
||||
- [#1941](https://github.com/wallabag/wallabag/pull/1941) Added asynchronous import (Jeremy Benoist, Nicolas Lœuillet)
|
||||
- [#2192](https://github.com/wallabag/wallabag/pull/2192) Added Firefox / Chrome bookmarks import (Thomas Citharel)
|
||||
- [#2310](https://github.com/wallabag/wallabag/pull/2310) Added Instapaper import (Jeremy Benoist)
|
||||
- [#2322](https://github.com/wallabag/wallabag/pull/2322) Added customized errors templates (Jeremy Benoist)
|
||||
- [#2323](https://github.com/wallabag/wallabag/pull/2323) Added simple stats in footer (Jeremy Benoist)
|
||||
- [#2324](https://github.com/wallabag/wallabag/pull/2324) Added ability to edit a tagging rule (Jeremy Benoist)
|
||||
- [#2325](https://github.com/wallabag/wallabag/pull/2325) Added an `exists` endpoint in API (Jeremy Benoist)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2170](https://github.com/wallabag/wallabag/pull/2170) Entry titles are now smaller on entry view (Thomas Citharel)
|
||||
- [#2245](https://github.com/wallabag/wallabag/pull/2245) Changed where page title is displayed (Nicolas Lœuillet)
|
||||
- [#2274](https://github.com/wallabag/wallabag/pull/2274) Re use JsonResponse in API (Jeremy Benoist)
|
||||
- [#2257](https://github.com/wallabag/wallabag/pull/2257) Use created date for imported content (Jeremy Benoist)
|
||||
- [#2326](https://github.com/wallabag/wallabag/pull/2326) Quickstart layout (Nicolas Lœuillet)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2328](https://github.com/wallabag/wallabag/pull/2328) Fixed duplicate URL with accents (Jeremy Benoist)
|
||||
- [#2319](https://github.com/wallabag/wallabag/pull/2319) Fixed `gd` extension missing in Dockerfile (Pascal Martin)
|
||||
- [#2313](https://github.com/wallabag/wallabag/pull/2313) Fixed long loading on Firefox (Nicolas Lœuillet)
|
||||
- [#2320](https://github.com/wallabag/wallabag/pull/2320) Fixed user config which wasn't created in some cases (Jeremy Benoist)
|
||||
- [#2301](https://github.com/wallabag/wallabag/pull/2301) Fixed feeds not syncing on android application (Thomas Citharel)
|
||||
- [#2308](https://github.com/wallabag/wallabag/pull/2308) Fixed duplicate tags on import (Jeremy Benoist)
|
||||
- [#2297](https://github.com/wallabag/wallabag/pull/2297) Fixed epub export with special characters in title (morhelluin)
|
||||
- [#2292](https://github.com/wallabag/wallabag/pull/2292) Fixed label for mark as read link in entry view (Nicolas Lœuillet)
|
||||
- [#2260](https://github.com/wallabag/wallabag/pull/2260) Fixed different font-size for labels in config screen (Nicolas Lœuillet)
|
||||
- [#2242](https://github.com/wallabag/wallabag/pull/2242) Fixed print / article views (Nicolas Lœuillet)
|
||||
- [#2328](https://github.com/wallabag/wallabag/pull/2328) Avoid duplicate url with accents (Jeremy Benoist)
|
||||
- [#2330](https://github.com/wallabag/wallabag/pull/2330) Remove error message when creating ePub versions (Paulino Michelazzo)
|
||||
- [#2331](https://github.com/wallabag/wallabag/pull/2331) Fix parameters in API links (Jeremy Benoist)
|
||||
|
||||
### Removed
|
||||
|
||||
- [#2318](https://github.com/wallabag/wallabag/pull/2318) Removed duplicated templates files (Nicolas Lœuillet)
|
||||
- [#2287](https://github.com/wallabag/wallabag/pull/2287) Useless area in footer for material theme (Nicolas Lœuillet)
|
||||
|
||||
## [2.0.8] - 2016-09-07
|
||||
|
||||
### Added
|
||||
|
||||
- [#2262](https://github.com/wallabag/wallabag/pull/2262) Added a check for the database connection during installation (Jeremy Benoist)
|
||||
- [#2235](https://github.com/wallabag/wallabag/pull/2235) Added configuration for german documentation website, [available here](http://doc.wallabag.org/de/latest/) (Nicolas Lœuillet)
|
||||
|
||||
### Changed
|
||||
|
||||
- [graby](https://github.com/j0k3r/graby/releases/tag/1.4.3) Update Graby version, which now handles ZIP files (Jeremy Benoist)
|
||||
- [#2230](https://github.com/wallabag/wallabag/pull/2230) Changed title display in card view (Danilow Alexandr)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2234](https://github.com/wallabag/wallabag/pull/2234) Fixed mailto link in documentation (Christian Studer)
|
||||
- [#2241](https://github.com/wallabag/wallabag/pull/2241) Fixed the height of the "Add new article" field in Chrome (Danilow Alexandr)
|
||||
- [#2238](https://github.com/wallabag/wallabag/pull/2238) Fixed login page in Qupzilla (Danilow Alexandr)
|
||||
|
||||
## [2.0.7] - 2016-08-22
|
||||
|
||||
### Added
|
||||
|
||||
- [#2222](https://github.com/wallabag/wallabag/pull/2222) Added creation date and reading time on article view (Nicolas Lœuillet)
|
||||
- [#2134](https://github.com/wallabag/wallabag/pull/2134) Run tests on an uptodate HHVM (Jeremy Benoist)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2221](https://github.com/wallabag/wallabag/pull/2221) Replaced favorite word/icon with star one (Nicolas Lœuillet)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2224](https://github.com/wallabag/wallabag/pull/2224) Avoid breaking import when fetching fail (Jeremy Benoist)
|
||||
- [#2216](https://github.com/wallabag/wallabag/pull/2216), [#2220](https://github.com/wallabag/wallabag/pull/2220) Enable CORS headers for OAUTH part (Rurik19)
|
||||
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
|
||||
|
||||
## [2.0.6] - 2016-08-10
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2199](https://github.com/wallabag/wallabag/pull/2199) Handling socials links into a config file (Simon Alberny)
|
||||
- [#2172](https://github.com/wallabag/wallabag/pull/2172) Change the way to login user in tests (Jeremy Benoist)
|
||||
- [#2155](https://github.com/wallabag/wallabag/pull/2155) Use friendsofphp instead of fabpot for PHP CS Fixer (Jeremy Benoist)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2200](https://github.com/wallabag/wallabag/pull/2200) Fixed typo in entry:notice:entry_saved (charno6)
|
||||
- [#2185](https://github.com/wallabag/wallabag/pull/2185) Fix 3rd-Party Apps links (Chrome & Firefox) (Thomas Citharel)
|
||||
- [#2165](https://github.com/wallabag/wallabag/pull/2165) Fix a few french translations typos (Thomas Citharel)
|
||||
- [#2157](https://github.com/wallabag/wallabag/pull/2157) Handle only upper or only lower reading filter (Jeremy Benoist)
|
||||
- [#2156](https://github.com/wallabag/wallabag/pull/2156) Try to find bad redirection after delete (Jeremy Benoist)
|
||||
|
||||
## [2.0.5] - 2016-05-31
|
||||
|
||||
### Added
|
||||
|
||||
- [#2052](https://github.com/wallabag/wallabag/pull/2052) Add unread filter to entries pages (Dan Bartram)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#2093](https://github.com/wallabag/wallabag/pull/2093) Replace vertical dots in material theme with horizontal dots (Nicolas Lœuillet)
|
||||
- [#2054](https://github.com/wallabag/wallabag/pull/2054) Update italian translation (Daniele Conca)
|
||||
- [#2068](https://github.com/wallabag/wallabag/pull/2068), [#2049](https://github.com/wallabag/wallabag/pull/2049) Update documentation (Josh Panter, Mario Vormstein)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2122](https://github.com/wallabag/wallabag/pull/2122) Fix the deletion of Tags/Entries relation when delete an entry (Jeremy Benoist, Nicolas Lœuillet)
|
||||
- [#2095](https://github.com/wallabag/wallabag/pull/2095) Fix form user display when 2FA is disabled (Nicolas Lœuillet)
|
||||
- [#2092](https://github.com/wallabag/wallabag/pull/2092) API: Starred and archived clears if article is already exists (Rurik19)
|
||||
- [#2097](https://github.com/wallabag/wallabag/issues/2097) Fix image path in 2-factor authentification email (Baptiste Mille-Mathias)
|
||||
- [#2069](https://github.com/wallabag/wallabag/pull/2069) Do not specify language in Firefox addon link (Merouane Atig)
|
||||
|
||||
## [2.0.4] - 2016-05-07
|
||||
|
||||
### Added
|
||||
|
||||
- [#2016](https://github.com/wallabag/wallabag/pull/2016) Big updates in [our documentation](http://doc.wallabag.org/en/master/) (Nicolas Lœuillet)
|
||||
- [#2028](https://github.com/wallabag/wallabag/pull/2028) Documentation about android application (Strubbl)
|
||||
- [#2019](https://github.com/wallabag/wallabag/pull/2019) Italian translation (Daniele Conca)
|
||||
- [#2011](https://github.com/wallabag/wallabag/pull/2011) Documentation about wallabag upgrade (biva)
|
||||
- [#1985](https://github.com/wallabag/wallabag/pull/1985) Documentation about rights access (FoxMaSk)
|
||||
- [#1969](https://github.com/wallabag/wallabag/pull/1969) Third resources for API in documentation (Nicolas Lœuillet)
|
||||
- [#1967](https://github.com/wallabag/wallabag/pull/1967) FAQ page in documentation (Nicolas Lœuillet)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#1977](https://github.com/wallabag/wallabag/pull/1977) Spanish documentation (jami7)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#2023](https://github.com/wallabag/wallabag/pull/2023) Fix translation for validators (Nicolas Lœuillet)
|
||||
- [#2020](https://github.com/wallabag/wallabag/pull/2020) Fix number of entries in tag/list (Nicolas Lœuillet)
|
||||
- [#2022](https://github.com/wallabag/wallabag/pull/2022) Fix pagination bar on small devices (Nicolas Lœuillet)
|
||||
- [#2013](https://github.com/wallabag/wallabag/pull/2013) Fix tag listing (Nicolas Lœuillet)
|
||||
- [#1976](https://github.com/wallabag/wallabag/pull/1976) Fix filter reading time (Nicolas Lœuillet)
|
||||
- [#2005](https://github.com/wallabag/wallabag/pull/2005) Fix reading speed not defined when user was created via config page (Nicolas Lœuillet)
|
||||
- [#2010](https://github.com/wallabag/wallabag/pull/2010) Set the title via POST /api/entries (Nicolas Lœuillet)
|
||||
|
||||
## [2.0.3] - 2016-04-22
|
||||
|
||||
### Added
|
||||
|
||||
- [#1962](https://github.com/wallabag/wallabag/pull/1962) cURL examples in documentation about API (Dirk Deimeke)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Forgot `composer.lock` file in 2.0.2 release so some users may encounter `Fatal error: Out of memory` error during installation
|
||||
|
||||
## [2.0.2] - 2016-04-21
|
||||
|
||||
### Added
|
||||
|
||||
- [#1945](https://github.com/wallabag/wallabag/pull/1945) cURL examples in documentation about API (Dirk Deimeke)
|
||||
- [#1911](https://github.com/wallabag/wallabag/pull/1911) Add title hover on entry titles (Thomas Citharel)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#1944](https://github.com/wallabag/wallabag/pull/1944), [#1953](https://github.com/wallabag/wallabag/pull/1953), [#1954](https://github.com/wallabag/wallabag/pull/1954) Due to branches renaming, update documentation and configuration (maxi62330, Nicolas Lœuillet)
|
||||
- [#1942](https://github.com/wallabag/wallabag/pull/1942) Optimize import (Nicolas Lœuillet)
|
||||
- [#1935](https://github.com/wallabag/wallabag/pull/1935) Update spanish translation (jami7)
|
||||
- [#1929](https://github.com/wallabag/wallabag/pull/1929) Change guid and link in RSS feeds to give original entry URL (Nicolas Lœuillet)
|
||||
- [#1918](https://github.com/wallabag/wallabag/pull/1918) Improve pagination when user has lot of entries (Nicolas Lœuillet)
|
||||
- [#1916](https://github.com/wallabag/wallabag/pull/1916) Change PHP arrays and move test parameters in a separated file (Jeremy Benoist)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#1957](https://github.com/wallabag/wallabag/pull/1957) Fix translation for `Go to your account` button (Nicolas Lœuillet)
|
||||
- [#1925](https://github.com/wallabag/wallabag/pull/1925) Redirect to homepage if refered is null (Nicolas Lœuillet)
|
||||
- [#1912](https://github.com/wallabag/wallabag/pull/1912) Fix 500 Internal Server Error -> "Setting piwik_enabled couldn't be found" (Jeremy Benoist)
|
||||
|
||||
## [2.0.1] - 2016-04-11
|
||||
### Added
|
||||
|
||||
- [Documentation about importing large file](http://doc.wallabag.org/en/v2/user/installation.html#installing-on-nginx) into nginx. (Nicolas Lœuillet)
|
||||
- [Documentation about wallabag API](http://doc.wallabag.org/en/v2/developer/api.html) (Nicolas Lœuillet)
|
||||
- [#1861](https://github.com/wallabag/wallabag/pull/1861) Round estimated time and add reading speed for Baggy (Nicolas Lœuillet)
|
||||
- [Documentation about wallabag v1 CLI import](http://doc.wallabag.org/en/v2/user/migration.html#import-via-command-line-interface-cli) (Nicolas Lœuillet)
|
||||
- [Add migrate link](http://doc.wallabag.org/en/v2/user/migration.html) in documentation (Nicolas Lœuillet)
|
||||
|
||||
### Changed
|
||||
|
||||
- [#1823](https://github.com/wallabag/wallabag/pull/1823) Persian translation (Masoud Abkenar)
|
||||
- [#1901](https://github.com/wallabag/wallabag/pull/1901) Spanish translation (Jeremy Benoist)
|
||||
- [#1879](https://github.com/wallabag/wallabag/pull/1879) Move tag form in Material theme (Nicolas Lœuillet)
|
||||
|
||||
### Fixed
|
||||
|
||||
- [#1903](https://github.com/wallabag/wallabag/pull/1903) Force server version to avoid connection error (Jeremy Benoist)
|
||||
- [#1887](https://github.com/wallabag/wallabag/pull/1887) Fix duplicate article when added via the bookmarklet (Nicolas Lœuillet)
|
||||
- [#1895](https://github.com/wallabag/wallabag/pull/1895) API: All the entries are fetched via GET /api/entries (Nicolas Lœuillet)
|
||||
- [#1898](https://github.com/wallabag/wallabag/pull/1898) Fix estimated reading time in material view #1893 (Nicolas Lœuillet)
|
||||
- [#1896](https://github.com/wallabag/wallabag/pull/1896) remove download_picture setting and manage show_printlink in material theme #1867 (Nicolas Lœuillet)
|
||||
- [#1894](https://github.com/wallabag/wallabag/pull/1894) Fix documentation link in developer page (Nicolas Lœuillet)
|
||||
- [#1891](https://github.com/wallabag/wallabag/pull/1891) Fix typo on configuration page (Nicolas Lœuillet)
|
||||
- [#1884](https://github.com/wallabag/wallabag/pull/1884) Change the installation method in issue template (Nicolas Lœuillet)
|
||||
- [#1844](https://github.com/wallabag/wallabag/pull/1844) Lock ocramius/proxy-manager (Jeremy Benoist)
|
||||
- [#1840](https://github.com/wallabag/wallabag/pull/1840) Fix Archive page title translation (Nicolas Lœuillet)
|
||||
- [#1801](https://github.com/wallabag/wallabag/pull/1804) Force user-agent for iansommerville.com (Jeremy Benoist)
|
||||
|
||||
### Removed
|
||||
|
||||
- [#1900](https://github.com/wallabag/wallabag/pull/1900) Remove empty portugese documentation (Nicolas Lœuillet)
|
||||
- [#1868](https://github.com/wallabag/wallabag/pull/1868) Remove keyboard shortcut and add tagging rule panel in baggy (Nicolas Lœuillet)
|
||||
- [#1824](https://github.com/wallabag/wallabag/pull/1824) Remove SMTP configuration environment overrides (Mathieu Bruyen)
|
||||
|
||||
## [2.0.0] - 2016-04-03
|
||||
### Added
|
||||
|
||||
* save an article, read it, favorite it, archive it. (Hopefully)
|
||||
* annotations: In each article you read, you can write annotations. ([read the doc](http://doc.wallabag.org/en/v2/user/annotations.html))
|
||||
* filter entries by reading time, domain name, creation date, status, etc.
|
||||
* assign tags to entries
|
||||
* edit article titles
|
||||
* a REST API ([you can have a look to the documentation](http://v2.wallabag.org/api/doc))
|
||||
* authorization via oAuth2
|
||||
* a new default theme, called `material`
|
||||
* RSS feeds (with ability to limit number of articles)
|
||||
* create a new account from the config page (for super admin only)
|
||||
* recover passwords from login page (you have to fill your email on config page)
|
||||
* picture preview, if available, is displayed for each entry
|
||||
* Public registration
|
||||
* migration from wallabag v1/v2 (based on JSON export) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||
* migration from Pocket (it works, but we need to implement asynchronous import: if you have too many articles, it can fail) ([read the doc](http://doc.wallabag.org/en/v2/user/import.html))
|
||||
* exports in many formats (PDF, JSON, EPUB, MOBI, XML, CSV and TXT).
|
||||
* 2-Factor authentication via email ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#two-factor-authentication))
|
||||
* Tagging rule: create a rule to automatically assign tags to entries! ([read the doc](http://doc.wallabag.org/en/v2/user/configuration.html#tagging-rules))
|
||||
* Occitan, German, French, Turkish, Persian, Romanian, Polish, Danish, Spanish and English translations
|
||||
* Quickstart for beginners (when you don't have any entries)
|
||||
* Internal settings for administrator (the account created during installation)
|
||||
* For 3rd apps developers, a developer page is available to create API token
|
||||
30
CONTRIBUTING.md
Normal file
30
CONTRIBUTING.md
Normal file
@ -0,0 +1,30 @@
|
||||
# How to contribute
|
||||
|
||||
## You found a bug
|
||||
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
|
||||
|
||||
To fix the bug quickly, we need some infos:
|
||||
* your wallabag version (on top of the ./index.php file, and also on config page)
|
||||
* your webserver installation :
|
||||
* type of hosting (shared or dedicated)
|
||||
* in case of a dedicated server, the server and OS used
|
||||
* the php version used, eventually `phpinfo()`
|
||||
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL)
|
||||
* any problem on the `wallabag_compatibility_test.php` page
|
||||
* any particular details which could be related
|
||||
|
||||
|
||||
If relevant :
|
||||
* the link you want to save and which causes problem
|
||||
* the file you want to import into wallabag, or just an extract
|
||||
|
||||
If you have the skills :
|
||||
* enable DEBUG mode and look the output at cache/log.txt
|
||||
* look for errors into php and server logs
|
||||
|
||||
Note : If you have large portions of text, use [Github's Gist service](https://gist.github.com/) or other pastebin-like.
|
||||
|
||||
## You want to fix a bug or to add a feature
|
||||
Please fork wallabag and work with **the dev branch** only. **Do not work on master branch**.
|
||||
|
||||
[Don't forget to read our guidelines](https://github.com/wallabag/wallabag/blob/dev/GUIDELINES.md).
|
||||
4
Gemfile
4
Gemfile
@ -1,5 +1,5 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem 'capistrano', '~> 3.4'
|
||||
gem 'capistrano-symfony', '~> 1.0.0.rc1'
|
||||
gem 'capistrano', '~> 3.1'
|
||||
gem 'capistrano-symfony', '~> 0.1', :github => 'capistrano/symfony'
|
||||
gem 'capistrano-composer', '~> 0.0.3'
|
||||
|
||||
21
Gemfile.lock
21
Gemfile.lock
@ -1,3 +1,12 @@
|
||||
GIT
|
||||
remote: git://github.com/capistrano/symfony.git
|
||||
revision: ca56a01b817097d2831400ef9b1867fc8e07dcf8
|
||||
specs:
|
||||
capistrano-symfony (0.4.0)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-composer (~> 0.0.3)
|
||||
capistrano-file-permissions (~> 0.1.0)
|
||||
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
@ -7,12 +16,8 @@ GEM
|
||||
sshkit (~> 1.3)
|
||||
capistrano-composer (0.0.6)
|
||||
capistrano (>= 3.0.0.pre)
|
||||
capistrano-file-permissions (1.0.0)
|
||||
capistrano (~> 3.0)
|
||||
capistrano-symfony (1.0.0.rc1)
|
||||
capistrano-file-permissions (0.1.1)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-composer (~> 0.0.3)
|
||||
capistrano-file-permissions (~> 1.0)
|
||||
colorize (0.7.7)
|
||||
i18n (0.7.0)
|
||||
net-scp (1.2.1)
|
||||
@ -28,9 +33,9 @@ PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
capistrano (~> 3.4)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-composer (~> 0.0.3)
|
||||
capistrano-symfony (~> 1.0.0.rc1)
|
||||
capistrano-symfony (~> 0.1)!
|
||||
|
||||
BUNDLED WITH
|
||||
1.11.2
|
||||
1.10.6
|
||||
|
||||
239
Gruntfile.js
239
Gruntfile.js
@ -1,239 +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: {
|
||||
map: {
|
||||
inline: false,
|
||||
},
|
||||
|
||||
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: {
|
||||
map: {
|
||||
inline: false,
|
||||
},
|
||||
|
||||
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'],
|
||||
},
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
baggy: {
|
||||
files: {
|
||||
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
|
||||
['<%= buildDir %>/baggy.browser.js'],
|
||||
},
|
||||
options: {
|
||||
sourceMap: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
copy: {
|
||||
pickerjs: {
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/pickadate/lib',
|
||||
src: 'picker.js',
|
||||
dest: '<%= buildDir %>',
|
||||
},
|
||||
annotator: {
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/annotator/pkg',
|
||||
src: 'annotator.min.js',
|
||||
dest: '<%= buildDir %>/themes/_global/js/',
|
||||
},
|
||||
baggyfonts: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||
src: 'IcoMoon-Free.ttf',
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/ptsans-npm-webfont/fonts',
|
||||
src: 'ptsansbold.woff',
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||
},
|
||||
],
|
||||
},
|
||||
materialfonts: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||
src: 'IcoMoon-Free.ttf',
|
||||
dest: '<%= releaseDir %>/themes/material/fonts',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/roboto-fontface/fonts/Roboto',
|
||||
src: '*',
|
||||
dest: '<%= releaseDir %>/themes/material/font/roboto',
|
||||
},
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||
dest: '<%= releaseDir %>/themes/material/fonts/',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
symlink: {
|
||||
pics: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
overwrite: true,
|
||||
cwd: '<%= appDir %>/themes/_global/',
|
||||
src: 'img',
|
||||
dest: '<%= releaseDir %>/themes/_global/',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
clean: {
|
||||
css: {
|
||||
src: ['<%= buildDir %>/**/*.css'],
|
||||
},
|
||||
js: {
|
||||
src: ['<%= buildDir %>/**/*.js', '<%= buildDir %>/**/*.map'],
|
||||
},
|
||||
all: {
|
||||
src: ['./<%= buildDir %>'],
|
||||
},
|
||||
release: {
|
||||
src: ['./<%= releaseDir %>/*'],
|
||||
}
|
||||
},
|
||||
eslint: {
|
||||
target: ['<%= appDir %>/themes/material/js/init.js', '<%= appDir %>/themes/baggy/js/init.js']
|
||||
},
|
||||
stylelint: {
|
||||
target: ['<%= appDir %>/themes/material/css/*.css', '<%= appDir %>/themes/baggy/css/*.css']
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
grunt.registerTask(
|
||||
'fonts',
|
||||
'Install fonts',
|
||||
['copy:baggyfonts', 'copy:materialfonts']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'js',
|
||||
'Build and install js files',
|
||||
['clean:js', 'copy:pickerjs', 'browserify', 'uglify']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'default',
|
||||
'Build and install everything',
|
||||
['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'copy', 'symlink']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'css',
|
||||
'Compiles the stylesheets.',
|
||||
['clean:css', 'concat:cssMaterial', 'concat:cssBaggy', 'postcss']
|
||||
);
|
||||
|
||||
grunt.registerTask(
|
||||
'tests',
|
||||
'Test css and js style conformity',
|
||||
['eslint', 'stylelint', 'default']
|
||||
)
|
||||
};
|
||||
24
README.md
24
README.md
@ -1,25 +1,23 @@
|
||||
[](https://travis-ci.org/wallabag/wallabag)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
|
||||
[](https://gitter.im/wallabag/wallabag)
|
||||
[](https://travis-ci.org/wallabag/wallabag)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=v2)
|
||||
|
||||
# What is wallabag?
|
||||
wallabag is a self hostable application allowing you to not miss any content anymore.
|
||||
Click, save and read it when you can. It extracts content so that you can read it when you have time.
|
||||
|
||||
More informations on our website: [wallabag.org](https://wallabag.org)
|
||||
More informations on our website: [wallabag.org](http://wallabag.org)
|
||||
|
||||
# Install wallabag
|
||||
# Want to test the v2?
|
||||
|
||||
If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that). Read [our documentation](http://doc.wallabag.org) to have more information about installation.
|
||||
Then you can install wallabag by executing the following commands:
|
||||
Keep in mind it's an **unstable** branch, everything can be broken :)
|
||||
|
||||
If you don't have it yet, please [install composer](https://getcomposer.org/download/). Then you can install wallabag by executing the following commands:
|
||||
|
||||
```
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag
|
||||
git checkout 2.1.1
|
||||
SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
||||
php bin/console wallabag:install --env=prod
|
||||
php bin/console server:run --env=prod
|
||||
composer create-project wallabag/wallabag wallabag 2.0.*@alpha
|
||||
php bin/console wallabag:install
|
||||
php bin/console server:run
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
@ -1,67 +0,0 @@
|
||||
## Definition
|
||||
|
||||
A release is mostly a git tag of http://github.com/wallabag/wallabag, following [semantic versioning](http://semver.org).
|
||||
The last release at the time of writing is 2.0.0-alpha.2, from the v2 branch.
|
||||
|
||||
### Steps to release
|
||||
|
||||
During this documentation, we assume the release is `release-2.0.0-beta.1`.
|
||||
|
||||
#### Files to edit
|
||||
|
||||
- `app/config/config.yml` (`wallabag_core.version`)
|
||||
- `README.md` (`composer create-project` command)
|
||||
- `docs/en/user/installation.rst` and its translations (`composer create-project` command)
|
||||
|
||||
#### Create release on GitHub
|
||||
|
||||
- Run these commands to create the tag:
|
||||
|
||||
```
|
||||
git checkout v2
|
||||
git pull origin v2
|
||||
git checkout -b release-2.0.0-beta.1
|
||||
SYMFONY_ENV=prod composer up --no-dev
|
||||
git add --force composer.lock
|
||||
git add README.md
|
||||
git commit -m "Release wallabag 2.0.0-beta.1"
|
||||
git push origin release-2.0.0-beta.1
|
||||
```
|
||||
|
||||
- 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 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-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)
|
||||
- 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,
|
||||
making it easier to fix issues after the release. It also speeds up `composer install` on stable versions a LOT, by skipping the
|
||||
dependencies resolution part.
|
||||
|
||||
Since `composer.lock` is ignored by default, either it must be removed from `.gitignore` _in the release branch_,
|
||||
or it must be added using `git add --force composer.lock`.
|
||||
|
||||
### Target PHP version
|
||||
`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`).
|
||||
|
||||
If the PHP version used to generate the .lock isn't a widely available one (like PHP 7), a more common one should
|
||||
be locally specified in `composer.lock`:
|
||||
|
||||
```json
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "5.5.9",
|
||||
"ext-something": "4.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -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(),
|
||||
@ -21,24 +22,17 @@ class AppKernel extends Kernel
|
||||
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
|
||||
new Nelmio\CorsBundle\NelmioCorsBundle(),
|
||||
new Liip\ThemeBundle\LiipThemeBundle(),
|
||||
new Wallabag\CoreBundle\WallabagCoreBundle(),
|
||||
new Wallabag\ApiBundle\WallabagApiBundle(),
|
||||
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
|
||||
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
|
||||
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
|
||||
new Wallabag\UserBundle\WallabagUserBundle(),
|
||||
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
|
||||
new Scheb\TwoFactorBundle\SchebTwoFactorBundle(),
|
||||
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
|
||||
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
||||
new Craue\ConfigBundle\CraueConfigBundle(),
|
||||
new Lexik\Bundle\MaintenanceBundle\LexikMaintenanceBundle(),
|
||||
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
||||
|
||||
// wallabag bundles
|
||||
new Wallabag\CoreBundle\WallabagCoreBundle(),
|
||||
new Wallabag\ApiBundle\WallabagApiBundle(),
|
||||
new Wallabag\UserBundle\WallabagUserBundle(),
|
||||
new Wallabag\ImportBundle\WallabagImportBundle(),
|
||||
new Wallabag\AnnotationBundle\WallabagAnnotationBundle(),
|
||||
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
|
||||
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
||||
];
|
||||
|
||||
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
||||
|
||||
@ -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 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)
|
||||
{
|
||||
$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'");
|
||||
}
|
||||
}
|
||||
@ -1,48 +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)
|
||||
{
|
||||
if ($this->connection->getDatabasePlatform()->getName() == 'sqlite') {
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext DEFAULT NULL');
|
||||
} else {
|
||||
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext COLLATE \'utf8_unicode_ci\' DEFAULT NULL');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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');
|
||||
}
|
||||
}
|
||||
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -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')");
|
||||
}
|
||||
}
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Download billeder på din server
|
||||
carrot: Aktiver deling til Carrot
|
||||
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
|
||||
export_epub: Aktiver eksport til ePub
|
||||
export_mobi: Aktiver eksport til .mobi
|
||||
export_pdf: Aktiver eksport til PDF
|
||||
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
|
||||
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
||||
share_diaspora: Aktiver deling til Diaspora
|
||||
share_mail: Aktiver deling med email
|
||||
share_shaarli: Aktiver deling gennem Shaarli
|
||||
share_twitter: Aktiver deling gennem Twitter
|
||||
show_printlink: Vis et link til print-indhold
|
||||
wallabag_support_url: Support-URL for wallabag
|
||||
wallabag_url: URL for *sin* wallabag-installation
|
||||
entry: "artikel"
|
||||
export: "eksport"
|
||||
import: "import"
|
||||
misc: "misc"
|
||||
modify_settings: "Gem ændring"
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
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_pdf: PDF-Export aktivieren
|
||||
export_csv: CSV-Export aktivieren
|
||||
export_json: JSON-Export aktivieren
|
||||
export_txt: TXT-Export aktivieren
|
||||
export_xml: XML-Export aktivieren
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
|
||||
share_diaspora: Teilen zu Diaspora aktiveren
|
||||
share_mail: Teilen via E-Mail aktiveren
|
||||
share_shaarli: Teilen zu Shaarli aktiveren
|
||||
share_twitter: Teilen zu Twitter aktiveren
|
||||
show_printlink: Link anzeigen, um den Inhalt auszudrucken
|
||||
wallabag_support_url: Support-URL für wallabag
|
||||
wallabag_url: URL von *deiner* wallabag-Instanz
|
||||
entry: "Artikel"
|
||||
export: "Export"
|
||||
import: "Import"
|
||||
misc: "Verschiedenes"
|
||||
modify_settings: "Übernehmen"
|
||||
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: Allow public url for entries
|
||||
@ -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
|
||||
piwik_site_id: ID of your website in Piwik
|
||||
piwik_enabled: Enable Piwik
|
||||
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||
demo_mode_username: "Demo user"
|
||||
share_public: Allow public url for entries
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Descargar imágenes
|
||||
carrot: Activar compartir con Carrot
|
||||
diaspora_url: Diaspora URL, si el servicio está activado
|
||||
export_epub: Activar exportación a ePub
|
||||
export_mobi: Activar exportación a .mobi
|
||||
export_pdf: Activar exportación a PDF
|
||||
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
|
||||
shaarli_url: Shaarli URL, si el servicio está activado
|
||||
share_diaspora: Activar compartir con Diaspora
|
||||
share_mail: Activar compartir con email
|
||||
share_shaarli: Activar compartir con Shaarli
|
||||
share_twitter: Activar compartir con Twitter
|
||||
show_printlink: Mostrar un enlace para imprimir contenido
|
||||
wallabag_support_url: URL de soporte de wallabag
|
||||
wallabag_url: URL de *tu* instancia de wallabag
|
||||
entry: "artículo"
|
||||
export: "exportar"
|
||||
import: "importar"
|
||||
misc: "misc"
|
||||
modify_settings: "modificar configuración"
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
||||
carrot: فعالسازی همرسانی به Carrot
|
||||
diaspora_url: نشانی Diaspora، اگر فعال بود
|
||||
export_epub: فعالسازی برونسپاری به ePub
|
||||
export_mobi: فعالسازی برونسپاری به mobi
|
||||
export_pdf: فعالسازی برونسپاری به PDF
|
||||
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
|
||||
shaarli_url: نشانی Shaarli، اگر فعال بود
|
||||
share_diaspora: فعالسازی همرسانی به Diaspora
|
||||
share_mail: فعالسازی همرسانی با ایمیل
|
||||
share_shaarli: فعالسازی همرسانی به Shaarli
|
||||
share_twitter: فعالسازی همرسانی به Twitter
|
||||
show_printlink: نمایش پیوندی برای چاپ مطلب
|
||||
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
|
||||
wallabag_url: نشانی صفحهٔ wallabag *شما*
|
||||
entry: "مقاله"
|
||||
export: "برونسپاری"
|
||||
import: "درونریزی"
|
||||
misc: "غیره"
|
||||
modify_settings: "اعمال"
|
||||
# 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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Télécharger les images sur le serveur
|
||||
carrot: Activer le partage vers Carrot
|
||||
diaspora_url: URL de Diaspora, si le service Diaspora est activé
|
||||
export_epub: Activer l'export ePub
|
||||
export_mobi: Activer l'export .mobi
|
||||
export_pdf: Activer l'export PDF
|
||||
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
|
||||
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
|
||||
share_shaarli: Activer le partage vers Shaarli
|
||||
share_twitter: Activer le partage vers Twitter
|
||||
show_printlink: Afficher un lien pour imprimer
|
||||
wallabag_support_url: URL de support de wallabag
|
||||
wallabag_url: URL de *votre* instance de wallabag
|
||||
entry: "article"
|
||||
export: "export"
|
||||
import: "import"
|
||||
misc: "divers"
|
||||
modify_settings: "appliquer"
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Scarica le immagini sul tuo server
|
||||
carrot: Abilita la condivisione con Carrot
|
||||
diaspora_url: Diaspora URL, se il servizio è abilitato
|
||||
export_epub: Abilita esportazione ePub
|
||||
export_mobi: Abilita esportazione .mobi
|
||||
export_pdf: Abilita esportazione PDF
|
||||
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
|
||||
shaarli_url: Shaarli URL, se il servizio è abilitato
|
||||
share_diaspora: Abilita la condivisione con Diaspora
|
||||
share_mail: Abilita la condivisione per email
|
||||
share_shaarli: Abilita la condivisione con Shaarli
|
||||
share_twitter: Abilita la condivisione con Twitter
|
||||
show_printlink: Mostra un collegamento per stampare il contenuto
|
||||
wallabag_support_url: URL di supporto per wallabag
|
||||
wallabag_url: URL della *tua* installazione di wallabag
|
||||
entry: "contenuto"
|
||||
export: "esporta"
|
||||
import: "importa"
|
||||
misc: "misc"
|
||||
modify_settings: "applica"
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Telecargar los imatges sul servidor
|
||||
carrot: Activar lo partatge cap a Carrot
|
||||
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
|
||||
export_epub: Activar l'expòrt ePub
|
||||
export_mobi: Activar l'expòrt .mobi
|
||||
export_pdf: Activar l'expòrt PDF
|
||||
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
|
||||
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
|
||||
share_shaarli: Activar lo partatge cap a Shaarli
|
||||
share_twitter: Activar lo partatge cap a Twitter
|
||||
show_printlink: Afichar un ligam per imprimir
|
||||
wallabag_support_url: URL d'assisténcia de wallabag
|
||||
wallabag_url: URL de *vòstra* instància de wallabag
|
||||
entry: "article"
|
||||
export: "expòrt"
|
||||
import: "impòrt"
|
||||
misc: "divèrs"
|
||||
modify_settings: "aplicar"
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Pobierz obrazy na swój serwer
|
||||
carrot: Włącz udostępnianie dla Carrot
|
||||
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
|
||||
export_epub: Włącz eksport do ePub
|
||||
export_mobi: Włącz eksport do .mobi
|
||||
export_pdf: Włącz eksport do PDF
|
||||
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
|
||||
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
|
||||
share_shaarli: Włącz udostępnianie dla Shaarli
|
||||
share_twitter: Włącz udostępnianie dla Twitter
|
||||
show_printlink: Pokaż link do wydrukowania zawartości
|
||||
wallabag_support_url: Adres URL wsparcia dla wallabag
|
||||
wallabag_url: Adres *twojej* instacji wallabag
|
||||
entry: "artykuł"
|
||||
export: "eksport"
|
||||
import: "import"
|
||||
misc: "różne"
|
||||
modify_settings: "zatwierdz"
|
||||
piwik_host: Host twojej strony Piwik
|
||||
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
|
||||
@ -1,31 +0,0 @@
|
||||
download_pictures: Descarcă poze pe server
|
||||
carrot: Permite share către Carrot
|
||||
diaspora_url: Diaspora URL, dacă serviciul este permis
|
||||
export_epub: Permite exportare ePub
|
||||
export_mobi: Permite exportare .mobi
|
||||
export_pdf: Permite exportare PDF
|
||||
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
|
||||
shaarli_url: Shaarli URL, dacă serviciul este permis
|
||||
share_diaspora: Permite share către Diaspora
|
||||
share_mail: Permite share prin email
|
||||
share_shaarli: Permite share către Shaarli
|
||||
share_twitter: Permite share către Twitter
|
||||
show_printlink: Afișează un link pentru a printa content-ul
|
||||
wallabag_support_url: URL-ul de suport pentru wallabag
|
||||
wallabag_url: URL-ul instanței tale wallabag
|
||||
entry: "alticol"
|
||||
export: "exportă"
|
||||
import: "importă"
|
||||
misc: "diverse"
|
||||
modify_settings: "aplică"
|
||||
# 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
|
||||
@ -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
|
||||
# piwik_site_id: ID of your website in Piwik
|
||||
# piwik_enabled: Enable Piwik
|
||||
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||
# demo_mode_username: "Demo user"
|
||||
# share_public: Allow public url for entries
|
||||
@ -1,43 +0,0 @@
|
||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||
|
||||
{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<div class="col s12">
|
||||
<div class="card-panel settings">
|
||||
{{ form_start(form, {'attr': {'class': 'craue_config_settings_modify'}}) }}
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div class="row">
|
||||
<div class="div_tabs col s12">
|
||||
<ul class="tabs">
|
||||
{% for section in sections | craue_sortSections %}
|
||||
<li class="tab col s3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% for section in sections | craue_sortSections %}
|
||||
<div id="set-{{ section }}" class="col s12">
|
||||
{% for setting in form.settings if setting.section.vars.value == section %}
|
||||
{{ form_row(setting.name) }}
|
||||
{{ form_row(setting.section) }}
|
||||
{{ form_row(setting.value, {
|
||||
'label': setting.name.vars.value | trans({}, 'CraueConfigBundle'),
|
||||
}) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<button class="btn waves-effect waves-light" type="submit" name="action">
|
||||
{{ 'modify_settings' | trans({}, 'CraueConfigBundle') }}
|
||||
</button>
|
||||
|
||||
{{ form_rest(form) }}
|
||||
{{ form_end(form) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Log ind"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Indtast din emailadresse nedenfor, så sender vi dig instrukser til at nulstille din adgangskode."
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Anmelden"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Tippe deine E-Mail-Adresse unten ein und wir senden dir die Anweisungen, wie du dein Kennwort zurücksetzen kannst."
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Logearse"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Introduzca su dirección de email y le enviaremos las instrucciones para resetear su contraseña."
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Se connecter"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse email, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Se connectar"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Picatz vòstra adreça de corrièl çai-jos, vos mandarem las instruccions per reïnicializar vòstre senhal."
|
||||
@ -1,2 +0,0 @@
|
||||
Login: "Logowanie"
|
||||
Enter your email address below and we'll send you password reset instructions.: "Wpisz poniżej swój adres email, abyśmy mogli wysłać ci instrukcję resetowania hasła."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
@ -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>';
|
||||
@ -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 };
|
||||
@ -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");
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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%;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 307 KiB |
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@
|
||||
function split(val) {
|
||||
return val.split(/,\s*/);
|
||||
}
|
||||
function extractLast(term) {
|
||||
return split(term).pop();
|
||||
}
|
||||
|
||||
export { split, extractLast };
|
||||
@ -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();
|
||||
});
|
||||
});
|
||||
@ -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 };
|
||||
@ -1,751 +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
|
||||
========================================================================== */
|
||||
|
||||
@font-face {
|
||||
font-family: icomoon;
|
||||
src: url("../fonts/IcoMoon-Free.ttf");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@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';
|
||||
}
|
||||
|
||||
[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 p {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
* 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: 22em;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.card .card-content .card-title {
|
||||
line-height: 32px;
|
||||
max-height: 64px;
|
||||
}
|
||||
|
||||
.card .card-content i.right,
|
||||
.card .card-reveal i.right {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.card .card-entry-labels {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
z-index: 90;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.card .card-entry-labels li {
|
||||
margin: 10px 10px 10px auto;
|
||||
padding: 5px 12px 5px 16px;
|
||||
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-top: 5px;
|
||||
}
|
||||
|
||||
.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-content .estimatedTime {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.card .card-action .original {
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.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: 14em;
|
||||
}
|
||||
|
||||
.card .card-image .preview {
|
||||
height: 14em;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50%;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
5 = Article
|
||||
========================================================================== */
|
||||
|
||||
#article {
|
||||
font-size: 20px;
|
||||
margin: 0 auto;
|
||||
max-width: 40em;
|
||||
}
|
||||
|
||||
#article img,
|
||||
#article figure {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#article > header > h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.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 .link {
|
||||
color: #000;
|
||||
font-size: 0.8em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#article aside #list {
|
||||
float: right;
|
||||
margin: 0 15px 10px;
|
||||
}
|
||||
|
||||
#article aside .chip {
|
||||
background-color: rgba(0, 151, 167, 0.85);
|
||||
color: #fff;
|
||||
padding: 0 15px 0 10px;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
.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: 993px) and (max-width: 1180px) {
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
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;
|
||||
}
|
||||
@ -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%;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -1,10 +1,6 @@
|
||||
# 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'
|
||||
|
||||
@ -20,7 +16,8 @@ set :log_level, :info
|
||||
set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader'
|
||||
|
||||
set :linked_files, %w{app/config/parameters.yml}
|
||||
set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"]
|
||||
set :linked_dirs, %w{app/logs web/uploads data}
|
||||
|
||||
set :keep_releases, 3
|
||||
|
||||
after 'deploy:finishing', 'deploy:cleanup'
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
set :branch, 'master'
|
||||
set :branch, 'v2'
|
||||
set :deploy_to, '/var/www/v2.wallabag.org/web/'
|
||||
|
||||
@ -5,79 +5,88 @@ 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.1
|
||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||
languages:
|
||||
en: 'English'
|
||||
fr: 'Français'
|
||||
de: 'Deutsch'
|
||||
tr: 'Türkçe'
|
||||
fa: 'فارسی'
|
||||
ro: 'Română'
|
||||
pl: 'Polish'
|
||||
da: 'Dansk'
|
||||
es: 'Español'
|
||||
oc: 'Occitan'
|
||||
it: 'Italiano'
|
||||
items_on_page: 12
|
||||
theme: material
|
||||
language: en
|
||||
rss_limit: 50
|
||||
reading_speed: 1
|
||||
cache_lifetime: 10
|
||||
|
||||
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%"
|
||||
globals:
|
||||
share_twitter: %share_twitter%
|
||||
share_mail: %share_mail%
|
||||
share_shaarli: %share_shaarli%
|
||||
shaarli_url: %shaarli_url%
|
||||
share_diaspora: %share_diaspora%
|
||||
diaspora_url: %diaspora_url%
|
||||
flattr: %flattr%
|
||||
flattrable: 1
|
||||
flattred: 2
|
||||
carrot: %carrot%
|
||||
show_printlink: %show_printlink%
|
||||
export_epub: %export_epub%
|
||||
export_mobi: %export_mobi%
|
||||
export_pdf: %export_pdf%
|
||||
version: %app.version%
|
||||
twofactor_auth: %twofactor_auth%
|
||||
warning_message: %warning_message%
|
||||
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
|
||||
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%"
|
||||
server_version: 5.6
|
||||
charset: UTF8
|
||||
path: "%database_path%"
|
||||
|
||||
orm:
|
||||
auto_generate_proxy_classes: "%kernel.debug%"
|
||||
@ -102,11 +111,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
|
||||
@ -143,11 +151,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']
|
||||
@ -169,18 +172,16 @@ 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%"
|
||||
from_email:
|
||||
address: "%from_email%"
|
||||
sender_name: wallabag
|
||||
enabled: true
|
||||
|
||||
fos_oauth_server:
|
||||
db_driver: orm
|
||||
client_class: Wallabag\ApiBundle\Entity\Client
|
||||
@ -197,8 +198,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
|
||||
@ -206,116 +207,3 @@ scheb_two_factor:
|
||||
kphoen_rulerz:
|
||||
executors:
|
||||
doctrine: true
|
||||
|
||||
lexik_maintenance:
|
||||
authorized:
|
||||
ips: ['127.0.0.1']
|
||||
driver:
|
||||
ttl: 3600
|
||||
class: 'Lexik\Bundle\MaintenanceBundle\Drivers\DatabaseDriver'
|
||||
response:
|
||||
code: 503
|
||||
status: "wallabag Service Temporarily Unavailable"
|
||||
|
||||
old_sound_rabbit_mq:
|
||||
connections:
|
||||
default:
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
imports:
|
||||
- { resource: config_dev.yml }
|
||||
- { resource: parameters_test.yml }
|
||||
|
||||
framework:
|
||||
test: ~
|
||||
@ -8,8 +7,6 @@ framework:
|
||||
storage_id: session.storage.mock_file
|
||||
profiler:
|
||||
collect: false
|
||||
translator:
|
||||
enabled: false
|
||||
|
||||
web_profiler:
|
||||
toolbar: false
|
||||
|
||||
@ -19,6 +19,14 @@ parameters:
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: 127.0.0.1
|
||||
test_database_port: ~
|
||||
test_database_name: ~
|
||||
test_database_user: ~
|
||||
test_database_password: ~
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
mailer_user: ~
|
||||
@ -27,26 +35,41 @@ parameters:
|
||||
locale: en
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
|
||||
secret: ThisTokenIsNotSoSecretChangeIt
|
||||
|
||||
# two factor stuff
|
||||
# wallabag misc
|
||||
app.version: 2.0.0-alpha
|
||||
twofactor_auth: true
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# fosuser stuff
|
||||
fosuser_registration: true
|
||||
fosuser_confirmation: true
|
||||
# message to display at the bottom of the page
|
||||
warning_message: >
|
||||
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
|
||||
|
||||
download_pictures: false # if true, pictures will be stored into data/assets for each article
|
||||
|
||||
# Entry view
|
||||
share_twitter: true
|
||||
share_mail: true
|
||||
share_shaarli: true
|
||||
shaarli_url: http://myshaarli.com
|
||||
share_diaspora: true
|
||||
diaspora_url: http://diasporapod.com
|
||||
flattr: true
|
||||
carrot: true
|
||||
show_printlink: true
|
||||
export_epub: true
|
||||
export_mobi: true
|
||||
export_pdf: true
|
||||
wallabag_url: http://v2.wallabag.org
|
||||
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
|
||||
|
||||
# default user config
|
||||
items_on_page: 12
|
||||
theme: material
|
||||
language: en
|
||||
from_email: no-reply@wallabag.org
|
||||
|
||||
rss_limit: 50
|
||||
|
||||
# RabbitMQ processing
|
||||
rabbitmq_host: localhost
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
|
||||
# Redis processing
|
||||
redis_host: localhost
|
||||
redis_port: 6379
|
||||
# pocket import
|
||||
pocket_consumer_key: xxxxxxxx
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
parameters:
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: 127.0.0.1
|
||||
test_database_port: null
|
||||
test_database_name: null
|
||||
test_database_user: null
|
||||
test_database_password: null
|
||||
test_database_path: '%kernel.root_dir%/../data/db/wallabag_test.sqlite'
|
||||
@ -1,16 +1,7 @@
|
||||
wallabag_annotation:
|
||||
type : rest
|
||||
resource: "@WallabagAnnotationBundle/Resources/config/routing_annotations.yml"
|
||||
|
||||
wallabag_import:
|
||||
resource: "@WallabagImportBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /import
|
||||
|
||||
wallabag_user:
|
||||
resource: "@WallabagUserBundle/Controller/"
|
||||
type: annotation
|
||||
prefix: /users
|
||||
type: annotation
|
||||
prefix: /import
|
||||
|
||||
wallabag_api:
|
||||
resource: "@WallabagApiBundle/Resources/config/routing.yml"
|
||||
@ -31,9 +22,7 @@ rest :
|
||||
|
||||
homepage:
|
||||
path: "/{page}"
|
||||
defaults:
|
||||
_controller: WallabagCoreBundle:Entry:showUnread
|
||||
page : 1
|
||||
defaults: { _controller: WallabagCoreBundle:Entry:showUnread, page : 1 }
|
||||
requirements:
|
||||
page: \d+
|
||||
|
||||
@ -42,8 +31,3 @@ fos_user:
|
||||
|
||||
fos_oauth_server_token:
|
||||
resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml"
|
||||
|
||||
craue_config_settings_modify:
|
||||
path: /settings
|
||||
defaults:
|
||||
_controller: CraueConfigBundle:Settings:modify
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
Rest_Wallabag:
|
||||
type : rest
|
||||
resource: "@WallabagApiBundle/Resources/config/routing_rest.yml"
|
||||
|
||||
|
||||
@ -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
|
||||
@ -55,13 +53,8 @@ security:
|
||||
|
||||
access_control:
|
||||
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/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 }
|
||||
|
||||
@ -6,7 +6,7 @@ services:
|
||||
filesystem_cache:
|
||||
class: Doctrine\Common\Cache\FilesystemCache
|
||||
arguments:
|
||||
- "%kernel.cache_dir%/doctrine/metadata"
|
||||
- %kernel.cache_dir%/doctrine/metadata
|
||||
|
||||
twig.extension.text:
|
||||
class: Twig_Extensions_Extension_Text
|
||||
@ -16,18 +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 }
|
||||
|
||||
wallabag.twig_piwik_extension:
|
||||
class: PiwikTwigExtension\PiwikTwigExtension
|
||||
public: false
|
||||
tags:
|
||||
- { name: twig.extension }
|
||||
|
||||
|
||||
65
app/config/tests/parameters.yml.dist.mysql
Normal file
65
app/config/tests/parameters.yml.dist.mysql
Normal file
@ -0,0 +1,65 @@
|
||||
# This file is a "template" of what your parameters.yml file should look like
|
||||
parameters:
|
||||
database_driver: pdo_sqlite
|
||||
database_host: 127.0.0.1
|
||||
database_port: ~
|
||||
database_name: symfony
|
||||
database_user: root
|
||||
database_password: ~
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
|
||||
test_database_driver: pdo_mysql
|
||||
test_database_host: localhost
|
||||
test_database_port: 3306
|
||||
test_database_name: wallabag
|
||||
test_database_user: root
|
||||
test_database_password: ~
|
||||
test_database_path: ~
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
mailer_user: ~
|
||||
mailer_password: ~
|
||||
|
||||
locale: en
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ThisTokenIsNotSoSecretChangeIt
|
||||
|
||||
# wallabag misc
|
||||
app.version: 2.0.0-alpha
|
||||
twofactor_auth: true
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# message to display at the bottom of the page
|
||||
warning_message: >
|
||||
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
|
||||
|
||||
download_pictures: false # if true, pictures will be stored into data/assets for each article
|
||||
|
||||
# Entry view
|
||||
share_twitter: true
|
||||
share_mail: true
|
||||
share_shaarli: true
|
||||
shaarli_url: http://myshaarli.com
|
||||
share_diaspora: true
|
||||
diaspora_url: http://diasporapod.com
|
||||
flattr: true
|
||||
carrot: true
|
||||
show_printlink: true
|
||||
export_epub: true
|
||||
export_mobi: true
|
||||
export_pdf: true
|
||||
wallabag_url: http://v2.wallabag.org
|
||||
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
|
||||
|
||||
# default user config
|
||||
items_on_page: 12
|
||||
theme: material
|
||||
language: en_US
|
||||
from_email: no-reply@wallabag.org
|
||||
rss_limit: 50
|
||||
|
||||
# pocket import
|
||||
pocket_consumer_key: xxxxxxxx
|
||||
65
app/config/tests/parameters.yml.dist.pgsql
Normal file
65
app/config/tests/parameters.yml.dist.pgsql
Normal file
@ -0,0 +1,65 @@
|
||||
# This file is a "template" of what your parameters.yml file should look like
|
||||
parameters:
|
||||
database_driver: pdo_sqlite
|
||||
database_host: 127.0.0.1
|
||||
database_port: ~
|
||||
database_name: symfony
|
||||
database_user: root
|
||||
database_password: ~
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
|
||||
test_database_driver: pdo_pgsql
|
||||
test_database_host: localhost
|
||||
test_database_port:
|
||||
test_database_name: wallabag
|
||||
test_database_user: travis
|
||||
test_database_password: ~
|
||||
test_database_path: ~
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
mailer_user: ~
|
||||
mailer_password: ~
|
||||
|
||||
locale: en
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ThisTokenIsNotSoSecretChangeIt
|
||||
|
||||
# wallabag misc
|
||||
app.version: 2.0.0-alpha
|
||||
twofactor_auth: true
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# message to display at the bottom of the page
|
||||
warning_message: >
|
||||
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
|
||||
|
||||
download_pictures: false # if true, pictures will be stored into data/assets for each article
|
||||
|
||||
# Entry view
|
||||
share_twitter: true
|
||||
share_mail: true
|
||||
share_shaarli: true
|
||||
shaarli_url: http://myshaarli.com
|
||||
share_diaspora: true
|
||||
diaspora_url: http://diasporapod.com
|
||||
flattr: true
|
||||
carrot: true
|
||||
show_printlink: true
|
||||
export_epub: true
|
||||
export_mobi: true
|
||||
export_pdf: true
|
||||
wallabag_url: http://v2.wallabag.org
|
||||
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
|
||||
|
||||
# default user config
|
||||
items_on_page: 12
|
||||
theme: material
|
||||
language: en_US
|
||||
from_email: no-reply@wallabag.org
|
||||
rss_limit: 50
|
||||
|
||||
# pocket import
|
||||
pocket_consumer_key: xxxxxxxx
|
||||
65
app/config/tests/parameters.yml.dist.sqlite
Normal file
65
app/config/tests/parameters.yml.dist.sqlite
Normal file
@ -0,0 +1,65 @@
|
||||
# This file is a "template" of what your parameters.yml file should look like
|
||||
parameters:
|
||||
database_driver: pdo_sqlite
|
||||
database_host: 127.0.0.1
|
||||
database_port: ~
|
||||
database_name: symfony
|
||||
database_user: root
|
||||
database_password: ~
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: localhost
|
||||
test_database_port:
|
||||
test_database_name: ~
|
||||
test_database_user: ~
|
||||
test_database_password: ~
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: 127.0.0.1
|
||||
mailer_user: ~
|
||||
mailer_password: ~
|
||||
|
||||
locale: en
|
||||
|
||||
# A secret key that's used to generate certain security-related tokens
|
||||
secret: ThisTokenIsNotSoSecretChangeIt
|
||||
|
||||
# wallabag misc
|
||||
app.version: 2.0.0-alpha
|
||||
twofactor_auth: true
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# message to display at the bottom of the page
|
||||
warning_message: >
|
||||
You're trying wallabag v2, which is in alpha version. If you find a bug, please have a look to <a href="https://github.com/wallabag/wallabag/issues">our issues list</a> and <a href="https://github.com/wallabag/wallabag/issues/new">open a new if necessary</a>
|
||||
|
||||
download_pictures: false # if true, pictures will be stored into data/assets for each article
|
||||
|
||||
# Entry view
|
||||
share_twitter: true
|
||||
share_mail: true
|
||||
share_shaarli: true
|
||||
shaarli_url: http://myshaarli.com
|
||||
share_diaspora: true
|
||||
diaspora_url: http://diasporapod.com
|
||||
flattr: true
|
||||
carrot: true
|
||||
show_printlink: true
|
||||
export_epub: true
|
||||
export_mobi: true
|
||||
export_pdf: true
|
||||
wallabag_url: http://v2.wallabag.org
|
||||
wallabag_support_url: 'https://www.wallabag.org/pages/support.html'
|
||||
|
||||
# default user config
|
||||
items_on_page: 12
|
||||
theme: material
|
||||
language: en_US
|
||||
from_email: no-reply@wallabag.org
|
||||
rss_limit: 50
|
||||
|
||||
# pocket import
|
||||
pocket_consumer_key: xxxxxxxx
|
||||
@ -1,8 +0,0 @@
|
||||
parameters:
|
||||
test_database_driver: pdo_mysql
|
||||
test_database_host: localhost
|
||||
test_database_port: 3306
|
||||
test_database_name: wallabag_test
|
||||
test_database_user: root
|
||||
test_database_password: ~
|
||||
test_database_path: ~
|
||||
@ -1,8 +0,0 @@
|
||||
parameters:
|
||||
test_database_driver: pdo_pgsql
|
||||
test_database_host: localhost
|
||||
test_database_port:
|
||||
test_database_name: wallabag_test
|
||||
test_database_user: travis
|
||||
test_database_password: ~
|
||||
test_database_path: ~
|
||||
@ -1,8 +0,0 @@
|
||||
parameters:
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: localhost
|
||||
test_database_port:
|
||||
test_database_name: ~
|
||||
test_database_user: ~
|
||||
test_database_password: ~
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
||||
1
bin/doctrine
Symbolic link
1
bin/doctrine
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/doctrine/orm/bin/doctrine
|
||||
1
bin/doctrine-dbal
Symbolic link
1
bin/doctrine-dbal
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/doctrine/dbal/bin/doctrine-dbal
|
||||
1
bin/doctrine-migrations
Symbolic link
1
bin/doctrine-migrations
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/doctrine/migrations/bin/doctrine-migrations
|
||||
1
bin/doctrine.php
Symbolic link
1
bin/doctrine.php
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/doctrine/orm/bin/doctrine.php
|
||||
1
bin/phpunit
Symbolic link
1
bin/phpunit
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/phpunit/phpunit/phpunit
|
||||
1
bin/security-checker
Symbolic link
1
bin/security-checker
Symbolic link
@ -0,0 +1 @@
|
||||
../vendor/sensiolabs/security-checker/security-checker
|
||||
@ -7,13 +7,13 @@ $lineSize = 70;
|
||||
$symfonyRequirements = new SymfonyRequirements();
|
||||
$iniPath = $symfonyRequirements->getPhpIniConfigPath();
|
||||
|
||||
echo_title('Symfony Requirements Checker');
|
||||
echo_title('Symfony2 Requirements Checker');
|
||||
|
||||
echo '> PHP is using the following php.ini file:'.PHP_EOL;
|
||||
if ($iniPath) {
|
||||
echo_style('green', ' '.$iniPath);
|
||||
} else {
|
||||
echo_style('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;
|
||||
@ -42,9 +43,9 @@ foreach ($symfonyRequirements->getRecommendations() as $req) {
|
||||
}
|
||||
|
||||
if ($checkPassed) {
|
||||
echo_block('success', 'OK', 'Your system is ready to run Symfony projects');
|
||||
echo_block('success', 'OK', 'Your system is ready to run Symfony2 projects');
|
||||
} else {
|
||||
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony projects');
|
||||
echo_block('error', 'ERROR', 'Your system is not ready to run Symfony2 projects');
|
||||
|
||||
echo_title('Fix the following mandatory requirements', 'red');
|
||||
|
||||
@ -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()
|
||||
|
||||
12
build.xml
12
build.xml
@ -42,8 +42,8 @@
|
||||
<target name="db_mysql" description="Run test for MySQL">
|
||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||
<exec executable="cp">
|
||||
<arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
|
||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||
<arg value="${basedir}/app/config/tests/parameters.yml.dist.mysql"/>
|
||||
<arg value="${basedir}/app/config/parameters.yml"/>
|
||||
</exec>
|
||||
|
||||
<exec executable="php">
|
||||
@ -56,8 +56,8 @@
|
||||
<target name="db_sqlite" description="Run test for SQLite">
|
||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||
<exec executable="cp">
|
||||
<arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
|
||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||
<arg value="${basedir}/app/config/tests/parameters.yml.dist.sqlite"/>
|
||||
<arg value="${basedir}/app/config/parameters.yml"/>
|
||||
</exec>
|
||||
|
||||
<exec executable="php">
|
||||
@ -70,8 +70,8 @@
|
||||
<target name="db_pgsql" description="Run test for PostgreSQL">
|
||||
<delete dir="${basedir}/app/config/parameters.yml"/>
|
||||
<exec executable="cp">
|
||||
<arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
|
||||
<arg value="${basedir}/app/config/parameters_test.yml"/>
|
||||
<arg value="${basedir}/app/config/tests/parameters.yml.dist.pgsql"/>
|
||||
<arg value="${basedir}/app/config/parameters.yml"/>
|
||||
</exec>
|
||||
|
||||
<exec executable="php">
|
||||
|
||||
@ -29,25 +29,12 @@
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5.9",
|
||||
"ext-pcre": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-session": "*",
|
||||
"ext-ctype": "*",
|
||||
"ext-hash": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"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",
|
||||
@ -57,6 +44,7 @@
|
||||
"friendsofsymfony/rest-bundle": "~1.4",
|
||||
"jms/serializer-bundle": "~1.0",
|
||||
"nelmio/api-doc-bundle": "~2.7",
|
||||
"ezyang/htmlpurifier": "~4.6",
|
||||
"mgargano/simplehtmldom": "~1.5",
|
||||
"tecnickcom/tcpdf": "~6.2",
|
||||
"simplepie/simplepie": "~1.3.1",
|
||||
@ -66,40 +54,32 @@
|
||||
"pagerfanta/pagerfanta": "~1.0.3",
|
||||
"lexik/form-filter-bundle": "~5.0",
|
||||
"j0k3r/graby": "~1.0",
|
||||
"friendsofsymfony/user-bundle": "~2.0@dev",
|
||||
"friendsofsymfony/oauth-server-bundle": "^1.5",
|
||||
"friendsofsymfony/user-bundle": "dev-master",
|
||||
"friendsofsymfony/oauth-server-bundle": "^1.5@dev",
|
||||
"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",
|
||||
"mouf/nodejs-installer": "~1.0",
|
||||
"php-amqplib/rabbitmq-bundle": "^1.8",
|
||||
"predis/predis": "^1.0",
|
||||
"javibravo/simpleue": "^1.0"
|
||||
"paragonie/random_compat": "~1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/doctrine-fixtures-bundle": "~2.2",
|
||||
"doctrine/data-fixtures": "~1.1.1",
|
||||
"sensio/generator-bundle": "^3.0",
|
||||
"phpunit/phpunit": "~5.0",
|
||||
"symfony/phpunit-bridge": "^3.0",
|
||||
"friendsofphp/php-cs-fixer": "~1.9",
|
||||
"m6web/redis-mock": "^2.0"
|
||||
"phpunit/phpunit": "~4.4",
|
||||
"symfony/phpunit-bridge": "^2.7"
|
||||
},
|
||||
"scripts": {
|
||||
"build-parameters": [
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters"
|
||||
],
|
||||
"post-cmd": [
|
||||
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
|
||||
"@build-parameters",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
|
||||
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
|
||||
],
|
||||
@ -116,17 +96,21 @@
|
||||
"symfony-var-dir": "var",
|
||||
"symfony-web-dir": "web",
|
||||
"symfony-tests-dir": "tests",
|
||||
"symfony-assets-install": "relative",
|
||||
"incenteev-parameters": {
|
||||
"file": "app/config/parameters.yml"
|
||||
"file": "app/config/parameters.yml",
|
||||
"env-map": {
|
||||
"mailer_host": "WALLABAG_MAILER_HOST",
|
||||
"mailer_user": "WALLABAG_MAILER_USER",
|
||||
"mailer_password": "WALLABAG_MAILER_PASSWORD",
|
||||
"secret": "WALLABAG_SECRET"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": { "Wallabag\\": "src/Wallabag/" },
|
||||
"psr-4": { "": "src/" },
|
||||
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": { "Tests\\": "tests/" }
|
||||
},
|
||||
"config": {
|
||||
"bin-dir": "bin"
|
||||
},
|
||||
|
||||
2392
composer.lock
generated
2392
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,61 +1,42 @@
|
||||
version: '2'
|
||||
services:
|
||||
nginx:
|
||||
image: nginx
|
||||
ports:
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- ./docker/nginx/nginx.conf:/nginx.conf
|
||||
- ./docker/logs/nginx:/var/log/nginx
|
||||
- .:/var/www/html
|
||||
links:
|
||||
- php:php
|
||||
command: nginx -c /nginx.conf
|
||||
|
||||
php:
|
||||
build:
|
||||
context: docker/php
|
||||
args:
|
||||
# Set here your timezone using one of this: http://php.net/manual/en/timezones.php
|
||||
timezone: 'Europe/Monaco'
|
||||
ports:
|
||||
- "9000:9000"
|
||||
volumes:
|
||||
- .:/var/www/html
|
||||
#links:
|
||||
# - "postgres:rdbms"
|
||||
# - "mariadb:rdbms"
|
||||
env_file:
|
||||
- ./docker/php/env
|
||||
# Comment non-used DBMS lines
|
||||
# If all DBMS are commented out, sqlite will be used as default
|
||||
# - ./docker/postgres/env
|
||||
# - ./docker/mariadb/env
|
||||
|
||||
#postgres:
|
||||
# image: postgres:9
|
||||
# ports:
|
||||
# - "5432:5432"
|
||||
# volumes:
|
||||
# - ./docker/data/pgsql:/var/lib/postgresql/data
|
||||
# env_file:
|
||||
# - ./docker/postgres/env
|
||||
|
||||
#mariadb:
|
||||
# image: mariadb:10
|
||||
# ports:
|
||||
# - "3306:3306"
|
||||
# volumes:
|
||||
# - ./docker/data/mariadb:/var/lib/mysql
|
||||
# env_file:
|
||||
# - ./docker/mariadb/env
|
||||
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-management
|
||||
ports:
|
||||
- "15672:15672"
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
nginx:
|
||||
image: nginx
|
||||
ports:
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- ./docker/nginx/nginx.conf:/nginx.conf
|
||||
- ./docker/logs/nginx:/var/log/nginx
|
||||
- .:/var/www/html
|
||||
links:
|
||||
- php:php
|
||||
command: nginx -c /nginx.conf
|
||||
php:
|
||||
build: docker/php
|
||||
ports:
|
||||
- "9000:9000"
|
||||
volumes:
|
||||
- .:/var/www/html
|
||||
#links:
|
||||
# - "postgres:rdbms"
|
||||
# - "mariadb:rdbms"
|
||||
env_file:
|
||||
- ./docker/php/env
|
||||
# Comment non-used DBMS lines
|
||||
# If all DBMS are commented out, sqlite will be used as default
|
||||
# - ./docker/postgres/env
|
||||
# - ./docker/mariadb/env
|
||||
#postgres:
|
||||
# image: postgres:9
|
||||
# ports:
|
||||
# - "5432:5432"
|
||||
# volumes:
|
||||
# - ./docker/data/pgsql:/var/lib/postgresql/data
|
||||
# env_file:
|
||||
# - ./docker/postgres/env
|
||||
#mariadb:
|
||||
# image: mariadb:10
|
||||
# ports:
|
||||
# - "3306:3306"
|
||||
# volumes:
|
||||
# - ./docker/data/mariadb:/var/lib/mysql
|
||||
# env_file:
|
||||
# - ./docker/mariadb/env
|
||||
|
||||
@ -1,15 +1,9 @@
|
||||
FROM php:fpm
|
||||
|
||||
# Default timezone. To change it, use the argument in the docker-compose.yml file
|
||||
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
|
||||
|
||||
RUN echo "date.timezone="$timezone > /usr/local/etc/php/conf.d/date_timezone.ini
|
||||
iconv mcrypt mbstring intl pdo pdo_mysql pdo_pgsql
|
||||
|
||||
RUN usermod -u 1000 www-data
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -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.
|
||||
@ -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.
|
||||
@ -1,32 +0,0 @@
|
||||
Wartungsmodus
|
||||
=============
|
||||
|
||||
Wenn du längere Aufgaben auf deiner wallabag Instanz ausführen willst, kannst du den Wartungsmodus aktivieren.
|
||||
Keiner wird dann Zugang zu deiner Instanz haben.
|
||||
|
||||
Aktivieren des Wartungsmodus
|
||||
----------------------------
|
||||
|
||||
Um den Wartungsmodus zu aktivieren, führe folgendes Kommando aus:
|
||||
|
||||
::
|
||||
|
||||
bin/console lexik:maintenance:lock --no-interaction
|
||||
|
||||
Du kannst deine IP Adresse in ``app/config/config.yml`` setzen, wenn du Zugriff zu wallabag haben willst, auch wenn der Wartungsmodus aktiv ist. Zum Beispiel:
|
||||
|
||||
::
|
||||
|
||||
lexik_maintenance:
|
||||
authorized:
|
||||
ips: ['127.0.0.1']
|
||||
|
||||
|
||||
Deaktivieren des Wartungsmodus
|
||||
------------------------
|
||||
|
||||
Um den Wartungsmodus zu deaktivieren, führe dieses Kommando aus:
|
||||
|
||||
::
|
||||
|
||||
bin/console lexik:maintenance:unlock
|
||||
@ -1,77 +0,0 @@
|
||||
Installiere RabbitMQ für asynchrone Aufgaben
|
||||
============================================
|
||||
|
||||
Um asynchrone Aufgaben zu starten (nützlich z.B. für große Imports), können wir RabbitMQ nutzen.
|
||||
|
||||
Voraussetzungen
|
||||
---------------
|
||||
|
||||
Du musst RabbitMQ auf deinem Server installiert haben.
|
||||
|
||||
Installation
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. code:: bash
|
||||
|
||||
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
|
||||
apt-key add rabbitmq-signing-key-public.asc
|
||||
apt-get update
|
||||
apt-get install rabbitmq-server
|
||||
|
||||
Konfiguration und Starten
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code:: bash
|
||||
|
||||
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
|
||||
rabbitmq-server -detached
|
||||
|
||||
RabbitMQ stoppen
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. code:: bash
|
||||
|
||||
rabbitmqctl stop
|
||||
|
||||
|
||||
Konfigure RabbitMQ in wallabag
|
||||
------------------------------
|
||||
|
||||
Bearbeite die Datei ``parameters.yml``, um die RabbitMQ Konfiguration einzurichten. Die Standardkonfiguration sollte ok sein:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
rabbitmq_host: localhost
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
|
||||
|
||||
Starte den RabbitMQ Consumer
|
||||
----------------------------
|
||||
|
||||
Abhängig von welchem Service du importieren möchtest, solltest du einen Cron Job aktivieren (oder mehrere, wenn du viele unterstützen willst):
|
||||
|
||||
.. code:: bash
|
||||
|
||||
# for Pocket import
|
||||
bin/console rabbitmq:consumer import_pocket -w
|
||||
|
||||
# for Readability import
|
||||
bin/console rabbitmq:consumer import_readability -w
|
||||
|
||||
# for Instapaper import
|
||||
bin/console rabbitmq:consumer import_instapaper -w
|
||||
|
||||
# for wallabag v1 import
|
||||
bin/console rabbitmq:consumer import_wallabag_v1 -w
|
||||
|
||||
# for wallabag v2 import
|
||||
bin/console rabbitmq:consumer import_wallabag_v2 -w
|
||||
|
||||
# for Firefox import
|
||||
bin/console rabbitmq:consumer import_firefox -w
|
||||
|
||||
# for Chrome import
|
||||
bin/console rabbitmq:consumer import_chrome -w
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
Installiere Redis für asynchrone Aufgaben
|
||||
=========================================
|
||||
|
||||
Um asynchrone Aufgaben zu starten (nützlich z.B. für große Imports), können wir Redis nutzen.
|
||||
|
||||
Voraussetzungen
|
||||
---------------
|
||||
|
||||
Du musst Redis auf deinem Server installiert haben.
|
||||
|
||||
Installation
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. code:: bash
|
||||
|
||||
apt-get install redis-server
|
||||
|
||||
Starten
|
||||
~~~~~~
|
||||
|
||||
Der Redis Service läuft eventuell schon direkt nach der Installation. Falls nicht kannst du ihn wie folgt starten:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
redis-server
|
||||
|
||||
|
||||
Konfigure Redis in wallabag
|
||||
---------------------------
|
||||
|
||||
Bearbeite die Datei ``parameters.yml``, um die RabbitMQ Konfiguration einzurichten. Die Standardkonfiguration sollte ok sein:
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
redis_host: localhost
|
||||
redis_port: 6379
|
||||
|
||||
|
||||
Starte den Redis Consumer
|
||||
-------------------------
|
||||
|
||||
Abhängig von welchem Service du importieren möchtest, solltest du einen Cron Job aktivieren (oder mehrere, wenn du viele unterstützen willst):
|
||||
|
||||
.. code:: bash
|
||||
|
||||
# for Pocket import
|
||||
bin/console wallabag:import:redis-worker pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
|
||||
|
||||
# for Readability import
|
||||
bin/console wallabag:import:redis-worker readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
|
||||
|
||||
# for Instapaper import
|
||||
bin/console wallabag:import:redis-worker instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
|
||||
|
||||
# for wallabag v1 import
|
||||
bin/console wallabag:import:redis-worker wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
|
||||
|
||||
# for wallabag v2 import
|
||||
bin/console wallabag:import:redis-worker wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
|
||||
|
||||
# for Firefox import
|
||||
bin/console wallabag:import:redis-worker firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
|
||||
|
||||
# for Chrome import
|
||||
bin/console wallabag:import:redis-worker instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log
|
||||
|
||||
Wenn du den Import nur für ein paar Nachrichten und nicht für alle starten willst, kannst du die Nummer (im folgenden Beispiel 12) angeben. Der Redis Worker wird dann nach der 12. Nachricht stoppen:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
bin/console wallabag:import:redis-worker pocket -vv --maxIterations=12
|
||||
@ -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.
|
||||
@ -1,60 +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.
|
||||
|
||||
.. tip::
|
||||
|
||||
Diese Dokumentation ist über wallabag v2. Wenn du die Dokumentation für wallabag v1 lesen willst, `siehe dir bitte das hier an <https://github.com/wallabag/documentation>`__.
|
||||
|
||||
Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organisiert:
|
||||
|
||||
* :ref:`user-docs`
|
||||
* :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/faq
|
||||
user/installation
|
||||
user/upgrade-2.0.x-2.1.y
|
||||
user/upgrade-2.0.x-2.0.y
|
||||
user/migration
|
||||
user/import
|
||||
user/create_account
|
||||
user/login
|
||||
user/configuration
|
||||
user/first_article
|
||||
user/errors_during_fetching
|
||||
user/annotations
|
||||
user/download_articles
|
||||
user/filters
|
||||
user/tags
|
||||
user/android
|
||||
|
||||
.. _dev-docs:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Entwicklerdokumentation
|
||||
|
||||
developer/api
|
||||
developer/docker
|
||||
developer/documentation
|
||||
developer/translate
|
||||
developer/maintenance
|
||||
developer/redis
|
||||
developer/rabbitmq
|
||||
@ -1,107 +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
|
||||
---------------------
|
||||
|
||||
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 Applikation <https://github.com/wallabag/android-app>`_
|
||||
|
||||
`Android Applikation auf F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
|
||||
|
||||
`Android Applikation auf Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
|
||||
|
||||
`Support Chat auf English <https://gitter.im/wallabag/wallabag>`_
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
Anmerkungen
|
||||
===========
|
||||
|
||||
In jedem Artikel, den du liest, kannst du Anmerkungen hinzufügen. Es ist einfacher mit ein paar Bilder erklärt.
|
||||
|
||||
Wähle den Teil des Artikels aus, den du kommentieren willst und klicke auf den Bleistift:
|
||||
|
||||
.. image:: ../../img/user/annotations_1.png
|
||||
:alt: Wähle den Text
|
||||
:align: center
|
||||
|
||||
Schreibe deinen Kommentar:
|
||||
|
||||
.. image:: ../../img/user/annotations_2.png
|
||||
:alt: Schreibe deinen Kommentar
|
||||
:align: center
|
||||
|
||||
Der Text ist nun hervorgehoben und du kannst deine Anmerkung lesen, wenn du den Mauspfeil darüber fährst.
|
||||
|
||||
.. image:: ../../img/user/annotations_3.png
|
||||
:alt: lese deine Anmerkung
|
||||
:align: center
|
||||
|
||||
Du kannst so viele Anmerkungen erstellen wie du möchtest.
|
||||
@ -1,119 +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. Du kannst
|
||||
auch ein neues erstellen, ein extra Kapitel wird dem gewidmet sein. 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. Du musst die ausloggen, damit diese
|
||||
Änderung Wirkung zeigt.
|
||||
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
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 Variabel und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:
|
||||
|
||||
=========== ============================================== ======== ==========
|
||||
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"
|
||||
=========== ============================================== ======== ==========
|
||||
@ -1,25 +0,0 @@
|
||||
Account erstellen
|
||||
=================
|
||||
|
||||
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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user