Personal tools
You are here: Home Zope&Plone Tips rawディレクティブ有効化
Document Actions

rawディレクティブ有効化

by maru last modified 2007-08-15 20:46

Zope-2.9.7にしたらreStructuredTextのrawディレクティブが通常では使えない状態になってたのでそれを有効化

 これは Zope-2.8.x系 から Zope-2.9.x系 に移行したときの弊害と言うべきか。

rawディレクティブが使えなくなっちゃった blog の中で試験的に reStructuredText を使って書き込みをしてたところが何個所かあり、そのなかで ..raw:html ~ を使ってたものがいくつか存在。

 その raw を使った Document 上で Zope-2.8.x系 のときはなにも問題が無かったのが Zope-2.9.x系 に移行したらこんな感じ(←)に WARNING が出て表示してくれない状態に。

 ・・・うーん。単純に使用許可が下りてないだけなのか。セキュリティ対策っぽいのですが仕様をコロコロ変えるのは止めていただきたいorz

 対象となる Document に手を入れて raw を使わないようにすればいいんですが、今更1年ぐらい経っているものを変更履歴の上位に君臨させたくない(?)し、このwebはヲレしかいじる人がいないしで raw directive を使用可能状態に持って行きます。

 で、なんとかその辺のenable/disableをしている箇所を発見して、以下のように変更。

◆[ZOPEINSTANCE]/lib/python/reStructuredText/__init__.py



def render(src,
writer='html4css1',
report_level=1,
stylesheet='default.css',
input_encoding=default_input_encoding,
output_encoding=default_output_encoding,
language_code=default_language_code,
initial_header_level = initial_header_level,
settings = {}):
"""get the rendered parts of the document the and warning object
"""
# Docutils settings:


settings['file_insertion_enabled'] = 0
settings['raw_enabled'] = 1 ← ここの値を0から1に変更
if language_code:
settings['language_code'] = language_code



 これで raw directive が使えるようになりました。表示も直った~~~ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ