Interactive timelines for manga/anime series with per-title layouts, images, wiki links, and helper tools (calendar view, capture to image, etc.).
Live version: https://zohnannor.github.io/anime-timeline/
- Select a manga/anime title using the series picker button.
- Scroll horizontally with the mouse wheel, trackpad, touch swipe, or the bottom scroller.
- Open helper tools (calendar, info, capture) with the floating buttons. See the info box for more details.
- Use the capture option to export the entire timeline as a PNG image.
Install dependencies
yarnGenerate optimized images
python ci/optimize-images.py --allStart the dev server
yarn devThe app will be available on http://localhost:3000 by default.
Create a production build
yarn buildThe static build will be written to the build directory.
Timeline artwork lives under public/<title> (for example, public/csm,
public/berserk, etc.). Optimized WebP and thumbnails are generated by
ci/optimize-images.py.
See its --help for more details.
--help for more details.usage: optimize-images.py [-h] [--force] [--all] [--cpu CPU] [--color {auto,always,never}] [TITLE]
Optimize manga/anime images
positional arguments:
TITLE Manga/Anime title
options:
-h, --help show this help message and exit
--force Force reprocessing of all images (default: false)
--all Process all anime titles (default: false)
--cpu CPU Number of parallel processes (default: number of CPUs)
--color {auto,always,never}
Control color output (auto, always, never). This program respects the NO_COLOR environment variable. (default: auto)Requirements:
- Python 3
- ImageMagick (
magickon PATH) cwebp(fromlibwebp/webptools)
On Arch Linux, install imagemagick and libwebp-utils packages.
-
Development
- Use
yarnrather thannpmfor installing and running scripts (seepackage.json). - To add a timeline for a new title, see how other titles are described
in
src/timelines/registry.ts. Use one of the existing titles (e.g.src/timelines/csm.ts) as a template. - For wiki links, use a well-maintained wiki that's recognized by the community as the "official" one. Refer to Wiki Buddy's list of wikis if unsure.
- If you add or change images in
public/<title>, runpython ci/optimize-images.py <title>and commit the resulting optimized images.
- Use
-
Structure
- Timelines and data live under
src/timelines. - UI pieces live under
src/modulesandsrc/shared/ui. - Shared state/settings live under
src/app/providers. - Hooks live under
src/shared/lib/hooks.
- Timelines and data live under
-
Changes
- Keep pull requests focused and describe what/why.
- Call out any new tools, dependencies, or scripts.
- Use prettier for formatting (
yarn fmt). - Use GitHub issue forms (Bug report / Feature request) when opening issues.
This project is licensed under the MIT License. See the LICENSE file for details.