記事にコメントを付ける方法を考えてみる。動的なサーバーを使用したり、又はSaaSを利用すれば特に難しい事はない。ただ今回はそういう事ではなく、これらの記述自体を静的なファイルとして保持し、Gitで管理する事を考えようと思う。=org-mode= には外部文書の取り込み機能があるため、それらを上手く利用できれば良い。文書の変換にはHugoを使用しているので、go-orgを使う事を前提として実施した。ただこれが諸々の制約でできなかった。そのあたりの試行錯誤を記録として残しておく。
ディレクトリ構成としては、以下のようになっている。
tree .
. |-- comments | |-- 0001.org | `-- 0002.org `-- index.org 1 directory, 3 files
この comments
配下にあるファイルを INCLUDEで取り込みたい。
Aテスト
Bテスト
Cテスト
コメントを1つずつ取り込む
原稿ではここに以下のような記述をしている。
#+INCLUDE: "./comments/0001.org" src txt #+INCLUDE: "./comments/0001.org" src org #+INCLUDE: "./comments/0001.org" src example
#+DATE: 2023-07-07T10:02:27+0900
#+LASTMOD: 2023-07-07T10:02:27+0900
* Aテスト
** Bテスト
*** Cテスト
#+DATE: 2023-07-07T10:02:27+0900
#+LASTMOD: 2023-07-07T10:02:27+0900
* Aテスト
** Bテスト
*** Cテスト
#+DATE: 2023-07-07T10:02:27+0900
#+LASTMOD: 2023-07-07T10:02:27+0900
* Aテスト
** Bテスト
*** Cテスト
期待した状態にはならなかった。INCLUDEしたファイルもorg-modeとして適切に文書が変換されて欲しい。これには何を指定すればよいのか分からなかった。ここではHugoを使用しているので、INCLUDE自体はEmacsが処理しているのではなく、go-orgが処理している。ここらへんの仕様に微妙な違いがある。
コメントをまとめて取り込む
原稿ではここに以下のような記述をしている。
#+INCLUDE: "./comments/*.org" src example
これは取り込めなかった。
まとめ
org-modeで管理している文書にコメントを記述し取り込んでいく方法を考えた。INCLUDE機能を利用すればできるのではないかと思い試してみた。文書の変換はHugoを想定していたためgo-orgを使ったが、思うように取り込まれる事はなかった。考えた事の記録として残しておく。