Skip to content

na-ji/node-manga-parser

Repository files navigation

Manga Parser

npm Travis Codecov Gemnasium styled with prettier

Manga Parser is a parser for online manga sources. It provides a simple API to extract data about manga hosted and their chapters. More sources are going to be added.

The library is based on Tachiyomi for Android.

Supported sources

Contributing

All contributions are welcome. If you do not know how to code, but still want to see another source to be added, just open an issue.

Documentation

To use the Parser, just import it in your project

// ES6 syntax
import { Parser } from 'manga-parser';
// CommonJS syntax
const Parser = require('manga-parser').Parser;

Most of the Parser methods require the catalogName, you can find this name on each catalog class.

Usage Examples

import { Parser } from 'manga-parser';

Parser.getPopularMangaList('readmangatoday').then(paginator => {
  console.log(paginator);
  let manga = paginator.mangas[0];

  return Parser.getMangaDetail('readmangatoday', manga);
}).then(manga => {
  console.log(manga);

  return Parser.getChapterList('readmangatoday', manga);
}).then(chapters => {
  console.log(chapters);
  let chapter = chapters[0];

  return Parser.getPageList('readmangatoday', chapter);
}).then(pages => {
  console.log(pages);
  let page = pages[0];

  return Parser.getImageURL('readmangatoday', page);
}).then(imageURL => {
  console.log(imageURL);
});
import { Parser } from 'manga-parser';

Parser.searchManga('readmangatoday', 'naruto').then(paginator => {
  console.log(paginator);
});

Parser Class

getPopularMangaList

Fetch the popular mangas on the catalog

Parameters

  • catalogName string
  • page number Page to fetch (optional, default null)

Returns Promise<{mangas: Array<Manga>, hasNext: boolean, nextUrl: string, nextPage: number}>

getLatestUpdatesList

Fetch the latest updated manga on the catalog

Parameters

  • catalogName string
  • page number Page to fetch (optional, default null)

Returns Promise<{mangas: Array<Manga>, hasNext: boolean, nextUrl: string, nextPage: number}>

searchManga

Search for Manga from a catalog

Parameters

Returns Promise<{mangas: Array<Manga>, hasNext: boolean, nextUrl: string?, nextPage: number?}>

getMangaDetail

Fetch every information for a Manga

Parameters

  • catalogName string
  • manga Manga

Returns Promise<Manga>

getChapterList

Fetch the list of chapters for Manga

Parameters

  • catalogName string
  • manga Manga

Returns Promise<Array<Chapter>>

getChapterListByVolumes

Fetch the list of chapters for a Manga sorted by volumes

Parameters

  • catalogName string
  • manga Manga

Returns Promise<{}>

getPageList

Fetch every pages URL for a manga

Parameters

  • catalogName string
  • chapter Chapter

Returns Promise<Array<string>>

getImageURL

Fetch the image URL from a page URL

Parameters

Returns Promise<string>

getCatalogs

Return the list of catalogs

Returns {name: AbstractCatalog}

getCatalog

Return a catalog

Parameters

Returns AbstractCatalog