You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
3.1 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
_Created_: 2022-12-19 Mon
_Updated_: 2022-12-19 17:42 Mon
---
## 发布工具: MD to HTML
[docsify](https://docsify.js.org/#/zh-cn/quickstart)
```sh
npm i docsify-cli -g
docsify init
docsify serve
```
### 文档配置:
```html
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
// Import mermaid
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.css">
<script src="//cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
```
```js
var num = 0;
mermaid.initialize({ startOnLoad: false });
window.$docsify = {
name: 'XXX',
// logo: '/logo1.jpg',
repo: 'https://...',
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
nativeEmoji: true,
subMaxLevel: 3,
auto2top: true,
// search: 'auto', // 默认值
markdown: {
renderer: {
text: function (text) {
if (/^==/g.test(text)) {
const escapedText = text.toLowerCase().replace(/^==|==$/g, '');
return `<mark>${escapedText}</mark>`;
}
if (/^\%{2}/gm.test(text)) {
return `<!--`;
}
if (/\%{2}$/gm.test(text)) {
return `-->`;
}
return text;
},
code: function(code, lang) {
if (lang === "mermaid") {
return (
'<div class="mermaid">' + mermaid.render('mermaid-svg-' + num++, code) + "</div>"
);
}
return this.origin.code.apply(this, arguments);
}
}
},
// 完整配置参数
search0: { // seach:
maxAge: 86400000, // 过期时间,单位毫秒,默认一天
paths: [], // or 'auto'
placeholder: '搜索',
noData: '找不到结果!',
// 搜索标题的最大层级, 1 - 6
depth: 6,
hideOtherSidebarContent: true, // 是否隐藏其他侧边栏内容
// 避免搜索索引冲突
// 同一域下的多个网站之间
namespace: 'website-1',
// 使用不同的索引作为路径前缀namespaces
// 注意:仅适用于 paths: 'auto' 模式
//
// 初始化索引时,我们从侧边栏查找第一个路径
// 如果它与列表中的前缀匹配,我们将切换到相应的索引
// pathNamespaces: ['/zh-cn', '/ru-ru', '/ru-ru/v1'],
// 您可以提供一个正则表达式来匹配前缀。在这种情况下,
// 匹配到的字符串将被用来识别索引
// pathNamespaces: /^(\/(zh-cn|ru-ru))?(\/(v1|v2))?/
},
}
```
### 插件支持
```html
...
<!-- <script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify@4.10.2/lib/docsify.min.js"></script>
<!-- <script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
<script src="//unpkg.com/docsify-mermaid@latest/dist/docsify-mermaid.js"></script>
<script>mermaid.initialize({ startOnLoad: true });</script> -->
<!-- deprecated -->
<!-- <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script> -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
```
### 自定义导航
方法:
1. 创建 _sidebar.md
```md
* XX
* [XX1](xx1.md)
```
2. 使用docsify-cli 生成:
```sh
docsify generate <path> [--sidebar _sidebar.md]
# docsify g <path> [-s _sidebar.md]
# 当前目录:
# docsify g / -s _sidebar.md
```