简介
Mkdocs 是我比较喜欢的文档系统,用于部署知识库是非常合适的,特别是Mkdocs material
组合更是我最为喜欢的。
目前唯一的缺点就是中文搜索方面不足,所有需要手动修改一下,当然如果您和我一样基于Docker
部署,那么也可以修改一次到处运行。
DIY开始
依赖 jieba
代码语言:javascript复制# 如已安装可忽略
pip install jieba -i https://mirrors.aliyun.com/pypi/simple/
修改配置文件
- mkdocs.yml
plugins:
- search:
lang:
- en
- ja
separator: '[s-.] '
mkdocs/contrib/search/search_index.py (需要自行查找该文件位置
)
在文件开头,添加 import jieba
找到text = text.replace('u00a0', ' ')
,并在其上增加一行 text = text.replace('u3000', ' ')
找到 text = re.sub(r'[ tnrfv] ', ' ', text.strip())
,并在其下增加两行(注意缩进是用 空格
)
text_seg_list = jieba.cut_for_search(text)
text = " ".join(text_seg_list)
title_seg_list = jieba.cut(title, cut_all=False)
title = " ".join(title_seg_list)
self._entries.append({'title': title,'text': str(text.encode('utf-8'), encoding='utf-8'),'location': loc})
参考资料:
- 4行代码为Mkdocs实现简单中文搜索
- MkDocs中文搜索
官方技巧
依赖 pip install jieba -i https://mirrors.aliyun.com/pypi/simple/
在配置文件 mkdocs.yml 添加如下代码
代码语言:javascript复制plugins:
- search:
separator: '[su200b-]'
参考资料:Chinese search support