shibuya trac8

23
Wikiマクロ 5 3分クッキング Shibuya.trac 第8回 勉強会

Upload: riskrisk

Post on 27-Jun-2015

1.242 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Shibuya trac8

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

Shibuya.trac 第8回 勉強会

Page 2: Shibuya trac8

自己紹介

risk(高橋 登)Twitter @riskrisk

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

Trac使ってます。

名刺配布中です。

Page 3: Shibuya trac8

Wiki見てますか?

Page 4: Shibuya trac8

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

Page 5: Shibuya trac8

http://wikipatterns.com

Page 6: Shibuya trac8

http://wikipatterns.com

Wikiの小人(Wiki Gnome)

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

書きやすくしたり

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

Page 7: Shibuya trac8

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

小人さんのテンションDown

Page 8: Shibuya trac8

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

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

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

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

Page 9: Shibuya trac8

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

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

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

Page 10: Shibuya trac8

今日のメニュー

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

「すみませんマクロ」

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

Page 11: Shibuya trac8

材料

WindowsXP TracLightning入り ・・・ 1台

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

アイデア ・・・ 少々

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

Page 12: Shibuya trac8

0. 下ごしらえ

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

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

Page 13: Shibuya trac8

テンプレの内容

#!/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)

Page 14: Shibuya trac8

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

ファイル名

Template.py

Sumimasen.py

に変更します。

Page 15: Shibuya trac8

2. クラス名を決めます

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

TemplateMacro

SumimasenMacro

にします。

Page 16: Shibuya trac8

テンプレの内容

#!/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)

Page 17: Shibuya trac8

3. マクロ動作を書く

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

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

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

Page 18: Shibuya trac8

テンプレの内容

#!/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)

Page 19: Shibuya trac8

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

egg化 とか 必要ありません

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

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

TracLight/projects/trac/SandBox/plugins

Page 20: Shibuya trac8

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

Page 21: Shibuya trac8

6. Wikiで使う

Page 22: Shibuya trac8

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

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

最後に

Page 23: Shibuya trac8

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