本文の内容は、段落群ごとに記述します。vkhc.txtを開いてください。
段落群の構文は、とても簡単です。1行目に段落群名、2行目以降に空行がないように内容を書きます。空行が現れると段落群は終わりです。そして、空行以降で最初の非空行は、次の段落群の名前と見なされます。
なお、コメント機能はありません。
段落群の内容は、vkhc.txtの1行が、HTMLの1段落として扱われます。
ただし、2行目以降について、半角スペース1字 から始まる行は、前の行と同じ段落となります。最初の行をスペースから始めることは禁止します。
- 概説段落群
- ht.something.caption
- something節の概説です。
- 第一項の段落群
- ht.something.first
- something節の第一項の内容です。
- この行は上と独立した段落になります。
- 第二項の段落群
- ht.something.second
- ただし、この第二項には段落が2つしか含まれません。
- ここは上の段落に含まれます。
- 複数行でも同じです。
- ここは別の段落となります。
さて、HTMLを扱うからには、単なるテキストファイルより高度な内容を記述したいものです。
拡張記法の構文は、vlrfsasmの関数と似ています。実は、内部で呼び出しているのです。
基本的な構文は、[識別子;第一引数;第二引数]です。スペースは区切り文字ではありません。
識別子は、機能ごとに指定されます。vlrfsasmと同様に、大小文字の区別があります。
特殊な場合を除き、入れ子にすることもできます。
引数は多くも少なくもなく、ちょうど決められた数にしてください。
全て引数は1つで、装飾対象の文字列を入れます。
識別子 | 効果 | 例 | 表示 |
b | 太字 | [b;A] | A |
i | 斜体 | [i;B] | B |
o | 上付き線 | [o;C] | C |
u | 下付き線 | [u;D] | D |
uRed | 赤下付き線 | [uRed;E] | E |
uBlue | 青下付き線 | [uBlue;F] | F |
uGreen | 緑下付き線 | [uGreen;G] | G |
id | 何もしない | [id;H] | H |
idは、次節で使います。
識別子lは、引数を2つとります。
第一引数が表示され、クリックすると第二引数のurlを開きます。
- [l;トップページ;https://www.ktpc.tokyo/index.html]
なお、第一引数を空文字列にすることができ、このとき第二引数のurlがそのまま表示されます。
数学などでギリシャ文字を使うとき、ASCIIのみで表記出来ると楽です。識別子aは、引数を1つとり、対応する1文字を返します。数学の記号なども利用できます。
対応表は、aliasList.txtにあります。必要ならば、衝突に気をつけつつ追加してください。
なお、ギリシャ文字や記号が2文字以上必要な場合には、スペース 区切りで指定すればよいです。
[a;Th h t a] | Θητα |
vkhc.txtは一度vlrfsasmに変換されますが、直接vlrfsasmを書いて、変換しないようにすることもできます。
また、前節の拡張記法で使う3記号[;]を、文章で用いる方法もあります。
本節では、これらを解説します。
拡張記法の引数を、コンマ,から始めると、vlrfsasmのソースコードとして解釈されます。
[id;,(c.convertISb (1+2) 10)] |
3 |
なお、次にセミコロン;が現れるまでがvlrfsasmと認識されます。このため、二重引用符の有無に関わらず、セミコロンを含んではいけません。当然、関数を定義することもできません。
,";" | ,{func; ; "Hello"} |
面倒でしょうが、文字列については";"と等価な表現(: $3B 16)で我慢してください。
さて、本節では拡張記法の例をいくつか載せてきました。しかし、そのまま書いては表示されないことに気づいてください。
`に囲まれた部分は、拡張記法の記号が含まれていても、解釈されません。書いたままの文字列が出てきます。この部分をコードブロックと呼ぶことにします。
コードブロックは複数行に渡ってもよいです。コードブロック内の改行は、段落や段落群の区切りとしての意味をもちません。
一般的なマークアップと違い、囲んだだけでは等幅フォントになりません。次々章を読んでください。
なお、グレーヴアクセント記号`を文字として使う場合は、[a;ga]と書いてください。もちろん、コードブロックは一度終了しておく必要があります。
ほぼ文字とはいえ、以上で内容を一通り書けるようになりました。
それでは、これをHTMLに変換しましょう。
本変換器を実行するには、内容を記述したファイルについて、コミットとプッシュを行います。
ただし、vkhc.txtが更新されていない場合、変換器は実行されません。作者はよく.vlraファイルだけ更新して苛立っています。
複数のvkhc.txtが更新されている場合、それぞれ独立に変換されます。
変換結果は、1分から2分後にプルするとわかります。
更新内容に.htmlが含まれていれば成功です。含まれていない場合は、生成されたlogフォルダ内のエラーファイルを読んでください。エラーを読んでもわからない場合は、作者や知識のある人に質問してください。
更新内容に、sitemap.logなる見慣れないファイルが含まれていると思います。これはsitemap.xmlというファイルを生成する際に、vlrfsasmが吐いたエラーファイルです。
Googleを始めとして、検索エンジンはインターネット上の膨大なデータを知っています。しかし、これは全知全能の神を雇ったからではありません。
検索エンジンが情報を得るには、主に2つの手段があります。1つは情報源が押し売りに来るのを待つことです。物理部HPも、存在をGoogleに認知させることで、検索に引っかかるようにしています。2つ目の方法は、既知のWebページ等からリンクを辿り、自分で情報を集めることです。どちらの方法にしても、手間や時間差が発生してしまいますが、これは仕方ないことです。
とはいえ、検索エンジンの立場に立ってみると、後者の方法は大変に面倒です。すると、深い階層のファイルは認知されない可能性が高まります。あるサイト内のファイルを全て列挙しておけば、検索エンジンが巡回する際に楽ですし、見落としも起こりません。
この列挙ファイルが、sitemap.xmlです。しかし、ページを追加したり削除したりする際に、毎回これを編集するのは面倒です。そこで、本変換器の実行時に、ついでに更新しているわけです。