投稿のタイトルに記事へのパーマリンクを張るようにした
投稿日: 2022-08-14 日
org-capture の設定を下記のように変更することで記事へのパーマリンクを張れるようにした。
("p" "公開日記" entry (file "~/private/src/diary/index.org") "* [[#%<%Y-%m-%d>-%^{ID}][%^{TITLE}]]\n:PROPERTIES:\n:CUSTOM_ID: %<%Y-%m-%d>-%\\1\n:RSS_TITLE: %\\2\n:RSS_PERMALINK: #%<%Y-%m-%d>-%\\1\n:PUBDATE: %T\n:END:\n%t\n\n%?" :prepend t :jump-to-captured t)
これでパーマリンクをどうやったらコピーできるのかが分かりやすくなったと思う。 いままでは目次からクリックしないとパーマリンクを取得できないという残念な仕様だった。
RSS_TITLE
は設定しないと RSS 側のタイトルが #add-permalink
のような感じになってしまうので設定している(RSS の xml ファイルの生成には ox-rss を使っている)。
二重に書いているのが嫌だがまあ org-capture
で二重に書くことを自動化できたのでよしとしよう……(RSS_TITLE
の方を修正し忘れる未来がみえる)。
org-mode で [[#custom_id][カスタムID]]
のようにリンクを張ると、
Emacs 内でもジャンプできることが分かった。
[[filename.org::#custom_id][別ファイルのヘッダー]]
のようにすれば別ファイルでもオーケーだ。
CUSTOM_ID
プロパティを設定していれば org-store-link
を使ったときに、この #custom_id
の形式のリンクが取得できるようだ。
いままで CUSTOM_ID
を使用していなかったせいで、
リンクが壊れることがよくあったのでこれからは使っていきたい。
org-capture-template
で CUSTOM_ID
に日付を自動的にプレフィックスとして付けるようにしておけば CUSTOM_ID
の衝突について考える必要はない。
過去の投稿のタイトルにもパーマリンクを張ることを考えたが面倒なのでやめた。