File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111// SPDX-License-Identifier: MIT
1212
1313import fs from "fs" ;
14+ import path from "path" ;
1415
1516import * as marked from "marked" ;
1617import * as markedGfmHeadingId from "marked-gfm-heading-id" ;
@@ -74,8 +75,23 @@ let mainHtml = await marked.parse(readFile(input), {
7475 return ;
7576 }
7677
77- // Remove '.md' extension from links.
78- token . href = token . href . replace ( / ( \. m d $ ) | ( \. m d (? = # ) ) / , "" ) ;
78+ // Relative link to markdown; remove extension.
79+ if ( / ( \. m d $ ) | ( \. m d (? = # ) ) / . test ( token . href ) ) {
80+ token . href = token . href . replace ( / ( \. m d $ ) | ( \. m d (? = # ) ) / , "" ) ;
81+ return ;
82+ }
83+
84+ // Other relative link; point to raw user content.
85+ let dirname = path . dirname ( target ) ;
86+ let href =
87+ `https://raw.githubusercontent.com/deimonn/` +
88+ `${ repo } /refs/heads/master/${ dirname } /${ token . href } `
89+
90+ token . type = "html" ;
91+ token . text = /* HTML */ `
92+ <a href="${ href } " target="_blank">${ token . text } </a>
93+ ` . trim ( ) ;
94+
7995 return ;
8096 }
8197
You can’t perform that action at this time.
0 commit comments