Python Don';t使用docutils.core.publish部分(writer_name=";HTML";)转义HTML

Python Don';t使用docutils.core.publish部分(writer_name=";HTML";)转义HTML,python,restructuredtext,Python,Restructuredtext,我正在尝试将一些HTML内容转换为StructuredText。问题是我有很多自定义HTML,以至于如果我必须为每件事编写一个特殊的解析器,我会放弃转换 默认情况下: text = ''' Heading ======= <p class="jQuery-addThis">Test</p> ''' docutils.core.publish_parts(text, writer_name='html')['html_body'] text='' 标题 ==

我正在尝试将一些HTML内容转换为StructuredText。问题是我有很多自定义HTML,以至于如果我必须为每件事编写一个特殊的解析器,我会放弃转换

默认情况下:

text = '''
  Heading
  =======
  <p class="jQuery-addThis">Test</p>
'''
docutils.core.publish_parts(text, writer_name='html')['html_body'] 
text=''
标题
=======

测试

''' docutils.core.publish_parts(text,writer_name='html')['html\u body']
转义

如何告诉
publish\u parts
(或其他函数)不要转换HTML

其他信息:

出于以下原因,我需要此功能:

  • 加上
  • 谷歌分析
  • 铁饼
  • Facebook插件
  • 推特插件
我被告知要切换到降价,但我宁愿使用StructuredText。这可能吗

提前谢谢

编辑:我应该在主题行中包含“没有原始指令”。我猜这是不可能的,但如果有人知道解决办法,我会非常高兴

您需要使用数据传递指令。你的例子是:

text = '''
  Heading
  =======
  .. raw:: html

     <p class="jQuery-addThis">Test</p>
'''
docutils.core.publish_parts(text, writer_name='html')['html_body'] 
text=''
标题
=======
.. 原始::html

测试

''' docutils.core.publish_parts(text,writer_name='html')['html\u body']

您还可以研究使用将HTML自动转换为StructuredText。

此外,我不想执行
output.replace('','谢谢,我知道
.raw::html
,但我不想使用这种方法,因为文档中有太多的行加上
raw
指令。这可能不是您想要实现的选项,但我在我的答案中添加了对pandoc的引用,以防有任何用处。