fossbook 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/mod/marked.js +17 -1
- package/lib/mod/page.js +1 -1
- package/package.json +1 -1
- package/themes/archie/assets/styles/main.css +10 -8
package/lib/mod/marked.js
CHANGED
|
@@ -39,6 +39,19 @@ function renderWikipediaCitation(href) {
|
|
|
39
39
|
return `<a href="${escapeAttribute(href)}">${escapeAttribute(citation)}</a>`;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
function renderKoreanBlockquoteQuotes(html) {
|
|
43
|
+
const quoteCount = (html.match(/"/g) || []).length;
|
|
44
|
+
if (quoteCount === 0 || quoteCount % 2 !== 0) return html;
|
|
45
|
+
|
|
46
|
+
let opening = true;
|
|
47
|
+
return html.replace(/"/g, () => {
|
|
48
|
+
const quote = opening ? "“" : "”";
|
|
49
|
+
const position = opening ? "open" : "close";
|
|
50
|
+
opening = !opening;
|
|
51
|
+
return `<span class="dialogue-quote dialogue-quote-${position}">${quote}</span>`;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
42
55
|
function matchFencedContainer(source, name) {
|
|
43
56
|
const opening = new RegExp(`^(:{3,})${name}(?=[ \\t]|\\n)([^\\n]*)\\n`).exec(source);
|
|
44
57
|
if (!opening) return undefined;
|
|
@@ -379,7 +392,10 @@ const renderer = {
|
|
|
379
392
|
}
|
|
380
393
|
},
|
|
381
394
|
blockquote(quote) {
|
|
382
|
-
|
|
395
|
+
const content = this.options.language === "ko"
|
|
396
|
+
? renderKoreanBlockquoteQuotes(quote)
|
|
397
|
+
: quote;
|
|
398
|
+
return `<div class="blockquote-container"><blockquote>${content}</blockquote></div>`;
|
|
383
399
|
},
|
|
384
400
|
paragraph(text) {
|
|
385
401
|
// remove <p> surrounding the image
|
package/lib/mod/page.js
CHANGED
|
@@ -50,7 +50,7 @@ module.exports = class Page extends PageBase {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
// generated HTML from markdown
|
|
53
|
-
this.body = marked.parse(content.body);
|
|
53
|
+
this.body = marked.parse(content.body, { language: this.config.language });
|
|
54
54
|
// remove <p></p> and <p> </p> from the beginning and end of the content.body
|
|
55
55
|
this.body = this.body.replace(/<p><\/p>/g, "").replace(/<p> <\/p>/g, "");
|
|
56
56
|
|
package/package.json
CHANGED
|
@@ -147,6 +147,10 @@
|
|
|
147
147
|
line-height: inherit;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
html:lang(ko) .dialogue-quote {
|
|
151
|
+
font-family: 'NanumSquareNeo', sans-serif;
|
|
152
|
+
}
|
|
153
|
+
|
|
150
154
|
@media print {
|
|
151
155
|
.transcript-control {
|
|
152
156
|
display: none;
|
|
@@ -168,20 +172,17 @@
|
|
|
168
172
|
}
|
|
169
173
|
|
|
170
174
|
ul {
|
|
171
|
-
list-style:
|
|
175
|
+
list-style: disc;
|
|
172
176
|
padding-left: 2ch;
|
|
173
177
|
}
|
|
174
|
-
ul li {
|
|
175
|
-
text-indent: -2ch;
|
|
176
|
-
}
|
|
177
|
-
ul > li::before {
|
|
178
|
-
content: '* ';
|
|
179
|
-
font-weight: bold;
|
|
180
|
-
}
|
|
181
178
|
|
|
182
179
|
ol > li::marker {
|
|
183
180
|
font-family: 'Roboto Mono', monospace;
|
|
184
181
|
}
|
|
182
|
+
html:lang(ko) ol > li::marker {
|
|
183
|
+
font-family: sans-serif;
|
|
184
|
+
font-variant-numeric: tabular-nums;
|
|
185
|
+
}
|
|
185
186
|
|
|
186
187
|
/*
|
|
187
188
|
ul.pagination {
|
|
@@ -546,6 +547,7 @@
|
|
|
546
547
|
display: flex;
|
|
547
548
|
flex-wrap: wrap;
|
|
548
549
|
gap: 0.35rem 0.8rem;
|
|
550
|
+
list-style: none;
|
|
549
551
|
margin: 0;
|
|
550
552
|
padding: 0;
|
|
551
553
|
}
|