web-dev-qa-db-ja.com

ReStructured Text(rst2html.py)でテキストに色を使用する方法、または空白行なしでHTMLタグを挿入する方法は?

ReStructured Textで色を使用するにはどうすればよいですか?たとえば、**hello**<strong>hello</strong>に変換されます。 ReStructure(rst2html.py)をsomething<font color="####">text</font>に変換するにはどうすればよいですか?

..raw :: htmlについて考えましたが、空白行が発生します。空白行なしでHTMLタグを挿入したい。

28
prosseek

私はこの方法が機能しているのを見つけました

まず、あなたには役割があります。

.. role:: red

An example of using :red:`interpreted text`

これは次のように変換されます。

<p>An example of using <span class="red">interpreted text</span></p>

これで、赤いクラスができました。CSSを使用して色を変更できます。

.red {
    color:red;
}
40
prosseek

さて、私は今新しいユーザーです、それで私はここのstackoverflowの方針のおかげで他の答えにコメントすることができません。 https://meta.stackexchange.com/questions/51926/new-users-cant-ask-for-clarifications-except-as-answers

Sienkiewの答えは良いですが、最後の文について訂正したいと思います。

IS RSTファイルでスタイルシートを指定する方法があります。手がかりはProsseekの元の投稿、つまり.. raw ::ディレクティブにあります。

RSTファイルの先頭に次の行を配置して、そのスタイルを指定できます。

.. raw:: html

    <style> .red {color:red} </style>
25
RayLuo

ここでの他の答えは私が何をしたかったかを示唆していますが、それはdocutilsのスタイルシートに関するいくつかの詳細な知識を想定しています。クックブックの説明は次のとおりです。

RSTファイルで、ロールを1回宣言してから、次のように使用します。

    .. role:: red

    This text is :red:`colored red` and so is :red:`this`

次に、スタイルシートファイルが必要です。まず、Python=を使用して、docutilsパッケージからデフォルトのスタイルシートをコピーします。

    python
    import os.path
    import shutil
    import docutils.writers.html4css1 as h
    shutil.copy(os.path.dirname(h.__file__)+"/html4css1.css","my.css")

次に、my.cssを編集して、最後にカスタマイズを追加します。

    .red {
            color: red;
    }

「docutils.conf」という名前のdocutils構成ファイルを作成します。

    [html4css1 writer]
    stylesheet-path: my.css
    embed-stylesheet: yes

rst2html.pyを使用してドキュメントを変換します。

    rst2html.py my_document.rst > my_document.html

Docutils.confを使用したくない場合は、rst2htmlを実行するたびにスタイルシートを指定できます。

    rst2html.py --stylesheet my.css my_document.rst > my_document.html

AFAIK、RSTファイルでスタイルシートを指定する方法はありません。

10
sienkiew

私のためにこのように動作します:

.. raw:: html

    <style> .red {color:#aa0060; font-weight:bold; font-size:16px} </style>

.. role:: red

:red:`test - this text should be red``
1
Fernando

@prosseekの回答と@RayLuoの回答をすべて1か所にまとめて、見つけやすくする

RSTファイルの先頭に、

_.. raw:: html

    <style> .red {color:red} </style>

.. role:: red

:red:`test - this text should be red`
_

サイドコメント:

もちろん、@ sienkiewが言うように、多くの人はスタイルを別のファイルに入れたいと思うでしょう。

しかしいつもではない。

例えば。上記は、他のユーザーが実行できるようにするスクリプトから、多くの場合ファイルURLから生成しています。 rst2html.pyに応じて、十分に悪いです-設定ファイルに非標準のものを含める必要があるのはさらに悪いことです。

スタイルの弱いローカル定義を作成する方法があった場合-例: 「すでに定義されているスタイル.redがない場合はこれを使用しますが、それ以外の場合はすでに定義されているスタイルを使用します」-いいでしょう。しかし、AFAIKのローカル定義はより強力です。

これはrst2html.py (Docutils 0.13.1 [release], Python 3.6.4, on cygwin)で実行されましたが、他のRSTツールは拒否されました。

0
Krazy Glew