本文 編集 履歴 ソース 差分 最近の更新 VikiWikiとは

VikiWiki - MyWikiStyle

MyWikiStyleとは

自分の好みに合わせて、Wiki書式を自由に変更できる機能です。

ulの行頭文字に「■」を使用したり、hrの指定に罫線を使用したりと、 スタイルの自由なカスタマイズが可能です。 なお、ベースはVikiWikiStyle?であり、インデント指向の形式は変わりません。

MyWikiStyleを使用するには

VikiWiki 1.8.1以降が必要です。

  1. まず、スタイル名を決めてください。名前は最後にStyleをつけなくてはなりません。
  2. VikiWikiの以下のファイルを自分のスタイルの名前に修正してコピーします。
    vikiwiki/style/mywikistyle.rb
    
  3. 次にクラス名を修正します。
  4. CGIスクリプトのWIKISTYLESにスタイル名を登録します。先頭に追加すればデフォルトになります。

最後に

この機能の実装のため、1.8.0から今まであまり手をつけないようにしていた style関連のスクリプトに大きな修正をしました。 自己流Wikiフォーマットを作成していた方には非互換となってしまいます。

japanesestyle.rb

ほとんどの書式を無理やり全角文字にしたVikiWikiベースのスタイル。

require 'vikiwikibase'

module VikiWiki
	class JapaneseStyle < VikiWikiStyle

=begin
		このスタイルはMyWikiStyleの一例です。
		ベースはVikiWikiのスタイルで単純に記述文字に
		日本語を使用しただけの方法です。
		実際に作ってみての感想ですが、日本語スタイルは
		間に漢字変換が入るのでそれぞれの人で変換アプリの
		挙動が異なるので難しいと思いました。
=end

		# <pre>
		FM_PRE_S         = '<以下整形済み>'
		FM_PRE_E         = '<以上整形済み>'
		RE_PRE_S         = /^<以下整形済み?>$/
		RE_PRE_E         = /^<以上整形済み?>$/

		# <h1> to <h6>
		FM_H1            = '■%s'
		FM_H2            = '□%s'
		FM_H3            = '◆%s'
		FM_H4            = '◇%s'
		FM_H5            = '●%s'
		FM_H6            = '○%s'
		RE_H1            = /^■(.+)$/
		RE_H2            = /^□(.+)$/
		RE_H3            = /^◆(.+)$/
		RE_H4            = /^◇(.+)$/
		RE_H5            = /^●(.+)$/
		RE_H6            = /^○(.+)$/

		# <hr />
		FM_HR            = '===='
		RE_HR            = /^-{4,}|={4,}|─{4,}|━{4,}$/

		# <div class="">
		FM_DIV_S         = '→%s'
		FM_DIV_E         = '←'
		RE_DIV_S         = /^→\s*([A-Za-z].*)?$/
		RE_DIV_E         = /^←$/

		# <ul>
		FM_UL            = '・%s'
		RE_UL            = /^・(.+)$/

		# <ol>
		FM_OL            = '1.%s'
		RE_OL            = /^(?:[0-9]+[.)])\s*(.+)$/

		# <dl>
		FM_DL            = '【%s】%s'
		RE_DL            = /^【([^】]+)】(.+)$/
		FM_DL2           = nil
		RE_DL2           = nil

		# <blockquote>
		FM_BLOCKQUOTE    = '>%s'
		RE_BLOCKQUOTE    = /^>(.+)$/

		# <table border="1">
		KW_TABLE         = '┃'
		RE_TABLE         = /^┃(.+)$/

		# <table>
		KW_TABLE_N       = '│'
		RE_TABLE_N       = /^│(.+)$/

		# <!-- -->
		FM_COMMENT       = '#%s'
		RE_COMMENT       = /^#(.+)$/

		# plugin
		FM_PLUGIN        = '★%s'
		RE_PLUGIN        = /^★\s*(#{TX_IDENT}.*)$/

		# WikiName and BlacketName
		FM_WIKINAME      = nil
		RE_WIKINAME      = nil
		FM_WIKINAMEX     = '『%s』'
		RE_WIKINAMEX     = /^『(#{TX_WRIX})』/
		FM_WIKINAMEA     = '『%s %s』'
		RE_WIKINAMEA     = /^『(#{TX_WRIX})\s+([^』]+)』/

		# <em>
		FM_EM            = nil
		RE_EM            = nil

		# <strong>
		FM_STRONG        = "*%s*"
		RE_STRONG        = /^*([^*]+)*/

		# <del>
		FM_DEL           = '×%s×'
		RE_DEL           = /^×([^×]+)×/

		# escape
		FM_ESCAPE        = ';%s;'
		RE_ESCAPE        = /^;([^;]+);/

		# link and image
		FM_A             = '「%s %s」'
		RE_A             = /^「(#{TX_INURL})\s+([^」]+)」/
		RE_URL           = /^(#{TX_URL})/
		RE_IMGEXT        = /#{TX_IMGEXT}$/
		RE_EMBIMG        = /^(\S+#{TX_IMGEXT})\s+(\S+)$/

		# plugin (inline)
		FM_INPLUGIN      = '★{%s}'
		RE_INPLUGIN      = /^★{([^}]+)}/

		# indent
		RE_INDENT        = /^( *)/

	end
end