macOS SierraでSSH Keyを自動でKeychainに登録する方法

Yosemiteまではssh-add -K <key>でOSにキーを覚えさせておく事ができました。しかしこれは現在うまく行きません。
さらに、ssh-add -KもSierraからはkeychainに保存されなくなってしまいました。
なので、ターミナルを新しく立ち上げる度にパスワードを入力しなくてはなりません。不便すぎます。

そこで回避方法が提案されています:

簡単に言えば、OSの起動時にキーを覚えさせる対処法です。
以下の手順でできます

  1. ssh-add -K </key><key>でキーを登録。キーファイルは絶対パスで指定すること。
  2. curl -o ~/Library/LaunchAgents/ssh.add.a.plist https://raw.githubusercontent.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain/master/ssh.add.a.plist を実行してplistを登録。

これだけです。
詳しくは上記GitHubを参照ください。

remark+ReactでMarkdownをレンダリングする

本記事は React Advent Calendar 2016 9日目の記事です。

本稿では、remarkというプラグインベースのMarkdownプロセッサを用いて、ReactのdangerouslySetInnerHTMLを使わずにMarkdownをレンダリングする方法をご紹介します。
InkdropというMarkdown専用ノートアプリを作っていて、その中でこのremarkを使っています。

XSSを回避してReact方式でDOM操作したい

ReactでMarkdownをレンダリングしようと思うと、markedとかmarkdown-itを使ってHTMLの文字列に変換してからdangerouslySetInnerHTMLで無理やりねじ込む実装方法が多いと思います。

続きを読む remark+ReactでMarkdownをレンダリングする

atomエディタのソースコードを再利用してアプリのカスタマイズ性を高めよう

本記事はElectron Advent Calendar 2016 5日目の記事です。

InkdropというElectron製ノートアプリを作っています。
このアプリにはプラグイン機構による拡張性を備えているのですが、これはatomからコードを拝借して実装しました。
atomはMITライセンスによるオープンソースのテキストエディタです。
その際に得た知見を共有したいと思います。
これをきっかけにあなたのElectronアプリ改善のお役に立てれば幸いです。
atomのパッケージを作ったことのある方ならすんなり理解できると思います。

続きを読む atomエディタのソースコードを再利用してアプリのカスタマイズ性を高めよう

ノートアプリ「Inkdrop」のスマホ版を考える

これは拙作のハッカー向けノートアプリ Inkdropに関する記事です。

そろそろスマホ版が欲しい。
寝る前とか出先でアイデアを思いついた時やメモを見返したい時に、やっぱりあると便利ですよね。
というわけで、どうやって作るか検討したいと思います。

ハイブリッドで作ってみる

結論から言うとハイブリッドで組んでみたいと思います。
ハイブリッドとは、Webの技術とネイティブの技術を組み合わせてアプリをつくる方法です。
デスクトップ版InkdropもElectronで作ってあるのでハイブリッドですね。

続きを読む ノートアプリ「Inkdrop」のスマホ版を考える

GitHub上で有意義な議論をするには

タイトルはちょっと大げさだけど最近思ったことを書く。

アプリ作ってると使っているモジュールの問題を発見したりするので、たまにissue立てたりPull Request送ったりしてる。
たまに感謝されるし、rejectされることもある。

3日前に立てたissueは、remarkというMarkdownプロセッサに関するプラグインで、remark-reactというReactでレンダリングするためのもの。
Markdownの仕様(というか実装)ではテーブルのセルの右揃えとか中央揃えは、HTML attributeのalignを使うようになっている。
しかしHTML5ではこのalignはobsoleteであり、Reactではサポートされておらず無視されてしまうためうまくレンダリング出来ない。
この問題に関する議論がこちら:

続きを読む GitHub上で有意義な議論をするには