Use Downloader/Cache from utils
[fanfix.git] / README.md
index f66be31a85fda8501b02eda5a08f94d766d15e8c..1d3badff6a91d742945f4b2657b6595d27bcb117 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,13 +4,13 @@ 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 (unless the option is disabled))
 
+TODO: new screenshots + TUI screenshots
+
 ![Main GUI](screenshots/fanfix-1.3.2.png?raw=true "Main GUI")
 
 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...).
 
-To help organize your stories, it can also work as a local library.
-
-In this mode, you can:
+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
@@ -24,6 +24,7 @@ Currently, the following websites are supported:
 - 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/: 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!)
 
 ## A note about file support
 
@@ -60,7 +61,9 @@ The following arguments are also allowed:
 - ```--read [id] ([chapter number])```: read the given story denoted by ID from the library
 - ```--read-url [URL] ([chapter number])```: convert on the fly and read the story denoted by ID, without saving it
 - ```--list```: list the stories present in the library and their associated IDs
-- ```--set-reader [reader type]```: set the reader type to CLI or LOCAL for this command (must be the first option)
+- ```--set-reader [reader type]```: set the reader type to CLI, TUI or GUI for this command
+- ```--server [port]```: start a story server on this port
+- ```--remote [host] [port]```: contact this server instead of the usual library
 - ```--help```: display the available options
 
 ### Environment variables
@@ -85,6 +88,7 @@ There are some unit tests you can run, too:
 
 - libs/nikiroo-utils-sources.jar: some shared utility functions I also use elsewhere
 - [libs/unbescape-sources.jar](https://github.com/unbescape/unbescape): a nice library to escape/unescape a lot of text formats; I only use it for HTML
+- [libs/jexer-sources.jar](https://github.com/klamonte/jexer): a small library that offers TUI widgets
 
 Nothing else but Java 1.6+.
 
@@ -97,9 +101,10 @@ Currently missing, but either in progress or planned:
   - [x] YiffStar
   - [ ] [Two Kinds](http://twokinds.keenspot.com/)
   - [ ] [Slightly damned](http://www.sdamned.com/)
-  - [ ] Others? Any ideas?
+  - [x] New API on FimFiction.net (faster)
+  - [ ] Others? Any ideas? I'm open for requests
     - [x] [e-Hentai](https://e-hentai.org/) requested
-- [x] A GUI (work in progress)
+- [x] A GUI library
   - [x] Make one
   - [x] Make it run when no args passed
   - [x] Fix the UI, it is ugly
@@ -110,7 +115,22 @@ Currently missing, but either in progress or planned:
     - [x] ..in the menu
     - [x] ..as a screen view
   - [x] options screen
-- [ ] A TUI reader
+- [ ] A TUI library
+  - [x] Choose an output (Jexer)
+  - [x] Implement it from --set-reader to the actual window
+  - [x] List the stories
+  - [ ] Fix the UI layout
+  - [x] Status bar
+  - [ ] Real menus
+  - [x] Open a story in the reader and/or natively
+  - [ ] Update the screenshots
+  - [ ] Remember the current chapter and current read status of stories
+- [ ] Network support
+  - [x] A server that can send the stories
+  - [x] A network implementation of the Library
+  - [ ] Write access to the library (?)
+  - [ ] Access rights (?)
+  - [ ] More tests, especially with the GUI
 - [ ] Check if it can work on Android
   - [x] First checks: it should work, but with changes
   - [ ] Adapt work on images :(
@@ -128,6 +148,7 @@ Currently missing, but either in progress or planned:
   - [x] in output classes (export)
   - [x] CLI usage of such
   - [x] GUI usage of such
+  - [ ] TUI usage of such
 - [x] Version
   - [x] Use a version number
   - [x] Show it in UI