diff --git a/docs/de/Einfuehrung.html b/docs/de/Einfuehrung.html new file mode 100644 index 0000000..e3d2b90 --- /dev/null +++ b/docs/de/Einfuehrung.html @@ -0,0 +1,105 @@ + + + + + + + Einfuehrung + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

wallabag ist eine Read-it-later-Anwendung: sie speichert Webseiten, indem sie lediglich die Inhalte behält. Elemente wie Navigations-Links und Werbung werden entfernt.

+

Funktionen

+
    +
  • Inhalte der Webseiten werden gespeichert: Texte und Bilder
  • +
  • die Webanwendung passt sich dem benutzten Anzeigegerät (Smartphone, PC, ... ) an
  • +
  • Artikel können als ePub exportiert werden
  • +
  • dank Smartphone-Apps können Artikel auch offline gelesen werden
  • +
  • dank Browser-Addons können neue Links schnell hinzugefügt werden
  • +
  • viele Templates zur individuellen Anpassung des Erscheinungsbild von wallabag sind verfügbar
  • +
  • ... und viele weitere Funktionen!
  • +
+

Diese Anwenderdokumentation soll zeigen, wie man wallabag nutzen kann.

+

Demonstration

+

Wenn du alle wallabag-Funktionen ausprobieren möchtest, kannst du diese Demonstrations-Webseite nutzen: http://demo.wallabag.org

+

Ein Benutzerkonto erstellen

+

Wenn du wallabag nicht selbst installieren möchtest oder kannst, kannst du stattdessen ein kostenloses Benutzerkonto auf Framabag.org erstellen. Dazu brauchst du nur eine gültige E-Mail-Adresse.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/Getting_started.html b/docs/en/Getting_started.html new file mode 100644 index 0000000..011959b --- /dev/null +++ b/docs/en/Getting_started.html @@ -0,0 +1,105 @@ + + + + + + + Getting started + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

wallabag is a read-it-later application: it saves a web page by keeping content only. Elements like navigation or ads are deleted.

+

Features

+
    +
  • content of the web page is saved: text and pictures.
  • +
  • the web application is responsive
  • +
  • you can export articles into ePub
  • +
  • you can read your articles offline thanks to smartphones applications
  • +
  • you can easily save a new link thanks to browser addons
  • +
  • many templates are available to change your wallabag as you wish
  • +
  • and many others great features !
  • +
+

This user documentation is here to learn to you what you can do with wallabag.

+

Demonstration

+

If you want to try all wallabag features, there is a demonstration website: http://demo.wallabag.org

+

Create an account

+

Maybe you don't want to install and update wallabag by yourself, or you can't do it, it's possible to create a free account on Framabag.org. Just your email is needed.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/Help_wallabag.html b/docs/en/Help_wallabag.html new file mode 100644 index 0000000..5d4c307 --- /dev/null +++ b/docs/en/Help_wallabag.html @@ -0,0 +1,90 @@ + + + + + + + Help wallabag + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/User_documentation/Download_and_install.html b/docs/en/User_documentation/Download_and_install.html new file mode 100644 index 0000000..5ed5ce3 --- /dev/null +++ b/docs/en/User_documentation/Download_and_install.html @@ -0,0 +1,120 @@ + + + + + + + Download and install + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

I don't want to install wallabag

+

If you can't or don't want to install Wallabag on your server, we suggest you create a free account on Framabag wich uses our software: read the complete documentation here (TODO write Create a framabag account).

+

I want to install wallabag

+

Download the latest wallabag version and unpack it. Copy the files on your web server.

+

Prerequisites for your web server

+ +

To ensure that your server has all the prerequisites, you can run the file wallabag_compatibility_test.php that is located in the install directory of wallabag.

+

Installation of the dependencies

+

In order to work properly, wallabag needs some dependencies. To install them, you have to use composer. In your wallabag folder, run the following commands:

+
curl -s http://getcomposer.org/installer | php
+php composer.phar install
+

If you can't install composer (In order to work properly, Wallabag needs some dependencies), we provide you a vendor.zip file to unpack in your wallabag directory.

+

Permissions

+

Your web server needs a writing access in assets, cache and db directory. Otherwise, a message will report that the installation is impossible.

+

Installation of wallabag. At last.

+

Access to wallabag from your web browser. If your server is correctly configured, you reach the setup screen.

+

Fill your database type (sqlite, mysql ou postgresql) and finally the information for your user account.

+

wallabag is now installed.

+

Login

+

From your web browser, you reach the login screen : fill your username and your password to connect to your account.

+

Enjoy!

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/User_documentation/Hidden_options.html b/docs/en/User_documentation/Hidden_options.html new file mode 100644 index 0000000..6542081 --- /dev/null +++ b/docs/en/User_documentation/Hidden_options.html @@ -0,0 +1,90 @@ + + + + + + + Hidden options + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/en/User_documentation/Save_your_first_article.html b/docs/en/User_documentation/Save_your_first_article.html new file mode 100644 index 0000000..a3a89ef --- /dev/null +++ b/docs/en/User_documentation/Save_your_first_article.html @@ -0,0 +1,115 @@ + + + + + + + Save your first article + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Once connected, you have many ways to save an article.

+

From the web application

+

Thanks to the bookmarklet

+

From Wikipedia

+
A bookmarklet is a bookmark stored in a web browser that contains JavaScript commands to extend the browser's functionality.
+

From your smartphone

+

Android

+

Installation and configuration

+

TODO

+

Saving an article

+

TODO

+

Reading

+

TODO

+

iOS

+

Installation and configuration

+

TODO

+

Use

+

TODO

+

Windows Phone

+

Installation and configuration

+

TODO

+

From your browser

+

Firefox

+

TODO

+

Chrome

+

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Contribuer_à_wallabag.html b/docs/fr/Contribuer_à_wallabag.html new file mode 100644 index 0000000..4354826 --- /dev/null +++ b/docs/fr/Contribuer_à_wallabag.html @@ -0,0 +1,125 @@ + + + + + + + Contribuer à wallabag + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Soumettre des bugs

+

Demande de support

+

Si vous avez un problème lors de l'installation ou de l'utilisation de wallabag (que ça soit l'application web ou les applications pour smartphone), utilisez le site de support http://support.wallabag.org.

+

Nous verrons alors si nous pouvons vous dépanner rapidement ou alors s'il s'agit un nouveau bug qu'il nous faudra corriger.

+

Il est préférable d'utiliser le site de support plutôt que de nous envoyer un mail : le suivi est plus pratique pour vous comme pour nous et la résolution de votre problème pourra resservir pour un autre utilisateur.

+

Créer un nouveau ticket

+

Si vous avez trouvé un bug lors de votre utilisation de wallabag, merci d'ouvrir un nouveau ticket sur Github (un compte est nécessaire).

+

Avant toute chose, pensez à lire les recommandations nécessaires pour la rédaction d'un nouveau ticket. Au mieux vous renseignez votre ticket, au mieux nous pourrons vous aider.

+ +

Écrire et corriger la documentation

+

La documentation que vous êtes en train de lire n'est sûrement pas complète, à jour, traduite dans votre langue. C'est pourquoi nous vous invitons à participer à sa rédaction.

+

Le dépôt Github se trouve ici : https://github.com/wallabag/documentation.

+

Astuce : si vous êtes en train de lire une page de la documentation et vous vous rendez compte d'une erreur ou d'un oubli, cliquez sur le lien Fix this page qui se trouve à côté du titre de la page. Vous serez alors redirigés vers la page sur Github, vous n'aurez plus qu'à proposer vos modifications.

+

Corriger les bugs, résoudre les problèmes : faire du support

+

Deux possibilités :

+
    +
  • lorsqu'un utilisateur de wallabag pose une nouvelle question sur le site de support, en tant qu'utilisateur avancé de wallabag, vous pouvez lui répondre.
  • +
  • sur Github, des tickets correspondent sûrement à vos compétences. Parcourez la liste des tickets et servez-vous.
  • +
+

Si vous souhaitez proposer une modification dans le code de wallabag, vous êtes le bienvenu. N'oubliez pas de lire les recommandations pour proposer vos modifications.

+

Communiquer

+

Rien de compliqué ici, parlez de wallabag autour de vous. Utilisez le mot-clé #wallabag sur tous vos réseaux sociaux préférés : twitter, Facebook, Diaspora*, Google+, etc.

+

D'ailleurs, voici la liste de nos comptes sur ces réseaux, si jamais vous voulez nous citer dans un de vos messages :

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_technique/Créer_un_nouveau_thème.html b/docs/fr/Documentation_technique/Créer_un_nouveau_thème.html new file mode 100644 index 0000000..d787aaf --- /dev/null +++ b/docs/fr/Documentation_technique/Créer_un_nouveau_thème.html @@ -0,0 +1,90 @@ + + + + + + + Créer un nouveau thème + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_technique/Docker.html b/docs/fr/Documentation_technique/Docker.html new file mode 100644 index 0000000..4ee6547 --- /dev/null +++ b/docs/fr/Documentation_technique/Docker.html @@ -0,0 +1,90 @@ + + + + + + + Docker + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_technique/Dépôt_git_de_wallabag.html b/docs/fr/Documentation_technique/Dépôt_git_de_wallabag.html new file mode 100644 index 0000000..cfddacc --- /dev/null +++ b/docs/fr/Documentation_technique/Dépôt_git_de_wallabag.html @@ -0,0 +1,100 @@ + + + + + + + Dépôt git de wallabag + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Si vous souhaitez contribuer au projet en proposant de nouvelles fonctionnalités ou en corrigeant des bugs, il faut suivre les recommandations que vous lirez ci-dessous concernant le dépôt Git disponible à cette adresse : https://github.com/wallabag/wallabag.

+

État des lieux

+

Pour la gestion des différentes versions de wallabag, nous utilisons Git.

+

Nous utilisons plusieurs branches pour le code source de l'application web de wallabag :

+
    +
  • la branche master : c'est la branche stable, celle qui est téléchargée pour tous ceux qui souhaitent installer wallabag pour leur utilisation.
  • +
  • la branche dev : avant d'être sur la branche master, toutes les corrections de bugs et nouvelles fonctionnalités doivent passer par cette branche. Cette branche n'est pas conseillée pour une utilisation en production.
  • +
  • la branche v2-symfony : c'est la branche de la refonte de wallabag. Un chapitre complet lui est consacré.
  • +
+

Workflow

+

Toutes les consignes concernant le dépôt Git se trouve dans le fichier CONTRIBUTING.md de wallabag. Merci de le lire attentivement avant toute modification.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_technique/Vagrant.html b/docs/fr/Documentation_technique/Vagrant.html new file mode 100644 index 0000000..f5a8b31 --- /dev/null +++ b/docs/fr/Documentation_technique/Vagrant.html @@ -0,0 +1,108 @@ + + + + + + + Vagrant + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Pour vous permettre de mettre en place rapidement la configuration requise pour wallabag, nous vous proposons un fichier Vagrantfile.

+

Définition Wikipedia

+
Vagrant est un logiciel libre et open-source pour la création et la configuration des environnements de développement virtuel. Il peut être considéré comme un wrapper autour du logiciel de virtualisation comme VirtualBox.
+

Utiliser Vagrant pour wallabag

+

Voici la procédure pour exécuter wallabag au sein d'un conteneur Vagrant :

+
wget -O wallabag-dev.zip https://github.com/wallabag/wallabag/archive/dev.zip 
+unzip wallabag-dev.zip 
+cd wallabag-dev 
+vagrant up
+

Accédez maintenant à http://localhost:8003 et à vous de jouer !

+

Qu'a installé le Vagrantfile ?

+

Le script installe un serveur LAMP, à savoir :

+
    +
  • Ubuntu 14.04
  • +
  • Un serveur web Apache2
  • +
  • PHP5
  • +
  • SQLite ou MySQL ou PostgreSQL pour PHP
  • +
  • XDebug pour PHP
  • +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_technique/wallabag_v2_(Symfony2).html b/docs/fr/Documentation_technique/wallabag_v2_(Symfony2).html new file mode 100644 index 0000000..bfc325e --- /dev/null +++ b/docs/fr/Documentation_technique/wallabag_v2_(Symfony2).html @@ -0,0 +1,90 @@ + + + + + + + wallabag v2 (Symfony2) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Classer_ses_articles.html b/docs/fr/Documentation_utilisateur/Classer_ses_articles.html new file mode 100644 index 0000000..b8e438a --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Classer_ses_articles.html @@ -0,0 +1,122 @@ + + + + + + + Classer ses articles + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Pour pouvoir retrouver plus facilement vos articles, plusieurs méthodes existent.

+

Tags

+

Assigner un tag

+

Depuis l'article

+

Aujourd'hui, il n'est pas encore possible d'assigner un tag lorsque vous sauvegardez un nouvel article.

+

Tout ajout de tag se fera donc sur un article déjà sauvegardé.

+

Sur la page de lecture de l'article, se trouve une partie tags suivie d'un crayon. Cliquez sur ce crayon.

+

Saisissez dans la case les tags que vous souhaitez assigner. Saisissez autant de tgas que vous le voulez, vous pouvez les séparer par une virgule pour gagner du temps. L'auto-complétion existe ici : si vous tapez les premières lettres d'un tag déjà existant, inutile de taper le mot en entier, sélectionnez-le dans la liste déroulante. Une fois tous vos tags saisis, cliquez sur le bouton Tag.

+

Vous pouvez ensuite retourner lire votre article.

+

Depuis la recherche

+

Un chapitre complet sur la recherche existe. Ici, nous verrons uniquement comment assigner un tag depuis votre recherche.

+

Lorsque votre recherche vous affiche les résultats, vous avez un lien en bas de page Apply the tag ABCD to this search. Cliquez dessus : un tag en fonction de la recherche que vous venez d'effectuer (ici ABCD) sera assigné à tous les articles trouvés.

+

Retrouver tous les articles d'un même tag

+

Dans le menu de wallabag, cliquez sur Tags. Ici s'affichent tous les tags que vous avez créés, triés par nombre d'articles au sein de chaque tag. Cliquez sur l'un de ces tags pour retrouver tous les articles correspondants à ce tag.

+

Articles favoris

+

Lorsque vous souhaitez mettre de côté un article, vous pouvez le marquer comme favori.

+

Marquer un article comme favori

+

Depuis la page de lecture d'un article, ou depuis une liste d'articles (par exemple, la liste des articles non lus), vous pouvez mettre un article comme favori juste en cliquant sur l'étoile qui apparait.
+Recliquer sur cette étoile enlèvera le statut favori de cet article.

+

Retrouver tous ses articles favoris

+

Dans le menu de wallabag, cliquez sur Favoris pour retrouver tous les articles que vous avez déjà mis en favori.

+

Articles archivés

+

Lorsque vous avez lu un article, vous pouvez l'archiver : ainsi il n'apparaitra plus dans votre liste d'articles non lus.
+Le fait d'archiver un article ne le supprime pas de wallabag.

+

Archiver un article

+

Depuis la page de lecture d'un article, ou depuis une liste d'articles (par exemple, la liste des articles non lus), vous pouvez archiver un article juste en cliquant sur l'icône ✓.
+Recliquer sur cette icône remettra l'article en statut non lu.

+

Retrouver tous ses articles archivés

+

Dans le menu de wallabag, cliquez sur Archive pour retrouver tous les articles que vous avez déjà archivés.

+

Supprimer l'article

+

Attention, la suppression d'un article est définitive : il est supprimé de la base de données de wallabag.

+

Pour supprimer un article, une icône de corbeille se trouve sur la page d'un article ou sur une liste d'articles (articles non lus, favoris ou archivés par exemple).

+

Nous vous faisons confiance : c'est pourquoi il n'y a aucune demande de confirmation lors de la suppression.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Configurer_wallabag.html b/docs/fr/Documentation_utilisateur/Configurer_wallabag.html new file mode 100644 index 0000000..da233c7 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Configurer_wallabag.html @@ -0,0 +1,102 @@ + + + + + + + Configurer wallabag + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Depuis le menu configuration, vous avez la possibilité de changer quelques options de wallabag.

+

Certaines parties ne seront pas présentées ici car elles bénéficient d'un chapitre complet dans la documentation (flux RSS, l'import depuis un service tiers, l'export de vos données, la conversion en ePub et le mode multi-utilisateurs).

+

Thème

+

Des goûts et des couleurs, on ne discute pas. C'est pourquoi wallabag vous propose de changer son habillage pour plaire à chacun.
+Sélectionnez le thème de votre choix dans la liste déroulante et validez en cliquant sur Mettre à jour.

+

Langue

+

Sélectionnez la langue de votre choix dans la liste déroulante et validez en cliquant sur Mettre à jour.

+

Mot de passe

+

Saisissez votre nouveau mot de passe dans les deux champs prévus et validez en cliquant sur Mettre à jour.
+Vous serez alors déconnecté et devrez saisir votre nouveau mot de passe pour accéder à wallabag.

+

Vider le cache

+

Le cache permet à wallabag d'effectuer certains traitements plus rapidement.
+Après une mise à jour de wallabag, il est conseillé de vider le cache. Vous n'avez qu'un clic à faire pour le vider.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Convertir_en_ePub.html b/docs/fr/Documentation_utilisateur/Convertir_en_ePub.html new file mode 100644 index 0000000..03dd87a --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Convertir_en_ePub.html @@ -0,0 +1,101 @@ + + + + + + + Convertir en ePub + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Pour que vous puissiez lire vos articles sauvegardés depuis votre liseuse, wallabag vous permet de les convertir au format ePub et ainsi vous créer un eBook pour vos longues soirées d'hiver.

+

Mise en garde

+

Attention, la génération de fichiers ePub peut être très consommatrice de ressources pour le serveur sur lequel est installé wallabag. Cela dépend du nombre d'articles et de leur longueur.
+Ne générez pas un eBook trop important si cela n'est pas nécessaire.

+

Où convertir les articles

+

Vous pouvez convertir vos articles depuis différents endroits de wallabag :

+
    +
  • sur la page de lecture d'un article : le lien ePub convertira ce seul article
  • +
  • depuis une liste d'articles (articles non lus, favoris ou archivés, articles d'un tag) : un lien en bas de page vous permet de convertir tous les articles de cette catégorie
  • +
  • depuis une recherche : le lien se trouve en bas de page
  • +
  • depuis la page de configuration : vous allez pouvoir convertir tous vos articles, peu importe la catégorie dans laquelle ils se trouvent
  • +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Flux_RSS.html b/docs/fr/Documentation_utilisateur/Flux_RSS.html new file mode 100644 index 0000000..9847209 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Flux_RSS.html @@ -0,0 +1,110 @@ + + + + + + + Flux RSS + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Les flux RSS vous permettent :

+
    +
  • de lire vos articles depuis votre lecteur de flux RSS préféré
  • +
  • d'activer les fonctionnalités de lecture pour les applications smartphones
  • +
+

Tout d'abord, vous devez activer la fonctionnalité RSS en générant votre jeton de flux.
+Rendez-vous dans configuration de wallabag et créez le jeton dans la partie Flux. +À tout moment, vous pouvez générer un nouveau jeton.

+

Lire les articles

+

Une fois le jeton créé, vous avez accès à trois flux RSS :

+
    +
  • celui des articles non lus
  • +
  • celui des articles favoris
  • +
  • celui des articles archivés
  • +
+

Ajoutez le flux de votre choix dans votre lecteur de flux RSS.
+Attention, lorsque vous lirez un article depuis votre lecteur de flux, ça ne le marquera pas comme lu dans wallabag.

+

Partager vos lectures

+

Si vous souhaitez partager vos lectures avec quelqu'un, envoyez-lui par exemple le flux RSS de vos articles préférés. Ainsi, dès qu'un article sera mis en favori dans wallabag, cette personne pourra également le lire.

+

Activer les fonctionnalités pour smartphones

+

Vous avez créé le jeton de flux RSS : il va vous être utile pour configurer votre application smartphone. Pour en savoir sur les applications smartphones, vous pouvez lire Sauvegarder son premier article.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Importer_:_Exporter.html b/docs/fr/Documentation_utilisateur/Importer_:_Exporter.html new file mode 100644 index 0000000..7ac1556 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Importer_:_Exporter.html @@ -0,0 +1,116 @@ + + + + + + + Importer : Exporter + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Importer

+

Pour importer des données dans wallabag, vous devez vous rendre dans la page Configuration.

+

Mise en garde

+

L'import de données peut être une opération gourmande pour votre serveur.

+

Depuis Pocket

+

TODO

+

Depuis Instapaper

+

TODO

+

Depuis Readability

+

TODO

+

Depuis wallabag

+

Puisque vous pouvez exporter vos données de wallabag (lire ci-dessous), il est évidemment possible de les réimporter.

+

Dans le formulaire d'import, sélectionnez votre fichier d'export wallabag (au format JSON). Démarrez l'import et voila.

+

Contrairement aux imports ci-dessus, le traitement est moins long car toutes les données (titre et contenu des articles) sont déjà présentes dans le fichier, il n'est pas nécessaire pour wallabag d'accéder à chacune des URL.
+Par contre, le fichier d'import est forcément plus conséquent.

+

Depuis un fichier HTML ou JSON

+

TODO

+

Exporter

+

Il est possible d'exporter ses données depuis la page Configuration de wallabag. Plusieurs raisons possibles :

+
    +
  • réinstaller wallabag
  • +
  • quitter le service Framabag pour installer soi-même wallabag
  • +
  • un compte sur un wallabag multi-utilisateurs souhaite avoir sa propre installation de wallabag
  • +
  • ...
  • +
+

Vous téléchargerez alors un fichier au format JSON.
+Comme nous l'avons vu ci-dessus, il est possible d'importer ce fichier dans wallabag.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Les_options_cachées.html b/docs/fr/Documentation_utilisateur/Les_options_cachées.html new file mode 100644 index 0000000..2ad070b --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Les_options_cachées.html @@ -0,0 +1,114 @@ + + + + + + + Les options cachées + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Mise en garde

+

Attention, cette partie concerne les utilisateurs avancés. Nous allons modifier un fichier important de wallabag, inc/poche/config.inc.php, il est donc conseillé de faire une sauvegarde de celui-ci avant toute modification.
+Toute erreur lors d'une modification d'un fichier de wallabag pourra entrainer des dysfonctionnements.

+

Ce fichier est créé lorsque vous installez wallabag.
+Installez donc d'abord wallabag, faites une copie du fichier et ouvrez-le avec votre éditeur de texte préféré.

+

Dans ce fichier sont définis des paramètres qui ne sont, aujourd'hui, pas encore disponibles dans la page Configuration de wallabag.

+

Modification des options avancées

+

Chaque paramètre est défini de cette façon :

+
@define ('NOM_DU_PARAMETRE', 'Valeur du paramètre');
+

Pour chaque ligne, vous ne pouvez modifier que la partie Valeur du paramètre.

+

Listons maintenant les différents paramètres que vous pouvez changer :

+
    +
  • HTTP_PORT (par défaut, 80) : correspond au port HTTP de votre serveur web. À changer si votre serveur web est derrière un proxy. Valeur attendue : un nombre.
  • +
  • SSL_PORT (par défaut, 443) : correspond au port SSL de votre serveur web. À changer si votre serveur web utilises SSLH. Valeur attendue : un nombre.
  • +
  • DEBUG_POCHE (par défaut, FALSE) : si vous rencontrez des problèmes avec wallabag, nous vous demanderons peut-être d'activer le mode Debug. Valeurs attendues : TRUE ou FALSE.
  • +
  • DOWNLOAD_PICTURES (par défaut, FALSE) : permet de télécharger sur votre serveur les images des articles. Ce paramètre est désactivé par défaut pour ne pas surcharger votre serveur web. Nous préférons vous laisser activer vous-même ce paramètre. Valeurs attendues : TRUE ou FALSE.
  • +
  • SHARE_TWITTER (par défaut, TRUE) : permet d'activer le partage vers twitter. Valeurs attendues : TRUE ou FALSE.
  • +
  • SHARE_MAIL (par défaut, TRUE) : permet d'activer le partage par email. Valeurs attendues : TRUE ou FALSE.
  • +
  • SHARE_SHAARLI (par défaut, FALSE) : permet d'activer le partage vers votre installation de Shaarli (gestionnaire de favoris). Valeurs attendues : TRUE ou FALSE.
  • +
  • SHAARLI_URL (par défaut, 'http://myshaarliurl.com') : définit l'URL de votre installation de Shaarli. Valeur attendue : une URL.
  • +
  • FLATTR (par défaut, TRUE) : permet d'activer la possibilité de flattrer un article (Flattr est une plateforme de micro-dons). Si un article est flattrable, une icône s'affichera et vous permet d'envoyer un micro-don à l'auteur de l'article. Valeurs attendues : TRUE ou FALSE.
  • +
  • SHOW_PRINTLINK (par défaut, '1') : permet d'afficher le lien pour imprimer un article. Valeurs attendues : '0' pour désactiver ou '1' pour activer.
  • +
  • SHOW_READPERCENT (par défaut, '1') : permet d'afficher (sur les thèmes default, dark, dmagenta, solarized, solarized-dark) le pourcentage de lecture de l'article. Valeurs attendues : '0' pour désactiver ou '1' pour activer.
  • +
  • PAGINATION (par défaut, '12') : définit le nombre d'articles affichés sur une liste. Valeur attendue : un nombre.
  • +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Lire_un_article.html b/docs/fr/Documentation_utilisateur/Lire_un_article.html new file mode 100644 index 0000000..ffc2ed2 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Lire_un_article.html @@ -0,0 +1,116 @@ + + + + + + + Lire un article + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Lire un article n'est pas la chose la plus compliquée dans wallabag. Vous n'avez qu'à cliquer sur le titre d'un article pour l'afficher.

+

Revenir là où vous avez laissé votre article

+

Si vous quittez un article alors que vous n'êtes qu'à la moitié de celui-ci par exemple, lorsque vous reviendrez, wallabag vous renverra là où vous avez laissé l'article.

+

Cette astuce ne fonctionne qu'avec l'application web et pas les applications smartphones.

+

Actions possibles depuis l'article

+

Ces actions sont possibles grâce aux icônes affichés en haut de la page. Nous partons du principe que vous utilisez le thème Baggy (lire la documentation pour changer de thème), les icônes dans les autres thèmes sont sensiblement les mêmes.
+Voici donc ces actions, par ordre d'apparition des icônes.

+

Lire l'article original

+

Renvoie vers l'article original.

+

Marquer l'article comme lu

+

Archive l'article, qui se retrouvera dans la catégorie Archive du menu de wallabag.
+Recliquer dessus permet de replacer cet article en état non lu.

+

Mettre l'article en favori

+

Marque l'article comme favori, qui se retrouvera dans la catégorie Favoris du menu de wallabag.
+Recliquer dessus permet d'enlever le statut de favori.

+

Supprimer l'article

+

Supprime complètement l'article de wallabag. Il ne pourra être restauré. Attention, aucune confirmation n'est demandée.

+

Partager vers twitter

+

Partage le titre et le lien original de l'article sur twitter.

+

Partager par email

+

Partage le titre et le lien original de l'article par email.

+

Imprimer l'article

+

Ouvre la fenêtre d'impression du navigateur.

+

Convertir en ePub

+

Convertit l'article au format ePub. Un chapitre complet existe.

+

Signaler que l'article s'affiche mal

+

Permet de signaler qu'un article ne s'affiche pas comme attendu. Un chaptire complet existe.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Multi-utilisateurs.html b/docs/fr/Documentation_utilisateur/Multi-utilisateurs.html new file mode 100644 index 0000000..7f319f1 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Multi-utilisateurs.html @@ -0,0 +1,97 @@ + + + + + + + Multi-utilisateurs + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Créer un nouveau compte

+

Si vous souhaitez utiliser wallabag pour plusieurs personnes, il est possible de créer de nouveaux comptes depuis la page de configuration.

+

En bas de cette page se trouve un formulaire où vous devez saisir un nom d'utilisateur et un mot de passe.

+

Il est maintenant possible de se connecter avec ce compte depuis la page d'identification de wallabag.

+

Aucune information n'est partagée entre les différents comptes.

+

Supprimer un compte

+

Il est possible de supprimer son propre compte, depuis la page de configuration. Il suffit de saisir son mot de passe et de demander la suppression.

+

Attention, lorsqu'il ne reste plus qu'un compte, il est évidemment impossible de le supprimer.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Rechercher.html b/docs/fr/Documentation_utilisateur/Rechercher.html new file mode 100644 index 0000000..04c0c82 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Rechercher.html @@ -0,0 +1,96 @@ + + + + + + + Rechercher + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Pour que vous puissiez retrouver un article au plus vite, nous avons mis en place un moteur de recherche complet.

+

Cliquez sur Rechercher dans le menu de wallabag. Là, saisissez un terme de recherche.

+

wallabag ira parcourir tous vos articles et affichera ceux qui contiennent le terme de recherche dans leur titre ou dans le contenu de l'article.

+

Convertir cette recherche au format ePub

+

Vous pouvez convertir les articles retournés au format ePub, pour les lire sur une liseuse par exemple. Lisez Convertir en ePub pour en savoir plus.

+

Assigner un tag aux résultats de cette recherche

+

Vous pouvez créer un tag en fonction du critère de recherche. Lisez Classer ses articles pour en savoir plus.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Sauvegarder_son_premier_article.html b/docs/fr/Documentation_utilisateur/Sauvegarder_son_premier_article.html new file mode 100644 index 0000000..c3a023a --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Sauvegarder_son_premier_article.html @@ -0,0 +1,135 @@ + + + + + + + Sauvegarder son premier article + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Une fois connecté sur wallabag, vous avez plusieurs moyens pour sauvegarder un article.

+

Depuis l'application web

+

Voyons d'abord comment faire depuis l'application web. Dans le menu, vous avez un lien Sauvegarder un lien. En cliquant dessus, un formulaire s'affiche : vous n'avez qu'à saisir l'adresse internet de l'article concerné.

+

Validez et le contenu de l'article est enregistré.

+

Par défaut, seul le texte est sauvegardé. Si vous souhaitez également conserver une copie des images sur votre serveur, il faut activer le paramètre DOWNLOAD_PICTURES. Lisez le chapitre Les options cachées pour en savoir plus.

+

Depuis le bookmarklet

+

Définition Wikipedia

+
Un bookmarklet est un petit programme JavaScript pouvant être stocké :
+* soit en tant qu'URL dans un signet (marque-page ou lien favori) avec la plupart des navigateurs Web ;
+* soit en tant qu'hyperlien dans une page web.
+

Depuis le menu de wallabag, cliquez sur configuration. Dans la première partie de cette page, nous avons listé les différents moyens de sauvegarder un article. Vous trouverez ainsi le bookmarklet (c'est le lien bag it !) à glisser / déposer dans la barre de favoris de votre navigateur.

+

Dorénavant, lorsque vous souhaitez sauvegarder un article sur lequel vous êtes en train de surfer, vous n'avez qu'à cliquer sur ce bookmarklet et l'article sera automatiquement enregistré.

+

Depuis son smartphone

+

Avant toute chose

+

Pour pouvoir utiliser une application smartphone, vous devez activer les flux RSS depuis la partie configuration de wallabag. Certaines informations seront ainsi affichées, comme votre token (jeton de sécurité). Lisez le chapitre Flux RSS pour en savoir plus.

+

Android

+

Installation et configuration

+

Vous pouvez télécharger l'application Android depuis le Google Play Store et depuis F-droid. C'est exactement la même application sur ces deux plateformes de téléchargement.

+

Une fois installée, démarrez l'application, rendez-vous dans la partie settings et renseignez les champs URL (Adresse complète de votre installation de wallabag ou de votre compte Framabag), User ID (très souvent, il vous faudra mettre 1 comme valeur). Si vous avez créé plusieurs comptes depuis wallabag, il faudra saisir l'identifiant du compte que vous souhaitez connecter à votre application) et Token (recopiez bien tous les caractères du token, disponible dans la configuration de wallabag).

+

Sauvegarde d'un article

+

Maintenant que tout est bien configuré, dès que vous naviguerez avec le navigateur de votre smartphone, vous pourrez à tout moment partager un article dans wallabag depuis le menu Partager : vous trouverez une entrée Bag it! qui ajoutera l'article dans wallabag.

+

Lecture

+

Lorsque vous ouvrez l'application, cliquez sur Synchronize : vos articles dernièrement sauvegardés seront ainsi téléchargés sur votre smartphone.

+

Vous n'avez maintenant plus besoin de connexion internet : cliquez sur le bouton List articles pour commencer votre lecture.

+

En bas de chaque article, un bouton Mark as read vous permet d'archiver l'article.

+

Aujourd'hui, la synchronisation ne s'effectue que dans un sens (de wallabag vers l'application), ce qui empêche de marquer comme lu un article sur wallabag depuis votre smartphone.

+

iOS

+

Installation et configuration

+

TODO

+

Utilisation

+

TODO

+

Windows Phone

+

Installation et configuration

+

Vous pouvez télécharger l'application Windows Phone depuis le Windows Store ou directement dans le Store de votre smartphone.

+

Une fois installée, l'application affichera une notification au premier lancement, demandant la configuration du serveur wallabag. Rendez-vous dans la partie Configuration de l'application en appuyant sur les 3 petits points du menu en bas de l'écran, puis renseignez les champs URL (Adresse complète de votre installation de wallabag ou de votre compte Framabag), User ID (très souvent, il vous faudra mettre 1 comme valeur).
+Si vous avez créé plusieurs comptes depuis wallabag, il faudra saisir l'identifiant du compte que vous souhaitez connecter à votre application) et Token (recopiez bien tous les caractères du token, disponible dans la configuration de wallabag).
+Enfin, sauvegardez les paramètres entrés.

+

Depuis son navigateur

+

Firefox

+

Téléchargez l'extension Firefox sur le site addons.mozilla.org et installez-la comme toute autre extension Firefox.

+

Dans les préférences de l'extension, renseignez l'URL complète de votre installation de wallabag ou de votre compte Framabag.

+

Personnalisez la barre d'outils de Firefox pour ajouter wallabag (icône w). Lorsque vous vous trouvez sur un article que vous souhaitez sauvegarder, cliquez sur cette icône : une nouvelle fenêtre s'ouvrira pour ajouter l'article et elle se refermera automatiquement.

+

Chrome

+

Téléchargez l'extension Chrome sur le site dédié et installez-la comme toute autre extension Chrome.

+

Dans les options de l'extension, renseignez l'URL complète de votre installation de wallabag ou de votre compte Framabag.

+

Lors de l'installation de l'extension, une nouvelle icône est apparue dans la barre d'outils de Chrome, une icône w. Lorsque vous vous trouvez sur un article que vous souhaitez sauvegarder, cliquez sur cette icône : une popup s'ouvrira et vous confirmera que l'article a bien été sauvegardé.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Se_créer_un_compte_sur_Framabag.html b/docs/fr/Documentation_utilisateur/Se_créer_un_compte_sur_Framabag.html new file mode 100644 index 0000000..be22610 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Se_créer_un_compte_sur_Framabag.html @@ -0,0 +1,103 @@ + + + + + + + Se créer un compte sur Framabag + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Puisque vous ne souhaitez peut-être pas gérer l'installation et la mise à jour de wallabag, ou puisque vous n'avez peut-être pas les connaissances pour l'installer, il vous est possible de vous créer un compte gratuit sur Framabag.org.

+

Création du compte

+

Cliquez sur le bouton Créez votre compte / Create your account.

+

Vous devez saisir certaines informations : votre nom d'utilisateur, votre mot de passe et votre adresse email. Votre adresse n'est utilisée que pour la validation de votre compte, sauf si vous cochez la case pour recevoir la newsletter (3 à 4 envois par an).

+

Une fois ce formulaire validé, vous recevez un email avec un lien de confirmation. Cliquez dessus, votre compte sera alors créé.

+

Vous recevrez un dernier email avec l'adresse de votre compte Framabag, de la forme https://www.framabag.org/u/votre-nom-d'utilisateur.

+

Stockage de vos informations

+

Framabag utilise une base de données par utilisateur. Nous ne faisons et ne ferons aucune utilisation de vos données stockées.

+

Vous avez oublié votre mot de passe

+

Si vous avez oublié votre mot de passe pour vous connecter à Framabag, un formulaire est disponible depuis la page d'accueil du service.
+Remplissez-le, un email de confirmation vous sera envoyé et vous permettra de saisir votre nouveau mot de passe.

+

Suppression de votre compte

+

Si vous souhaitez supprimer votre compte, contactez-nous par email : hello@wallabag.org avec l'adresse de création de votre compte, en nous indiquant votre nom d'utilisateur.

+

Nous vous répondrons quand votre compte sera supprimé : dès cet instant, plus aucune information vous concernant ne sera stockée sur Framabag.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Téléchargement_et_installation.html b/docs/fr/Documentation_utilisateur/Téléchargement_et_installation.html new file mode 100644 index 0000000..6d7dfa3 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Téléchargement_et_installation.html @@ -0,0 +1,119 @@ + + + + + + + Téléchargement et installation + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Je ne souhaite pas installer wallabag

+

Puisque vous ne voulez pas, puisque vous ne pouvez pas, nous vous proposons de vous créer un compte gratuit : lisez la documentation complète ici.

+

Je souhaite installer wallabag

+

Téléchargez la dernière version de wallabag et décompressez-la. Copiez les fichiers sur votre serveur web.

+

Pré-requis pour votre serveur web

+ +

Pour être sûr que votre serveur possède tous les pré-requis, vous pouvez exécuter le fichier wallabag_compatibility_test.php qui se trouve dans le répertoire install de wallabag.

+

Installation des dépendances

+

Pour pouvoir fonctionner, wallabag a besoin de dépendances. Pour les installer, vous devez utiliser composer. Dans votre dossier wallabag, exécutez les deux commandes suivantes :

+
curl -s http://getcomposer.org/installer | php
+php composer.phar install
+

Si vous ne pouvez pas installer composer (dans le cas d'hébergement mutualisé par exemple), nous vous proposons un fichier vendor.zip à décompresser dans votre répertoire wallabag.

+

Permissions

+

Le serveur web doit avoir accès en écriture aux répertoires assets, cache et db. Sans cela, un message vous indiquera que l'installation est impossible.

+

Installation de wallabag. Enfin.

+

Accédez à wallabag depuis votre navigateur. Si votre serveur est bien configuré, vous arrivez sur l'écran d'installation.

+

Renseignez le type de votre base de données (sqlite, mysql ou postgresql), les informations de votre base de données et enfin les informations pour votre compte utilisateur.

+

wallabag est maintenant installé.

+

Connexion

+

Vous arrivez sur l'écran d'identification : saisissez votre identifiant et votre mot de passe et vous voici connecté.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Documentation_utilisateur/Un_article_est_mal_affiché.html b/docs/fr/Documentation_utilisateur/Un_article_est_mal_affiché.html new file mode 100644 index 0000000..2091df7 --- /dev/null +++ b/docs/fr/Documentation_utilisateur/Un_article_est_mal_affiché.html @@ -0,0 +1,106 @@ + + + + + + + Un article est mal affiché + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

Si vous pensez que wallabag récupère mal le contenu d'un article (texte absent ou incomplet), nous vous proposons plusieurs possibilités.

+

Demande d'aide

+

Que ça soit par mail ou via un ticket, n'oubliez pas de nous donner certaines informations qui sont importantes pour que nous puissions résoudre le problème au mieux :

+
    +
  • l'URL de l'article concerné
  • +
  • ce que wallabag affiche
  • +
  • ce à quoi vous vous attendiez
  • +
  • la version de wallabag ou alors si vous utilisez Framabag
  • +
+

Ouvrir un ticket sur github

+

Pour ouvrir un nouveau ticket, il faut aller sur github. Un compte est nécessaire.
+N'oubliez pas de nous envoyer les informations ci-dessus.

+

Nous envoyer un email

+

Envoyez-nous un lien avec comme sujet Wrong display in wallabag à l'adresse hello@wallabag.org.
+N'oubliez pas de nous envoyer les informations ci-dessus.

+

Résoudre ce problème d'affichage

+

TODO

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/fr/Pour_commencer.html b/docs/fr/Pour_commencer.html new file mode 100644 index 0000000..344aa98 --- /dev/null +++ b/docs/fr/Pour_commencer.html @@ -0,0 +1,106 @@ + + + + + + + Pour commencer + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +
+
+
+
+ + +

wallabag est une application de lecture différée : elle permet simplement d'archiver une page web en ne conservant que le contenu. Les éléments superflus (menu, publicité, etc.) sont supprimés.

+

Fonctionnalités

+ +

Cette documentation est justement là pour faire découvrir toutes les possibilités de wallabag. C'est parti !

+

Licence

+

wallabag et tous ses projets connexes (dont cette documentation) sont sous licence MIT.

+

Copyright © 2013-2014 Nicolas Lœuillet nicolas@loeuillet.org +This work is free. You can redistribute it and/or modify it under the terms of the MIT License. +See the COPYING file for more details.

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/docs/img/app-thumbs.png b/docs/img/app-thumbs.png new file mode 100644 index 0000000..8dff7c7 Binary files /dev/null and b/docs/img/app-thumbs.png differ diff --git a/docs/img/app.png b/docs/img/app.png new file mode 100644 index 0000000..8c9f76c Binary files /dev/null and b/docs/img/app.png differ diff --git a/docs/img/favicon.png b/docs/img/favicon.png new file mode 100644 index 0000000..4b99b4b Binary files /dev/null and b/docs/img/favicon.png differ diff --git a/docs/img/glyphicons-halflings-white.png b/docs/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/docs/img/glyphicons-halflings-white.png differ diff --git a/docs/img/glyphicons-halflings.png b/docs/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/docs/img/glyphicons-halflings.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..d1a1abd --- /dev/null +++ b/docs/index.html @@ -0,0 +1,101 @@ + + + + + + + wallabag + + + + + + + + + + + + + + + + + +
+
+
+
+

Documentation for wallabag

+
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+

Welcome on wallabag documentation. Thanks to this tool, we hope that you can easily use wallabag and work with it.

+

Today, we have two documentations: for users and for developers. Just select your language and good reading!
+Feel free to contribute to this documentation. It's your documentation.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/js/bootstrap.min.js b/docs/js/bootstrap.min.js new file mode 100644 index 0000000..b04a0e8 --- /dev/null +++ b/docs/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:c-h-this.$element.height()}))}}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery); \ No newline at end of file diff --git a/docs/js/custom.js b/docs/js/custom.js new file mode 100644 index 0000000..23578e2 --- /dev/null +++ b/docs/js/custom.js @@ -0,0 +1,65 @@ +$(function () { + $('.aj-nav').click(function (e) { + e.preventDefault(); + $(this).parent().siblings().find('ul').slideUp(); + $(this).next().slideToggle(); + }); + + // Bootstrap Table Class + $('table').addClass('table'); + + // Responsive menu spinner + $('#menu-spinner-button').click(function () { + $('#sub-nav-collapse').slideToggle(); + }); + + // Catch browser resize + $(window).resize(function () { + // Remove transition inline style on large screens + if ($(window).width() >= 768) + $('#sub-nav-collapse').removeAttr('style'); + }); +}); + +//Fix GitHub Ribbon overlapping Scrollbar +var t = $('#github-ribbon'); +var a = $('article'); +if (t[0] && a[0] && a[0].scrollHeight > $('.right-column').height()) t[0].style.right = '16px'; + +//Toggle Code Block Visibility +function toggleCodeBlocks() { + var t = localStorage.getItem("toggleCodeStats") + t = (t + 1) % 3; + localStorage.setItem("toggleCodeStats", t); + var a = $('.content-page article'); + var c = a.children().filter('pre'); + var d = $('.right-column'); + if (d.hasClass('float-view')) { + d.removeClass('float-view'); + $('#toggleCodeBlockBtn')[0].innerHTML = "Hide Code Blocks"; + } else { + if (c.hasClass('hidden')) { + d.addClass('float-view'); + c.removeClass('hidden'); + $('#toggleCodeBlockBtn')[0].innerHTML = "Show Code Blocks Inline"; + } else { + c.addClass('hidden'); + $('#toggleCodeBlockBtn')[0].innerHTML = "Show Code Blocks"; + } + } +} + +if (localStorage.getItem("toggleCodeStats") >= 0) { + var t = localStorage.getItem("toggleCodeStats"); + if (t == 1) { + toggleCodeBlocks(); + localStorage.setItem("toggleCodeStats", 1); + } + if (t == 2) { + toggleCodeBlocks(); + toggleCodeBlocks(); + localStorage.setItem("toggleCodeStats", 2); + } +} else { + localStorage.setItem("toggleCodeStats", 0); +} diff --git a/docs/js/editor.js b/docs/js/editor.js new file mode 100644 index 0000000..9209d59 --- /dev/null +++ b/docs/js/editor.js @@ -0,0 +1,53 @@ +$(document).ready(function() { + var markdown_editor = $("#markdown_editor"), + save_editor = $(".save_editor"), + editor = $(".editor"); + + $("#editThis").click(function() { + editor.css({"display":"block"}); + markdown_editor.autosize().val(); + }); + + $(".closeEditor").click(function() { + editor.css({"display":"none"}); + }); + + save_editor.click(function() { + var original_text = save_editor.text(); + save_editor.text("Saving...").addClass("disabled"); + + $.post(window.location.href, {markdown: markdown_editor.val(), method: 'DauxEdit' }, function() { + save_editor.text("Done! Reloading page in 5 seconds. You can cancel it with ESC key"); + + var timeout = setTimeout(function() { + location.reload() + }, 5000); // lie + + $(document).keyup(function(e) { + if (e.keyCode == 27) { // esc key + clearTimeout(timeout); + save_editor.text("Page reload cancelled"); + setTimeout(function() { + save_editor.text(original_text).removeClass('disabled'); + }, 2000); + } + }); + }).fail(function() { + save_editor.removeClass('disabled').addClass("btn-danger").text("Failed :( - try checking your read/write permissions"); + setTimeout(function() { + save_editor.text(original_text).removeClass('btn-danger'); + },5000); + }); + }); +}); + + + + +/*! + Autosize v1.18.4 - 2014-01-11 + Automatically adjust textarea height based on user input. + (c) 2014 Jack Moore - http://www.jacklmoore.com/autosize + license: http://www.opensource.org/licenses/mit-license.php +*/ +!function(a){var b,c={className:"autosizejs",append:"",callback:!1,resizeDelay:10,placeholder:!0},d='",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("