Firefoxの読書モードに入りたいのですが、ページを再フォーマットして、スクロールをスムーズにし、読みやすくする可能性があります。 VimFXではこれはgr
たが、もちろんデフォルトで同じマッピングを持つ必要はありません。 実際、デフォルトでマッピングする必要があるとは限りません。 マッピングできるようにしておけば問題ありません。
WebExtensionが可能である(または可能になる)としたら、私は驚きます。
Firefox固有なので?
いや、APIを追加するのはとても特別なことだからです。
悲観的になるのは楽しいことですが、キャッチオールリーダーモードのWebExtensionsバグからのブレッドクラムをたどることができます。
"about:reader?url="+encodeURIComponent(url)
なので、これを使用してVimiumに追加するのは簡単です。url
パラメータが現時点で正しくサニタイズされていない可能性があるという懸念があり、これがこれを妨げています。about:reader
のコンテンツスクリプトがサンドボックスに損傷を与えないことを確認するため)。about:reader
をチェックすることでうまくいくはずなので、これはこれ以上進んでいません。編集:最初の箇条書きは、リーダーモードに出入りするためのコマンドを実装できるようにするために必要なすべてです。
わーい! ネガティブでごめんなさい。
@ mrmr1993の編集に関しては、リーダーモードを終了するには、最初の2つの箇条書きが必要だと思います。 現在、WebExtensionsをabout:
URLにロードできないようです。そのため、リーダーモードを終了するためのキーバインドは機能しません。
私はリーダーモードをよく使います。 デフォルトのキーバインディングであるCtrl-Alt-r
を使用してアクティブ化してもかまいませんが、リーダーモードで他のキーバインディング、特にj
、 k
を使用できないのは面倒です。 、およびその他のスクロール関連のキー。 リーダーモード内でVimiumをロードするために別の問題が必要ですか、それともここに適合しますか? または、バグ1371786が解決された場合、Vimiumを変更せずに機能しますか?
リーダーモードを終了するには、最初の2つの箇条書きが必要だと思います。
あなたが正しい。 良いキャッチ。
リーダーモード内でVimiumをロードするための別の問題が必要ですか?
いいえ:ここでの課題追跡システムは混乱しており、基本的にメーリングリストとして機能します。 問題は、誰かが修正することを決定した場合にのみ修正されます(そして、スティーブは修正をマージするのに十分な問題を気にします)。これは、意味のある方法で実際に調整されていません。
私はリーダーモードをよく使うので、可能になったときにこれを(少なくとも私自身は)修正するつもりです。
バグ1371786が解決された場合、Vimiumを変更せずに動作しますか?
実装に応じて、変更なし、または拡張マニフェストへの1行の変更あり。
このためのAPIは毎晩公開されています。 詳細については、このバグを参照してください(またはmozilla / gecko-dev @ 8f848ff9dfe8e5b11966cbe6177019deb1f75a3cをコミットしてください)。 公式のドキュメントが見つかりません。Firefoxのコードベースで無関係な作業をしているときにしかドキュメントに遭遇しませんでした。
簡単に言うと、変更点は次のとおりです。
isArticle
がTab
オブジェクトに追加されました。これは、アドレスバーに表示されているリーダー表示ボタンに対応します(私は思います)isInReaderMode
もTab
オブジェクトに追加されましたbrowser.tabs.toggleReaderMode(tabId)
APIが追加されましたまだリーダーモードでコンテンツスクリプトを実行することはできません(このバグ)。そのため、一度入ると行き詰まります。
browser.tabs.toggleReaderMode
のドキュメントは次のとおりです。 Firefox 58にあります。これまでのところ、リーダーモードでのコンテンツスクリプトの許可についてはあまり進展がありません。
最も参考になるコメント
悲観的になるのは楽しいことですが、キャッチオールリーダーモードのWebExtensionsバグからのブレッドクラムをたどることができます。
"about:reader?url="+encodeURIComponent(url)
なので、これを使用してVimiumに追加するのは簡単です。url
パラメータが現時点で正しくサニタイズされていない可能性があるという懸念があり、これがこれを妨げています。about:reader
のコンテンツスクリプトがサンドボックスに損傷を与えないことを確認するため)。about:reader
をチェックすることでうまくいくはずなので、これはこれ以上進んでいません。編集:最初の箇条書きは、リーダーモードに出入りするためのコマンドを実装できるようにするために必要なすべてです。