SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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で使う
最後に




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

   もう少し詳しい内容もかけたら書きます
ご清聴 ありがとうございました。

Mais conteúdo relacionado

Mais procurados

実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技Akira Maruyama
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswiftTomohiro Kumagai
 
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよSerf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよMasahito Zembutsu
 
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...Kazumi Hirose
 
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Kazumi Hirose
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Hiramatsu Ryosuke
 
マイクラ自動化枠第3回資料
マイクラ自動化枠第3回資料マイクラ自動化枠第3回資料
マイクラ自動化枠第3回資料Ryo Fujita
 
羽ばたき飛行機製作工房のご紹介
羽ばたき飛行機製作工房のご紹介羽ばたき飛行機製作工房のご紹介
羽ばたき飛行機製作工房のご紹介祐介 高橋
 
擬似乱数生成器の評価
擬似乱数生成器の評価擬似乱数生成器の評価
擬似乱数生成器の評価Taku Miyakawa
 
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村Koichi Uchimura
 
Vagrant intro
Vagrant introVagrant intro
Vagrant introt9md
 
64bit化してみた話
64bit化してみた話64bit化してみた話
64bit化してみた話Yuichi Yoshida
 
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafeプロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafeTomohiro Kumagai
 
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオンKohki Nakaji
 
JSで対戦できるゲーム作った
JSで対戦できるゲーム作ったJSで対戦できるゲーム作った
JSで対戦できるゲーム作ったAkito Moriki
 
Iron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリIron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリYamamoto Kazuhisa
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tinygu4
 
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?Uchio Kondo
 

Mais procurados (19)

実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技実はこんなこともできる Fireworksの裏技
実はこんなこともできる Fireworksの裏技
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
 
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよSerf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
 
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
 
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
マイクラ自動化枠第3回資料
マイクラ自動化枠第3回資料マイクラ自動化枠第3回資料
マイクラ自動化枠第3回資料
 
羽ばたき飛行機製作工房のご紹介
羽ばたき飛行機製作工房のご紹介羽ばたき飛行機製作工房のご紹介
羽ばたき飛行機製作工房のご紹介
 
擬似乱数生成器の評価
擬似乱数生成器の評価擬似乱数生成器の評価
擬似乱数生成器の評価
 
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
64bit化してみた話
64bit化してみた話64bit化してみた話
64bit化してみた話
 
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafeプロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafe
 
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン
【サポーターズCoLab勉強会】「美少女になりたい…」お手軽VTuber入門ハンズオン
 
JSで対戦できるゲーム作った
JSで対戦できるゲーム作ったJSで対戦できるゲーム作った
JSで対戦できるゲーム作った
 
Iron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリIron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリ
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
 
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
 

Semelhante a Shibuya trac8

RustでWebブロック崩し作ってみた
RustでWebブロック崩し作ってみたRustでWebブロック崩し作ってみた
RustでWebブロック崩し作ってみた虎の穴 開発室
 
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプトRichie Shellshoccar
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto studyNaoya Inada
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of PythonTakanori Suzuki
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12Takanori Suzuki
 
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門Teng Tokoro
 

Semelhante a Shibuya trac8 (9)

RustでWebブロック崩し作ってみた
RustでWebブロック崩し作ってみたRustでWebブロック崩し作ってみた
RustでWebブロック崩し作ってみた
 
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
マイクロマウスのための MATLAB/Simulink 講座 第1回 - MATLAB入門
 

Shibuya trac8