basyura's blog

あしたになったらほんきだす。

GitHub Actions 実践入門

入門した。便利。

最近は Twitter を見てると心が荒むのであまり見ないよにしていて、ブラウザでタイムラインを開いたら自分のプロファイルに飛ぶようにしたり、スマホの場合はドメイン丸ごと見えないようにする拡張を入れたりとかしているのだけど生存確認というか承認欲求のために GitHub のコミット記録を画像付きで垂れ流すようにしてみた。

実装は単純だけどテスト書いて GitHub Actions で push のたびに実行されるようにしてみた。

便利。テストを書いてたら test-unit-rr が便利だということも知れてよかった。

Twitter で自分のページしか見ないようにする Tampermonkey

色々と精神を揺さぶられることが多くなってきたので。

// ==UserScript==
// @name         twitter
// @namespace    http://basyura.org/
// @version      0.1
// @description  twitter save
// @author       basyura
// @match        https://twitter.com/*
// @grant        none
// ==/UserScript==

(function() {

    'use strict';
    const func = () => {
        setTimeout(function() {
            document.querySelector('[data-testid="sidebarColumn"]').style.display="none";
        }, 0);


        if (window.location == "https://twitter.com/notifications") {
            return;
        }

        const url = "https://twitter.com/basyura";
        if (!window.location.toString().startsWith(url)){
            window.location = url
        }
    }


    func();

    var observer = new MutationObserver(function(mutations) {
        func()
    });

    observer.observe(document, { childList: true, subtree: true });

})();

script をローカルで管理できたらいいんだけどなぁ。

inkdrop - sidetoc plugin v1.7.0 release

マイナーバージョンをガンガン上げていくのも微妙 (ブログ書くのが手間だな) と思って パッチバージョンを上げて機能を追加してメジャーバージョンアップ時にまとめてブログを書くのがいいかなと思ったけどパッチバージョンはバグフィックスにやっぱ使いたいなと一周した。

すでに 1.6.x でリリース済みであるけど 1.7 としてリリースしました。

  • プレビュー表示の際に
    • 対象のヘッダをある程度(汗)の判定で強調表示するようにした
    • ヘッダクリックでジャンプするようにした
    • jumpToNext (Prev) コマンドをプレビューでも使えるようにした
  • codeblock 内のコメントがヘッダとして認識されていたのを修正した。
    • ただし、html タグ内はサポート対象外とした (markdown で普通に?html タグが使えるの知らなかった)

evernote や bear を使っていて僕自身が前々からほしいと思っていて作った plugin なのだけど、一部の方には好評なようなので作ってよかったと思った。

Boot Redmine on Docker

久々に触るといろいろ変わってるのと記憶力がなさすぎるのとですぐハマるので未来の自分のためのメモ。

boot

$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-redmine/master/docker-compose.yml > docker-compose.yml
$ docker-compose up -d

plugin を入れたい

nokogiri に必要なもの

$ apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev
$ gem install nokogiri -v 1.10.9

bundle install に必要なもの

$ sudo apt-get install libmariadb-dev libpq-dev

単純に実行するとエラーが出る

$ bundle install

You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.

If this is a development machine, remove the /opt/bitnami/redmine/Gemfile freeze 
by running `bundle config unset deployment`.

The dependencies in your gemfile changed

You have added to the Gemfile:
* activerecord-compatible_legacy_migration

設定を変更 (開発系だよマークを付ける意味合いっぽい)

$ bundle config unset deployment 

インストール

$ bundle install --no-deployment
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Gemfile に追記

gem "activerecord-compatible_legacy_migration"

再起動

$ passenger-config restart-app

docker compose した rails アプリだと Gemfile.lock が更新されないらしい?
再起動できてないのかコンテナを落とし上げしたら反映された。

inkdrop - sidetoc plugin v1.6.0 release

  • ヘッダの数が多い場合にスクロールするように修正 (けど、ScrollIntoView による挙動が微妙)。
  • sidetoc を表示していない場合でもヘッダジャンプしたくなったのでコンポーネントを削除しないようにした。
  • ヘッダがない場合に微妙な隙間ができていたので表示しないように修正した。

ついでに 1.6.1 もリリースしていて codeblock 内のコメントがヘッダとして認識されていたのを修正した。

inkdrop - Minimum Header

default minimum
f:id:basyura:20200524144950p:plain f:id:basyura:20200524144956p:plain

エディタ領域だけ表示して使う場合にヘッダ部分を狭くして広く使いたいと思うことがよくあるのでオレオレコマンドを書いてみた。

window 幅をもうちょっと狭くできるようにしたいので init.js に ↓ も記述しておく。

inkdrop.window.setMinimumSize(400, 400)

キーマップも定義

'body':
    'ctrl-1': 'mycmd:toggle-distraction-free'
    'ctrl-2': 'mycmd:toggle-sidebar'

ゴリゴリ感はあるし、ウインドウ移動のがしづらいのはあるけど (ドラッグ可能な領域を 5px だけ残してる)、期待した挙動にはなってるので使用してみる。 気になるところを js や css でいじれるのがやっぱり良い。

Windows Terminal に乗り換え

Git for Windows SDK + ConEmu で日々過ごしていたのだけど Windows Terminal 1.0 が出たということで乗り換えた。

とりあえず動かしたい場合の記事を探すと Qiita が引っかかるのが便利なのか疑問に感じるところではあるけど、ありがたく手順を参考にさせてもらう。

ConEmu で指定していた設定 (commandline) をそのまま書いたら動いた。アイコンは手頃なのが無かったので msys2.ico を適当に指定。

{
    "guid" : "{f1da5d94-db6f-46ea-82bc-73098ca160ec}",
    "closeOnExit" : true,
    "colorScheme" : "Solarized Light",
    "commandline" : "C:\\git-sdk\\git-cmd.exe --no-cd --command=usr/bin/zsh.exe -l -i",
    "cursorColor" : "#FF8040",
    "cursorShape" : "filledBox",
    "fontSize" : 12,
    "historySize" : 9001,
    "icon" : "C:\\git-sdk\\usr\\share\\git\\msys2-32.ico",
    "name" : "ZSH",
    "padding" : "5, 0, 0, 5",
    "snapOnInput" : true,
    "startingDirectory" : "%USERPROFILE%",
    "useAcrylic" : false
}

明るい画面が苦手になってからよくあるデフォルトの暗いテーマを使うと単に薄暗くて見づらいだけになってしまうので明るめの色設定をしている。とりあえず使い始めたかったのでデフォルトで使える Solalized Light を指定。

zsh が動くし peco も動いたし、折返しで表示が崩れるのもマシになった気がする。ConEmu で一番気になっていた常時 cpu を数 % 使用するのが無くなったのが一番嬉しい。フォントは ConEmu で使っていた Migu 1M にしようかと思ったけど設定したら微妙だった。デフォルトフォントに戻したらいい感じだったのでそのまま使用中。Windows Terminal 用に開発したフォントらしい。自分環境のフォントがどんどんデカく太くなっていってる気がするけど・・・気にしない。

cmd.exe を管理者モードで起動したいとか、もうちょっと行間 (line space) を広げたいとかはあるけど、主に無駄な cpu 数 % 使用が無くなったので満足している。