- 木俣ロバート久の weblog

木俣ロバート久の日々の記録の垂れ流し

体重 65.15kg

最近は 65kg 前後で足踏み

最近 8 年くらい前の日記を公開すべく非公開部分とより分けて編集しているが、2014 年ごろの日記の内容から軽めに壊れているのが読み取れて我が事ながらちょっと怖い

とりあえず、睡眠がちゃんと取れていない、そしてそもそも睡眠がちゃんと取れないような原因になるような状況が 1 か月くらい続くと怒りっぽくなったり悲観的になったりして変な思考になるのが分かった

そういう部分は公開できない情報を多分に含んでいるので今後とも公開しないと思うし具体的な話もできないのだが


現在この weblog は markdown で書いて PowerShell で HTML 文書に変換しているが head 要素内の情報などは markdown とペアの json ファイルに記述している

例えばこんな HTML ファイルを出力したい時

<!DOCTYPE html>
<html lang='en'>
  <head>
    <meta charset='utf-8' />
    <meta name='viewport' content='width=device-width,initial-scale=1' />
    <title>Example.</title>
  </head>
  <body>
    <h1>Example.</h1>
    <p>Paragraph 1.</p>
    <p>Paragraph 2.</p>
  </body>
</html>

以下の様なペアのファイルを用意して変換している

# Example.

Paragraph 1.

Paragraph 2.
{
  "lang": "en",
  "title": "Example."
}

しかし、markdown ファイルには HTML の tag も直接書けるので json ファイルの情報を統合して直接

<html lang='en'>

<title>Example.</title>

# Example.

Paragraph 1.

Paragraph 2.

と書いて、固定で記述される <!DOCTYPE html><meta charset='utf-8' /> や省略されている head 要素、body 要素などの記述は引き続き PowerShell で補完する形でよいのではないかと思い始めている

HTML 文書を生成するため だけの のメタ情報は、HTML の仕様に依存したそのままの情報を記載した方がよい

複数種類の文書への変換元情報であればそれぞれの変換先文書の仕様から独立していた方がよいが、HTML文書を生成するためだけのメタ情報であれば、HTML の仕様に依存していた方が処理も簡単になり結果分かりやすくなる

と言う訳で、今までこの weblog の各 HTML 文書のメタ情報を記述していた json ファイルのデータの持ち方を改めた

具体例として著作者情報の変更前、変更後は以下の通り

変更前

"author": {
  "name": "木俣 ロバート久 (KIMATA RobertHisasi)",
  "email": "mailto:robert@kimata.info"
}

変更後

"meta": [
    {
      "name": "author",
      "content": "木俣 ロバート久 (KIMATA RobertHisasi)"
    }
  ],
  "link": [
    {
      "rel": "author",
      "href": "mailto:robert@kimata.info"
    },
  ]

生成する HTML 文書に有意な変更はないので読者に影響はない (影響があったら実装ミス)

引き続きメタ情報を描いた json を編集している

開発当時の設計思想として計算すればわかることはいちいち書かないというものがあるのだが、結果が完全に固定されたものであるにもかかわらず HTML ファイルを生成するときにいちいち計算しており大変無駄が多い

人間向けに富豪的な実装は今でも大変好ましいと思っているが json ファイルのシンプル化と併せて静的な情報は計算結果を記載するように改めている

その上で人間がいちいち計算するには大変だったり、計算自体は単純だが数が多いものもあるので json の作成を支援するスクリプトを併せて開発している