April 20, 2017 | Extras | en
Driven by a mix of vanity and liberalness I decided to make public the building blocks of my InDesign scripting framework, which I called IdExtenso. The alpha release is now available on my GitHub account and will be regularly extended in the coming weeks and months…
IdExtenso is a work-in-progress API dedicated to ExtendScript developers looking for a robust solution in the particular field of InDesign scripting. Think of it as a toolbox based on efficient and growing building blocks.
Do you need a clean JSON formatter that really supports ExtendScript oddities and InDesign DOM objects? Would you like to trace your debug messages in a log file the easy way? And always making sure that the environment (operating system, InDesign version, locale, script engine) is properly addressed? IdExtenso natively provides these features as they are parts of its core structure.
The framework is designed to support ExtendScript from version 3.92 to 4.5 and InDesign from v. 6.0 (CS4) to 12.x (CC 2017) in both Mac OS and Windows platforms. It fixes, improves or extends a number of built-in functionalities. For example,
myString.toSource() can now save 30% of the original result length, and
RegExp.prototype["=="] is now implemented so that you can compare regexes using
What IdExtenso Is Not
By the way, IdExtenso does not pretend to form a library. Rather, it is about articulating a complete workspace! Thus, it doesn't make sense to use it in small projects that don't involve topics like localization, performance, user interface, modularity, compatibility, code-factoring, robustness, settings management, etc.
• As fast and optimized as we can.
• Light-weight and very non-polluting regarding the
• Smart support of persistent engines created via the
• Still works fine in a JSXBIN export of your final project.
• Fixes (at best as possible) compatibility issues between ExtendScript and/or InDesign DOM versions.
• Various—and always growing—additional modules that you can plug at wish through #include. Among the available modules of the
/etc branch are: Yalt (localization engine, new version), Web (HTTP/1.0 getter), Settings (multiscope settings manager), MD5, DateFormat, and more coming soon!
Check out IdExtenso and discover how indiscripts products are designed behind the scene!