ホームページ > ウェブフロントエンド > htmlチュートリアル > reStructuredText の簡潔な syntax_html/css_WEB-ITnose

reStructuredText の簡潔な syntax_html/css_WEB-ITnose

WBOY
リリース: 2016-06-21 08:50:42
オリジナル
1250 人が閲覧しました

https://github.com/xunxuny/zh-sphinx-doc/blob/master/rest.rst

この章では reStructuredText (reST) を紹介します

の概念と構文。reST

はシンプルで実用的なマークアップ言語と考えられているため、学習にそれほど時間はかかりません。

段落 (ref ) は、reST ファイルの基本モジュールです。

段落は、Python と同様に、空白行で区切られたテキストのセクションです。 reST の演算子

であるため、同じ段落内の行はすべて左揃えになります。

インライン タグ

標準の reST インライン タグは非常に単純です。

アスタリスク: *text* は強調 (斜体)、

    二重アスタリスク: **text** は強調 (太字)、
  • バックティック : テキスト コード
  • アスタリスクとバッククォートは、テキスト内のインライン マークアップ記号と混同されやすいため、バックスラッシュ記号でエスケープできます。
マークアップの制限事項:

は互いに入れ子にすることはできません。

    コンテンツの前後に空白を置くことはできません。このように *text* を記述するのは間違いです。コンテンツが必要な場合は
  • 特殊文字で区切ります。次のようにバックスラッシュ エスケープを使用します。
  • これらの制限は、将来のバージョンでは改善される可能性があります。 「解釈ロール」。これは、テキストを特定の方法で解釈できることを意味します。
Sphinx は、この方法でセマンティック マークアップと参照インデックスを提供します。演算子は

です。

標準 reST は次のルールを提供します:

* :durole:emphasis` - *emphasis** Strong として記述されます -

**strong*** リテラルとして記述されます -リテラル* 下付き文字 - 下付き文字*

上付き文字 – 上付き文字* タイトル参照 – 本、雑誌などのタイトル

詳細については、インラインマークアップを参照してください。

リストと引用

リスト タグ (ref ) の最も自然な使用法は次のとおりです:

単にアスタリスクとインデントを付けるだけです。段落の先頭に番号付きリストを使用することもできます。記号

も使用できます。 #シリアル番号を自動的に追加します:

リストはネストできますが、ネストする必要があります。空行で親リストから区切ります:

定義リスト (ref ):
* 这是一个项目符号列表.* 它有两项,  第二项使用两行.1. 这是个有序列表.2. 也有两项.#. 是个有序列表.#. 也有两项.
ログイン後にコピー

1 行には 1 つの用語のみを記述できます。 🎜>

引用された段落 (ref ) 略語のみを使用します
* 这是* 一个列表  * 嵌套列表  * 子项* 父列表继续
ログイン後にコピー

行ブロック (ref ) は次のように区切ることができます:

术语 (term 文本开头行)   定义术语,必须缩进   可以有多段组成下一术语(term)   描述.
ログイン後にコピー

他にも便利なブロックがあります:

フィールド リスト (ref )

オプション リスト (ref )
| 这些行| 在源文件里| 被分隔的一模一样.
ログイン後にコピー

リテラル参照モジュール (ref )

    ドキュメント テスト モジュール (ref )
  • ソース コード
  • リテラル コード ブロック (ref ) 段落の最後にマーク :: を使用します。
  • コード ブロックはインデントする必要があります (段落と同様、周囲のコード ブロックから分離する必要があります)。テキストは空行で区切ります):

この :: タグは非常にエレガントです:

スタンドアロンの段落として存在する場合、段落全体は表示されませんドキュメント内で

タグの前に空白がある場合、タグは削除されます。
这是一段正常文本. 下一段是代码文字::   它不需要特别处理,仅是   缩进就可以了.   它可以有多行.再是正常的文本段.
ログイン後にコピー

空白以外の文字が前にある場合、タグはコロンに置き換えられます。 >

したがって、上記の例のテキストの最初の段落は、「次の段落はコード テキストです:」になります。
  • Table
  • は 2 種類のテーブルをサポートします。グリッド テーブル (ref
  • ) では、次のようにテーブルの境界線をカスタマイズできます。

単純なテーブル (ref < ;simple-tables>) は簡単に記述できますが、いくつかの制限があります:

には複数の行が必要であり、最初の列要素は次のように別々の行に表示できません:

ハイパーリンク
+------------------------+------------+----------+----------+| Header row, column 1   | Header 2   | Header 3 | Header 4 || (header rows optional) |            |          |          |+========================+============+==========+==========+| body row 1, column 1   | column 2   | column 3 | column 4 |+------------------------+------------+----------+----------+| body row 2             | ...        | ...      |          |+------------------------+------------+----------+----------+
ログイン後にコピー

外部リンク

`リンク テキスト`を使用します。

リンク テキストが URL の場合、特別なマークは必要ありません。アナライザーはテキスト内のリンクまたは電子メール アドレスを自動的に検索します。
=====  =====  =======A      B      A and B=====  =====  =======False  False  FalseTrue   False  FalseFalse  True   FalseTrue   True   True=====  =====  =======
ログイン後にコピー

リンクとタグを分離して挿入できます。 -targets>)、次のように:

内部リンク

内部リンクは Sphinx 固有の reST ロールです。ref-role の章を参照してください。

セクション

セクションのタイトル (ref ) は二重上線記号 (または下線) の間にあり、記号の長さはテキストの長さより短くすることはできません:

段落里包含 `a link`_... _a link: http://example.com/
ログイン後にコピー

通常、タイトルのレベルを示す特別な記号はありませんが、Python ドキュメントの場合は次のように考えることができます:

  • #及上划线表示部分
  • *及上划线表示章节
  • =, 小章节
  • -, 子章节
  • ^, 子章节的子章节
  • ", 段落

当然也可以标记(查看 reST 文档),定义章节的层次,但是需要注意输出格式(HTML, LaTeX)所支持的层次深度 .

显式标记

显式标记”Explicit markup” (ref )用在那些需做特殊处理的reST结构中, 如尾注,突出段落,评论,通用指令.

显式标记以 ..开始,后跟空白符,与下面段落的缩进一样.

(在显示标记与正常的段落间需有空行,这听起来有些复杂,但是写起来会非常直观.)

指令

指令 (ref ) 是显式标记最常用的模块. 也是reST的扩展规则, 在 Sphinx 经常被用到.

文档工具支持以下指令:

  • 警告: attention, caution, danger, error, hint, important, note, tip,warning 及通用标记 admonition. (大多数模式仅支持 “note” 及“warning” )
  • 图像:
    • image (详情可看下面的 图像_ )
    • figure (有标题及可选说明的图像)
  • 额外的主体元素:
    • contents (本地,仅是当前文件的内容表格)
    • container (自定义容器,用来生成HTML的
      )
    • rubric (和文档章节无关的标题)
    • topic, sidebar (高亮显示的主体元素)
    • parsed-literal (支持内联标记的斜体模块)
    • epigraph (可选属性行的摘要模块)
    • highlights, pull-quote (有自己的类属性的摘要模块)
    • compound ( 复合段落)
  • 专用表格:
    • table (有标题的表格)
    • csv-table (CSV自动生成表格)
    • list-table (列表生成的表格)
  • 专用指令:
    • raw (包含原始格式的标记)
    • include (包含reStructuredText标记的文件) –在Sphinx中,如果包含绝对文件路径,指令会以源目录地址做为参照
    • class (将类属性指派给下一个元素) [^1]
  • HTML 特性:
    • meta (生成HTML 标签)
    • title (覆盖文档标题)
  • 影响标记:

    • default-role (设置新的默认角色)
    • role (创建新的角色)

    如果仅有一个文件,最好使用 default_role.

设置不使用指令 sectnum, header 及 footer.

Sphinx 新增指令可查阅 sphinxmarkup.

指令有名字,参数,选项及内容组成.(记住这些,在下面一小节中自定义指令里会用到).来看一个例子:

.. function:: foo(x)              foo(y, z)   :module: some.module.name   返回用户输入的一行文本.
ログイン後にコピー

function是指令名字. 在第一行和第二行给出了两个参数, 及一个选项

module(如你所见,选项在参数后给出,由冒号引出).

选项必须与指令有一样的缩进.

指令的内容在隔开一个空行后,与指令有一样缩进.

图像

reST 支持图像指令 (ref ), 如下:

.. image:: gnu.png   (选项)
ログイン後にコピー

这里给出的文件名( gnu.png)

必须是源文件的相对路径,如果是绝对路径则以源目录为根目录. 例如,在文件

sketch/spam.rst引用图像 images/spam.png,则使用

../images/spam.png或者 /images/spam.png.

Sphinx 会自动将图像文件拷贝到输出目录的子目录里,( 输出HTML时目录为

_static)

图像的大小选项 ( width及 height) : 如果没有单位或单位为像素,

给定的尺寸信息仅在输出通道支持像素时才有用 ( 如输出LaTeX 没用).

其他单位在输出(如 pt)HTML、LaTeX 时被用到.

Sphinx 延伸了标准的文档化行为,只需在后面加星号:

.. image:: gnu.*
ログイン後にコピー

上面这样写,Sphinx 会搜索所有名字匹配的图像,而不管图像类型.

每个生成器则会选择最合适的图像. 一般,在源文件目录里文件名 gnu.*

会含有两个文件 gnu.pdf 和 gnu.png , LaTeX 生成器会选择前者,而HTML

生成器则匹配后者.

尾注

尾注 (ref ), 使用 [#name]_标记尾注的位置,

尾注的内容则在文档底部红色标题”Footnotes”的后面 , 如下:

Lorem ipsum [#f1]_ dolor sit amet ... [#f2]_.. rubric:: Footnotes.. [#f1] 第一条尾注的文本... [#f2] 第二条尾注的文本.
ログイン後にコピー

你也可以使用数字尾注 ( [1]_) 或使用自动排序的( [#]_).

引用

支持标准的reST 引用 (ref ) , 且新增了”global”特性,所有参考文献不受所在文件的限制. 如:

Lorem ipsum [Ref]_ dolor sit amet... [Ref] 参考文献, 书,URL 等.
ログイン後にコピー

引用的使用同尾注很相近,但是它们没有数字标签或以 #开始.

替换

reST 支持替换 “substitutions” (ref ),

有一小段文本或标记被关联到 |name|.

定义与尾注一样需有明确的标记块,如下:

.. |name| replace:: replacement *text*
ログイン後にコピー

或者:

.. |caution| image:: warning.png             :alt: Warning!
ログイン後にコピー

详情查看reST reference for substitutions .

如果想在所有文档中使用这些替换, 需把它们放在 rst_prolog

或一个单独文件里, 然后在使用它们的文档文件里包含这个文件,包含指令

:rstinclude .

(请给出包含文件的扩展名,已区别于其他的源文件,避免Sphinx将其作为独立的文档文件.)

Sphinx 定义了一些默认的替换, 请查看 default-substitutions.

评论

有明确标记块但又不是有效的结构标记的标记 (像上面的尾注)都被视为评论(ref ). 例如:

.. 这是一个评论.
ログイン後にコピー

可以通过缩进产生多行评论:

..   这整个缩进块都是   一个评论.   仍是一个评论.
ログイン後にコピー

源编码

在reST使用Unicode字符可以容易的包含特殊字符如破折号,版权标志. Sphinx默认源文件使用UTF-8 编码; 你可以通过 source_encoding 的配置值改变编码.

常见问题

具体使用中可能会遇到一些问题:

  • 内联标记的分离如上面所讲,内联标记需与周围的文本使用空格分隔, 内联标记内部则使用反斜线转义空格.查看详情:

    the

    reference

    .
  • 内联标记不能嵌套像这样写 *see :func:`foo`*是不允许的.

Footnotes

[^1]: 当默认主域里包含指令 :rstclass , 这个指令将被隐藏 因此, Sphinx使用:rstrst-class.

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート