File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed
Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ "use strict" ;
2+
3+ parserFactory . register ( "reddit.com" , ( ) => new RedditParser ( ) ) ;
4+
5+ class RedditParser extends Parser {
6+ constructor ( ) {
7+ super ( ) ;
8+ }
9+
10+ async getChapterUrls ( dom ) {
11+ return [ ...dom . querySelectorAll ( "div.wiki a" ) ]
12+ . filter ( RedditParser . IsChapterLink )
13+ . map ( a => util . hyperLinkToChapter ( a ) ) ;
14+ }
15+
16+ findContent ( dom ) {
17+ return RedditParser . getPost ( dom ) ?. querySelector ( "[slot='text-body']" ) ;
18+ }
19+
20+ extractTitleImpl ( dom ) {
21+ return dom . querySelector ( ".toc a" ) ;
22+ }
23+
24+ static IsChapterLink ( link ) {
25+ let pathname = new URL ( link . href ) . pathname ;
26+ return pathname . startsWith ( "/r/HFY/comments/" ) ;
27+ }
28+
29+ static getPost ( dom ) {
30+ return dom . querySelector ( "main shreddit-post" ) ;
31+ }
32+
33+ findChapterTitle ( dom ) {
34+ return RedditParser . getPost ( dom ) . querySelector ( "h1" ) ;
35+ }
36+ }
Original file line number Diff line number Diff line change @@ -712,6 +712,7 @@ <h3>Instructions</h3>
712712 < script src ="js/parsers/ReadwnParser.js "> </ script >
713713 < script src ="js/parsers/ReaperscansParser.js "> </ script >
714714 < script src ="js/parsers/RebirthOnline.js "> </ script >
715+ < script src ="js/parsers/RedditParser.js "> </ script >
715716 < script src ="js/parsers/RoyalRoadParser.js "> </ script >
716717 < script src ="js/parsers/RtdMoeParser.js "> </ script >
717718 < script src ="js/parsers/RtenzoParser.js "> </ script >
You can’t perform that action at this time.
0 commit comments