将Sphinx文档源构建为XWikisyntax输出

sphinx-xwiki-builder的Python项目详细描述


从Sphinx文档源文件生成XWiki语法输出。有关详细信息,请参见:

另外,,此扩展将自动将snake case输入文件转换为CamelCase 变量与XWiki页面名称一致,因此使用此扩展不需要更改 文件名更像wiki。但是,可以通过使用 xwiki_page_name_overrides选项将您自己的文件设置为XWiki页面名称映射。在

您可以轻松地复制任何生成页面的输出,并将其粘贴或上载到 XWiki实例。在

安装

要安装扩展,请运行:

python3 ./setup.py install --user

或者从PyPi安装:

^{pr2}$

使用扩展名

在您的conf.py中,添加以下内容:

extensions.append("abstrys.sphinx_xwiki_builder")

现在,您可以通过构建“XWiki”目标来构建XWiki输出:

sphinx-build -b xwiki <sourcedir> <outputdir>

这些文件将作为<;PageName>;.xwiki存储在<;outputdir>;中的“xwiki”目录中;。在

选项

可以使用以下选项修改输出:

xwiki_root_页面

设置用作“根”页面的XWiki页面。这是包含内容的页面 斯芬克斯文档的index.rst文件。在

文档中的所有其他页面将是根页面的子页面:

{RootPage}/{PageName}
 |          |
 |          +-- All other pages in the toctree.
 |
 +-- The `index.rst` file.

不会试图创建更多的子页面来避免与正常的Sphinx项目不兼容, 以及防止由于不同的本地路径而导致的链接问题。在

您一定要设置此选项!它没有默认值。在

xwiki_页面模板

默认情况下,writer的输出将相当简单,样式最少。使用此选项可以 提供您自己的Jinja2模板的路径,该模板将在编写输出文件时使用。在

例如,如果要向页面添加CSS样式规则。或者包含XWiki模板,自定义 页眉或页脚,这是做这件事的地方。在

这是可选的,从Sphinx项目中获取合理的XWiki页面不需要任何模板。在

Important

Because XWiki uses the ^{tt4}$ and ^{tt5}$ syntax that’s also Jinja’s default block and variable markers, and uses ^{tt6}$ and ^{tt7}$ markers for links and group markers, you must use the following characters in your template to begin and end blocks, variables, and comments:

  • blocks: enclose within ^{tt8}$ and ^{tt9}$
  • variables: enclose within ^{tt10}$ and ^{tt11}$
  • comments: enclose within ^{tt12}$ and ^{tt13}$

In other words, just change your normal curly-braces with angle braces.

以下变量用于在模板中放置内容:

  • doc_name:页面本身的名称(notH1元素的标题)。在
  • page_contents:页面的呈现的XWiki内容。在

xwiki_page_name_覆盖

默认情况下,Sphinx(HTML)样式的snake case页面名称将自动转换为 CamelCase,这是XWiki页面名称的书写方式。在

您可以使用wiki输入文件名来提供此选项。就像 Sphinx目录树,使用文件的basename—文件扩展名(.rst.md)不应该 包括在内。在

许可证和其他信息

狮身人面像扩展最初是由埃隆·亨尼西开发的;。在

本软件是在麻省理工学院开放源码许可的条件下提供的。参见LICENSE 包含在此存储库中的文件以获取完整的详细信息。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序