search
LoginSignup
2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Firefox の Format Link の直し方

Firefox には Format Link という大変便利なアドオンがある(Google Chrome にも似たようなのはある)。

この記事では,そのアドオンの不具合と,その直し方について書く。

Format Link の概要

例えば Ruby の公式リファレンスマニュアルの以下のページへのリンクを自分の記事に書きたいとする。
instance method Array#[] (Ruby 2.6.0)

URL だけのリンクでは分かりづらいので,上記のリンクのごとく,ちゃんとリンクテキストと URL とに基づくリンクにしたい。Markdown だと [リンクテキスト](URL) の形式でそれはできるのだが,そのように書くのが面倒くさいのである。

URL のコピペはロケーションバー(アドレスバー)から持ってくるだけからいいものの,リンクテキストを同時に持ってくることができない。

また,上記の例で言うと,リンクテキスト中に [] が含まれるので,Markdown で書くときにバックスラッシュを付けて \[\] のように書いてエスケープしてやらねばならない。面倒だし,やり忘れもありがち。

Format Link をインストールしておけば,当該ページでコンテキストメニューから選ぶだけで Markdown 形式のリンク用文字列がクリップボードにコピーされる。もちろん適切なエスケープもなされる。

形式は Markdown 以外も選べるし,自分で自由に作ることもできる。

ちなみに,ページ上に選択テキストがある場合と無い場合で動作が変わるようになっている。
選択テキストがある場合はそのテキストがリンクテキストになり,無い場合はページの title 要素がリンクテキストになる。なんと心憎い配慮であることか。

もうこれ無しにリンクなんかしたくないっ!ってくらい使ってた。

以下のような Qiita の記事へのリンクを作るのも,一瞬でできるのだ。
Rust の論理積の & は短絡評価じゃなかった - Qiita

Qiita の記事へのリンクであることが分かるように,リンクテキストの末尾に「- Qiita」が付いているといいのだが,この部分は記事上には表示されていないので,Format Link を使うまでは,HTML の title 要素から拾ってくるか,手で打つしかなかったんである。

不具合

ところが,どこかのバージョンからか,おかしくなった(Format Link のバージョンじゃなくて Firefox のバージョンだったかな?)。
設定が空っぽになって変更もできない状態になり,どうにも使えなくなってしまった。

プロジェクトの GitHub リポジトリーには issue も立った。
Can't save setting in FF67 · Issue #25 · hnakamur/FormatLink-Firefox

しかし,作者さん(感謝してます!)がお忙しいのか,全く動きがなかった。

解決法

そこへ! @lo48576 さんが対症療法的に正常化する方法を書いてくださった(上記の issue 参照)。

以下に,その手順を日本語で要約させていただく。

[1] ロケーションバーに about:debugging#/runtime/this-firefox と打つ
[2] Format Link の「調査」をクリック(コンソールが出る)
[3] コンソール上で await browser.storage.sync.set(DEFAULT_OPTIONS); と打つ

たったこれだけで直る。えっと Firefox を再起動したほうがいいのかな。よく分からんけど,ともかく直った。
@lo48576 さん,あなたは今,私の神です。崇拝します。少なくとも夜が明けるまで。もうすぐ寝ますけど。

不具合の原因や,上記の操作の意味などは上記 issue の @lo48576 さんの書き込みにあるので,ご参照を。

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
What you can do with signing up
2
Help us understand the problem. What are the problem?