マイクロソフトのブロックエディタがどうにか使えればいいんですけどね。そこらへんちょっと分からず。スクラッチ3.0だと拡張機能とかで自前でブロック作ったりはできるんですが、それだとInDesignに持ってこれない。いっそのことInDesignのテキストエリアを上から並べると、そこにかかれているコードが実行されるってのはどうでしょう?そのくらいなら、何かすぐに作れそう。 #dtp
ということで作ってみました。InDesign上でテキストフレーム内にスクリプトを書いておくとページ順で、さらにページの上にあるものから処理していきます。多分、これマスタページとかに書いて処理した方がよさそう。そうすれば通常のスプレッド・ページに対して自由に処理できる。スクリプトの実行順序はドラッグして並べ替えるだけ、という手軽さ(^^)@uske_s #dtp
@uske_s // InDesign Block Editor(function(){ var doc=app.activeDocument; // 1ページ目から実行していく for(var i=0; i<doc.pages.length; i++){ // テキストフレームをY座標順にソートする var data=[]; for(var j=0; j<doc.pages[i].textFrames.length; j++){ var coords=doc.pages[i].textFrames[j].geometricBounds; data[j]=[coords[0]*100000+coords[1], doc.pages[i].textFrames[j]]; } #dtp
@uske_s // 昇順にソート for (var k=0; k<data.length-1; k++){ for (var j=0; j<data.length-k-1; j++){ if (data[j][0] > data[j+1][0]){ n=data[j]; data[j]=data[j+1]; data[j+1]=n; } } } // テキストフレームの内容を読み出してスクリプトを実行 for(var j=0; j<data.length; j++){ eval(data[j][1].contents); } }})(); #dtp
@openspc こっち気づかなくてすみません^^;;micro:bit、調べてみたらGoogle Blocklyなのですね。https://developers.google.com/blockly/
古籏さんの案にUI付けて、できればフレームサイズとかも固定できれば結構フランクなビジュアルプログラミング風なものができそうな気がします #dtp
@uske_s こっち(Mstdn)はマイナーどころなので気にせずに(^^) こっちだと長文書けて便利というのはありますけど。確か昨年の秋頃にバージョンアップしたと思ったので、今なら安心して使えるかなあ、と。obniz,microbitとかを真似れば。microbitはJavaScriptですし。(Pythonも使えますけど、コードエディタのみ)拡張機能とかもサポートできれば、骨格だけ作っておけば後は各自勝手にブロックを作ってくれるかなと。 #dtp
@openspc なるほど、ある程度はユーザーに任せてしまう、という方法もありますね。Blockly、GASが動かせるようなのでもうちょっと調べてみようかな…。子供とも遊んでみたいので、microbitとかちょっと調べてみます〜 #dtp
DTP-Mstdn.jpは、DTP・デザイン・印刷に関わる人々のためのMastodonインスタンスです。特定分野の専門インスタンスですので、日々のつぶやき、耳寄りな情報の共有、ディスカッション、質問とその回答、役立つスクリプトなど、他では投稿しづらい内容も、思う存分トゥートしましょう!
@openspc こっち気づかなくてすみません^^;;
micro:bit、調べてみたらGoogle Blocklyなのですね。
https://developers.google.com/blockly/
古籏さんの案にUI付けて、できればフレームサイズとかも固定できれば結構フランクなビジュアルプログラミング風なものができそうな気がします #dtp