diff --git a/.eslintrc.json b/.eslintrc.json index d6279c641..1137e2fc7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,4 +1,10 @@ { - "extends": "airbnb", - "parser": "babel-eslint" + "extends": "airbnb-base", + "parser": "babel-eslint", + "env": { + "browser": true + }, + "rules": { + "import/no-extraneous-dependencies": ["error", {"devDependencies": true, "optionalDependencies": true, "peerDependencies": true}] + } } diff --git a/.gitignore b/.gitignore index 3b2dc462f..32b0fbbb5 100644 --- a/.gitignore +++ b/.gitignore @@ -21,8 +21,10 @@ /vendor/ # Assets and user uploads -/web/bundles/ -/web/uploads/ +web/uploads/ +!web/bundles +web/bundles/* +!web/bundles/wallabagcore # Build /app/build @@ -43,9 +45,8 @@ docker/data/ composer.lock # assets stuff -/node_modules/ -!app/Resources/static/lib -app/Resources/static/lib/* -/bin +node_modules/ +bin +app/Resources/build/ !/src/Wallabag/CoreBundle/Resources/public -/src/Wallabag/CoreBundle/Resources/public/* \ No newline at end of file +/src/Wallabag/CoreBundle/Resources/public/* diff --git a/.travis.yml b/.travis.yml index 4170ff043..f1334f526 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,9 +42,7 @@ matrix: fast_finish: true include: - php: 7.0 - env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run DB=sqlite - - php: 7.0 - env: DB=sqlite ASSETS=build + env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite allow_failures: - php: 7.1 - php: nightly @@ -66,13 +64,15 @@ before_script: install: - if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 5.0; fi; - if [[ $ASSETS = build ]]; then npm install -g npm@latest; fi; + - if [[ $ASSETS = build ]]; then npm install; fi; before_install: - if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi; script: - - travis_wait bash install_dev.sh + - travis_wait bash composer install -o --no-interaction --no-progress --prefer-dist - 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; diff --git a/Gruntfile.js b/Gruntfile.js index 86612dc4b..b80ab56d5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -3,8 +3,9 @@ module.exports = function (grunt) { grunt.initConfig({ appDir: 'app/Resources/static', - buildDir: 'web/bundles/wallabagcore', + buildDir: 'app/Resources/build', modulesDir: 'node_modules', + releaseDir: 'web/bundles/wallabagcore', postcss: { material: { @@ -20,7 +21,7 @@ module.exports = function (grunt) { ], }, src: '<%= buildDir %>/material.css', - dest: '<%= buildDir %>/themes/material/css/style.min.css', + dest: '<%= releaseDir %>/themes/material/css/style.min.css', }, baggy: { options: { @@ -35,7 +36,7 @@ module.exports = function (grunt) { ], }, src: '<%= buildDir %>/baggy.css', - dest: '<%= buildDir %>/themes/baggy/css/style.min.css', + dest: '<%= releaseDir %>/themes/baggy/css/style.min.css', }, }, concat: { @@ -92,7 +93,7 @@ module.exports = function (grunt) { uglify: { material: { files: { - '<%= buildDir %>/themes/material/js/material.min.js': + '<%= releaseDir %>/themes/material/js/material.min.js': ['<%= buildDir %>/material.browser.js'], }, options: { @@ -101,7 +102,7 @@ module.exports = function (grunt) { }, baggy: { files: { - '<%= buildDir %>/themes/baggy/js/baggy.min.js': + '<%= releaseDir %>/themes/baggy/js/baggy.min.js': ['<%= buildDir %>/baggy.browser.js'], }, options: { @@ -122,30 +123,25 @@ module.exports = function (grunt) { src: 'annotator.min.js', dest: '<%= buildDir %>/themes/_global/js/', }, - }, - symlink: { baggyfonts: { files: [ { expand: true, - overwrite: true, cwd: '<%= modulesDir %>/icomoon-free-npm/Font', src: 'IcoMoon-Free.ttf', - dest: '<%= buildDir %>/themes/baggy/fonts/', + dest: '<%= releaseDir %>/themes/baggy/fonts/', }, { expand: true, - overwrite: true, cwd: '<%= modulesDir %>/ptsans-npm-webfont/fonts', - src: '*', - dest: '<%= buildDir %>/themes/baggy/fonts/', + src: 'ptsansbold.woff', + dest: '<%= releaseDir %>/themes/baggy/fonts/', }, { expand: true, - overwrite: true, cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/', - src: '*', - dest: '<%= buildDir %>/themes/baggy/fonts/', + src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'], + dest: '<%= releaseDir %>/themes/baggy/fonts/', }, ], }, @@ -156,31 +152,26 @@ module.exports = function (grunt) { overwrite: true, cwd: '<%= modulesDir %>/icomoon-free-npm/Font', src: 'IcoMoon-Free.ttf', - dest: '<%= buildDir %>/themes/material/fonts', - }, - { - expand: true, - overwrite: true, - cwd: '<%= modulesDir %>/materialize-css/', - src: 'font', - dest: '<%= buildDir %>/themes/material', + dest: '<%= releaseDir %>/themes/material/fonts', }, { expand: true, overwrite: true, cwd: '<%= modulesDir %>/roboto-fontface/fonts/Roboto', src: '*', - dest: '<%= buildDir %>/themes/material/fonts/', + dest: '<%= releaseDir %>/themes/material/font/roboto', }, { expand: true, overwrite: true, cwd: '<%= modulesDir %>/material-design-icons-iconfont/dist/fonts/', - src: '*', - dest: '<%= buildDir %>/themes/material/fonts/', + src: ['MaterialIcons-Regular.eot', 'MaterialIcons-Regular.woff2', 'MaterialIcons-Regular.woff', 'MaterialIcons-Regular.ttf'], + dest: '<%= releaseDir %>/themes/material/fonts/', }, ], }, + }, + symlink: { pics: { files: [ { @@ -188,7 +179,7 @@ module.exports = function (grunt) { overwrite: true, cwd: '<%= appDir %>/themes/_global/', src: 'img', - dest: '<%= buildDir %>/themes/_global/', + dest: '<%= releaseDir %>/themes/_global/', }, ], }, @@ -203,13 +194,23 @@ module.exports = function (grunt) { 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', - ['symlink:baggyfonts', 'symlink:materialfonts'] + ['copy:baggyfonts', 'copy:materialfonts'] ); grunt.registerTask( @@ -221,7 +222,7 @@ module.exports = function (grunt) { grunt.registerTask( 'default', 'Build and install everything', - ['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'symlink'] + ['clean', 'copy:pickerjs', 'concat', 'browserify', 'uglify', 'postcss', 'copy', 'symlink'] ); grunt.registerTask( @@ -229,4 +230,10 @@ module.exports = function (grunt) { 'Compiles the stylesheets.', ['clean:css', 'concat:cssMaterial', 'concat:cssBaggy', 'postcss'] ); + + grunt.registerTask( + 'tests', + 'Test css and js style conformity', + ['eslint', 'stylelint', 'default'] + ) }; diff --git a/README.md b/README.md index 6d215c896..0936f666b 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,14 @@ More informations on our website: [wallabag.org](https://wallabag.org) # Install wallabag -If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that). Read [our documentation](http://doc.wallabag.org) to have more information about installation. +If you don't have it yet, please [install composer](https://getcomposer.org/download/) or be sure to use Composer 1.2 (`composer selfupdate` can help you about that). Read [our documentation](http://doc.wallabag.org) to have more information about installation. Then you can install wallabag by executing the following commands: ``` git clone https://github.com/wallabag/wallabag.git cd wallabag git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console server:run --env=prod ``` diff --git a/app/Resources/static/themes/_global/img/icons/shaarli.png b/app/Resources/static/themes/_global/img/icons/shaarli.png new file mode 100644 index 000000000..0e83c46ee Binary files /dev/null and b/app/Resources/static/themes/_global/img/icons/shaarli.png differ diff --git a/app/Resources/static/themes/baggy/css/main.css b/app/Resources/static/themes/baggy/css/main.css index eeedd2774..99ea6c6b2 100755 --- a/app/Resources/static/themes/baggy/css/main.css +++ b/app/Resources/static/themes/baggy/css/main.css @@ -796,6 +796,15 @@ a.add-to-wallabag-link-after::after { text-transform: none; line-height: 1; + /* Enable Ligatures ================ */ + letter-spacing: 0; + -webkit-font-feature-settings: "liga"; + -moz-font-feature-settings: "liga=1"; + -moz-font-feature-settings: "liga"; + -ms-font-feature-settings: "liga" 1; + -o-font-feature-settings: "liga"; + font-feature-settings: "liga"; + /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -838,7 +847,7 @@ a.add-to-wallabag-link-after::after { } .icon-twitter::before { - content: "\ea91"; + content: "\ea96"; } .icon-down-open::before { @@ -877,6 +886,22 @@ a.add-to-wallabag-link-after::after { content: "\e936"; } +.icon-eye::before { + content: "\e9ce"; +} + +.icon-no-eye::before { + content: "\e9d1"; +} + +.icon-calendar::before { + content: "\e953"; +} + +.icon-time::before { + content: "\e952"; +} + /* .icon-image class, for image-based icons ========================================================================== */ @@ -898,6 +923,11 @@ a.add-to-wallabag-link-after::after { background-image: url("../../_global/img/icons/diaspora-icon--black.png"); } +/* shaarli */ +.icon-image--shaarli { + background-image: url("../../_global/img/icons/shaarli.png"); +} + /* ========================================================================== Icon selected ========================================================================== */ diff --git a/app/Resources/static/themes/baggy/js/init.js b/app/Resources/static/themes/baggy/js/init.js index 8da9a859b..dc11043a7 100755 --- a/app/Resources/static/themes/baggy/js/init.js +++ b/app/Resources/static/themes/baggy/js/init.js @@ -1,10 +1,10 @@ +import { savePercent, retrievePercent } from '../../_global/js/tools'; +import { toggleSaveLinkForm } from './uiTools'; + const $ = global.jquery = require('jquery'); require('jquery.cookie'); require('jquery-ui-browserify'); const annotator = require('annotator'); -import { savePercent, retrievePercent } from '../../_global/js/tools.js'; -import { split, extractLast } from './autoCompleteTags.js'; -import { toggleSaveLinkForm } from './uiTools.js'; $.fn.ready(() => { diff --git a/app/Resources/static/themes/material/css/main.css b/app/Resources/static/themes/material/css/main.css index 397622bda..9c501de51 100755 --- a/app/Resources/static/themes/material/css/main.css +++ b/app/Resources/static/themes/material/css/main.css @@ -62,8 +62,8 @@ font-feature-settings: 'liga'; } -[class^="icon-"], -[class*=" icon-"] { +[class^="icon-"]::before, +[class*=" icon-"]::before { font-family: icomoon; speak: none; font-style: normal; @@ -71,12 +71,64 @@ font-variant: normal; text-transform: none; line-height: 1; + background-size: 24px; + + /* Enable Ligatures ================ */ + letter-spacing: 0; + -webkit-font-feature-settings: "liga"; + -moz-font-feature-settings: "liga=1"; + -moz-font-feature-settings: "liga"; + -ms-font-feature-settings: "liga" 1; + -o-font-feature-settings: "liga"; + font-feature-settings: "liga"; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } +.icon-image { + background-size: 16px; + background-repeat: no-repeat; + padding-right: 1em !important; + padding-left: 1em !important; +} + +.icon-eye::before { + content: "\e9ce"; +} + +.icon-no-eye::before { + content: "\e9d1"; +} + +.icon-calendar::before { + content: "\e953"; +} + +.icon-mail::before { + content: "\ea86"; +} + +.icon-time::before { + content: "\e952"; +} + +/* Carrot (http://carrot.org) */ +.icon-image--carrot { + background-image: url("../../_global/img/icons/carrot-icon--black.png"); +} + +/* Diaspora */ +.icon-image--diaspora { + background-image: url("../../_global/img/icons/diaspora-icon--black.png"); +} + +/* Shaarli */ +.icon-image--shaarli { + background-image: url("../../_global/img/icons/shaarli.png"); +} + body { display: flex; min-height: 100vh; @@ -416,8 +468,9 @@ main ul.row { color: #fff; } -.quickstart .card .card-action a, .quickstart .card .card-action a:hover { - color: #fff !important; +.quickstart .card .card-action a, +.quickstart .card .card-action a:hover { + color: #fff !important; } .settings .div_tabs { @@ -643,7 +696,7 @@ main ul.row { } .icon-twitter::before { - content: "\ea91"; + content: "\ea96"; } .icon-apple::before { diff --git a/app/Resources/static/themes/material/js/init.js b/app/Resources/static/themes/material/js/init.js index 18f7b40af..a68269e0b 100755 --- a/app/Resources/static/themes/material/js/init.js +++ b/app/Resources/static/themes/material/js/init.js @@ -1,8 +1,10 @@ +import { savePercent, retrievePercent, initFilters, initExport } from '../../_global/js/tools'; + const $ = require('jquery'); + global.jQuery = $; require('materialize'); // eslint-disable-line const annotator = require('annotator'); -import { savePercent, retrievePercent, initFilters, initExport } from '../../_global/js/tools.js'; $(document).ready(() => { // sideNav diff --git a/app/Resources/views/.gitkeep b/app/Resources/views/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/config/tests/parameters_test.sqlite.yml b/app/config/tests/parameters_test.sqlite.yml index 6e9f98de5..1952e3a61 100644 --- a/app/config/tests/parameters_test.sqlite.yml +++ b/app/config/tests/parameters_test.sqlite.yml @@ -5,4 +5,4 @@ parameters: test_database_name: ~ test_database_user: ~ test_database_password: ~ - test_database_path: "%kernel.root_dir%/../data/db/wallabag_testHU.sqlite" + test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite" diff --git a/docs/de/user/installation.rst b/docs/de/user/installation.rst index a77896564..c438761f9 100644 --- a/docs/de/user/installation.rst +++ b/docs/de/user/installation.rst @@ -56,7 +56,7 @@ Um wallabag selbst zu installieren, musst du die folgenden Kommandos ausführen: git clone https://github.com/wallabag/wallabag.git cd wallabag git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console wallabag:install --env=prod Um PHPs eingebauten Server zu starten und zu testen, ob alles korrekt installiert wurde, kannst du folgendes Kommando ausführen: diff --git a/docs/de/user/upgrade-2.0.x-2.1.y.rst b/docs/de/user/upgrade-2.0.x-2.1.y.rst index 7c20f4ee8..7319a18a4 100644 --- a/docs/de/user/upgrade-2.0.x-2.1.y.rst +++ b/docs/de/user/upgrade-2.0.x-2.1.y.rst @@ -15,7 +15,7 @@ Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.htm git fetch origin git fetch --tags git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console doctrine:migrations:migrate --env=prod php bin/console cache:clear --env=prod diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst index 8a26a3763..833a36a69 100644 --- a/docs/en/user/installation.rst +++ b/docs/en/user/installation.rst @@ -55,7 +55,7 @@ To install wallabag itself, you must run the following commands: git clone https://github.com/wallabag/wallabag.git cd wallabag git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console wallabag:install --env=prod To start PHP's build-in server and test if everything did install correctly, you can do: diff --git a/docs/en/user/upgrade-2.0.x-2.1.y.rst b/docs/en/user/upgrade-2.0.x-2.1.y.rst index 234045ba4..ce5b5441b 100644 --- a/docs/en/user/upgrade-2.0.x-2.1.y.rst +++ b/docs/en/user/upgrade-2.0.x-2.1.y.rst @@ -15,7 +15,7 @@ The last release is published on https://www.wallabag.org/pages/download-wallaba git fetch origin git fetch --tags git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console doctrine:migrations:migrate --env=prod php bin/console cache:clear --env=prod diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst index 3dba25a03..cba8444a7 100644 --- a/docs/fr/user/installation.rst +++ b/docs/fr/user/installation.rst @@ -53,7 +53,7 @@ Pour installer wallabag, vous devez exécuter ces commandes : git clone https://github.com/wallabag/wallabag.git cd wallabag git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console wallabag:install --env=prod Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter : diff --git a/docs/fr/user/upgrade-2.0.x-2.1.y.rst b/docs/fr/user/upgrade-2.0.x-2.1.y.rst index fdd1f0cbb..a059cfb84 100644 --- a/docs/fr/user/upgrade-2.0.x-2.1.y.rst +++ b/docs/fr/user/upgrade-2.0.x-2.1.y.rst @@ -15,7 +15,7 @@ La dernière version de wallabag est publiée à cette adresse : https://www.wal git fetch origin git fetch --tags git checkout 2.1.0 - ASSETS=build ./install.sh + SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console doctrine:migrations:migrate --env=prod php bin/console cache:clear --env=prod diff --git a/install.sh b/install.sh deleted file mode 100755 index fad8b4c09..000000000 --- a/install.sh +++ /dev/null @@ -1,13 +0,0 @@ -#! /usr/bin/env bash - -echo " > Installing PHP dependencies through Composer..." -SYMFONY_ENV=prod composer install --no-interaction --no-progress --prefer-dist -o --no-dev - -chmod ugo+x vendor/mouf/nodejs-installer/bin/local/npm -echo " > Downloading librairies through npm..." -vendor/mouf/nodejs-installer/bin/local/npm install - -echo " > Concat, minify and installing assets..." -node_modules/grunt/bin/grunt - -echo " > Install finished" diff --git a/install_dev.sh b/install_dev.sh deleted file mode 100755 index cbd474953..000000000 --- a/install_dev.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /usr/bin/env bash - -echo " > Installing PHP dependencies (including dev) through Composer..." -composer install -o --no-interaction --no-progress --prefer-dist - -if [[ $ASSETS == 'build' || $TRAVIS_BUILD_DIR == '' ]]; then - echo " > Downloading librairies through npm..." - npm install - - echo " > Concat, minify and installing assets..." - grunt -fi - -echo " > Install finished" diff --git a/package.json b/package.json index 21664f37e..20afb4259 100644 --- a/package.json +++ b/package.json @@ -7,42 +7,6 @@ "directories": { "doc": "docs" }, - "dependencies": { - "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85", - "autoprefixer": "^6.3.6", - "babel-preset-es2015": "^6.14.0", - "babelify": "^7.3.0", - "browserify": "^13.0.0", - "browserify-shim": "^3.8.12", - "cssnano": "^3.5.2", - "es6-promise": "^3.2.1", - "grunt": ">=0.4.0", - "grunt-browserify": "^5.0.0", - "grunt-cli": "^1.2.0", - "grunt-contrib-clean": "^1.0.0", - "grunt-contrib-concat": "^1.0.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-symlink": "^1.0.0", - "grunt-contrib-uglify": "^1.0.0", - "grunt-postcss": "^0.8.0", - "hammerjs": "^2.0.6", - "icomoon-free-npm": "0.0.0", - "jquery": "^2.2.4", - "jquery-ui-browserify": "^1.11.0-pre-seelio", - "jquery.cookie": "^1.4.1", - "jquery.tinydot": "^0.2.1", - "load-grunt-tasks": "^3.4.1", - "material-design-icons-iconfont": "^3.0.0", - "materialize-css": "0.97.5", - "npm": "^3.8.3", - "pickadate": "^3.5.6", - "pixrem": "^3.0.0", - "postcss-cssnext": "^2.5.1", - "prismjs": "^1.4.1", - "ptsans-npm-webfont": "0.0.4", - "roboto-fontface": "^0.6.0", - "through": "^2.3.8" - }, "engines": { "node": ">0.12" }, @@ -93,10 +57,47 @@ "url": "https://github.com/wallabag/wallabag/issues" }, "devDependencies": { + "annotator": "git://github.com/wallabag/annotator.git#0f076c7d371ed25eb0793346f46982d90f2c4c85", + "autoprefixer": "^6.3.6", "babel-eslint": "^6.1.2", - "eslint": "^2.13.1", - "eslint-config-airbnb": "^9.0.1", + "babel-preset-es2015": "^6.14.0", + "babelify": "^7.3.0", + "browserify": "^13.0.0", + "browserify-shim": "^3.8.12", + "cssnano": "^3.5.2", + "es6-promise": "^3.2.1", + "eslint": "^3.7.1", + "eslint-config-airbnb-base": "^8.0.0", + "eslint-plugin-import": "^1.16.0", + "grunt": ">=0.4.0", + "grunt-browserify": "^5.0.0", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.0.0", + "grunt-contrib-concat": "^1.0.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-symlink": "^1.0.0", + "grunt-contrib-uglify": "^1.0.0", + "grunt-eslint": "^19.0.0", + "grunt-postcss": "^0.8.0", + "grunt-stylelint": "^0.6.0", + "hammerjs": "^2.0.6", + "icomoon-free-npm": "0.0.0", + "jquery": "^2.2.4", + "jquery-ui-browserify": "^1.11.0-pre-seelio", + "jquery.cookie": "^1.4.1", + "jquery.tinydot": "^0.2.1", + "load-grunt-tasks": "^3.4.1", + "material-design-icons-iconfont": "^3.0.0", + "materialize-css": "0.97.5", + "npm": "^3.8.3", + "pickadate": "^3.5.6", + "pixrem": "^3.0.0", + "postcss-cssnext": "^2.5.1", + "prismjs": "^1.4.1", + "ptsans-npm-webfont": "0.0.4", + "roboto-fontface": "^0.6.0", "stylelint": "^7.3.1", - "stylelint-config-standard": "^13.0.2" + "stylelint-config-standard": "^13.0.2", + "through": "^2.3.8" } } diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig index be1e36476..9a5c8fe02 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig @@ -21,12 +21,15 @@
  • {{ markAsReadLabel|trans }}
  • {{ 'entry.view.left_menu.set_as_starred'|trans }}
  • -
  • {{ 'entry.view.left_menu.add_a_tag'|trans }}
  • +
  • {{ 'entry.view.left_menu.add_a_tag'|trans }}
  • {{ 'entry.view.left_menu.delete'|trans }}
  • - {% if craue_setting('share_public') %}
  • {{ 'entry.view.left_menu.public_link'|trans }}
  • {{ 'entry.view.left_menu.delete_public_link'|trans }}
  • {% endif %} + {% if craue_setting('share_public') %} +
  • {{ 'entry.view.left_menu.public_link'|trans }}
  • +
  • {{ 'entry.view.left_menu.delete_public_link'|trans }}
  • + {% endif %} {% if craue_setting('share_twitter') %}
  • Tweet
  • {% endif %} {% if craue_setting('share_mail') %}
  • Email
  • {% endif %} - {% if craue_setting('share_shaarli') %}
  • shaarli
  • {% endif %} + {% if craue_setting('share_shaarli') %}
  • shaarli
  • {% endif %} {% if craue_setting('share_diaspora') %}
  • diaspora
  • {% endif %} {% if craue_setting('carrot') %}
  • Carrot
  • {% endif %} {% if craue_setting('show_printlink') %}
  • {{ 'entry.view.left_menu.print'|trans }}
  • {% endif %} @@ -38,18 +41,18 @@
    - + + {{ entry.createdAt|date('Y-m-d') }} + - + {% set nbAnnotations = entry.annotations | length %} comment {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig index 209e9e896..d52ab01cd 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig @@ -106,48 +106,50 @@