@@ -4,19 +4,20 @@ const fs = require('fs');
4
4
// const formatSpecifiers = require('format-specifiers');
5
5
const Redis = require ( '@ladjs/redis' ) ;
6
6
const _ = require ( 'lodash' ) ;
7
+ const autoLinkHeadings = require ( 'remark-autolink-headings' ) ;
7
8
const debug = require ( 'debug' ) ( 'mandarin' ) ;
8
9
const emoji = require ( 'remark-emoji' ) ;
9
10
const globby = require ( 'globby' ) ;
11
+ const html = require ( 'remark-html' ) ;
10
12
const languages = require ( '@cospired/i18n-iso-languages' ) ;
11
13
const modifyFilename = require ( 'modify-filename' ) ;
12
14
const pMapSeries = require ( 'p-map-series' ) ;
13
15
const parse = require ( 'remark-parse' ) ;
14
16
const pify = require ( 'pify' ) ;
15
- const remark2rehype = require ( 'remark-rehype' ) ;
16
17
const remarkPresetGitHub = require ( 'remark-preset-github' ) ;
17
18
const revHash = require ( 'rev-hash' ) ;
18
19
const sharedConfig = require ( '@ladjs/shared-config' ) ;
19
- const stringify = require ( 'rehype-stringify ' ) ;
20
+ const slug = require ( 'remark-slug ' ) ;
20
21
const textr = require ( 'remark-textr' ) ;
21
22
const unified = require ( 'unified' ) ;
22
23
const universalify = require ( 'universalify' ) ;
@@ -123,12 +124,23 @@ class Mandarin {
123
124
unified ( )
124
125
. use ( parse )
125
126
. use ( remarkPresetGitHub )
126
- . use ( emoji )
127
127
. use ( textr , {
128
128
plugins : [ ( phrase ) => this . config . i18n . api . t ( { phrase, locale } ) ]
129
129
} )
130
- . use ( remark2rehype )
131
- . use ( stringify )
130
+ . use ( slug )
131
+ . use ( autoLinkHeadings , {
132
+ behavior : 'prepend' ,
133
+ content : {
134
+ type : 'element' ,
135
+ tagName : 'i' ,
136
+ properties : {
137
+ className : [ 'fa' , 'fa-link' , 'mr-2' , 'text-dark' ]
138
+ } ,
139
+ children : [ ]
140
+ }
141
+ } )
142
+ . use ( emoji )
143
+ . use ( html )
132
144
. process ( markdown , ( err , file ) => {
133
145
if ( err ) return reject ( err ) ;
134
146
resolve ( { locale, content : String ( file ) } ) ;
0 commit comments