n8nのSlackノードへのプルリクエスト

n8n(Nodenamtion)でSlackを使ったアプリを作っていてどうしても欲しい機能があったので追加してのプルリクエストを投稿しました。
Add chat.getPermalink interface in Slack Nodes. #1366
現在は、マージされリリースされています。 このPRは、Slackのメッセージに対しパーマリンクを得るためのAPIchat.getPermalink を呼び出すためのものです。

n8n(Nodenamtion)でSlackを使ったアプリを作っていてどうしても欲しい機能があったので追加してのプルリクエストを投稿しました。
Add chat.getPermalink interface in Slack Nodes. #1366
現在は、マージされリリースされています。 このPRは、Slackのメッセージに対しパーマリンクを得るためのAPIchat.getPermalink を呼び出すためのものです。
Growi という優れたwikiエンジンでwikiサイト(wiki.tumf.dev )を立ち上げてみます。Growiはmarkdownで記述でき、かなり高機能で別のところで愛用しています。
シェルからパスワードなどを簡単に生成したい時に以下のようにします
私は、メインのエディタとしてVimクローンのneovim を使っています。折りたたみ(fold)を覚えてそこそこ大きなソースコードの編集が楽になりました。しかしながら、nvim起動の度に折りたたみ状況が解除されて手間だったので、バッファ状態保存の方法を調べたら以下の方法に行き当たりました。
今日は、ssh-argv0という、ものぐさを極めた伝統的なシェルスクリプトを紹介します。
| |
とするのを
| |
とssh の部分省略できるスクリプトです。これだけですが😅
GoogleCloudPlatform
(以下GCP)にはCloudFunctions
とCloudRun
という2つのサーバレスサービスがあります。簡単にいうとこの2つは動作環境が違います。CloudFunctionsは開発者のコードを固定されたOS環境で動かすためのものであるのに対し、CloudRunは開発者が持ち込んだDockerコンテナを動かします。どちらを利用するべきか考える順番はCloudFunctions→CloudRunです。双方の違いは「自由と簡単」のトレードオフです。
今回CloudRunを初めて使ってみましたので記事にしてみました。
n8n
にはEditImageという画像処理ノードがインテグレーションされていて、簡単な操作ならこれで十分処理ができます。EditImageは内部でGraphicsMagick
が使われていますが、とある理由からImageMagick
を使いたくなりshell-jsonrpc
を使って実装してみました。shell-jsonrpcは、以前の記事でバイナリデータに対応するようになっています。
このブログ内のリンクが_blankだったりそうでなかったりと統一されてないなかったので以下のようなJavascriptで一括修正することにしました。
基本的にtarget=_blankが設定されているみたいなので、内部向けリンクについてa要素のtarget属性を削除する。
今日は以前の記事HackMD CLIをJSON-RPC経由で使う でで作ったhackmd-cli-api をn8n に組み込んでHackMDの日次バックアップを実装してみました。
できあがったのがこちら。

リモート環境だけでなくローカル環境でも tmux を使っていて、リモート環境でうっかり tmux を起動するとローカルの tmux の中に入れ子でリモートの tmux が起動します。この状態だとすべての tmux がプレフィクスが外側(ローカル側)に捉えれてしまって内側(リモート側)の tmux が制御不能となります。これを防ぐために、内側の tmux プレフィクスのキーバインドを変えるという方法 もあるのですが、操作が複雑で誤動作も多くなるのでもういっそ tmux から tmux を起動した場合は起動を抑制するようにしようと思います。