Redmineのシンタックスハイライトプラグインが出てた
Redmineのチケットやwikiで使えるシンタックスハイライトは、 CodeRay と言うライブラリを使用しているのだけど、対応フォーマットが少ない為、以下の通り、Rougeと言う別のライブラリへの移管を提案されていて、長いこと停滞状態にある。
そこで今年の1月に、プラグインでRougeの対応を行った人が現れたようです。
めちゃめちゃありがたいのだけど、コレって結局、公式の運営的にはどうなんだろうなぁと。 プラグインとしてではなく、公式に取り込まれてくれないかなぁと。
こういう要望の取り込みに対して、チケットや注記に「良いね」ボタン的なものがあると良いなぁと思う。 また、チケットでGitHubのPRみたいな流れとか作れると嬉しいのだけど、そうなっちゃうと「コレ、ナンテGitHub?」ってなっちゃうか。。。
だとしても、Redmineの開発にRedmineを使っている以上、Redmine使って開発が加速する仕組みは必要だと考えるけどどうなんだろうね。 そこで、その一環として、チケットを使った(使って無くてもいいけど)PRの様なマージの仕組みはアリなんじゃないかな。
Rougeの対応早く公式に入らないかなぁと思う今日此の頃。Perlとbashが欲しいマンでした。
所でこの本、半額なってる。 買おうかな。
Redmine Plugin Extension and Development
- 作者: Alex Bevilacqua
- 出版社/メーカー: Packt Publishing
- 発売日: 2014/03/19
- メディア: Kindle版
- この商品を含むブログを見る
US配列キーボードとWindowsとUbuntuの共存。主に日本語入力。
Win+Space
で日本語入力切り替えをWindowsとUbuntuで統一する話。
動機
US配列キーボードが気に入って使っているのだけど、現状、WindowsとUbuntuを行ったり来たりしてて一番困るのが日本語入力の切替え。
デフォルトだと、Windows側は、Alt+`
で切替え、Ubuntu側は、Ctrl+Space
とこの上なく面倒くさい。
Ctrl+Space
で統一するのはよく見るのだけど、Ctrl+Space
を切替えに使われてしまうと、vscodeなどの候補一覧出すのに支障が出てしまう。
からくり
入力ソースを2つ用意して、1つは日本語。もう一つは英語にして、切り替えているだけ。
pros & cons
pros
- Windows側は、
Alt+`
で切替え、Ubuntu側は、Ctrl+Space
とこの上なく面倒くさい問題の解決 Ctrl+Space
で統一しないので、キーバインドがバッティングしてしまう vscodeなどのIntelliSenseを使う場合にも困らない
cons
- Mozc(iBus)だと、OS起動時の1度だけ、日本語入力の際に、入力モードを「ひらがな」に設定しなければならない
環境
- Windows→Google日本語入力 と Ubuntu→Mozc(iBus)
- Windows10 Pro と Ubuntu 16.04 LTS
実施方法
Windows側の設定
コントロールパネルから「時計、言語、および地域」→「言語」を選択。
「言語の追加」を選び、「英語」→「英語(米国)」を選択して「追加」ボタン押下。
Ubuntu側
「テキスト入力」の設定を開き、「入力ソースの選択」で「英語(US)」を選択
入力ソースの切替えの設定を「次のソースへ切替え」には「Win+Space」を入力して設定し、「前のソースへ切替え」には「Shift+Space」を入力して設定。
課題の解決
consで上げたとおり、起動後一回だけ、「ひらがな」に切り替えないといけないのだけど、この辺を参考にすると良いです。
Google Homeの「今日はどんな日?」について調べてみた
Google Homeに「今日はどんな日?」って訪ねたら「今日の予定は~」って喋りだしたので、調べてみた。
仕様としては、メインのカレンダーについてのみ対応との事。
しかし、その中で複数の予定があった場合、Google Home で読み上げることが可能な情報は最大 3 つまで(2018/01/23現在)。
メインのカレンダーの調べ方については、Googleアシスタントの設定から「カレンダー」を選択し、灰色になっている、チェックが外せないカレンダーの表示になっているものがメインのカレンダーです。
読み上げるカレンダーを自由に切替え出来るようになるか複数のカレンダーに対応してくれることを願うばかり。
みんなでフィードバック送信したら優先して改善してもらえるかもしれないのでみんなでフィードバックしよう。
また、Google Homeとは関係ないけど、
Googleアシスタントに話しかけて確認する予定については、複数のカレンダーでもOK。
複数のカレンダーのうち、一部だけにしたい場合は、上記の設定からカレンダーを設定すればOK。
Google Homeホント便利。
nvm&npmの環境で入れたモジュールってバージョン毎にどこあるのか調べた。
前に、yoを入れたのだけど、
Node.jsをnvmでVer.切り替え出来るようにしてるので、インストールしたモジュールってどこに行くのか?
って思ったので簡単に調べた。
結論: -g
指定してグローバルインストールしているけど、実行バージョンのみにインストールしている。
改めて、nvm読む。
環境は、NPM_CONFIG_PREFIX
を見ているみたい。
- GitHub - creationix/nvm: Node Version Manager - Simple bash script to manage multiple active node.js versions
- 03 - How to prevent permissions errors | npm Documentation
マニュアルは、、、man npm
ってやっても存在しません。。 npm --help
としたら、npm help npm
で分かるそうな。
ver.依存あるし当然っちゃ当然。
$ npm help npm : DIRECTORIES See npm help 5 npm-folders to learn about where npm puts stuff. In particular, npm has two modes of operation: · global mode: npm installs packages into the install prefix at prefix/lib/node_modules and bins are installed in prefix/bin. · local mode: npm installs packages into the current project directory, which defaults to the current working directory. Packages are installed to ./node_modules, and bins are installed to ./node_modules/.bin. Local mode is the default. Use -g or --global on any command to operate in global mode instead.
グローバルモード(インストール時に -g
指定)した場合は、prefix at prefix/lib/node_modules と prefix/bin にインストール。
デフォルトとはローカルモードで、カレントに./node_modules
を使ってそこに入れる。と。なるほど。
prefix
ってどこかなぁ、、、
$ npm config edit : ; prefix=/home/yassan/.nvm/versions/node/v8.9.3 :
コメントアウトされてるけど、デフォルトは/home/yassan/.nvm/versions/node/v8.9.3
ですね。
試しに別の環境で、2つのバージョンをインストール後に、ローカルモードでインストール(npm install yo
)したら、カレントにnode_modules
ディレクトリを作って、そこにインストールしてた。 しかも、パスが通ってないので、未設定だとyo使えない(当たり前)
んで、グローバルモードでyoをインストール。
$ npm install -g yo /home/yassan/.nvm/versions/node/v8.9.3/bin/yo -> /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/lib/cli.js /home/yassan/.nvm/versions/node/v8.9.3/bin/yo-complete -> /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/lib/completion/index.js > spawn-sync@1.0.15 postinstall /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo/node_modules/spawn-sync > node postinstall > yo@2.0.0 postinstall /home/yassan/.nvm/versions/node/v8.9.3/lib/node_modules/yo > yodoctor
となってたので、実行しているバージョン先と関連付けてますね。 実際に存在確認。
yassan:~/.nvm/versions ((v0.33.8)) $ ll node/v8.9.3/bin/ 合計 34388 drwxrwxr-x 2 yassan yassan 4096 12月 29 06:47 ./ drwxrwxr-x 7 yassan yassan 4096 12月 29 05:38 ../ -rwxrwxr-x 1 yassan yassan 35200878 12月 8 23:09 node* lrwxrwxrwx 1 yassan yassan 38 12月 8 23:10 npm -> ../lib/node_modules/npm/bin/npm-cli.js* lrwxrwxrwx 1 yassan yassan 38 12月 8 23:10 npx -> ../lib/node_modules/npm/bin/npx-cli.js* lrwxrwxrwx 1 yassan yassan 33 12月 29 06:47 yo -> ../lib/node_modules/yo/lib/cli.js* lrwxrwxrwx 1 yassan yassan 46 12月 29 06:47 yo-complete -> ../lib/node_modules/yo/lib/completion/index.js* yassan:~/.nvm/versions ((v0.33.8)) $ ll node/v9.3.0/bin/ 合計 34212 drwxrwxr-x 2 yassan yassan 4096 12月 12 18:38 ./ drwxrwxr-x 7 yassan yassan 4096 12月 29 06:21 ../ -rwxrwxr-x 1 yassan yassan 35021636 12月 12 18:37 node* lrwxrwxrwx 1 yassan yassan 38 12月 12 18:38 npm -> ../lib/node_modules/npm/bin/npm-cli.js* lrwxrwxrwx 1 yassan yassan 38 12月 12 18:38 npx -> ../lib/node_modules/npm/bin/npx-cli.js*
確かに、実行バージョン(v8.9.3)にはyoはあるけど、使っていないバージョンには入ってませんね。
納得したのでこの辺で。
redash on Rancher
むっちゃ遅れましたが、 Rancher Advent Calendar 2017 の 20日目の記事です。
- TLDR
- Pros
- Cons
- なんでカタログ化したいん?
- 前提条件
- プライベートカタログの作成
- プライベートカタログをリモートリポジトリへ追加
- ローカルボリュームを作成する
- Racher CLI setup
- ローカルボリュームを作成
- プライベートカタログをRancherへ登録
- redashカタログからサービスを起動
- 今後について
- おまけ:pgAdmin4の使い方
Rancherでdocker-compose.ymlの条件分岐を試す
Rancher Advent Calendar 2017 の 13日目の記事です。
20日目に「 redashのプライベートカタログ化」を紹介するのですが、あれこれ欲張りすぎて記事が長くなったのと、まだ、カレンダーが埋まってないので埋めてみました。
目次
- 使い方
- 条件式用の変数の定義 <rancher-compose.yml>
- 条件分岐の記述 <docker-compose.yml>
- 注意事項
- その他の例
カタログジェネレータを試してみた
Rancher Advent Calendar 2017 の 12日目の記事です。
20日目に「 redashのプライベートカタログ化」を紹介するのですが、あれこれ欲張りすぎて記事が長くなったのと、まだ、カレンダーが埋まってないので埋めてみました。
- プライベートカタログジェネレータのセットアップ
- npmのVer.管理ツール nvm のインストール
- npmのインストール
- インストール可能な安定Ver.を探す
- 安定Ver.のnpmをインストール
- Yeomanのインストール
- npmを使ってYeomanをインストール
- Rancherカタログジェネレータ generator-rancher-catalog をインストール
- 空のカタログを生成