自分で作っておきながら、少しでも更新を怠ると一連の作業手順を忘れてしまうので、改めて再確認しつつここに記録することとします。最初に、新しいエントリを作成する場合はシェルスクリプト "clog_new_text.sh" を使用します。
$ ~/bin/clog_new_text.sh 210112d
引数でエントリのタイムスタンプとカテゴリを設定します。上の例では 2021 年 1 月 12 日のタイムスタンプで days カテゴリとなります。about カテゴリとする場合は引数最後の d を a とします。新しいエントリは、とりあえず queue ディレクトリ下の各カテゴリディレクトリ内に、引数を使用したファイル名で作成され(上記の例では "days-200112.txt")、vi が起動し編集画面となります。
引数が不適切であったり、すでに同名のエントリが存在する場合は、その旨を表示してスクリプトが終了します。無事に編集画面が表示されたら 1 行目にエントリのタイトルを記入します。2 行目にはこのエントリのタイムスタンプ設定が引数から自動的に挿入されています。同じ日付で複数のエントリを予定している場合などは、時刻部分を編集してエントリの順番を操作することができます(新しい時刻のエントリが上に表示される)。1 行あけて 4 行目から、HTML のタグを使いながら本文を記入します。
ローカルリンクは以下のように指定すれば、後のスクリプト処理でローカル環境とサーバ環境のそれぞれに適した url に変換されます。
<a href="http://localhost/cgi-bin/clog.cgi/weblog/days/days-210110.html">
Image
画像を挿入する場合は、"clog/queue/images/" ディレクトリ下に保存し、img タグで設定します。
<img src="/IMAGES/name_of_image.png" class="w80">
画像ファイルの url を "/IMAGES/" としておけば、後のスクリプト処理でローカル環境とサーバ環境のそれぞれに適した url に変換されます。
class に "w80" を設定した場合は、画像の左右寸法が本文ボディ左右寸法の 80% になります。
class に "w60" を設定した場合は本文ボディ左右寸法の 60% になります。
スクリーンショットなどの画像は class に "w100 window" と設定すれば、周囲にアウトラインを付加し、本文ボディの左右寸法に合わせた表示となります。
iframe
YouTube の動画(560:315)などを埋め込むときは <iframe> を <div class="iframe-w100"> で囲み、本文ボディの左右寸法に合わせます。
<div class="iframe-w100"> <iframe width="560" height="315" src="https://www.youtube.com/embed/6dKimoybmEo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </div>
pre
すでに上の方で表示されていますが、スクリプトなどを表示する際に <pre> タグを使用すれば、グレー地に白文字で半角固定幅フォントが表示されるように設定しています。
<pre> $ ~/bin/clog_new_text.sh 210112d </pre>
ul
<ul> タグを使用したリスト表示では、各項目のマーカーとインデントを無くしてシンプルにしています。
<ul> <li>2020</li> <li>2021</li> <li>2022</li> </ul>
ローカル環境での表示確認
新しいエントリの作成が終わったら、シェルスクリプト "clog_update.sh" で表示を確認します。
$ ~/bin/clog_update.sh local
引数に "local" を指定することで、queue ディレクトリ下に作成したファイル群が "clog/blosxom/weblog/" ディレクトリ下にコピーされ、表示が可能となります。
修正が必要な場合は、直接 .txt ファイルを指定して編集し直すか、もしくは編集画面を開いたまま、別ターミナルから上記スクリプトを繰り返し実行することで試行錯誤することができます。
サーバに転送
ローカル環境での確認が終わったら、シェルスクリプト "clog_update.sh" でサーバに転送します。
$ ~/bin/clog_update.sh www
引数に "www" を指定することで、queue ディレクトリ下に作成したファイル群が再び "clog/blosxom/weblog/" ディレクトリ下にコピーされ、続いてサーバに転送され、最後に queue ディレクトリ下から削除されます。
夕方には少し積もって ALEX も大喜び。