2003年10月16日
川俣晶の縁側ソフトウェアMagSite1開発日誌 total 7426 count

「MagML入門」 MagMLを使ってみよう!

Written By: 川俣 晶連絡先

MagMLを使ってみよう! §

 MagMLの全てのマークアップを実際に使った例をお見せしましょう。

 まず、上の見出しは、

$$1 MagMLを使ってみよう!

 というマークアップからできています。$$1は第1レベルの見出しを記述するマークアップです。そのあとに、空白文字(全角でも半角でも良い)を入れて、見出しの内容を書けば良いわけです。第2レベルの見出しなら$$2、第3レベルの見出しなら$$3となります。

終了マークアップはどんどん省略OKなのです §

 実は、上の例は、簡易な書き方で、終了マークアップというものが省略されています。終了マークアップとは、$$!という文字列で示されるものです。本当なら、以下のように書くものです。

$$1 不完全とはいえ一部はできているMagMLだから$$!

 行末の終了マークアップは全て省略可能なので、どんどん略して行きましょう。

1行の一部を強調してしまいたい時は §

 1行の一部を強調したいときは、ボールドや、イタリックや、アンダーラインも使えます。これらは、このように記述されています。

$$* ボールド$$!や、$$/ イタリック$$!や、$$_ アンダーライン$$!

 $$*はボールドを意味するマークアップ。$$/はイタリック。$$_はアンダーラインです。ただし、XHTMLの性質上、全ての閲覧環境で必ずそういう表現になるとは限りません。

 こういう風に、1行の一部だけに何かを指定する場合は、終了マークアップは省略できません。

ドル記号を書きたいとき §

 ここまで見て分かる通り、MagMLでは2文字並んだドル記号は特別な意味を持ちます。では、特別な意味を持たせないでドル記号を持ちたいときはどうしたらよいのでしょうか。たとえば、この文章自身には、多数の特別な意味を持たないドル記号があります。つまり、ボールドは$$*です、と書こうとしたとき、それがマークアップとして認識されてしまうとマークアップの文字列を説明できないわけです。

 ドル記号自身を書く場合は、3個のドル記号を並べることで実現できます。たとえば、「ボールドは$$*です」という文章は、実際には、以下のように書かれます。

ボールドは$$$$$$*です

見出しをいっぱい使ってみよう §

 ではここで見出しを全部使ってみましょう。

第2レベルの見出し §

 見出しは全部で5レベルあります。

第3レベルの見出し §

 本来、HTMLには6レベルの見出しがありますが、コンテンツの外側にトップレベルの見出しを置くので、コンテンツ内部で指定できる見出しは5レベルというわけです。

第4レベルの見出し §

 この制約はHTMLを通して見出しを見せることによる制約と言えますが。

第5レベルの見出し §

 普通は、5レベルもあれば大丈夫でしょう。

リストを書いてみる §

 $$ulとだけ書いた行を書くと、それ以後の行の内容はそれぞれリストの内容と見なされます。もう一度$$ulとだけ書いた行を置くと、リストは終了します。

 たとえば、こんな風に書くと。

$$ul

りんご

みかん

いちご

$$ul

 これは以下のように見えます。

  • りんご
  • みかん
  • いちご

ハイパーリンクを埋め込む §

 MagSite1をそのまま使っている場合、http://mag.autumn.orgのような文字列は自動的にURLとして抽出されてリンク化されます。しかし、URLが見えるのは綺麗ではありませんね。こういう場合は、ハイパーリンク マークアップを活用できます。たとえば、

$$a http://mag.autumn.org オータムマガジン$$!

 のように書くと、

オータムマガジン

 となります。空白文字で区切った最初の内容がURL、2番目の内容が実際に表示される内容になります。

字下げ §

 引用文などを書く場合は、字下げを行うことができます。$$>と書いた行から、$$>と書いた行馬での間は、行頭に空間が入ります。

 たとえば、

$$>

こんにちは。

お元気ですか?

私は元気です。

では、またお便りします

$$>

 のように書くと、

こんにちは。

お元気ですか?

私は元気です。

では、またお便りします

 となります。

フォーマット済みテキスト §

 固定ピッチでフォーマット済みのテキストというものがあります。こういうものは、自動的に書式を整形するシステムに流し込むとレイアウトが崩れます。そういう場合は、$$preマークアップを使います。たとえば、

$$pre

*-------*

|ABCDEFG|

|HIJKLMN|

*-------*

$$pre

 のように書くと、

*-------*

|ABCDEFG|

|HIJKLMN|

*-------*

 となります。

テーブル §

 MagMLは、とても簡単にテーブル、表を作成できます。前後を$$tableで囲んだ範囲は、表になります。1つ1つの行は、カンマで区切ることで、データを列挙できます。たとえば、

$$table

名前,価格

りんご,100円

みかん,200円

いちご,300円

$$table

 のように書くと、

名前 価格
りんご 100円
みかん 200円
いちご 300円

 となります。最初の1行だけは特別扱いされて見出しになっていることも確認して下さい。

画像メニューや添付ファイルへのリンクを入れる §

 MagML文書の特定の箇所に、画像メニューや添付ファイルへのリンクを入れることも簡単です。画像メニューを入れるには、$$pmに続いて、空白文字を入れ、画像をアップロードしたときに付けられた番号を半角数字で記述します。添付ファイルの場合は$$pmではなく、$$flを使います。たとえば、

$$pm 1

$$fl 2

 のように書くと、

サンプル画像サンプル画像 [300x225] [600x450] [750x562] [1000x750] [1632x1224]

この文書のソースコード

 となります。

行内への画像の埋め込み §

 行内に画像を埋め込むこともできます。たとえば、サンプル画像という感じです。これを行うには、$$imgを書き、空白文字を入れ、画像をアップロードしたときに付けられた番号を半角数字で記述し、もう一度空白文字を入れ、画像の横ピクセル数を指定します。横ピクセル数は120, 300, 600, 750, 1000のいずれかを指定できます。横ピクセル数を何も書かなければ、画像データ自身の実サイズで表示されます。

おわりに §

 このように、MagMLはHTMLなどと比較して、とても簡単にコンテンツを記述することができます。画像も表も、ちょっと文字を余計に多くタイピングするだけで実現できます。HTMLのタグを使えばリッチなコンテンツが作れるというソフトは、逆に言えばかなりハードルが高いソフトだと言えますが、MagMLはそれとは一線を画するものを目指しています。

 また、HTMLのタグも使いこなすベテランには、より少ない文字で機能指定できる手軽さを活用して頂きたいと思います。いくら知識や技能があっても、面倒くさければ縁遠くなってしまうものです。しかし、MagMLは、タイピンする文字数を少なくすることで、もっと気軽に活用できるコンテンツ記述言語を目指しています。

変更履歴 §

日付 内容
2003年10月16日 最初の版
2004年7月30日 $$flのサンプルに対応する「この文書のソースコード」のリンクが切れていたのを修復。開発途上の一時的なリンク先URL表現が残っていたものです。