sphinx jieba自定义分词php,使用Sphinx生成HTML文件的方法

该博客详细介绍了如何在Python环境下,利用Sphinx、jieba分词和自定义的中文搜索插件,生成包含目录结构的中文HTML文档。首先,通过pip安装所需依赖,然后设置Sphinx的语言为中文。接着,通过自定义脚本生成index.rst文件,最后运行sphinx-build命令生成HTML。此教程适用于Windows7系统,Python3.6和Sphinx1.5.5版本。
摘要由CSDN通过智能技术生成

使用Sphinx生成HTML文件的方法

适用环境

Python 3.6

Sphinx 1.5.5

pip

Windows 7

安装Sphinx

pip install sphinx

安装结巴分词

pip install jieba

安装sphinx中文搜索插件

https://raw.githubusercontent.com/bosbyj/sphinx.search.zh_CN/master/zh_CN.py

下载文件,保存到目录

C:\Python27\Lib\site-packages\sphinx\search

修改search/__init__.py,在languages中加入

'zh_CN': 'sphinx.search.zh_CN.SearchChinese',

设置语言

在conf.py中加入

language = 'zh_CN'

生成文档

初始化文档工程目录

sphinx-quickstart

编写配置

生成文档

sphinx-build -b html

生成index.rst

index.rst用于生成index.html。为了简化index.rst文件的编写,我写了一个程序,搜索目录下的rst文件,生成index.rst。

// irg.go

// 遍历目录,生成index.rst文件。

// 2017年04月29日

package main

import (

"flag"

"fmt"

"io/ioutil"

"os"

"path/filepath"

"strings"

)

func main() {

var rootPath string

var outputFilename string

flag.StringVar(&rootPath, "path", ".", "note path")

flag.StringVar(&outputFilename, "output", "index.rst", "output file")

flag.Parse()

// map[directory]filename

fileList := make(map[string][]string)

filepath.Walk(rootPath, func(filename string, info os.FileInfo, err error) error {

if err != nil {

return nil

}

if !info.Mode().IsRegular() {

return nil

}

if filename == "index.rst" {

return nil

}

if !strings.HasSuffix(filename, ".rst") {

return nil

}

directory := "未分类"

parts := strings.Split(filename, string(os.PathSeparator))

if len(parts) > 1 {

directory = parts[0]

}

list, ok := fileList[directory]

if !ok {

list = make([]string, 0)

}

list = append(list, strings.Replace(filename, "\\", "/", -1))

fileList[directory] = list

return nil

})

tocText := ""

for dir, files := range fileList {

filenameList := ""

for _, filename := range files {

filenameList += fmt.Sprintf(" %s\n", filename)

}

tocText += fmt.Sprintf(tocTreeText, dir, filenameList)

}

text := fmt.Sprintf(indexRstText, tocText)

ioutil.WriteFile(outputFilename, []byte(text), os.ModePerm)

}

var (

tocTreeText = `

.. toctree::

:maxdepth: 2

:caption: %s

:titlesonly:

%s

`

indexRstText = `笔记

================================

.. toctree::

:maxdepth: 2

:caption: 内容

%s

指引

==================

* :ref:` + "`genindex`\n" +

"* :ref:`modindex`\n" +

"* :ref:`search`"

)

参考资料

修订记录

2017年04月24日 建立文档。

2017年06月17日 改为rst格式。

2017年06月18日 增加irg代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值