VimperatorでQiitaのスライドモードを操作するプラグインを書いた


TL;DR


Qiitaのスライドモードとは

Qiitaの投稿をスライドで表示できるというものです。マークダウンで手軽に書けて便利。詳細は以下をご覧ください。


きっかけ

自分は普段Vimperatorを使ってますが、何の設定もしていないとQiitaのスライドモードをキーボードで操作できず不便でした。

feedSomeKeys_3.jsで設定してあげればQiitaがデフォルトで提供しているショートカットキーは使えますが……

他のスライド系サービスにはlideshare.jsとかspeakerdeck.jsがあるので、Qiita用のもあると便利かなと。


ステータス

とりあえずプラグイン書いてvimpr/vimperator-pluginsにプルリクエストを送っておきました。管理体制がどうなっているのかわからないのでマージもどうなるかわかりません。あとプラグインの出来が悪いとかでマージされないかもしれません。

とりあえずマージされるより先に使いたいという場合は、kg8m/vimperator-plugins/qiita-slide.jsがマージ元のプラグインなのでご利用ください。

(2016/10/08 20:00追記)

マージされました。なのでvimpr/vimperator-plugins/qiita-slide.jsをご利用ください。

(追記終わり)


プラグインの機能紹介

プルリクエスト見てもらうとかプラグイン読み込んで:h QiitaSlide-pluginしてもらえばわかると思いますが、ここにも載せておきます。

  • コマンド
  • キーマッピング
  • 設定例

機能紹介 > コマンド

  • :QiitaSlide next
    • 次のスライドに移動する
  • :QiitaSlide prev
    • 前のスライドに移動する
  • :QiitaSlide fullscreen
    • フルスクリーンのオンオフを切り替える

機能紹介 > キーマッピング

  • liberator.globalVariables.qiita_slide_keys_next
    • 次のスライドに移動するキー(デフォルト: ["l"]
  • liberator.globalVariables.qiita_slide_keys_prev
    • 前のスライドに移動するキー(デフォルト: ["h"]
  • liberator.globalVariables.qiita_slide_keys_toggle_fullscreen
    • フルスクリーンを切り替えるキー(デフォルト: マッピングなし)

機能紹介 > 設定例

vimperatorrcで以下の設定をすると、lまたは右矢印で次のスライド、hまたは左矢印で前のスライドへ移動します。また、ControlCtrl)とShiftfの同時押しでフルスクリーンのオンオフを切り替えます。

javascript <<JS
liberator.globalVariables.qiita_slide_keys_next = ["l", "<Right>"];
liberator.globalVariables.qiita_slide_keys_prev = ["h", "<Left>"];
liberator.globalVariables.qiita_slide_keys_toggle_fullscreen = ["<C-S-f>"];
JS

注意点

このプラグインは、QiitaのちゃんとしたAPIを叩いているわけではありません。なのでQiita側の仕様変更で動かなくなる可能性があります。

自分は把握できていないのですが、もしスライドを操作する正式なAPIをご存じの方がいたら教えていただけると嬉しいです。


終わりに

素敵なQiitaライフを!