shibuya trac8

Post on 27-Jun-2015

1.231 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Wikiマクロ 5分3分クッキング

Shibuya.trac 第8回 勉強会

自己紹介

risk(高橋 登)Twitter @riskrisk

八王子の会社でソフトウェア開発やってます。

Trac使ってます。

名刺配布中です。

Wiki見てますか?

私のプロジェクトのWikiには、「小人さん」が住んでいます

http://wikipatterns.com

http://wikipatterns.com

Wikiの小人(Wiki Gnome)

Wikiを見やすくしたり文章を読みやすくしたり

書きやすくしたり

続きはWebで。(日本語アリ)

でも、小人さんが頑張ってくれても、誰も見てくれなかったら

小人さんのテンションDown

なので、小人さんのために

みんなから見てもらえるような

小人さんの編集の手助けになるような

Wikiマクロで、Wikiを盛り上げよう

Wikiマクロ 3分クッキング!

てれてってててて〜 てれてってっててて〜てれてってっててててて てって〜てって〜

てれてってって〜 てれてってって〜

今日のメニュー

素直にあやまれる男を目指す

「すみませんマクロ」

誠意の度合い調整機能付き

材料

WindowsXP TracLightning入り ・・・ 1台

Wikiマクロ用簡単テンプレート ・・・ 1枚

アイデア ・・・ 少々

Pythonの知識(helloworld程度) ・・・ 少々

0. 下ごしらえ

Wikiマクロ用のテンプレを使います

Tracには、テスト用のSandBoxプロジェクトを!

テンプレの内容

#!/usr/bin/env python# -*- coding: utf-8 -*-

from trac.wiki.macros import WikiMacroBase

class TemplateMacro(WikiMacroBase):

# マクロのエントリポイント def expand_macro(self, formatter, name, args): arguments = args.split(',') return main(count=int(arguments[0]))

def main(count):

return u'Template ' * count

if __name__ == '__main__': # マクロテスト用 print main(3)

1. テンプレファイルの名前変更

ファイル名

Template.py

Sumimasen.py

に変更します。

2. クラス名を決めます

テンプレの中の、クラス名

TemplateMacro

SumimasenMacro

にします。

テンプレの内容

#!/usr/bin/env python# -*- coding: utf-8 -*-

from trac.wiki.macros import WikiMacroBase

class SumimasenMacro(WikiMacroBase):

# マクロのエントリポイント def expand_macro(self, formatter, name, args): arguments = args.split(',') return main(count=int(argument[0]))

def main(count): return u'Template ' * count

if __name__ == '__main__': # マクロテスト用 print main(3)

3. マクロ動作を書く

main から returnで返した文字が、そのままWikiに出力されます

誠意の度合いを調整するので、数値で「ホント」の数を調整

return ('ホント' * count) + 'すみません'

テンプレの内容

#!/usr/bin/env python# -*- coding: utf-8 -*-

from trac.wiki.macros import WikiMacroBase

class SumimasenMacro(WikiMacroBase):

# マクロのエントリポイント def expand_macro(self, formatter, name, args): arguments = args.split(',') return main(count=int(arguments[0]))

def main(count):

return ( u'ホント' * count ) + u'すみません'

if __name__ == '__main__': # マクロテスト用 print main(3)

4. 作ったマクロを設置する

egg化 とか 必要ありません

pluginsの中に、そのまま突っ込みます

SandBoxプロジェクトならココ!

TracLight/projects/trac/SandBox/plugins

5. Tracのサービスを再起動

6. Wikiで使う

今回使用したテンプレは、ブログにアップロードします

もう少し詳しい内容もかけたら書きます

最後に

ご清聴 ありがとうございました。

top related