Mkdocs 是我比较喜欢的文档系统,用于部署知识库是非常合适的,特别是Mkdocs+material
组合更是我最为喜欢的。
目前唯一的缺点就是中文搜索方面不足,所有需要手动修改一下,当然如果您和我一样基于Docker
部署,那么也可以修改一次到处运行。
依赖 jieba
# 如已安装可忽略
pip install jieba -i https://mirrors.aliyun.com/pypi/simple/
修改配置文件
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'[ \t\n\r\f\v]+', ' ', 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})
参考资料:
依赖 pip install jieba -i https://mirrors.aliyun.com/pypi/simple/
在配置文件 mkdocs.yml 添加如下代码
plugins:
- search:
separator: '[\s\u200b\-]'