Files
lnreader-plugins/test_web/index.html
T
nyagami d818d1758f Beta phase (#801)
* beta host

* Refactor: url -> path (#757)

* refactor: url -> path

* clean up

* fix: json branch

* PagePlugin (#769)

* paginated novel support

* fix: truyenfull

* fix: tunovel, remove pageList

* parsePage support for webtest (#773)

* add parsePage api

* add parsePage UI

* add totalPages

* (FR src) Beta plugin & Added filters (#775)

* noveldeglace:
 - added filters
 - added latest
 - defaultCover fallback
 - change id to noveldeglace.com
 - added complementary infos in summary
 - added cover artist
 - chapters are now parts
 - show volume number for multi volume novels
 - better search
 - fix search page number
 - refactored for plugin beta
 - releaseDate as Date.toString()
 - separted parseNovels
 - separated getCheerio
 - loadedCheerio => $ for shorter lines & simpler test on web

* chireads:
 - fix different parsing for mobile version
 - added filters
 - added author
 - added status
 - added released date
 - refactored for plugin beta
 - separted parseNovels
 - separated getCheerio
 - loadedCheerio => $ for shorter lines & simpler test on web

* wpmangastream => lightnovelwp rework & new sources (#776)

* Added sources:
 - Knoxt (EN)
 - Baca Light Novel (ID)
 - AllNovelRead (ES)
 - DaoTranslate (EN)
 - جنة الروايات (AR)
 - Universal Novel (EN)
 - NovelTR (TR)
old sources auto-generated:
 - GenesisTls (EN)
 - NobleMTL (EN)
wpmangastream => lightnovelwp:
 - added doc
 - added filters in a separte file
 - semi-automatic filter generator
 - made it compatible with version 1.0.X and 1.1.X versions of the theme
 - loadedCheerio => $
 - icons in "/icons/lightnovel/id.png"
 - code cleanup

* removed auto-implemented sources

* Added README.md to lightnovelwp

* removed ai generated text for kolnovel

* added novelsknight

* added centralNovel

* pandamtl accual name

* adding folder plugin/arabic

* Fix: Vietnamese plugins (#777)

* fix: lightnovelvn

* add nettruyen

* add truyenchu

* fix: truyenconect

* Fix: Migrate plugins (#771)

* Add novel.ovh (#756)

* fix

* test

* fix

* date fix + master merge (#761)

* date fix

* Added Brazilian Portuguese E-Novel (#758)

* fixed single digit dates (#767)

Co-authored-by: NaddH1 <naderhorani@hotmail.com>

* fix

* test

* fix order

* Update renovels.ts

* require_chapters

* Delete plugins/english/genesistl.broken.ts

* Update novelTL.ts

---------

Co-authored-by: NaddH1 <naderhorani@hotmail.com>

* (src update) ENG (#772)

* allnovelfull

* bestlightnovel

* divinedaolibrary

* earlynovel

* lightnovelpub

* L

* M

* novelbin

* novelfull

* novelbuddy

* N S

* novel updates

* async sleep

* rename file

* pagePlugin

* Feat: minify js dir (#781)

* Multisrc: HotNovelPub (#784)

* HotNovelPub

* fix search

* Squashed commit of the following:

commit 3b759c68eddc06c0adfb959f775de069a85adca7
Author: nyagami <hoangquan05112002@gmail.com>
Date:   Sat Feb 17 20:33:47 2024 +0700

    Feat: minify js dir (#781)

* jsmin changed to terser

* test

* why I did it.

* test

* Update ranobelib.ts

* fix page

* Update ranobelib.ts

* updated modules

* Update terser.json

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

* Update scripts/multisrc/hotnovelpub/template.ts

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

* terser api

---------

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

* Added sources & fix sources (#787)

* lightnovelwp:
 - fix author name
 - added more localisation of strings
 - README typo
 - error on !r.ok new message

* noveldeglace:
 - fix chapterNumber for parts
 - better dates
 - better search

* Added sources:
 - White Moonlight Novels (EN)
 - System Translation (EN)

* Resized centralnovel.png

* Add Faqwiki.us source (#792)

* Add Faqwiki.us source (beta branch)

* Fix Path, Fix Chapter Parsing, Fix Novel Title

* search novel path fix

* fix chapter parsing. some chapter in this site store their whole text in 1-4 <p>,

* Add WTR-LAB Source (#797)

* Add WTR-LAB Source (Beta Branch)

* Add other language from WTR-LAB source

* change lang to sourceLang

* remove id es tr lang from WTR-LAB

* Update plugins/english/wtrlab.ts

agree

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

* Update plugins/english/wtrlab.ts

agree

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

---------

Co-authored-by: nyagami <hoangquan05112002@gmail.com>

* revert: scripts to master

---------

Co-authored-by: Justin COLLON <48163201+error7404@users.noreply.github.com>
Co-authored-by: Rider21 <58046032+Rider21@users.noreply.github.com>
Co-authored-by: NaddH1 <naderhorani@hotmail.com>
Co-authored-by: K1ngfish3r <trulyihu@gmail.com>
Co-authored-by: bregassa <bregas.sat1@gmail.com>
2024-02-25 14:52:37 +07:00

363 lines
20 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" sizes="128x128" type="image/png" href="/static/ico.png" defer />
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/css/mdb5.css">
<link rel="stylesheet/less" type="text/css" href="/static/css/index.less" />
<link rel="stylesheet/less" type="text/css" href="/static/css/accordion.less" />
<script src="/static/js/less.js"></script>
<script src="static/md5Themes/themes.js"></script>
<script src="/static/js/jquery.min.js"></script>
<script src="/static/js/html-sanitize.js" defer></script>
<script src="/static/js/bootstrap.min.js" defer></script>
<script src="/static/js/mdb5.js" defer></script>
<script src="/static/js/accordion.js" defer></script>
<script src="/static/js/index.js" defer></script>
<title>Testing plugin</title>
</head>
<body class="darkmode">
<nav class="navbar">
<form class="form-inline">
<input id="plugin" class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="button" id="clear-search">Clear</button>
<div id="search-results">
<div id="turnoff-catch"></div>
</div>
<div id="loadedplugin"></div>
</form>
<div class="input-group">
<div class="input-group-append">
<label class="input-group-text" for="language">Language</label>
</div>
<select class="custom-select" id="language">
<option value="">Any</option>
</select>
</div>
<button class="btn btn-secondary" id="darkstyletoggle" style="float:left;" onclick="toggleDarkMode(this)">Light
mode</div>
<script>
const toggleDarkMode = (btn) => {
if (document.body.classList.contains("darkmode")) {
document.body.classList.remove("darkmode");
btn.innerText = "Dark mode";
} else {
document.body.classList.add("darkmode")
btn.innerText = "Light mode";
}
}
</script>
</nav>
<div id="test-container">
<main-accordion class="accordion tests-accordion">
<accordion-box class="accordion-box" id="headerChanger" collapsed>
<accordion-header>
Headers
</accordion-header>
<accordion-content>
<div id="headerinfos">
<div class="headerinfo" data-headername="User-Agent">
<span class="headername">User-Agent</span><b>:</b>
<span class="headervalue"></span>
</div>
<div class="headerinfo">
<span class="headername">Cookie</span><b>:&nbsp;</b>
<span class="headervalue" contenteditable="true"></span>
</div>
</div>
<button id="addheaderbtn" class="btn-secondary pl-1 pr-1">Add header</button>
<button id="copyascode" class="btn-secondary pl-1 pr-1">Copy as code</button>
<div id="headersnotcopied">Remember to copy the headers into the plugin file after changing them!
</div>
<div id="headerscopied" display="none">Copied</div>
</accordion-content>
</accordion-box>
<accordion-box id="popularNovels" collapsed>
<accordion-header>
popularNovels
</accordion-header>
<accordion-content>
<div style="display: inline-block;" class="modal-container">
<button id="filters-btn" type="button" class="btn btn-primary" data-toggle="modal"
data-target="#filtersModal">
Filters
</button>
<div class="modal fade" id="filtersModal" tabindex="-1" role="dialog"
aria-labelledby="filtersModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="filterModalLabel">Filters</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
<div class="inline-container fetch-btn">
<button type="button" class="btn btn-primary popularNovels-btn">fetch</button>
</div>
<div class="inline-container page-select">
<select>
<option>1</option>
</select>
<span class="page-the-same-warn"></span>
</div>
<div class="inline-slider-checkbox">
<label>
<input type="checkbox" id="latest-switch" />
<span>Popular</span>
</label>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="novel-list">
</div>
</accordion-content>
</accordion-box>
<accordion-box id="searchNovels" collapsed>
<accordion-header>
searchNovels
</accordion-header>
<accordion-content>
<div class="searchbar">
<div class="input-group">
<input type="text" class="form-control" placeholder="searchTerm">
<div class="input-group-append fetch-btn">
<button class="btn btn-primary searchNovels-btn" type="button">search</button>
</div>
</div>
</div>
<div class="inline-container page-select">
<select>
<option>1</option>
</select>
<span class="page-the-same-warn"></span>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="novel-list">
</div>
</accordion-content>
</accordion-box>
<accordion-box id="parseNovel" collapsed>
<accordion-header>
parseNovel (and first page)
</accordion-header>
<accordion-content>
<div class="input-group">
<input type="text" class="form-control" placeholder="novel path" id="parse-novel-path">
<div class="input-group-append">
<button class="btn btn-primary parseNovel-btn" type="button"
id="parse-novel-btn">fetch</button>
</div>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="parsed-novel-info">
<div class="novel-item">
</div>
<div class="chapter-list-container">
<div class="chapter-list">
</div>
</div>
</div>
</accordion-content>
</accordion-box>
<accordion-box id="parsePage" class="d-none" collapsed>
<accordion-header>
parsePage
</accordion-header>
<accordion-content>
<div class="input-group">
<input type="text" class="form-control w-75" placeholder="novel path" id="parse-page-novel-path">
<input type="text" class="form-control w-25" placeholder="page" id="parse-page-index">
<div class="input-group-append">
<button class="btn btn-primary parsePage-btn" type="button"
id="parse-page-btn">fetch</button>
</div>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="parsed-page-info">
<div class="latest-chapter-item">
</div>
<div class="chapter-list-container">
<div class="chapter-list">
</div>
</div>
</div>
</accordion-content>
</accordion-box>
<accordion-box id="parseChapter" collapsed>
<accordion-header>
parseChapter
</accordion-header>
<accordion-content>
<div class="input-group">
<input type="text" class="form-control" placeholder="chapter path" id="chapter-parse-path">
<div class="input-group-append">
<button class="btn btn-primary parseChapter-btn" type="button"
id="chapter-parse-btn">fetch</button>
</div>
</div>
<div id="preview-toggler">
<div class="slider-checkbox">
<label>
<input type="checkbox" id="raw-preview-switch" />
<span>Raw</span>
</label>
</div>
<div class="slider-checkbox">
<label>
<input type="checkbox" id="sanitize-preview-html" />
<span>Sanitized HTML</span>
</label>
</div>
<div id="scaled-info"></div>
<div class="modal-container">
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#settingsModal">
Preview settings
</button>
<div class="modal fade" id="settingsModal" tabindex="-1" role="dialog"
aria-labelledby="settingsModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="settingsModalLabel">Settings</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div>
<label class="filter-label">Preview Size</label>
<div id="size-input">
<div>
<select id="size-preset">
<option value="800,1200">Default</option>
<option value="2200,2480">8" Fold</option>
<option value="1536,2048">Nexus 9 (Tablet)</option>
<option value="1440,2560">Pixel XL</option>
<option value="1440,3120">Pixel 6 Pro</option>
<option value="1080,2400">Pixel 6</option>
<option value="1080,2340">Pixel 5</option>
<option value="1440,3040">Pixel 4 XL</option>
<option value="1080,2280">Pixel 4</option>
<option value="1080,2160">Pixel 3</option>
<option value="1080,1920">Pixel 2</option>
<option value="768,1280">Nexus 4</option>
<option value="720,1280">720p</option>
<option value="480,854">480p</option>
<option value="480,800">Nexus One</option>
<option value="320,480">320p</option>
</select>
<div class="btn btn-primary" id="load-preset-size">Load preset
</div>
</div>
<div>
<input type="number" id="width-input"
style="display:inline-block" />
<input type="number" id="height-input"
style="display:inline-block" />
<div class="btn btn-primary" id="swap-iframe-size">Rotate</div>
</div>
</div>
</div>
<div>
<label class="filter-label">Theme</label>
<div id="theme-picker">
</div>
</div>
<div>
<label class="filter-label">Background Color</label>
<input type="text" id="bgc-input" />
</div>
<div>
<label class="filter-label">Text Color</label>
<input type="text" id="txt-input" />
</div>
<div>
<label class="filter-label">Text Align</label>
<select id="ta-input" class="custom-select">
<option value="left" selected>Left</option>
<option value="right">Right</option>
<option value="center">Center</option>
<option value="justify">Justify</option>
</select>
</div>
<div>
<label class="filter-label">Font Size</label>
<input type="number" id="fs-input" />
</div>
<div>
<label class="filter-label">Line Height</label>
<input step="0.1" type="number" id="lh-input" />
</div>
<hr />
<div>
<label class="filter-label">Custom CSS</label>
<textarea rows="5" id="css-ta"></textarea>
</div>
<hr />
<div>
<label class="filter-label">Custom JS</label>
<textarea rows="5" id="js-ta"></textarea>
</div>
<hr />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<div class="form-group" id="chapter-viewer">
</div>
</accordion-content>
</accordion-box>
<accordion-box id="fetchImage" collapsed>
<accordion-header>
fetchImage
</accordion-header>
<accordion-content>
<div class="input-group">
<input type="text" class="form-control" placeholder="image url (should be in chapterText)">
<div class="input-group-append">
<button class="btn btn-primary fetchImage-btn" type="button">fetch</button>
</div>
</div>
<div class="spinner-border" role="status">
<span class="sr-only">Loading...</span>
</div>
<img src="" style="min-height: 300px; max-width: 450px;" alt="">
</accordion-content>
</accordion-box>
</main-accordion>
</body>
</html>