smanga
A minimalistic manga reader/server for serving local manga images on desktop browser.
Provides a two-page view layout just as reading a physical copy.
Requirements
Python(with pip) and Node.js(with npm) installations required.
Directory structure & naming
Following naming scheme is to be followed for all manga to be served:
|
|-- series-name-in-dash-case/
|-- chapters/
|-- 0001/
|-- 001.png
|-- 002.png
...
|-- 0002/
...
|-- volumes/
|-- 030/
|-- 0120/
|-- 001.png
...
...
|-- 031/
...
|-- another-series/
...
Series require their own folder, like one-piece
or attack-on-titan
in dash-case.
Within each, chapters/
, volumes/
or both are to be created.
NOTE: volumes/
needs to have chapter folders; each folder having images pertaining to the chapter
Item | No. of characters for naming | Naming example |
---|---|---|
Chapter | 4 | Chapter 220 ⇒ 0220/ |
Volume | 3 | Volume 100 ⇒ 100/ |
Image | 3 | Fourth image ⇒ 004.png |
Initial Setup
Note that pip
and python
are pip3
and python3
for Linux
First, clone this repository and navigate into it.
Run the following to install Django dependencies:
pip install -r requirements.txt
Now, run the following to configure manga location:
python configure.py
Here,
is the absolute directory location where all manga is stored on machine. An optional -s
flag may be passed to store chapters in database:
python configure.py -s
This is useful for series with longer chapters. By default, only volumes are stored.
Next, run the following to create the database:
python manage.py makemigrations
python manage.py migrate
Finally, navigate into uireader
and run the following to build the UI:
npm install
npm run build
The setup is complete.
Usage
Naviage into root of the project and run the following to launch local Django server:
python manage.py runserver
This should launch the server on localhost. Chapters and volumes are accessible through simple navigation.
Reader Interface
Clicking on the middle of screen activates the following menus:
-
Upper Menu
Re
toggle ⇒ Rearrange/correct image order in the viewer<
⇒ Next chapter/volume#0909
⇒ Go to chapters/volumes listing>
⇒ Previous chapter/volumeHome
⇒ Go to series listing
-
Lower Menu
Provides slider to quickly move between pages
Keyboard shortcuts
- ↓ or ← or spacebar ⇒ Next couple of pages
- ↑ or → ⇒ Previous couple of pages
- F key ⇒ Toggle fullscreen mode