2021/JUL/21
更新履歴
日付
変更内容 2020/AUG/22
新規作成 2020/AUG/23
文字列の装飾系のタグ
追加
バッファへのコピーと貼り付け
追加
コメント
追加
その他、修正2020/AUG/27
折り畳み
追加 2020/AUG/29
定義リスト
追加 2020/SEP/16
include処理
追加 2020/SEP/24
DETAIL
追加 2020/SEP/26
DETAIL
に追記
単純なテキスト
t1.txtのh1関連を修正2020/OCT/03
リンクのラベルの省略
追加 2020/OCT/10
DETAIL_M
追加 2020/OCT/22
更新履歴と目次の生成
にINDEXを追加 2020/OCT/24
日付
追加
コマンドの実行結果
追加2020/NOV/18
リンクのbasenameラベル
INC_LINK_BN2021/FEB/23
preタグ
に
bare指定
追加 2021/JUL/21
HTMLサンプルのリンクの説明を追加
早くも1年くらい経ちましたが、自分の中では結構ずっと使い続けているツールです。
思い腰を上げて、使用例を中心に使い方を記録しておきます。
kon_pageのpythonモジュールのインストール の手順になります。
上記ページのエイリアス設定 kon_page.rc の中にもありますが、
$ alias to_html='python -m to_html'
を設定しておくようにします。
head.yaml の記述次第ではありますが、、、
自身はJISコード(iso-2022-jp)ばかり使っているので、 JISコードを前提としておきます。;-p)
$ cat t1.txt hello world こんにちは 世界 こん にち は 世界
空行が現れると、<p> ... </p> タグで分離されます。
逆に空行が無いと、HTMLにして表示すると改行は無視されるので、 連結されたように表示されます。
行頭から連続する空白は、無視されます。
$ to_html -o t1.html t1.txt
で t1.html が生成されます。
index.txt から index.html を生成したい時は、省略できて
$ to_html
の実行でOKです。
$ cat t1.html <html><head><title>title</title> <meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp"> <style>pre{ background: lightgray; }</style> <style>img{ max-width: 100%; height: auto; }</style> <style>video{ max-width: 100%; height: auto; }</style> <style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head> <body><p>hello world</p> <p>こんにちは 世界</p> <p>こん にち は 世界</p></body></html>
本文だけ表示させてみると、こんな感じです。
hello world
こんにちは 世界
こん にち は 世界
いわゆる
<h1> ... </h1> <h2> ... </h2> <h3> ... </h3> :
タグの見出しです。
行頭からhに続き数字だけの行があると、そこから次に空行が現れるまが見出しになります。
(確かそんな感じに作ってたはず...)
t2.txt
h1
サンプルt2
h2
一般的な挨拶
h3
朝の場合
おはよう
h3
昼の場合
こんにちは
h3
夜の場合
こんばんは
$ to_html -o t2.html t2.txt
t2.html
<html><head><title>サンプルt2</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp">
<style>pre{ background: lightgray; }</style>
<style>img{ max-width: 100%; height: auto; }</style>
<style>video{ max-width: 100%; height: auto; }</style>
<style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head>
<body><h1><a name="c_1_0">サンプルt2</a></h1>
<h2><a name="c_2_1">一般的な挨拶</a></h2>
<h3><a name="c_3_2">朝の場合</a></h3>
<p>おはよう</p>
<h3><a name="c_3_3">昼の場合</a></h3>
<p>こんにちは</p>
<h3><a name="c_3_4">夜の場合</a></h3>
<p>こんばんは</p></body></html>
<pre> ... </pre>
による、整形済みテキストの貼り付け的なやつです。
自分では、もっぱら端末でのコマンド実行例を、これで貼り付けてます。
行頭から'pre'だけの行から、行頭から'/'だけの行までの間の内容が、 そのまま貼り付けられます。
t3.txt
h1
サンプルt3
h2
実行例
端末でdateと入力します。
pre
$ date
2020年 8月22日 土曜日 15時01分47秒 JST
/
h3
16進数ダンプ
pre
$ date | hd
0000000 32 30 32 30 e5 b9 b4 20 38 e6 9c 88 32 32 e6 97
0000010 a5 20 e5 9c 9f e6 9b 9c e6 97 a5 20 31 35 e6 99
0000020 82 30 35 e5 88 86 30 36 e7 a7 92 20 4a 53 54 0a
0000030
/
$ to_html -o t3.html t3.txt
t3.html
<html><head><title>サンプルt3</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp">
<style>pre{ background: lightgray; }</style>
<style>img{ max-width: 100%; height: auto; }</style>
<style>video{ max-width: 100%; height: auto; }</style>
<style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head>
<body><h1><a name="c_1_0">サンプルt3</a></h1>
<h2><a name="c_2_1">実行例</a></h2>
<p>端末でdateと入力します。</p>
<pre>$ date
2020年 8月22日 土曜日 15時01分47秒 JST
</pre>
<h3><a name="c_3_2">16進数ダンプ</a></h3>
<pre>$ date | hd
0000000 32 30 32 30 e5 b9 b4 20 38 e6 9c 88 32 32 e6 97
0000010 a5 20 e5 9c 9f e6 9b 9c e6 97 a5 20 31 35 e6 99
0000020 82 30 35 e5 88 86 30 36 e7 a7 92 20 4a 53 54 0a
0000030
</pre></body></html>
"pre"の中でHTMLの仕様の下線<u>...</u>などをそのまま使用したい場合などに使います。
"pre"直後の行が"bare"だけの行になっていると、以降、その"pre"の中では、 <u>...</u>などがそのまま記述できます。
ezmd.pyとしては、出力するHTMLデータのpreタグに、独自プロパティのbare="True"を追加するだけの動作をします。
下流のezhtml.py側で、プロパティにbare="True"がついてると、 &, <, > の3つの文字について、"&", "<", ">" のエンコード処理をせずに素通ししてHTMLを生成します。
<p><hr></p>
による水平線です。
行頭から4つ以上の連続する'-'で、水平線になります。
t4.txt
h1
サンプルt4
hello world
----
こんにちは
世界
----
こん
にち
は
世界
----
$ to_html -o t4.html t4.txt
t4.html
<html><head><title>サンプルt4</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp">
<style>pre{ background: lightgray; }</style>
<style>img{ max-width: 100%; height: auto; }</style>
<style>video{ max-width: 100%; height: auto; }</style>
<style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head>
<body><h1><a name="c_1_0">サンプルt4</a></h1>
<p>hello world</p>
<p><hr></p>
<p>こんにちは
世界</p>
<p><hr></p>
<p>こん
にち
は
世界</p>
<p><hr></p></body></html>
見出しのh1, h2, h3, ... を、目次としてまとめてリンク(アンカータグ)にできます。
index
行頭からindexだけの行があると、見出しによる目次が挿入されます。
t5.txt
h1
サンプルt5
----
目次
index
----
h2
一般的な挨拶
h3
朝の場合
h4
おはよう
h4
おはようさん
h3
昼の場合
h4
こんにちは
h4
ごきげんさん
h3
夜の場合
h4
こんばんは
h4
おばんです
h2
スポーツ
h3
野球
h4
ピッチャー
h4
バッター
h3
サッカー
h4
キーパー
h3
水泳
h4
クロール
h4
平泳ぎ
----
$ to_html -o t5.html t5.txt
t5.html
<html><head><title>サンプルt5</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp">
<style>pre{ background: lightgray; }</style>
<style>img{ max-width: 100%; height: auto; }</style>
<style>video{ max-width: 100%; height: auto; }</style>
<style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head>
<body><h1><a name="c_1_0">サンプルt5</a></h1>
<p><hr></p>
<p>目次</p>
<ul><li><a href="#c_1_0">サンプルt5</a>
<ul><li><a href="#c_2_1">一般的な挨拶</a>
<ul><li><a href="#c_3_2">朝の場合</a>
<ul><li><a href="#c_4_3">おはよう</a>
<li><a href="#c_4_4">おはようさん</a></ul>
<li><a href="#c_3_5">昼の場合</a>
<ul><li><a href="#c_4_6">こんにちは</a>
<li><a href="#c_4_7">ごきげんさん</a></ul>
<li><a href="#c_3_8">夜の場合</a>
<ul><li><a href="#c_4_9">こんばんは</a>
<li><a href="#c_4_10">おばんです</a></ul></ul>
<li><a href="#c_2_11">スポーツ</a>
<ul><li><a href="#c_3_12">野球</a>
<ul><li><a href="#c_4_13">ピッチャー</a>
<li><a href="#c_4_14">バッター</a></ul>
<li><a href="#c_3_15">サッカー</a>
<ul><li><a href="#c_4_16">キーパー</a></ul>
<li><a href="#c_3_17">水泳</a>
<ul><li><a href="#c_4_18">クロール</a>
<li><a href="#c_4_19">平泳ぎ</a></ul></ul></ul></ul>
<p><hr></p>
<h2><a name="c_2_1">一般的な挨拶</a></h2>
<h3><a name="c_3_2">朝の場合</a></h3>
<h4><a name="c_4_3">おはよう</a></h4>
<h4><a name="c_4_4">おはようさん</a></h4>
<h3><a name="c_3_5">昼の場合</a></h3>
<h4><a name="c_4_6">こんにちは</a></h4>
<h4><a name="c_4_7">ごきげんさん</a></h4>
<h3><a name="c_3_8">夜の場合</a></h3>
<h4><a name="c_4_9">こんばんは</a></h4>
<h4><a name="c_4_10">おばんです</a></h4>
<h2><a name="c_2_11">スポーツ</a></h2>
<h3><a name="c_3_12">野球</a></h3>
<h4><a name="c_4_13">ピッチャー</a></h4>
<h4><a name="c_4_14">バッター</a></h4>
<h3><a name="c_3_15">サッカー</a></h3>
<h4><a name="c_4_16">キーパー</a></h4>
<h3><a name="c_3_17">水泳</a></h3>
<h4><a name="c_4_18">クロール</a></h4>
<h4><a name="c_4_19">平泳ぎ</a></h4>
<p><hr></p></body></html>
indexだけの行の直後の行で目次にする見出しのレベルを指定できます。
h1ならレベル1
h2ならレベル2
h3ならレベル3
として、pythonの[...]によるスライスのようにレベルの数値を指定します。
例えば、h1 は目次に含めず、h2以降を目次にしたい場合
index 2:
例えば、h2とh3だけを目次にしたい場合
index 2:4
例えば、h2だけを目次にしたい場合
index 2:3
t6.txt
h1
サンプルt6
----
目次
index
2:
----
目次2
index
2:4
----
目次3
index
2:3
----
h2
一般的な挨拶
h3
朝の場合
h4
おはよう
h4
おはようさん
h3
昼の場合
h4
こんにちは
h4
ごきげんさん
h3
夜の場合
h4
こんばんは
h4
おばんです
h2
スポーツ
h3
野球
h4
ピッチャー
h4
バッター
h3
サッカー
h4
キーパー
h3
水泳
h4
クロール
h4
平泳ぎ
----
$ to_html -o t6.html t6.txt
t6.html
<html><head><title>サンプルt6</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-2022-jp">
<style>pre{ background: lightgray; }</style>
<style>img{ max-width: 100%; height: auto; }</style>
<style>video{ max-width: 100%; height: auto; }</style>
<style>h3{ border-left: solid gray; padding: 1em 0.5em; }</style></head>
<body><h1><a name="c_1_0">サンプルt6</a></h1>
<p><hr></p>
<p>目次</p>
<ul><li><a href="#c_2_1">一般的な挨拶</a>
<ul><li><a href="#c_3_2">朝の場合</a>
<ul><li><a href="#c_4_3">おはよう</a>
<li><a href="#c_4_4">おはようさん</a></ul>
<li><a href="#c_3_5">昼の場合</a>
<ul><li><a href="#c_4_6">こんにちは</a>
<li><a href="#c_4_7">ごきげんさん</a></ul>
<li><a href="#c_3_8">夜の場合</a>
<ul><li><a href="#c_4_9">こんばんは</a>
<li><a href="#c_4_10">おばんです</a></ul></ul>
<li><a href="#c_2_11">スポーツ</a>
<ul><li><a href="#c_3_12">野球</a>
<ul><li><a href="#c_4_13">ピッチャー</a>
<li><a href="#c_4_14">バッター</a></ul>
<li><a href="#c_3_15">サッカー</a>
<ul><li><a href="#c_4_16">キーパー</a></ul>
<li><a href="#c_3_17">水泳</a>
<ul><li><a href="#c_4_18">クロール</a>
<li><a href="#c_4_19">平泳ぎ</a></ul></ul></ul>
<p><hr></p>
<p>目次2</p>
<ul><li><a href="#c_2_1">一般的な挨拶</a>
<ul><li><a href="#c_3_2">朝の場合</a>
<li><a href="#c_3_5">昼の場合</a>
<li><a href="#c_3_8">夜の場合</a></ul>
<li><a href="#c_2_11">スポーツ</a>
<ul><li><a href="#c_3_12">野球</a>
<li><a href="#c_3_15">サッカー</a>
<li><a href="#c_3_17">水泳</a></ul></ul>
<p><hr></p>
<p>目次3</p>
<ul><li><a href="#c_2_1">一般的な挨拶</a>
<li><a href="#c_2_11">スポーツ</a></ul>
<p><hr></p>
<h2><a name="c_2_1">一般的な挨拶</a></h2>
<h3><a name="c_3_2">朝の場合</a></h3>
<h4><a name="c_4_3">おはよう</a></h4>
<h4><a name="c_4_4">おはようさん</a></h4>
<h3><a name="c_3_5">昼の場合</a></h3>
<h4><a name="c_4_6">こんにちは</a></h4>
<h4><a name="c_4_7">ごきげんさん</a></h4>
<h3><a name="c_3_8">夜の場合</a></h3>
<h4><a name="c_4_9">こんばんは</a></h4>
<h4><a name="c_4_10">おばんです</a></h4>
<h2><a name="c_2_11">スポーツ</a></h2>
<h3><a name="c_3_12">野球</a></h3>
<h4><a name="c_4_13">ピッチャー</a></h4>
<h4><a name="c_4_14">バッター</a></h4>
<h3><a name="c_3_15">サッカー</a></h3>
<h4><a name="c_4_16">キーパー</a></h4>
<h3><a name="c_3_17">水泳</a></h3>
<h4><a name="c_4_18">クロール</a></h4>
<h4><a name="c_4_19">平泳ぎ</a></h4>
<p><hr></p></body></html>
アンカータグによるリンクです。
例えば、同じディレクトリにある、最初のサンプルt1のHTMLファイル t1.html へのリンクを貼りたい場合
[[ t1.html ]]
と記述します。
6つめのサンプルt6のHTMLファイル t6.html の中の、見出しh3の「サッカー」にリンクを貼りたい場合
t6.htmlをよくみると、該当箇所にアンカー名"c_3_15"が自動生成されてます。
$ cat t6.html : <h4><a name="c_4_14">バッター</a></h4> <h3><a name="c_3_15">サッカー</a></h3> <h4><a name="c_4_16">キーパー</a></h4> :
[[ t6.html#c_3_15 ]]
と記述します。
ではあまりに意味不明なので、表示用の文字列を指定できます。
[[ リンクの位置指定 | 表示用の文字列 ]]
の形式で指定します。
例えば
[[ t1.html | 最初のサンプル ]]
[[ t6.html#c_3_15 | 6つめのサンプルの「サッカー」 ]]
などと指定します。
[[ t6.html#c_3_15 | 6つめのサンプルの「サッカー」 ]]
などの自動生成されたアンカー名も分かりにくいです。
同じファイル内の見出しに限っては、'@'を使った位置指定ができます。
例えば、h2の見出し「インストール」へのリンクは
ここをクリックすると [[ @インストール ]] にジャンプします。
ここをクリックすると インストール にジャンプします。
という具合に。
もちろん、表示用の文字列指定も可能です。
[[ @単純なテキスト | 最初の使用例サンプルt1の説明 ]]
例えば、上記の見出しは
h4 リンクを貼りたい見出しに半角スペース が含まれる場合
のように記述していて、「スペース」と「が」の間に半角スペースが1つ入っています。
このような場合は、半角スペースを'$_'に置き換えて指定します。
(すみません。この仕様は実装の都合です)
[[ @リンクを貼りたい見出しに半角スペース$_が含まれる場合 ]]
むしろ、これが通常のリンクの貼り方ですが...
[[ name | アンカー名 ]]
を埋めておけば、HTMLに変換すると
<a name ="アンカー名"></a>
のタグになります。
例えばここに
[[ name | sample_point ]]
を埋めておいて
他の場所から
[[ #sample_point | sample_pointへのリンク ]]
などとリンクを貼ります。
[[ path_to_html | ラベル ]] [[ url_to_html | ラベル ]]
の場合に、ラベルの文字列を調べて書くのが面倒です。
'|' の後のラベルの箇所を省略すると、 できるだけ頑張って、 HTMLデータのheaderからtitleを探します。
[[ path ]]
のように'|' のない場合は、 従来通り
[[ path | path ]]
扱いのままです。
[[ ../../foo/bar/hoge.c ]]
のリンクにすると、格好悪いので
[[ ../../foo/bar/hoge.c | hoge.c ]]
などとラベルを整えたりします。
hoge.c の basename の部分が長いと面倒なので、 ラベルに $ だけを書くと、basename を取り出してくれます。
[[ ../../foo/bar/hoge.c | $ ]]
でOK。
[[ ../../foo/bar/hoge.c | hoge.c ]]
と指定するのと同じ結果になります。
<ul> <li> ... <li> ... </ul>
による、中黒っぽい点で項目を羅列する感じの箇条書きになるやつです。
ul foo bar hoge /
という具合に、行頭から'ul'だけの行から、行頭から'/'だけの行までの間の内容が、 箇条書きになります。
途中に空行があっても無視するので、 見やすいように適当に空行を入れても大丈夫です。
各行の行頭から続くスペースの数で、入れ子の階層になります。
例えば
ul 一般的な挨拶 朝の場合 おはよう おはようさん 昼の場合 こんにちは ごきげんさん 夜の場合 こんばんは おばんです スポーツ 野球 ピッチャー バッター サッカー キーパー 水泳 クロール 平泳ぎ /
ならば
例えば
ul 一般的な挨拶 朝の場合 おはよう おはようさん 寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ海砂利(かいじゃり)水魚(すいぎょ)の水行末(すいぎょうまつ) /
これは、よくあるCのプリプロセッサのような感じで、行末に
\
(バックスラッシュ)を入れて連結します。
ul 一般的な挨拶 朝の場合 おはよう おはようさん 寿限無(じゅげむ)寿限無(じゅげむ) \ 五劫(ごこう)のすりきれ \ 海砂利(かいじゃり)水魚(すいぎょ)の \ 水行末(すいぎょうまつ) /
このように、HTMLになると連結します。
HTMLにしたときに、項目を分けたく無いけど改行したい場合は、 改行したい箇所に
\n
を記述します。
例えば
ul 一般的な挨拶 朝の場合 おはよう おはようさん 寿限無(じゅげむ)寿限無(じゅげむ)\n五劫(ごこう)のすりきれ\n海砂利(かいじゃり)水魚(すいぎょ)の\n水行末(すいぎょうまつ) /
と記述すると
このように。
先の2つの合わせ技で、行末に
\n\
を入れて連結します。
ul 一般的な挨拶 朝の場合 おはよう おはようさん 寿限無(じゅげむ)寿限無(じゅげむ)\n\ 五劫(ごこう)のすりきれ\n\ 海砂利(かいじゃり)水魚(すいぎょ)の\n\ 水行末(すいぎょうまつ) /
<img> <video>
のタグですが、自分では極シンプルな使い方しかしないので、単純な指定です。
画像は
[[ img | URL ]]
動画は
[[ video | URL ]]
(決め打ちがひどすぎるかも...)
例えば、ここからディレクトリを2つ上がったところにある
../../beat.jpg
を貼り付ける場合
[[ img | ../../beat.jpg ]]
と指定します。
<p><img src="../../beat.jpg"></p>
http://kondoh2.html.xdomain.jp/rt/out_v62/cut.mp4
を貼るなら
[[ video | http://kondoh2.html.xdomain.jp/rt/out_v62/cut.mp4 ]]
と指定します。
<p><video src="http://kondoh2.html.xdomain.jp/rt/out_v62/cut.mp4" controls playsinline></video></p>
最初に作った記述方式はややこしく、あとで作った箇条書きの字下げ方式ばかりを使ってます。
前者はややこしいので、後者の単純な方式だけ説明します。
の中身が、テーブルになります。
(なんか日本語が変ですね)
例えば、箇条書きでは
ul 一般的な挨拶 朝の場合 おはよう おはようさん 昼の場合 こんにちは ごきげんさん 夜の場合 こんばんは おばんです スポーツ 野球 ピッチャー バッター サッカー キーパー 水泳 クロール 平泳ぎ /
ならば
となりました。
テーブルでは、冒頭の
ul
行の指定が
tbl tbl_ul
の2行の指定になります。
tbl tbl_ul 一般的な挨拶 朝の場合 おはよう おはようさん 昼の場合 こんにちは ごきげんさん 夜の場合 こんばんは おばんです スポーツ 野球 ピッチャー バッター サッカー キーパー 水泳 クロール 平泳ぎ /
と記述すれば
一般的な挨拶 | 朝の場合 | おはよう |
おはようさん | ||
昼の場合 | こんにちは | |
ごきげんさん | ||
夜の場合 | こんばんは | |
おばんです | ||
スポーツ | 野球 | ピッチャー |
バッター | ||
サッカー | キーパー | |
水泳 | クロール | |
平泳ぎ |
このように。
ヘッダセルのように太字でセンタリングしたい場合は、 文字列の先頭に縦棒2つ「||」をつけておきます。
tbl tbl_ul ||一般的な挨拶 ||朝の場合 おはよう おはようさん ||昼の場合 こんにちは ごきげんさん ||夜の場合 こんばんは おばんです ||スポーツ ||野球 ピッチャー バッター ||サッカー キーパー ||水泳 クロール 平泳ぎ /
と記述すれば
一般的な挨拶 | 朝の場合 | おはよう |
---|---|---|
おはようさん | ||
昼の場合 | こんにちは | |
ごきげんさん | ||
夜の場合 | こんばんは | |
おばんです | ||
スポーツ | 野球 | ピッチャー |
バッター | ||
サッカー | キーパー | |
水泳 | クロール | |
平泳ぎ |
このように。
箇条書きがベースなので、例えば「九九の表」なんかだと、ちょっと大変です。
九九の表のテキストデータ
tbl
tbl_ul
||-
||2
||3
||4
||5
||6
||7
||8
||9
||2
4
6
8
10
12
14
16
18
||3
6
9
12
15
18
21
24
27
||4
8
12
16
20
24
28
32
36
||5
10
15
20
25
30
35
40
45
||6
12
18
24
30
36
42
48
54
||7
14
21
28
35
42
49
56
63
||8
16
24
32
40
48
56
64
72
||9
18
27
36
45
54
63
72
81
/
- | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 |
3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 |
4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 |
5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |
6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 |
7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 |
8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 |
9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 |
[[ 装飾指定 | 対象の文字列 ]]
の形式で指定します。
(何でもかんでもこの形式にした感が強く、かなり使い辛いですが...)
[[ s | 打ち消し ]] [[ - | 打ち消し ]] [[ em | 強調 ]] [[ * | 強調 ]] [[ strong | 強い強調 ]] [[ ** | 強い強調 ]] [[ u | 下線 ]] [[ _ | 下線 ]] [[ i | 斜体 ]] [[ / | 斜体 ]] [[ b | 太字 ]]
打ち消し
打ち消し
強調
強調
強い強調
強い強調
下線
下線
斜体
斜体
太字
入れ子にできますが...
[[ _ | [[ / | こんにちは ]] 、[[ - | せかい ]] [[ b | 世界 ]] ]]
こんにちは
、
せかい
世界
こうなるので、使い辛いです。
割と初期に実装したので、指定の形式にまとまり感が欠けてる気がしますが、 そのまま使ってます。
swbuf バッファ名 : swbuf p
行頭からswbufだけの行が現れると、その直後の行がバッファ名の指定となり、 次にswbufだけの行と続くpだけの行が現れるまでが、 バッファへのコピー指定になります。
(実装はもっと複雑ですが、仕様としてはそういう事にしておきます ;-p)
swbuf buf_jugem p 寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ swbuf p
上記の例では、バッファ名 buf_jugem に、
<p>寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ</p>
がコピーされます。
('p'が難解ですが...)
この段階では、内部のバッファにコピーされるだけなので、HTMLには何も反映されません。
[[ paste | バッファ名 ]]
の指定で、バッファ名のバッファにコピーされている内容が貼り付けます。
寿限無の冒頭とは [[ paste | buf_jugem ]] [[ b | [[ paste | buf_jugem ]] ]] で始まるのは、寿限無です。 tbl tbl_ul ||名前 ||冒頭 寿限無 [[ paste | buf_jugem ]] /
寿限無の冒頭とは
寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ
寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ
で始まるのは、寿限無です。名前 | 冒頭 |
---|---|
寿限無 | 寿限無(じゅげむ)寿限無(じゅげむ)五劫(ごこう)のすりきれ |
行頭が#で始まる行は、コメント行になります。
HTMLに反映されません。
ここはコメントではありません。 #ここはコメントです。
ここはコメントではありません。
<details> <summary> label </summary> : </details>
による折り畳みです。
基本の形式は
[[ detail | label | xxx ]] xxx には [[ ... ]] な形式を指定 よって [[ detail | label | [[ ... ]] ]]
例えば
[[ detail | 三角をクリックすると | [[ / | 表示されます ]] ]]
三角をクリックすると
表示されます
[[ detail | 秘密のリンク | [[ t1.html | 最初のサンプル ]] ]]
秘密のリンク
最初のサンプル
長くなるときはバッファに書いてから貼り付けます
swbuf buf_tbl_sample tbl tbl_ul ||一般的な挨拶 ||朝の場合 おはよう おはようさん ||昼の場合 こんにちは ごきげんさん ||夜の場合 こんばんは おばんです ||スポーツ ||野球 ピッチャー バッター ||サッカー キーパー ||水泳 クロール 平泳ぎ / swbuf p [[ detail | 秘密の表 | [[ paste | buf_tbl_sample ]] ]]
秘密の表
一般的な挨拶
朝の場合
おはよう おはようさん 昼の場合
こんにちは ごきげんさん 夜の場合
こんばんは おばんです スポーツ
野球
ピッチャー バッター サッカー
キーパー 水泳
クロール 平泳ぎ
これくらい単純なものは、簡単に説明できるのですが...
入れ子が複雑なものになると、説明がかなり困難です。
自分でよく使うパターンで、開けば目次が表示されるパターンです
swbuf buf_index index 2: swbuf p [[ detail | 目次 | [[ paste | buf_index ]] ]]
swbuf buf_update tbl tbl_ul ||日付 ||変更内容 2020/AUG/22 新規作成 2020/AUG/23 : / swbuf p [[ detail | 更新履歴 | [[ paste | buf_update ]] ]]
更新履歴
日付
変更内容 2020/AUG/22
新規作成 2020/AUG/23
文字列の装飾系のタグ
追加
バッファへのコピーと貼り付け
追加
コメント
追加
その他、修正2020/AUG/27
折り畳み
追加 2020/AUG/29
定義リスト
追加 2020/SEP/16
include処理
追加 2020/SEP/24
DETAIL
追加 2020/SEP/26
DETAIL
に追記
単純なテキスト
t1.txtのh1関連を修正2020/OCT/03
リンクのラベルの省略
追加 2020/OCT/10
DETAIL_M
追加 2020/OCT/22
更新履歴と目次の生成
にINDEXを追加 2020/OCT/24
日付
追加
コマンドの実行結果
追加2020/NOV/18
リンクのbasenameラベル
INC_LINK_BN2021/FEB/23
preタグ
に
bare指定
追加 2021/JUL/21
HTMLサンプルのリンクの説明を追加
トップページ でも使ってますが、
ラベル部分にリンクを指定出来ます。
[[ detail | [[ link ]] | [[ ... ]] ]]
例えば
[[ detail | [[ t1.html | 最初のサンプル ]] | [[ paste | buf_tbl_sample ]] ]]
最初のサンプル
一般的な挨拶
朝の場合
おはよう おはようさん 昼の場合
こんにちは ごきげんさん 夜の場合
こんばんは おばんです スポーツ
野球
ピッチャー バッター サッカー
キーパー 水泳
クロール 平泳ぎ
文字の部分をクリックするとリンクにジャンプ。
三角や行末以降の空白部分をクリックすると、開きます。
自分ではあまり使いませんが、dlタグのdefinition list
<dl> <dt> 名前 </dt><dd> 説明 </dd> : </dl>
なやつです。
ulと同様に字下げで区別します。
例えば
MBS 毎日放送 ABC 朝日放送 KTV 関西テレビ YTV 読売テレビ TVO テレビ大阪
というテキストがあったとしたら、その前後を'dl'行と'/'行で囲めばオッケー。
dl MBS 毎日放送 ABC 朝日放送 KTV 関西テレビ YTV 読売テレビ TVO テレビ大阪 /
が
このように。
まぁ、テーブルにした方が、映えるのかも知れませんね。
tbl tbl_ul MBS 毎日放送 ABC 朝日放送 KTV 関西テレビ YTV 読売テレビ TVO テレビ大阪 /
MBS | 毎日放送 |
ABC | 朝日放送 |
KTV | 関西テレビ |
YTV | 読売テレビ |
TVO | テレビ大阪 |
個人的によく使う日付の形式なので、あれですが
[[ date ]]
と記述すると、次のような形式の現在の日付になります。
2021/JUL/21
[[ cmd | コマンド文字列 ]]
と記述すると、 コマンド実行結果の標準出力の内容が取り込まれます。
例えば
[[ cmd | date ]]
と記述すると、
2021年 7月21日 水曜日 23時22分41秒 JST
[[ emd | echo pre; ls *.txt | head; echo / ]]
と記述すると、
$ echo pre; ls *.txt | head; echo / pre index.txt t1.txt t2.txt t3.txt t4.txt t5.txt t6.txt /
なので
index.txt t1.txt t2.txt t3.txt t4.txt t5.txt t6.txt
となります。
include処理の推敲 からの kon_ut にある inc_ut.py を使った、単純なinclude処理が出来ます。
include指定行は、行頭から@で始まり、続いて「@以外または空白文字以外」が1つ以上続くパターンにします。
「@以外または空白文字以外」が1つ以上続く部分が、ファイルの指定になります。
次のデータテキストを用意しています。
TOPS と TOPE は、冒頭でよく使う「更新履歴」と「目次」生成用です。
@TOPS 2019/SEP/01 新規作成 2020/SEP/01 追記 @TOPE
などと記述すると
swbuf buf_update tbl tbl_ul ||日付 ||変更内容 2019/SEP/01 新規作成 2020/SEP/01 追記 / swbuf p [[ detail | 更新履歴 | [[ paste | buf_update ]] ]] swbuf buf_index index 2: swbuf p [[ detail | 目次 | [[ paste | buf_index ]] ]]
に展開され
更新履歴
日付
変更内容 2019/SEP/01
新規作成 2020/SEP/01
追記
となります。
「目次」だけ生成したい場合は
を使います。
@INDEX
と記述すると
swbuf buf_index index 2: swbuf p [[ detail | 目次 | [[ paste | buf_index ]] ]]
に展開され
となります。
INC_LINK は preタグでincludeしてバッファに記録しつつ、 detailタグで折り畳んで、ラベルはリンクにします。
@INC_LINK NAME=t1.txt
などと記述すると
swbuf buf_t1.txt pre @t1.txt -nr -s / swbuf p [[ detail | [[ t1.txt ]] | [[ paste | buf_t1.txt ]] ]]
に展開されて
t1.txt
hello world
こんにちは
世界
こん
にち
は
世界
となります。
INC_LINKとほぼ同じですが、リンクのラベル指定が '$' になってます。 リンクのbasenameラベル
@INC_LINK_BN NAME=../../foo/bar/hoge.c
などと指定した場合、リンクのラベルは ../../foo/bar/hoge.c ではなく、hoge.c になります。
@>sample-1 tbl tbl_ul ||名前 ||値 hoge 123 / @< @DETAIL LABEL=サンプル-1 NAME=sample-1
などと記述すると
swbuf buf_sample-1 tbl tbl_ul ||名前 ||値 hoge 123 / swbuf p [[ detail | サンプル-1 | [[ paste | buf_sample-1 ]] ]]
に展開され
サンプル-1
名前
値 hoge
123
このようになります。
バッファ名の自動生成を使用すると
@> tbl tbl_ul ||名前 ||値 hoge 123 / @< @DETAIL LABEL=サンプル-2 NAME=$$
と記述する事ができます。
include指示行の展開やincludeバッファの登録の詳細は、 include処理の推敲 をご参照ください。
DETAIL と同様に使えます。
@> tbl tbl_ul ||名前 ||値 hoge 123 / @< @DETAIL_M LABEL=サンプル-3 NAME=$$
は
[[ detail | LABEL | [[ mode | ^\ tbl \ tbl_ul \ ||名前 \ ||値 \ hoge \ 123 \ / $ ]] ]]
に展開され
サンプル-3
名前
値 hoge
123
このようになります。