久しぶりに ExtendScript を書く機会があったのですが、 処理させたいことのひとつが InDesignドキュメントにある画像全部を JPEG 保存することでした。 面倒かと思ったのですが、予想外に簡単だったのでコードをメモしておきます。
» Read More電子書籍「Node.js による InDesign ExtendScript モダン開発入門 2024」をリリースしました。
2021年末にリリースした「Node.js による InDesign ExtendScript モダン開発入門」の 内容を2023年12月現在の最新版にアップデートしました。 新しい内容(7章 old-macs プロジェクト, 8章 配布(デプロイメント) )も追加しています。
主な変更点は、ビルドするときに使うツールを webpack + Babel から extendscript-es5-shim + Browserify + Babel へ移行しました。
Browserify + Babel によるビルド方法の概要はこのエントリーをご覧ください。
Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。
» Read MoreUnderscore.js を以前は Node.js + Babel + Webpack を使って 一つの jsx ファイルにまとめて使っていた。 しかし、時が経ち Node.js 自体もバージョンアップされモジュールもバージョンアップ・・・ なんやかんやで今や最新の環境ではうまく作動しないことがわかった。
InDesign も UXP が使えるようになったので、 ExtendScript で ES6 記述ができるとか今さら・・・とも思うのですが、ビジネスにおいては まだ当分の間 ExtendScript が使われていく気がするので、 最新の Node.js 環境で ExtendScript 用に Underscore.js などのモジュールの利用、 そして ES6 スタイルでの const, let, テンプレートリテラル, アロー関数などの構文が記述できる状態にしたい。
ごく簡単なコードでしか検証していませんが、 やり方がわかったので、備忘録としてシェアします。
» Read More先日、Windows11 22H2 のアップデートがきた。待っていた systemd 対応がきたので、早速更新。 せっかくなので、Windows の回復を利用して、フルリセットに近い形で Windows11 22H2 を入れた。 始める前は Windowsの再インストールは気が重かったのだが、やってみたら簡単だった。以前はもっと大変だったという印象がある。まだまだ ChromeOS ほどではないにしても。 Windows11 22H2 をセットアップしたあと、通常手順で wsl --install してインストールしたところ、インストールされた Ubuntu は systemd に対応していなかった。 ちなみにインストールされたのは Ubuntu 20.04.4 LTS。 上記 microsoft devblogs を読み直してみると、Windows Insiders Build でないと systemd 対応版の WSL はインストールされないらしい。 でもさらによく読んでみたら、github のWSL リリースページから 0.67.6 を入手して手動でインストールすればよいらしい。 果たしてやってみると、systemd対応になった。 Wnn8 をインストールしたらすんなり自動起動できるようになった。 Windowsを再起動して WSL を起動したら、自動で Wnn8 が起動している。 とりあえずは、systemd 対応でうれしいのは(自分にとっては)これだけだけど。 以前に書いたこの Wnn8インストールのエントリーの後半で、 なんやかんや Wnn8 の起動設定をしている部分がいっさい不要になった。
» Read More先日、電子書籍「ExtendScript と Node.js による Markdown to InDesign 開発入門」をリリースしました。 Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。
これは、 以前リリースした「Node.js による InDesign ExtendScript モダン開発入門」の続編です。
書籍中のソースコードはこちらの Github レポジトリにあります。
» Read More文字スタイルをスクリプトでつくって適用する方法を調べた。
それを使って Hello, World! を生成して、段落スタイルと文字スタイルを適用するスクリプトを書いたので 備忘録を残します。
» Read MoreTwitter にて この電子書籍のアマゾン Kindle 無料サンプルは文字化けした状態であるとのご指摘がありました。 せっかく無料お試しいただいた方、誠に恐縮です。 現在、原因調査および対処中です。 → 解決しました。2022年 3月 4日 18時現在
» Read More昨年末に電子書籍「Node.js による InDesign ExtendScript モダン開発入門」をリリースしました。 Amazon の Kindle Unlimited の会員の方は無料で読めます。ExtendScript に関心がある方は是非ご覧ください。
内容は、Node.js を活用して ExtendScript 開発すると便利ですよ、という内容。 ExtendScript をある程度書いている人がもつ不満「今どきの JavaScript 記述方法を使って ExtendScript を書ければいいのに・・・」に応えるものです。
書籍中のソースコードはこちらの Github レポジトリにあります。
» Read MoreExtendScript には Socket があるので、http のように SSL でない ウェブリソースにアクセスすることができる。 しかし、SSL 化された https のウェブリソースにはアクセスする方法がない・・・と思っていたのだが、 なんと macOS では curl を経由すれば簡単にできることが判明した。
» Read MoreWindowsの場合も VBScript を経由することで実現できるようです。 詳しくは restix をご覧ください。
ExtendScript で Underscore.js を使う(その1) rollup 編 で rollup + babel + Underscore.js を試したのだが、 rollup を webpack に差し替えての Underscore.js を試したのでその備忘録。
» Read MoreNode.js で ExtendScript する話(パート3) ES6 Javascript 記述を使いたい で node.js を使ってモジュールを解決しつつ、アロー関数や const let などのES6 Javascript 記述を使って書けるようになった。 そこで、次に Underscore.js を利用した ExtendScript をコーディングすることを考えます。
実のところ単に Underscore.js を使うだけならば、ExtendScript 標準の @include ディレクティブを使うことで普通に利用できます。 しかしこの方法では、 (1)Underscore.js のファイルを常に本体のファイルとともに配布する必要があり面倒、 (2)Underscore.js を使う側のアプリケーションコードで、ES3レベルの Javascript しか記述できない、 という2つの問題があります。 Node.js + Rollup.js + Babel を使う方式でこの問題を解決しましょう。
» Read MoreNode.js で モジュールを使って ExtendScript するために
その後、さらに調べてみると、 パート1で不都合があった webpack で、オプションを適切に指定することで、 ExtendScript用のコードにバンドルできることがわかりました。
Node.js ではさまざまなツールの組み合わせが存在していて、自分の目的にあうツールがどれなのか・・・という。 アプリケーションコードを書く前段階での試行錯誤が半端ないですね。
» Read More