LoginSignup
3
3

More than 5 years have passed since last update.

MantisにCSSを追加するだけのプラグインつくったよ

Posted at

SimpleCustomCss

参考文献

Symfowareについての考察blog
ほぼ唯一といっていいと思う日本語のMantis解説。
しっかりしたプラグイン作成までカバーしてくれています。
Mantis Bug Tracker Developers Guide - Building a Plugin
↑のチュートリアルリンクが切れていたので代わり。しかしSymfowareについての考察blogがほぼ日本語訳してくれているので読めなかった使わなかった。
Plugin Events Reference Mantis Bug Tracker Wiki
フックできるイベントの調査。
CSSの読み込み時イベントを探した。
公式ですし結構充実してそうなので今後は他の英語ページはいいかな…

動機

Markdownとハイライトを導入したけど``時のただの<code>に装飾入ってないなー
CSSに追記するか、別ファイルに書いて新たに読み込ませるかー
あーまたcoreのファイルをバックアップとっていじるのかーいやだなー

そうだ、プラグインにしよう。


と思ってつくってみたら、単純すぎてプラグインと呼びたくないものになる。
普通のプラグインの通過点で止めるというか…


<?php

class SimpleCustomCssPlugin extends MantisPlugin
{
    public function register()
    {
        $this->name = 'Simple Custom CSS';
        $this->description = 'add custom CSS';
        $this->page = '';
        $this->version = '1.0';
        $this->requires = array(
            'MantisCore' => '1.2.0',
        );

        $this->author = 'khsk';
        $this->contact = 'eatparalytic@gmail.com';
        $this->url = 'https://github.com/khsk/SimpleCustomCss';
    }

    public function hooks()
    {
        return array(
            'EVENT_LAYOUT_RESOURCES' => 'addCss',
        );
    }

    public function addCss()
    {
        echo '<link rel="stylesheet" type="text/css" href="', plugin_file( 'css/custom.css' ), '"/>';
    }
}

ほぼ公式の使い方解説の写し。<link>echoは公式コピーの引数変更ぐらいか。

内容は<head>閉じる直前時のイベントEVENT_LAYOUT_RESOURCES発生時に<link>echoしてCSSを追加するだけ。

直接ファイルをいじるのに比べて、ブラウザからオン・オフが簡単に出来きます。それだけ。

すでにテーマをカスタマイズできるプラグインはありますが、ほんのちょっとだけ、このタグだけ変えたいってときはこんな単純なものもありますよ…ということで、Gitの練習がてらに挙げてみました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3