Skip to content

Commit 1c86f38

Browse files
committed
1 parent 1fb194c commit 1c86f38

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

plugin/js/parsers/RedditParser.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
}

plugin/popup.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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>

0 commit comments

Comments
 (0)