IPython Notebook の Markdown synthax で提供されるよりも多くのフォーマット要素を追加したい。
たとえば、基本的に異なるスタイル(たとえば、異なる背景色、境界線、アイコンなど)を持つ段落である「警告ボックス」または「メモボックス」を追加したいと思います。
セルにHTMLコードを追加できると思います。たとえば、<div>
インラインスタイル。しかし、それを行う「適切な」方法は何ですか、つまり、ipython開発者が推進する方法を意味しますか?
例は高く評価されています。
NB:私はgit masterの現在の1.0devバージョンを使用しています。
警告、メモ、成功(etc ...)ボックス(警告またはアラートボックスとも呼ばれます)を追加する簡単な方法は、ノートブックに既に含まれている bootstrap classes を使用するだけです。唯一の注意点は、リンクや他のスタイル(太字など)をHTMLでボックス内に指定する必要があることです。
このコードを含むマークダウンセル:
# Upload data files
<p class="lead">This <a href="https://jupyter.org/">Jupyter notebook</a>
shows how to upload data files to be converted
to [Photon-HDF5](http://photon-hdf5.org) format. </p>
<i>Please send feedback and report any problems to the
[Photon-HDF5 google group](https://groups.google.com/forum/#!forum/photon-hdf5).</i>
<br>
<div class="alert alert-warning">
<b>NOTE</b> Uploading data files is only necessary when running the notebook online.
</div>
この出力になります:
あなたは変えられる alert-warning
とalert-success
、alert-info
またはalert-danger
ボックスの色を変更します。
私自身の質問に答えています...
ジムは、各ノートブックのマークダウンセルにカスタムCSSスタイルを追加することを提案しました。このソリューションは機能しますが、eachノートブックにスタイルを埋め込む必要があるため、便利ではありません。私の場合、グローバルスタイルが必要で、スタイルを変更するたびにすべてのノートブックを変更したくありません。
自然な解決策は、カスタムファイル(custom.css
)スタイルを含みます。ただし、試行後 これらの手順 スタイルはノートブックに適用されません(ただし、サーバーからダウンロードできます)。
IPythonノートブックのコレクションとして書かれた この印象的な本 を見ている解決策を見つけました。著者は、各ノートブックの最後に次のコードセルを追加します。
from IPython.core.display import HTML
def css_styling():
styles = open("./styles/custom.css", "r").read()
return HTML(styles)
css_styling()
ファイルを置くcustom.css
ノートブックフォルダー(styles
サブフォルダー内)では、スタイルは最初のセルの実行後に読み込まれます。さらに、セルを再度実行する必要なしに、ノートブックを開くたびにスタイルが魔法のように読み込まれます。
この魔法のトリックは、スタイルを最初に実行したときに出力セルに保存され、非表示ではありますが、他の出力と同様に保存されるため機能します。したがって、ノートブックを読み込み、結果として出力セルを読み込むと、スタイルが適用されます。
回答を完成させるために、「警告ボックス」の作成に使用したCSSスタイルを投稿します。
<style>
div.warn {
background-color: #fcf2f2;
border-color: #dFb5b4;
border-left: 5px solid #dfb5b4;
padding: 0.5em;
}
</style>
このスタイルを保存し、前に示したコードセルを使用してロードします。ここで、ノートブックに警告ボックスを挿入するには、次の構文を使用します。
<div class=warn>
**Warning:** remember to do bookeping
</div>
それは次のようにレンダリングされます:
より一般的なノートブックのスタイリングについては、 custom.css
上記の本の。
更新:この手法はIPython 4.0/Jupyterでは機能しなくなりましたノートブックのレンダリング方法が変更されました。
そのようなスタイルを設定するための最良の方法は、ドキュメントの上部にマークダウンエントリを作成し、そこにスタイルを収集することだと思います。マークダウンセルには任意の有効なHTMLコードを含めることができるため、(たとえば)
<style>
.warning { color: red; }
</style>
この使用例については、Q&A中に Matt DavisのPyCon 2013講演 を参照してください。
別の方法は、単にスタイルチェーンを作成し、それをコードセル内のiPython HTMLオブジェクトで開くことです。
from IPython.display import HTML
style = "<style>div.warn { background-color: #fcf2f2;border-color: #dFb5b4; border-left: 5px solid #dfb5b4; padding: 0.5em;}</style>"
HTML(style)
次に、それをマークダウンセルで使用します。
<div class="warn">Warning!</div>
これらのカスタムcssスタイルは、ipythonバージョン2以降ですでに追加されています。
<div class="alert">
As of IPython 2.0, the user interface has changed significantly
</div>
<div class="alert alert-success">
Enter edit mode by pressing `Enter`
</div>
<div class="alert alert-error">
Don't try to type into a cell in command mode
</div>
これをセルに貼り付けて、マークダウンタイプに変更するだけです。
例については this を、ipythonの最先端の機能については ipython in depth を確認してください。