Merge branch 'subtree'
[fanfix.git] / README.md
index bc003c73634e203d234cf8c5aba4e6daf7699c6b..1ad3339b89830b9d3ed9634b1af94dd6eea4ef9a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,15 @@
 English [Français](README-fr.md)
 
 # Fanfix
+
 Fanfix is a small Java program that can download stories from some supported websites and render them offline.
 
+## 🔴 This is the command line and server program
+
+You can also use:
+- the graphical client [Fanfix-swing](https://github.com/nikiroo/fanfix-swing/)
+- the TUI client [Fanfix-jexer](https://github.com/nikiroo/fanfix-jexer/)
+
 ## Synopsis
 
 - ```fanfix``` --import [*URL*]
@@ -12,10 +19,9 @@ Fanfix is a small Java program that can download stories from some supported web
 - ```fanfix``` --read-url [*URL*] ([*chapter number*])
 - ```fanfix``` --search
 - ```fanfix``` --search [*where*] [*keywords*] (page [*page*]) (item [*item*])
-- ```fanfix``` --tag
-- ```fanfix``` --tag [*index 1*]... (page [*page*]) (item [*item*])
+- ```fanfix``` --search-tag
+- ```fanfix``` --search-tag [*index 1*]... (page [*page*]) (item [*item*])
 - ```fanfix``` --list
-- ```fanfix``` --set-reader [*GUI* | *TUI* | *CLI*]
 - ```fanfix``` --server [*key*] [*port*]
 - ```fanfix``` --stop-server [*key*] [*port*]
 - ```fanfix``` --remote [*key*] [*host*] [*port*]
@@ -25,20 +31,14 @@ Fanfix is a small Java program that can download stories from some supported web
 
 (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.)
 
-(A [TODO list](TODO.md) is also available to know what is expected to come in the future.)
-
-![Main GUI](screenshots/fanfix-1.3.2.png?raw=true "Main GUI")
-
-A screenshots cgallery an be found [here](screenshots/README.md).
-
-It will convert from a (supported) URL to an .epub file for stories or a .cbz file for comics (a few other output types are also available, like Plain Text, LaTeX, HTML...).
+This program will convert from a (supported) URL to an .epub file for stories or a .cbz file for comics (a few other output types are also available, like Plain Text, LaTeX, HTML...).
 
 To help organize your stories, it can also work as a local library so you can:
 
 - Import a story from its URL (or just from a file)
 - Export a story to a file (in any of the supported output types)
 - Display a story from the local library in text format in the console
-- Display a story from the local library graphically **natively** or **by calling a native program to handle it** (potentially converted into HTML before hand, so any browser can open it)
+- Via [fanfix-swing](https://github.com/nikiroo/fanfix-swing/): Display a story from the local library graphically **by itself** ([fanfix-swing](https://github.com/nikiroo/fanfix-swing/)) or **by calling a native program to handle it** (potentially converted into HTML before hand, so any browser can open it)
 
 ### Supported websites
 
@@ -46,11 +46,11 @@ Currently, the following websites are supported:
 
 - http://FimFiction.net/: fan fictions 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
+- http://mangahub.io/: a well filled repository of mangas (English)
 - https://e621.net/: a Furry website supporting comics, including MLP
 - https://sofurry.com/: same thing, but story-oriented
 - https://e-hentai.org/: done upon request (so, feel free to ask for more websites!)
-- https://www.manga-lel.com/: a website offering a lot of mangas (in French)
+- http://mangas-lecture-en-ligne.fr/: a website offering a lot of mangas (in French)
 
 ### Support file types
 
@@ -77,12 +77,12 @@ If you have any problems to compile it with a supported Java version (1.6+), ple
 
 ## Options
 
-You can start the program in GUI mode (as in the screenshot on top):
+You can start the program in two ways:
 
 - ```java -jar fanfix.jar```
 - ```fanfix``` (if you used *make install*)
 
-The following arguments are also allowed:
+The following arguments are allowed:
 
 - ```--import [URL]```: import the story at URL into the local library
 - ```--export [id] [output_type] [target]```: export the story denoted by ID to the target file
@@ -94,7 +94,6 @@ The following arguments are also allowed:
 - ```--tag [where]```: list all the tags supported by this website
 - ```--tag [index 1]... (page [page]) (item [item])```: search for the given stories or subtags, tag by tag, and display information about a specific page of results or about a specific item if requested
 - ```--list```: list the stories present in the library and their associated IDs
-- ```--set-reader [reader type]```: set the reader type to CLI, TUI or GUI for this command
 - ```--server [key] [port]```: start a story server on this port
 - ```--stop-server [key] [port]```: stop the remote server running on this port (key must be set to the same value)
 - ```--remote [key] [host] [port]```: contact this server instead of the usual library (key must be set to the same value)
@@ -120,6 +119,21 @@ There are some unit tests you can run, too:
 
 ```./configure.sh && make build test run-test```
 
+If you run the unit tests, note that some flag files can impact them:
+
+- ```test/VERBOSE```      : enable verbose mode
+- ```test/OFFLINE```      : to forbid any downloading
+- ```test/URLS```         : to allow testing URLs
+- ```test/FORCE_REFRESH```: to force a clear of the cache
+
+Note that ```test/CACHE``` can be kept, as it will contain all internet related files you need (if you allow URLs, run the test once which will populate the CACHE then go OFFLINE, it will still work).
+
+The test files will be:
+
+- ```test/*.url```  : URL to download in text format, content = URL
+- ```test/*.story```: text mode story, content = story
+
+
 ### Dependant libraries (included)
 
 Required:
@@ -127,6 +141,7 @@ 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
+- [```libs/JSON-java-20190722-sources.jar```](https://github.com/stleary/JSON-java): a library to parse JSON
 
 Optional: