Vlrfsasm講習/本文

段落群

本文の内容は、段落群ごとに記述します。vkhc.txtを開いてください。

構文

段落群の構文は、とても簡単です。1行目に段落群名、2行目以降に空行がないように内容を書きます。空行が現れると段落群は終わりです。そして、空行以降で最初の非空行は、次の段落群の名前と見なされます。

なお、コメント機能はありません。

段落

段落群の内容は、vkhc.txtの1行が、HTMLの1段落として扱われます。

ただし、2行目以降について、半角スペース1字 から始まる行は、前の行と同じ段落となります。最初の行をスペースから始めることは禁止します。

段落群の例COPIED!
  1. 概説段落群
  2. ht.something.caption
  3. something節の概説です。
  4. 第一項の段落群
  5. ht.something.first
  6. something節の第一項の内容です。
  7. の行は上と独立した段落になります。
  8. 第二項の段落群
  9. ht.something.second
  10. だし、この第二項には段落が2つしか含まれません。
  11. ここは上の段落に含まれます。
  12. 複数行でも同じです。
  13. こは別の段落となります。

拡張記法

さて、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を開きます。

トップページへのリンクCOPIED!
  1. [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

拡張記法の引数を、コンマ,から始めると、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

更新内容に、sitemap.logなる見慣れないファイルが含まれていると思います。これはsitemap.xmlというファイルを生成する際に、vlrfsasmが吐いたエラーファイルです。

Googleを始めとして、検索エンジンはインターネット上の膨大なデータを知っています。しかし、これは全知全能の神を雇ったからではありません。

検索エンジンが情報を得るには、主に2つの手段があります。1つは情報源が押し売りに来るのを待つことです。物理部HPも、存在をGoogleに認知させることで、検索に引っかかるようにしています。2つ目の方法は、既知のWebページ等からリンクを辿り、自分で情報を集めることです。どちらの方法にしても、手間や時間差が発生してしまいますが、これは仕方ないことです。

とはいえ、検索エンジンの立場に立ってみると、後者の方法は大変に面倒です。すると、深い階層のファイルは認知されない可能性が高まります。あるサイト内のファイルを全て列挙しておけば、検索エンジンが巡回する際に楽ですし、見落としも起こりません。

この列挙ファイルが、sitemap.xmlです。しかし、ページを追加したり削除したりする際に、毎回これを編集するのは面倒です。そこで、本変換器の実行時に、ついでに更新しているわけです。