reStructuredTextのは、すべてのHTMLの

タグにクラスを追加するために取得する方法?

StackOverflow https://stackoverflow.com/questions/1837308

  •  11-09-2019
  •  | 
  •  

質問

私はHTMLにreStructuredTextのを変換するために、Djangoのマークアップパッケージを使用しています。各<p>タグにclass属性を追加するには、HTMLライターをカスタマイズする方法はありますか?

私は、各段落は、クラスディレクティブを使用することができ、しかし、私はこのプロセスを自動化したいと思います。

たとえば、私はこの再構築のテキストが欲しいます:

hello
=====

A paragraph of text.

このHTMLに変換される。

<h1>hello</h1>
<p class="specialClass">A paragraph of text.</p>
私は hyphenatorライブラリに使用していますので、

私はクラスを挿入したい理由があります「ハイフネーション」クラスで、すべてのタグにハイフンを追加することで機能します。私は、コンテナタグにハイフネーションクラスを追加することもできますが、すべての子どもたちがハイフネーションクラスを継承します。私は、動的にクラスを追加するためにJavaScriptを使用することができますが、私はreStructuredTextのでそれを行うための簡単な方法があるかもしれないと思っています。

助けてくれてありがとう、

ジョー

役に立ちましたか?

解決

あなたはすべての段落にクラスを追加したい、なぜあなたは言いませんが、別のアプローチを取ることが容易かもしれません。あなたは段落のスタイルをしようとしている場合たとえば、あなたは、出力のすべての段落を選択するために、さまざまなCSSのテクニックを使用することができます:

CSSます:

div.resttext p {
    /* all the styling you want... */
}

HTMLます:

<div class='resttext'>
<p>Blah</p>
<p>Bloo</p>
</div>

更新:あなたはhyphenator.jsを使用しようとしているので、私は違った要素を選択するために、そのselectorfunctionの設定を使用することをお勧めします:

Hyphenator.config({
    selectorfunction: function () {
        /* Use jQuery to find all the REST p tags. */
        return $('div.resttext p');
        }
    });
Hyphenator.run();
scroll top