Site icon 时鹏亮的Blog

自建StackEdit TOC失效的解决办法

请知悉:本文最近一次更新为 6年 前,文中内容可能已经过时。

前提是你得有自己的服务器,代码是最新的~
修改

src/data/styledHtmlWithTocTemplate.html

源码改为:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{files.0.name}}</title>
<link rel="stylesheet" href="https://stackedit.io/style.css" />
</head>
{{#if pdf}}
<body class="stackedit stackedit--pdf">
{{else}}
<body class="stackedit">
{{/if}}
<div class="stackedit__html">{{#transformToc files.0.content.toc}}{{{files.0.content.html}}}{{/transformToc}}</div>
</body>
</html>

修改

src/services/templateWorker.js

增加一个helper:

Handlebars.registerHelper('transformToc', function (toc, options) {
var result = options.fn(this);
var toc = '<div class="toc">' + Handlebars.helpers.tocToHtml.call(this, toc) + '</div>';
return new Handlebars.SafeString(
result.replace(/[toc]/gi, toc)
);
});

重新编译:

npm run build

大功告成~

方法来自:https://community.stackedit.io/t/replace-toc-markers-with-tables-of-contents-in-your-exports/33


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《自建StackEdit TOC失效的解决办法》相关的博文:

Exit mobile version