Vue CLI に stylelint を導入する

stylelint とは

結論

1. stylelint と stylelint-config-standard をインストールします

$ yarn add --dev stylelint stylelint-config-standard

2. stylelint.config.js を作成します

内容は最低限度で以下のようになります。

module.exports = {
  extends: 'stylelint-config-standard',
}

3. 必要に応じて .stylelintignore を作成します

Lint の対象外にしたいファイルがある場合は .stylelintignore に記述します。.gitignore などと同様です。

補足

VS Code の拡張機能 と組み合わせれば、リアルタイム警告や保存時自動修正なども可能です。

fzf を pry(Rails コンソール)で使う方法

結論

1. rb-readline の gem をインストールする

$ gem install rb-readline

2. .pryrc に以下のように書きます。

.pryrc は Ruby のスクリプトの形で書きます。

require 'rb-readline'
require 'readline'

if defined?(RbReadline)
  def RbReadline.rl_reverse_search_history(sign, key)
    rl_insert_text `cat ~/.pry_history | fzf --tac |  tr '\n' ' '`
  end
end

3. pry を実行して fzf が動作するか確かめる

fzf が動作すれば OK です。

f:id:gregminster:20200513073505p:plain

Rails で使うとき

Rails で使うとき($ rails console で使うとき)はやや複雑です。

パターン1. Gemfile に rb-readline を追加して、.pryrc を前述のように書く

楽なのはこの方法です。Gemfilerb-readline を追加しインストールして、.pryrc を前述のように書いて Railsアプリ のルートに置きます。

ただこの方法ですと、プロジェクト全体で rb-readline がインストールされることになります。

パターン2. Gemfile はそのままで、.pryrc に判定文を追加する

Gemfile を汚したくない場合には、.pryrc に追記をした上で、.pryrc のみを用います。追記をした上での .pryrc は以下のようになります。

# Inspired by https://gist.github.com/skojin/794915
if defined?(::Bundler)
  current_gemset = '/USER_NO_HOME_DIRECTORY/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0'
  $LOAD_PATH.concat(Dir.glob("#{current_gemset}/gems/*/lib")) if current_gemset
end

require 'rb-readline'
require 'readline'

def RbReadline.rl_reverse_search_history(sign, key)
  rl_insert_text `cat ~/.pry_history | fzf --tac |  tr '\n' ' '`
end

require をする前に gem の読み込み先を指定します。指定した読み込み先に rb-readline がインストールされていることが必要です。

上記の例では rbenv を用いた上で、2.7.1 の Ruby にインストールされた rb-readline を用いています。インストール場所がハードコードされていますが、個人的にはこれは許容範囲と思っています。

上記の .pryrc をホームディレクトリに置いてしまうとバージョン違いの危険性が生まれるため*1、それぞれの Railsプロジェクト のルートに置くのが望ましいと思っていて、その際にはハードコードするのが明示的で良いと思ったからです。

まあ難しいところだと思います。

参考(というかほぼ答え)

(参考)fzf とは

コマンド履歴*2をいい感じに表示、検索、再利用するためのツールです。

*1:ホームディレクトリには、追記部分を削除した .pryrc を置けば問題ないです

*2:history

Rundeck で Slack に通知する方法

結論

1. 通知用のプラグインをダウンロードします

2. プラグインをインストールします

右上の歯車メニューからプラグインをインストールします。

3. Jos の Notifications メニューに Slack の選択肢が現れていることを確認します

各ジョブの Notifications のタブを選択すると、Slack の選択肢が出現しているはずです。

OBS でメーターは動いていてモニター確認もしたけれど音がどうしても対象に出力されない場合

結論

「音声モニタリングデバイス」の設定を変更した後に、「映像キャプチャデバイス」をいったん削除し、再度追加する

考察

「いったん削除する」というのはなかなか思いつきづらく、そしてそれが「音声モニタリングデバイス」の設定のみで必要というのは、大変にハマりやすい。私はこれで5時間ぐらいハマりました。

参考

Powered by はてなブログ