-# Fanfix
+# Program
-A small program to download and convert fanfictions and comics from supported websites into offline files (epu, cbz...).
+Small description.
-It can either "convert" a website into a file, or import/export to/from its library.
+## Synopsis
-## Supported platforms
+- `program --help`
-Any platform with at lest Java 1.5 on it should be ok.
+## Description
-It was only tested on Linux up until now, though.
+Long description multiple paragraphs are ok.
-If you have any problems to compile it on another platform or with a supported Java version (1.4 won't work, but you may try to cross-compile; 1.8 had been tested and works), please contact me.
+## Options
-## Usage
+- **--help** (or **-h**): information about the syntax
-- java -jar fanfix.jar --convert http://SOME_SUPPORTE_URL/ epub /home/niki/my-story.epub: will convert the story to EPUB
-- java -jar fanfix.jar --import http://SOME_SUPPORTED_URL/ : will import the story into the local library
-- java -jar fanfix.jar --export LUID CBZ /tmp/comix.cbz : will export the story from the local library
-- java -jar fanfix.jar --list: will list the known stories and their LUIDs from the local library
-- ... (calling the program without parameters will display the syntax)
+### Supported platforms
-### Environment variables
+Any platform with at lest Java 1.6 on it should be ok.
-- LANG=en java -jar fanfix.jar: force the language to English (the only one for now...)
-- CONFIG_DIR=$HOME/.fanfix java -jar fanfix.jar: use the given directory as a config directory (and copy the default configuration if needed)
-- NOUTF=1 java -jar fanfix.jar: try to fallback to non-unicode values when possible (can have an impact on the resulting files, not only on user messages)
+It has been tested on Linux (xxx), and YYY (yyy), but feel free to inform us if you try it on another system.
-## Compilation
-
-./configure.sh && make
-
-You can also import the java sources into, say, Eclipse, and create a runnable JAR file from there.
-Just remember to unpak the 2 dependant libraries before (or "make libs" can do it).
-
-### Dependant libraries (included)
+If you have any problems to compile it with a supported Java version (1.6+), please contact us.
-- libs/nikiroo-utils-sources-0.9.1.jar: some shared utility functions I also use elsewhere
-- libs/unbescape-1.1.4-sources.jar: a nice library to escape/unescape a lot of text formats; I only use it for HTML
-
-Nothing else but Java 1.5+.
-
-Note that calling "make libs" will export the libraries into the src/ directory.
+## Compilation
-## Supported websites
+Just run `make`.
-Currently, the following websites are supported:
-- http://FimFiction.net/: Fanfictions devoted to the My Little Pony show
-- http://Fanfiction.net/: Fan fictions of many, many different universes, from TV shows to novels to games.
-- http://mangafox.me/: A well filled repository of mangas, or, as their website states: Most popular manga scanlations read online for free at mangafox, as well as a close-knit community to chat and make friends.
-- https://e621.net/: Furry website supporting comics, including MLP
+You can also use those make targets:
-We also support some other (file) types:
-- epub: EPUB files created by this program (we do not support "all" EPUB files)
-- text: Support class for local stories encoded in textual format, with a few rules :
- - the title must be on the first line,
- - the author (preceded by nothing, "by " or "©") must be on the second line, possibly with the publication date in parenthesis (i.e., "By Unknown (3rd October 1998)"),
- - chapters must be declared with "Chapter x" or "Chapter x: NAME OF THE CHAPTER", where "x" is the chapter number,
- - a description of the story must be given as chapter number 0,
- - a cover image may be present with the same filename but a PNG, JPEG or JPG extension.
-- info_text: Contains the same information as the TEXT format, but with a companion ".info" file to store some metadata
-- cbz: CBZ (collection of images) files created with this program
+- `make jar`: build the jar file
+- `make sjar`: build the source jar file
+- `make doc`: build the Doxygen documentation (`doxygen` required)
+- `make man`: build the man page (`pandoc` required)
+- `make install PREFIX=/usr/local`: install the program into PREFIX (default is `/usr/local`) and the manual if built
+- `make uninstall PREFIX=/usr/local`: uninstall the program from the given PREFIX
+- `make clear`: clear the temporary files
+- `make mrpropre`: clear everything, including the main executable and the documentation
+- `make test`: build the unit tests (`check` required)
+- `make run-test`: start the unit tests
-## TODO
+## Author
-- A nice README file
-- A binary JAR release (and thus, versions)
-- Improve the CLI reader
-- Offer some other readers (TUI, GUI)
-- Check if it can work on Android
+Program was written by Niki Roo <niki@nikiroo.be>