興味本位だが、Sphinxという文章を書くツールを試してみたので、メモする。

Wordをテキストから自動生成できればいいなーと思ってたらSphinxを見つけた。

Sphinxとは

Sphinx(スフィンクス)とは、文章を書くためのツール(フレームワーク)

エディタとも、wikiとも分類しがたい、新たな書き方のツール。

Sphinxを利用すると、以下のことができる。

  • さまざまな形式で出力できる。(HTML,ePub,PDF,Word)
  • テキストでかける。
  • バージョン管理できる。

Sphinxのインストール方法

インストール環境

  • Windows 7 64bit
  • Pythion 2.6

Windowsへのインストール方法は公式HPに乗っている。

https://sphinx-users.jp/gettingstarted/install_windows.html

Pythonをインストール

省略。ここでは2.6を利用する。パスが通っていることを確認。

Python Setuptoolsをイントール

easy_installというコマンドを使うと、外部ライブラリを簡単にインストールできるようになるので、このコマンドを使えるようにする。

以下のURLからez_setup.pyをダウンロードして、コマンドラインから実行。 (https://peak.telecommunity.com/dist/ez_setup.py)

python ez_setup.py

Sphinxのインストール

コマンドラインから以下を実行。

easy_install sphinx

自動的にSphinx 1.1.3がインストールされる。

Searching for sphinx

Reading https://pypi.python.org/simple/sphinx/

Reading https://sphinx.pocoo.org/

Best match: Sphinx 1.1.3

Downloading https://pypi.python.org/packages/2.6/S/Sphinx/Sphinx-1.1.3-py2.6.egg#md5=f0873b56

easy_installが実行できないときは、Scriptフォルダにパスが通っているか確認。easy_install.exeはScriptsフォルダにインストールされるので、

環境変数の設定から、パスをフォルダに通す必要がある。(“C:\Python26\Scripts”)

sphinx-quickstartでSphinxの起動を確認

以下のコマンドで、Sphinxのプロジェクトが作成できればインストールは成功している。

sphinx-quickstart

実行すると、プロジェクトの詳細設定を聞かれるメッセージがでるが、

とりあえずEnterを押していく。途中、以下の3つの項目が入力必須項目。

  • プロジェクト名
  • バージョン番号
  • 著者の名前

C:\temp\temp_sphinx>sphinx-quickstart

Welcome to the Sphinx 1.1.3 quickstart utility.

Please enter values for the following settings (just press Enter to

accept a default value, if one is given in brackets).

Enter the root path for documentation.

Root path for the documentation [.]:

You have two options for placing the build directory for Sphinx output.

Either, you use a directory “_build” within the root path, or you separate

“source” and “build” directories within the root path.

Separate source and build directories (y/N) [n]:

Inside the root directory, two more directories will be created; “_templates”

for custom HTML templates and “_static” for custom stylesheets and other static

files. You can enter another prefix (such as “.") to replace the underscore.

Name prefix for templates and static dir [_]:

The project name will occur in several places in the built documentation.

Project name: sphinx-sample

Author name(s): tsu_nera

Sphinx has the notion of a “version” and a “release” for the

software. Each version can have multiple releases. For example, for

Python the version is something like 2.5 or 3.0, while the release is

something like 2.5.1 or 3.0a1. If you don’t need this dual structure,

just set both to the same value.

Project version: 1.0

Project release [1.0]:

The file name suffix for source files. Commonly, this is either “.txt”

or “.rst”. Only files with this suffix are considered documents.

Source file suffix [.rst]:

One document is special in that it is considered the top node of the

“contents tree”, that is, it is the root of the hierarchical structure

of the documents. Normally, this is “index”, but if your “index”

document is a custom template, you can also set this to another filename.

Name of your master document (without suffix) [index]:

Sphinx can also add configuration for epub output:

Do you want to use the epub builder (y/N) [n]:

Please indicate if you want to use one of the following Sphinx extensions:

autodoc: automatically insert docstrings from modules (y/N) [n]:

doctest: automatically test code snippets in doctest blocks (y/N) [n]:

intersphinx: link between Sphinx documentation of different projects (y/N) [n]:

todo: write “todo” entries that can be shown or hidden on build (y/N) [n]:

coverage: checks for documentation coverage (y/N) [n]:

pngmath: include math, rendered as PNG images (y/N) [n]:

mathjax: include math, rendered in the browser by MathJax (y/N) [n]:

ifconfig: conditional inclusion of content based on config values (y/N) [n]:

viewcode: include links to the source code of documented Python objects (y/N) [n]:

A Makefile and a Windows command file can be generated for you so that you

only have to run e.g. `make html' instead of invoking sphinx-build

directly.

Create Makefile? (Y/n) [y]:

Create Windows command file? (Y/n) [y]:

Creating file .\conf.py.

Creating file .\index.rst.

Creating file .\Makefile.

Creating file .\make.bat.

Finished: An initial directory structure has been created.

You should now populate your master file .\index.rst and create other documentation

source files. Use the Makefile to build the docs, like so:

make builder

where “builder” is one of the supported builders, e.g. html, latex or linkcheck.

以下のようなファイルが自動生成された。

C:\temp\temp_sphinx>ls

Makefile _build _static _templates conf.py index.rst make.bat

なにはともあれ、Hello Sphinx してみる。

いろんな記法はあと回しにして、まずはSphinxを実行してみる。

hello_sphinx.rstファイルを作成する。

ちなみに、文字コードはUTF-8。

[text]

Hello Sphinx

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

テスト。

test

====

テストです。

[/text]

index.rstに hello_sphixのファイルを追加。

[text]

Welcome to sphinx-sample’s documentation!

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

Contents:

.. toctree::

:maxdepth: 2

hello_sphinx

Indices and tables

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

  • :ref:`genindex`

  • :ref:`modindex`

  • :ref:`search`

[/text]

実行結果

HTMLファイルを生成してみる。以下のコマンド実行。

make html

_build\htmlフォルダ配下にHTMLファイルが生成されるので、index.htmlを開いてみる。

image

image