Compare commits
1 Commits
feature/fl
...
2.1.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 501a4dae5b |
10
.babelrc
@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"presets": [
|
|
||||||
[
|
|
||||||
"@babel/preset-env",
|
|
||||||
{
|
|
||||||
"modules": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@ -8,13 +8,3 @@ indent_style = space
|
|||||||
indent_size = 4
|
indent_size = 4
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
[*.{js,css}]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
||||||
|
|
||||||
[*akefile]
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[.github/**.yml]
|
|
||||||
indent_size = 2
|
|
||||||
|
|||||||
77
.env
@ -1,77 +0,0 @@
|
|||||||
# In all environments, the following files are loaded if they exist,
|
|
||||||
# the latter taking precedence over the former:
|
|
||||||
#
|
|
||||||
# * .env contains default values for the environment variables needed by the app
|
|
||||||
# * .env.local uncommitted file with local overrides
|
|
||||||
# * .env.$APP_ENV committed environment-specific defaults
|
|
||||||
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
|
||||||
#
|
|
||||||
# Real environment variables win over .env files.
|
|
||||||
#
|
|
||||||
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
|
||||||
# https://symfony.com/doc/current/configuration/secrets.html
|
|
||||||
#
|
|
||||||
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
|
||||||
|
|
||||||
DOMAIN_NAME=https://your-wallabag-instance.wallabag.org
|
|
||||||
SERVER_NAME="Your wallabag instance"
|
|
||||||
|
|
||||||
# two factor stuff
|
|
||||||
TWOFACTOR_AUTH=true
|
|
||||||
TWOFACTOR_SENDER=no-reply@wallabag.org
|
|
||||||
|
|
||||||
# fosuser stuff
|
|
||||||
FOSUSER_REGISTRATION=true
|
|
||||||
FOSUSER_CONFIRMATION=true
|
|
||||||
|
|
||||||
# how long the access token should live in seconds for the API
|
|
||||||
FOS_OAUTH_SERVER_ACCESS_TOKEN_LIFETIME=3600
|
|
||||||
# how long the refresh token should life in seconds for the API
|
|
||||||
FOS_OAUTH_SERVER_REFRESH_TOKEN_LIFETIME=1209600
|
|
||||||
|
|
||||||
FROM_EMAIL=no-reply@wallabag.org
|
|
||||||
|
|
||||||
RSS_LIMIT=50
|
|
||||||
|
|
||||||
LOCALE=en
|
|
||||||
DATABASE_TABLE_PREFIX=wallabag_
|
|
||||||
|
|
||||||
# redis stuff
|
|
||||||
REDIS_SCHEME=tcp
|
|
||||||
REDIS_HOST=localhost
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_PATH=null
|
|
||||||
REDIS_PASSWORD=null
|
|
||||||
|
|
||||||
###> doctrine/doctrine-bundle ###
|
|
||||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
|
||||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
|
||||||
#
|
|
||||||
DATABASE_URL="sqlite:///%kernel.project_dir%/data/db/wallabag.sqlite"
|
|
||||||
# DATABASE_URL="mysql://root:@127.0.0.1:3306/wallabag?serverVersion=8&charset=utf8mb4"
|
|
||||||
# DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=14&charset=utf8"
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
||||||
|
|
||||||
###> nelmio/cors-bundle ###
|
|
||||||
CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
|
|
||||||
###< nelmio/cors-bundle ###
|
|
||||||
|
|
||||||
###> php-amqplib/rabbitmq-bundle ###
|
|
||||||
RABBITMQ_URL=amqp://guest:guest@localhost:5672
|
|
||||||
###< php-amqplib/rabbitmq-bundle ###
|
|
||||||
|
|
||||||
###> sentry/sentry-symfony ###
|
|
||||||
SENTRY_DSN=
|
|
||||||
###< sentry/sentry-symfony ###
|
|
||||||
|
|
||||||
###> symfony/framework-bundle ###
|
|
||||||
APP_ENV=dev
|
|
||||||
APP_SECRET=b6b54475f34a3238dec16508c4903ca0
|
|
||||||
#TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
|
|
||||||
#TRUSTED_HOSTS='^(localhost|example\.com)$'
|
|
||||||
###< symfony/framework-bundle ###
|
|
||||||
|
|
||||||
###> symfony/mailer ###
|
|
||||||
MAILER_DSN=smtp://127.0.0.1
|
|
||||||
###< symfony/mailer ###
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
# define your env variables for the test env here
|
|
||||||
KERNEL_CLASS='App\Kernel'
|
|
||||||
APP_SECRET='$ecretf0rt3st'
|
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
|
||||||
PANTHER_APP_ENV=panther
|
|
||||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
||||||
DATABASE_URL="mysql://root:root@127.0.0.1:3306/wallabag_test?serverVersion=8&charset=utf8mb4"
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
# define your env variables for the test env here
|
|
||||||
KERNEL_CLASS='App\Kernel'
|
|
||||||
APP_SECRET='$ecretf0rt3st'
|
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
|
||||||
PANTHER_APP_ENV=panther
|
|
||||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
||||||
DATABASE_URL="mysql://root:root@127.0.0.1:3306/wallabag_test?serverVersion=8&charset=utf8mb4"
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
# define your env variables for the test env here
|
|
||||||
KERNEL_CLASS='App\Kernel'
|
|
||||||
APP_SECRET='$ecretf0rt3st'
|
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
|
||||||
PANTHER_APP_ENV=panther
|
|
||||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
||||||
DATABASE_URL="postgresql://wallabag:wallabagrocks@localhost:5432/wallabag_test?serverVersion=14&charset=utf8"
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
# define your env variables for the test env here
|
|
||||||
KERNEL_CLASS='App\Kernel'
|
|
||||||
APP_SECRET='$ecretf0rt3st'
|
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
|
||||||
PANTHER_APP_ENV=panther
|
|
||||||
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
|
|
||||||
DATABASE_URL="sqlite:///%test_database_path%"
|
|
||||||
@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"extends": "airbnb-base",
|
"extends": "airbnb-base",
|
||||||
"parser": "@babel/eslint-parser",
|
"parser": "babel-eslint",
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true,
|
"browser": true
|
||||||
"es6": true
|
|
||||||
},
|
|
||||||
"globals": {
|
|
||||||
"Routing": true
|
|
||||||
},
|
},
|
||||||
"rules": {
|
"rules": {
|
||||||
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]
|
"import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}]
|
||||||
|
|||||||
8
.gitattributes
vendored
@ -1,8 +0,0 @@
|
|||||||
/.editorconfig export-ignore
|
|
||||||
/.gitattributes export-ignore
|
|
||||||
/.github export-ignore
|
|
||||||
/.gitignore export-ignore
|
|
||||||
/phpstan.neon export-ignore
|
|
||||||
/phpstan-baseline.neon export-ignore
|
|
||||||
/phpunit.xml.dist export-ignore
|
|
||||||
/tests export-ignore
|
|
||||||
50
.github/CONTRIBUTING.md
vendored
@ -1,61 +1,13 @@
|
|||||||
# How to contribute
|
# How to contribute
|
||||||
|
|
||||||
## Test it locally
|
|
||||||
|
|
||||||
### Using Docker
|
|
||||||
|
|
||||||
- Clone the repository
|
|
||||||
- Ensure your Docker daemon is running
|
|
||||||
- Copy `docker/php/env.example` to `docker/php/env` and customize
|
|
||||||
- Launch `docker-compose run --rm php composer install` to bootstrap php dependencies
|
|
||||||
- Launch `docker-compose run --rm php bin/console wallabag:install` to bootstrap your installation
|
|
||||||
- Launch `docker-compose run --rm php yarn install` to bootstrap dependencies for the frontend
|
|
||||||
- Launch `docker-compose run --rm php yarn build:dev` to build assets for the frontend
|
|
||||||
- Launch `docker-compose up -d` to start the stack
|
|
||||||
|
|
||||||
You'll then have:
|
|
||||||
- a PHP daemon with standalone web server
|
|
||||||
- a Redis database (to handle imports)
|
|
||||||
- a SQLite database to store articles
|
|
||||||
|
|
||||||
You can now access your wallabag instance using that url: `http://127.0.0.1:8000`
|
|
||||||
|
|
||||||
If you want to test using an other database than SQLite, uncomment the `postgres` or `mariadb` code from the `docker-compose.yml` file at the root of the repo. Also uncomment related line in the `php` section so the database will be linked to your PHP instance.
|
|
||||||
|
|
||||||
### Using your own PHP server
|
|
||||||
|
|
||||||
- Ensure you are running PHP >= 7.4.
|
|
||||||
- Clone the repository
|
|
||||||
- Launch `composer install`
|
|
||||||
- If you got some errors, fix them (they might be related to some missing PHP extension from your machine)
|
|
||||||
- Then `php bin/console wallabag:install`
|
|
||||||
- If you got some errors, fix them (they might be related to some missing PHP extension from your machine)
|
|
||||||
- Run `php bin/console server:run`
|
|
||||||
|
|
||||||
You can now access your wallabag instance using that url: `http://127.0.0.1:8000`
|
|
||||||
|
|
||||||
## You found a bug
|
## You found a bug
|
||||||
Please [open a new issue](https://github.com/wallabag/wallabag/issues/new).
|
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.
|
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 logs (see `var/logs`).
|
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.
|
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
|
## You want to fix a bug or to add a feature
|
||||||
Please fork wallabag and work with **the master branch**.
|
Please fork wallabag and work with **the master branch**.
|
||||||
|
|
||||||
## Run Tests and PHP formatter
|
|
||||||
|
|
||||||
All pull requests need to pass the tests and the code needs match the style guide.
|
|
||||||
|
|
||||||
To run the tests locally run:
|
|
||||||
|
|
||||||
- when testing using Docker: `docker-compose run --rm php make test`
|
|
||||||
- otherwise: `make test`
|
|
||||||
|
|
||||||
To run the PHP formatter:
|
|
||||||
|
|
||||||
- when testing using Docker: `docker-compose run --rm php bin/php-cs-fixer fix`
|
|
||||||
- otherwise: `php bin/php-cs-fixer fix`
|
|
||||||
|
|||||||
2
.github/FUNDING.yml
vendored
@ -1,2 +0,0 @@
|
|||||||
# github: [nicosomb, j0k3r, tcitworld, Kdecherf]
|
|
||||||
liberapay: wallabag
|
|
||||||
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that
|
||||||
|
|
||||||
|
### Issue details
|
||||||
|
|
||||||
|
Please provide issue details here.
|
||||||
|
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).
|
||||||
30
.github/ISSUE_TEMPLATE/1-fetching-content.md
vendored
@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
name: Fetching content
|
|
||||||
about: If wallabag can't extract content for an URL
|
|
||||||
title: Wrong display in wallabag (HOST)
|
|
||||||
labels: Site Config
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Thank you for reporting a fetching issue.
|
|
||||||
|
|
||||||
Please fill in as much of the template below as you're able.
|
|
||||||
-->
|
|
||||||
|
|
||||||
**Before submitting the issue, please read:**
|
|
||||||
If wallabag can't parse / extract content for a given link, please first read the documentation about it:
|
|
||||||
http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that
|
|
||||||
|
|
||||||
We have a lot of requests about fetching config issue. It'll help us A LOT if you give a try to fix it on your own following the doc.
|
|
||||||
If you failed to fix it yourself, tick the following boxes:
|
|
||||||
- [ ] I've tried myself without success
|
|
||||||
- [ ] I've replaced `HOST` in the issue title with the host of the URL that can't be fetched (ie: `nytimes.com`, `20minutes.fr`, `bbc.com`, etc.)
|
|
||||||
|
|
||||||
**Content related:**
|
|
||||||
- URL: [full url of the content]
|
|
||||||
- wallabag version: [e.g. 2.4.0]
|
|
||||||
|
|
||||||
**Describe what's wrong:**
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
43
.github/ISSUE_TEMPLATE/2-bug-report.md
vendored
@ -1,43 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: ''
|
|
||||||
labels: ''
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Thank you for reporting an issue.
|
|
||||||
|
|
||||||
Please fill in as much of the template below as you're able.
|
|
||||||
|
|
||||||
Version: if you know it, otherwise use the git revision
|
|
||||||
Installation: How did you install wallabag? Using git clone, the docker image, an installer, downloading the package, etc.
|
|
||||||
PHP version: The version of PHP you are using
|
|
||||||
OS: The host running wallabag
|
|
||||||
Database: The storage system your instance is using (SQLite, MySQL/MariaDB or PostgreSQL) with the version
|
|
||||||
Parameters: Paste the content of your app/config/parameters.yml (hide sensitive stuff if you want)
|
|
||||||
-->
|
|
||||||
### Environment
|
|
||||||
|
|
||||||
* **Version**:
|
|
||||||
* **Installation**:
|
|
||||||
* **PHP version**:
|
|
||||||
* **OS**:
|
|
||||||
* **Database**:
|
|
||||||
* **Parameters**:
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>My <code>app/config/parameters.yml</code> is:</summary>
|
|
||||||
|
|
||||||
```
|
|
||||||
PASTE HERE
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### What steps will reproduce the bug?
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Enter details about your bug and how to reproduce it
|
|
||||||
-->
|
|
||||||
26
.github/ISSUE_TEMPLATE/3-feature-request.md
vendored
@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea for this project
|
|
||||||
title: ''
|
|
||||||
labels: Feature
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Thank you for suggesting an idea to make wallabag better.
|
|
||||||
|
|
||||||
Please fill in as much of the template below as you're able.
|
|
||||||
-->
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
||||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,5 +0,0 @@
|
|||||||
blank_issues_enabled: false
|
|
||||||
contact_links:
|
|
||||||
- name: Want to ask something?
|
|
||||||
url: https://gitter.im/wallabag/wallabag
|
|
||||||
about: Use Gitter to ask questions.
|
|
||||||
28
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,23 +1,11 @@
|
|||||||
| Q | A
|
| Q | A
|
||||||
| ------------- | ---
|
| ------------- | ---
|
||||||
| Bug fix? | yes/no
|
| Bug fix? | yes|no
|
||||||
| New feature? | yes/no
|
| New feature? | yes|no
|
||||||
| BC breaks? | yes/no
|
| BC breaks? | yes|no
|
||||||
| Deprecations? | yes/no
|
| Deprecations? | yes|no
|
||||||
| Tests pass? | yes/no
|
| Tests pass? | yes|no
|
||||||
| Documentation | yes/no
|
| Documentation | yes|no
|
||||||
| Translation | yes/no
|
| Translation | yes|no
|
||||||
| CHANGELOG.md | yes/no
|
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
|
||||||
| License | MIT
|
| License | MIT
|
||||||
|
|
||||||
<!--
|
|
||||||
Please list the issues your PR fixes using special keywords, see
|
|
||||||
https://help.github.com/articles/closing-issues-using-keywords/
|
|
||||||
|
|
||||||
Fixes #…
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
- Please fill in this template according to the PR you're about to submit.
|
|
||||||
- Replace this comment by a description of what your PR is solving.
|
|
||||||
-->
|
|
||||||
|
|||||||
35
.github/dependabot.yml
vendored
@ -1,35 +0,0 @@
|
|||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: npm
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
time: "04:00"
|
|
||||||
timezone: Europe/Paris
|
|
||||||
open-pull-requests-limit: 10
|
|
||||||
ignore:
|
|
||||||
- dependency-name: materialize-css
|
|
||||||
versions:
|
|
||||||
- "> 0.98.2"
|
|
||||||
- package-ecosystem: composer
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: daily
|
|
||||||
time: "04:00"
|
|
||||||
timezone: Europe/Paris
|
|
||||||
open-pull-requests-limit: 10
|
|
||||||
reviewers:
|
|
||||||
- j0k3r
|
|
||||||
- tcitworld
|
|
||||||
- Kdecherf
|
|
||||||
ignore:
|
|
||||||
- dependency-name: lcobucci/jwt
|
|
||||||
versions:
|
|
||||||
- ">= 4.2.0"
|
|
||||||
- package-ecosystem: github-actions
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
time: "04:00"
|
|
||||||
timezone: Europe/Paris
|
|
||||||
open-pull-requests-limit: 10
|
|
||||||
BIN
.github/images/screenshot.png
vendored
|
Before Width: | Height: | Size: 837 KiB |
7
.github/release.yml
vendored
@ -1,7 +0,0 @@
|
|||||||
changelog:
|
|
||||||
exclude:
|
|
||||||
labels:
|
|
||||||
- Dependencies
|
|
||||||
authors:
|
|
||||||
- dependabot
|
|
||||||
- weblate
|
|
||||||
44
.github/workflows/assets.yml
vendored
@ -1,44 +0,0 @@
|
|||||||
name: "Assets"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- 2.*
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
js:
|
|
||||||
name: "Building assets"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
|
|
||||||
- name: "Install Node"
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: "16"
|
|
||||||
|
|
||||||
- name: "Install dependencies with Yarn"
|
|
||||||
run: "yarn install"
|
|
||||||
|
|
||||||
- name: "Build dev assets"
|
|
||||||
run: "yarn run build:dev"
|
|
||||||
|
|
||||||
- name: "Build prod assets"
|
|
||||||
run: "yarn run build:prod"
|
|
||||||
|
|
||||||
- name: "Validate no change were created"
|
|
||||||
run: |
|
|
||||||
GITDIFF=`git diff`
|
|
||||||
if [ "$GITDIFF" == "" ]; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
git diff
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
54
.github/workflows/coding-standards.yml
vendored
@ -1,54 +0,0 @@
|
|||||||
name: "CS"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- 2.*
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
coding-standards:
|
|
||||||
name: "CS Fixer, PHPStan & TwigCS"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
coverage: "none"
|
|
||||||
php-version: "7.4"
|
|
||||||
tools: cs2pr, pecl
|
|
||||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
|
||||||
ini-values: "date.timezone=Europe/Paris"
|
|
||||||
env:
|
|
||||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: "Install dependencies with Composer"
|
|
||||||
uses: "ramsey/composer-install@v2"
|
|
||||||
with:
|
|
||||||
composer-options: "--optimize-autoloader --prefer-dist"
|
|
||||||
|
|
||||||
- name: "Run PHP CS Fixer"
|
|
||||||
run: "bin/php-cs-fixer fix --verbose --dry-run --format=checkstyle | cs2pr"
|
|
||||||
|
|
||||||
- name: "Generate test cache for PHPStan"
|
|
||||||
run: "php bin/console cache:clear --env=test"
|
|
||||||
|
|
||||||
- name: "Install PHPUnit for PHPStan"
|
|
||||||
run: "php bin/simple-phpunit install"
|
|
||||||
|
|
||||||
- name: "Run PHPStan"
|
|
||||||
run: "php bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
|
|
||||||
|
|
||||||
- name: "Run TwigCS"
|
|
||||||
run: "php bin/twigcs --severity=error --display=blocking --reporter checkstyle templates/ | cs2pr"
|
|
||||||
|
|
||||||
- name: "Run ergebnis/composer-normalize"
|
|
||||||
run: "composer normalize --dry-run --no-check-lock"
|
|
||||||
153
.github/workflows/continuous-integration.yml
vendored
@ -1,153 +0,0 @@
|
|||||||
name: "CI"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- 2.*
|
|
||||||
|
|
||||||
env:
|
|
||||||
PGPASSWORD: wallabagrocks
|
|
||||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
phpunit:
|
|
||||||
name: "PHP ${{ matrix.php }} using ${{ matrix.database }}"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
services:
|
|
||||||
rabbitmq:
|
|
||||||
image: rabbitmq:3-alpine
|
|
||||||
ports:
|
|
||||||
- 5672:5672
|
|
||||||
redis:
|
|
||||||
image: redis:6-alpine
|
|
||||||
ports:
|
|
||||||
- 6379:6379
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
php:
|
|
||||||
- "7.4"
|
|
||||||
- "8.0"
|
|
||||||
- "8.1"
|
|
||||||
- "8.2"
|
|
||||||
database:
|
|
||||||
- "sqlite"
|
|
||||||
- "mysql"
|
|
||||||
- "pgsql"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
php-version: "${{ matrix.php }}"
|
|
||||||
coverage: none
|
|
||||||
tools: pecl
|
|
||||||
extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
|
||||||
ini-values: "date.timezone=Europe/Paris"
|
|
||||||
|
|
||||||
- name: "Setup MySQL"
|
|
||||||
if: "${{ matrix.database == 'mysql' }}"
|
|
||||||
run: |
|
|
||||||
sudo systemctl start mysql.service
|
|
||||||
sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test"
|
|
||||||
|
|
||||||
- name: "Setup PostgreSQL"
|
|
||||||
if: "${{ matrix.database == 'pgsql' }}"
|
|
||||||
run: |
|
|
||||||
sudo systemctl start postgresql
|
|
||||||
sudo -u postgres psql -d template1 -c "CREATE USER wallabag WITH PASSWORD 'wallabagrocks' CREATEDB"
|
|
||||||
createdb -h localhost -p 5432 -U wallabag wallabag_test
|
|
||||||
pg_isready -d wallabag_test -h localhost -p 5432 -U wallabag
|
|
||||||
|
|
||||||
- name: "Install dependencies with Composer"
|
|
||||||
uses: "ramsey/composer-install@v2"
|
|
||||||
with:
|
|
||||||
composer-options: "--optimize-autoloader --prefer-dist"
|
|
||||||
|
|
||||||
- name: "Prepare database"
|
|
||||||
run: "make prepare DB=${{ matrix.database }}"
|
|
||||||
|
|
||||||
- name: "Prepare fixtures"
|
|
||||||
run: "make fixtures"
|
|
||||||
|
|
||||||
- name: "Run PHPUnit"
|
|
||||||
run: "php bin/simple-phpunit -v"
|
|
||||||
|
|
||||||
phpunit_no_prefix:
|
|
||||||
name: "PHP ${{ matrix.php }} using ${{ matrix.database }} without prefix"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
services:
|
|
||||||
rabbitmq:
|
|
||||||
image: rabbitmq:3-alpine
|
|
||||||
ports:
|
|
||||||
- 5672:5672
|
|
||||||
redis:
|
|
||||||
image: redis:6-alpine
|
|
||||||
ports:
|
|
||||||
- 6379:6379
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: true
|
|
||||||
matrix:
|
|
||||||
php:
|
|
||||||
- "8.2"
|
|
||||||
database:
|
|
||||||
- "sqlite"
|
|
||||||
- "mysql"
|
|
||||||
- "pgsql"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
php-version: "${{ matrix.php }}"
|
|
||||||
coverage: none
|
|
||||||
tools: pecl
|
|
||||||
extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
|
||||||
ini-values: "date.timezone=Europe/Paris"
|
|
||||||
|
|
||||||
- name: "Remove database prefix"
|
|
||||||
run: |
|
|
||||||
pip install --user yq
|
|
||||||
yq -Y --in-place '.parameters.database_table_prefix = ""' app/config/parameters.yml.dist
|
|
||||||
|
|
||||||
- name: "Setup MySQL"
|
|
||||||
if: "${{ matrix.database == 'mysql' }}"
|
|
||||||
run: |
|
|
||||||
sudo systemctl start mysql.service
|
|
||||||
sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test"
|
|
||||||
|
|
||||||
- name: "Setup PostgreSQL"
|
|
||||||
if: "${{ matrix.database == 'pgsql' }}"
|
|
||||||
run: |
|
|
||||||
sudo systemctl start postgresql
|
|
||||||
sudo -u postgres psql -d template1 -c "CREATE USER wallabag WITH PASSWORD 'wallabagrocks' CREATEDB"
|
|
||||||
createdb -h localhost -p 5432 -U wallabag wallabag_test
|
|
||||||
pg_isready -d wallabag_test -h localhost -p 5432 -U wallabag
|
|
||||||
|
|
||||||
- name: "Install dependencies with Composer"
|
|
||||||
uses: "ramsey/composer-install@v2"
|
|
||||||
with:
|
|
||||||
composer-options: "--optimize-autoloader --prefer-dist"
|
|
||||||
|
|
||||||
- name: "Prepare database"
|
|
||||||
run: "make prepare DB=${{ matrix.database }}"
|
|
||||||
|
|
||||||
- name: "Prepare fixtures"
|
|
||||||
run: "make fixtures"
|
|
||||||
|
|
||||||
- name: "Run PHPUnit"
|
|
||||||
run: "php bin/simple-phpunit -v"
|
|
||||||
25
.github/workflows/dependabot-automerge-js.yml
vendored
@ -1,25 +0,0 @@
|
|||||||
name: Auto-merge Dependabot JS
|
|
||||||
on: pull_request_target
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
dependabot:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
|
||||||
steps:
|
|
||||||
- name: Dependabot metadata
|
|
||||||
id: metadata
|
|
||||||
uses: dependabot/fetch-metadata@v1.6.0
|
|
||||||
with:
|
|
||||||
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
|
||||||
- name: Approve and merge minor updates
|
|
||||||
if: ${{ steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' && (steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch') }}
|
|
||||||
run: |
|
|
||||||
gh pr review --approve "$PR_URL"
|
|
||||||
gh pr merge --auto --merge "$PR_URL"
|
|
||||||
env:
|
|
||||||
PR_URL: ${{ github.event.pull_request.html_url }}
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
44
.github/workflows/translations.yml
vendored
@ -1,44 +0,0 @@
|
|||||||
name: "Translations"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- 2.*
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
translations:
|
|
||||||
name: "Translations"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php:
|
|
||||||
- "7.4"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
coverage: "none"
|
|
||||||
php-version: "${{ matrix.php }}"
|
|
||||||
tools: pecl
|
|
||||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
|
||||||
ini-values: "date.timezone=Europe/Paris"
|
|
||||||
env:
|
|
||||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: "Install dependencies with Composer"
|
|
||||||
uses: "ramsey/composer-install@v2"
|
|
||||||
with:
|
|
||||||
composer-options: "--optimize-autoloader --prefer-dist"
|
|
||||||
|
|
||||||
- name: "Validate translations"
|
|
||||||
run: "php bin/console lint:yaml translations -v"
|
|
||||||
39
.github/workflows/upload-release-package.yml
vendored
@ -1,39 +0,0 @@
|
|||||||
name: "Upload release package"
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types:
|
|
||||||
- created
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php:
|
|
||||||
- "7.4"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v3"
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
coverage: "none"
|
|
||||||
php-version: "${{ matrix.php }}"
|
|
||||||
tools: pecl
|
|
||||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
|
||||||
ini-values: "date.timezone=Europe/Paris"
|
|
||||||
env:
|
|
||||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create the package
|
|
||||||
run: make release VERSION=${{ github.event.release.tag_name }}
|
|
||||||
|
|
||||||
- name: Upload the package to the release
|
|
||||||
uses: shogo82148/actions-upload-release-asset@v1
|
|
||||||
with:
|
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
|
||||||
asset_path: /tmp/wllbg-release/wallabag-${{ github.event.release.tag_name }}.tar.gz
|
|
||||||
66
.gitignore
vendored
@ -1,70 +1,52 @@
|
|||||||
# Cache, log & sessions
|
# Cache, logs & sessions
|
||||||
/var/*
|
/var/*
|
||||||
!/var/cache
|
!/var/cache
|
||||||
/var/cache/*
|
/var/cache/*
|
||||||
!var/cache/.gitkeep
|
!var/cache/.gitkeep
|
||||||
!/var/log
|
!/var/logs
|
||||||
/var/log/*
|
/var/logs/*
|
||||||
!var/log/.gitkeep
|
!var/logs/.gitkeep
|
||||||
!/var/sessions
|
!/var/sessions
|
||||||
/var/sessions/*
|
/var/sessions/*
|
||||||
!var/sessions/.gitkeep
|
!var/sessions/.gitkeep
|
||||||
|
!var/SymfonyRequirements.php
|
||||||
/bin/*
|
/bin/*
|
||||||
!/bin/console
|
!/bin/console
|
||||||
|
!/bin/symfony_requirements
|
||||||
|
|
||||||
# Parameters
|
# Parameters
|
||||||
/app/config/parameters.yml
|
/app/config/parameters.yml
|
||||||
|
|
||||||
|
# Managed by Composer
|
||||||
|
/vendor/
|
||||||
|
|
||||||
# Assets and user uploads
|
# Assets and user uploads
|
||||||
public/uploads/
|
web/uploads/
|
||||||
/public/bundles/*
|
!web/bundles
|
||||||
!/public/bundles/.gitkeep
|
web/bundles/*
|
||||||
/public/assets/images/*
|
!web/bundles/wallabagcore
|
||||||
!public/assets/images/.gitkeep
|
|
||||||
/public/wallassets/*.dev.js
|
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
/app/build
|
/app/build
|
||||||
/build
|
/build
|
||||||
/coverage
|
|
||||||
|
|
||||||
# Development
|
|
||||||
docker/php/env
|
|
||||||
|
|
||||||
# Composer PHAR
|
# Composer PHAR
|
||||||
/composer.phar
|
/composer.phar
|
||||||
|
|
||||||
# Data for wallabag
|
# Data for wallabag
|
||||||
|
data/assets/*
|
||||||
data/db/wallabag*.sqlite
|
data/db/wallabag*.sqlite
|
||||||
|
|
||||||
|
# Docker container logs and data
|
||||||
|
docker/logs/
|
||||||
|
docker/data/
|
||||||
|
|
||||||
|
# To avoid crazy stuff on some PR, we must manually FORCE ADD IT on each new release
|
||||||
|
composer.lock
|
||||||
|
|
||||||
# assets stuff
|
# assets stuff
|
||||||
node_modules/
|
node_modules/
|
||||||
bin
|
bin
|
||||||
|
app/Resources/build/
|
||||||
# Test-generated files
|
!/src/Wallabag/CoreBundle/Resources/public
|
||||||
admin-export.json
|
/src/Wallabag/CoreBundle/Resources/public/*
|
||||||
specialexport.json
|
|
||||||
/data/site-credentials-secret-key.txt
|
|
||||||
|
|
||||||
# Custom CSS file
|
|
||||||
public/custom.css
|
|
||||||
|
|
||||||
###> friendsofphp/php-cs-fixer ###
|
|
||||||
/.php-cs-fixer.php
|
|
||||||
/.php-cs-fixer.cache
|
|
||||||
###< friendsofphp/php-cs-fixer ###
|
|
||||||
|
|
||||||
###> symfony/phpunit-bridge ###
|
|
||||||
.phpunit.result.cache
|
|
||||||
/phpunit.xml
|
|
||||||
###< symfony/phpunit-bridge ###
|
|
||||||
|
|
||||||
###> symfony/framework-bundle ###
|
|
||||||
/.env.local
|
|
||||||
/.env.local.php
|
|
||||||
/.env.*.local
|
|
||||||
/config/secrets/prod/prod.decrypt.private.php
|
|
||||||
/public/bundles/
|
|
||||||
/var/
|
|
||||||
/vendor/
|
|
||||||
###< symfony/framework-bundle ###
|
|
||||||
|
|||||||
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
$config = new PhpCsFixer\Config();
|
|
||||||
return $config
|
|
||||||
->setRiskyAllowed(true)
|
|
||||||
->setRules([
|
|
||||||
'@Symfony' => true,
|
|
||||||
'@Symfony:risky' => true,
|
|
||||||
'array_syntax' => [
|
|
||||||
'syntax' => 'short'
|
|
||||||
],
|
|
||||||
'combine_consecutive_unsets' => true,
|
|
||||||
'heredoc_to_nowdoc' => true,
|
|
||||||
'no_extra_blank_lines' => [
|
|
||||||
'tokens' => [
|
|
||||||
'break',
|
|
||||||
'continue',
|
|
||||||
'extra',
|
|
||||||
'return',
|
|
||||||
'throw',
|
|
||||||
'use',
|
|
||||||
'parenthesis_brace_block',
|
|
||||||
'square_brace_block',
|
|
||||||
'curly_brace_block'
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'no_unreachable_default_argument_value' => true,
|
|
||||||
'no_useless_else' => true,
|
|
||||||
'no_useless_return' => true,
|
|
||||||
'ordered_class_elements' => true,
|
|
||||||
'ordered_imports' => true,
|
|
||||||
'php_unit_strict' => true,
|
|
||||||
'phpdoc_order' => true,
|
|
||||||
// 'psr_autoloading' => true,
|
|
||||||
'strict_comparison' => true,
|
|
||||||
'strict_param' => true,
|
|
||||||
'concat_space' => [
|
|
||||||
'spacing' => 'one'
|
|
||||||
],
|
|
||||||
])
|
|
||||||
->setFinder(
|
|
||||||
PhpCsFixer\Finder::create()
|
|
||||||
->exclude([
|
|
||||||
'node_modules',
|
|
||||||
'vendor',
|
|
||||||
'var',
|
|
||||||
'web'
|
|
||||||
])
|
|
||||||
->in(__DIR__)
|
|
||||||
)
|
|
||||||
->setCacheFile('.php-cs-fixer.cache')
|
|
||||||
;
|
|
||||||
28
.scrutinizer.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
filter:
|
||||||
|
paths:
|
||||||
|
- src/*
|
||||||
|
excluded_paths:
|
||||||
|
- 'vendor/*'
|
||||||
|
- 'app/*'
|
||||||
|
- 'var/*'
|
||||||
|
- 'web/*'
|
||||||
|
- 'src/Wallabag/*Bundle/Tests/*'
|
||||||
|
- '*Test.php'
|
||||||
|
|
||||||
|
tools:
|
||||||
|
php_cs_fixer: true
|
||||||
|
php_analyzer: true
|
||||||
|
php_mess_detector: true
|
||||||
|
php_changetracking: true
|
||||||
|
php_code_sniffer: true
|
||||||
|
php_pdepend: true
|
||||||
|
sensiolabs_security_checker: true
|
||||||
|
#external_code_coverage:
|
||||||
|
# timeout: 3600
|
||||||
|
php_code_coverage: true
|
||||||
|
php_sim: false
|
||||||
|
php_cpd: false
|
||||||
|
|
||||||
|
checks:
|
||||||
|
php:
|
||||||
|
code_rating: true
|
||||||
3
.stylelintrc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "stylelint-config-standard"
|
||||||
|
}
|
||||||
78
.travis.yml
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
language: php
|
||||||
|
|
||||||
|
services:
|
||||||
|
- rabbitmq
|
||||||
|
- redis
|
||||||
|
|
||||||
|
# faster builds on docker-container setup
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
# used for HHVM
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- tidy
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
env:
|
||||||
|
- 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
|
||||||
|
allow_failures:
|
||||||
|
- php: 7.1
|
||||||
|
- php: nightly
|
||||||
|
|
||||||
|
# exclude v1 branches
|
||||||
|
branches:
|
||||||
|
except:
|
||||||
|
- legacy
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- PHP=$TRAVIS_PHP_VERSION
|
||||||
|
- if [[ ! $PHP = hhvm* ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
|
||||||
|
# xdebug isn't enable for PHP 7.1
|
||||||
|
- if [[ ! $PHP = hhvm* ]]; then phpenv config-rm xdebug.ini || echo "xdebug not available"; fi
|
||||||
|
- if [[ $PHP = 5.5 ]]; then composer require "phpunit/phpunit:4.*" --no-update; fi;
|
||||||
|
- composer self-update --no-progress
|
||||||
|
- if [[ $DB = pgsql ]]; then psql -c 'create database wallabag_test;' -U postgres; fi;
|
||||||
|
|
||||||
|
install:
|
||||||
|
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.7; fi;
|
||||||
|
- if [[ $ASSETS = build ]]; then npm install -g npm@latest; fi;
|
||||||
|
- if [[ $ASSETS = build ]]; then npm install; fi;
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||||
|
|
||||||
|
script:
|
||||||
|
- travis_wait composer update --no-interaction --no-progress
|
||||||
|
- ant prepare-$DB
|
||||||
|
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then phpunit -v ; fi;
|
||||||
|
- if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix src/ --verbose --dry-run ; fi;
|
||||||
|
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
|
||||||
|
- if [[ $ASSETS = build ]]; then ./node_modules/grunt-cli/bin/grunt tests; fi;
|
||||||
26
.zappr.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
||||||
1610
CHANGELOG.md
@ -1,76 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
|
||||||
level of experience, education, socio-economic status, nationality, personal
|
|
||||||
appearance, race, religion, or sexual identity and orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at hello@wallabag.org. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
|
||||||
|
|
||||||
[homepage]: https://www.contributor-covenant.org
|
|
||||||
|
|
||||||
For answers to common questions about this code of conduct, see
|
|
||||||
https://www.contributor-covenant.org/faq
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2013-current Nicolas Lœuillet
|
Copyright (c) 2013-2016 Nicolas Lœuillet
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r), [@tcitworld](https://github.com/tcitworld) and [@Kdecherf](https://github.com/Kdecherf) under the MIT License.
|
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r) and [@tcitworld](https://github.com/tcitworld) under the MIT License.
|
||||||
|
|
||||||
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors).
|
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors).
|
||||||
|
|||||||
13
Capfile
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
set :deploy_config_path, 'app/config/capistrano/deploy.rb'
|
||||||
|
set :stage_config_path, 'app/config/capistrano/deploy'
|
||||||
|
|
||||||
|
# Load DSL and set up stages
|
||||||
|
require 'capistrano/setup'
|
||||||
|
|
||||||
|
# Include default deployment tasks
|
||||||
|
require 'capistrano/deploy'
|
||||||
|
|
||||||
|
require 'capistrano/symfony'
|
||||||
|
|
||||||
|
# Load custom tasks from `lib/capistrano/tasks` if you have any defined
|
||||||
|
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
|
||||||
62
GNUmakefile
@ -1,62 +0,0 @@
|
|||||||
SHELL=bash
|
|
||||||
TMP_FOLDER=/tmp
|
|
||||||
RELEASE_FOLDER=wllbg-release
|
|
||||||
|
|
||||||
# ensure the ENV variable is well defined
|
|
||||||
AVAILABLE_ENV := prod dev test
|
|
||||||
ifneq ($(filter $(ENV),$(AVAILABLE_ENV)),)
|
|
||||||
# all good
|
|
||||||
else
|
|
||||||
# not good, force it to "prod"
|
|
||||||
override ENV = prod
|
|
||||||
endif
|
|
||||||
|
|
||||||
help: ## Display this help menu
|
|
||||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
|
||||||
|
|
||||||
clean: ## Clear the application cache
|
|
||||||
rm -rf var/cache/*
|
|
||||||
|
|
||||||
install: ## Install wallabag with the latest version
|
|
||||||
@./scripts/install.sh $(ENV)
|
|
||||||
|
|
||||||
update: ## Update the wallabag installation to the latest version
|
|
||||||
@./scripts/update.sh $(ENV)
|
|
||||||
|
|
||||||
dev: ENV=dev
|
|
||||||
dev: build ## Install the latest dev version
|
|
||||||
@./scripts/dev.sh
|
|
||||||
|
|
||||||
run: ## Run the wallabag built-in server
|
|
||||||
@php bin/console server:run --env=dev
|
|
||||||
|
|
||||||
build: ## Run webpack
|
|
||||||
@yarn install
|
|
||||||
@yarn build:$(ENV)
|
|
||||||
|
|
||||||
prepare: clean ## Prepare database for testsuite
|
|
||||||
ifdef DB
|
|
||||||
cp .env.test.$(DB) .env.test
|
|
||||||
endif
|
|
||||||
-php bin/console doctrine:database:drop --force --env=test
|
|
||||||
php bin/console doctrine:database:create --env=test
|
|
||||||
php bin/console doctrine:migrations:migrate --no-interaction --env=test -vv
|
|
||||||
|
|
||||||
fixtures: ## Load fixtures into database
|
|
||||||
php bin/console doctrine:fixtures:load --no-interaction --env=test
|
|
||||||
|
|
||||||
test: prepare fixtures ## Launch wallabag testsuite
|
|
||||||
XDEBUG_MODE=off php -dmemory_limit=-1 bin/simple-phpunit -v
|
|
||||||
|
|
||||||
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
|
|
||||||
ifndef VERSION
|
|
||||||
$(error VERSION is not set)
|
|
||||||
endif
|
|
||||||
@./scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
|
|
||||||
|
|
||||||
deploy: ## Deploy wallabag
|
|
||||||
@bundle exec cap staging deploy
|
|
||||||
|
|
||||||
.PHONY: help clean prepare install fixtures update build test release deploy run dev
|
|
||||||
|
|
||||||
.DEFAULT_GOAL := install
|
|
||||||
5
Gemfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
gem 'capistrano', '~> 3.4'
|
||||||
|
gem 'capistrano-symfony', '~> 1.0.0.rc1'
|
||||||
|
gem 'capistrano-composer', '~> 0.0.3'
|
||||||
36
Gemfile.lock
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
capistrano (3.4.0)
|
||||||
|
i18n
|
||||||
|
rake (>= 10.0.0)
|
||||||
|
sshkit (~> 1.3)
|
||||||
|
capistrano-composer (0.0.6)
|
||||||
|
capistrano (>= 3.0.0.pre)
|
||||||
|
capistrano-file-permissions (1.0.0)
|
||||||
|
capistrano (~> 3.0)
|
||||||
|
capistrano-symfony (1.0.0.rc1)
|
||||||
|
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)
|
||||||
|
net-ssh (>= 2.6.5)
|
||||||
|
net-ssh (2.9.2)
|
||||||
|
rake (10.4.2)
|
||||||
|
sshkit (1.7.1)
|
||||||
|
colorize (>= 0.7.0)
|
||||||
|
net-scp (>= 1.1.2)
|
||||||
|
net-ssh (>= 2.8.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
capistrano (~> 3.4)
|
||||||
|
capistrano-composer (~> 0.0.3)
|
||||||
|
capistrano-symfony (~> 1.0.0.rc1)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.11.2
|
||||||
225
Gruntfile.js
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
module.exports = function (grunt) {
|
||||||
|
require('load-grunt-tasks')(grunt);
|
||||||
|
|
||||||
|
grunt.initConfig({
|
||||||
|
appDir: 'app/Resources/static',
|
||||||
|
buildDir: 'app/Resources/build',
|
||||||
|
modulesDir: 'node_modules',
|
||||||
|
releaseDir: 'web/bundles/wallabagcore',
|
||||||
|
|
||||||
|
postcss: {
|
||||||
|
material: {
|
||||||
|
options: {
|
||||||
|
processors: [
|
||||||
|
require('pixrem')(),
|
||||||
|
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
||||||
|
require('cssnano')(),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
src: '<%= buildDir %>/material.css',
|
||||||
|
dest: '<%= releaseDir %>/themes/material/css/style.min.css',
|
||||||
|
},
|
||||||
|
baggy: {
|
||||||
|
options: {
|
||||||
|
processors: [
|
||||||
|
require('pixrem')(),
|
||||||
|
require('autoprefixer')({ browsers: 'last 2 versions' }),
|
||||||
|
require('cssnano')(),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
src: '<%= buildDir %>/baggy.css',
|
||||||
|
dest: '<%= releaseDir %>/themes/baggy/css/style.min.css',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
concat: {
|
||||||
|
options: {
|
||||||
|
separator: ';',
|
||||||
|
},
|
||||||
|
cssMaterial: {
|
||||||
|
src: [
|
||||||
|
'node_modules/materialize-css/bin/materialize.css',
|
||||||
|
'<%= appDir %>/themes/material/css/*.css',
|
||||||
|
],
|
||||||
|
dest: '<%= buildDir %>/material.css',
|
||||||
|
},
|
||||||
|
cssBaggy: {
|
||||||
|
src: [
|
||||||
|
'<%= appDir %>/themes/baggy/css/*.css',
|
||||||
|
],
|
||||||
|
dest: '<%= buildDir %>/baggy.css',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
browserify: {
|
||||||
|
dist: {
|
||||||
|
files: {
|
||||||
|
'<%= buildDir %>/material.browser.js': ['<%= appDir %>/themes/material/js/init.js'],
|
||||||
|
'<%= buildDir %>/baggy.browser.js': ['<%= appDir %>/themes/baggy/js/init.js']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
sourceType: "module",
|
||||||
|
transform: [
|
||||||
|
["babelify", {
|
||||||
|
presets: ["es2015"]
|
||||||
|
}], ["browserify-shim", {
|
||||||
|
"jquery": {
|
||||||
|
"exports": "$"
|
||||||
|
},
|
||||||
|
"materialize": "materialize",
|
||||||
|
"jquery-ui": {
|
||||||
|
"depends": "jquery",
|
||||||
|
"exports": null
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
],
|
||||||
|
browserifyOptions: {
|
||||||
|
browser: {
|
||||||
|
"jQuery": "./node_modules/jquery/dist/jquery.js",
|
||||||
|
"jquery.tinydot": "./node_modules/jquery.tinydot/src/jquery.tinydot.js",
|
||||||
|
"jquery.ui": "./node_modules/jquery-ui-browserify/dist/jquery-ui.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
uglify: {
|
||||||
|
material: {
|
||||||
|
files: {
|
||||||
|
'<%= releaseDir %>/themes/material/js/material.min.js':
|
||||||
|
['<%= buildDir %>/material.browser.js'],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
baggy: {
|
||||||
|
files: {
|
||||||
|
'<%= releaseDir %>/themes/baggy/js/baggy.min.js':
|
||||||
|
['<%= buildDir %>/baggy.browser.js'],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
copy: {
|
||||||
|
pickerjs: {
|
||||||
|
expand: true,
|
||||||
|
cwd: '<%= modulesDir %>/pickadate/lib',
|
||||||
|
src: 'picker.js',
|
||||||
|
dest: '<%= buildDir %>',
|
||||||
|
},
|
||||||
|
annotator: {
|
||||||
|
expand: true,
|
||||||
|
cwd: '<%= modulesDir %>/annotator/pkg',
|
||||||
|
src: 'annotator.min.js',
|
||||||
|
dest: '<%= buildDir %>/themes/_global/js/',
|
||||||
|
},
|
||||||
|
baggyfonts: {
|
||||||
|
files: [
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||||
|
src: 'IcoMoon-Free.ttf',
|
||||||
|
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
cwd: '<%= modulesDir %>/ptsans-npm-webfont/fonts',
|
||||||
|
src: 'ptsansbold.woff',
|
||||||
|
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||||
|
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||||
|
dest: '<%= releaseDir %>/themes/baggy/fonts/',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
materialfonts: {
|
||||||
|
files: [
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
overwrite: true,
|
||||||
|
cwd: '<%= modulesDir %>/icomoon-free-npm/Font',
|
||||||
|
src: 'IcoMoon-Free.ttf',
|
||||||
|
dest: '<%= releaseDir %>/themes/material/fonts',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
overwrite: true,
|
||||||
|
cwd: '<%= modulesDir %>/roboto-fontface/fonts/Roboto',
|
||||||
|
src: '*',
|
||||||
|
dest: '<%= releaseDir %>/themes/material/font/roboto',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
overwrite: true,
|
||||||
|
cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/',
|
||||||
|
src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'],
|
||||||
|
dest: '<%= releaseDir %>/themes/material/fonts/',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
symlink: {
|
||||||
|
pics: {
|
||||||
|
files: [
|
||||||
|
{
|
||||||
|
expand: true,
|
||||||
|
overwrite: true,
|
||||||
|
cwd: '<%= appDir %>/themes/_global/',
|
||||||
|
src: 'img',
|
||||||
|
dest: '<%= releaseDir %>/themes/_global/',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
clean: {
|
||||||
|
css: {
|
||||||
|
src: ['<%= buildDir %>/**/*.css'],
|
||||||
|
},
|
||||||
|
js: {
|
||||||
|
src: ['<%= buildDir %>/**/*.js', '<%= buildDir %>/**/*.map'],
|
||||||
|
},
|
||||||
|
all: {
|
||||||
|
src: ['./<%= buildDir %>'],
|
||||||
|
},
|
||||||
|
release: {
|
||||||
|
src: ['./<%= releaseDir %>/*'],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
eslint: {
|
||||||
|
target: ['<%= appDir %>/themes/material/js/init.js', '<%= appDir %>/themes/baggy/js/init.js']
|
||||||
|
},
|
||||||
|
stylelint: {
|
||||||
|
target: ['<%= appDir %>/themes/material/css/*.css', '<%= appDir %>/themes/baggy/css/*.css']
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
grunt.registerTask(
|
||||||
|
'fonts',
|
||||||
|
'Install fonts',
|
||||||
|
['copy:baggyfonts', 'copy:materialfonts']
|
||||||
|
);
|
||||||
|
|
||||||
|
grunt.registerTask(
|
||||||
|
'js',
|
||||||
|
'Build and install js files',
|
||||||
|
['clean:js', 'copy:pickerjs', 'browserify', 'uglify']
|
||||||
|
);
|
||||||
|
|
||||||
|
grunt.registerTask(
|
||||||
|
'default',
|
||||||
|
'Build and install everything',
|
||||||
|
['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'copy', 'symlink']
|
||||||
|
);
|
||||||
|
|
||||||
|
grunt.registerTask(
|
||||||
|
'css',
|
||||||
|
'Compiles the stylesheets.',
|
||||||
|
['clean:css', 'concat:cssMaterial', 'concat:cssBaggy', 'postcss']
|
||||||
|
);
|
||||||
|
|
||||||
|
grunt.registerTask(
|
||||||
|
'tests',
|
||||||
|
'Test css and js style conformity',
|
||||||
|
['eslint', 'stylelint', 'default']
|
||||||
|
)
|
||||||
|
};
|
||||||
48
Makefile
Normal file → Executable file
@ -1,2 +1,46 @@
|
|||||||
.DEFAULT:
|
TMP_FOLDER=/tmp
|
||||||
gmake $@
|
RELEASE_FOLDER=wllbg-release
|
||||||
|
|
||||||
|
ifndef ENV
|
||||||
|
ENV=prod
|
||||||
|
endif
|
||||||
|
|
||||||
|
help: ## Display this help menu
|
||||||
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||||
|
|
||||||
|
clean: ## Clear the application cache
|
||||||
|
@rm -rf var/cache/*
|
||||||
|
|
||||||
|
install: ## Install wallabag with the latest version
|
||||||
|
@sh scripts/install.sh $(ENV)
|
||||||
|
|
||||||
|
update: ## Update the wallabag installation to the latest version
|
||||||
|
@sh scripts/update.sh $(ENV)
|
||||||
|
|
||||||
|
dev: ## Install the latest dev version
|
||||||
|
@sh scripts/dev.sh
|
||||||
|
|
||||||
|
run: ## Run the wallabag built-in server
|
||||||
|
@php bin/console server:run --env=$(ENV)
|
||||||
|
|
||||||
|
build: ## Run grunt
|
||||||
|
@grunt
|
||||||
|
|
||||||
|
test: ## Launch wallabag testsuite
|
||||||
|
@if [ ! -d "vendor/phpunit" ]; then composer install; fi
|
||||||
|
@ant prepare && vendor/phpunit/phpunit/phpunit -v
|
||||||
|
|
||||||
|
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
|
||||||
|
ifndef VERSION
|
||||||
|
$(error VERSION is not set)
|
||||||
|
endif
|
||||||
|
@sh scripts/release.sh $(VERSION) $(TMP_FOLDER) $(RELEASE_FOLDER) $(ENV)
|
||||||
|
|
||||||
|
travis: ## Make some stuff for Travis-CI
|
||||||
|
|
||||||
|
deploy: ## Deploy wallabag
|
||||||
|
@bundle exec cap staging deploy
|
||||||
|
|
||||||
|
.PHONY: help clean install update build test release travis deploy
|
||||||
|
|
||||||
|
.DEFAULT_GOAL := install
|
||||||
|
|||||||
63
README.md
@ -1,62 +1,27 @@
|
|||||||
# wallabag
|
[](https://travis-ci.org/wallabag/wallabag)
|
||||||
|
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
|
||||||

|
|
||||||
[](https://gitter.im/wallabag/wallabag)
|
[](https://gitter.im/wallabag/wallabag)
|
||||||
[](https://liberapay.com/wallabag/donate)
|
|
||||||
[](https://hosted.weblate.org/engage/wallabag/?utm_source=widget)
|
|
||||||

|
|
||||||
|
|
||||||
wallabag is a web application allowing you to save web pages for later reading.
|
# What is wallabag?
|
||||||
Click, save and read it when you want. It extracts content so that you won't be distracted by pop-ups and cie.
|
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.
|
||||||
|
|
||||||
You can install it on your own server, or you can create an account on [wallabag.it](https://wallabag.it).
|
More information on our website: [wallabag.org](https://wallabag.org).
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* Website: [wallabag.org](https://wallabag.org)
|
# Install wallabag
|
||||||
* Android app: [wallabag/android-app](https://github.com/wallabag/android-app)
|
Please read [the documentation to see the wallabag requirements](http://doc.wallabag.org/en/master/user/installation.html#requirements).
|
||||||
* iOS app: [wallabag/ios-app](https://github.com/wallabag/ios-app)
|
|
||||||
* Browser extension: [wallabag/wallabagger](https://github.com/wallabag/wallabagger)
|
|
||||||
* GNOME (Linux) app: [read-it-later](https://gitlab.gnome.org/World/read-it-later) (not maintained by this project)
|
|
||||||
* All resources about wallabag ecosystem are listed here: https://github.com/wallabag/wallabag/wiki/wallabag-ecosystem
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
The documentation is available at https://doc.wallabag.org.
|
|
||||||
|
|
||||||
You can contribute to it through its dedicated repository, available here: https://github.com/wallabag/doc.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Please read [the documentation to see the wallabag requirements](https://doc.wallabag.org/en/admin/installation/requirements.html).
|
|
||||||
|
|
||||||
Then you can install wallabag by executing the following commands:
|
Then you can install wallabag by executing the following commands:
|
||||||
|
|
||||||
```bash
|
```
|
||||||
git clone https://github.com/wallabag/wallabag.git
|
git clone https://github.com/wallabag/wallabag.git
|
||||||
cd wallabag && make install
|
cd wallabag && make install
|
||||||
|
make run
|
||||||
```
|
```
|
||||||
|
|
||||||
Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag.
|
# License
|
||||||
|
Copyright © 2013-2016 Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||||
### Other methods
|
|
||||||
|
|
||||||
Refer to the [installation documentation](https://doc.wallabag.org/en/admin/installation/installation.html) for other installation methods.
|
|
||||||
|
|
||||||
## Translation
|
|
||||||
|
|
||||||
This project uses [Weblate](https://weblate.org/) for translation.
|
|
||||||
|
|
||||||
Feel free to help us [translating wallabag](https://hosted.weblate.org/projects/wallabag/).
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
To learn more about developing wallabag, please refer to the [contribution guide](./.github/CONTRIBUTING.md).
|
|
||||||
|
|
||||||
Content extraction relies on [Graby](https://github.com/j0k3r/graby), [php-readability](https://github.com/j0k3r/php-readability) and [ftr-site-config](https://github.com/fivefilters/ftr-site-config).
|
|
||||||
|
|
||||||
## License
|
|
||||||
Copyright © 2013-current Nicolas Lœuillet <nicolas@loeuillet.org>
|
|
||||||
|
|
||||||
This work is free. You can redistribute it and/or modify it under the
|
This work is free. You can redistribute it and/or modify it under the
|
||||||
terms of the MIT License. See the [COPYING.md](./COPYING.md) file for more details.
|
terms of the MIT License. See the COPYING file for more details.
|
||||||
|
|||||||
@ -4,34 +4,61 @@ A release is mostly a git tag of http://github.com/wallabag/wallabag, following
|
|||||||
|
|
||||||
### Steps to release
|
### Steps to release
|
||||||
|
|
||||||
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE` (like 2.3.4).
|
During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`.
|
||||||
|
|
||||||
#### Prepare the release
|
#### Files to edit
|
||||||
|
|
||||||
- Update these files with new information
|
- `app/config/config.yml` (`wallabag_core.version`)
|
||||||
- `config/wallabag.yaml` (`wallabag.version`)
|
- `CHANGELOG.md` (by using this command `github_changelog_generator --no-compare-link --header-label="# Changelog" --no-issues --no-pr-wo-labels --since-tag="1.9.2"`. [github-changelog-generator is available here](https://github.com/skywinder/github-changelog-generator))
|
||||||
- `CHANGELOG.md`
|
|
||||||
- Create a PR named "Prepare $LAST_WALLABAG_RELEASE release".
|
|
||||||
- Wait for test to be ok, merge it.
|
|
||||||
|
|
||||||
#### Create a new release on GitHub
|
#### Create release on GitHub
|
||||||
|
|
||||||
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports).
|
- Run these commands to create the tag:
|
||||||
- Update [website](https://github.com/wallabag/website) to change MD5 sum and create the release blog post (based on the changelog).
|
|
||||||
|
```
|
||||||
|
git checkout master
|
||||||
|
git pull origin master
|
||||||
|
git checkout -b release-$LAST_WALLABAG_RELEASE
|
||||||
|
SYMFONY_ENV=prod composer up --no-dev
|
||||||
|
git add --force composer.lock
|
||||||
|
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
|
||||||
|
git push origin release-$LAST_WALLABAG_RELEASE
|
||||||
|
```
|
||||||
|
|
||||||
|
- Create a new pull request with this title `DON'T MERGE Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
|
||||||
|
- Run these command to create the package:
|
||||||
|
|
||||||
|
```
|
||||||
|
make release master /tmp wllbg-release prod
|
||||||
|
```
|
||||||
|
|
||||||
|
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new). You have to upload on this page the package.
|
||||||
|
- Delete the `release-$LAST_WALLABAG_RELEASE` branch and close the pull request (**DO NOT MERGE IT**).
|
||||||
|
- Update the URL shortener (used on `wllbg.org` to generate links like `http://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
|
||||||
|
- Update [the downloads page](https://github.com/wallabag/wallabag.org/blob/master/content/pages/download.md) on the website (MD5 sum, release date)
|
||||||
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
|
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
|
||||||
- Put the next patch version suffixed with `-dev` in `config/wallabag.yaml` (`wallabag.version`)
|
- Update wallabag.org website (downloads, releases and new blog post)
|
||||||
|
- Put the next patch version suffixed with `-dev` in `app/config/config.yml` (`wallabag_core.version`)
|
||||||
- Drink a :beer:!
|
- Drink a :beer:!
|
||||||
|
|
||||||
|
### `composer.lock`
|
||||||
|
A release tag must contain a `composer.lock` file. It sets which dependencies were available at the time a release was done,
|
||||||
|
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
|
### Target PHP version
|
||||||
`composer.lock` is _always_ built for a particular version, by default the one it is generated (with `composer update`).
|
`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 8), a more common one should
|
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`:
|
be locally specified in `composer.lock`:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"config": {
|
"config": {
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "7.4.29",
|
"php": "5.5.9",
|
||||||
"ext-something": "4.0"
|
"ext-something": "4.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
# Security Policy
|
|
||||||
|
|
||||||
## Reporting a Vulnerability
|
|
||||||
|
|
||||||
Please report security issues to `hello@wallabag.org`
|
|
||||||
7
app/.htaccess
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
Require all denied
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
Order deny,allow
|
||||||
|
Deny from all
|
||||||
|
</IfModule>
|
||||||
7
app/AppCache.php
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache;
|
||||||
|
|
||||||
|
class AppCache extends HttpCache
|
||||||
|
{
|
||||||
|
}
|
||||||
74
app/AppKernel.php
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Kernel;
|
||||||
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
|
|
||||||
|
class AppKernel extends Kernel
|
||||||
|
{
|
||||||
|
public function registerBundles()
|
||||||
|
{
|
||||||
|
$bundles = [
|
||||||
|
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
|
||||||
|
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
|
||||||
|
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||||
|
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
||||||
|
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
||||||
|
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
||||||
|
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
||||||
|
new FOS\RestBundle\FOSRestBundle(),
|
||||||
|
new FOS\UserBundle\FOSUserBundle(),
|
||||||
|
new JMS\SerializerBundle\JMSSerializerBundle(),
|
||||||
|
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
|
||||||
|
new Nelmio\CorsBundle\NelmioCorsBundle(),
|
||||||
|
new Liip\ThemeBundle\LiipThemeBundle(),
|
||||||
|
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
|
||||||
|
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
|
||||||
|
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
|
||||||
|
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(),
|
||||||
|
];
|
||||||
|
|
||||||
|
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
||||||
|
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
|
||||||
|
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
|
||||||
|
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
|
||||||
|
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
|
||||||
|
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $bundles;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRootDir()
|
||||||
|
{
|
||||||
|
return __DIR__;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCacheDir()
|
||||||
|
{
|
||||||
|
return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLogDir()
|
||||||
|
{
|
||||||
|
return dirname(__DIR__).'/var/logs';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function registerContainerConfiguration(LoaderInterface $loader)
|
||||||
|
{
|
||||||
|
$loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml');
|
||||||
|
}
|
||||||
|
}
|
||||||
51
app/DoctrineMigrations/Version20160410190541.php
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Application\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
|
class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var ContainerInterface
|
||||||
|
*/
|
||||||
|
private $container;
|
||||||
|
|
||||||
|
public function setContainer(ContainerInterface $container = null)
|
||||||
|
{
|
||||||
|
$this->container = $container;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getTable($tableName)
|
||||||
|
{
|
||||||
|
return $this->container->getParameter('database_table_prefix') . $tableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function up(Schema $schema)
|
||||||
|
{
|
||||||
|
if ($this->connection->getDatabasePlatform()->getName() == 'postgresql') {
|
||||||
|
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid UUID DEFAULT NULL');
|
||||||
|
} else {
|
||||||
|
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid LONGTEXT DEFAULT NULL');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('share_public', '1', 'entry')");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function down(Schema $schema)
|
||||||
|
{
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE "'.$this->getTable('entry').'" DROP uuid');
|
||||||
|
$this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'share_public'");
|
||||||
|
}
|
||||||
|
}
|
||||||
53
app/DoctrineMigrations/Version20160812120952.php
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Application\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
|
class Version20160812120952 extends AbstractMigration implements ContainerAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var ContainerInterface
|
||||||
|
*/
|
||||||
|
private $container;
|
||||||
|
|
||||||
|
public function setContainer(ContainerInterface $container = null)
|
||||||
|
{
|
||||||
|
$this->container = $container;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getTable($tableName)
|
||||||
|
{
|
||||||
|
return $this->container->getParameter('database_table_prefix') . $tableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function up(Schema $schema)
|
||||||
|
{
|
||||||
|
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||||
|
case 'sqlite':
|
||||||
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext DEFAULT NULL');
|
||||||
|
break;
|
||||||
|
case 'mysql':
|
||||||
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext COLLATE \'utf8_unicode_ci\' DEFAULT NULL');
|
||||||
|
break;
|
||||||
|
case 'postgresql':
|
||||||
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name text DEFAULT NULL');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function down(Schema $schema)
|
||||||
|
{
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' DROP COLUMN name');
|
||||||
|
}
|
||||||
|
}
|
||||||
42
app/DoctrineMigrations/Version20160911214952.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Application\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
|
class Version20160911214952 extends AbstractMigration implements ContainerAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var ContainerInterface
|
||||||
|
*/
|
||||||
|
private $container;
|
||||||
|
|
||||||
|
public function setContainer(ContainerInterface $container = null)
|
||||||
|
{
|
||||||
|
$this->container = $container;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getTable($tableName)
|
||||||
|
{
|
||||||
|
return $this->container->getParameter('database_table_prefix') . $tableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function up(Schema $schema)
|
||||||
|
{
|
||||||
|
$this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_redis\', \'0\', \'import\')');
|
||||||
|
$this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function down(Schema $schema)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
46
app/DoctrineMigrations/Version20160916201049.php
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Application\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Migrations\AbstractMigration;
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|
||||||
|
class Version20160916201049 extends AbstractMigration implements ContainerAwareInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var ContainerInterface
|
||||||
|
*/
|
||||||
|
private $container;
|
||||||
|
|
||||||
|
public function setContainer(ContainerInterface $container = null)
|
||||||
|
{
|
||||||
|
$this->container = $container;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getTable($tableName)
|
||||||
|
{
|
||||||
|
return $this->container->getParameter('database_table_prefix') . $tableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function up(Schema $schema)
|
||||||
|
{
|
||||||
|
$this->addSql('ALTER TABLE "'.$this->getTable('config').'" ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL');
|
||||||
|
$this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'pocket_consumer_key';");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Schema $schema
|
||||||
|
*/
|
||||||
|
public function down(Schema $schema)
|
||||||
|
{
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE "'.$this->getTable('config').'" DROP pocket_consumer_key');
|
||||||
|
$this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,6 @@
|
|||||||
download_pictures: Download billeder på din server
|
download_pictures: Download billeder på din server
|
||||||
diaspora_url: diaspora* URL, hvis tjenesten er aktiv
|
carrot: Aktiver deling til Carrot
|
||||||
|
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
|
||||||
export_epub: Aktiver eksport til ePub
|
export_epub: Aktiver eksport til ePub
|
||||||
export_mobi: Aktiver eksport til .mobi
|
export_mobi: Aktiver eksport til .mobi
|
||||||
export_pdf: Aktiver eksport til PDF
|
export_pdf: Aktiver eksport til PDF
|
||||||
@ -7,22 +8,24 @@ export_csv: Aktiver eksport til CSV
|
|||||||
export_json: Aktiver eksport til JSON
|
export_json: Aktiver eksport til JSON
|
||||||
export_txt: Aktiver eksport til TXT
|
export_txt: Aktiver eksport til TXT
|
||||||
export_xml: Aktiver eksport til XML
|
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
|
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
||||||
unmark_url: Unmark-URL, hvis tjenesten er aktiv
|
share_diaspora: Aktiver deling til Diaspora
|
||||||
share_diaspora: Aktiver deling til diaspora*
|
|
||||||
share_mail: Aktiver deling med email
|
share_mail: Aktiver deling med email
|
||||||
share_shaarli: Aktiver deling gennem Shaarli
|
share_shaarli: Aktiver deling gennem Shaarli
|
||||||
share_twitter: Aktiver deling gennem Twitter
|
share_twitter: Aktiver deling gennem Twitter
|
||||||
share_unmark: Aktiver deling gennem Unmark.it
|
|
||||||
show_printlink: Vis et link til print-indhold
|
show_printlink: Vis et link til print-indhold
|
||||||
wallabag_support_url: Support-URL for wallabag
|
wallabag_support_url: Support-URL for wallabag
|
||||||
|
wallabag_url: URL for *sin* wallabag-installation
|
||||||
entry: "artikel"
|
entry: "artikel"
|
||||||
export: "eksport"
|
export: "eksport"
|
||||||
import: "import"
|
import: "import"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "Gem ændring"
|
modify_settings: "Gem ændring"
|
||||||
matomo_host: Hosting af din side hos Matomo (uden http:// eller https://)
|
piwik_host: Hosting af din side hos Piwik
|
||||||
matomo_site_id: ID for din side hos Matomo
|
piwik_site_id: ID for din side hos Piwik
|
||||||
matomo_enabled: Aktiver Matomo
|
piwik_enabled: Aktiver Piwik
|
||||||
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
|
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
|
||||||
demo_mode_username: "Demobruger"
|
demo_mode_username: "Demobruger"
|
||||||
|
# share_public: Allow public url for entries
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
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: Aktiviere RabbitMQ, um Artikel asynchron zu importieren
|
||||||
|
import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren
|
||||||
|
shaarli_url: Shaarli-URL, sofern der Service aktiviert ist
|
||||||
|
share_diaspora: Teilen zu Diaspora aktiveren
|
||||||
|
share_mail: Teilen via E-Mail aktiveren
|
||||||
|
share_shaarli: Teilen zu Shaarli aktiveren
|
||||||
|
share_twitter: Teilen zu Twitter aktiveren
|
||||||
|
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: Erlaube eine öffentliche URL für Einträge
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
download_pictures: Download pictures on your server
|
||||||
|
carrot: Enable share to Carrot
|
||||||
|
diaspora_url: Diaspora URL, if the service is enabled
|
||||||
|
export_epub: Enable ePub export
|
||||||
|
export_mobi: Enable .mobi export
|
||||||
|
export_pdf: Enable PDF export
|
||||||
|
export_csv: Enable CSV export
|
||||||
|
export_json: Enable JSON export
|
||||||
|
export_txt: Enable TXT export
|
||||||
|
export_xml: Enable XML export
|
||||||
|
import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||||
|
import_with_redis: Enable Redis to import data asynchronously
|
||||||
|
shaarli_url: Shaarli URL, if the service is enabled
|
||||||
|
share_diaspora: Enable share to Diaspora
|
||||||
|
share_mail: Enable share by email
|
||||||
|
share_shaarli: Enable share to Shaarli
|
||||||
|
share_twitter: Enable share to Twitter
|
||||||
|
show_printlink: Display a link to print content
|
||||||
|
wallabag_support_url: Support URL for wallabag
|
||||||
|
wallabag_url: URL of *your* wallabag instance
|
||||||
|
entry: "article"
|
||||||
|
export: "export"
|
||||||
|
import: "import"
|
||||||
|
misc: "misc"
|
||||||
|
modify_settings: "apply"
|
||||||
|
piwik_host: Host of your website in Piwik
|
||||||
|
piwik_site_id: ID of your website in Piwik
|
||||||
|
piwik_enabled: Enable Piwik
|
||||||
|
demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||||
|
demo_mode_username: "Demo user"
|
||||||
|
share_public: Allow public url for entries
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
download_pictures: 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,4 +1,5 @@
|
|||||||
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
||||||
|
carrot: فعالسازی همرسانی به Carrot
|
||||||
diaspora_url: نشانی Diaspora، اگر فعال بود
|
diaspora_url: نشانی Diaspora، اگر فعال بود
|
||||||
export_epub: فعالسازی برونسپاری به ePub
|
export_epub: فعالسازی برونسپاری به ePub
|
||||||
export_mobi: فعالسازی برونسپاری به mobi
|
export_mobi: فعالسازی برونسپاری به mobi
|
||||||
@ -7,17 +8,24 @@ export_csv: فعالسازی برونسپاری به CSV
|
|||||||
export_json: فعالسازی برونسپاری به JSON
|
export_json: فعالسازی برونسپاری به JSON
|
||||||
export_txt: فعالسازی برونسپاری به TXT
|
export_txt: فعالسازی برونسپاری به TXT
|
||||||
export_xml: فعالسازی برونسپاری به XML
|
export_xml: فعالسازی برونسپاری به XML
|
||||||
|
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||||
|
# import_with_redis: Enable Redis to import data asynchronously
|
||||||
shaarli_url: نشانی Shaarli، اگر فعال بود
|
shaarli_url: نشانی Shaarli، اگر فعال بود
|
||||||
unmark_url: نشانی Unmark، اگر فعال بود
|
|
||||||
share_diaspora: فعالسازی همرسانی به Diaspora
|
share_diaspora: فعالسازی همرسانی به Diaspora
|
||||||
share_mail: فعالسازی همرسانی با ایمیل
|
share_mail: فعالسازی همرسانی با ایمیل
|
||||||
share_shaarli: فعالسازی همرسانی به Shaarli
|
share_shaarli: فعالسازی همرسانی به Shaarli
|
||||||
share_twitter: فعالسازی همرسانی به Twitter
|
share_twitter: فعالسازی همرسانی به Twitter
|
||||||
share_unmark: فعالسازی همرسانی به Unmark.it
|
|
||||||
show_printlink: نمایش پیوندی برای چاپ مطلب
|
show_printlink: نمایش پیوندی برای چاپ مطلب
|
||||||
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
|
wallabag_support_url: نشانی صفحهٔ پشتیبانی wallabag
|
||||||
|
wallabag_url: نشانی صفحهٔ wallabag *شما*
|
||||||
entry: "مقاله"
|
entry: "مقاله"
|
||||||
export: "برونسپاری"
|
export: "برونسپاری"
|
||||||
import: "درونریزی"
|
import: "درونریزی"
|
||||||
misc: "غیره"
|
misc: "غیره"
|
||||||
modify_settings: "اعمال"
|
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
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
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,30 +1,31 @@
|
|||||||
download_pictures: Scarica le immagini sul tuo server
|
download_pictures: Scarica le immagini sul tuo server
|
||||||
diaspora_url: URL di diaspora*, se il servizio è abilitato
|
carrot: Abilita la condivisione con Carrot
|
||||||
|
diaspora_url: Diaspora URL, se il servizio è abilitato
|
||||||
export_epub: Abilita esportazione ePub
|
export_epub: Abilita esportazione ePub
|
||||||
export_mobi: Abilita esportazione .mobi (deprecato, verrà rimosso presto)
|
export_mobi: Abilita esportazione .mobi
|
||||||
export_pdf: Abilita esportazione PDF
|
export_pdf: Abilita esportazione PDF
|
||||||
export_csv: Abilita esportazione CSV
|
export_csv: Abilita esportazione CSV
|
||||||
export_json: Abilita esportazione JSON
|
export_json: Abilita esportazione JSON
|
||||||
export_txt: Abilita esportazione TXT
|
export_txt: Abilita esportazione TXT
|
||||||
export_xml: Abilita esportazione XML
|
export_xml: Abilita esportazione XML
|
||||||
shaarli_url: URL Shaarli, se il servizio è abilitato
|
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||||
unmark_url: URL Unmark, se il servizio è abilitato
|
# import_with_redis: Enable Redis to import data asynchronously
|
||||||
share_diaspora: Abilita la condivisione con diaspora*
|
shaarli_url: Shaarli URL, se il servizio è abilitato
|
||||||
share_mail: Abilita la condivisione via e-mail
|
share_diaspora: Abilita la condivisione con Diaspora
|
||||||
|
share_mail: Abilita la condivisione per email
|
||||||
share_shaarli: Abilita la condivisione con Shaarli
|
share_shaarli: Abilita la condivisione con Shaarli
|
||||||
share_twitter: Abilita la condivisione con Twitter
|
share_twitter: Abilita la condivisione con Twitter
|
||||||
share_unmark: Abilita la condivisione con Unmark.it
|
|
||||||
show_printlink: Mostra un collegamento per stampare il contenuto
|
show_printlink: Mostra un collegamento per stampare il contenuto
|
||||||
wallabag_support_url: URL di supporto per wallabag
|
wallabag_support_url: URL di supporto per wallabag
|
||||||
|
wallabag_url: URL della *tua* installazione di wallabag
|
||||||
entry: "contenuto"
|
entry: "contenuto"
|
||||||
export: "esporta"
|
export: "esporta"
|
||||||
import: "importa"
|
import: "importa"
|
||||||
misc: "misc"
|
misc: "misc"
|
||||||
modify_settings: "applica"
|
modify_settings: "applica"
|
||||||
matomo_host: Host del tuo sito in Matomo (senza http:// o https://)
|
piwik_host: Host del tuo sito in Piwik
|
||||||
matomo_site_id: ID del tuo sito in Matomo
|
piwik_site_id: ID del tuo sito in Piwik
|
||||||
matomo_enabled: Abilita Matomo
|
piwik_enabled: Abilita Piwik
|
||||||
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
|
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
|
||||||
demo_mode_username: "Utente Demo"
|
demo_mode_username: "Utente Demo"
|
||||||
api_user_registration: Abilita la registrazione dell'utente attraverso l'API
|
# share_public: Allow public url for entries
|
||||||
settings_changed: Configurazione aggiornata
|
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
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
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
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,5 +1,6 @@
|
|||||||
download_pictures: Descarcă poze pe server
|
download_pictures: Descarcă poze pe server
|
||||||
diaspora_url: diaspora* URL, dacă serviciul este permis
|
carrot: Permite share către Carrot
|
||||||
|
diaspora_url: Diaspora URL, dacă serviciul este permis
|
||||||
export_epub: Permite exportare ePub
|
export_epub: Permite exportare ePub
|
||||||
export_mobi: Permite exportare .mobi
|
export_mobi: Permite exportare .mobi
|
||||||
export_pdf: Permite exportare PDF
|
export_pdf: Permite exportare PDF
|
||||||
@ -7,17 +8,24 @@ export_csv: Permite exportare CSV
|
|||||||
export_json: Permite exportare JSON
|
export_json: Permite exportare JSON
|
||||||
export_txt: Permite exportare TXT
|
export_txt: Permite exportare TXT
|
||||||
export_xml: Permite exportare XML
|
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
|
shaarli_url: Shaarli URL, dacă serviciul este permis
|
||||||
unmark_url: Unmark URL, dacă serviciul este permis
|
share_diaspora: Permite share către Diaspora
|
||||||
share_diaspora: Permite share către diaspora*
|
|
||||||
share_mail: Permite share prin email
|
share_mail: Permite share prin email
|
||||||
share_shaarli: Permite share către Shaarli
|
share_shaarli: Permite share către Shaarli
|
||||||
share_twitter: Permite share către Twitter
|
share_twitter: Permite share către Twitter
|
||||||
share_unmark: Permite share către Unmark.it
|
|
||||||
show_printlink: Afișează un link pentru a printa content-ul
|
show_printlink: Afișează un link pentru a printa content-ul
|
||||||
wallabag_support_url: URL-ul de suport pentru wallabag
|
wallabag_support_url: URL-ul de suport pentru wallabag
|
||||||
|
wallabag_url: URL-ul instanței tale wallabag
|
||||||
entry: "alticol"
|
entry: "alticol"
|
||||||
export: "exportă"
|
export: "exportă"
|
||||||
import: "importă"
|
import: "importă"
|
||||||
misc: "diverse"
|
misc: "diverse"
|
||||||
modify_settings: "aplică"
|
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
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
# download_pictures: Download pictures on your server
|
||||||
|
# carrot: Enable share to Carrot
|
||||||
|
# diaspora_url: Diaspora URL, if the service is enabled
|
||||||
|
# export_epub: Enable ePub export
|
||||||
|
# export_mobi: Enable .mobi export
|
||||||
|
# export_pdf: Enable PDF export
|
||||||
|
# export_csv: Enable CSV export
|
||||||
|
# export_json: Enable JSON export
|
||||||
|
# export_txt: Enable TXT export
|
||||||
|
# export_xml: Enable XML export
|
||||||
|
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||||
|
# import_with_redis: Enable Redis to import data asynchronously
|
||||||
|
# shaarli_url: Shaarli URL, if the service is enabled
|
||||||
|
# share_diaspora: Enable share to Diaspora
|
||||||
|
# share_mail: Enable share by email
|
||||||
|
# share_shaarli: Enable share to Shaarli
|
||||||
|
# share_twitter: Enable share to Twitter
|
||||||
|
# show_printlink: Display a link to print content
|
||||||
|
# wallabag_support_url: Support URL for wallabag
|
||||||
|
# wallabag_url: URL of *your* wallabag instance
|
||||||
|
# entry: "article"
|
||||||
|
# export: "export"
|
||||||
|
# import: "import"
|
||||||
|
# misc: "misc"
|
||||||
|
# modify_settings: "apply"
|
||||||
|
# piwik_host: Host of your website in Piwik
|
||||||
|
# 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,4 +1,4 @@
|
|||||||
{% extends "layout.html.twig" %}
|
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||||
|
|
||||||
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
|
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
|
||||||
|
|
||||||
@ -12,30 +12,31 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="div_tabs col s12">
|
<div class="div_tabs col s12">
|
||||||
<ul class="tabs">
|
<ul class="tabs">
|
||||||
{% for section in sections|craue_sortSections %}
|
{% for section in sections | craue_sortSections %}
|
||||||
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section|trans({}, 'CraueConfigBundle') }}</a></li>
|
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for section in sections|craue_sortSections %}
|
{% for section in sections | craue_sortSections %}
|
||||||
<div id="set-{{ section }}" class="col s12">
|
<div id="set-{{ section }}" class="col s12">
|
||||||
{% for setting in form.settings %}
|
{% for setting in form.settings if setting.section.vars.value == section %}
|
||||||
{% if setting.vars.value.section == section %}
|
{{ form_row(setting.name) }}
|
||||||
|
{{ form_row(setting.section) }}
|
||||||
{{ form_row(setting.value, {
|
{{ form_row(setting.value, {
|
||||||
'label': setting.vars.value.name|trans({}, 'CraueConfigBundle'),
|
'label': setting.name.vars.value | trans({}, 'CraueConfigBundle'),
|
||||||
}) }}
|
}) }}
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="btn waves-effect waves-light" type="submit" name="action">
|
<button class="btn waves-effect waves-light" type="submit" name="action">
|
||||||
{{ 'modify_settings'|trans({}, 'CraueConfigBundle') }}
|
{{ 'modify_settings' | trans({}, 'CraueConfigBundle') }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{{ form_widget(form._token) }}
|
{{ form_rest(form) }}
|
||||||
|
{{ form_end(form) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
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."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
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."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
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."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
Login: "Se connecter"
|
||||||
|
Enter your email address below and we'll send you password reset instructions.: "Renseignez votre adresse email, nous vous enverrons les instructions pour réinitialiser votre mot de passe."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
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."
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
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."
|
||||||
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-114.png
Executable file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-120.png
Executable file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-144.png
Executable file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-152.png
Executable file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-57.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-72.png
Executable file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-76.png
Executable file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
0
public/favicon.ico → app/Resources/static/themes/_global/img/appicon/favicon.ico
Normal file → Executable file
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
BIN
app/Resources/static/themes/_global/img/bg-select.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 612 B |
BIN
app/Resources/static/themes/_global/img/icons/shaarli.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
app/Resources/static/themes/_global/img/logo-other_themes.png
Executable file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
app/Resources/static/themes/_global/img/logo-square.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
app/Resources/static/themes/_global/img/logo-w.png
Executable file
|
After Width: | Height: | Size: 4.8 KiB |
300
app/Resources/static/themes/_global/img/logo-wallabag.svg
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
||||||
|
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
|
||||||
|
]>
|
||||||
|
<svg version="1.1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
|
||||||
|
x="0px" y="0px" width="800px" height="800px" viewBox="0 0 800 800" overflow="visible" enable-background="new 0 0 800 800"
|
||||||
|
xml:space="preserve">
|
||||||
|
<defs>
|
||||||
|
</defs>
|
||||||
|
<image overflow="visible" width="800" height="800" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
|
||||||
|
bWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
|
||||||
|
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
|
||||||
|
eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEz
|
||||||
|
NDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
|
||||||
|
dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
|
||||||
|
dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
|
||||||
|
IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
|
||||||
|
ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
|
||||||
|
cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNl
|
||||||
|
SUQ9InhtcC5paWQ6MkMyNzEzMDQ4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiIHhtcE1NOkRvY3Vt
|
||||||
|
ZW50SUQ9InhtcC5kaWQ6MkMyNzEzMDU4QTgzMTFFM0JGNkJCRDhDMjI5OTRBNkIiPiA8eG1wTU06
|
||||||
|
RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQzI3MTMwMjhBODMxMUUzQkY2
|
||||||
|
QkJEOEMyMjk5NEE2QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQzI3MTMwMzhBODMxMUUz
|
||||||
|
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
|
||||||
|
AAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAACCAAAAACCAAAIIAAAAAI
|
||||||
|
IAAAgAACAAAIIAAAAAIIAAAggAAAAAggAACAAAIAAAggAAAAAggAACCAAAAACCAAAIAAAgAAIIAA
|
||||||
|
AAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCAAAAAAggAACCAAAAA
|
||||||
|
CCAAAIAAAgAAIIAAAAACCAAAIIAAAAAIIAAAgAACAAAggAAAAAIIAAAggAAAAAggAACAAAIAACCA
|
||||||
|
AAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAggAAAAAIIAACAAAIA
|
||||||
|
AAggAACAAAIAACCAAAAAAggAAIAAAgAACCAAAIAAAgAAIIAAAAACCAAAgAACAAAIIAAAgAACAAAg
|
||||||
|
gAAAAAIIAACAAAIAAAggAAAAAggAACCAAAAAAggAAEBt/y/AAEmyIDWRykGwAAAAAElFTkSuQmCC">
|
||||||
|
</image>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 22 KiB |
6
app/Resources/static/themes/_global/js/bookmarklet.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
top['bookmarklet-url@wallabag.org'] =
|
||||||
|
'<!DOCTYPE html><html><head><title>bag it!</title>' +
|
||||||
|
'<link rel="icon" href="tpl/img/favicon.ico" />' +
|
||||||
|
'</head><body><script>window.onload=function(){window.setTimeout' +
|
||||||
|
'(function(){history.back();},250);};</script></body></html>';
|
||||||
50
app/Resources/static/themes/_global/js/tools.js
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
const $ = require('jquery');
|
||||||
|
|
||||||
|
function supportsLocalStorage() {
|
||||||
|
try {
|
||||||
|
return 'localStorage' in window && window.localStorage !== null;
|
||||||
|
} catch (e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function savePercent(id, percent) {
|
||||||
|
if (!supportsLocalStorage()) { return false; }
|
||||||
|
localStorage[`wallabag.article.${id}.percent`] = percent;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function retrievePercent(id) {
|
||||||
|
if (!supportsLocalStorage()) { return false; }
|
||||||
|
|
||||||
|
const bheight = $(document).height();
|
||||||
|
const percent = localStorage[`wallabag.article.${id}.percent`];
|
||||||
|
const scroll = bheight * percent;
|
||||||
|
|
||||||
|
$('html,body').animate({ scrollTop: scroll }, 'fast');
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function initFilters() {
|
||||||
|
// no display if filters not available
|
||||||
|
if ($('div').is('#filters')) {
|
||||||
|
$('#button_filters').show();
|
||||||
|
$('.button-collapse-right').sideNav({ edge: 'right' });
|
||||||
|
$('#clear_form_filters').on('click', () => {
|
||||||
|
$('#filters input').val('');
|
||||||
|
$('#filters :checked').removeAttr('checked');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initExport() {
|
||||||
|
// no display if export not available
|
||||||
|
if ($('div').is('#export')) {
|
||||||
|
$('#button_export').show();
|
||||||
|
$('.button-collapse-right').sideNav({ edge: 'right' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export { savePercent, retrievePercent, initFilters, initExport };
|
||||||
6
app/Resources/static/themes/baggy/css/font.css
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "PT Sans";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/ptsansbold.woff") format("woff");
|
||||||
|
}
|
||||||
1330
app/Resources/static/themes/baggy/css/main.css
Executable file
19
app/Resources/static/themes/baggy/css/messages.css
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
.messages.error.install {
|
||||||
|
border: 1px solid #c42608;
|
||||||
|
color: #c00 !important;
|
||||||
|
background: #fff0ef;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.messages.notice.install {
|
||||||
|
border: 1px solid #ebcd41;
|
||||||
|
color: #000;
|
||||||
|
background: #fffcd3;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.messages.success.install {
|
||||||
|
border: 1px solid #6dc70c;
|
||||||
|
background: #e0fbcc !important;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
66
app/Resources/static/themes/baggy/css/print.css
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
@media print {
|
||||||
|
/* ### Layout ### */
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: Serif;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@page {
|
||||||
|
margin: 1cm;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ### Content ### */
|
||||||
|
|
||||||
|
/* Hide useless blocks */
|
||||||
|
body > header,
|
||||||
|
#article_toolbar,
|
||||||
|
#links,
|
||||||
|
#sort,
|
||||||
|
body > footer,
|
||||||
|
.top_link,
|
||||||
|
div.tools,
|
||||||
|
header div,
|
||||||
|
.messages,
|
||||||
|
.entrie + .results,
|
||||||
|
#article .mbm a,
|
||||||
|
#article-informations {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
article {
|
||||||
|
border: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add URL after links */
|
||||||
|
.vieworiginal a::after {
|
||||||
|
content: " (" attr(href) ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add explanation after abbr */
|
||||||
|
abbr[title]::after {
|
||||||
|
content: " (" attr(title) ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Change border on current pager item */
|
||||||
|
.pagination span.current {
|
||||||
|
border-style: dashed;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
width: 100%;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#article {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
226
app/Resources/static/themes/baggy/css/ratatouille.css
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
/*
|
||||||
|
Ratatouille mini Framework css by Thomas LEBEAU
|
||||||
|
Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
|
||||||
|
and normalize.css
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: sans-serif; /* 1 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-size: 1em;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Mise en forme
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
h1:first-child,
|
||||||
|
h2:first-child,
|
||||||
|
h3:first-child,
|
||||||
|
h4:first-child,
|
||||||
|
h5:first-child,
|
||||||
|
h6:first-child,
|
||||||
|
p:first-child,
|
||||||
|
ul:first-child,
|
||||||
|
ol:first-child,
|
||||||
|
dl:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
pre,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.upper {
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 61.25em; /* 980px */
|
||||||
|
}
|
||||||
|
|
||||||
|
table,
|
||||||
|
img,
|
||||||
|
figure {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fl {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fr {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit;
|
||||||
|
font-size: 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Mise en page
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
.dib {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dnone {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dtable {
|
||||||
|
display: table;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dtable > * {
|
||||||
|
display: table-row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dtable > * > * {
|
||||||
|
display: table-cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
.element-invisible {
|
||||||
|
border: 0;
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
height: 1px;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.big {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Width */
|
||||||
|
|
||||||
|
.w100 {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w90 {
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w80 {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w70 {
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w60 {
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w50 {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w40 {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w30 {
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w20 {
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.w10 {
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Internet Explorer
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/* IE8 and IE9 */
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
main,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IE8 and IE9 */
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
||||||
|
select {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
app/Resources/static/themes/baggy/font/icomoon.eot
Normal file
501
app/Resources/static/themes/baggy/font/icomoon.svg
Normal file
|
After Width: | Height: | Size: 307 KiB |