# Fanfix
Fanfix est un petit programme Java qui peut télécharger des histoires sur internet et les afficher hors ligne.
+## Synopsis
+
+- ```fanfix``` --import [*URL*]
+- ```fanfix``` --export [*id*] [*output_type*] [*target*]
+- ```fanfix``` --convert [*URL*] [*output_type*] [*target*] (+info)
+- ```fanfix``` --read [*id*] ([*chapter number*])
+- ```fanfix``` --read-url [*URL*] ([*chapter number*])
+- ```fanfix``` --list
+- ```fanfix``` --set-reader [*reader type*]
+- ```fanfix``` --server [*key*] [*port*]
+- ```fanfix``` --stop-server [*key*] [*port*]
+- ```fanfix``` --remote [*key*] [*host*] [*port*]
+- ```fanfix``` --help
+
## Description
(Si vous voulez juste voir les derniers changements, vous pouvez regarder le [Changelog](changelog-fr.md) -- remarquez que le programme affiche le changelog si une version plus récente est détectée depuis la version 1.4.0.)
- d'afficher une histoire en mode texte
- d'afficher une histoire en mode GUI **en appelant un programme natif pour lire le fichier** (mais Fanfix peut convertir le fichier en HTML avant, pour que n'importe quel navigateur web puisse l'afficher)
-## Sites supportés
+### Sites supportés
Pour le moment, les sites suivants sont supportés :
- https://sofurry.com/ : même chose, mais orienté sur les histoires plutôt que les images
- https://e-hentai.org/ : support ajouté sur demande : n'hésitez pas à demander un site !
-## À propos des types de fichiers supportés
+### Types de fichiers supportés
Nous supportons les types de fichiers suivants (aussi bien en entrée qu'en sortie) :
- cbz : les fichiers .cbz (une collection d'images zipées), de préférence créés avec Fanfix (même si les autres .cbz sont aussi supportés, mais sans la majorité des metadata de Fanfix dans ce cas)
- html : les fichiers HTML que vous pouvez ouvrir avec n'importe quel navigateur ; remarquez que Fanfix créera un répertoire pour y mettre les fichiers nécessaires, dont un fichier ```index.html``` pour afficher le tout -- nous ne supportons en entrée que les fichiers HTML créés par Fanfix
-## Plateformes supportées
+### Plateformes supportées
Toute plateforme supportant Java 1.6 devrait suffire.
Si vous avez des difficultés pour le compiler avec une version supportée de Java (1.6+), contactez-nous.
-## Utilisation
+## Options
Vous pouvez démarrer le programme en mode graphique (comme dans le screenshot en haut) :
- ```java -jar fanfix.jar```
+- ```fanfix``` (si vous avez utilisé *make install*)
Les arguments suivants sont aussi supportés :
- ```--help```: afficher la liste des options disponibles
- ```--version```: retourne la version du programme
-### Variables d'environnement
+### Environnement
Certaines variables d'environnement sont reconnues par le programme :
Nécessaires :
-- libs/nikiroo-utils-sources.jar: quelques utilitaires partagés
-- [libs/unbescape-sources.jar](https://github.com/unbescape/unbescape): une librairie sympathique pour convertir du texte depuis/vers beaucoup de formats ; utilisée ici pour la partie HTML
-- [libs/jsoup-sources.jar](https://jsoup.org/): une libraririe pour parser du HTML
+- ```libs/nikiroo-utils-sources.jar```: quelques utilitaires partagés
+- [```libs/unbescape-sources.jar```](https://github.com/unbescape/unbescape): une librairie sympathique pour convertir du texte depuis/vers beaucoup de formats ; utilisée ici pour la partie HTML
+- [```libs/jsoup-sources.jar```](https://jsoup.org/): une libraririe pour parser du HTML
Optionnelles :
-- [libs/jexer-sources.jar](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
+- [```libs/jexer-sources.jar```](https://github.com/klamonte/jexer): une petite librairie qui offre des widgets en mode TUI
+- [```pandoc```](http://pandoc.org/): pour générer les man pages depuis les fichiers README
Rien d'autre, si ce n'est Java 1.6+.
# Fanfix
Fanfix is a small Java program that can download stories from some supported websites and render them offline.
+## Synopsis
+
+- ```fanfix``` --import [*URL*]
+- ```fanfix``` --export [*id*] [*output_type*] [*target*]
+- ```fanfix``` --convert [*URL*] [*output_type*] [*target*] (+info)
+- ```fanfix``` --read [*id*] ([*chapter number*])
+- ```fanfix``` --read-url [*URL*] ([*chapter number*])
+- ```fanfix``` --list
+- ```fanfix``` --set-reader [*reader type*]
+- ```fanfix``` --server [*key*] [*port*]
+- ```fanfix``` --stop-server [*key*] [*port*]
+- ```fanfix``` --remote [*key*] [*host*] [*port*]
+- ```fanfix``` --help
+
## Description
(If you are interested in the recent changes, please check the [Changelog](changelog.md) -- note that starting from version 1.4.0, the changelog is checked at startup.)
- Display a story from the local library in text format in the console
- Display a story from the local library graphically **by calling a native program to handle it** (though Fanfix can automatically process it into HTML so any browser can open it)
-## Supported websites
+### Supported websites
Currently, the following websites are supported:
- https://sofurry.com/: same thing, but story-oriented
- https://e-hentai.org/: done upon request (so, feel free to ask for more websites!)
-## A note about file support
+### Support file types
We support a few file types for local story conversion (both as input and as output):
- cbz: .cbz (collection of images) files, preferably created with Fanfix (but any .cbz file is supported, though without most of Fanfix metadata, obviously)
- html: HTML files that you can open with any browser; note that it will create a directory structure with ```index.html``` as the main file -- we only support importing HTML files created by Fanfix
-## Supported platforms
+### Supported platforms
Any platform with at lest Java 1.6 on it should be ok.
If you have any problems to compile it with a supported Java version (1.6+), please contact us.
-## Usage
+## Options
You can start the program in GUI mode (as in the screenshot on top):
- ```java -jar fanfix.jar```
+- ```fanfix``` (if you used *make install*)
The following arguments are also allowed:
- ```--help```: display the available options
- ```--version```: return the version of the program
-### Environment variables
+### Environment
Some environment variables are recognized by the program:
### Dependant libraries (included)
-- libs/nikiroo-utils-sources.jar: some shared utility functions
-- [libs/unbescape-sources.jar](https://github.com/unbescape/unbescape): a nice library to escape/unescape a lot of text formats; used here for HTML
-- [libs/jexer-sources.jar](https://github.com/klamonte/jexer): a small library that offers TUI widgets
-- [libs/jsoup-sources.jar](https://jsoup.org/): a library to parse HTML
+Required:
+
+- ```libs/nikiroo-utils-sources.jar```: some shared utility functions
+- [```libs/unbescape-sources.jar```](https://github.com/unbescape/unbescape): a nice library to escape/unescape a lot of text formats; used here for HTML
+- [```libs/jsoup-sources.jar```](https://jsoup.org/): a library to parse HTML
+
+Optional:
+
+- [```libs/jexer-sources.jar```](https://github.com/klamonte/jexer): a small library that offers TUI widgets
+- [```pandoc```](http://pandoc.org/): to generate the man pages from the README files
Nothing else but Java 1.6+.