自作のディレクティブを有効するために
heavenshell's note -自作のディレクティブを有効するために の転載。
rstblog で自作のロールやディレクティブを有効にする為には現状 rstblog/modules/ というディレクトリにモジュールを作成する必要がある。
手動で rstblog/modules に自作のモジュールを入れるのはやはり筋が悪い。
Sphinx には sphinxcontrib という仕組みがあり、設定ファイルに拡張モジュールを設定する仕組みになっている。
rstblog も同様に config.yml に使用する拡張モジュールを設定できるようにすれば良いと思い、パッチを作成した。
diff --git a/rstblog/builder.py b/rstblog/builder.py index ea659dd..23da103 100644 --- a/rstblog/builder.py +++ b/rstblog/builder.py @@ -221,6 +221,11 @@ class Builder(object): mod.setup(self) self.modules.append(mod) + for extension in self.config.root_get('extensions') or []: + mod = __import__(extension, None, None, ['setup']) + mod.setup(self) + self.modules.append(mod) + @property def default_output_folder(self): return os.path.join(self.project_folder,
config.yml に extensions というのがあると利用できるようにした。
--- active_modules: [pygments, tags, blog, latex] extensions: [rstblogcontrib.youtube]
こんな感じでモジュールを設定してやる。
とりあえず rstblog 自体に pull request を出してみたが、取り入られるかどうかは微妙な気がする…。
追記:今現在取り入れられていないからやはり、需要がないと思われたのかなぁー。