]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #2832 from Kdecherf/search-domain
authorJeremy Benoist <j0k3r@users.noreply.github.com>
Sun, 19 Feb 2017 20:52:35 +0000 (21:52 +0100)
committerGitHub <noreply@github.com>
Sun, 19 Feb 2017 20:52:35 +0000 (21:52 +0100)
Search by term: extend to entries url

56 files changed:
app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml
app/Resources/static/themes/material/css/main.css
app/config/config.yml
composer.json
docs/de/developer/api.rst
docs/de/index.rst
docs/de/user/configuring_mobile.rst [new file with mode: 0644]
docs/en/developer/api.rst
docs/en/index.rst
docs/en/user/configuring_mobile.rst [new file with mode: 0644]
docs/en/user/first_article.rst [deleted file]
docs/en/user/installation.rst
docs/en/user/share.rst [deleted file]
docs/fr/developer/api.rst
docs/fr/index.rst
docs/fr/user/configuring_mobile.rst [new file with mode: 0644]
docs/fr/user/installation.rst
docs/it/conf.py [new file with mode: 0644]
docs/it/developer/api.rst [new file with mode: 0644]
docs/it/developer/asynchronous.rst [new file with mode: 0644]
docs/it/developer/docker.rst [new file with mode: 0644]
docs/it/developer/documentation.rst [new file with mode: 0644]
docs/it/developer/paywall.rst [new file with mode: 0644]
docs/it/developer/testsuite.rst [new file with mode: 0644]
docs/it/developer/translate.rst [new file with mode: 0644]
docs/it/index.rst [new file with mode: 0644]
docs/it/requirements.txt [new file with mode: 0644]
docs/it/user/android.rst [new file with mode: 0644]
docs/it/user/articles.rst [new file with mode: 0644]
docs/it/user/backup.rst [new file with mode: 0644]
docs/it/user/configuration.rst [new file with mode: 0644]
docs/it/user/configuring_mobile.rst [new file with mode: 0644]
docs/it/user/create_account.rst [new file with mode: 0644]
docs/it/user/errors_during_fetching.rst [new file with mode: 0644]
docs/it/user/faq.rst [new file with mode: 0644]
docs/it/user/filters.rst [new file with mode: 0644]
docs/it/user/import.rst [new file with mode: 0644]
docs/it/user/installation.rst [new file with mode: 0644]
docs/it/user/parameters.rst [new file with mode: 0644]
docs/it/user/upgrade.rst [new file with mode: 0644]
scripts/require.sh
src/Wallabag/CoreBundle/Helper/HttpClientFactory.php
src/Wallabag/CoreBundle/Resources/config/services.yml
src/Wallabag/CoreBundle/Resources/translations/messages.es.yml
src/Wallabag/CoreBundle/Resources/translations/messages.it.yml
src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml
src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_full_image.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_list.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_no_preview.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/_card_preview.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entry.html.twig
src/Wallabag/CoreBundle/Resources/views/themes/material/layout.html.twig
src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml [new file with mode: 0644]
web/bundles/wallabagcore/themes/baggy/css/style.min.css
web/bundles/wallabagcore/themes/material/css/style.min.css

index dbec0e81853d8b5f70add3fed4c770ab9e571dbe..c338836d602705a243ba6a593c886b6481dc70e4 100644 (file)
@@ -1,7 +1,7 @@
-# settings_changed: Configuration updated
-download_pictures: Descargar imágenes
+settings_changed: Configuración actualizada
+download_pictures: Descargar imágenes en el servidor
 carrot: Activar compartir con Carrot
-diaspora_url: Diaspora URL, si el servicio está activado
+diaspora_url: URL de Diaspora, 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
@@ -9,11 +9,11 @@ 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
+import_with_rabbitmq: Activar RabbitMQ para importar datos de forma asíncrona
+import_with_redis: Activar Redis para importar datos de forma asíncrona
+shaarli_url: URL de Shaarli, si el servicio está activado
 share_diaspora: Activar compartir con Diaspora
-share_mail: Activar compartir con email
+share_mail: Activar compartir con Email
 share_shaarli: Activar compartir con Shaarli
 share_twitter: Activar compartir con Twitter
 share_unmark: Activar compartir con Unmark.it
@@ -24,12 +24,12 @@ entry: "artículo"
 export: "exportar"
 import: "importar"
 misc: "misc"
-modify_settings: "modificar configuración"
-piwik_host: Host de tu website de Piwik (sin http:// o https://)
-piwik_site_id: ID de tu website de Piwik
+modify_settings: "guardar"
+piwik_host: Host de tu website en Piwik (sin http:// o https://)
+piwik_site_id: ID de tu website en Piwik
 piwik_enabled: Activar Piwik
-demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)"
+demo_mode_enabled: "Activar modo demo (sólo usado en la demo pública de wallabag)"
 demo_mode_username: "Nombre de usuario demo"
-# share_public: Allow public url for entries
-# download_images_enabled: Download images locally
-# restricted_access: Enable authentication for websites with paywall
+share_public: Permitir URL pública para los artículos
+download_images_enabled: Descargar imágenes localmente
+restricted_access: Activar autenticación para websites con paywall
index f43e6042a02d9a446e7339d703de7b247c0d41ab..ee4ad4e0f1124dc3ac55cbf684bbb1571dda195d 100755 (executable)
@@ -291,6 +291,7 @@ nav {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
+  min-height: 64px;
 }
 
 .nav-wrapper .button-collapse {
@@ -369,7 +370,8 @@ nav {
 .input-field.nav-panel-add form,
 .input-field.nav-panel-search,
 .input-field.nav-panel-search form {
-  flex-grow: 1;
+  display: flex;
+  flex: 1;
 }
 
 /* ==========================================================================
index a69a979de1e48b7c1bbac976446192001cf796f0..4e802c988f3729df4b93bc6da1ab759b3012221e 100644 (file)
@@ -238,7 +238,7 @@ scheb_two_factor:
         mailer: wallabag_user.auth_code_mailer
 
 kphoen_rulerz:
-    executors:
+    targets:
         doctrine: true
 
 old_sound_rabbit_mq:
index 49a1f35f099c56e749c43aba1db53ea801a27158..b919f446c32866cd19bea0005559357fa6548e65 100644 (file)
@@ -51,7 +51,7 @@
         "symfony/swiftmailer-bundle": "^2.3",
         "symfony/monolog-bundle": "^3.0",
         "sensio/distribution-bundle": "^5.0",
-        "sensio/framework-extra-bundle": "3.0.19",
+        "sensio/framework-extra-bundle": "^3.0.2",
         "incenteev/composer-parameter-handler": "^2.0",
         "nelmio/cors-bundle": "~1.4.0",
         "friendsofsymfony/rest-bundle": "~2.1",
@@ -71,8 +71,7 @@
         "scheb/two-factor-bundle": "~2.0",
         "grandt/phpepub": "~4.0",
         "wallabag/php-mobi": "~1.0.0",
-        "kphoen/rulerz-bundle": "~0.10",
-        "kphoen/rulerz": "0.19.1",
+        "kphoen/rulerz-bundle": "~0.13",
         "guzzlehttp/guzzle": "^5.3.1",
         "doctrine/doctrine-migrations-bundle": "^1.0",
         "paragonie/random_compat": "~1.0",
index 9d230e31ceb150a74eb893184cba43428b99c176..7a18afde9259dcd6e83e299936e4d78393eaee7c 100644 (file)
@@ -254,7 +254,7 @@ cURL Beispiel:
 Andere Methoden
 ---------------
 
-Wir werden nicht für jede API Methode Beispiele schreiben. 
+Wir werden nicht für jede API Methode Beispiele schreiben.
 
 Wirf einen Blick in die Liste http://localhost:8000/api/doc, um alle Methode kennenzulernen.
 
@@ -264,8 +264,9 @@ Drittanbieter Ressourcen
 
 Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen:
 
-- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ von Strubbl.
+- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ von Dmitriy Bogdanov.
 - `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ von Julian Oster.
 - `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ von FoxMaSk, für sein Projekt `Trigger Happy <https://blog.trigger-happy.eu/>`_.
 - `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ entworfen für `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_, das die wallabag v2 API nutzt. Von Josh Panter.
-- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für sein Projekt `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_.
+- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für seine Projekte `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_ und das Kommandozeilentool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
+- Tool, um automatisiert wallabag Artikel auf den lokalen PC oder ebook reader zu laden `wallabako <https://gitlab.com/anarcat/wallabako>`_ von anarcat.
index 1c3e4873bbd46cc01d1acef258bb40ae229b9d17..6e725fbe3273f582472305eec7477ca564675cdb 100644 (file)
@@ -33,6 +33,7 @@ Die Dokumentation ist in anderen Sprachen verfügbar :
    user/errors_during_fetching
    user/filters
    user/tags
+   user/configuring_mobile
    user/android
    user/parameters
    user/backup
diff --git a/docs/de/user/configuring_mobile.rst b/docs/de/user/configuring_mobile.rst
new file mode 100644 (file)
index 0000000..c80320c
--- /dev/null
@@ -0,0 +1,12 @@
+Konfiguration mobiler Apps für wallabag
+=======================================
+
+Schritte zum Konfigurieren der App
+----------------------------------
+
+- Als Erstes erstellst du einen *neuen Client* in dem Abschnitt ``API Client Management``. Der Name deiner App ist dabei nicht so wichtig wie die ``Client-ID`` und das ``Client-Secret``. Schreib diese zwei Werte auf.
+- Wenn du eine mobile App herunterlädst, wird sie dich nach der Server-Adresse deiner wallabag-Instanz fragen. Zum Beispiel ist es ``https://app.wallabag.it`` bei wallabag.it.
+- Sie wird dich auch nach den zuvor genannten ``Client-ID`` und ``Client-Secret`` fragen. Bitte trage diese in die Textfelder ein, wenn du danach gefragt wirst.
+- Zuletzt musst du deinen ``Benutzernamen`` und ``Passwort`` bereitstellen. Diese Zugangsdaten sind die gleichen, die du zum Login bei wallabag nutzt.
+
+Bitte schaue auch auf die `Android <android.html>`_ Seite und dort insbesondere den Abschnitt *Bekannte Limitierungen*.
index b6c9ed3fc6404d5bfed185325fe43e8fcd961b29..80c960256c85ec3c14a3177ea7dcd0d164f204d3 100644 (file)
@@ -8,7 +8,7 @@ Requirements
 
 * wallabag freshly (or not) installed on http://localhost:8000
 * ``httpie`` installed on your computer (`see project website <https://github.com/jkbrzt/httpie>`__). Note that you can also adapt the commands using curl or wget.
-* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_ 
+* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_
 
 Creating a new API client
 -------------------------
@@ -263,8 +263,9 @@ Third party resources
 
 Some applications or libraries use our API. Here is a non-exhaustive list of them:
 
-- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ by Strubbl.
+- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ by Dmitriy Bogdanov.
 - `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ by Julian Oster.
 - `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ by FoxMaSk, for his project `Trigger Happy <https://blog.trigger-happy.eu/>`_.
 - `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ designed for `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ that makes use of the wallabag v2 API. By Josh Panter.
-- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his project `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_.
+- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his projects `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_ and the command line tool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
+- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ by anarcat.
index 2e20aee628aca03a592f18c9c94a9a9a89c353a4..89f61d6d7bbf67b544ecf00b0705d29c2c7c0fa8 100644 (file)
@@ -33,6 +33,7 @@ The documentation is available in other languages:
    user/errors_during_fetching
    user/filters
    user/tags
+   user/configuring_mobile
    user/android
    user/parameters
    user/backup
diff --git a/docs/en/user/configuring_mobile.rst b/docs/en/user/configuring_mobile.rst
new file mode 100644 (file)
index 0000000..7229aed
--- /dev/null
@@ -0,0 +1,13 @@
+Configuring mobile apps to work with wallabag
+=============================================
+
+Steps to configure the app
+--------------------------
+
+- First *create a new client* in the ``API clients management`` section. The name of your app doesn't matter as much as the ``Client ID`` and the ``Client secret``. Write these two values down.
+- When you download a mobile app, it's going to ask for the server address of the hosted wallabag instance. For example, with wallabag.it that is: ``https://app.wallabag.it``.
+- It's also going to ask for the aforementioned ``Client ID`` and ``secret``. Please insert those in the text fields, when asked.
+- Lastly you need to provide your ``username`` and ``password``. These are the same credentials you use to login in to wallabag.
+
+Please also have a look at `Android <android.html>`_ page. Especially the section on *known limitations*.
+
diff --git a/docs/en/user/first_article.rst b/docs/en/user/first_article.rst
deleted file mode 100644 (file)
index 1400e1e..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-Save your first article
-=======================
-
-The main purpose of wallabag is to save web articles. You have many ways to do it.
-
-.. note::
-
-    A quickstart will be displayed in the application until you save your first article.
-
-By using a bookmarklet
-----------------------
-
-On the ``Howto`` page, you have a ``Bookmarklet`` tab. Drag and drop the ``bag it!``
-link to your bookmarks bar of your browser.
-
-Now, each time you're reading an article on the web and you want to save it,
-click on the ``bag it!`` link in your bookmarks bar. The article is saved.
-
-By using the classic form
--------------------------
-
-In the top bar of your screen, you have 3 icons. With the first one, a plus sign,
-you can easily save a new article.
-
-.. image:: ../../img/user/topbar.png
-   :alt: Top bar
-   :align: center
-
-Click on it to display a new field, paste the article URL inside and press your
-``Return`` key. The article is saved.
-
-By using a browser add-on
--------------------------
-
-Firefox
-~~~~~~~
-
-*This addon is not yet available for wallabag v2*.
-
-Chrome
-~~~~~~
-
-*This addon is not yet available for wallabag v2*.
-
-By using your smarphone application
------------------------------------
-
-Android
-~~~~~~~
-
-*This application is not yet available for wallabag v2*.
-
-Firefox OS
-~~~~~~~~~~
-
-*This application is not yet available for wallabag v2*.
-
-Windows Phone
-~~~~~~~~~~~~~
-
-*This application is not yet available for wallabag v2*.
-
-iOS
-~~~
-
-*This application is not yet available for wallabag v2*.
index 7d3bcf619d7adb688c9b9c0590cfb8e7a7394bfd..7fb81aeb32343e501feb692a04530ea5ae13e37c 100644 (file)
@@ -149,6 +149,23 @@ Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you w
         ErrorLog /var/log/apache2/wallabag_error.log
         CustomLog /var/log/apache2/wallabag_access.log combined
     </VirtualHost>
+    
+    
+.. tip:: Note for Apache 2.4, in the section `<Directory /var/www/wallabag/web>` you have to replace the directives : 
+
+::
+
+    AllowOverride None
+    Order Allow,Deny
+    Allow from All
+
+
+by 
+
+::
+    
+    Require All granted
+    
 
 After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
 
diff --git a/docs/en/user/share.rst b/docs/en/user/share.rst
deleted file mode 100644 (file)
index e99e51a..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Share articles
-==============
-
-When you're reading an article, you can share it. Just click on the share button:
-
-.. image:: ../../img/user/share.png
-   :alt: share article
-   :align: center
-
-Now, you can share the article:
-
-- with a public URL (you'll have a light view of the article)
-- with a tweet
-- into your Shaarli
-- with a post in Diaspora*
-- to Carrot
-- with an email
index 8a6e2a136386c7012041ac5debfc0353df8324a8..e7bb264fb7f1c84297abeac290698ecc9663444e 100644 (file)
@@ -263,8 +263,9 @@ Ressources tierces
 
 Certaines applications ou bibliothèques utilisent notre API. En voici une liste non exhaustive :
 
-- `Java wrapper for the wallabag API <https://github.com/Strubbl/jWallabag>`_ par Strubbl.
+- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ par Dmitriy Bogdanov.
 - `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ par Julian Oster.
 - `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ par FoxMaSk, pour son projet `Trigger Happy <https://blog.trigger-happy.eu/>`_.
 - `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ conçu pour `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_  qui utilise l'API wallabag v2. Par Josh Panter.
-- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ par Strubbl, pour son projet `wallabag-stats graphe <https://github.com/Strubbl/wallabag-stats>`_.
+- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ par Strubbl, pour son projets `wallabag-stats graphe <https://github.com/Strubbl/wallabag-stats>`_ et l'outil de ligne de commande `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
+- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ par anarcat.
index e3f14b048dd69d15473ba320c256ae362e200807..99aaa35a6687aa575e473d5a2a5cee1313e708f1 100644 (file)
@@ -34,6 +34,7 @@ La documentation est disponible dans d'autres langues :
    user/errors_during_fetching
    user/filters
    user/tags
+   user/configuring_mobile
    user/android
    user/parameters
    user/backup
diff --git a/docs/fr/user/configuring_mobile.rst b/docs/fr/user/configuring_mobile.rst
new file mode 100644 (file)
index 0000000..4036c35
--- /dev/null
@@ -0,0 +1,12 @@
+Configurer les applications mobile pour wallabag
+================================================
+
+Étapes pour configurer les applications
+---------------------------------------
+
+- Tout d'abord, *créez un nouveau client* dans la section ``Gestion des clients API``. Le nom de votre application importe peu. Ce qui nous intéresse, ce sont l'``ID Client`` et la ``clé secrète``. Notez bien ces deux valeurs.
+- Quand vous installez une application smartphone, on va vous demander de renseigner l'adresse de votre serveur de wallabag. Par exemple, pour wallabag.it, c'est ``https://app.wallabag.it``.
+- Les deux valeurs notées précédemment vous seront également demandées. Insérez-les dans les champs correspondants.
+- Enfin, vous devez renseigner votre ``nom d'utilisateur`` et votre ``mot de passe``. Ce sont les mêmes valeurs que lorsque vous vous connectez à wallabag.
+
+Vous pouvez également regarder du côté de la page `Android <android.html>`_. Particulièrement la section sur les *limitations connues*.
index 9ef5ee9828516c6d7cc19686ced5abf0fd4f4b58..319735afc1244978337268a291021cfb5621ce87 100644 (file)
@@ -147,6 +147,24 @@ En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wall
         CustomLog /var/log/apache2/wallabag_access.log combined
     </VirtualHost>
 
+.. tip:: Pour Apache 2.4, dans la section `<Directory /var/www/wallabag/web>` vous devez remplacer les directives suivantes :
+
+::
+
+    AllowOverride None
+    Order Allow,Deny
+    Allow from All
+
+
+par 
+
+::
+    
+    Require All granted
+    
+
+
+
 Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
 
 Configuration avec Nginx
diff --git a/docs/it/conf.py b/docs/it/conf.py
new file mode 100644 (file)
index 0000000..717b35f
--- /dev/null
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+#
+# wallabag documentation build configuration file, created by
+# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
+
+import sys
+import os
+
+extensions = []
+templates_path = ['_templates']
+source_suffix = '.rst'
+master_doc = 'index'
+project = u'wallabag'
+copyright = u'2013-2016, Nicolas Lœuillet - MIT Licence'
+version = '2.1.0'
+release = version
+exclude_patterns = ['_build']
+pygments_style = 'sphinx'
+html_theme = 'default'
+html_static_path = ['_static']
+htmlhelp_basename = 'wallabagdoc'
+latex_elements = {
+
+}
+
+latex_documents = [
+  ('index', 'wallabag.tex', u'wallabag Documentation',
+   u'Nicolas Lœuillet', 'manual'),
+]
+
+man_pages = [
+    ('index', 'wallabag', u'wallabag Documentation',
+     [u'Nicolas Lœuillet'], 1)
+]
+
+texinfo_documents = [
+  ('index', 'wallabag', u'wallabag Documentation',
+   u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
+   'Miscellaneous'),
+]
+
+##### Guzzle sphinx theme
+
+import guzzle_sphinx_theme
+html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
+html_theme_path = guzzle_sphinx_theme.html_theme_path()
+html_theme = 'guzzle_sphinx_theme'
+
+# Custom sidebar templates, maps document names to template names.
+html_sidebars = {
+    '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
+}
+
+# Register the theme as an extension to generate a sitemap.xml
+extensions.append("guzzle_sphinx_theme")
diff --git a/docs/it/developer/api.rst b/docs/it/developer/api.rst
new file mode 100644 (file)
index 0000000..fc19a17
--- /dev/null
@@ -0,0 +1,269 @@
+Documentazione su API
+---------------------
+
+Grazie a questa documentazione, vedremo come interagire con l'API di wallabag.
+
+Requisiti
+---------
+
+* wallabag appena (o no) installato su http://localhost:8000
+* ``httpie`` installato sul vostro computer (`guardate il sito del progetto <https://github.com/jkbrzt/httpie>`__). Da notare che potete anche adattare i comandi usando curl o wget.
+* tutti i metodi API documentati qui http://localhost:8000/api/doc (sulla vostra istanza) e `sulla nostra istanza d'esempio <http://v2.wallabag.org/api/doc>`_
+
+Creare un nuovo client API
+--------------------------
+
+Sul vostro account wallabag potete creare un nuovo client API presso questo URL http://localhost:8000/developer/client/create.
+
+Date solamente l'URL per il reindirizzamento della vostra applicazione e create il vostro client. Se la vostra applicazione è desktop, inserite l'URL che preferite.
+
+Toverete informazioni come queste:
+
+::
+
+    Client ID:
+
+    1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
+
+    Client secret:
+
+    636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
+
+
+Ottenere un token per il ricaricamento
+--------------------------------------
+
+Per ogni chiamata API avrete bisogno di un token. Creiamolo con questo comando (rimpiazzate ``client_id``, ``client_secret``, ``username`` and ``password`` con i loro valori):
+
+::
+
+    http POST http://localhost:8000/oauth/v2/token \
+        grant_type=password \
+        client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
+        client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
+        username=wallabag \
+        password=wallabag
+
+Otterrete questo risultato:
+
+::
+
+    HTTP/1.1 200 OK
+    Cache-Control: no-store, private
+    Connection: close
+    Content-Type: application/json
+    Date: Tue, 05 Apr 2016 08:44:33 GMT
+    Host: localhost:8000
+    Pragma: no-cache
+    X-Debug-Token: 19c8e0
+    X-Debug-Token-Link: /_profiler/19c8e0
+    X-Powered-By: PHP/7.0.4
+
+    {
+        "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
+        "expires_in": 3600,
+        "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
+        "scope": null,
+        "token_type": "bearer"
+    }
+
+Lavoreremo con il valore ``access_token`` nelle nostre prossime chiamate.
+
+esempio di cURL:
+
+::
+
+    curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
+
+Ottenere voci esistenti
+-----------------------
+
+Documentazione per questo metodo: http://localhost:8000/api/doc#get--api-entries.{_format}
+
+Mentre lavoriamo su una nuova installazione di wallabag, non otterremo risultati con questo comando:
+
+::
+
+    http GET http://localhost:8000/api/entries.json \
+    "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
+
+restituisce:
+
+::
+
+    HTTP/1.1 200 OK
+    0: application/json
+    Cache-Control: no-cache
+    Connection: close
+    Content-Type: application/json
+    Date: Tue, 05 Apr 2016 08:51:32 GMT
+    Host: localhost:8000
+    Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
+    X-Debug-Token: 4fbbc4
+    X-Debug-Token-Link: /_profiler/4fbbc4
+    X-Powered-By: PHP/7.0.4
+
+    {
+        "_embedded": {
+            "items": []
+        },
+        "_links": {
+            "first": {
+                "href": "http://localhost:8000/api/entries?page=1&perPage=30"
+            },
+            "last": {
+                "href": "http://localhost:8000/api/entries?page=1&perPage=30"
+            },
+            "self": {
+                "href": "http://localhost:8000/api/entries?page=1&perPage=30"
+            }
+        },
+        "limit": 30,
+        "page": 1,
+        "pages": 1,
+        "total": 0
+    }
+
+L'insieme ``items`` è vuoto.
+
+esempio di cURL:
+
+::
+
+    curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
+
+Aggiungere la vostra prima voce
+-------------------------------
+
+Documentazione per questo metodo: http://localhost:8000/api/doc#post--api-entries.{_format}
+
+::
+
+    http POST http://localhost:8000/api/entries.json \
+    "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
+    url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
+
+restituisce:
+
+::
+
+    HTTP/1.1 200 OK
+    0: application/json
+    Cache-Control: no-cache
+    Connection: close
+    Content-Type: application/json
+    Date: Tue, 05 Apr 2016 09:07:54 GMT
+    Host: localhost:8000
+    Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
+    X-Debug-Token: e01c51
+    X-Debug-Token-Link: /_profiler/e01c51
+    X-Powered-By: PHP/7.0.4
+
+    {
+        "_links": {
+            "self": {
+                "href": "/api/entries/1"
+            }
+        },
+        "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n    \n    \n    <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n        Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n    </p>\n    \n    <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n        \n</footer>    <section class=\"related-article\"><header><h3>Articles liés</h3>\n    </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10;                    //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10;                                            //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n        <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10;                    //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10;                                            //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n        <h4> Comment activer la navigation privée sur son navigateur web </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10;                    //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10;                                            //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n        <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article>\n</section>\n",
+        "created_at": "2016-04-05T09:07:54+0000",
+        "domain_name": "www.numerama.com",
+        "id": 1,
+        "is_archived": 0,
+        "is_starred": 0,
+        "language": "fr-FR",
+        "mimetype": "text/html",
+        "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
+        "reading_time": 2,
+        "tags": [],
+        "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
+        "updated_at": "2016-04-05T09:07:54+0000",
+        "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
+        "user_email": "",
+        "user_id": 1,
+        "user_name": "wallabag"
+    }
+
+Ora, se eseguite il comando precedente (vedere **Ottenere voci esistenti**), avrete dei dati.
+
+esempio di cURL:
+
+::
+
+    curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
+
+Eliminare una voce
+------------------
+
+Documentazione per questo metodo: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
+
+::
+
+    http DELETE http://localhost:8000/api/entries/1.json \
+    "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
+
+restituisce
+
+::
+
+    HTTP/1.1 200 OK
+    0: application/json
+    Cache-Control: no-cache
+    Connection: close
+    Content-Type: application/json
+    Date: Tue, 05 Apr 2016 09:19:07 GMT
+    Host: localhost:8000
+    Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
+    X-Debug-Token: 887cef
+    X-Debug-Token-Link: /_profiler/887cef
+    X-Powered-By: PHP/7.0.4
+
+    {
+        "_links": {
+            "self": {
+                "href": "/api/entries/"
+            }
+        },
+        "annotations": [],
+        "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n    \n    \n    <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n        Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n    </p>\n    \n    <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n        \n</footer>    <section class=\"related-article\"><header><h3>Articles liés</h3>\n    </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10;                    //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10;                                            //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n        <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10;                    //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10;                                            //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n        <h4> Comment activer la navigation privée sur son navigateur web </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n        <div class=\"cover-preview cover-tech\">\n                            <p>Lire</p>\n            \n                            \n            \n            <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10;                    //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10;                                            //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10;                                        \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n        <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n    </a>\n    <footer class=\"span12\">\n    </footer></article>\n</section>\n",
+        "created_at": "2016-04-05T09:07:54+0000",
+        "domain_name": "www.numerama.com",
+        "is_archived": 0,
+        "is_starred": 0,
+        "language": "fr-FR",
+        "mimetype": "text/html",
+        "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
+        "reading_time": 2,
+        "tags": [],
+        "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
+        "updated_at": "2016-04-05T09:07:54+0000",
+        "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
+        "user_email": "",
+        "user_id": 1,
+        "user_name": "wallabag"
+    }
+
+E se volete elencare le voci esistenti (vedere **Ottenere voci esistenti**), l'insieme è vuoto.
+
+esempio di cURL:
+
+::
+
+    curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
+
+Altri metodi
+------------
+
+Non scriveremo esempi per ogni metodo API.
+Guardate l'elenco qui : http://localhost:8000/api/doc per ogni metodo conosciuto.
+
+Risorse di terze parti
+----------------------
+
+Alcune applicazioni o librerie usano le nostre API. Ecco una lista non esaustiva:
+
+- `Wrapper Java per l'API di wallabag <https://github.com/Strubbl/jWallabag>`_ di Strubbl.
+- `Libreria .NET per l'API di wallabag v2 <https://github.com/jlnostr/wallabag-api>`_ di Julian Oster.
+- `API di Python per wallabag <https://github.com/foxmask/wallabag_api>`_ di FoxMaSk, per il suo progetto `Trigger Happy <https://blog.trigger-happy.eu/>`_.
+- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ creato per `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ questo usa l'API di wallabag v2. Di Josh Panter.
+- `Wrapper Golang per l'API di wallabag <https://github.com/Strubbl/wallabago>`_ di Strubbl, per il suo progetto `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_.
diff --git a/docs/it/developer/asynchronous.rst b/docs/it/developer/asynchronous.rst
new file mode 100644 (file)
index 0000000..d753bd2
--- /dev/null
@@ -0,0 +1,162 @@
+Compiti Asincroni
+=================
+
+Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare RabbitMQ o Redis.
+
+Installare RabbitMQ per compiti asincroni
+-----------------------------------------
+
+Requisiti
+^^^^^^^^^
+
+Dovete avere RabbitMQ installato sul vostro server.
+
+Installazione
+^^^^^^^^^^^^^
+
+.. code:: bash
+
+  wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
+  apt-key add rabbitmq-signing-key-public.asc
+  apt-get update
+  apt-get install rabbitmq-server
+
+Configurazione ed avvio
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code:: bash
+
+  rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
+  rabbitmq-server -detached
+
+Fermare RabbitMQ
+^^^^^^^^^^^^^^^^
+
+.. code:: bash
+
+  rabbitmqctl stop
+
+
+Configurare RabbitMQ in wallabag
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di RabbitMQ. Quella di default dovrebbe andare bene:
+
+.. code:: yaml
+
+    rabbitmq_host: localhost
+    rabbitmq_port: 5672
+    rabbitmq_user: guest
+    rabbitmq_password: guest
+    rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
+
+Abilitare RabbitMQ su wallabag
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Su Strumenti, nella sezione **Importa**, abilitate RabbitMQ (con il valore 1).
+
+Avviare RabbitMQ consumer
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
+
+.. code:: bash
+
+  # per importare da Pocket
+  bin/console rabbitmq:consumer -e=prod import_pocket -w
+
+  # per importare da Readability
+  bin/console rabbitmq:consumer -e=prod import_readability -w
+
+  # per importare da Instapaper
+  bin/console rabbitmq:consumer -e=prod import_instapaper -w
+
+  # per importare da wallabag v1
+  bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
+
+  # per importare da wallabag v2
+  bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
+
+  # per importare da Firefox
+  bin/console rabbitmq:consumer -e=prod import_firefox -w
+
+  # per importare da Chrome
+  bin/console rabbitmq:consumer -e=prod import_chrome -w
+
+Installare Redis per compiti asincroni
+--------------------------------------
+
+Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare Redis.
+
+Requisiti
+^^^^^^^^^
+
+Dovete avere Redis installato sul vostro server.
+
+Installazione
+^^^^^^^^^^^^^
+
+.. code:: bash
+
+  apt-get install redis-server
+
+
+Avvio
+^^^^^
+
+Il server dovrebbe già essere attivo dopo l'installazione, altrimenti potete avviarlo usando:
+
+.. code:: bash
+
+  redis-server
+
+
+Configurare Redis su wallabag
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di Redis. Quella di default dovrebbe andare bene:
+
+.. code:: yaml
+
+    redis_host: localhost
+    redis_port: 6379
+
+Abilitare Redis su wallabag
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Su Strumenti, nella sezione **Importa**, abilitate Redis (con il valore 1).
+
+Avviare Redis consumer
+^^^^^^^^^^^^^^^^^^^^^^
+
+Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
+
+.. code:: bash
+
+  # per importare da Pocket
+  bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
+
+  # per importare da Readability
+  bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
+
+  # per importare da Instapaper
+  bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
+
+  # per importare da wallabag v1
+  bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
+
+  # per importare da wallabag v2
+  bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
+
+  # per importare da Firefox
+  bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
+
+  # per importare da Chrome
+  bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
+
+Se volete avviare l'importazione solamente per alcuni messaggi e non tutti, potete specificare questo numero (qui 12) e il programma si fermerà dopo il dodicesimo messaggio:
+
+.. code:: bash
+
+  bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
+
diff --git a/docs/it/developer/docker.rst b/docs/it/developer/docker.rst
new file mode 100644 (file)
index 0000000..f07df20
--- /dev/null
@@ -0,0 +1,41 @@
+Eseguite wallabag in docker-compose
+===================================
+
+Per eseguire la vostra propria istanza di sviluppo di wallabag, dovreste usare i file docker compose preconfigurati.
+
+Requisiti
+---------
+
+Assicuratevi di avere `Docker
+<https://docs.docker.com/installation/ubuntulinux/>` e  `Docker
+Compose <https://docs.docker.com/compose/install/>`__  disponibili sul vostro sistema e aggiornati.
+
+Cambiate DBMS
+-------------
+
+Per default, wallabag inizierá con un database SQLite.
+Visto che wallabag supporta Postgresql e MySQL, i container di docker sono disponibili anche per questi.
+
+In ``docker-compose.yml``, per il DBMS scelto, togliete i commenti:
+
+- la definizione del container (blocco a livello root ``postgres`` o ``mariadb``)
+- il link del container nel container``php``
+- il file env del container nel container ``php``
+
+Per far continuare ad eseguire i comandi Symfony sul vostro host (come ``wallabag:install``), dovreste anche:
+
+- caricare i file env appropriati sulla vostra riga di comando, in modo che possano esistere variabili come ``SYMFONY__ENV__DATABASE_HOST``.
+- creare un ``127.0.0.1 rdbms`` sul vostro file di sistema ``hosts``
+
+Eseguite wallabag
+-----------------
+
+#. Fate un fork o clonate il progetto
+#. Modificate ``app/config/parameters.yml`` per rimpiazzare le proprietá di ``database_*`` con quelle commentate (con valori con prefisso ``env.``)
+#. ``composer install`` per installare le dipendenze del progetto
+#. ``php bin/console wallabag:install`` per creare lo schema
+#. ``docker-compose up`` per eseguire i containers
+#. Infine, andate su http://localhost:8080/ per trovare il vostro wallabag appena installato.
+
+Durante i vari passi potreste incontrare problemi di permessi UNIX, percorsi sbagliati nella cache generata, etc...
+Operazioni come cambiare i file della cache o cambiare i proprietari dei file potrebbero essere richiesto frequentemente, per cui non abbiate paura!
diff --git a/docs/it/developer/documentation.rst b/docs/it/developer/documentation.rst
new file mode 100644 (file)
index 0000000..d4b63bb
--- /dev/null
@@ -0,0 +1,12 @@
+Contribuite a questa documentazione
+===================================
+
+Le fonti della nostra documentazione sono qui https://github.com/wallabag/wallabag/tree/master/docs
+
+Usiamo `ReadTheDocs
+<https://readthedocs.org>`__ per generarla.
+
+Le pagine sono scritte nel formato `Restructured Text
+<https://en.wikipedia.org/wiki/ReStructuredText>`__. Potete usare strumenti online come http://rst.aaroniles.net/ o http://rst.ninjs.org/ per vedere un'anteprima dei vostri articoli.
+
+Se create una nuova pagina, non scordatevi di modificare il file `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ per aggiungere un link nella barra laterale.
diff --git a/docs/it/developer/paywall.rst b/docs/it/developer/paywall.rst
new file mode 100644 (file)
index 0000000..2c4e1bf
--- /dev/null
@@ -0,0 +1,52 @@
+Articoli dietro ad un paywall
+=============================
+
+wallabag puó acquisire articoli da siti web che usano un sistema paywall
+
+Abilitate l'autenticazione paywall
+----------------------------------
+
+Su impostazioni interne, nella sezione **Articolo**, abilitate l'autenticazione per siti con paywall (con il valore 1).
+
+Configurate le credenziali in wallabag
+--------------------------------------
+
+Modificate il vostro file ``app/config/parameters.yml`` per modificare le credenziali per ogni sito con paywall. Ecco un esempio di alcuni siti francesi:
+
+.. code:: yaml
+
+    sites_credentials:
+        mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
+        arretsurimages.net: {username: "myASILogin", password: "mypassword"}
+
+.. note::
+
+    These credentials will be shared between each user of your wallabag instance.
+
+Fate il parsing dei file di configurazione
+------------------------------------------
+
+Leggete `questa parte della documentazione *link mancante*` per capire i file di configurazione.
+
+Ogni file di configurazione del parsing deve essere migliorato aggiungendo ``requires_login``, ``login_uri``, ``login_username_field``, ``login_password_field`` e ``not_logged_in_xpath``.
+
+Fate attenzione, il modulo di login deve essere nel contenuto della pagina quando wallabag lo carica. É impossibile per wallab essere autenticato su un sito dove il modulo di login é caricato dopo la pagina (da ajax per esempio).
+
+``login_uri`` é l'URL di azione del modulo (l'attributo ``action`` del modulo).
+``login_username_field`` é l'attributo ``name`` nel campo di login.
+``login_password_field`` é l'attributo ``name`` nel campo password.
+
+Per esempio:
+
+.. code::
+
+    title://div[@id="titrage-contenu"]/h1[@class="title"]
+    body: //div[@class="contenu-html"]/div[@class="page-pane"]
+
+    requires_login: yes
+
+    login_uri: http://www.arretsurimages.net/forum/login.php
+    login_username_field: username
+    login_password_field: password
+
+    not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/it/developer/testsuite.rst b/docs/it/developer/testsuite.rst
new file mode 100644 (file)
index 0000000..fdb7240
--- /dev/null
@@ -0,0 +1,6 @@
+Testsuite\r
+=========\r
+Per assicurare la qualità di sviluppo di wallabag, abbiamo scritto i test con `PHPUnit <https://phpunit.de>`_.\r
+Se contribuite al progetto (traducendo l'applicazione, risolvendo i bug o aggiungendo nuove funzioni), si prega di scrivere i propri test.\r
+\r
+Per avviare la testsuite di wallabag dovete installare `ant <http://ant.apache.org>`_. Poi, eseguite il comando ``make test``.
\ No newline at end of file
diff --git a/docs/it/developer/translate.rst b/docs/it/developer/translate.rst
new file mode 100644 (file)
index 0000000..c0b8e26
--- /dev/null
@@ -0,0 +1,55 @@
+Tradurre wallabag\r
+=================\r
+\r
+wallabag web app\r
+----------------\r
+\r
+File per la traduzione\r
+~~~~~~~~~~~~~~~~~~~~~~\r
+\r
+..  note::\r
+  \r
+     Visto che wallabag é principalmente sviluppato da un team francese, si prega di considerare che la traduzione francese é la più aggiornata, e si prega di copiarla e di creare la vostra propria traduzione.\r
+     \r
+Potete trovare qui i file per la traduzione:\r
+https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.\r
+\r
+Dovrete creare ``messages.CODE.yml`` e ``validators.CODE.yml``, dove CODE é il codice ISO 639-1 della vostra lingua (`guardate wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).\r
+\r
+Altri file da tradurre:\r
+\r
+- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.\r
+- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.\r
+\r
+Dovete creare i file ``THE_TRANSLATION_FILE.CODE.yml``.\r
+\r
+File di configurazione\r
+~~~~~~~~~~~~~~~~~~~~~~\r
+\r
+Dovete modificare `app/config/config.yml\r
+<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ per mostrare il vostro linguaggio nella pagina di configurazione di wallabag (per consentire agli utenti di passare a questa nuova traduzione).\r
+\r
+Nella sezione ``wallabag_core.languages``, dovete aggiungere una nuova linea con la vostra traduzione. Per esempio:\r
+\r
+::\r
+\r
+    wallabag_core:\r
+        ...\r
+        languages:\r
+            en: 'English'\r
+            fr: 'Français'\r
+\r
+Nella prima colonna (``en``, ``fr``, etc.), dovete aggiungere il codice ISO 639-1 della vostra lingua (vedete sopra).\r
+\r
+Nella seconda colonna, aggiungete solamente il nome della vostra lingua.\r
+\r
+documentazione di wallabag\r
+--------------------------\r
+\r
+.. note::\r
+    Contrariamente alla web app, il linguaggio principale per la documentazione é l'inglese.\r
+    \r
+I file della documentazione sono memorizzati qui: https://github.com/wallabag/wallabag/tree/master/docs\r
+\r
+Dovete rispettare la struttura della cartella ``en`` quando create la vostra traduzione.\r
+\r
diff --git a/docs/it/index.rst b/docs/it/index.rst
new file mode 100644 (file)
index 0000000..92896fb
--- /dev/null
@@ -0,0 +1,53 @@
+Documentazione di wallabag
+--------------------------
+
+.. image:: ../img/wallabag.png
+   :alt: wallabag logo
+   :align: center
+
+**wallabag** è un'applicazione read-it-later: salva una pagina web lasciando solamente il contenuto. Elementi come comandi di navigazione o pubblicità sono rimossi.
+
+La documentazione principale per quest'applicazione è organizzata in un paio di sezioni:
+
+* :ref:`user-docs`
+* :ref:`dev-docs`
+
+La documentazione è disponibile anche in altre lingue:
+
+* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
+* `Dokumentation in Deutsch <http://doc.wallabag.org/de/master/>`_
+* `Documentation in English <http://doc.wallabag.org/en/master/>`_
+
+.. _user-docs:
+
+.. toctree::
+   :maxdepth: 2
+   :caption: User documentation
+
+   user/installation
+   user/upgrade
+   user/configuration
+   user/import
+   user/create_account
+   user/articles
+   user/errors_during_fetching
+   user/filters
+   user/tags
+   user/configuring_mobile
+   user/android
+   user/parameters
+   user/backup
+   user/faq
+
+.. _dev-docs:
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Developer documentation
+
+   developer/api
+   developer/docker
+   developer/paywall
+   developer/documentation
+   developer/translate
+   developer/asynchronous
diff --git a/docs/it/requirements.txt b/docs/it/requirements.txt
new file mode 100644 (file)
index 0000000..06fc897
--- /dev/null
@@ -0,0 +1,2 @@
+Sphinx>=1.3.0,<1.4.0
+guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/it/user/android.rst b/docs/it/user/android.rst
new file mode 100644 (file)
index 0000000..a82bbef
--- /dev/null
@@ -0,0 +1,107 @@
+Applicazione Android
+====================
+
+Scopo di questo documento
+-------------------------
+
+Questo documento spiega come configurare la vostra applicazione Android in modo che funzioni con la vostra istanza di wallabag. Non vi é differenza in questa procedura sia per wallabag v1 che per v2.
+
+Passi per configurare la vostra app
+-----------------------------------
+
+Quando aprirete l'app per la prima volta, vedrete una schermata di benvenuto dove vi si consiglia per prima cosa di configurare l'app per la vostra istanza di wallabag.
+
+.. image:: ../../img/user/android_welcome_screen.en.png
+    :alt: Welcome screen
+    :align: center
+
+Confermate semplicemente quel messaggio e verrete reindirizzati alla schermata delle impostazioni.
+
+.. image:: ../../img/user/android_configuration_screen.en.png
+    :alt: Settings screen
+    :align: center
+
+Inserite i vostri dati di wallabag. Dovrete inserire il vostro indirizzo di wallabag. **É importante che questo URL non finisca con una barra**. Inserite anche le vostre credenziali nei campi user name e password.
+
+.. image:: ../../img/user/android_configuration_filled_in.en.png
+    :alt: Filled in settings
+    :align: center
+
+Dopo aver completato l'inserimento dei dati, premete il bottone Connection test e aspettate che il test finisca.
+
+.. image:: ../../img/user/android_configuration_connection_test.en.png
+    :alt: Connection test with your wallabag data
+    :align: center
+
+Il test di connessione dovrebbe finire con successo. In caso contrario, dovrete prima risolvere questo problema fino a che possiate procedere.
+
+.. image:: ../../img/user/android_configuration_connection_test_success.en.png
+    :alt: Connection test successful
+    :align: center
+
+Dopo che il test sará avvenuto con successo, potrete premere il bottone per ottenere le credenziali del vostro feed. L'app cercherá di connettersi alla vostra istanza di wallabag e ottenere l'id utente e il token corrispondente per i feed.
+
+.. image:: ../../img/user/android_configuration_get_feed_credentials.en.png
+    :alt: Getting the feed credentials
+    :align: center
+
+Quando il processo di ottenimento delle credenziali del vostro feed sará concluso con successo, vedrete un messaggio toast, il quale avviserá che l'id utente ed il token sono stati inseriti nel modulo.
+
+.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
+    :alt: Getting feed credentials successful
+    :align: center
+
+Ora dovrete scorrere fino alla fine del menu delle impostazioni. Ovviamente potrete cambiare le impostazioni in base alle vostre preferenze.
+Terminate la configurazione della vostra app premendo il bottone per il salvataggio.
+
+.. image:: ../../img/user/android_configuration_scroll_bottom.en.png
+    :alt: Bottom of the settings screen
+    :align: center
+
+Dopo aver premuto il bottone apparirá la seguente schermata. L'app proporrá di iniziare il processo di sincronizzazione per aggiornare i vostri feed ed articoli. É raccomandato accettare quest'azione e premere Sí.
+
+.. image:: ../../img/user/android_configuration_saved_feed_update.en.png
+    :alt: Settings saved the first time
+    :align: center
+
+Alla fine, dopo che la sincronizzazione sará avvenuta con successo, apparirá la lista degli articoli non letti.
+
+.. image:: ../../img/user/android_unread_feed_synced.en.png
+    :alt: Filled article list cause feeds successfully synchronized
+    :align: center
+
+Limiti conosciuti
+-----------------
+
+Autenticazione a due fattori (2FA)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Attualmente l'applicazione Android non supporta l'autenticazione a due fattori. Dovreste disabilitare questa opzione in modo da far funzionare l'applicazione.
+
+Quantitá limitata di articoli con wallabag v2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Nella vostra istanza web di wallabag potete configurare quanti oggetti sono parte del feed RSS. Questa opzione non esisteva in wallabag v1, dove tutti gli articoli erano parte del feed. Quindi se imposterete il numero di articoli da visualizzare maggiore del numero di oggetti che sono contenuti nel vostro feed RSS, vedrete solamente il numero di oggetti nel vostro feed RSS.
+
+Crittografia SSL/TLS
+~~~~~~~~~~~~~~~~~~~~
+
+Se potete raggiungere la vostra istanza web di wallabag via HTTPS, dovreste usare quest'ultimo, in particolar modo se il vostro URL HTTP vi reindirizza a quello HTTPS. Attualmente l'app non puó gestire propriamente il reindirizzamento.
+
+Riferimenti
+-----------
+
+- `Codice sorgente dell'applicazione Android <https://github.com/wallabag/android-app>`_
+- `Applicazione Android su F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
+- `Applicazione Android su Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/it/user/articles.rst b/docs/it/user/articles.rst
new file mode 100644 (file)
index 0000000..944b23e
--- /dev/null
@@ -0,0 +1,115 @@
+
+Articoli
+========
+
+Salvate il vostro primo articolo
+--------------------------------
+
+Il proposito principale di wallabag é di salvare articoli web, e potete farlo in molti modi. Se pensate che l'articolo sia mostrato in modo sbagliato, `potete leggere questa documentazione`_.
+
+Usando un bookmarklet
+^^^^^^^^^^^^^^^^^^^^^
+
+Nella pagina ``Howto`` avete una sezione ``Bookmarklet``. Trascinate il link ``bag it!`` sulla barra dei preferiti del vostro browser.
+
+
+Ora, ogni volta che leggiate un articolo sul web e vogliate salvarlo, cliccate sul link ``bag it!`` sulla vostra barra dei preferiti. L'articolo é salvato.
+
+Usando la maniera classica
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sulla barra in alto del vostro schermo avete 3 icone. Con la prima, un simbolo "piú", potrete salvare facilmente un articolo.
+
+.. image:: ../../img/user/topbar.png
+   :alt: Top bar
+   :align: center
+
+Cliccateci sopra per mostrare un nuovo campo, inserite in quest'ultimo la URL dell'articolo e premete il tasto ``Return``. L'articolo é salvato.
+
+Usando un add-on del browser
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Firefox
+"""""""
+
+Potete scaricare `qui l'addon per Firefox <https://addons.mozilla.org/firefox/addon/wallabag-v2/>`_.
+
+Chrome
+""""""
+
+Potete scaricare `qui l'addon per Chrome <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr>`_.
+
+Usando la vostra applicazione per smartphone
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Android
+"""""""
+
+Potete scaricare `qui l'applicazione per Android <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_.
+
+Windows Phone
+"""""""""""""
+
+Potete scaricare `qui l'applicazione per Windows Phone <https://www.microsoft.com/store/apps/9nblggh5x3p6>`_.
+
+Scaricate i vostri articoli
+---------------------------
+
+Potete scaricare ogni articolo in vari formati: ePUB, MOBI, PDF, XML, JSON, CSV.
+
+Sulla vista dell'articolo, cliccate su questa icona, nella barra laterale:
+
+.. image:: ../../img/user/download_article.png
+   :alt: download article
+   :align: center
+
+Potete anche scaricare una categoria completa di articoli (unread, starred, archive) in questi formati. Per esempio, nella vista **Unread**, cliccate su questa icona sulla barra superiore:
+
+.. image:: ../../img/user/download_articles.png
+   :alt: download articles
+   :align: center
+
+Condividete i vostri articoli
+-----------------------------
+
+Quando leggete un articolo, potete condividerlo. Cliccate semplicemente sul bottone di condivisione:
+
+.. image:: ../../img/user/share.png
+   :alt: share article
+   :align: center
+
+Ora potete condividere l'articolo:
+
+- attraverso una URL pubblica (avrete una vista semplificata dell'articolo)
+- attraverso un tweet
+- nel vostro Shaarli
+- attraverso un post su Diaspora*
+- su Carrot
+- attraverso un'email
+
+Annotate i vostri articoli
+--------------------------
+
+in ogni articolo che leggiate potete scrivere delle note. É piú facile da capire con delle immagini.
+
+Selezionate la parte dell'articolo che volete annotare e cliccate sulla matita:
+
+.. image:: ../../img/user/annotations_1.png
+   :alt: Select your text
+   :align: center
+
+Scrivete poi la vostra nota:
+
+.. image:: ../../img/user/annotations_2.png
+   :alt: Write your annotation
+   :align: center
+
+Il testo é ora sottolineato e potrete leggere la vostra nota muovendo il cursore su di esso.
+
+.. image:: ../../img/user/annotations_3.png
+   :alt: Read your annotation
+   :align: center
+
+Potete creare quante note vogliate.
+
+
diff --git a/docs/it/user/backup.rst b/docs/it/user/backup.rst
new file mode 100644 (file)
index 0000000..548c675
--- /dev/null
@@ -0,0 +1,30 @@
+Eseguire il backup di wallabag
+==============================
+
+Siccome a volte potreste commettere errori con il vostro wallabag e perdere i vostri dati, oppure in caso dobbiate spostare il vostro wallabag su un altro server, dovete fare un backup dei vostri dati.
+
+Impostazioni base
+-----------------
+
+wallabag memorizza alcuni parametri base (come il server SMTP o il backend del database) nel file `app/config/parameters.yml`.
+
+Database
+--------
+
+Per il fatto che wallabag supporta vari tipi di database, il modo di eseguire backup dipende dal database che stiate usando, quindi dovrete fare riferimento alla documentazione del venditore.
+
+Ecco alcuni esempi:
+
+- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
+- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
+
+SQLite
+~~~~~~
+
+Per eseguire il backup di un database SQLite, dovete semplicemente copiare la directory `data/db` dalla directory dell'applicazione wallabag.
+
+Immagini
+--------
+
+Le immagini recuperate da wallabag sono memorizzate in `web/assets/images` (la memoria delle immagini sará implementata in wallabag 2.2).
+
diff --git a/docs/it/user/configuration.rst b/docs/it/user/configuration.rst
new file mode 100644 (file)
index 0000000..fbc8687
--- /dev/null
@@ -0,0 +1,104 @@
+Configurazione
+==============
+
+Ora che siete acceduti, é ora di configurare il vostro account come volete.
+
+cliccate sul menu ``Configurazione``. Avrete cinque tab: ``Impostazioni``, ``RSS``, ``Informazioni utente``, ``Password`` e ``Regole di tagging``.
+
+Impostazioni
+------------
+
+Tema
+~~~~
+
+wallabag é personalizzabile. Potete scegliere il vostro tema preferito qui. Il tema di default é ``Material``, é il tema usato nelle immagini della documentazione.
+
+Oggetti per pagina
+~~~~~~~~~~~~~~~~~~
+
+Potete cambiare il numero di articoli mostrati su ogni pagina.
+
+Velocitá di lettura
+~~~~~~~~~~~~~~~~~~~
+
+wallabag calcola un tempo di lettura per ogni articolo. Potete definire qui, grazie a questa lista, se siete dei lettori lenti of veloci. wallabag ricalcolerá il tempo di lettura per ogni articolo.
+
+Lingua
+~~~~~~
+
+Potete cambiare la lingua dell'interfaccia di wallabag.
+
+RSS
+---
+
+wallabag offre feed RSS per ogni stato dell'articolo: non letto, preferito e archiviato.
+
+Per prima cosa dovete creare un token personale: cliccate su ``Crea il tuo token``. É possibile cambiare il proprio token cliccando su ``Rigenera il tuo token``.
+
+Ora avrete tre link, uno per ogni stato: aggiungeteli al vostro lettore RSS preferito.
+
+Potete anche definire quanti articoli volete nel vostro feed RSS (valore di default: 50)-
+
+Informazioni dell'utente
+------------------------
+
+Potete cambiare il vostro nome, il vostro indirizzo email e abilitare l'``Autenticazione a due fattori``.
+
+Autenticazione a due fattori (2FA)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+L'autenticazione a due fattori (conosciuta anche come 2FA) é una tecnologia brevettata nel 1984 che offre l'identificazione degli utenti tramite una combinazione di due componenti differenti.
+
+https://it.wikipedia.org/wiki/Autenticazione_a_due_fattori
+
+Se abilitate la 2FA, ogni volta che vogliate accedere a wallabag, riceverete un codice via email. Dovrete inserire il codice nel seguente modulo.
+
+.. image:: ../../img/user/2FA_form.png
+    :alt: Two factor authentication
+    :align: center
+
+Se non volete ricevere il codice ogni volta che vogliate accedere, potete spuntare la casella ``I'm on a trusted computer``: wallabag vi ricorderá per 15 giorni.
+
+Password
+--------
+
+Qui potete cambiare la password (minimo 8 caratteri)
+
+Regole di tagging
+-----------------
+
+Se volete assegnare un tag ai nuovi articoli, questa parte della configurazione fa per voi.
+
+Cosa significa « regole di tagging » ?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sono regole usate da wallabag per etichettare i nuovi articoli. Ogni volta che un nuovo articolo viene aggiunto, verranno usate tutte le regole di tagging per aggiungere le etichette che avete configurato, risparmiandovi quindi il lavoro di classificare manualmente i vostri articoli.
+
+Come le uso?
+~~~~~~~~~~~~
+
+Immaginiamo che vogliate taggare un contenuto come *« lettura corta »* quando il tempo di lettura è inferiore ai 3 minuti. In questo caso, dovreste mettere « readingTime <= 3 » nel campo **Regola**
+e *« lettura corta »* nel campo **Tag**. Molte etichette possono essere aggiunte simultaneamente separandole con una virgola: *« lettura corta, da leggere »*. 
+Si possono scrivere regole complesse usando gli operatori predefiniti:
+se *« readingTime >= 5 AND domainName = "github.com" »* allora etichetta come *« lettura lunga, github »*.
+
+Quali variabili ed operatori posso usare per scrivere le regole?
+
+I seguenti operatori e variabili possono essere usati per creare regole di tagging (attenzione, per alcuni valori, dovete aggiungere le virgolette, per esempio ``language = "en"``):
+
+===========  ==============================================  ========= ===========
+Variabile    Significato                                     Operatore Significato
+-----------  ----------------------------------------------  --------- -----------
+title        Titolo dell'articolo                            <=        Minore di…
+url          URL dell'articolo                               <         Strettamente minore di…
+isArchived   Se l'articolo é archiviato o no                 =>        Maggiore di…
+isStarred    Se l'articolo é preferito o no                  >         Strettamente maggiore di…
+content      Il contenuto dell'articolo                      =         Uguale a…
+language     La lingua dell'aritcolo                         !=        Diverso da…
+mimetype     The entry's mime-type                           OR        Una regola o l'altra
+readingTime  Il tempo di lettura dell'articolo stimato       AND       Una regola e l'altra
+domainName   Il nome del dominio dell'articolo               matches   Vede se un soggetto corrisponde alla ricerca (indipendentemente dal maiuscolo o minuscolo). Esempio: titolo corrisponde a "football"
+===========  ==============================================  ========  ==========
+
+
+
diff --git a/docs/it/user/configuring_mobile.rst b/docs/it/user/configuring_mobile.rst
new file mode 100644 (file)
index 0000000..f0ea54f
--- /dev/null
@@ -0,0 +1,12 @@
+Configurare le app mobili in modo che funzionino con wallabag
+=============================================================
+
+Passi per configurare l'app
+---------------------------
+
+- Per prima cosa *create un nuovo client* nella sezione ``API clients management``. Il nome della vostra app non importa quanto il ``Client ID`` ed il ``Client secret``. Segnatevi questi due valori.
+- Quando scaricate un'app mobile, questa chiederà l'indirizzo del server dell'istanza di wallabag ospitata. Per esempio, con wallabag.it questo è: ``https://app.wallabag.it``.
+- Chiederà anche i sopracitati ``Client ID`` e ``secret``. Si prega di inserirli nei campi di testo, quando richiesto.
+- Infine dovrete fornire il vostro ``username`` e la vostra ``password``. Queste sono le stesse credenziali che usate per fare il login in wallabag.
+
+Si prega anche di guardare la pagina `Android <android.html>`_. Specialmente la sezione *Limiti conosciuti*.
diff --git a/docs/it/user/create_account.rst b/docs/it/user/create_account.rst
new file mode 100644 (file)
index 0000000..c569962
--- /dev/null
@@ -0,0 +1,38 @@
+Creazione di un account e autenticazione
+========================================
+
+Registrazione
+-------------
+
+Sulla pagina di login, cliccate sul bottone ``Register``
+
+.. image:: ../../img/user/registration_form.png
+   :alt: Registration form
+   :align: center
+
+Dovrete completare il modulo. Assicuratevi di inserire un indirizzo email valido, quindi vi invieremo un'email di attivazione.
+
+.. image:: ../../img/user/sent_email.png
+   :alt: Email was sent to activate account
+   :align: center
+
+Controllate la vostra casella, in cui avrete una nuova mail con un link che assomiglia a questo ``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``. Cliccateci sopra per attivare il vostro account.
+
+Il vostro account é ora attivo
+
+.. image:: ../../img/user/activated_account.png
+   :alt: Welcome on board!
+   :align: center
+
+Login
+-----
+
+Il vostro account é ora abilitato, congratulazioni!
+
+Se siete sul vostro computer personale e volete restare connessi, spuntate la casella ``Keep me logged in``: wallabag vi ricorderá per un anno.
+
+.. image:: ../../img/user/login_form.png
+   :alt: Login form
+   :align: center
+
+
diff --git a/docs/it/user/errors_during_fetching.rst b/docs/it/user/errors_during_fetching.rst
new file mode 100644 (file)
index 0000000..d92b83d
--- /dev/null
@@ -0,0 +1,37 @@
+
+Errori durante l'ottenimento degli articoli
+===========================================
+
+Perché l'ottenimento di un articolo fallisce?
+---------------------------------------------
+
+Ci possono essere varie ragioni:
+
+- problema del network
+- wallabag non può ottenere il contenuto a causa della struttura del sito web
+
+Potete provare a risolvere il problema da soli ( in modo che noi possiamo concentrarci nel migliorare wallabag internamente invece di scrivere siteconfig
+:) ).
+
+Potete provare a vedere se funziona qui: `http://f43.me/feed/test <http://f43.me/feed/test>`_ (usa quasi lo stesso sistema per ottenere contenuto).
+
+Se funziona lì e non su wallabag, significa che c'è qualcosa all'interno di wallabag che causa il malfunzionamento del parser (difficile da aggiustare: si prega di riportare il problema).
+
+Se non funziona, provate a estrarre un site config usando: `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (seleziona quale parte del contenuto é effettivamente contenuto). Potete `leggere prima questa documentazione <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
+
+Potete testarlo sul sito **f43.m3**: cliccate su **Want to try a custom siteconfig?** e inseritvi il file generato in and put the generated file from siteconfig.fivefilters.org.
+
+Ripetete finché non avrete qualcosa di buono.
+
+Potete poi inviare una pull request a `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_ il quale é il repository ufficiale per i file siteconfig.
+
+Come posso provare a riottenere questo articolo?
+------------------------------------------------
+
+Se wallabag ha fallito a ottenere l'articolo, potete cliccare sul bottone di ricaricamento (il terzo bottone nella figura sottostante).
+
+.. image:: ../../img/user/refetch.png
+   :alt: Refetch content
+   :align: center
+
+
diff --git a/docs/it/user/faq.rst b/docs/it/user/faq.rst
new file mode 100644 (file)
index 0000000..decdfab
--- /dev/null
@@ -0,0 +1,53 @@
+Domande frequenti
+=================
+
+Durante l'installazione ho riscontrato l'errore ``Error Output: sh: 1: @post-cmd: not found``
+---------------------------------------------------------------------------------------------
+
+Sembra che ci sia un problema con la vostra installazione di ``composer``. Provate a disinstallarlo e reinstallarlo.
+
+`Leggete la documentazione su composer per sapere come installarlo
+<https://getcomposer.org/doc/00-intro.md>`__.
+
+Non riesco a convalidare il modulo di registrazione
+---------------------------------------------------
+
+Assicuratevi che tutti i campi siano riempiti correttamente:
+
+* indirizzo email valido
+* stessa password nei due campi
+
+Non riesco a ricevere la mia mail di attivazione
+------------------------------------------------
+
+Siete sicuri che il vostro indirizzo email sia corretto? avete controllato la cartella di spam?
+
+Se ancora non vedete la mail di attivazione, assicuratevi di aver installato e configurato a dovere un mail transfer agent. Assicuratevi di includere una regola del firewall per SMTP. Per esempio, se usate firewalld:
+
+::
+
+    firewall-cmd --permanent --add-service=smtp
+    firewall-cmd --reload
+
+Infine, se avete SELinux abilitato, impostate la seguente regola:
+
+``setsebool -P httpd_can_sendmail 1``
+
+Quando clicco il link di attivazione, mi appare questo messaggio: ``L'utente con token di conferma "DtrOPfbQeVkWf6N" non esiste``.
+----------------------------------------------------------------------------------------------------------------------------------
+
+Avete giá attivato il vostro account oppure l'URL dell'email di attivazione é sbagliato.
+
+Ho dimenticato la mia password
+------------------------------
+
+Potete ripristinare la password cliccando il link``Hai dimenticato la password?``, nella pagina di login. Quindi, riempite il modulo con la vostra email o il vostro username e riceverete un'email per ripristinare la vostra password.
+
+Ho riscontrato l'errore ``failed to load external entity`` cercando di installare wallabag
+------------------------------------------------------------------------------------------
+
+Come descritto `qui <https://github.com/wallabag/wallabag/issues/2529>`_, modificate il vostro file ``web/app.php`` ed aggiungete questa linea: ``libxml_disable_entity_loader(false);`` sulla linea 5. 
+
+Questo é un bug di Doctrine / PHP, non possiamo farci nulla.
+
+
diff --git a/docs/it/user/filters.rst b/docs/it/user/filters.rst
new file mode 100644 (file)
index 0000000..105cb1d
--- /dev/null
@@ -0,0 +1,45 @@
+Trovate i vostri articoli grazie ai filtri
+------------------------------------------
+
+Per trovare facilmente gli articoli, potete usare i filtri.
+
+.. image:: ../../img/user/topbar.png
+   :alt: Top bar
+   :align: center
+
+Tutti questi filtri possono essere combinati.
+
+.. image:: ../../img/user/filters.png
+   :alt: Combine all filters
+   :align: center
+
+Stato
+-----
+
+Usate queste caselle per trovare articoli archiviati o preferiti.
+
+Immagine di anteprima
+---------------------
+
+Selezionate questo filtro se volete trovare articoli con un'immagine di anteprima.
+
+Lingua
+------
+
+wallabag (attraverso graby) puó individuare la lingua di un articolo. É facile per voi trovare articoli scritti in una lingua specifica.
+
+Tempo di lettura
+----------------
+
+wallabag stima quanto tempo é necessario per leggere un articolo. Con questo filtro potete, per esempio, trovare articoli con un tempo di lettura compreso fra 2 e 5 minuti.
+
+Nome di dominio
+---------------
+
+Grazie a questo filtro potete trovare articoli dallo stesso nome di dominio. Per esempio, scrivete in questo campo ``bbc.co.uk`` per trovare gli articoli di questo sito.
+
+Data di creazione
+-----------------
+
+Quando salvate un articolo, wallabag memorizza la data corrente. ció é comodo, per esempio, per trovare articoli salvati tra il primo ed il 31 di Gennaio.
+
diff --git a/docs/it/user/import.rst b/docs/it/user/import.rst
new file mode 100644 (file)
index 0000000..c249acf
--- /dev/null
@@ -0,0 +1,115 @@
+Migrare da...
+=============
+
+In wallabag 2.x, potete importare dati da:
+
+- `Pocket <#id1>`_
+- `Readability <#id2>`_
+- `Instapaper <#id4>`_
+- `wallabag 1.x <#id6>`_
+- `wallabag 2.x <#id7>`_
+
+Abbiamo anche sviluppato `uno script per eseguire migrazioni tramite la linea di comando <#import-via-command-line-interface-cli>`_.
+
+Poiché le importazioni possono richiedere molto tempo, abbiamo sviluppato un sistema di compiti asincroni. *inserisci qui link una volta tradotto articolo su asynchronous*
+
+Pocket
+------
+
+Creare una nuova applicazione su Pocket
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Per importare dati da Pocket usiamo l'API di Pocket. Dovete creare una nuova applicazione sul loro sito per sviluppatori per continuare.
+
+* Create una nuova applicazione `sul sito  per sviluppatori <https://getpocket.com/developer/apps/new>`_
+* Riempite i campi richiesti: nome dell'applicazione, descrizione dell'applicazione, permessi (solo **retrieve**), piattaforma (**web**), accettate i termini di servizio ed inviate la vostra nuova applicazione
+
+Pocket vi dará una **Consumer Key** (per esempio, `49961-985e4b92fe21fe4c78d682c1`). Dovete configurare la ``pocket_consumer_key`` dal menu ``Config``.
+
+Ora é tutto pronto per migrare da Pocket.
+
+Importate i vostri dati su wallabag 2.x
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Cliccate sul link `Importa` nel menu, su `Importa contenuti` nella sezione Pocket e poi su ``Connetti a Pocket ed importa i dati``
+
+Dovete autorizzare wallabag a interagire con il vostro account Pocket.
+I vostri dati saranno importati. L'importazione di dati puó essere un processo esigente per il vostro server.
+
+Instapaper
+----------
+
+Esportate i vostri dati di Instapaper
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Sulla pagina delle impostazioni (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), cliccate su "Download .CSV file" nella sezione "Export". Verrá scaricato un file CSV (like ``instapaper-export.csv``).
+
+Importate i vostri dati in wallabag 2.x
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Cliccate sul link `Importa` sul menu, poi su `Importa contenuti` nella sezione di Instapaper, quindi selezionate il vostro file CSV e caricatelo.
+
+I vostri dati saranno importati. L'importazione di dati puó essere un'operazione esigente per il server.
+
+wallabag 1.x
+------------
+
+Se state usando wallabag 1.x, dovete esportare i dati prima di migrare a wallabag 2.x, poiché l'applicazione ed il suo database sono cambiati molto. Potete esportare i vostri dati dalla vostra vecchia installazione di wallabag sulla pagina Config di questa.
+
+.. image:: ../../img/user/export_v1.png
+   :alt: Exporting from wallabag v1
+   :align: center
+
+.. nota::
+    Se avete account multipli nella stessa istanza di wallabag, ogni utente dovrá esportare da v1 ed importare su v2.
+
+.. nota::
+    Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <https://www.wallabag.org/pages/support.html>`__.
+
+Quando avrete ottenuto il file json contenente i vostri articoli, potrete installare wallabag v2 seguendo, se necessario, `la procedura standard *link mancante*.
+
+Dopo aver creato un account utente sulla vostra nuova istanza di wallabag v2, dovete andare alla sezione `Importa` e selezionare `Importa da wallabag v1`. Selezionate il vostro file json e caricatelo.
+
+.. image:: ../../img/user/import_wallabagv1.png
+   :alt: Import from wallabag v1
+   :align: center
+
+wallabag 2.x
+------------
+
+Dalla istanza di wallabag precedente sulla quale eravate prima, andate su `Tutti gli articoli`, poi esportate questi articoli come json.
+
+.. image:: ../../img/user/export_v2.png
+   :alt: Export depuis wallabag v2
+   :align: center
+
+Dalla vostra nuova istanza di wallabag, create un account utente e cliccate sul link nel menu per procedere all'importazione. Scegliete di importare da wallabag v2 e selezionate il vostro file json per caricarlo.
+
+.. nota::
+    Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <https://www.wallabag.org/pages/support.html>`__.
+
+Importate dall'interfaccia a riga di comando (CLI)
+--------------------------------------------------
+
+Se avete un accesso CLI al vostro server web, potete eseguire questo comando per importare ció che avete esportato da wallabag v1:
+
+::
+
+    bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
+
+Rimpiazzate i valori:
+
+* ``1`` é l'identificatore utente nel database (l'ID del primo utente creato su wallabag é 1)
+* ``~/Downloads/wallabag-export-1-2016-04-05.json`` é il percorso del file esportato da wallabag v1
+
+Se volete segnare tutti questi articoli come giá letti, potete aggiungere l'opzione ``--markAsRead``.
+Per importare un file di wallabag v2, dovete aggiungere l'opzione ``--importer=v2``.
+
+Come risultato avrete questo messaggio:
+
+::
+
+    Start : 05-04-2016 11:36:07 ---
+    403 imported
+    0 already saved
+    End : 05-04-2016 11:36:09 ---
diff --git a/docs/it/user/installation.rst b/docs/it/user/installation.rst
new file mode 100644 (file)
index 0000000..cd6ebbe
--- /dev/null
@@ -0,0 +1,333 @@
+
+
+Installa wallabag
+=================
+
+Requisiti
+---------
+wallabag é compatibile con PHP >= 5.5, incluso PHP 7.
+
+.. nota::
+
+  Per installare facilmente wallabag vi forniamo un Makefile, dunque avrete bisogno dello strumento make.
+
+wallabag utilizza un gran numero di librerie PHP per funzionare. Queste librerie vanno installate tramite uno strumento chiamato Composer. Dovete installarlo se non lo avete giá fatto e assicuratevi di usare la versione 1.2 ( se giá avete Composer, esegui il comando composer selfupdate).
+
+Installa Composer:
+
+::
+    curl -s http://getcomposer.org/installer | php
+
+`Qui <https://getcomposer.org/doc/00-intro.md>`__ puoi trovare istruzioni specifiche.
+
+Per far funzionare wallabag avrete anche bisogno delle seguenti estensioni. Alcune di queste dovrebbero essere giá attive nella vostra versione di PHP, per cui potrebbe non essere necessario installare tutti i pacchetti corrispondenti.
+
+- php-session
+- php-ctype
+- php-dom
+- php-hash
+- php-simplexml
+- php-json
+- php-gd
+- php-mbstring
+- php-xml
+- php-tidy
+- php-iconv
+- php-curl
+- php-gettext
+- php-tokenizer
+- php-bcmath
+
+wallabag usa PDO per connettersi, per cui avrete bisogno di uno dei seguenti:
+
+-pdo_mysql
+-pdo_sqlite
+-pdo_pgsql
+
+E il corrispondente database server.
+
+Installazione
+-------------
+
+Su un web server dedicato (raccomandato)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Per installare wallabag stesso dovete eseguire i seguenti comandi:
+
+::
+
+    git clone https://github.com/wallabag/wallabag.git
+    cd wallabag && make install
+
+Per attivare il server incorporato di PHP e verificare che l’installazione sia andata a buon fine potete eseguire:
+
+::
+
+    make run
+
+E accedere a wallabag all’indirizzo http://ipdeltuoserver:8000
+
+.. consiglio::
+
+   Per definire i parametri con variabili d’ambiente é necessario impostare queste ultime con il prefisso ``SYMFONY_``. Per esempio, ``SYMFONY__DATABASE_DRIVER``. Puoi guardare la `documentazione di Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ per maggiori informazioni.
+
+A proposito di hosting condiviso
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Offriamo un pacchetto con tutte le dipendenze incluse. La configurazione di default usa SQLite per il database. Se volete cambiare queste impostazioni, modificate app/config/parameters.yml.
+
+Abbiamo giá creato un utente: il login e la password sono wallabag.
+
+.. attenzione:
+
+  Con questo pacchetto, wallabag non controlla le estensioni obbligatorie usate nell’applicazione (questi controlli sono fatti durante ``composer install`` quando hai un server web dedicato, vedi sopra).
+
+Eseguite questo comando per scaricare ed estrarre il pacchetto piú aggiornato:
+
+.. code-block:: bash
+
+   wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
+
+Troverete il `hash md5 del pacchetto piú aggiornato sul nostro sito <https://www.wallabag.org/pages/download-wallabag.html>`_.
+
+Ora leggete la seguente documentazione per creare il vostro host virtuale poi accedete al vostro wallabag. Se avete cambiato la configurazione del database per usare MySQL o PostrgreSQL, dovrete creare un utente con il comando php bin/console wallabag:install --env=prod .
+
+Installazione con Docker
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Offriamo un’immagine Docker per installare wallabag facilmente. Guarda la nostra repository su `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__  per maggiori informazioni.
+
+Comando per avviare il container
+
+.. code-block:: bash
+
+   docker pull wallabag/wallabag
+
+
+Host virtuali
+-------------
+
+Configurazione su Apache
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Assumendo che voi abbiate installato wallabag nella cartella ``/var/www/wallabag`` e che vogliate usare PHP come un modulo Apache, ecco un vhost per l’applicazione:
+
+::
+
+    <VirtualHost *:80>
+        ServerName domain.tld
+        ServerAlias www.domain.tld
+
+        DocumentRoot /var/www/wallabag/web
+        <Directory /var/www/wallabag/web>
+            AllowOverride None
+            Order Allow,Deny
+            Allow from All
+
+            <IfModule mod_rewrite.c>
+                Options -MultiViews
+                RewriteEngine On
+                RewriteCond %{REQUEST_FILENAME} !-f
+                RewriteRule ^(.*)$ app.php [QSA,L]
+            </IfModule>
+        </Directory>
+
+        # uncomment the following lines if you install assets as symlinks
+        # or run into problems when compiling LESS/Sass/CoffeScript assets
+        # <Directory /var/www/wallabag>
+        #     Options FollowSymlinks
+        # </Directory>
+
+        # optionally disable the RewriteEngine for the asset directories
+        # which will allow apache to simply reply with a 404 when files are
+        # not found instead of passing the request into the full symfony stack
+        <Directory /var/www/wallabag/web/bundles>
+            <IfModule mod_rewrite.c>
+                RewriteEngine Off
+            </IfModule>
+        </Directory>
+        ErrorLog /var/log/apache2/wallabag_error.log
+        CustomLog /var/log/apache2/wallabag_access.log combined
+    </VirtualHost>
+
+Dopo aver riavviato o ricaricato Apache dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
+
+Configurazione su Nginx
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Assumendo che abbiate installato wallabag nella cartella ``/var/www/wallabag``, ecco una ricetta per l’applicazione:
+
+::
+
+    server {
+        server_name domain.tld www.domain.tld;
+        root /var/www/wallabag/web;
+
+        location / {
+            # try to serve file directly, fallback to app.php
+            try_files $uri /app.php$is_args$args;
+        }
+        location ~ ^/app\.php(/|$) {
+            fastcgi_pass unix:/var/run/php5-fpm.sock;
+            fastcgi_split_path_info ^(.+\.php)(/.*)$;
+            include fastcgi_params;
+            # When you are using symlinks to link the document root to the
+            # current version of your application, you should pass the real
+            # application path instead of the path to the symlink to PHP
+            # FPM.
+            # Otherwise, PHP's OPcache may not properly detect changes to
+            # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
+            # for more information).
+            fastcgi_param  SCRIPT_FILENAME  $realpath_root$fastcgi_script_name;
+            fastcgi_param DOCUMENT_ROOT $realpath_root;
+            # Prevents URIs that include the front controller. This will 404:
+            # http://domain.tld/app.php/some-path
+            # Remove the internal directive to allow URIs like this
+            internal;
+        }
+
+        # return 404 for all other php files not matching the front controller
+        # this prevents access to other php files you don't want to be accessible.
+        location ~ \.php$ {
+            return 404;
+        }
+
+        error_log /var/log/nginx/wallabag_error.log;
+        access_log /var/log/nginx/wallabag_access.log;
+    }
+
+
+Dopo aver riavviato o ricaricato Nginx dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
+
+Configurazione su lighttpd
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Assumendo che abbiate installato wallabag nella cartella /var/www/wallabag, ecco una ricetta per l’applicazione (modificate il vostro file lighttpd.conf e incollatevi questa configurazione):
+
+::
+
+    server.modules = (
+        "mod_fastcgi",
+        "mod_access",
+        "mod_alias",
+        "mod_compress",
+        "mod_redirect",
+        "mod_rewrite",
+    )
+    server.document-root = "/var/www/wallabag/web"
+    server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
+    server.errorlog = "/var/log/lighttpd/error.log"
+    server.pid-file = "/var/run/lighttpd.pid"
+    server.username = "www-data"
+    server.groupname = "www-data"
+    server.port = 80
+    server.follow-symlink = "enable"
+    index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
+    url.access-deny = ( "~", ".inc" )
+    static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
+    compress.cache-dir = "/var/cache/lighttpd/compress/"
+    compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
+    include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
+    include_shell "/usr/share/lighttpd/create-mime.assign.pl"
+    include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
+    dir-listing.activate = "disable"
+
+    url.rewrite-if-not-file = (
+        "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
+        "^/([^?]*)" => "/app.php?=$1",
+    )
+
+
+Diritti di accesso alle cartelle del progetto
+---------------------------------------------
+
+Ambiente di test
+~~~~~~~~~~~~~~~~
+
+Quando vorremo solamente testare wallabag, eseguiremo il comando ``make run`` per avviare la nostra istanza di wallabag e tutto funzionerá correttamente poiché l’utente che ha iniziato il progetto puó accedere alla cartella corrente senza problemi.
+
+Ambiente di produzione
+~~~~~~~~~~~~~~~~~~~~~~
+
+Non appena useremo Apache o Nginx per accedere alla nostra istanza di wallabag, e non avviandola con il comando ``make run``, dovremo aver cura di concedere i giusti diritti sulle giuste cartelle per far rimanere sicure tutte le cartelle del progetto.
+
+Per fare ció, il nome della cartella, conosciuta come ``DocumentRoot`` (per Apache) o ``root`` (per Nginx), deve essere assolutamente accessibile all’utente Apache/Nginx. Il suo nome è generalmente ``www-data``, ``apache`` o ``nobody`` (dipendendo dal sistema Linux utilizzato).
+
+Quindi la cartella ``/var/www/wallabag/web`` deve essere accessibile da quest’ultimo. Questo tuttavia potrebbe non essere sufficiente se solo ci importa di questa cartella poiché potremmo incontrare una pagina bianca o un errore 500 quando cerchiamo di accedere alla homepage del progetto.
+
+Questo é dato dal fatto che dovremo concedere gli stessi diritti di accesso di ``/var/www/wallabag/web``  alla cartella ``/var/www/wallabag/var`` . Risolveremo quindi il problema con il seguente comando:
+
+.. code-block:: bash
+
+   chown -R www-data:www-data /var/www/wallabag/var
+
+
+Deve essere tutto uguale per le seguenti cartelle:
+
+* /var/www/wallabag/bin/
+* /var/www/wallabag/app/config/
+* /var/www/wallabag/vendor/
+* /var/www/wallabag/data/
+
+inserendo
+
+.. code-block:: bash
+
+   chown -R www-data:www-data /var/www/wallabag/bin
+   chown -R www-data:www-data /var/www/wallabag/app/config
+   chown -R www-data:www-data /var/www/wallabag/vendor
+   chown -R www-data:www-data /var/www/wallabag/data/
+
+Altrimenti prima o poi incontreremo questi messaggi di errore:
+
+.. code-block:: bash
+
+    Unable to write to the "bin" directory.
+    file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
+    file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
+
+Regole aggiuntive per SELinux
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+se SELinux é abilitato sul vostro sistema, dovrete configurare contesti aggiuntivi in modo che wallabag funzioni correttamente. Per controllare se SELinux é abilitato, semplicemente inserisci ció che segue:
+
+``getenforce``
+
+Questo mostrerá ``Enforcing`` se SELinux é abilitato. Creare un nuovo contesto coinvolge la seguente sintassi:
+
+``semanage fcontext -a -t <context type> <full path>``
+
+Per esempio:
+
+``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
+
+Questo applicherá ricorsivamente il constesto httpd_sys_content_t alla cartella wallabag e a tutti i file e cartelle sottostanti. Sono necessarie le seguenti regole:
+
++-----------------------------------+----------------------------+
+| Percorso completo                 | Contesto                   |
++===================================+============================+
+| /var/www/wallabag(/.*)?           | ``httpd_sys_content_t``    |
++-----------------------------------+----------------------------+
+| /var/www/wallabag/data(/.*)?      | ``httpd_sys_rw_content_t`` |
++-----------------------------------+----------------------------+
+| /var/www/wallabag/var/logs(/.*)?  | ``httpd_log_t``            |
++-----------------------------------+----------------------------+
+| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t``          |
++-----------------------------------+----------------------------+
+
+Dopo aver creato questi contesti, inserite ció che segue per applicare le vostre regole:
+
+``restorecon -R -v /var/www/wallabag``
+
+Potrete controllare i contesti in una cartella scrivendo ``ls -lZ`` e potrete vedere tutte le regole correnti con ``semanage fcontext -l -C``.
+
+Se state installando il pacchetto latest-v2-package, é necessaria un'ulteriore regola durante la configurazione iniziale:
+
+``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
+
+Dopo che siate acceduti con successo al vostro wallabag e abbiate completato la configurazione iniziale, questo contesto puó essere rimosso:
+
+::
+
+    semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
+    retorecon -R -v /var/www/wallabag/var
diff --git a/docs/it/user/parameters.rst b/docs/it/user/parameters.rst
new file mode 100644 (file)
index 0000000..da9555e
--- /dev/null
@@ -0,0 +1,93 @@
+Qual'é il significato dei parametri?
+====================================
+
+File `parameters.yml` di default
+--------------------------------
+
+Ecco l'ultima versione del file `app/config/parameters.yml` di default. Assicuratevi che la vostra rispetti questa.
+Se non sapete quale parametro dovete impostare, si prega di lasciare quello di default.
+
+.. code-block:: yml
+
+    parameters:
+        database_driver: pdo_sqlite
+        database_host: 127.0.0.1
+        database_port: null
+        database_name: symfony
+        database_user: root
+        database_password: null
+        database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
+        database_table_prefix: wallabag_
+        database_socket: null
+        mailer_transport: smtp
+        mailer_host: 127.0.0.1
+        mailer_user: null
+        mailer_password: null
+        locale: en
+        secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
+        twofactor_auth: true
+        twofactor_sender: no-reply@wallabag.org
+        fosuser_registration: true
+        fosuser_confirmation: true
+        from_email: no-reply@wallabag.org
+        rss_limit: 50
+        rabbitmq_host: localhost
+        rabbitmq_port: 5672
+        rabbitmq_user: guest
+        rabbitmq_password: guest
+        redis_scheme: tcp
+        redis_host: localhost
+        redis_port: 6379
+        redis_path: null
+
+Significato di ogni parametro
+-----------------------------
+
+.. csv-table:: Parametri del database
+   :header: "nome", "default", "descrizione"
+
+   "database_driver", "pdo_sqlite", "Dovrebbe essere pdo_sqlite o pdo_mysql o pdo_pgsql"
+   "database_host", "127.0.0.1", "Host del vostro database (generalmente localhost o 127.0.0.1)"
+   "database_port", "~", "Porta del vostro database (potete lasciare ``~`` per usare quella di default)"
+   "database_name", "symfony", "Nome del vostro database"
+   "database_user", "root", "L'utente che puó scrivere su questo database"
+   "database_password", "~", "Password di quell'utente"
+   "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Solo per SQLite, definite dove mettere il file del database. Lasciatelo vuoto se usate un altro database"
+   "database_table_prefix", "wallabag_", "Tutte le tavole di wallabag avranno quella stringa come prefisso. Potete includere un ``_`` per maggior chiarezza"
+   "database_socket", "null", "Se il vostro database usa un socket al posto di tcp, inserite il percorso del socket (altri parametri di connessione saranno ignorati)"
+
+.. csv-table:: Configurazione per inviare email da wallabag
+   :header: "nome", "default", "descrizione"
+
+   "mailer_transport", "smtp",  "Il metodo di trasporto esatto usato per consegnare email. Valori validi sono: smtp, gmail, mail, sendmail, null (ció disattiva il mailer)"
+   "mailer_host", "127.0.0.1",  "L'host al quale connettersi quando si usa smtp come metodo di trasporto."
+   "mailer_user", "~",  "Lo username quando si usa smtp come metodo di trasporto."
+   "mailer_password", "~",  "La password quando si usa smtp come metodo di trasporto."
+
+.. csv-table:: Altre opzioni di wallabag
+   :header: "nome", "default", "descrizione"
+
+   "locale", "en", "Lingua di default della vostra istanza di wallabag (come en, fr, es, etc.)"
+   "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Questa é una stringa che dovrebbe essere unica per la vostra applicazione ed é usata comunemente per aggiungere piú entropia alle operazioni di sicurezza."
+   "twofactor_auth", "true", "true per abilitare l'autenticazione a due fattori"
+   "twofactor_sender", "no-reply@wallabag.org", "Email del mittente per ricevere il codice a due fattori"
+   "fosuser_registration", "true", "true per abilitare la registrazione pubblica"
+   "fosuser_confirmation", "true", "true per inviare una mail di conferma per ogni registrazione"
+   "from_email", "no-reply@wallabag.org", "Indirizzo email usato nel campo Da: in ogni email"
+   "rss_limit", "50", "Limite per i feed RSS"
+
+.. csv-table:: Configurazione di RabbitMQ
+   :header: "nome", "default", "descrizione"
+
+   "rabbitmq_host", "localhost", "Host del vostro RabbitMQ"
+   "rabbitmq_port", "5672", "Porta del vostro RabbitMQ"
+   "rabbitmq_user", "guest", "Utente che puó leggere le code"
+   "rabbitmq_password", "guest", "Password di quell'utente"
+
+.. csv-table:: Configurazione di Redis
+   :header: "nome", "default", "descrizione"
+
+   "redis_scheme", "tcp", "Specifica il protocollo da usare per comunicare con una istanza di Redis. Valori validi sono: tcp, unix, http"
+   "redis_host", "localhost", "IP o hostname del server bersaglio (ignorato per lo schema unix)"
+   "redis_port", "6379", "Porta TCP/IP del server bersaglio (ignorato per lo schema unix)"
+   "redis_path", "null", "Percorso del file domain socket di UNIX usato quando ci si connette a Redis usando domain socket di UNIX"
diff --git a/docs/it/user/upgrade.rst b/docs/it/user/upgrade.rst
new file mode 100644 (file)
index 0000000..8612222
--- /dev/null
@@ -0,0 +1,102 @@
+Aggiornate la vostra installazione di wallabag
+==============================================
+
+Troverete qui i differenti modi per aggiornare il vostro wallabag:
+
+- `da 2.0.x a 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
+- `da 2.1.x a 2.1.y <#upgrading-from-2-1-x-to-2-1-y>`_
+- `da 1.x a 2.x <#from-wallabag-1-x>`_
+
+Aggiornate da 2.0.x a 2.1.1
+---------------------------
+
+.. attenzione::
+
+    prima di questa migrazione, se avete configurato l'importazione di Pocket aggiungendo la vostra consumer key nelle Impostazioni interne, si prega di farne un backup: dovrete aggiungere questa nella pagina di configurazione dopo l'aggiornamento.
+
+Aggiornamento su un web server dedicato
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+:
+
+    rm -rf var/cache/*
+    git fetch origin
+    git fetch --tags
+    git checkout 2.1.1 --force
+    SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
+    php bin/console doctrine:migrations:migrate --env=prod
+    php bin/console cache:clear --env=prod
+
+Aggiornamento su un hosting condiviso
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Fate un backup del file ``app/config/parameters.yml``.
+Scaricate la versione 2.1.1 di wallabag:
+
+.. code-block:: bash
+
+    wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
+
+(hash md5 del pacchetto 2.1.1: ``9584a3b60a2b2a4de87f536548caac93``)
+
+Estraete l'archivio nella vostra cartella di wallabag e sostituite ``app/config/parameters.yml`` con il vostro.
+
+Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti. Potete trovare qui la documentazione sui parametri *link mancante*.
+
+Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
+
+Svuotate la cartella ``var/cache``.
+
+Dovete eseguire delle query di SQL per aggiornare il vostro database. Assumiamo che il prefisso della tabella sia ``wallabag_`` e che il database sia MySQL:
+
+.. code-block:: sql
+
+    ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
+    INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
+    ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
+    INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
+    INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
+    ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
+    DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
+
+Aggiornamento da 2.1.x a 2.1.y
+------------------------------
+
+Aggiornamento su un web server dedicato
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Per aggiornare la vostra installazione di wallabag ed ottenere l'ultima versione, eseguite il seguente comando nella vostra cartella wallabag:
+
+::
+
+    make update
+
+Aggiornamento su un hosting condiviso
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Fate un backup del file ``app/config/parameters.yml``.
+
+Scaricate l'ultima versione di wallabag:
+
+. code-block:: bash
+
+    wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package
+
+Troverete il `hash md5 dell'ultima versione del pacchetto sul nostro sito <https://www.wallabag.org/pages/download-wallabag.html>`_.
+
+Estraete l'archivio nella vostra cartella di wallabag e rimpiazzate ``app/config/parameters.yml`` con il vostro.
+
+Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti.
+
+Potete trovare qui la documentazione sui parametri *link mancante*.
+
+Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
+
+Svuotate la cartella ``var/cache``.
+
+Da wallabag 1.x
+---------------
+
+Non esiste uno script automatico per aggiornare da wallabag 1.x a wallabag 2.x. Dovete:
+
+- esportare i vostri dati
+- installare wallabag 2.x (leggete la documentazione a proposito dell'installazione *link mancante*) 
+- importate i dati in questa nuova installazione (leggete la documentazione a proposito dell'importazione)
index ddfb3dd2a9659d4a8dca7d76dfbec26c71715c76..c48ab936870871a2b81fff865db76d21bd0e2405 100644 (file)
@@ -5,5 +5,5 @@ if [ ! -f composer.phar ]; then
     echo "composer.phar not found, we'll see if composer is installed globally."
     command -v composer >/dev/null 2>&1 || { echo >&2 "wallabag requires composer but it's not installed (see http://doc.wallabag.org/en/master/user/installation.html). Aborting."; exit 1; }
 else
-    COMPOSER_COMMAND='composer.phar'
+    COMPOSER_COMMAND='./composer.phar'
 fi
index 8891887b6e97d1a68ad3f783f130ac49879261d6..1ac8feb17b5c0aadb9c7744acca171d0eb47c9af 100644 (file)
@@ -6,6 +6,7 @@ use Graby\Ring\Client\SafeCurlHandler;
 use GuzzleHttp\Client;
 use GuzzleHttp\Cookie\CookieJar;
 use GuzzleHttp\Event\SubscriberInterface;
+use Psr\Log\LoggerInterface;
 
 /**
  * Builds and configures the Guzzle HTTP client.
@@ -19,6 +20,7 @@ class HttpClientFactory
     private $cookieJar;
 
     private $restrictedAccess;
+    private $logger;
 
     /**
      * HttpClientFactory constructor.
@@ -26,12 +28,14 @@ class HttpClientFactory
      * @param \GuzzleHttp\Event\SubscriberInterface $authenticatorSubscriber
      * @param \GuzzleHttp\Cookie\CookieJar          $cookieJar
      * @param string                                $restrictedAccess        this param is a kind of boolean. Values: 0 or 1
+     * @param LoggerInterface                       $logger
      */
-    public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess)
+    public function __construct(SubscriberInterface $authenticatorSubscriber, CookieJar $cookieJar, $restrictedAccess, LoggerInterface $logger)
     {
         $this->authenticatorSubscriber = $authenticatorSubscriber;
         $this->cookieJar = $cookieJar;
         $this->restrictedAccess = $restrictedAccess;
+        $this->logger = $logger;
     }
 
     /**
@@ -39,8 +43,10 @@ class HttpClientFactory
      */
     public function buildHttpClient()
     {
+        $this->logger->log('debug', 'Restricted access config enabled?', array('enabled' => (int) $this->restrictedAccess));
+
         if (0 === (int) $this->restrictedAccess) {
-            return null;
+            return;
         }
 
         // we clear the cookie to avoid websites who use cookies for analytics
index fadd5e490d4083048e3599cb9359826c54f423cb..51d6ab47b21af00df7098b1a572912fc13787c37 100644 (file)
@@ -74,6 +74,7 @@ services:
             - "@bd_guzzle_site_authenticator.authenticator_subscriber"
             - "@wallabag_core.guzzle.cookie_jar"
             - '@=service(''craue_config'').get(''restricted_access'')'
+            - '@logger'
 
     wallabag_core.guzzle.cookie_jar:
         class: GuzzleHttp\Cookie\FileCookieJar
@@ -117,12 +118,12 @@ services:
     wallabag.operator.array.matches:
         class: Wallabag\CoreBundle\Operator\PHP\Matches
         tags:
-            - { name: rulerz.operator, executor: rulerz.executor.array, operator: matches }
+            - { name: rulerz.operator, target: native, operator: matches }
 
     wallabag.operator.doctrine.matches:
         class: Wallabag\CoreBundle\Operator\Doctrine\Matches
         tags:
-            - { name: rulerz.operator, executor: rulerz.executor.doctrine, operator: matches, inline: true }
+            - { name: rulerz.operator, target: doctrine, operator: matches, inline: true }
 
     wallabag_core.helper.redirect:
         class: Wallabag\CoreBundle\Helper\Redirect
index 8ae1c400e0af90428442b035cf1825bdb82b21d7..3aa4ba0b5aa85ab429d587f7eb07de04ea1f98d9 100644 (file)
@@ -9,7 +9,7 @@ security:
         password: 'Contraseña'
         cancel: 'Cancelar'
     resetting:
-        description: "Introduzca su dirección del correo electrónico y le enviaremos las instrucciones para reiniciar la contraseña"
+        description: "Introduzca su dirección de correo electrónico y le enviaremos las instrucciones para reiniciar la contraseña."
     register:
         page_title: 'Crear una cuenta'
         go_to_account: 'Acceder su cuenta'
@@ -19,19 +19,19 @@ menu:
         unread: 'Sin leer'
         starred: 'Favoritos'
         archive: 'Archivo'
-        all_articles: 'Todos artículos'
+        all_articles: 'Todos los artículos'
         config: 'Configuración'
         tags: 'Etiquetas'
         internal_settings: 'Configuración interna'
         import: 'Importar'
         howto: 'Ayuda'
-        # developer: 'API clients management'
+        developer: 'Configuración de clientes API'
         logout: 'Desconectarse'
         about: 'Acerca de'
         search: 'Buscar'
-        save_link: 'Archivar un enlace'
+        save_link: 'Guardar un enlace'
         back_to_unread: 'Volver a los artículos sin leer'
-        # users_management: 'Users management'
+        users_management: 'Configuración de usuarios'
     top:
         add_new_entry: 'Añadir un nuevo artículo'
         search: 'Buscar'
@@ -42,11 +42,11 @@ menu:
 
 footer:
     wallabag:
-        elsewhere: 'Lleve wallabag consigo'
+        elsewhere: 'Lleva wallabag contigo'
         social: 'Social'
-        powered_by: 'funciona por'
+        powered_by: 'funciona con'
         about: 'Acerca de'
-    # stats: Since %user_creation% you read %nb_archives% articles. That is about %per_day% a day!
+    stats: Desde el %user_creation% has leído %nb_archives% artículos. ¡Eso hace unos %per_day% por día!
 
 config:
     page_title: 'Configuración'
@@ -64,96 +64,96 @@ config:
         items_per_page_label: 'Número de artículos por página'
         language_label: 'Idioma'
         reading_speed:
-            label: 'Velocidad de leer'
-            help_message: 'Se puede usar las técnicas para calcular su velocidad de leer:'
+            label: 'Velocidad de lectura'
+            help_message: 'Puede utilizar herramientas en línea para calcular su velocidad de lectura:'
             100_word: 'Leo ~100 palabras por minuto'
             200_word: 'Leo ~200 palabras por minuto'
             300_word: 'Leo ~300 palabras por minuto'
             400_word: 'Leo ~400 palabras por minuto'
         action_mark_as_read:
-            # label: 'Where do you to be redirected after mark an article as read?'
-            # redirect_homepage: 'To the homepage'
-            # redirect_current_page: 'To the current page'
-        # pocket_consumer_key_label: Consumer key for Pocket to import contents
-        # android_configuration: Configure your Android application
-        # help_theme: "wallabag is customizable. You can choose your prefered theme here."
-        # help_items_per_page: "You can change the number of articles displayed on each page."
-        # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
-        # help_language: "You can change the language of wallabag interface."
-        # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
+            label: '¿Dónde quieres ser redirigido después de marcar un artículo como leido?'
+            redirect_homepage: 'A la página de inicio'
+            redirect_current_page: 'A la página actual'
+        pocket_consumer_key_label: Clave de consumidor para importar contenidos de Pocket
+        android_configuration: Configura tu aplicación Android
+        help_theme: "wallabag es personalizable. Puedes elegir tu tema preferido aquí."
+        help_items_per_page: "Puedes cambiar el número de artículos mostrados en cada página."
+        help_reading_speed: "wallabag calcula un tiempo de lectura para cada artículo. Puedes definir aquí, gracias a esta lista, si eres un lector rápido o lento. wallabag recalculará el tiempo de lectura para cada artículo."
+        help_language: "Puedes cambiar el idioma de la interfaz de wallabag."
+        help_pocket_consumer_key: "Requerido para la importación desde Pocket. Puedes crearla en tu cuenta de Pocket."
     form_rss:
-        description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Necesita generar un token primero'
-        token_label: 'RSS token'
-        no_token: 'No token'
+        description: 'Los feeds RSS de wallabag permiten leer los artículos guardados con su lector RSS favorito. Primero necesitas generar un token.'
+        token_label: 'Token RSS'
+        no_token: 'Sin token'
         token_create: 'Crear token'
         token_reset: 'Reiniciar token'
-        rss_links: 'URL de su feed RSS'
+        rss_links: 'URLs de feeds RSS'
         rss_link:
             unread: 'sin leer'
             starred: 'favoritos'
-            archive: 'archivo'
+            archive: 'archivados'
         rss_limit: 'Límite de artículos en feed RSS'
     form_user:
-        two_factor_description: "Con la autentificación de dos factores recibirá código mediante email en cada nueva conexión que no sea de confianza"
+        two_factor_description: "Con la autentificación en dos pasos recibirá código por email en cada nueva conexión que no sea de confianza."
         name_label: 'Nombre'
         email_label: 'Direccion e-mail'
-        twoFactorAuthentication_label: 'Autentificación de dos factores'
-        # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email."
+        twoFactorAuthentication_label: 'Autenticación en dos pasos'
+        help_twoFactorAuthentication: "Si activas la autenticación en dos pasos, cada vez que quieras inciar sesión en wallabag recibirás un código por email."
         delete:
-            # title: Delete my account (a.k.a danger zone)
-            # description: If you remove your account, ALL your articles, ALL your tags, ALL your annotations and your account will be PERMANENTLY removed (it can't be UNDONE). You'll then be logged out.
-            # confirm: Are you really sure? (THIS CAN'T BE UNDONE)
-            # button: Delete my account
+            title: Eliminar mi cuenta (Zona peligrosa)
+            description: Si eliminas tu cuenta, TODOS tus artículos, TODAS tus etiquetas, TODAS tus anotaciones y tu cuenta serán eliminadas de forma PERMANENTE (no se puede deshacer). Después serás desconectado.
+            confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER)
+            button: Eliminar mi cuenta
     reset:
-        # title: Reset area (a.k.a danger zone)
-        # description: By hiting buttons below you'll have ability to remove some informations from your account. Be aware that these actions are IRREVERSIBLE.
-        # annotations: Remove ALL annotations
-        # tags: Remove ALL tags
-        # entries: Remove ALL entries
-        # confirm: Are you really really sure? (THIS CAN'T BE UNDONE)
+        title: Reiniciar mi cuenta (Zona peligrosa)
+        description: Pulsando los botones de abajo puedes eliminar información de tu cuenta. Ten en cuenta que estas acciones son IRREVERSIBLES.
+        annotations: Eliminar TODAS las anotaciones
+        tags: Eliminar TODAS las etiquetas
+        entries: Eliminar TODOS los artículos
+        confirm: ¿Estás completamente seguro? (NO SE PUEDE DESHACER)
     form_password:
-        # description: "You can change your password here. Your new password should by at least 8 characters long."
+        description: "Puedes cambiar la contraseña aquí. Tu nueva contraseña debe tener al menos 8 caracteres."
         old_password_label: 'Contraseña actual'
         new_password_label: 'Nueva contraseña'
-        repeat_new_password_label: 'Confirmar la nueva contraseña'
+        repeat_new_password_label: 'Confirmar nueva contraseña'
     form_rules:
         if_label: 'si'
-        then_tag_as_label: 'Etiquete como'
-        delete_rule_label: 'Borre'
-        # edit_rule_label: 'edit'
+        then_tag_as_label: 'etiquetar como'
+        delete_rule_label: 'borrar'
+        edit_rule_label: 'editar'
         rule_label: 'Regla'
         tags_label: 'Etiquetas'
         faq:
-            title: 'FAQ'
-            tagging_rules_definition_title: '¿Qué significa reglas de etiquetado autómaticas?'
-            tagging_rules_definition_description: 'Son las reglas usadas por Wallabag para etiquetar automáticamente los nuevos artículos.<br />Cada vez que un nuevo artículo sea añadido, todas las reglas de etiquetado automáticas serán usadas para etiquetarlo, ayudándole a clasificar automáticamente los artículos.'
+            title: 'Preguntas frecuentes'
+            tagging_rules_definition_title: '¿Qué significa « reglas de etiquetado autómatico »?'
+            tagging_rules_definition_description: 'Son las reglas usadas por wallabag para etiquetar automáticamente los nuevos artículos.<br />Cada vez que un artículo sea añadido, todas las reglas de etiquetado automático serán usadas para etiquetarlo, ayudándote a clasificar automáticamente tus artículos.'
             how_to_use_them_title: '¿Cómo se utilizan?'
-            how_to_use_them_description: 'Supongamos que quiere etiquetar nuevos artículos como « <i>lectura corta</i> » cuando el tiempo de leer sea menos de 3 minutos. <br /> En ese caso, debe poner « tiempo de leer &lt;= 3 » en el <i>Regla</i> campo y « <i>lectura corta</i> » en el <i>Etiquetas</i> campo.<br />Algunas etiquetas se pueden ser añadidas al mismo tiempo por separarlas con una coma: « <i>lectura corta, debe leer</i> »<br />Reglas complejas se pueden ser escritas por usar operadores predefinidos: si « <i>tiempo de leer &gt;= 5 Y nombre del dominio = "github.com"</i> » entonces etiquete como « <i>lectura larga, github </i> »'
+            how_to_use_them_description: 'Supongamos que quiere etiquetar los artículos nuevos como « <i>lectura corta</i> » cuando el tiempo de lectura sea menos de 3 minutos.<br /> En ese caso, debe poner « readingTime &lt;= 3 » en el campo <i>Regla</i> y « <i>lectura corta</i> » en el campo <i>Etiquetas</i>.<br />Se pueden añadir varias etiquetas al mismo tiempo separadas por comas: « <i>lectura corta, lectura obligada</i> »<br />Se pueden escribir reglas complejas utilizando los operadores predefinidos: si « <i>readingTime &gt;= 5 AND domainName = "github.com"</i> » entonces etiqueta como « <i>lectura larga, github </i> »'
             variables_available_title: '¿Qué variables y operadores se pueden utilizar para escribir las reglas?'
-            variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear las reglas de etiquetado automáticas:'
+            variables_available_description: 'Las siguientes variables y operadores se pueden utilizar para crear reglas de etiquetado automático:'
             meaning: 'Significado'
             variable_description:
                 label: 'Variable'
-                title: 'Titúlo del artículo'
+                title: 'Título del artículo'
                 url: 'URL del artículo'
-                isArchived: 'El artículo está guardado o no'
-                isStarred: 'Si el artículo es un favorito o no'
+                isArchived: 'Si artículo está archivado o no'
+                isStarred: 'Si el artículo está en favoritos o no'
                 content: "El contenido del artículo"
                 language: "El idioma del artículo"
-                mimetype: "Tipo MIME del artículo"
+                mimetype: "El tipo MIME del artículo"
                 readingTime: "El tiempo estimado de lectura del artículo, en minutos"
-                domainName: 'El dominio del artículo'
+                domainName: 'El nombre de dominio del artículo'
             operator_description:
                 label: 'Operador'
-                less_than: 'Menos que…'
-                strictly_less_than: 'Estrictámente menos que…'
-                greater_than: 'Más que…'
-                strictly_greater_than: 'Estrictámente mas que…'
-                equal_to: 'Egual a…'
+                less_than: 'Menor que…'
+                strictly_less_than: 'Estrictámente menor que…'
+                greater_than: 'Mayor que…'
+                strictly_greater_than: 'Estrictámente mayor que…'
+                equal_to: 'Igual a…'
                 not_equal_to: 'Diferente de…'
                 or: 'Una regla U otra'
                 and: 'Una regla Y la otra'
-                matches: 'Pruebe si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>título coincide "football"</code>'
+                matches: 'Prueba si un <i>sujeto</i> corresponde a una <i>búsqueda</i> (insensible a mayusculas).<br />Ejemplo : <code>title matches "fútbol"</code>'
 
 entry:
     page_titles:
@@ -161,32 +161,32 @@ entry:
         starred: 'Artículos favoritos'
         archived: 'Artículos archivados'
         filtered: 'Artículos filtrados'
-        # filtered_tags: 'Filtered by tags:'
-        # filtered_search: 'Filtered by search:'
-        # untagged: 'Untagged entries'
+        filtered_tags: 'Filtrado por etiquetas:'
+        filtered_search: 'Filtrado por búsqueda:'
+        untagged: 'Artículos sin etiquetas'
     list:
         number_on_the_page: '{0} No hay artículos.|{1} Hay un artículo.|]1,Inf[ Hay %count% artículos.'
         reading_time: 'tiempo estimado de lectura'
         reading_time_minutes: 'tiempo estimado de lectura: %readingTime% min'
         reading_time_less_one_minute: 'tiempo estimado de lectura: &lt; 1 min'
-        # number_of_tags: '{1}and one other tag|]1,Inf[and %count% other tags'
+        number_of_tags: '{1}y una etiqueta más|]1,Inf[y %count% etiquetas más'
         reading_time_minutes_short: '%readingTime% min'
         reading_time_less_one_minute_short: '&lt; 1 min'
         original_article: 'original'
-        toogle_as_read: 'Marcar como leído/ no leído'
-        toogle_as_star: 'Marcar como favorito/ no favorito'
-        delete: 'Suprimir'
+        toogle_as_read: 'Marcar como leído / no leído'
+        toogle_as_star: 'Marcar como favorito / no favorito'
+        delete: 'Eliminar'
         export_title: 'Exportar'
     filters:
         title: 'Filtros'
-        status_label: 'Estatus'
+        status_label: 'Estado'
         archived_label: 'Archivado'
         starred_label: 'Favorito'
         unread_label: 'Sin leer'
-        preview_picture_label: 'Hay una foto'
-        preview_picture_help: 'Foto de preview'
+        preview_picture_label: 'Tiene imagen de previsualización'
+        preview_picture_help: 'Imagen de previsualización'
         language_label: 'Idioma'
-        # http_status_label: 'HTTP status'
+        http_status_label: 'Código de estado HTTP'
         reading_time:
             label: 'Duración de lectura en minutos'
             from: 'de'
@@ -208,12 +208,12 @@ entry:
             set_as_starred: 'Marcar como favorito'
             view_original_article: 'Artículo original'
             re_fetch_content: 'Redescargar el contenido'
-            delete: 'Suprimir'
+            delete: 'Eliminar'
             add_a_tag: 'Añadir una etiqueta'
             share_content: 'Compartir'
-            share_email_label: 'Dirección e-mail'
-            # public_link: 'public link'
-            # delete_public_link: 'delete public link'
+            share_email_label: 'e-mail'
+            public_link: 'enlace público'
+            delete_public_link: 'eliminar enlace público'
             download: 'Descargar'
             print: 'Imprimir'
             problem:
@@ -225,32 +225,32 @@ entry:
         created_at: 'Fecha de creación'
     new:
         page_title: 'Guardar un nuevo artículo'
-        placeholder: 'http://website.com'
+        placeholder: 'http://sitioweb.com'
         form_new:
             url_label: Url
     search:
-        # placeholder: 'What are you looking for?'
+        placeholder: '¿Qué estás buscando?'
     edit:
         page_title: 'Editar un artículo'
         title_label: 'Título'
         url_label: 'Url'
-        is_public_label: 'Es Público'
+        is_public_label: 'Es público'
         save_label: 'Guardar'
     public:
-        # shared_by_wallabag: "This article has been shared by <a href='%wallabag_instance%'>wallabag</a>"
+        shared_by_wallabag: "Este artículo se ha compartido con <a href='%wallabag_instance%'>wallabag</a>"
 
 about:
     page_title: 'Acerca de'
     top_menu:
-        who_behind_wallabag: 'Equipo del desarrollo de wallabag'
+        who_behind_wallabag: 'Quién está detrás de wallabag'
         getting_help: 'Pedir ayuda'
         helping: 'Ayudar a wallabag'
         contributors: 'Colaboradores'
-        third_party: 'Librerías de terceros'
+        third_party: 'Bibliotecas de terceros'
     who_behind_wallabag:
         developped_by: 'Desarrollado por'
         website: 'Sitio web'
-        many_contributors: 'Y muchos otros colaboradores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">en Github</a>'
+        many_contributors: 'Y otros muchos colaboradores ♥ <a href="https://github.com/wallabag/wallabag/graphs/contributors">en Github</a>'
         project_website: 'Sitio web del proyecto'
         license: 'Licencia'
         version: 'Versión'
@@ -259,56 +259,56 @@ about:
         bug_reports: 'Reporte de errores'
         support: '<a href="https://github.com/wallabag/wallabag/issues">en GitHub</a>'
     helping:
-        description: 'wallabag es libre y gratuito. Usted puede ayudarnos :'
+        description: 'wallabag es software libre y gratuito. Usted puede ayudarnos :'
         by_contributing: 'contribuyendo al proyecto :'
         by_contributing_2: 'nuestras necesidades están en un ticket'
-        by_paypal: 'via Paypal'
+        by_paypal: 'vía Paypal'
     contributors:
         description: 'Gracias a los colaboradores de la aplicación web de wallabag'
     third_party:
-        description: 'Aquí está la lista de las dependencias utilizadas por wallabag (con sus licencias) :'
+        description: 'Aquí está la lista de bibliotecas de terceros utilizadas por wallabag (con sus licencias) :'
         package: 'Paquete'
         license: 'Licencia'
 
 howto:
     page_title: 'Ayuda'
-    page_description: 'Hay muchas maneras para guardar un artículo:'
     tab_menu:
-        # add_link: "Add a link"
-        # shortcuts: "Use shortcuts"
+        add_link: "Añadir un artículo"
+        shortcuts: "Utilizar atajos de teclado"
+    page_description: 'Hay muchas maneras de guardar un artículo:'
     top_menu:
-        browser_addons: 'Extensiones de navigador'
+        browser_addons: 'Extensiones de navegador'
         mobile_apps: 'Aplicaciones para smartphone'
         bookmarklet: 'Bookmarklet'
     form:
         description: 'Gracias a este formulario'
     browser_addons:
-        firefox: 'Extensión Firefox'
-        chrome: 'Extensión Chrome'
-        opera: 'Extensión Opera'
+        firefox: 'Extensión para Firefox'
+        chrome: 'Extensión para Chrome'
+        opera: 'Extensión para Opera'
     mobile_apps:
         android:
-            via_f_droid: 'via F-Droid'
-            via_google_play: 'via Google Play'
-        ios: 'por la tienda de iTunes'
-        windows: 'por la tienda de Microsoft'
+            via_f_droid: 'en F-Droid'
+            via_google_play: 'en Google Play'
+        ios: 'en la tienda de iTunes'
+        windows: 'en la tienda de Microsoft'
     bookmarklet:
-        description: 'Desplazar y soltar este link en la barra de marcadores :'
+        description: 'Arrastra y suelta este enlace en la barra de marcadores:'
     shortcuts:
-        # page_description: Here are the shortcuts available in wallabag.
-        # shortcut: Shortcut
-        # action: Action
-        # all_pages_title: Shortcuts available in all pages
-        # go_unread: Go to unread
-        # go_starred: Go to starred
-        # go_archive: Go to archive
-        # go_all: Go to all entries
-        # go_tags: Go to tags
-        # go_config: Go to config
-        # go_import: Go to import
-        # go_developers: Go to developers
-        # go_howto: Go to howto (this page!)
-        # go_logout: Logout
+        page_description: Estos son los atajos de teclado disponibles en wallabag.
+        shortcut: Atajo de teclado
+        action: Acción
+        all_pages_title: Atajos de teclado disponibles en todas las páginas
+        go_unread: Ir a sin leer
+        go_starred: Ir a favoritos
+        go_archive: Ir a archivados
+        go_all: Ir a todos los artículos
+        go_tags: Ir a etiquetas
+        go_config: Ir a configuración
+        go_import: Ir a importar
+        go_developers: Ir a desarrolladores
+        go_howto: Ir a ayuda (esta página!)
+        go_logout: Desconectar
         # list_title: Shortcuts available in listing pages
         # search: Display the search form
         # article_title: Shortcuts available in entry view
@@ -324,9 +324,9 @@ howto:
 
 quickstart:
     page_title: 'Comienzo rápido'
-    # more: 'More…'
+    more: 'Más…'
     intro:
-        title: 'Bienvenido a wallabag !'
+        title: '¡Bienvenido a wallabag !'
         paragraph_1: "Le acompañaremos a su visita de wallabag y le mostraremos algunas características que le pueden interesar."
         paragraph_2: '¡Síganos!'
     configure:
@@ -357,7 +357,7 @@ quickstart:
         readability: 'Migrar desde Readability'
         instapaper: 'Migrar desde Instapaper'
     developer:
-        title: 'Promotores'
+        title: 'Desarrolladores'
         # description: 'We also thought to the developers: Docker, API, translations, etc.'
         create_application: 'Cree su tercera aplicación'
         # use_docker: 'Use Docker to install wallabag'
index bb0ed48db1d2f37c6778c3811e91fc7b865791a9..992ff71cb4178deb3e7786638e8a25716a58f9a2 100644 (file)
@@ -344,7 +344,7 @@ quickstart:
         export: "Configura l'esportazione"
         import: "Configura l'importazione"
     first_steps:
-        title: 'Pimi passi'
+        title: 'Primi passi'
         # description: "Now wallabag is well configured, it's time to archive the web. You can click on the top right sign + to add a link."
         new_article: 'Salva il tuo primo contenuto'
         unread_articles: 'E classificalo!'
index ef773dcea2a9136937645693dcbc640d5f0b6ad5..f64885654124909fd21d14309320cc1b0e396561 100644 (file)
@@ -25,7 +25,7 @@ menu:
         internal_settings: 'Configuracion interna'
         import: 'Importar'
         howto: 'Ajuda'
-        # developer: 'API clients management'
+        developer: 'Gestion dels clients API'
         logout: 'Desconnexion'
         about: 'A prepaus'
         search: 'Cercar'
@@ -71,16 +71,16 @@ config:
             300_word: "Legissi a l'entorn de 300 mots per minuta"
             400_word: "Legissi a l'entorn de 400 mots per minuta"
         action_mark_as_read:
-            # label: 'Where do you to be redirected after mark an article as read?'
-            # redirect_homepage: 'To the homepage'
-            # redirect_current_page: 'To the current page'
+            label: 'Ont volètz èsser menat aprèp aver marcat un article coma legit ?'
+            redirect_homepage: "A la pagina d'acuèlh"
+            redirect_current_page: 'A la pagina actuala'
         pocket_consumer_key_label: Clau d'autentificacion Pocket per importar las donadas
         android_configuration: Configuratz vòstra aplicacion Android
-        # help_theme: "wallabag is customizable. You can choose your prefered theme here."
-        # help_items_per_page: "You can change the number of articles displayed on each page."
-        # help_reading_speed: "wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are a fast or a slow reader. wallabag will recalculate the reading time for each article."
-        # help_language: "You can change the language of wallabag interface."
-        # help_pocket_consumer_key: "Required for Pocket import. You can create it in your Pocket account."
+        help_theme: "wallabag es personalizable. Podètz causir vòstre tèma preferit aquí."
+        help_items_per_page: "Podètz cambiar lo nombre d'articles afichats per pagina."
+        help_reading_speed: "wallabag calcula lo temps de lectura per cada article. Podètz lo definir aquí, gràcias a aquesta lista, se sètz un legeire rapid o lent. wallabag tornarà calcular lo temps de lectura per cada article."
+        help_language: "Podètz cambiar la lenga de l'interfàcia de wallabag."
+        help_pocket_consumer_key: "Requesida per l'importacion de Pocket. Podètz la crear dins vòstre compte Pocket."
     form_rss:
         description: "Los fluxes RSS fornits per wallabag vos permeton de legir vòstres articles salvagardats dins vòstre lector de fluxes preferit. Per los poder emplegar, vos cal, d'en primièr crear un geton."
         token_label: 'Geton RSS'
@@ -98,7 +98,7 @@ config:
         name_label: 'Nom'
         email_label: 'Adreça de corrièl'
         twoFactorAuthentication_label: 'Dobla autentificacion'
-        # help_twoFactorAuthentication: "If you enable 2FA, each time you want to login to wallabag, you'll receive a code by email."
+        help_twoFactorAuthentication: "S'avètz activat 2FA, cada còp que volètz vos connectar a wallabag, recebretz un còdi per corrièl."
         delete:
             title: Suprimir mon compte (Mèfi zòna perilhosa)
             description: Se confirmatz la supression de vòstre compte, TOTES vòstres articles, TOTAS vòstras etiquetas, TOTAS vòstras anotacions e vòstre compte seràn suprimits per totjorn. E aquò es IRREVERSIBLE. Puèi seretz desconnectat.
@@ -112,7 +112,7 @@ config:
         entries: Levar TOTES los articles
         confirm: Sètz vertadièrament segur ? (ES IRREVERSIBLE)
     form_password:
-        # description: "You can change your password here. Your new password should by at least 8 characters long."
+        description: "Podètz cambiar vòstre senhal aquí. Vòstre senhal deu èsser long d'almens 8 caractèrs."
         old_password_label: 'Senhal actual'
         new_password_label: 'Senhal novèl'
         repeat_new_password_label: 'Confirmatz vòstre novèl senhal'
@@ -161,8 +161,8 @@ entry:
         starred: 'Articles favorits'
         archived: 'Articles legits'
         filtered: 'Articles filtrats'
-        filtered_tags: 'Filtats per etiquetas:'
-        # filtered_search: 'Filtered by search:'
+        filtered_tags: 'Articles filtrats per etiquetas :'
+        filtered_search: 'Articles filtrats per recèrca :'
         untagged: 'Articles sens etiqueta'
     list:
         number_on_the_page: "{0} I a pas cap d'article.|{1} I a un article.|]1,Inf[ I a %count% articles."
@@ -186,7 +186,7 @@ entry:
         preview_picture_label: 'A una fotò'
         preview_picture_help: 'Fotò'
         language_label: 'Lenga'
-        # http_status_label: 'HTTP status'
+        http_status_label: 'Estatut HTTP'
         reading_time:
             label: 'Durada de lectura en minutas'
             from: 'de'
@@ -229,7 +229,7 @@ entry:
         form_new:
             url_label: Url
     search:
-        # placeholder: 'What are you looking for?'
+        placeholder: 'Qué cercatz ?'
     edit:
         page_title: 'Modificar un article'
         title_label: 'Títol'
@@ -274,8 +274,8 @@ howto:
     page_title: 'Ajuda'
     page_description: "I a mai d'un biais d'enregistrar un article :"
     tab_menu:
-        # add_link: "Add a link"
-        # shortcuts: "Use shortcuts"
+        add_link: "Ajustar un ligam"
+        shortcuts: "Utilizar d'acorchis"
     top_menu:
         browser_addons: 'Extensions de navigator'
         mobile_apps: 'Aplicacions mobil'
@@ -295,32 +295,32 @@ howto:
     bookmarklet:
         description: 'Lisatz-depausatz aqueste ligam dins vòstra barra de favorits :'
     shortcuts:
-        # page_description: Here are the shortcuts available in wallabag.
-        # shortcut: Shortcut
-        # action: Action
-        # all_pages_title: Shortcuts available in all pages
-        # go_unread: Go to unread
-        # go_starred: Go to starred
-        # go_archive: Go to archive
-        # go_all: Go to all entries
-        # go_tags: Go to tags
-        # go_config: Go to config
-        # go_import: Go to import
-        # go_developers: Go to developers
-        # go_howto: Go to howto (this page!)
-        # go_logout: Logout
-        # list_title: Shortcuts available in listing pages
-        # search: Display the search form
-        # article_title: Shortcuts available in entry view
-        # open_original: Open original URL of the entry
-        # toggle_favorite: Toggle star status for the entry
-        # toggle_archive: Toggle read status for the entry
-        # delete: Delete the entry
-        # material_title: Shortcuts available with Material theme only
-        # add_link: Add a new link
-        # hide_form: Hide the current form (search or new link)
-        # arrows_navigation: Navigate through articles
-        # open_article: Display the selected entry
+        page_description: Aquí son los acorchis disponibles dins wallabag.
+        shortcut: Acorchis
+        action: Accion
+        all_pages_title: Acorchis disponibles sus totas las paginas
+        go_unread: Anar als pas legits
+        go_starred: Anar als favorits
+        go_archive: Anar als archius
+        go_all: Anar a totes los articles
+        go_tags: Anar a las etiquetas
+        go_config: Anar a la config
+        go_import: Anar per importar
+        go_developers: Anar al canton desvolopaires
+        go_howto: Anar a l'ajuda (aquesta quita pagina !)
+        go_logout: Desconnexion
+        list_title: Acorchis disponibles dins las paginas de lista
+        search: Afichar lo formulari de recèrca
+        article_title: Acorchis disponibles dins la vista article
+        open_original: Dobrir l'URL originala de l'article
+        toggle_favorite: Cambiar l'estatut Favorit per l'article
+        toggle_archive: Cambiar l'estatut Legit per l'article
+        delete: Suprimir l'article
+        material_title: Acorchis solament disponibles amb lo tèma Material
+        add_link: Apondre un acorchi
+        hide_form: Rescondre lo formulari actual (recèrca o nòu ligam)
+        arrows_navigation: Navigar dins los articles
+        open_article: Afichar l'article seleccionat
 
 quickstart:
     page_title: 'Per ben començar'
@@ -328,7 +328,7 @@ quickstart:
     intro:
         title: 'Benvenguda sus wallabag !'
         paragraph_1: "Anem vos guidar per far lo torn de la proprietat e vos presentar unas fonccionalitats que vos poirián interessar per vos apropriar aquesta aisina."
-        paragraph_2: 'Seguètz-nos '
+        paragraph_2: 'Seguètz-nos !'
     configure:
         title: "Configuratz l'aplicacion"
         description: "Per fin d'aver una aplicacion que vos va ben, anatz veire la configuracion de wallabag."
@@ -382,8 +382,8 @@ tag:
         number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas."
         see_untagged_entries: "Afichar las entradas sens pas cap d'etiquetas"
     new:
-        # add: 'Add'
-        # placeholder: 'You can add several tags, separated by a comma.'
+        add: 'Ajustar'
+        placeholder: "Podètz ajustar mai qu'una etiqueta, separadas per de virgula."
 
 import:
     page_title: 'Importar'
@@ -410,13 +410,13 @@ import:
         how_to: "Causissètz lo fichièr de vòstra exportacion wallabag v1 e clicatz sul boton çai-jos per l'importar."
     wallabag_v2:
         page_title: 'Importar > Wallabag v2'
-        description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\""
+        description: "Aquesta aisina importarà totas vòstras donadas d'una instància mai de wallabag v2. Anatz dins totes vòstres articles, puèi, sus la barra laterala, clicatz sus \"JSON\". Traparatz un fichièr \"All articles.json\"."
     readability:
         page_title: 'Importar > Readability'
         description: "Aquesta aisina importarà totas vòstres articles de Readability. Sus la pagina de l'aisina (https://www.readability.com/tools/), clicatz sus \"Export your data\" dins la seccion \"Data Export\". Recebretz un corrièl per telecargar un json (qu'acaba pas amb un .json de fach)."
         how_to: "Mercés de seleccionar vòstre Readability fichièr e de clicar sul boton dejós per lo telecargar e l'importar."
     worker:
-        enabled: "L'importacion se fa de manièra asincròna. Un còp l'importacion lançada, una aisina externa s'ocuparà dels messatges un per un. Lo servici actual es : "
+        enabled: "L'importacion se fa de manièra asincròna. Un còp l'importacion lançada, una aisina extèrna s'ocuparà dels messatges un per un. Lo servici actual es : "
         download_images_warning: "Avètz activat lo telecargament de los imatges de vòstres articles. Combinat amb l'importacion classica, aquò pòt tardar un long moment (o benlèu fracassar). <strong>Recomandem fòrtament</strong> l'activacion de l'importacion asincròna per evitar las errors."
     firefox:
         page_title: 'Importar > Firefox'
@@ -429,14 +429,14 @@ import:
     instapaper:
         page_title: 'Importar > Instapaper'
         description: "Aquesta aisina importarà totas vòstres articles d'Instapaper. Sus la pagina de paramètres (https://www.instapaper.com/user), clicatz sus \"Download .CSV file\" dins la seccion \"Export\". Un fichièr CSV serà telecargat (aital \"instapaper-export.csv\")."
-        how_to: "Mercés de causir vòstre fichièr Instapaper e de clicar sul boton dejós per lo telecargar e l'importar"
+        how_to: "Mercés de causir vòstre fichièr Instapaper e de clicar sul boton dejós per lo telecargar e l'importar."
     pinboard:
-        # page_title: "Import > Pinboard"
-        # description: 'This importer will import all your Instapaper articles. On the backup (https://pinboard.in/settings/backup) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like "pinboard_export").'
-        # how_to: 'Please select your Pinboard export and click on the below button to upload and import it.'
+        page_title: "Importar > Pinboard"
+        description: 'Aquesta aisina importarà totas vòstres articles de Pinboard. Sus la pagina de salvagarda (https://pinboard.in/settings/backup) , clicatz sus "JSON" dins la seccion "Bookmarks". Se poirà telecargar un fichièr JSON (coma "pinboard_export").'
+        how_to: "Mercés de causir vòstre fichièr Pinboard e de clicar sul boton dejós per lo telecargar e l'importar."
 
 developer:
-    # page_title: 'API clients management'
+    page_title: 'Gestion dels clients API'
     welcome_message: "Benvenguda sus l'API de wallabag"
     documentation: 'Documentacion'
     how_to_first_app: 'Cossí crear vòstra primièra aplicacion'
@@ -451,13 +451,13 @@ developer:
         field_secret: 'Clé secreta'
         field_uris: 'URLs de redireccion'
         field_grant_types: 'Tipe de privilègi acordat'
-        no_client: 'Pas cap de client pel moment'
+        no_client: 'Pas cap de client pel moment.'
     remove:
         warn_message_1: 'Avètz la possibilitat de supriimr un client. Aquesta accion es IRREVERSIBLA !'
         warn_message_2: "Se suprimissètz un client, totas las aplicacions que l'emplegan foncionaràn pas mai amb vòstre compte wallabag."
         action: 'Suprimir aqueste client'
     client:
-        # page_title: 'API clients management > Novèl client'
+        page_title: 'Gestion dels clients API > Novèl client'
         page_description: "Anatz crear un novèl client. Mercés de cumplir l'url de redireccion cap a vòstra aplicacion."
         form:
             name_label: "Nom del client"
@@ -465,15 +465,15 @@ developer:
             save_label: 'Crear un novèl client'
         action_back: 'Retorn'
     client_parameter:
-        # page_title: 'API clients management > Los paramètres de vòstre client'
-        page_description: 'Vaquí los paramètres de vòstre client'
+        page_title: 'Gestion dels clients API > Los paramètres de vòstre client'
+        page_description: 'Vaquí los paramètres de vòstre client.'
         field_name: 'Nom del client'
         field_id: 'ID Client'
         field_secret: 'Clau secreta'
         back: 'Retour'
         read_howto: 'Legir "cossí crear ma primièra aplicacion"'
     howto:
-        # page_title: 'API clients management > Cossí crear ma primièra aplicacion'
+        page_title: 'Gestion dels clients API > Cossí crear ma primièra aplicacion'
         description:
             paragraph_1: "Las comandas seguentas utilizan la <a href=\"https://github.com/jkbrzt/httpie\">bibliotèca HTTPie</a>. Asseguratz-vos que siasqueòu installadas abans de l'utilizar."
             paragraph_2: "Vos cal un geton per escambiar entre vòstra aplicacion e l'API de wallabar."
@@ -546,7 +546,7 @@ flashes:
             tag_added: 'Etiqueta ajustada'
     import:
         notice:
-            failed: "L'importacion a fracassat, mercés de tornar ensajar"
+            failed: "L'importacion a fracassat, mercés de tornar ensajar."
             failed_on_file: "Errorr pendent du tractament de l'import. Mercés de verificar vòstre fichièr."
             summary: "Rapòrt d'import: %imported% importats, %skipped% ja presents."
             summary_with_queue: "Rapòrt d'import : %queued% en espèra de tractament."
@@ -555,7 +555,7 @@ flashes:
             rabbit_enabled_not_installed: "RabbitMQ es capable d'importar de manièra asincròna mai sembla que <u>podèm pas nos conectar amb el</u>. Mercés de verificar la configuracion de RabbitMQ."
     developer:
         notice:
-            client_created: 'Novèl client creat'
+            client_created: 'Novèl client creat.'
             client_deleted: 'Client suprimit'
     user:
         notice:
index 00ddfddfe4b6a497a66ca02142555e26da430c27..eda9bbbf68fb7ad4246f4ad536b340970f2a8be9 100644 (file)
@@ -82,7 +82,7 @@ config:
         help_language: "Możesz zmienić język interfejsu wallabag."
         help_pocket_consumer_key: "Wymagane dla importu z Pocket. Możesz go stworzyć na swoim koncie Pocket."
     form_rss:
-        description: 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoium ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.‌'
+        description: 'Kanały RSS prowadzone przez wallabag pozwalają Ci na czytanie twoich zapisanych artykułów w twoim ulubionym czytniku RSS. Musisz najpierw wynegenerować tokena.‌'
         token_label: 'Token RSS'
         no_token: 'Brak tokena'
         token_create: 'Stwórz tokena'
@@ -94,7 +94,7 @@ config:
             archive: 'archiwum'
         rss_limit: 'Link do RSS'
     form_user:
-        two_factor_description: "Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanyum połączeniu"
+        two_factor_description: "Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanym połączeniu"
         name_label: 'Nazwa'
         email_label: 'Adres email'
         twoFactorAuthentication_label: 'Autoryzacja dwuetapowa'
@@ -126,9 +126,9 @@ config:
         faq:
             title: 'FAQ'
             tagging_rules_definition_title: 'Co oznaczają « reguły tagowania » ?'
-            tagging_rules_definition_description: 'Istnieją reguły używane przez wallabag służące do automatycznego tagowania nowych wpisów.<br />Za każdym razem kiedy dodasz nowi wpis, zostaną użyte wszystkie skonfigurowane przez ciebie regułu. Dzięki temu unikniesz konieczności ręcznego ich klasyfikowania.'
+            tagging_rules_definition_description: 'Istnieją reguły używane przez wallabag służące do automatycznego tagowania nowych wpisów.<br />Za każdym razem kiedy dodasz nowy wpis, zostaną użyte wszystkie skonfigurowane przez ciebie reguły. Dzięki temu unikniesz konieczności ręcznego ich klasyfikowania.'
             how_to_use_them_title: 'Jak ich użyć?'
-            how_to_use_them_description: 'Załóżmy, że chcesz otagować nowe wpisy jako « <i>do szybkiego przeczytania</i> » jeżeli czas czytania wynosi mniej niż 3 minuty.<br />W tym przypadku ponienieneś umieścić « czasCzytania &lt;= 3 » w  polu <i>Reguła</i> i « <i><do szybkiego przeczytania/i> » w polu <i>Tagi</i>.<br />Wiele tagów może zostać dodanych jednocześnie rozdzielając je przecinkami: « <i>do szybkiego przeczytania, koniecznie przeczytać</i> »<br />Kompleksowe reguły mogą być napisane przy użyciu operatorów: jeżeli « <i>czasCzytania &gt;= 5 I nazwaDomeny = "github.com"</i> » wtedy otagój jako « <i>dłuższy tekst, github </i> »'
+            how_to_use_them_description: 'Załóżmy, że chcesz otagować nowe wpisy jako « <i>do szybkiego przeczytania</i> » jeżeli czas czytania wynosi mniej niż 3 minuty.<br />W tym przypadku ponienieneś umieścić « czasCzytania &lt;= 3 » w  polu <i>Reguła</i> i « <i><do szybkiego przeczytania/i> » w polu <i>Tagi</i>.<br />Wiele tagów może zostać dodanych jednocześnie rozdzielając je przecinkami: « <i>do szybkiego przeczytania, koniecznie przeczytać</i> »<br />Kompleksowe reguły mogą być napisane przy użyciu operatorów: jeżeli « <i>czasCzytania &gt;= 5 I nazwaDomeny = "github.com"</i> » wtedy otaguj jako « <i>dłuższy tekst, github </i> »'
             variables_available_title: 'Jakich zmiennych i operatorów mogę użyć przy pisaniu reguł?'
             variables_available_description: 'Następujące zmienne i operatory mogą być użyte przy tworzeniu reguł tagowania:'
             meaning: 'Znaczenie'
@@ -387,7 +387,7 @@ tag:
 
 import:
     page_title: 'Import'
-    page_description: 'Witaj w importerze Wallabag. Wybierz swoją poprzednią usługę, z której chcech migrować.'
+    page_description: 'Witaj w importerze Wallabag. Wybierz swoją poprzednią usługę, z której chcesz migrować.'
     action:
         import_contents: 'Import zawartości'
     form:
@@ -397,7 +397,7 @@ import:
         save_label: 'Właduj plik'
     pocket:
         page_title: 'Import > Pocket'
-        description: "Ten importer, zaimportuje dane z usługi Pocket. Pocket nie pozwala na nam na pobranie zawartości ze swojej usługi, więc kontent każdego arthykuł\u zostanie ponownie pobrany przez wallabag."
+        description: "Ten importer, zaimportuje dane z usługi Pocket. Pocket nie pozwala na nam na pobranie zawartości ze swojej usługi, więc kontent każdego artykułu zostanie ponownie pobrany przez wallabag."
         config_missing:
             description: "Import z Pocket nie jest skonfigurowany."
             admin_message: 'Musisz zdefiniować %keyurls%a pocket_consumer_key%keyurle%.'
index 91a1bac0ddac6358fed881647429f10ec737fc2a..58757158a40328a63915e9cbc697295592ef97c1 100644 (file)
@@ -11,8 +11,8 @@
 
         <div class="card-content">
             <span class="card-title dot-ellipsis dot-resize-update">
-                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title| e | raw | striptags }}">
-                    {{ entry.title | e | raw | striptags | truncate(80, true, '…') }}
+                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title| striptags | e('html_attr') }}">
+                    {{ entry.title | striptags | truncate(80, true, '…') | raw }}
                 </a>
             </span>
 
index bb9b64ce0b967a994f2a673ca7099674b77c3d42..3ba6253abd15ae5572f1caba72be57eccfd0bbfe 100644 (file)
@@ -2,7 +2,7 @@
     <div class="card-stacked">
         <div class="card-content">
             <span class="card-title dot-ellipsis dot-resize-update">
-                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | raw | striptags }}">
+                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
                     {{ entry.title| striptags | truncate(120, true, '…') | raw }}
                 </a>
             </span>
index ed916e7987c1bbcf526670b0ffe62ad395e97587..eb1586597bd89a748a9afc8e3ce35d2d89f39587 100644 (file)
@@ -2,8 +2,8 @@
     <div class="card-body">
         <div class="card-content">
             <span class="card-title dot-ellipsis dot-resize-update">
-                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}">
-                    {{ entry.title | e | raw | striptags | truncate(80, true, '…') }}
+                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
+                    {{ entry.title | striptags | truncate(80, true, '…') | raw }}
                 </a>
             </span>
 
index d23be4d0927613538a57df296bde59459d15e988..fb5301c8008c532427ba426d32cae5285b84dc43 100644 (file)
@@ -13,8 +13,8 @@
             <i class="grey-text text-darken-4 activator material-icons right">more_vert</i>
 
             <span class="card-title dot-ellipsis dot-resize-update">
-                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}">
-                    {{ entry.title | e | striptags | truncate(80, true, '…') | raw }}
+                <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
+                    {{ entry.title | striptags | truncate(80, true, '…') | raw }}
                 </a>
             </span>
 
@@ -29,8 +29,8 @@
     <div class="card-reveal">
         <i class="card-title activator grey-text text-darken-4 material-icons right">clear</i>
         <span class="card-title">
-            <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | e | raw | striptags }}">
-                {{ entry.title | e | raw | striptags | truncate(80, true, '…') }}
+            <a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title | striptags | e('html_attr') }}">
+                {{ entry.title |  striptags | truncate(80, true, '…') | raw }}
             </a>
         </span>
 
index 15428b9231e12adf873ba3a5b507bd593ceb7a3a..c3508083076c378945756d4887cb014e7c5f615f 100644 (file)
@@ -1,6 +1,6 @@
 {% extends "WallabagCoreBundle::layout.html.twig" %}
 
-{% block title %}{{ entry.title|e|raw }} ({{ entry.domainName|removeWww }}){% endblock %}
+{% block title %}{{ entry.title|striptags|raw }} ({{ entry.domainName|removeWww }}){% endblock %}
 
 {% block body_class %}entry{% endblock %}
 
                     {% endif %}
                     {% if craue_setting('share_twitter') %}
                         <li>
-                            <a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool icon-twitter" title="twitter">
+                            <a href="https://twitter.com/home?status={{entry.title|striptags|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool icon-twitter" title="twitter">
                                 <span>twitter</span>
                             </a>
                         </li>
                     {% endif %}
                     {% if craue_setting('share_shaarli') %}
                         <li>
-                        <a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}" target="_blank">
+                        <a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;tags={{ entry.tags|join(',')|striptags|url_encode }}" target="_blank">
                                 <i class="tool icon-image icon-image--shaarli" title="shaarli"></i>
                                 <span>shaarli</span>
                             </a>
                     {% endif %}
                     {% if craue_setting('share_diaspora') %}
                         <li>
-                            <a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank">
+                            <a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}&amp;notes=&amp;v=1&amp;noui=1&amp;jump=doclose" target="_blank">
                                 <i class="tool icon-image icon-image--diaspora" title="diaspora"></i>
                                 <span>diaspora*</span>
                             </a>
                     {% endif %}
                     {% if craue_setting('share_unmark') %}
                         <li>
-                            <a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|url_encode}}&amp;v=6" target="_blank">
+                            <a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|striptags|url_encode}}&amp;v=6" target="_blank">
                                 <i class="tool icon-image icon-image--unmark" title="unmark"></i>
                                 <span>unmark.it</span>
                             </a>
                     {% endif %}
                     {% if craue_setting('carrot') %}
                         <li>
-                            <a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" title="carrot">
+                            <a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&amp;title={{ entry.title|striptags|url_encode }}" target="_blank" title="carrot">
                                 <i class="tool icon-image icon-image--carrot"></i>
                                 <span>Carrot</span>
                             </a>
                     {% endif %}
                     {% if craue_setting('share_mail') %}
                         <li>
-                            <a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool email icon icon-mail">
+                            <a href="mailto:?subject={{ entry.title|striptags|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" title="{{ 'entry.view.left_menu.share_email_label'|trans }}" class="tool email icon icon-mail">
                                 <span>{{ 'entry.view.left_menu.share_email_label'|trans }}</span>
                             </a>
                         </li>
 {% block content %}
     <div id="article">
         <header class="mbm">
-            <h1>{{ entry.title|e|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
+            <h1>{{ entry.title|striptags|raw }} <a href="{{ path('edit', { 'id': entry.id }) }}" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
         </header>
         <aside>
             <ul class="tools">
                 </li>
                 <li>
                     <i class="material-icons link">link</i>
-                    <a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool">
+                    <a href="{{ entry.url|e }}" target="_blank" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|striptags }}" class="tool">
                         {{ entry.domainName|removeWww }}
                     </a>
                 </li>
             </div>
 
             {% if entry.previewPicture is not null %}
-                <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|raw }}" /></div>
+                <div><img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|striptags|e('html_attr') }}" /></div>
             {% endif %}
 
         </aside>
index d9fb5d73e03508776240f92fc94d5d8b99ee0107..3c169c04fce17c4071d43b4af4e17d69e6272182 100644 (file)
             {% endblock %}
 
             {% set currentRoute = app.request.attributes.get('_route') %}
+            {% set currentRouteFromQueryParams = app.request.query.get('currentRoute') %}
 
-            <li class="bold {% if currentRoute == 'unread' or currentRoute == 'homepage' %}active{% endif %}">
+            {% set activeRoute = null %}
+            {% if currentRoute == 'all' or currentRouteFromQueryParams == 'all' %}
+               {% set activeRoute = 'all' %}
+            {% elseif currentRoute == 'archive' or currentRouteFromQueryParams == 'archive' %}
+               {% set activeRoute = 'archive' %}
+            {% elseif currentRoute == 'starred' or currentRouteFromQueryParams == 'starred' %}
+               {% set activeRoute = 'starred' %}
+            {% elseif currentRoute == 'unread' or currentRoute == 'homepage' or currentRouteFromQueryParams == 'unread' %}
+               {% set activeRoute = 'unread' %}
+            {% endif %}
+
+            <li class="bold {% if activeRoute == 'unread' %}active{% endif %}">
                 <a class="waves-effect" href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }} <span class="numberItems grey-text">{{ count_entries('unread') }}</span></a>
             </li>
-            <li class="bold {% if currentRoute == 'starred' %}active{% endif %}">
+            <li class="bold {% if activeRoute == 'starred' %}active{% endif %}">
                 <a class="waves-effect" href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }} <span class="numberItems grey-text">{{ count_entries('starred') }}</span></a>
             </li>
-            <li class="bold {% if currentRoute == 'archive' %}active{% endif %}">
+            <li class="bold {% if activeRoute == 'archive' %}active{% endif %}">
                 <a class="waves-effect" href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }} <span class="numberItems grey-text">{{ count_entries('archive') }}</span></a>
             </li>
-            <li class="bold {% if currentRoute == 'all' %}active{% endif %}">
+            <li class="bold {% if activeRoute == 'all' %}active{% endif %}">
                 <a class="waves-effect" href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }} <span class="numberItems grey-text">{{ count_entries('all') }}</span></a>
             </li>
             <li class="bold border-bottom {% if currentRoute == 'tags' %}active{% endif %}">
diff --git a/src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml b/src/Wallabag/UserBundle/Resources/translations/wallabag_user.es.yml
new file mode 100644 (file)
index 0000000..eb867a7
--- /dev/null
@@ -0,0 +1,11 @@
+# Two factor mail
+auth_code:
+    on: 'on'
+    mailer:
+        subject: 'código de autenticación de wallabag'
+        body:
+            hello: "Hola %user%,"
+            first_para: "Debido a que tienes activada la autenticación en dos pasos y acabas de iniciar sesión en un nuevo dispositivo (ordenador, teléfono, etc.), hemos enviado un código para validar tu conexión."
+            second_para: "Este es el código:"
+            support: "Por favor, no dudes en contactarnos si tienes algún problema:"
+            signature: "El equipo de wallabag"
index f2cb4ad1c3302bbe6a775eb71178632f8055e236..d8df459f3eabbea23d6772e342a2a39fb85f410c 100644 (file)
@@ -1 +1 @@
-@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")}html{min-height:100%}body{background-color:#eee}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}::-moz-selection{color:#fff;background-color:#000}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:5;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.5em 1em;min-width:12em;color:#666}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0;background:#fff url(../../_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:70px;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:4}#main{margin-left:12em;position:relative;z-index:1;padding-right:5%;padding-bottom:1em}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img:hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode.tablemode{background-image:url(../../_global/img/table.png)}#listmode.listmode,#listmode.tablemode{background-repeat:no-repeat;background-position:bottom}#listmode.listmode{background-image:url(../../_global/img/list.png)}#warning_message{position:fixed;background-color:tomato;z-index:7;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:5}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode.entry{width:100%;height:inherit}.card-entry-labels{position:absolute;top:100px;left:-1em;z-index:6;max-width:50%;padding-left:0}.card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.created-at,.reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 1.5em 3em;height:440px}.entry:before{width:0;height:0;border-style:solid;border-color:transparent transparent #000;border-width:10px;bottom:.3em;z-index:1;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.4em}.entry:hover h2 a{color:#666}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2}.entry h2:after{content:none}.entry h2 a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}img.preview{max-width:calc(100% + 3em);left:-1.5em;position:relative}.entry p{color:#666;font-size:.9em;line-height:1.7;margin-top:5px}.entry h2 a:first-letter{text-transform:uppercase}.entry:hover .tools{bottom:0}.entry .tools{position:absolute;bottom:-50px;left:0;width:100%;z-index:1;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%}.results>*,div.pagination ul{text-align:right}.nb-results{text-align:left;font-style:italic;color:#999;display:-ms-inline-flexbox;display:inline-flex}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.hide{display:none}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:5;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\ead4"}.icon-mail:before{content:"\ea86"}.icon-up-open:before{content:"\e80b"}.icon-star:before{content:"\e9d9"}.icon-check:before{content:"\ea10"}.icon-link:before{content:"\e9cb"}.icon-reply:before{content:"\e806"}.icon-menu:before{content:"\e9bd"}.icon-clock:before{content:"\e803"}.icon-twitter:before{content:"\ea96"}.icon-down-open:before{content:"\e809"}.icon-trash:before{content:"\e9ac"}.icon-delete:before{content:"\ea0d"}.icon-power:before{content:"\ea14"}.icon-arrow-up-thick:before{content:"\ea3a"}.icon-rss:before{content:"\e808"}.icon-print:before{content:"\e954"}.icon-reload:before{content:"\ea2e"}.icon-price-tags:before{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{background-size:16px 16px;background-repeat:no-repeat;background-position:50%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--unmark{background-image:url(../../_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.messages{text-align:left;margin-top:1em}.messages>*{display:inline-block}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}#article h1{text-align:left}#article h2,#article h3,#article h4{text-transform:none}#article h2:after{content:none}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(2n+1){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-height:770px){.menu.developer,.menu.internal,.menu.users{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#333;position:fixed;top:0;width:100%;height:3em;z-index:2}#links li:last-child{position:static;width:auto}#links li:last-child a:before{content:none}.logo{width:1.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width:75px;margin-left:-37.5px}.desktopHide{display:block;position:fixed;z-index:5;top:0;right:0;border:0;width:2.5em;height:2.5em;cursor:pointer;background-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}};.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};@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>footer,body>header,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}*{box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul: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:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{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}.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:.8em}.big{font-size:1.2em}.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%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}}
\ No newline at end of file
+@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")}html{min-height:100%}body{background-color:#eee}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}::-moz-selection{color:#fff;background-color:#000}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:5;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.5em 1em;min-width:12em;color:#666}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0;background:#fff url(../../_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:70px;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:4}#main{margin-left:12em;position:relative;z-index:1;padding-right:5%;padding-bottom:1em}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img:hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode.tablemode{background-image:url(../../_global/img/table.png)}#listmode.listmode,#listmode.tablemode{background-repeat:no-repeat;background-position:bottom}#listmode.listmode{background-image:url(../../_global/img/list.png)}#warning_message{position:fixed;background-color:tomato;z-index:7;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:5}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode.entry{width:100%;height:inherit}.card-entry-labels{position:absolute;top:100px;left:-1em;z-index:6;max-width:50%;padding-left:0}.card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.created-at,.reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 1.5em 3em;height:440px}.entry:before{width:0;height:0;border-style:solid;border-color:transparent transparent #000;border-width:10px;bottom:.3em;z-index:1;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.4em}.entry:hover h2 a{color:#666}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2}.entry h2:after{content:none}.entry h2 a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}img.preview{max-width:calc(100% + 3em);left:-1.5em;position:relative}.entry p{color:#666;font-size:.9em;line-height:1.7;margin-top:5px}.entry h2 a:first-letter{text-transform:uppercase}.entry:hover .tools{bottom:0}.entry .tools{position:absolute;bottom:-50px;left:0;width:100%;z-index:1;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%}.results>*,div.pagination ul{text-align:right}.nb-results{text-align:left;font-style:italic;color:#999;display:-ms-inline-flexbox;display:inline-flex}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.hide{display:none}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:5;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\ead4"}.icon-mail:before{content:"\ea86"}.icon-up-open:before{content:"\e80b"}.icon-star:before{content:"\e9d9"}.icon-check:before{content:"\ea10"}.icon-link:before{content:"\e9cb"}.icon-reply:before{content:"\e806"}.icon-menu:before{content:"\e9bd"}.icon-clock:before{content:"\e803"}.icon-twitter:before{content:"\ea96"}.icon-down-open:before{content:"\e809"}.icon-trash:before{content:"\e9ac"}.icon-delete:before{content:"\ea0d"}.icon-power:before{content:"\ea14"}.icon-arrow-up-thick:before{content:"\ea3a"}.icon-rss:before{content:"\e808"}.icon-print:before{content:"\e954"}.icon-reload:before{content:"\ea2e"}.icon-price-tags:before{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{background-size:16px 16px;background-repeat:no-repeat;background-position:50%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--unmark{background-image:url(../../_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.messages{text-align:left;margin-top:1em}.messages>*{display:inline-block}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}#article h1{text-align:left}#article h2,#article h3,#article h4{text-transform:none}#article h2:after{content:none}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(odd){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-height:770px){.menu.developer,.menu.internal,.menu.users{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#333;position:fixed;top:0;width:100%;height:3em;z-index:2}#links li:last-child{position:static;width:auto}#links li:last-child a:before{content:none}.logo{width:1.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width:75px;margin-left:-37.5px}.desktopHide{display:block;position:fixed;z-index:5;top:0;right:0;border:0;width:2.5em;height:2.5em;cursor:pointer;background-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}};.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};@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>footer,body>header,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}*{box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul: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:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{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}.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:.8em}.big{font-size:1.2em}.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%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}}
\ No newline at end of file
index 7e9a23bc5a09c9752bc73b358c55f7b84c15e66b..2df5d79c8972c5ffa0281eb6b767492d45f1cce0 100644 (file)
@@ -13,4 +13,4 @@
 /*!
  * Default mobile-first, responsive styling for pickadate.js
  * Demo: http://amsul.github.io/pickadate.js
- */.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;transition:background .15s ease-out,top 0s .15s;-webkit-backface-visibility:hidden}.picker__frame{position:absolute;margin:0 auto;min-width:256px;width:300px;max-height:350px;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}@media (min-height:28.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:28.875em){.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:28.875em){.picker__box{display:block;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}.picker--opened .picker__holder{top:0;background:transparent;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:35.875em){.picker--opened .picker__frame{top:10%;bottom:20%auto}}.picker__input.picker__input--active{border-color:#e3f2fd}.picker__frame{margin:0 auto;max-width:325px}@media (min-height:38.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{display:inline-block;margin-left:.25em;margin-right:.25em}.picker__select--month,.picker__select--year{height:2em;padding:0;margin-left:.25em;margin-right:.25em}.picker__select--month.browser-default{display:inline;background-color:#fff;width:40%}.picker__select--year.browser-default{display:inline;background-color:#fff;width:25%}.picker__select--month:focus,.picker__select--year:focus{border-color:rgba(0,0,0,.05)}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box;top:-.25em}.picker__nav--prev{left:-1em;padding-right:1.25em}.picker__nav--next{right:-1em;padding-left:1.25em}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:none;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:16px;font-size:1rem;width:100%;margin-top:.75em;margin-bottom:.5em}.picker__table,.picker__table td,.picker__table th{text-align:center}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day--today{position:relative;color:#595959;letter-spacing:-.3;padding:12px 0;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--infocus:hover{cursor:pointer;color:#000;font-weight:500}.picker__day--outfocus{display:none;padding:12px 0;padding:.75rem 0;color:#fff}.picker__day--outfocus:hover{cursor:pointer;color:#ddd;font-weight:500}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{cursor:pointer}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;transform:scale(.75);background:#0089ec;color:#fff}.picker--focused .picker__day--disabled,.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.picker__button--clear,.picker__button--close,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:33%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--close:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--close:focus,.picker__button--today:focus{background:#b1dcfb;border-color:rgba(0,0,0,.05);outline:none}.picker__button--clear:before,.picker__button--close:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--clear:before,.picker__button--today:before{content:" ";margin-right:.45em}.picker__button--today:before{top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{top:-.25em;width:.66em;border-top:3px solid #e20}.picker__button--close:before{content:"\D7";top:-.1em;vertical-align:top;font-size:1.1em;margin-right:.35em;color:#777}.picker__button--today[disabled],.picker__button--today[disabled]:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__button--today[disabled]:before{border-top-color:#aaa}.picker__box{border-radius:2px;overflow:hidden}.picker__date-display{text-align:center;background-color:#26a69a;color:#fff;padding-bottom:15px;font-weight:300}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#a1ded8}.picker__weekday-display{background-color:#1f897f;padding:10px;font-weight:200;letter-spacing:.5;font-size:16px;font-size:1rem;margin-bottom:15px}.picker__month-display{text-transform:uppercase;font-size:32px;font-size:2rem}.picker__day-display{font-size:72px;font-size:4.5rem;font-weight:400}.picker__year-display{font-size:28.8px;font-size:1.8rem;color:hsla(0,0%,100%,.4)}.picker__box{padding:0}.picker__calendar-container{padding:0 16px;padding:0 1rem}.picker__calendar-container thead{border:none}.picker__table{margin-top:0;margin-bottom:.5em}.picker__day--infocus{color:#595959;letter-spacing:-.3;padding:12px 0;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day.picker__day--today{color:#26a69a}.picker__day.picker__day--today.picker__day--selected{color:#fff}.picker__weekday{font-size:14.4px;font-size:.9rem}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;transform:scale(.9);background-color:#26a69a;color:#fff}.picker--focused .picker__day--selected.picker__day--outfocus,.picker__day--selected.picker__day--outfocus,.picker__day--selected:hover.picker__day--outfocus{background-color:#a1ded8}.picker__footer{text-align:right;padding:5px 10px}.picker__close,.picker__today{font-size:17.6px;font-size:1.1rem;padding:0 16px;padding:0 1rem;color:#26a69a}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #676767;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #676767}button.picker__clear:focus,button.picker__close:focus,button.picker__today:focus{background-color:#a1ded8}.picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__list-item--highlighted,.picker__list-item:hover{border-color:#0089ec;z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background:#0089ec;color:#fff;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:none;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{color:#000;background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:none}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;background-size:24px;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-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"}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--black.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--unmark{background-image:url(../../_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}body{display:-ms-flexbox;display:flex;min-height:100vh;-ms-flex-direction:column;flex-direction:column;background:#fafafa}body.login main{padding:0;min-height:100vh}.border-bottom{border-bottom:1px solid #ddd}footer,main,nav{padding-left:240px}#content,.valign-wrapper,main{height:100%}#main{-ms-flex:1 0 auto;flex:1 0 auto}.results{height:1em}.results .nb-results,.results .pagination{margin:15px;margin-bottom:0}.results .nb-results{display:-ms-inline-flexbox;display:inline-flex}.results a{color:#444}.pagination{float:right}.pagination ul{margin:0!important}.pagination li{padding:0}.pagination a{padding:0 10px;height:30px;display:block}.pagination .disabled{margin-right:10px;margin-left:10px}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}.pagination li.active span{padding:0 10px;height:30px;display:block;color:#fff}.page-footer .footer-copyright{min-width:50px;height:auto!important;line-height:1em!important}.page-footer .footer-copyright p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.hidden,.picker__date-display{display:none}footer.page-footer{margin-top:10px;padding-top:0}footer .row{margin-bottom:10px}nav input{color:#aaa}nav{height:auto}.nav-wrapper{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.nav-wrapper .button-collapse{padding:0 15px}.nav-input{display:none}.nav-panel-buttom{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:end;justify-content:flex-end}.nav-panel-buttom li{max-height:64px}.nav-panels{transition:background .2s ease}.nav-panel-add .add,.nav-panel-search .search,.nav-panels .close{color:#444!important}.nav-panels .action{padding-left:12px;padding-left:.75rem;font-size:33.6px;font-size:2.1rem;white-space:nowrap}.nav-panels .input-field input{display:block;line-height:inherit;padding-left:64px!important;padding-left:4rem!important;width:calc(100% - 8rem)}.nav-panels .input-field input:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.input-field.nav-panel-add label,.input-field.nav-panel-search label{left:16px;left:1rem}.input-field.nav-panel-add .close,.input-field.nav-panel-search .close{position:absolute;top:0;right:16px;right:1rem;color:transparent;cursor:pointer;font-size:32px;font-size:2rem;transition:color .3s}#button_export,#button_filters{display:none}.input-field.nav-panel-add,.input-field.nav-panel-add form,.input-field.nav-panel-search,.input-field.nav-panel-search form{-ms-flex-positive:1;flex-grow:1}.side-nav.fixed a{font-size:13px;line-height:44px;height:44px}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{height:45px;line-height:44px;padding:0 20px}.bold>a{font-weight:700}.side-nav>li.logo{line-height:0;text-align:center}#main .logo a{height:100pt}#main .logo img{height:100pt;width:100pt}#main .logo:hover{background:transparent}.side-nav li{padding:0}.side-nav a{margin:0 16px;margin:0 1rem}span.numberItems{float:right}nav ul a:hover{background-color:initial}#filters button{padding:0;width:100%}.side-nav.fixed.right-aligned{right:-250px;left:auto!important}#filters div.with-checkbox{height:48px;height:3rem;margin-top:0}main #content{padding:0 8px;padding:0 .5rem}main ul.row{padding:0 12px;padding:0 .75rem}.data .card .card-body{height:19em;overflow:hidden}.card .card-content .card-title,.card .card-reveal .card-title{line-height:22.8px;max-height:80px;font-size:19px;font-family:roberto,Helvetica Neue,Helvetica,Arial,sans-serif;color:#313131}.card .card-content .activator,.card .card-reveal .activator{cursor:pointer;font-family:Material Icons}.card .card-content i.right,.card .card-reveal i.right{margin-left:0}.card .card-content .original{line-height:24px;font-size:15px}a.original{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.card .card-entry-labels{position:absolute;top:10px;z-index:90;max-width:50%}.card-tag-labels li,.card .card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 16px!important;background-color:rgba(0,151,167,.85);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-entry-labels-hidden{margin:2.5px auto}.card .card-entry-labels-hidden li{display:inline-block;background-color:rgba(0,151,167,.85);margin:0 5px;padding:5px 12px;border-radius:3px;color:#fff;max-height:2em;max-width:calc(100% - 15px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-entry-labels-hidden li:first-child{margin-left:0}#list .chip a,.card-entry-labels-hidden a,.card-entry-labels a,.card-entry-tags a,.card-tag-labels a{text-decoration:none;font-weight:400;color:#fff}.card .card-content .estimatedTime{margin-bottom:10px}.card .card-action{padding:10px 5px 10px 15px}.card .card-action ul.links{margin:0;font-size:24px;line-height:24px}.card .card-action ul.tools li a.tool{margin-right:5px!important}.card-stacked:hover ul.tools-list{display:block}.card-stacked ul.tools-list{display:none}.card .card-action a{color:#fff;margin:0}.card .card-action a:hover{color:#fff}.card .card-action .reading-time{display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.quickstart .card .card-action a,.quickstart .card .card-action a:hover{color:#fff!important}.settings .div_tabs{padding-bottom:15px}.card.sw{max-width:370px;margin-left:auto;margin-right:auto}.card .card-image{height:10em}.card .card-fullimage{height:13.5em}.card .card-fullimage .preview,.card .card-image .preview{height:14em;background-size:cover;background-repeat:no-repeat;background-position:50%}#article{font-size:20px;margin:0 auto;max-width:45em}#article article{color:#424242;font-size:18px;line-height:1.7em}#article article h1,#article article h2,#article article h3,#article article h4,#article article h5,#article article h6{color:#212121}#article article h1 strong,#article article h2 strong,#article article h3 strong,#article article h4 strong,#article article h5 strong,#article article h6 strong{font-weight:500}#article article h6{font-size:19.2px;font-size:1.2rem}#article article h5{font-size:25.6px;font-size:1.6rem}#article article h4{font-size:30.4px;font-size:1.9rem}#article article h3{font-size:35.2px;font-size:2.2rem}#article article h2{font-size:40px;font-size:2.5rem}#article article h1{font-size:43.2px;font-size:2.7rem}#article figure,#article img{max-width:100%;height:auto}#article article a{border-bottom:1px dotted #03a9f4;text-decoration:none}#article article a:hover{border-bottom-style:solid}#article article ul{padding-left:30px}#article article ul,#article article ul li{list-style-type:disc}#article article blockquote{font-style:italic}#article article strong{font-weight:700}#article article pre{box-sizing:border-box;margin:0 0 1.75em;border:1px solid #e3f2fd;width:100%;padding:10px;font-family:monospace;font-size:.8em;white-space:pre;overflow:auto;background:#f5f5f5;border-radius:3px}#article>header>h1{font-size:2em;margin:33.6px 0 10.88px;margin:2.1rem 0 .68rem}.reader-mode{width:95px!important;transition:width .2s ease}.reader-mode:hover{width:240px!important}.reader-mode .collapsible-body{height:0;overflow:hidden}.reader-mode:hover .collapsible-body{height:auto}.reader-mode span{opacity:0;transition:opacity .2s ease}.reader-mode:hover span{opacity:1}.progress{position:fixed;top:0;width:100%;height:3px;margin:0;z-index:9999}#article aside .tools{font-size:.8em;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto}article aside .tools li{display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}#article aside .tools a{color:#000;text-decoration:none}#article aside #list{float:right;margin:0 15px 10px}#article aside .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px}#article aside .chip a,#article aside .chip i{color:#fff}@media only screen and (max-width:992px){footer,header,main,nav{padding-left:0}.pagination{width:auto}.nav-panels .action{padding-right:.75rem}.nav-panel-buttom{-ms-flex-pack:distribute;justify-content:space-around}#article{max-width:35em;margin-left:auto;margin-right:auto;font-size:18px}#article>header>h1{font-size:1.33em}.reader-mode{width:240px!important}.reader-mode span{opacity:1}.tabs{display:inline-block;height:auto}.tab{min-width:100%}.indicator{display:none}.pagination li.next,.pagination li.prev{width:auto}.drag-target+.drag-target{height:50%}.drag-target+.drag-target+.drag-target{top:50%}}@media only screen and (min-width:1200px) and (max-width:1650px){.row .col.l3{width:33.33333%;margin-left:0}}@media only screen and (min-width:993px) and (max-width:1200px){.row .col.l1{width:25%;margin-left:0}.row .col.l2{width:33.33333%;margin-left:0}.row .col.l3{width:41.66667%;margin-left:0}.row .col.l4{width:50%;margin-left:0}.row .col.l5{width:58.33333%;margin-left:0}.row .col.l6{width:66.66667%;margin-left:0}.row .col.l7{width:75%;margin-left:0}.row .col.l8{width:83.33333%;margin-left:0}.row .col.l9{width:91.66667%;margin-left:0}.row .col.l10{width:100%;margin-left:0}}@media only screen and (max-width:350px){.nb-results{display:none}.row .col,main ul.row{padding:0}}.icon-google-plus2:before{content:"\ea89"}.icon-facebook2:before{content:"\ea8d"}.icon-twitter:before{content:"\ea96"}.icon-apple:before{content:"\eabf"}.icon-android:before{content:"\eac1"}.icon-chrome:before{content:"\eae5"}.icon-firefox:before{content:"\eae6"}.icon-link:before{content:"\e9cb"}footer [class*=" icon-"],footer [class^=icon-]{font-size:2em;transition:text-shadow .2s ease;padding-right:10px}footer [class*=" icon-"]:hover,footer [class^=icon-]:hover{text-shadow:0 0 10px rgba(0,0,0,.3)}div.settings div.input-field div,div.settings div.input-field ul{margin-top:40px}div.settings div.file-field div{margin-top:inherit}.input-field label.active{font-size:16px;font-size:1rem}nav .input-field input{margin:0};@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article .mbm a,#article>aside,#article_toolbar,#links,#slide-out,#sort,.entry+.results,.hide-on-large-only,.messages,.progress,.top_link,body>footer,body>header,div.tools,header div{display:none!important}main{padding-left:0!important}#article{margin:inherit!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}
\ No newline at end of file
+ */.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;transition:background .15s ease-out,top 0s .15s;-webkit-backface-visibility:hidden}.picker__frame{position:absolute;margin:0 auto;min-width:256px;width:300px;max-height:350px;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}@media (min-height:28.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:28.875em){.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:28.875em){.picker__box{display:block;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}.picker--opened .picker__holder{top:0;background:transparent;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:35.875em){.picker--opened .picker__frame{top:10%;bottom:20%auto}}.picker__input.picker__input--active{border-color:#e3f2fd}.picker__frame{margin:0 auto;max-width:325px}@media (min-height:38.875em){.picker--opened .picker__frame{top:10%;bottom:auto}}.picker__box{padding:0 1em}.picker__header{text-align:center;position:relative;margin-top:.75em}.picker__month,.picker__year{display:inline-block;margin-left:.25em;margin-right:.25em}.picker__select--month,.picker__select--year{height:2em;padding:0;margin-left:.25em;margin-right:.25em}.picker__select--month.browser-default{display:inline;background-color:#fff;width:40%}.picker__select--year.browser-default{display:inline;background-color:#fff;width:25%}.picker__select--month:focus,.picker__select--year:focus{border-color:rgba(0,0,0,.05)}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box;top:-.25em}.picker__nav--prev{left:-1em;padding-right:1.25em}.picker__nav--next{right:-1em;padding-left:1.25em}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:none;border-right-color:#f5f5f5;border-left-color:#f5f5f5}.picker__table{border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:16px;font-size:1rem;width:100%;margin-top:.75em;margin-bottom:.5em}.picker__table,.picker__table td,.picker__table th{text-align:center}.picker__table td{margin:0;padding:0}.picker__weekday{width:14.285714286%;font-size:.75em;padding-bottom:.25em;color:#999;font-weight:500}@media (min-height:33.875em){.picker__weekday{padding-bottom:.5em}}.picker__day--today{position:relative;color:#595959;letter-spacing:-.3;padding:12px 0;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day--disabled:before{border-top-color:#aaa}.picker__day--infocus:hover{cursor:pointer;color:#000;font-weight:500}.picker__day--outfocus{display:none;padding:12px 0;padding:.75rem 0;color:#fff}.picker__day--outfocus:hover{cursor:pointer;color:#ddd;font-weight:500}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{cursor:pointer}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;transform:scale(.75);background:#0089ec;color:#fff}.picker--focused .picker__day--disabled,.picker__day--disabled,.picker__day--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__day--highlighted.picker__day--disabled,.picker__day--highlighted.picker__day--disabled:hover{background:#bbb}.picker__footer{text-align:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.picker__button--clear,.picker__button--close,.picker__button--today{border:1px solid #fff;background:#fff;font-size:.8em;padding:.66em 0;font-weight:700;width:33%;display:inline-block;vertical-align:bottom}.picker__button--clear:hover,.picker__button--close:hover,.picker__button--today:hover{cursor:pointer;color:#000;background:#b1dcfb;border-bottom-color:#b1dcfb}.picker__button--clear:focus,.picker__button--close:focus,.picker__button--today:focus{background:#b1dcfb;border-color:rgba(0,0,0,.05);outline:none}.picker__button--clear:before,.picker__button--close:before,.picker__button--today:before{position:relative;display:inline-block;height:0}.picker__button--clear:before,.picker__button--today:before{content:" ";margin-right:.45em}.picker__button--today:before{top:-.05em;width:0;border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker__button--clear:before{top:-.25em;width:.66em;border-top:3px solid #e20}.picker__button--close:before{content:"\D7";top:-.1em;vertical-align:top;font-size:1.1em;margin-right:.35em;color:#777}.picker__button--today[disabled],.picker__button--today[disabled]:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default}.picker__button--today[disabled]:before{border-top-color:#aaa}.picker__box{border-radius:2px;overflow:hidden}.picker__date-display{text-align:center;background-color:#26a69a;color:#fff;padding-bottom:15px;font-weight:300}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#000;background:#a1ded8}.picker__weekday-display{background-color:#1f897f;padding:10px;font-weight:200;letter-spacing:.5;font-size:16px;font-size:1rem;margin-bottom:15px}.picker__month-display{text-transform:uppercase;font-size:32px;font-size:2rem}.picker__day-display{font-size:72px;font-size:4.5rem;font-weight:400}.picker__year-display{font-size:28.8px;font-size:1.8rem;color:hsla(0,0%,100%,.4)}.picker__box{padding:0}.picker__calendar-container{padding:0 16px;padding:0 1rem}.picker__calendar-container thead{border:none}.picker__table{margin-top:0;margin-bottom:.5em}.picker__day--infocus{color:#595959;letter-spacing:-.3;padding:12px 0;padding:.75rem 0;font-weight:400;border:1px solid transparent}.picker__day.picker__day--today{color:#26a69a}.picker__day.picker__day--today.picker__day--selected{color:#fff}.picker__weekday{font-size:14.4px;font-size:.9rem}.picker--focused .picker__day--selected,.picker__day--selected,.picker__day--selected:hover{border-radius:50%;transform:scale(.9);background-color:#26a69a;color:#fff}.picker--focused .picker__day--selected.picker__day--outfocus,.picker__day--selected.picker__day--outfocus,.picker__day--selected:hover.picker__day--outfocus{background-color:#a1ded8}.picker__footer{text-align:right;padding:5px 10px}.picker__close,.picker__today{font-size:17.6px;font-size:1.1rem;padding:0 16px;padding:0 1rem;color:#26a69a}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.75em solid #676767;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.75em solid #676767}button.picker__clear:focus,button.picker__close:focus,button.picker__today:focus{background-color:#a1ded8}.picker__list{list-style:none;padding:.75em 0 4.2em;margin:0}.picker__list-item{border-bottom:1px solid #ddd;border-top:1px solid #ddd;margin-bottom:-1px;position:relative;background:#fff;padding:.75em 1.25em}@media (min-height:46.75em){.picker__list-item{padding:.5em 1em}}.picker__list-item:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker__list-item--highlighted,.picker__list-item:hover{border-color:#0089ec;z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;color:#000;background:#b1dcfb}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{background:#0089ec;color:#fff;z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{background:#f5f5f5;border-color:#f5f5f5;color:#ddd;cursor:default;border-color:#ddd;z-index:auto}.picker--time .picker__button--clear{display:block;width:80%;margin:1em auto 0;padding:1em 1.25em;background:none;border:0;font-weight:500;font-size:.67em;text-align:center;text-transform:uppercase;color:#666}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{color:#000;background:#b1dcfb;background:#e20;border-color:#e20;cursor:pointer;color:#fff;outline:none}.picker--time .picker__button--clear:before{top:-.25em;color:#666;font-size:1.25em;font-weight:700}.picker--time .picker__button--clear:focus:before,.picker--time .picker__button--clear:hover:before{color:#fff}.picker--time .picker__frame{min-width:256px;max-width:320px}.picker--time .picker__box{font-size:1em;background:#f2f2f2;padding:0}@media (min-height:40.125em){.picker--time .picker__box{margin-bottom:5em}}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.material-icons.md-dark{color:rgba(0,0,0,.54)}.material-icons.md-dark.md-inactive{color:rgba(0,0,0,.26)}.material-icons.md-light{color:#fff}.material-icons.md-light.md-inactive{color:hsla(0,0%,100%,.3)}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;background-size:24px;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-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"}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--black.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--unmark{background-image:url(../../_global/img/icons/unmark-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}body{display:-ms-flexbox;display:flex;min-height:100vh;-ms-flex-direction:column;flex-direction:column;background:#fafafa}body.login main{padding:0;min-height:100vh}.border-bottom{border-bottom:1px solid #ddd}footer,main,nav{padding-left:240px}#content,.valign-wrapper,main{height:100%}#main{-ms-flex:1 0 auto;flex:1 0 auto}.results{height:1em}.results .nb-results,.results .pagination{margin:15px;margin-bottom:0}.results .nb-results{display:-ms-inline-flexbox;display:inline-flex}.results a{color:#444}.pagination{float:right}.pagination ul{margin:0!important}.pagination li{padding:0}.pagination a{padding:0 10px;height:30px;display:block}.pagination .disabled{margin-right:10px;margin-left:10px}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}.pagination li.active span{padding:0 10px;height:30px;display:block;color:#fff}.page-footer .footer-copyright{min-width:50px;height:auto!important;line-height:1em!important}.page-footer .footer-copyright p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.hidden,.picker__date-display{display:none}footer.page-footer{margin-top:10px;padding-top:0}footer .row{margin-bottom:10px}nav input{color:#aaa}nav{height:auto}.nav-wrapper{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;min-height:64px}.nav-wrapper .button-collapse{padding:0 15px}.nav-input{display:none}.nav-panel-buttom{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-pack:end;justify-content:flex-end}.nav-panel-buttom li{max-height:64px}.nav-panels{transition:background .2s ease}.nav-panel-add .add,.nav-panel-search .search,.nav-panels .close{color:#444!important}.nav-panels .action{padding-left:12px;padding-left:.75rem;font-size:33.6px;font-size:2.1rem;white-space:nowrap}.nav-panels .input-field input{display:block;line-height:inherit;padding-left:64px!important;padding-left:4rem!important;width:calc(100% - 8rem)}.nav-panels .input-field input:focus{background-color:#fff;border:0;box-shadow:none;color:#444}.input-field.nav-panel-add label,.input-field.nav-panel-search label{left:16px;left:1rem}.input-field.nav-panel-add .close,.input-field.nav-panel-search .close{position:absolute;top:0;right:16px;right:1rem;color:transparent;cursor:pointer;font-size:32px;font-size:2rem;transition:color .3s}#button_export,#button_filters{display:none}.input-field.nav-panel-add,.input-field.nav-panel-add form,.input-field.nav-panel-search,.input-field.nav-panel-search form{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.side-nav.fixed a{font-size:13px;line-height:44px;height:44px}.side-nav .collapsible-header,.side-nav.fixed .collapsible-header{height:45px;line-height:44px;padding:0 20px}.bold>a{font-weight:700}.side-nav>li.logo{line-height:0;text-align:center}#main .logo a{height:100pt}#main .logo img{height:100pt;width:100pt}#main .logo:hover{background:transparent}.side-nav li{padding:0}.side-nav a{margin:0 16px;margin:0 1rem}span.numberItems{float:right}nav ul a:hover{background-color:initial}#filters button{padding:0;width:100%}.side-nav.fixed.right-aligned{right:-250px;left:auto!important}#filters div.with-checkbox{height:48px;height:3rem;margin-top:0}main #content{padding:0 8px;padding:0 .5rem}main ul.row{padding:0 12px;padding:0 .75rem}.data .card .card-body{height:19em;overflow:hidden}.card .card-content .card-title,.card .card-reveal .card-title{line-height:22.8px;max-height:80px;font-size:19px;font-family:roberto,Helvetica Neue,Helvetica,Arial,sans-serif;color:#313131}.card .card-content .activator,.card .card-reveal .activator{cursor:pointer;font-family:Material Icons}.card .card-content i.right,.card .card-reveal i.right{margin-left:0}.card .card-content .original{line-height:24px;font-size:15px}a.original{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.card .card-entry-labels{position:absolute;top:10px;z-index:90;max-width:50%}.card-tag-labels li,.card .card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 16px!important;background-color:rgba(0,151,167,.85);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-entry-labels-hidden{margin:2.5px auto}.card .card-entry-labels-hidden li{display:inline-block;background-color:rgba(0,151,167,.85);margin:0 5px;padding:5px 12px;border-radius:3px;color:#fff;max-height:2em;max-width:calc(100% - 15px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-entry-labels-hidden li:first-child{margin-left:0}#list .chip a,.card-entry-labels-hidden a,.card-entry-labels a,.card-entry-tags a,.card-tag-labels a{text-decoration:none;font-weight:400;color:#fff}.card .card-content .estimatedTime{margin-bottom:10px}.card .card-action{padding:10px 5px 10px 15px}.card .card-action ul.links{margin:0;font-size:24px;line-height:24px}.card .card-action ul.tools li a.tool{margin-right:5px!important}.card-stacked:hover ul.tools-list{display:block}.card-stacked ul.tools-list{display:none}.card .card-action a{color:#fff;margin:0}.card .card-action a:hover{color:#fff}.card .card-action .reading-time{display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.quickstart .card .card-action a,.quickstart .card .card-action a:hover{color:#fff!important}.settings .div_tabs{padding-bottom:15px}.card.sw{max-width:370px;margin-left:auto;margin-right:auto}.card .card-image{height:10em}.card .card-fullimage{height:13.5em}.card .card-fullimage .preview,.card .card-image .preview{height:14em;background-size:cover;background-repeat:no-repeat;background-position:50%}#article{font-size:20px;margin:0 auto;max-width:45em}#article article{color:#424242;font-size:18px;line-height:1.7em}#article article h1,#article article h2,#article article h3,#article article h4,#article article h5,#article article h6{color:#212121}#article article h1 strong,#article article h2 strong,#article article h3 strong,#article article h4 strong,#article article h5 strong,#article article h6 strong{font-weight:500}#article article h6{font-size:19.2px;font-size:1.2rem}#article article h5{font-size:25.6px;font-size:1.6rem}#article article h4{font-size:30.4px;font-size:1.9rem}#article article h3{font-size:35.2px;font-size:2.2rem}#article article h2{font-size:40px;font-size:2.5rem}#article article h1{font-size:43.2px;font-size:2.7rem}#article figure,#article img{max-width:100%;height:auto}#article article a{border-bottom:1px dotted #03a9f4;text-decoration:none}#article article a:hover{border-bottom-style:solid}#article article ul{padding-left:30px}#article article ul,#article article ul li{list-style-type:disc}#article article blockquote{font-style:italic}#article article strong{font-weight:700}#article article pre{box-sizing:border-box;margin:0 0 1.75em;border:1px solid #e3f2fd;width:100%;padding:10px;font-family:monospace;font-size:.8em;white-space:pre;overflow:auto;background:#f5f5f5;border-radius:3px}#article>header>h1{font-size:2em;margin:33.6px 0 10.88px;margin:2.1rem 0 .68rem}.reader-mode{width:95px!important;transition:width .2s ease}.reader-mode:hover{width:240px!important}.reader-mode .collapsible-body{height:0;overflow:hidden}.reader-mode:hover .collapsible-body{height:auto}.reader-mode span{opacity:0;transition:opacity .2s ease}.reader-mode:hover span{opacity:1}.progress{position:fixed;top:0;width:100%;height:3px;margin:0;z-index:9999}#article aside .tools{font-size:.8em;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin:0 auto}article aside .tools li{display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}#article aside .tools a{color:#000;text-decoration:none}#article aside #list{float:right;margin:0 15px 10px}#article aside .chip{background-color:rgba(0,151,167,.85);padding:0 15px 0 10px;margin:auto 2px}#article aside .chip a,#article aside .chip i{color:#fff}@media only screen and (max-width:992px){footer,header,main,nav{padding-left:0}.pagination{width:auto}.nav-panels .action{padding-right:.75rem}.nav-panel-buttom{-ms-flex-pack:distribute;justify-content:space-around}#article{max-width:35em;margin-left:auto;margin-right:auto;font-size:18px}#article>header>h1{font-size:1.33em}.reader-mode{width:240px!important}.reader-mode span{opacity:1}.tabs{display:inline-block;height:auto}.tab{min-width:100%}.indicator{display:none}.pagination li.next,.pagination li.prev{width:auto}.drag-target+.drag-target{height:50%}.drag-target+.drag-target+.drag-target{top:50%}}@media only screen and (min-width:1200px) and (max-width:1650px){.row .col.l3{width:33.33333%;margin-left:0}}@media only screen and (min-width:993px) and (max-width:1200px){.row .col.l1{width:25%;margin-left:0}.row .col.l2{width:33.33333%;margin-left:0}.row .col.l3{width:41.66667%;margin-left:0}.row .col.l4{width:50%;margin-left:0}.row .col.l5{width:58.33333%;margin-left:0}.row .col.l6{width:66.66667%;margin-left:0}.row .col.l7{width:75%;margin-left:0}.row .col.l8{width:83.33333%;margin-left:0}.row .col.l9{width:91.66667%;margin-left:0}.row .col.l10{width:100%;margin-left:0}}@media only screen and (max-width:350px){.nb-results{display:none}.row .col,main ul.row{padding:0}}.icon-google-plus2:before{content:"\ea89"}.icon-facebook2:before{content:"\ea8d"}.icon-twitter:before{content:"\ea96"}.icon-apple:before{content:"\eabf"}.icon-android:before{content:"\eac1"}.icon-chrome:before{content:"\eae5"}.icon-firefox:before{content:"\eae6"}.icon-link:before{content:"\e9cb"}footer [class*=" icon-"],footer [class^=icon-]{font-size:2em;transition:text-shadow .2s ease;padding-right:10px}footer [class*=" icon-"]:hover,footer [class^=icon-]:hover{text-shadow:0 0 10px rgba(0,0,0,.3)}div.settings div.input-field div,div.settings div.input-field ul{margin-top:40px}div.settings div.file-field div{margin-top:inherit}.input-field label.active{font-size:16px;font-size:1rem}nav .input-field input{margin:0};@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article .mbm a,#article>aside,#article_toolbar,#links,#slide-out,#sort,.entry+.results,.hide-on-large-only,.messages,.progress,.top_link,body>footer,body>header,div.tools,header div{display:none!important}main{padding-left:0!important}#article{margin:inherit!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}
\ No newline at end of file