しばらく前に、以下のツイートに出会って、「なんだとっ!」と対抗意識が芽生えたので、Crowi にバックリンク機能を付ける pull request を作ってみた。
Confluenceで便利だなと思うのは、このページにリンクしているページの一覧がわかることだなぁ。
— oinume (@oinume) 2017年1月17日
該当の pull request はこれ。
ページを新規追加もしくは更新するときに、自身の Crowi へのリンクを見つけて DB へ保存。ページを開くときにそのページへのバックリンクがあったら表示するというシンプルな内容。
「自身の Crowi へのリンクを見つける」という部分の正規表現でちょっとハマってたので、正規表現力が低いなぁと改めて実感。結局、url-regex というプロジェクトの path の正規表現を参考にした(そこから更に加工したけど)
どういう動作か知りたければ、下記のリンクから pull request ベースでの(master マージ前の)動作確認ができる。
ちなみにこの Heroku の URL は、GitHub の各 pull request ページの下記の位置からも参照できる。
バックリンクの表示の仕方は、画像を添付したときの Attachments リストの表示をパクった参考にしたのだけど、この形式が本当に良いのかは考えきれていない。
あと、ここまで「バックリンク」と呼んではいるものの、同一サイト内のリンクを「バックリンク」と呼んでいいのかはよく知らない。SEO 的な話だと「外部サイトからの被リンク」をバックリンクと呼ぶのかなぁ。
もしかして「インバウンドリンク」とかに名前を変えたほうがいい??