+++ date = "2021-07-02" tags = ["hugo"] title = "hugoでsearchするやつ付けてみた" slug = "hugo-search" +++ [/search](/search) 記事を検索したい場合、自分はcontent/postをgrepするだけなので、あまり使わないのですが、一応、webにも検索フォームを付けてみました。 hugo + vue + lunr.jsです。 ただ、日本語はおそらく対応してない。対応するには日本語対応するためのlibを追加で読み込む必要がありそう。 lunrに渡すdataは、hugoがjson出力できるので、それを使います。 ```toml:config.toml [outputs] home = ["JSON", "HTML"] ``` jsはこんな感じで(要点記述だけですが)。 ```js:static/script.js axios('/index.json') this.searchIndex = lunr(function () { this.ref('href') this.field('contents') this.field('title') this.field('tags') documents.forEach(doc => { this.add(doc) }) } ```