top

TOP  RSS  Login

Hiki/MMLプラグイン

概要

MML(Music Macro Language)テキストをHikiで再生するプラグインです。

使い方

{{mml('
t130l8 cdefgfedc;
t130l8 ccccdd>gg<c;
')}}
{{mml('
t130l8 cdefgfedc;
t130l8 ccccdd>gg<c;
', true)}}

t130l8 cdefgfedc;
t130l8 ccccdd>gg<c;
t130l8 cdefgfedc;
t130l8 ccccdd>gg<c;

引数

  1. MMLテキスト。必ずカンマで囲う。
  2. MMLテキストを隠すか否か。( true | false ) 省略可。

必要なもの

ソース

使用する場合、mml.rbとしてmisc/pluginディレクトリに入れてください。

# mml.rb: MML plugin for hiki
# Copyright (C) 2007 qz

if @options["command"] == "view"

	add_body_enter_proc {
		@mmlnum = 0
		@hex = @page.unpack("H*").join
		''
	}

	add_header_proc {
		%Q!  <script type="text/javascript" src="#{ @conf["mml.url_jsmml"] || "./js/JSMML.js" }"></script>\n! +
		%Q!  <script type="text/javascript" src="#{ @conf["mml.url_mmlp"] || "./js/mmlp.js" }"></script>!
	}

end


def saveconf_mml
	if @mode == 'saveconf'
		@conf["mml.url_jsmml"] = @params["mml.url_jsmml"][0]
		@conf["mml.url_mmlp"]  = @params["mml.url_mmlp"][0]
	end
end


add_conf_proc( "mml", "MML Player Config" ) do
	saveconf_mml

	%Q!
		<h3 class="subtitle">MML Player </h3>
		<p>URL to JSMML.js : <input type="text" name="mml.url_jsmml" value="#{ @conf["mml.url_jsmml"] || "./js/JSMML.js" }" /></p>
		<p>URL to mmlp.js : <input type="text" name="mml.url_mmlp" value="#{ @conf["mml.url_mmlp"] || "./js/mmlp.js" }"/></p>
	!
end


def mml(text, *arg)
	@mmlnum += 1
	id = "mml" + @hex + @mmlnum.to_s
	hidden = arg[0].nil? ? "false" : arg[0] ? "true" : "false"
	%Q!<pre id="#{id}" class="mmltext">#{text}</pre>! +
	%Q!<script type="text/javascript">mmlplayer("#{id}", #{hidden}, true)</script>!
end

export_plugin_methods(:mml)

欠点

  • 設置が面倒
  • MMLを使用していないページでもJSMML.swfがロードされる

Last modified:2008/02/07 02:35:47

cG

0.32133