--> -->

skimemo


skimemo - 日記/2024-04-05/最新のtracでテンプレートプラグインを使う

_ 最新のtracでテンプレートプラグインを使う

_ 概要

今時 Trac なんて使っている人はいないと思いますが、歴史的な経緯があって使わざるを得ない人もごく希にいるかもしれません。
そして最新の Trac1.6 を入れると、TracTicketTemplatePlugin が動かなくなります。

チケットのテンプレート機能が無いと内容が統一できないため、代わりに TicketStencilPlugin を入れる事にします。
ただし、素のままだと日本語に対応していないので、ついでに日本語対応も行います。

_ プラグインのインストール

sudo /usr/local/bin/pip install svn+https://trac-hacks.org/svn/ticketstencilplugin/1.0

_ ファイルの編集

  1. プラグインのインストールされたディレクトリに移動します。
    cd /usr/local/lib/python3.9/site-packages
  2. pyファイルを編集します
    sudo vi ticketstencil.py
      1
      2
      3
      4
      5
      6
      7
      8
      9
    
    stencils = {}
    prefix_len = len('TicketStencil')
    all_types = [enum.name for enum in Type.select(self.env)]
    # Set defaults for remaining ticket types
    for ticket_type in all_types:
        stencils[ticket_type] = ''
    for name in self.wiki_system.get_pages('TicketStencil'):
        page = WikiPage(env = self.env, name = name)
        ticket_type = name[prefix_len:]
    • 上記5行目: 最後の方にあった stencils の初期化を上に持ってきます。こうしないと何故か最後に全てクリアされてしまいます。
    • 上記9行目: 不要な .lower() を削除します。

  3. jsファイルを編集します
    sudo vi htdocs/ticketstencil.js
    Everything is expanded.Everything is shortened.
      1
    
     
    
    var new_type = $('#field-type option:selected').val();
    • .lower()を削除します。

  4. 最後にhttpdを再起動してプラグインは完了です。
    sudo systemctl reload httpd

_ テンプレート定義

TicketStencilはwikiのページでテンプレート定義をおこないます。
/wiki/TicketStencilBug(バグ)(「Bug(バグ)」部分はチケットの「種類」)のようなwikiページを作成すると、その種類を選択した場合にwikiページの内容が初期表示されます。

Category: [Linux] - 16:20:26



 
Last-modified: 2024-04-05 (金) 16:57:38 (24d)