7

私は個人的な「ハウツー」ガイドに取り組んでおり、私の研究を記録し、日記をつけています。

私は今、ほとんど長すぎるコードブロックを持っています.この長さのコードに遭遇したとき、ページ全体を強調表示せずにブロックだけを強調表示しようとするか、十分ではありません.

それで、私の質問は、rst(reStructuredText)の場合、自動ハイライトまたはテキストをユーザーのクリップボードに自動的に追加する.. code-block::ためのアドオンまたはボタンに追加する方法はありますか? copyそれとも、これは、ビルドに含めてコード ブロックで参照する必要がある、より html-literal なタイプのコードでしょうか? もしそうなら、そのようなものはどのように見えるでしょうか?

4

2 に答える 2

4

Sphinx プロジェクトでは、HTML ページの表示はテンプレート言語 (デフォルトでは Jinja2) を使用して制御されます。したがって、JavaScript を HTML テンプレート ファイルに追加することでページをよりインタラクティブにすることができ、Sphinx がその特定のテンプレート ファイルを使用してページをレンダリングするときに挿入されます。

を検索して、テンプレート ディレクトリを見つけますtemplates_pathconf.py

Jinja テンプレートは相互に拡張できるため、おそらく{% extends "basic/layout.html" %}.

拡張シーケンスのどこで変更を加えたいかを突き止めたら、以下を組み合わせる必要があります。

  • これを有効にするページのセクション (通常はメイン ブロック)
  • コード ブロックのクラスを持つ CSS (たとえば、私の場合はclass=highlight)。.CSS ファイルは docs/source/_static/ にある可能性があります
  • ボタンを作成してクリップボードに書き込む JavaScript スニペット (例: https://clipboardjs.com/ )

次に、ローカルで Sphinx プロジェクトをビルドし ( make html)、ダイヤルインしてから、ソース リポジトリをプッシュしてドキュメントを読みます。

于 2016-11-09T06:20:33.800 に答える