kobapan@wiLiki
Login
Gauche

Gauche:WiLiKiの書式

Tag: 書式

目次

コメントと継続行

";;" で始まる行はコメントとなり、保存はされますが HTMLとしては出力されません。編集画面では参照できます。 一時的にコンテンツを消したり、編集時の連絡事項などに使えます。

"~" で始まる行は(コメントを除く)前の行から継続しているものとして 扱われます。(行頭の"~"は除かれます)。

コメントと継続行の処理はHTMLフォーマッタが最初に行う処理です。 以降、「行」とあるのは全てコメントと継続行が処理された後の行を 指します。

なお、特例として後で述べるverbatimブロック中では、行頭に ";;" や "~" が あっても通常行として扱います。

記述例:

;; コメント
ふつうの行。
~ で、これは前の行からの続き。
;; コメントが間に入っても無視される
~ もっと続く。

出力:

ふつうの行。 で、これは前の行からの続き。 もっと続く。

パラグラフ、改行、<hr>

連続する行はひと続きのパラグラフになります。

空行でパラグラフが区切られます。

強制改行を入れるには、"~%"と記述します。

4つのマイナス"----" 「だけ」の行は<hr>となります。

記述例:

第一パラグラフ。
その続き。

第二パラグラフ。改行→~% 改行の次の行

出力:

第一パラグラフ。 その続き。

第二パラグラフ。改行→
改行の次の行

インライン修飾

但し、インライン修飾は行をまたいでは適用されません。

長いフレーズを強調したいが編集が大変な場合は、行継続を使って下さい。

また、特殊な文字シーケンスをそのまま表示したい場合に、空の修飾(例えば6つのシングルクオート)を間に挟むという使い方もできます。

記述例:

''強調(<em>)''された文字と'''もっと強調(<strong>)'''された文字。

''行をまたいで強調を続けたい時は
~行継続を使う''

"""(define hoge "hogehoge")"""

次を~~~消す~~~

空の修飾を使ってこんな→~''''''% 特殊シーケンスをそのまま表示

出力:

強調(<em>)された文字ともっと強調(<strong>)された文字。

行をまたいで強調を続けたい時は行継続を使う

(define hoge "hogehoge")

次を消す

空の修飾を使ってこんな→~% 特殊シーケンスをそのまま表示

リンクとWikiName

二重の中括弧 ([[, ]]) で文字列を囲うと、 その文字列を名前とするWiLiKi内のページへのリンクとなります。 (この文字列は伝統的にWikiName?と呼ばれます)。 WikiNameには、スペースを除くほとんどの文字が使えます。 但し、'$'で始まるWikiNameはマクロ用に予約されています。 マクロに関してはWiLiKi:リファレンスマニュアル:マクロ?を参照して下さい。 また、WiLiKiでは階層的な名前空間を ':' で区切る習慣があります。

さらに、WikiNameの最初の ':' までの文字列がInterWikiName?に 登録されているものと一致した場合、そのリンクは外部のWikiページへの リンクとなります。

まだ存在していないWikiNameが使われた場合、そのWikiNameの横に '?'というリンクが表示されます。そのリンクをクリックすることで そのWikiNameを持つページを追加することができます。 (存在しないWikiNameを書くことが、ページを追加する唯一の方法です)。

外部のURLを参照したい場合、'http://' で始まる文字列を書けば そのままリンクになります。アンカーの文字列を指定したい場合は '[URL 文字列]' のように書きます。

記述例:

[[WiLiKi]]。

http://www.shiro.dreamhost.com/scheme/

[http://www.shiro.dreamhost.com/scheme Practical Scheme]

出力:

WiLiKi?

http://www.shiro.dreamhost.com/scheme/

Practical Scheme

整形済みテキスト、verbatimブロック

行頭にスペースがあるとその行は整形済テキストとして出力されます(<pre>)。 そのような行が連続している場合はひとつの<pre>ブロックの中に入ります。 <pre>内であってもインライン修飾やWikiName、リンクは処理されます。

"{{{" だけの行と "}}}" だけの行に挟まれた部分も整形済テキストになります。 但し、この場合はコメントや継続行、インライン修飾、 WikiName等は処理されず、そのまま出力されます。(verbatimブロック)。 このページの「記述例」の部分は全てverbatimブロックで書いています。

一般に、ソースコードやエラーメッセージをそのまま貼り付ける場合は verbatimブロックが適しており、等幅フォントで整形された簡単な表などを 載せる場合は行頭のスペースを使うと良いでしょう。 (<pre>内のテキストがどのようなフォントで表示されるかは 最終的にはユーザの設定によります)。

記述例:

 行頭のスペースによる<pre>ブロック。
 ''強調''や[[WikiName]]、リンク (http://www.schemers.org )は処理される。

出力:

 行頭のスペースによる<pre>ブロック。
 強調やWikiName?、リンク (http://www.schemers.org )は処理される。

引用

"<<<"だけの行と">>>"だけの行にはさまれた部分は引用(<blockquote>)になります。 引用はネストすることもできます。

記述例:

<<<
Aはかくかくしかじかと語った。
<<<
かくかくしかじか
>>>
どっとはらい。
>>>

出力:

Aはかくかくしかじかと語った。

かくかくしかじか

どっとはらい。

見出し、リスト

行頭にアスタリスク '*' があると見出しとなります。'*', '**', '***' … とアスタリスクを増やすにつれ小見出しとなってゆきます。 アスタリスクと見出しの文字列の間にはスペースが必要です。

行頭に '-' があると順序なしリスト (<ul>)、'#' があると順序つきリスト(<ol>) となります。やはり、'--', '---', … や '##', '###', … のように 増やしてゆけばレベルが深くなります。'-' や '#' と本文の間にスペースが必要です。 なお、1段目と3段目を<ul>で、2段目を<ol>で、 という具合に混合することもできます。

行頭に ':' がある場合、定義リストを構成できます。基本的な構成は ":見出し:説明" ですが、説明部分は次の行にあっても構いません。 見出しの行の最後の':'が見出しを区切るので、説明文に':'が含まれる場合は 必ず次の行にしてください。(逆に、見出しに':'が入っても構いません)。

(今のところ、定義リストと<ul>や<ol>とを混ぜることはできません。 また、<li>や<dd>, <dt>要素中に複数のパラグラフを置くこともできません。)

記述例:

- はじめに
## そのいち
--- 其の壱の壱
--- 其の壱の弐
## そのに
--- 其の弐の壱
---- 其の弐の壱の甲
---- 其の弐の壱の乙
- おわりに

:FORTRAN: FORmula TRANslation
:LISP: 
LISt Processor / Lots of Irritating, Silly Parentheses
:Perl: Practical Extraction and Report Language /
Pathologically Eclectic Rubbish Lister

出力:

FORTRAN

FORmula TRANslation

LISP

LISt Processor / Lots of Irritating, Silly Parentheses

Perl

Practical Extraction and Report Language / Pathologically Eclectic Rubbish Lister

テーブル

行頭と行末に '||' があると、それはテーブルの一行を構成します。 連続するテーブル行でひとつのテーブルとなります。 今のところ、テーブルの中は通常のインライン整形しか行っていません。 将来はブロック要素も入れられるようにするかもしれません。

記述例:

||FORTRAN||FORmula TRANslation||
||LISP||LISt Processor||
||Perl||Practical Extraction and Report Language||

出力:

FORTRAN FORmula TRANslation
LISP LISt Processor
Perl Practical Extraction and Report Language

その他

マクロで書式を追加変更

デフォルトのマクロは、Gauche:WiLiKiのマクロ参照

よく使うのは画像表示のマクロ

[[$$img url]]

ただし、デフォルトでは画像のインライン展開が禁止されているので、wiliki をコントロールするcgiスクリプト(例 wiliki.cgi)内の設定で、以下のように許可、もしくは禁止のパターンを指定する必要がある。

   (make <wiliki>
     :image-urls '((#/^http:\/\/sourceforge.net\/sflogo/ allow)) 

コード・シンタックス・ハイライト

ヘッダーに javascript を読み込めるようにして、(pre (code (@ (class)))) タグを生成する書式を追加してと、結構なファイルを修正した。 wiliki/core.scm、wiliki/parse.scm、wiliki.scm、index.cgi

Prismを使う。

記述例

=== lang-scheme
(define (highlight lang)
  (print lang))
===

表示

(define (highlight lang)
  (print lang))

prism で定義済みの 言語と class 名

Markup - markup, html, xml, svg, mathml, ssml, atom, rss
CSS - css
JavaScript - javascript, js
JSON - json, webmanifest
JSON5 - json5
JSONP - jsonp
C - c
C# - csharp, cs, dotnet
C++ - cpp
Liquid - liquid
Lisp - lisp, emacs, elisp, emacs-lisp
CSV - csv
Scheme - scheme
Ruby - ruby, rb
Bash - bash, sh, shell
AWK - awk, gawk
LaTeX - latex, tex, context
など。

297言語を網羅しているので、それっぽいクラス名を入れてみれば、だいたい当てはまると思う。

Gauche Scheme Lisp

Debian
Emacs
Firefox
Gauche
JavaScript
Linux
Scheme
org-mode/latex

More ...