nikkie-ftnextの日記

イベントレポートや読書メモを発信

Sphinx

Mixinを継承したクラスを動的に生成する機能を提供して、Sphinx拡張開発を簡単にする 襲(sphinxcontrib-extdevhelper-kasane)をリリースしました👘

リリース報告エントリです。 sphinxcontrib-extdevhelper-kasaneが爆誕しました! 目次 目次 sphinxcontrib-extdevhelper-kasane(現在 0.2.0) kasaneに至るまで kasaneが提供するSphinx拡張開発体験 終わりに P.S. 機を同じくしてsphinx-revealjsのattakei…

Python公式ドキュメントをローカルでビルドする

はじめに venvの--upgrade-depsをよろしくね! nikkieです。 みなさん、Pythonのドキュメントを手元でビルドしたくなることってありますよね?? ということでやってみましょう! ※本記事はすぐどこかで役に立つことはない部類の一本と思われます 目次 はじ…

sphinx-revealjsで作るスライドで、リンクをブラウザの別タブで開くようにする(なんとsphinx-new-tab-linkと一緒に使うだけ!🦋)

目次 目次 attakeiさんによるsphinx-revealjs sphinx-revealjs with sphinx-new-tab-link 必要な設定 reST原稿の例 終わりに P.S. コマンドアップデート版 attakeiさんによるsphinx-revealjs sphinx-revealjsは、SphinxでReveal.js製スライドを生成できるラ…

sphinx-new-tab-link 0.3.0 をリリースしました🦋 フォーマットがHTMLの任意のビルダーと(おそらく)一緒に使えます!

リリース報告エントリです。 「sphinx-new-tab-linkとはなんだろう」という方は、以下の記事をまずどうぞ! 目次 目次 sphinx-new-tab-link 0.3.0 動的にクラスを生成して、Translatorに指定する 気づいたこと システムは2度死ぬ 解き放たれたsphinx-new-tab…

報告された無限の再帰となるエラーを修正した sphinx-new-tab-link 0.2.3 をリリースしました

リリース報告エントリです。 「sphinx-new-tab-linkとはなんだろう」という方は、以下の記事をまずどうぞ! 目次 目次 sphinx-new-tab-link 0.2.3 詳細なissueを、いただいたのです❤️ 終わりに P.S. 今回のissue対応きっかけエントリたち sphinx-new-tab-lin…

Sphinx拡張 pydata-sphinx-theme に見る、動的に生成したTranslatorクラスの指定

はじめに 0ビットLLM見えましたね、nikkieです。 本日もSphinxネタ、めちゃ頭いいなと思った実装の紹介です。 目次 はじめに 目次 復習:Sphinx拡張でTranslatorを指定する pydata-sphinx-theme setup()関数 見事な実装 translator モジュール BootstrapHTML…

SphinxのTranslatorってなんだろう? 自作拡張の実装の理解を深める

はじめに Act-4、よかった。想いのこもったツイート見るたび泣いてます。nikkieです。 このところSphinx熱が再燃しており、本日もSphinxネタです。 目次 はじめに 目次 Sphinxの自作拡張におけるTranslator 結論:現時点の理解 Sphinxの拡張 TranslatorとBui…

Sphinx、お前、python -m sphinx なんてできたのか!

自作のSphinx拡張 sphinx-new-tab-link にいただいたissueに対応する中で知った小ネタです。 目次 目次 Read the Docsのログを見ていて ソースコードを確認 python -m sphinx sphinx-buildコマンド 終わりに Read the Docsのログを見ていて :bug: extension …

Sphinxのテーマを素振り 〜強調した文字の色を変えてみる篇〜

はじめに エミリーちゃんのことますます すきすきになりました、nikkieです ドキュメンテーションツールSphinx1にはテーマという機能がありますが2、自作できると知り手を動かしました。 目次 はじめに 目次 Sphinxのテーマを作る 強調箇所の色を変えるテー…

sphinx-revealjs製のスライドをGitHub Pagesで公開するためのリポジトリの初期設定

はじめに ばーい!1 nikkieです。 発表資料を作るのにsphinx-revealjsを愛用しています。 年1ペースで発表資料リポジトリを作っているのですが、先日PHPカンファレンス関西2用のスライドを公開しました。 その中で実施した初期設定を未来の私に伝えるために…

sphinx-quickstartコマンドを対話的に使わない(必要な引数を含めたマシマシ呪文詠唱!)

はじめに 一方通行<アクセラレータ>! nikkieです。 ドキュメンテーションツールSphinxには、ひな形となるディレクトリ構造を作ってくれるsphinx-quickstartコマンドがあり、とても便利です。 私はこれを対話的に使わないという使い方をしています。 目次 …

Sphinxで作るPDFでリンクを(水色の囲み線も出さずに)モノクロにする

はじめに 秘密はね、最後に明かされるんだよ。 nikkieです。 拡張を自作したり、技術同人誌を作るときに選択したりと使い込んでいるSphinx。 原稿(今回はreST)をドキュメント(今回はPDF)に変換できるツールなのですが、モノクロのPDFを作ろうとしてリン…

登壇報告 | 11月の #guidomeetup にてGuidoさんにSphinx拡張 sphinx-new-tab-link を見ていただきました!嬉しいコメント、天にものぼる心地🙌

はじめに 東海林さん、かっこよかった〜。うぇるこましてきたnikkieです。 すっかり遅くなってしまいましたが、11/30(木)のGuido氏インタラクティブ記念講演会を記事にします。 目次 はじめに 目次 Guido氏インタラクティブ記念講演会 Guidoさん!俺の作った…

sphinx-new-tab-link リリース1周年! Sphinx拡張公開で広がっていく世界に、ありがとう

はじめに 俺を、見ろ!1 nikkieです。 2022年10月に自作のSphinx拡張をリリースしてから1年が経過していました。 この拡張を公開したことでいくつか得がたい経験をさせていただいております。 ありがとうございます! 目次 はじめに 目次 sphinx-new-tab-lin…

Sphinx拡張のテストをpytestで書いたとき、テスト関数の引数に渡すappやstatusやwarningってなに?

はじめに チーフとPと応援上映ご一緒した〜、楽しかった〜!! nikkieです。 エミリいいいいいいいいいいいい!!!!(※心の絶叫) Sphinxのテストに関するネタです。 Sphinx拡張のテストをリファクタリングしたいと思い始めたのですが、そもそも自分で書い…

sphinx-new-tab-link 0.2.0にて、dirhtmlビルダーで作ったHTMLの中の外部リンクも、ブラウザの新しいタブで開けるようになりました

リリース報告エントリです。 「sphinx-new-tab-linkとはなんだろう」という方は、以下の記事をまずどうぞ! 目次 目次 sphinx-new-tab-link 0.2.0 dirhtmlビルダーをサポート プルリクエストを、いただいたのです!❤️ 終わりに sphinx-new-tab-link 0.2.0 di…

sphinx-new-tab-linkのIssue対応をする中で存在を知った、便利そうなSphinx拡張たち

はじめに ミリアニTV放送まで39時間切った! nikkieです。 みんなー、日曜朝10時はミリアニですよ〜 今回はSphinx拡張に関するメモ書きです 目次 はじめに 目次 sphinx-new-tab-link 存在を知った便利そうなSphinx拡張 sphinx-copybutton sphinx-hoverxref …

SphinxでビルドしたHTML(Alabasterテーマ)でGoogle Fontsを使う 〜BIZ UDGothicを例に〜

はじめに XP祭り2023、ありがとうございました! nikkieです。 先日のLT会で知ったBIZ UDGothicをSphinxで試しました。 目次 はじめに 目次 結論:SphinxでビルドしたHTML(Alabasterテーマ)でBIZ UDGothicを使う 「LTのコツ」大披露会で知ったBIZ UDGothic…

Sphinxで作ったPDFにフォント埋め込みが必要なのはどうして? そしてどうやる? 3年越しで達成し、理解が深まりました

はじめに やっと意味分かった... nikkieです。 ドキュメント変換ツールSphinxでは、reSTで書いた原稿をPDFに変換することもできます。 Sphinxで作ったPDFに「フォント埋め込みが必要」というのがずっと理解できていなかったのですが、このたび手を動かして理…

Markdownの原稿をSphinxで変換して作ったHTMLの中の外部リンクも、sphinx-new-tab-link を使ってブラウザの新しいタブで開けることを確認しました

はじめに 聞いて聞いて! nikkieです。 ドキュメント変換ツールSphinxはサードパーティのMyST-Parser拡張を使うと、Markdownファイルからドキュメント(HTMLやPDFなどなど)を作れます。 Markdownからドキュメントを作るときに、私が開発したライブラリsphin…

Sphinxはmetaディレクティブだけで、property属性を持ったOGP用のmetaタグがHTMLに作れちゃうんです!

はじめに CHASE!、nikkieです。 OGP(Open Graph protocol)に関するSphinxネタです。 発表スライドはSphinx拡張で作ってGitHub Pagesで公開している1ので、Sphinxで作るHTMLのOGP用のタグ設定はそれなりに経験があるつもりでした。 この週末、今回紹介する…

conf.py、お前だったのか。doctestの動きを制御するコメントがSphinxでビルドしたHTMLに表示されなかったのは

はじめに 「お前」のルビは「おまい」です1、nikkieです。 以前、Sphinx関連ネタでreST(reStructuredText)に書いたPythonの対話モードの実行例をdoctestを使ってテストしていることをアウトプットしました。 こちらに関連して、すごーく小さい(だけど私に…

Sphinxのliteralincludeディレクティブのオプションを完全理解! シンタックスハイライトしたコードを別ファイルから柔軟に含められます

はじめに よろしくね、私の味方! nikkieです。 Sphinxでシンタックスハイライトしたコードを表示する1際、コードが別のファイルにあるときは literalinclude ディレクティブを使っています。 このディレクティブ、ドキュメントを読んだところ知らなかったオ…

Sphinxには、シンタックスハイライトしたコードの表示の仕方が「4つ」ある

はじめに Sphinx、全然理解せずに使ってたな… nikkieです。 ドキュメント変換ツールSphinx、私は執筆や発表資料作成でもヘビーユースしています。 シンタックスハイライトしたコードの表示はcode-blockディレクティブ1やliteralincludeディレクティブを使っ…

Sphinxで作るドキュメント中のPythonコード(実行例)をdoctestでテストしよう! 不安は退屈に変わるのです

はじめに エクスペクト・パトローナム!1 nikkieです。 久しぶりのSphinxネタです。 Sphinxを使ってチュートリアルや発表資料を作る中で、Pythonの対話モードの実行例を書くことがあります。 内容を調整しているうちに、気づかず実行例を壊してしまうことが…

LT報告 | PyLadies Tokyoの8周年記念オンラインパーティにて、Sphinxでランディングページを作って得た知見を8つ共有してお祝いしました #PyLadiesTokyo

はじめに 飾り帯の意が強ければ、斧とて飾り帯に砕けることもあろう。1 nikkieです。 Sphinxでランディングページを作って得た知見を、1ヶ月ほど前(11/19(金))にLTしました。 実はこのひと月の間、そのLTに関連して執筆したエントリがいくつかあったんです…

SphinxはreSTのロールをピンポイントで使ってスタイルを整えられる!全部2連バッククォートにしていた過去の私に伝えたい多様なロール

はじめに がんばったのに…な…1、nikkieです Sphinxのロール、これは本当に多様なんです! コード片もコマンドもファイルパスも全部2連バッククォートでマークアップしていましたが、より適切なロールを使ってスタイルを整えられるのです。 目次 はじめに 目…

Sphinxで出力するHTMLに取り消し線を引きたい

はじめに うるせェ!!! 行こう!!!!、nikkieです。 Sphinxに関する小ネタです。 ビルドしたHTMLに取り消し線1を引く方法を共有します。 目次 はじめに 目次 結論:Sphinxで出力するHTMLに取り消し線を引く方法2つ 1. ライブラリ sphinxnotes-strike 2. …

SphinxのデフォルトテーマAlabasterは驚くほど簡単にカスタマイズできます!(フォントや色の変更、スタイルの上書き)

はじめに 左腕のこれが、仲間の印だ1‍♂️❌ nikkieです。 Python Boot Camp(a.k.a. pycamp)のライディングページをSphinxで作って得た知見をアウトプットするシリーズです(まだまだ続きますよ〜)。 SphinxでビルドしたHTMLには数々のテーマがありますが、…

make htmlだけじゃない!? Sphinxのビルドコマンドには make singlehtml というものもあるんです!

はじめに 先輩、飲みます? nikkieです。 Python Boot Camp(a.k.a. pycamp)のライディングページをSphinxで作って得た知見をアウトプットするシリーズです。 このページ、HTMLなのでmake htmlでビルドしてると思うじゃないですか〜1。 実はmake singlehtml…