Nil*_*esh 12 python python-sphinx
我希望在Sphinx中提及相同的功能,reStructuredText显示/隐藏代码片段.但该帖子上没有共享代码.
SQLAlchemy文档使用特殊扩展(https://bitbucket.org/zzzeek/zzzeeksphinx/).
文档源包含带有自定义选项和标记的标记,如下例所示:
.. sourcecode:: python+sql
{sql}>>> engine.execute("select 1").scalar()
select 1
()
{stop}1
Run Code Online (Sandbox Code Playgroud)
这由特殊的Pygments lexer(PythonWithSQLLexer
)和Pygments formatter(PopupSQLFormatter
)处理,以生成<div>
带有代码片段和显示/隐藏它的链接的"弹出窗口" .源代码位于sqlformatter.py中.
show/hide切换由init.js中的jQuery magic处理.
该Mako的模板系统是用来生成HTML页面(在狮身人面像的默认模板系统是神社).这是由子类配置TemplateBridge
在mako.py.
在模板文件layout.mako中,指定了CSS和JavaScript文件(包括init.js)的路径.有关Sphinx模板的更多信息,请参阅http://sphinx-doc.org/templating.html.
Python文档中的许多代码示例都有一个"按钮",可以在doctest样式的代码片段中切换交互式提示(>>>
,...
)和输出的显示.通过提示和输出,可以更轻松地复制和粘贴代码.以下是几个示例:http://docs.python.org/library/datetime.html#module-datetime.
该功能在copybutton.js中实现.