LoginSignup
2
4

More than 5 years have passed since last update.

TiddlyWikiで記事を自動リンク

Last updated at Posted at 2017-05-04

TiddlyWikiはHTMLでできた個人用wikiです。

単語の自動リンク機能は、大文字から始まる英単語にリンクを貼るという仕様となっています。
しかし英単語にしか使えないし、対応する記事が無くてもリンクを貼ったりして使い勝手が悪いです。

そこで、英語であろうと日本語であろうと自動でリンクを貼ってくれて、対応する記事が存在する時のみリンクを貼られるように改造します。

  1. 右側の「More」タブを選択。
  2. 「System」タブを選択。
  3. 「$:/core」タブを選択。
  4. 「contentsタブを選択」。
    image

  5. 「$:/core/modules/parsers/wikiparser/rules/wikilink.js」を選択。
    image

  6. wikilink.jsの編集ボタンを押下。
    何か警告がでますが、たぶん「これを編集してもアップグレード時に上書きされるよ」的な内容なので無視します。
    image

  7. 26行目~30行目の記述を以下のように書き換えるます。

exports.init = function(parser) {
    this.parser = parser;
    // Regexp to match
    this.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + "?" + $tw.config.textPrimitives.wikiLink,"mg");
};

↓↓↓↓↓↓↓↓↓↓↓

exports.init = function(parser) {
    var tiddlerNames = $tw.wiki.getTiddlers().toString();
    this.parser = parser;
    // Regexp to match
    this.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + "?" + tiddlerNames.replace( /,/g , "|" ) ,"mg");
};

これで右上のチェックマークからwikiを保存してファイルを開き直せば、これで記事中に記事が存在する単語が入っていた場合に自動でリンクを貼ってくれるようになります。
image

ただし記事のタイプがデフォルトである「text/vnd.tiddlywiki」でないと自動リンクが貼られないので注意です。

2
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4