This is a developer library, and isn't meant for regular users. For a manga reader that uses Tiyo, see Houdoku: https://github.com/xgi/houdoku.
Tiyo is a library for retrieving and processing manga websites ("content sources"). It provides clients for a multitude of sources, with a standardized interface for searching and retrieving content. It's easily extendable, and new sources can be added from scratch or with helper methods for generic websites (like Wordpress templates).
Prerequisites:
# Install package dependencies
pnpm install
# Build @tiyo/core, which will also build @tiyo/common
pnpm exec nx run core:build
# Publish package
pnpm exec nx run core:publish --args="--ver=x.x.x --tag=<latest/next>"
This is an Nx monorepo. You can run build/test tasks using the CLI commands (such as the ones above), but I recommend using the VSCode extension: https://nx.dev/core-features/integrate-with-editors.
Definitions for extension client interfaces and functions, e.g.
ExtensionClientInterface are in libs/common
(@tiyo/common
).
Extensions are implemented in libs/core
(@tiyo/core
). When making a new
extension, you should use existing extensions as a reference. The core package
also contains generic client helpers for some common website structures (e.g.
the Madara WordPress theme or FoOlSlide).
When adding a new package dependency (like jsdom), it should be added both to
this repo's base package.json
as a devDependency and as a regular dependency
in libs/core/package.json
. This ensures that the dependency is included
when installed from npm.