禅的思考: なぜInkdropはMarkdown独自拡張をしないのか

禅的思考: なぜInkdropはMarkdown独自拡張をしないのか
Markdownを独自拡張して満足そうなイヌさん

InkdropはMarkdownのノートアプリですが、Markdownの独自拡張は「絶対にやらない」と決めていて、それがアプリの哲学になっています。
Markdown(厳密にはGitHub-flavored Markdown)の強みは、ソフトウェア業界標準で広く使われてい緩い文書フォーマットという所です。
アプリの独自記法を加えてしまったら、あなたの書いたノートはたちまちそれらと互換性がなくなります。

「独自記法を加えた方が便利な機能が付けられるだろう」と思うかもしれません。もちろん実際Markdownは完璧な書式ではないため、必要な場面はいくつかあります。例えば画像のサイズ指定方法が定まっていない、など。それでも自分は、ノートの可搬性を第一にしてきました。その裏には禅にまつわる哲学があります。

借景

日本の文化は周りの環境と対立するのではなく、溶け込もう、馴染ませよう、共生しようとする傾向があります。窓の借景、枯山水、建築の非対称性、茶室のシンプルさ、侘び寂びなどあらゆるところで見られます。

絵画における「減筆」の手法を例にとって説明します。
これは、描線を最小限に抑えながら絹や紙の上に対象の形状を映し出す手法です。禅の絵師たちはその手法を使い、心理的な面での情景を表現しようとしてきました。

伝 牧谿「蓮に鶺鴒図」

蓮に鶺鴒・葦に翡翠図 – MOA美術館 | MOA MUSEUM OF ART
枯れ枝の上に一羽の孤独な鳥が止まっている。無駄な線や影は一つも描かれておらず、秋の 寂寥 感を表すのには、それだけで十分

このように、キャンバスの余白を目一杯活用し、そこに手を加える要素は必要最小限にとどめられている。東洋は生を自らの外側ではなく内側から捉える。
これは、西洋の厳しい自然への超越性を豪華絢爛さによって表現してきた芸術とは対照的といえます。

争い潰し合うのではなく、周囲に溶け込み共存する

Inkdropはこの禅の精神をもって、Markdownとそれを取り巻く環境、すなわちツールやプラットフォーム群との調和、協働を望みます。
Inkdropで書いたものが外へ出て行き、また戻ってきて、あなたのアイデアや感性が広がり、また研ぎ澄まされていく。このライフサイクルを支援したいのです。

ビジネス的に見れば、独自記法を導入すればユーザを囲い込み(ベンダーロックイン)出来て有利かもしれません。
しかし、独自記法を導入している他のアプリを見れば分かる通り、それは結局複雑であったり、覚えにくかったり、記法の変換に苦労する結果になるのが分かります。僕のような一介の開発者が中途半端に拡張するぐらいなら、互換性を貫き、Markdownエコシステムとの調和を図った方が結果的にアプリのためになるのです。つまり、アプリ作者も、ユーザも、エコシステムも嬉しい。これを日本の近江商人の言葉で「三方良し」と言います。

そのような訳で、Inkdropはこれまでも今後も、Markdownの拡張はしません。誓います。安心して技術ノートを取ってくださいね!

Inkdrop - Note-taking App with Robust Markdown Editor
The Note-Taking App with Robust Markdown Editor

Inkdrop v6 Canaryテストに参加する🙌

Inkdrop Desktop v6.0.0-canary.3
Thank you guys for reporting issues!! I’ve fixed a lot of weird behaviors and improved the new features. New feature: Highlighting support with the <mark> tag Highlighting text is one of the most popular use cases when you have reading notes. As you may know, Inkdrop Web Clipper supports importing Kindle highlights. With this update, Inkdrop works perfectly to emphasize what particularly resonates! To highlight with the <mark> tag, select text: Click the highlight toolbar button:…

Read more

「一汁一菜」にAI時代の生き方が詰まっている

「一汁一菜」にAI時代の生き方が詰まっている

どうも個人アプリ作家のTAKUYAです。 今回は、AI時代を開発者・クリエイター・表現者としてどう健やかに生きるか、について考えていることをシェアしたいと思います。ここでの「健やかに生きる」とは、心身の健康を保ちながら、ものづくりを楽しみ続けるという意味です。 読者の中にも、最近のAIの急速な進化の中でどう生き残り、さらに活躍していくかを悩んでいる方は多いのではないでしょうか。正直、すべてに対する正解はわかりません。未来を正確に予測できる人はいないからです。 でも自分は、ソフトウェア寄りのアーティストとして生きる上で大事なのは、「戦略」や「堀(moat)」を築くことよりも、「生きる方向性」 だと思っています。 人生とは速度ではなく方向である – ゲーテ 自分はどこに行きたいのか?何を見たいのか?それが大事です。戦略は状況に合わせて柔軟に変えればいいからです。 今回は、日本の文化からいくつかの生き方の原則を探ってみたいと思います。 最近、料理研究家の 土井善晴 さんの 「一汁一菜でよいという提案」 を読んで、日々のリズムを健やかに保つためのヒントがたくさん詰まっていると感じまし

By Takuya Matsuyama
Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

💡本記事は英語ブログの日本語訳です。 どうも、TAKUYAです。 AIコーディングでは専らClaude Codeを使っています。最初はtmuxでターミナルの右側にペインを分割して使っていたのですが、幅が狭すぎてメッセージやdiffがまともに表示できず、使いづらかったです。 <Prefix>+zでペインを最大化すればいいのですが、毎回やるのは面倒でした。 そこで、ポップアップウィンドウでClaude Codeを起動するようにしました。キーバインドを押せばセッションが開き、閉じてもバックグラウンドで動き続けるので、すぐに再開できます。 この記事では、それを実現するためのtmuxの設定方法を紹介します。 動画で見る(英語): ポップアップウィンドウはサブプロセスを維持できない tmuxのdisplay-popupコマンドを使うとポップアップウィンドウを表示でき、ちょっとしたツールにすぐアクセスするのに便利です。 僕はlazygitでgitの状態をサッと確認するのに使っています: bind -r g display-popup -d '#{pane_current_path}'

By Takuya Matsuyama
Keychron K2 HEを無刻印化する手順

Keychron K2 HEを無刻印化する手順

どうもTAKUYAです。KeychronさんにK2 HEをお願いしたら音速で送ってくれたので、無刻印化してみました。どうやったのか過程をシェアします。 Unboxing 上はKeychron Q1です。これは3年間ぐらい使ってきました。キーキャップが若干くたびれていますね。でも問題なく今まで使えていました。そろそろ飽きてきたので新しいキーボードを試したいと思い、前から気になっていたK2 HEを試すことにしました(写真下)。 Amazon | 【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、2.4GHz・Bluetooth無線対応、QMKプログラム可能、アルミ+ウッドフレーム、USレイアウト、RGBライト、Mac Windows Linux対応 (ブラック) | Keychron | パソコン用キーボード 通販【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、

By Takuya Matsuyama
ノート駆動AIコーディング術の提案

ノート駆動AIコーディング術の提案

どうもTAKUYAです。みなさんはAIエージェントを普段のコーディングで活用されていますか。ちょっと面白いワークフローを思いついたのでシェアします。それは、ノート駆動のエージェンティック・コーディング・ワークフローです。最近Claude Codeのプランモードを使っていたら、ターミナル内で生成されたプランを読むのが辛かったんです。それで、じゃあMarkdownノートアプリであるInkdropをプランの保存先バックエンドとして使えば解決するんじゃないかと思って、 試してみました。こちらがそのデモです(英語): こちらがClaude Codeの設定ファイル群です: GitHub - inkdropapp/note-driven-agentic-coding-workflow at devas.lifeComplete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon w

By Takuya Matsuyama