🌏

wikipediaの検索と閲覧をemacs内で完結させる

2022/01/02に公開

動機

fzwikiを使ってみて、「同じことがEmacs内でできたら便利だな」と思った。
https://github.com/sheepla/fzwiki

実装

helm-wikipedia

導入

https://github.com/emacs-helm/helm-wikipedia
をお好きな手段でEmacsに導入してください。 私はleafを使っているので以下のようにinit.elに書き込みました。

(leaf helm-wikipedia :ensure t)

使い方

  1. M-X helm-wikipedia-suggestで起動します。
  2. お好きな単語を入れると候補が挙がってきますので、C-p,nで行を合わせます。
  3. RETでブラウザが立ち上がります。C-RETで要約がEmacs内に開きます。


このように、検索候補が表示されます。

helm-wikipediaを日本語版のWikipediaに対応させる

helm-wikipediaは英語版のWikipediaにしか対応していません。日本語版のWikipediaに対応させるためにちょっとした改造を施す必要があります。
といっても、英語版と日本語版の違いはURLの先頭がenかjaかだけですので、URLを置き換え、関数名などが被らないように変更しただけです。

https://github.com/vintea01-tpt/helm-ja-wikipedia

leafでは次のように導入します。

(leaf helm-ja-wikipedia
  :ensure nil
  :require t
  :load-path "Path to direcotry containing helm-ja-wikipedia.el")


英語版と同じように動作します。

ewwでWikipediaを開くようにする

Wikipediaの閲覧ならば、いちいちGoogle Chromeなどを立ち上げなくとも、テキストブラウザであるewwで十分です。
ewwで開くようにすれば、検索から閲覧までをEmacs内で完結させられます。
helm-wikipediaはブラウザを開くのにbrowse-urlを使用していますので、browse-urlが使うブラウザをewwに指定します。

(setq browse-url-browser-function 'eww)


ewwでWikipediaの該当ページが開きます。

できれば実現したいこと

minibuffer内で検索候補の絞り込みをしたい

現状helmの機能を使っています。できればminibuffer内で絞り込みを行いたいです。

要約をpreviewしたい

要約をみるのに別ウインドウが立ち上がるのはあまり快適ではありません。できればpreview表示にしたいです。

Discussion