InDesign MY-NOTEBOOK

Sunday, July 4, 2010

ESTKの代わりに自分の好きなエディタ(たとえば vimとか)でjsxコードを書いて実行する

自分の気に入っているエディタでコーディングしたい。ExtendScriptToolKit のエディタが気に入れば問題ありませんが、そうでない場合は、コードを実行するためだけにわざわざ ESTK を使うのは面倒です。

自動組みに取り組む前に書いたコードをすぐ実行できる環境を整える必要があります。


h3. Windows

groovy の Scriptom を使うことで、コマンドプロンプトやCygwinのターミナルから jsx を起動できます。

ind.groovy

//
// groovyのscriptom 経由で jsx を起動.(Windows用)
//

import org.codehaus.groovy.scriptom.*

//
// 引数として渡されたJSファイルのチェック
//
boolean ng=false
if( args.size()<1 ){ ng=true }
else if( new File(args[0]).exists()==false ){ ng=true }

if(ng){
    System.exit(0)
}


//
// ExtendScriptの実行
//
Scriptom.inApartment
{
	def myJS = new File(args[0]).text
	int lang = 1246973031 // javascript 
	def indapp = new ActiveXObject('InDesign.Application.CS4_J')
	indapp.doScript(myJS, lang )
}



コマンドプロンプトからの起動

{console}
$ groovy ind settext.jsx
{console}

関連
GroovyからInDesignを叩く(Windows限定)


h3. Mac OS X

InDesign CS5 (Mac OS X 専用)のExtendScriptをターミナルから実行する...の方法
TextMate な方は github/tmbundle をご覧ください。