MoinMoinでWebP画像を表示する
moin-1.9.8を使っています。PNG画像を減色して貼り付けていたのですが試しにWebPにしたらめちゃめちゃ小さくなるじゃないですか!
しかしmoin-1.9.8はWebPをアップロードしても画像とは認識してくれませんでした。
むむぅ。
ということでMoinMoinのコードを読んでみる。imgタグを生成してるのはここ。
http://hg.moinmo.in/moin/1.9/file/dbe605c5867c/MoinMoin/action/AttachFile.py#l1161
1160 # destinguishs if browser need a plugin in place 1161 if mt.major == 'image' and mt.minor in config.browser_supported_images: 1162 url = getAttachUrl(pagename, filename, request) 1163 request.write('<img src="%s" alt="%s">' % ( 1164 wikiutil.escape(url, 1), 1165 wikiutil.escape(filename, 1))) 1166 return 1167 elif mt.major == 'text': 1168 ext = os.path.splitext(filename)[1]
ふむふむMIMEタイプがbrowser_supported_imagesにあればimgタグになるようになってるな。
browser_supported_imagesを確認してみる。
http://hg.moinmo.in/moin/1.9/file/dbe605c5867c/MoinMoin/config/__init__.py#15
14 # List of image types browser do support regulary 15 browser_supported_images = ('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', )
あ、やっぱりwebpが入ってない。
ということでwikiconfig.pyでもろもろ追加。
import mimetypes mimetypes.add_type('image/webp', '.webp', True) ### .webp は image/webp import MoinMoin.config MoinMoin.config.browser_supported_images = tuple(list(MoinMoin.config.browser_supported_images) + ['webp']) ### webpも画像
これでサーバーを再起動したら見事に.webpが画像として表示されました~。
これで軽量画像ライフが送れます。
chrome以外では表示できないらしいけどねっ。