Skip to content

Commit 67d7e6c

Browse files
committed
Support more syntax
1 parent 12ea374 commit 67d7e6c

File tree

4 files changed

+328
-8
lines changed

4 files changed

+328
-8
lines changed

example/index.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[toc]
2+
13
# h1
24
## h2
35
### h3
@@ -7,21 +9,29 @@
79

810
> blockquoute
911
10-
~~del~~ *italic* **bold** ++inserted++
12+
~~del~~ *italic* **bold** ++inserted++ ==marked==
1113
:accept: :smile: :+1: :aquarius:
14+
H~2~O 29^th^
1215

1316
[@hackmd/markdown-it](https://www.npmjs.com/package/@hackmd/markdown-it)
1417

1518
---
1619

1720
+ ul
21+
+ ul
22+
+ ul
1823
+ ul
1924
+ ul
2025

2126
1. ol
2227
2. ol
2328
3. ol
2429

30+
31+
- [x] checked
32+
- [ ] unchecked
33+
34+
2535
| th | th | th |
2636
|:---|:---:|---:|
2737
| left | center | right |
@@ -61,4 +71,22 @@ int main(){
6171
printf("hello\n");
6272
return 0;
6373
}
64-
```
74+
```
75+
76+
## Abbr
77+
78+
*[HTML]: Hyper Text Markup Language
79+
*[W3C]: World Wide Web Consortium
80+
81+
The HTML specification
82+
is maintained by the W3C.
83+
84+
85+
## Footnote
86+
Here is a footnote reference,[^1] and another.[^longnote]
87+
88+
89+
[^1]: Here is the footnote.
90+
[^longnote]: Here's one with multiple blocks.
91+
Subsequent paragraphs are indented to show that they
92+
belong to the previous footnote.

lib/converter.ts

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,48 @@
11
import fs from 'fs';
22
import path from 'path';
33
const MarkdownIt = require('markdown-it');
4+
const MarkdownItSub = require('markdown-it-sub');
5+
const MarkdownItSup = require('markdown-it-sup');
6+
const MarkdownItFootnote = require('markdown-it-footnote');
7+
const MarkdownItDeflist = require('markdown-it-deflist');
8+
const MarkdownItAbbr = require('markdown-it-abbr');
9+
const MarkdownItEmoji = require('markdown-it-emoji');
410
const MarkdownItContainer = require('markdown-it-container');
11+
const MarkdownItIns = require('markdown-it-ins');
12+
const MarkdownItMark = require('markdown-it-mark');
13+
514
const MarkdownItKaTex = require('markdown-it-katex');
6-
const MarkdownItEmoji = require('markdown-it-emoji');
7-
const MarkdownItTableOfContents = require("markdown-it-table-of-contents");
15+
const MarkdownItImsize = require('markdown-it-imsize');
16+
17+
const MarkdownItTOC = require("markdown-it-table-of-contents");
18+
819
const md = new MarkdownIt({
920
html: true,
1021
breaks: true,
1122
linkify: true,
1223
typographer: true
13-
}).use(MarkdownItTableOfContents, {
14-
markerPattern: /^\[toc\]/im
15-
}).use(MarkdownItKaTex)
24+
})
25+
.use(MarkdownItSub)
26+
.use(MarkdownItSup)
27+
.use(MarkdownItFootnote)
28+
.use(MarkdownItDeflist)
29+
.use(MarkdownItAbbr)
30+
.use(MarkdownItMark)
1631
.use(MarkdownItEmoji)
1732
.use(MarkdownItContainer, 'success')
1833
.use(MarkdownItContainer, 'info')
1934
.use(MarkdownItContainer, 'warning')
20-
.use(MarkdownItContainer, 'danger');
35+
.use(MarkdownItContainer, 'danger')
36+
.use(MarkdownItIns)
37+
.use(MarkdownItKaTex)
38+
.use(MarkdownItImsize)
39+
.use(MarkdownItTOC, {
40+
"markerPattern": /^\[toc\]/im,
41+
"includeLevel": [1, 2, 3, 4]
42+
})
43+
.use(require("markdown-it-attrs"))
44+
.use(require("markdown-it-anchor"))
45+
;
2146

2247
export class Convert {
2348
src: Array<string>;

0 commit comments

Comments
 (0)