印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop

Share
印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop

印刷 / PDF出力 / 構文ハイライトの改善 / RPMパッケージの提供開始 — Inkdrop

原文: https://blog.inkdrop.info/printing-pdf-export-improved-syntax-highlighting-rpm-package-c90e3f966a7f

v3.12.0が昨日リリースされました。いろいろ新機能や改善点が盛りだくさんなので紹介させてください。

新しい実装によるプレビュー画面の構文ハイライト(右側)

たまにユーザさんから、エディタとプレビューの構文ハイライトの動作が違うことについて指摘を受けていました。これは実装方法の違いによるもので、プレビューはhighlight.jsを使用しているのに対して、エディタはCodeMirrorベースで出来ているためです。それによって動作の一貫性が損なわれていました。つい最近にも、アントンがこの事について指摘しました:

この問題は、highlight.jsとCodeMirrorで対応している言語が異なるためでした。例えば、JSXとPugはhighlight.jsではサポートされていません。違和感を覚えるのは当然でした。今まで、これは仕様ですとしか答えようがなかったのですが、ふと「CodeMirrorのシステムをプレビューのレンダリングに利用できないか?」という案を思いつきました。その方法を今まで思いつかなかったのは、Googleで「syntax highlight js」とかで検索しても出てこなかったからです。思考停止ですね。

このアイデアはアタリでした。ただ、いくつかの言語は非対応になりました (詳しくはCodeMirrorの対応言語 と highlight.jsのものをご参照ください)。しかしながら、それらはJSXやPugなどと比べて重要性の低いマイナーなものだったので許容範囲だと判断しました。もし構文ハイライトを追加したい場合は、プラグインを作ることで対応できるでしょう。

このアプローチは今取り組んでいるモバイル版のエディタ実装にも役立つと思っています。アントンを始めこのアイデアに至るきっかけを作ってくれたユーザさんに感謝します。

ちなみにCodeMirrorを使った構文ハイライトのReactモジュールはオープンソースで公開していますのでよろしければ使ってください。ちょっとまじめにenzymeなどを使ってテストも書きました: https://github.com/craftzdog/react-codemirror-runmode

InkdropはMarkdown書式の拡張に対応していて、math や sequence diagrams といったプラグインがあります。これらはMarkdownのレンダリングを拡張するものです。ちなみにHTMLエクスポートの機能も内部ではプラグインとして実装されています。問題は、HTMLでエクスポートするときに今まではこの拡張書式が無視されてしまっていたことです。でもremarkによる考え抜かれたデザインのお陰で、エクスポートによるレンダリング時にも拡張書式を使うことに成功しました。これでシーケンス図などもHTMLでレンダリングされた状態でアウトプットすることが出来ます。

先述の拡張Markdownの問題が解決したことによって、PDF出力とプリントアウトは簡単に実装できるようになりました。なぜならElectronは標準でそのためのAPIを提供していて、やる事はただ出力先を変えることだけだからです。

この機能はこの手のアプリでは標準的なものなので、やっとまともに実装できてとても良かったです。

先日フィリップがRPMパッケージ欲しいと要望を出していました:

InkdropはLinux向けにはUbuntuのみを公式でサポートしています。なぜなら、Electronコミュニティでの他のプラットフォーム向けのビルドプロセスは非公式だからです(理論上は動く)。その他のディストリビューションに対応するにはビルド作業や動作確認がすごく大変なので避けていました。でも、electron-installer-redhatを見つけたのでちょっと試してみることにしました。RPMパッケージを作ってフィリップに試してもらったら、Fedora 26で動いたと報告してくれました。

FedoraでもInkdropが動いたのはとてもうれしいです。今後のバージョンでもrpmパッケージは提供しようと思います。ただ注意点としては、Ubuntu以外のプラットフォームの動作はあくまで保証外ということです。もしインストールで問題が起きた場合は、ご自身で解決していただく必要があることをご留意ください。

Download now: https://www.inkdrop.app/Send feedback: https://forum.inkdrop.info/Contact us: contact@inkdrop.infoTwitter: https://twitter.com/inkdrop_app

Read more

ハッカーと写真家

ハッカーと写真家

どうも、Takuyaです。 エージェント型コーディングは、今やすっかり欠かせないワークフローになりました。 自分のような個人開発者にとっても、ソフトウェア開発の景色と考え方を一変させました。 同時に、この劇的な経済的変化に不安を感じている人も多いと思います。 ほとんどの人にとって、これはプログラマーとして経験してきた中で最大のパラダイムシフトです。 自分もなかなか受け入れられず、悲嘆の五段階の取引(Bargaining)と抑うつ(Depression)の段階を抜けるまでに結構時間がかかりました。 でも Opus 5.5 を見てから、AI は自分でほぼコードを書くのをやめてもいいくらい賢くなったと感じました。今は主に、生成されたコードを Neovim でレビューしています。 AI はこれからも進化し続けるし、自分がコードに触れる機会は着実に減っていくでしょう。 その中で、今後自分たちが何を学ぶべきか、プログラミングに対するメンタルモデルをどう変えていくべきかについて議論したいと思います。それと、この特別な瞬間の自分の考えや気持ちを書き残しておきたいと思ったので、本稿は自分のための「

By Takuya Matsuyama
信念を貫け!1年半の開発と3ヶ月の燃え尽きから学んだAIコーディングの教訓

信念を貫け!1年半の開発と3ヶ月の燃え尽きから学んだAIコーディングの教訓

お断り: 元の記事は英語で書き、壊れた文法はAIで直しました TL;DR * アプリの新バージョン開発に費やした1年半(3ヶ月の燃え尽き期間を含む)で学んだこと * AIは常に人生の二の次であるべき。過去には二度と戻れない * 5年後に振り返ったとき、Fableがどうだったとか完全にどうでもいい * シングルタスクをキープしろ。エージェントの数は関係ない * 頭の中のコンテキストスイッチが次のボトルネック * 理解があるからこそ、次のアイデアが生まれる * 自分を本当に幸せにするものを知れ – 僕は自分が欲しいものを作る * SaaSを10年以上運営するのは、同じ作品を何年も描き続ける漫画家のようだ * 自分の信念を築けるのは、自分だけ Inkdrop v6の開発に1年半費やした どうもTAKUYAです。英語圏でかれこれ10年個人開発をしています。先日投稿した通り、予てから作っていた新バージョンのMarkdownノートアプリをやっとリリースしました。繰り返しになるので、リンクだけ貼っておきます: Inkdrop is an AI-native Markd

By Takuya Matsuyama
Inkdrop v6リリースしました

Inkdrop v6リリースしました

どうもTAKUYAです。日本語でもお知らせします。 Inkdrop v6を正式リリースしました!1.5年がかりの大改修となり、大変お待たせしました。本バージョンでは、新しいMarkdownエディタや、最近のエージェント型コーディングワークフローに最適化された新しいAI連携機能など、根本から作り直した改善が盛りだくさんです。それでいて、気が散らないシンプルでクリーンなUXはそのまま維持しています。 まずはじめに、既存のユーザの皆様に大きな感謝を述べたいと思います。開発期間中に辛抱強く待って下さった事、そしてCanaryテストで多くのフィードバックをくれたことに心から感謝します。皆さんのサポートなしには実現できませんでした。 ウェブサイトもv6に合わせて完全に作り直しました。アプリのUIをそのまま使ってライブデモを構築したので、アプリをDLせずとも新しいエディタを試せるようにしました。ぜひ触ってみてください: Inkdrop is an AI-native Markdown note app for developers — smooth context flow between

By Takuya Matsuyama
個人開発と生活

個人開発と生活

朝、娘をバス停まで送り出す。前にちらっとみかけた田村淳の相槌術が面白そうだったので、ママ友との雑談で早速実践してみたら効果てきめんだった。その方法は単純に、職業病で癖になっている批判的思考を完全オフにし、相槌に全神経を注ぐ、というものだ。「へぇ」「うん」「うーん」「なるほど〜」と、相手の話にどんなバリエーションで返そうかという所に集中する。騙されたと思って試してみて欲しいんだが、このお陰で相手の話がよく理解できて、自然なフォローアップの質問やリアクションが浮かぶようになる。こちらから頑張って面白い話をひねり出す必要が無いので、気が楽になった。話の結論も何もいらなくて、「そうなんですね」「いいですね」「ほんじゃお疲れ様です〜」みたいな感じで締めくくる。反応に困ったらとりあえず「いいですね」まじで便利!男相手の会話でも有効。インタビューにも応用が利きそうだ。 天気が悪くてだるいので、やる気が出るまで部屋でレシートの撮影などの単純作業をして過ごした。レシートを撮ったら事務代行さんに投げる。そのうちAIに代替させたい。レシートは基本カフェばっかりである。 ユーザフォーラムをチェックしたら、

By Takuya Matsuyama