Adding info about ESLint in README.md
This commit is contained in:
parent
5f3060995b
commit
c8451c07aa
33
README.md
33
README.md
|
@ -25,16 +25,19 @@ flowchart TB
|
||||||
```
|
```
|
||||||
|
|
||||||
Melpomene is mainly one JS file and one CSS file. You only need to include them in you web page. They are :
|
Melpomene is mainly one JS file and one CSS file. You only need to include them in you web page. They are :
|
||||||
+ `melpomene.js`
|
|
||||||
+ `melpomene.css`
|
+ `melpomene.js`
|
||||||
|
|
||||||
|
+ `melpomene.css`
|
||||||
|
|
||||||
The JS files expect you to write some very specific HTML tags to be able to work.
|
The JS files expect you to write some very specific HTML tags to be able to work.
|
||||||
To simplify things, you only need to copy-paste the content of `melpomene.html` into your own page and change a few things :
|
To simplify things, you only need to copy-paste the content of `melpomene.html` into your own page and change a few things :
|
||||||
|
|
||||||
+ You must duplicate the `img` tag for each of you comic page and :
|
+ You must duplicate the `img` tag for each of you comic page and :
|
||||||
+ set `url` to the actual URL of your page
|
+ set `url` to the actual URL of your page
|
||||||
+ set `height` and `width` to the actual image sizes
|
+ set `height` and `width` to the actual image sizes
|
||||||
+ set `data-zooms` with the zooms information, like so : `<zoom 1 width>, <zoom 1 height>, <zoom 1 x offset>, <zoom 1 y offset>; <zoom 2 width> ...`
|
+ set `data-zooms` with the zooms information, like so : `<zoom 1 width>, <zoom 1 height>, <zoom 1 x offset>, <zoom 1 y offset>; <zoom 2 width> ...`
|
||||||
+ example : `<img loading="lazy" src="https://www.peppercarrot.com/0_sources/ep35_The-Reflection/hi-res/en_Pepper-and-Carrot_by-David-Revoy_E35P01.jpg" data-zooms="2481.0,1327.1057,0.0,0.0;593.15338,1076.4635,0.0,1364.053;890.72864,491.29874,830.81415,1751.5;2481.0,1078.4192,0.0,1364.053;562.77032,909.44702,102.48115,2491.6567;920.74463,909.44702,698.55927,2491.6567;728.776,909.44702,1652.3695,2491.6567"/>`
|
+ example : `<img loading="lazy" src="https://www.peppercarrot.com/0_sources/ep35_The-Reflection/hi-res/en_Pepper-and-Carrot_by-David-Revoy_E35P01.jpg" data-zooms="2481.0,1327.1057,0.0,0.0;593.15338,1076.4635,0.0,1364.053;890.72864,491.29874,830.81415,1751.5;2481.0,1078.4192,0.0,1364.053;562.77032,909.4470 2,102.48115,2491.6567;920.74463,909.44702,698.55927,2491.6567;728.776,909.44702,1652.3695,2491.6567"/>`
|
||||||
|
|
||||||
Because doing this by hand would be very tedious, Melpomene comes with an helper script that allows generating that HTML for you from SVGs.
|
Because doing this by hand would be very tedious, Melpomene comes with an helper script that allows generating that HTML for you from SVGs.
|
||||||
|
|
||||||
|
@ -45,7 +48,7 @@ The following limitations are known and will be improved upon :
|
||||||
+ Mobile support is currently limited
|
+ Mobile support is currently limited
|
||||||
+ There are some performences issues
|
+ There are some performences issues
|
||||||
|
|
||||||
# How to setup Melpomene ?
|
# How to use Melpomene ?
|
||||||
|
|
||||||
## Defining the zooms
|
## Defining the zooms
|
||||||
|
|
||||||
|
@ -61,12 +64,12 @@ To create the zooms for a comic page, what you need to do is :
|
||||||
* If you want to change the zoom order, you can change their order in the layer view of your SVG tool if they support it
|
* If you want to change the zoom order, you can change their order in the layer view of your SVG tool if they support it
|
||||||
3. Once you are done, save the SGV
|
3. Once you are done, save the SGV
|
||||||
|
|
||||||
|
|
||||||
## Generating the HTML files
|
## Generating the HTML files
|
||||||
|
|
||||||
Once the SVG for your pages are done, put them in one folder. Then, you can run the zoom generator.
|
Once the SVG for your pages are done, put them in one folder. Then, you can run the zoom generator.
|
||||||
|
|
||||||
You need to open a terminal and then run :
|
You need to open a terminal and then run :
|
||||||
|
|
||||||
+ `python zooms_generator.py <path to the SVG folder> html -p <prefix of the img's url> -e <extension of the img's url>`
|
+ `python zooms_generator.py <path to the SVG folder> html -p <prefix of the img's url> -e <extension of the img's url>`
|
||||||
+ For example, if your comic pages are hosted at `static/comic/page_x.jpg`, the svg must be named `page_x.svg`
|
+ For example, if your comic pages are hosted at `static/comic/page_x.jpg`, the svg must be named `page_x.svg`
|
||||||
and you must run `python zooms_generator.py <path to the SVG folder> html -p /static/comic/ -e jpg`
|
and you must run `python zooms_generator.py <path to the SVG folder> html -p /static/comic/ -e jpg`
|
||||||
|
@ -89,6 +92,24 @@ If you need to do some global scaling / offset of all zooms in HTML (if for exam
|
||||||
+ If they become greater than the page size, they get clamped to the page size and width / height get reduced to compensate
|
+ If they become greater than the page size, they get clamped to the page size and width / height get reduced to compensate
|
||||||
+ `data-global-zoom-scale="<float value>"` : scale all positions / sizes by this factor
|
+ `data-global-zoom-scale="<float value>"` : scale all positions / sizes by this factor
|
||||||
|
|
||||||
|
# Developpement
|
||||||
|
|
||||||
|
## Setting up quality checking for JS
|
||||||
|
|
||||||
|
Regarding JS, quality checking is done using [eslint](https://eslint.org/).
|
||||||
|
|
||||||
|
The configuration file is `eslint/eslintrc.json`.
|
||||||
|
|
||||||
|
To setup eslint, you can either install it on your system reading it's documentation, or use the provided Dockerfile to run it. This requires [docker](https://www.docker.com/).
|
||||||
|
|
||||||
|
To do so, assuming you are using linux, after installing docker, you can run from this repository root:
|
||||||
|
|
||||||
|
+ `docker build -t melpomene-eslint eslint/`, once
|
||||||
|
|
||||||
|
+ `docker run -v .:/melpomene:rw -w /melpomene --user $(id -u):$(id -g) melpomene-eslint`, every time you want to run the analysis
|
||||||
|
|
||||||
|
You can now open `eslint_report.html` to see the result.
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
Most examples and the documentation of Melpomene uses illustrations from David "Deevad" Revoy's "Pepper & Carrot" webcomic, which is published under CC-BY 4.0. Full licence [here](https://www.peppercarrot.com/en/license/index.html).
|
Most examples and the documentation of Melpomene uses illustrations from David "Deevad" Revoy's "Pepper & Carrot" webcomic, which is published under CC-BY 4.0. Full licence [here](https://www.peppercarrot.com/en/license/index.html).
|
||||||
|
|
Loading…
Reference in New Issue