Skip to content

Commit 9dda761

Browse files
author
Fabian Morón Zirfas
committed
added ID classes props and methods
1 parent b7dfe93 commit 9dda761

13 files changed

+187
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
.DS_Store
22
*.cache
3+
node_modules
4+
*omv$indesign-10.064$10.0*
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// copy this file to ~/Library/Application Support/Sublime Text 2/Packages/User
2+
{
3+
"cmd": ["osascript", "$packages/Basiljs/run_idscript_5.scpt", "$file"]
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// copy this file to ~/Library/Application Support/Sublime Text 2/Packages/User
2+
{
3+
"cmd": ["osascript", "$packages/Basiljs/run_idscript_5.5.scpt", "$file"]
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// copy this file to ~/Library/Application Support/Sublime Text 2/Packages/User
2+
{
3+
"cmd": ["osascript", "$packages/Basiljs/run_idscript_6.0.scpt", "$file"]
4+
}

Basiljs/run_idscript_5.5.scpt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--usage:
2+
--osascript run.scpt myscript.jsx
3+
4+
on run argv
5+
set aScriptPath to "#include \"" & item 1 of argv & "\""
6+
tell application "Adobe InDesign CS5.5"
7+
do script aScriptPath language javascript
8+
end tell
9+
end run

Basiljs/run_idscript_5.scpt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--usage:
2+
--osascript run.scpt myscript.jsx
3+
4+
on run argv
5+
set aScriptPath to "#include \"" & item 1 of argv & "\""
6+
tell application "Adobe InDesign CS5"
7+
--display dialog aScriptPath
8+
do script aScriptPath language javascript
9+
end tell
10+
end run

Basiljs/run_idscript_6.0.scpt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--usage:
2+
--osascript run.scpt myscript.jsx
3+
4+
on run argv
5+
set aScriptPath to "#include \"" & item 1 of argv & "\""
6+
tell application "Adobe InDesign CS6"
7+
do script aScriptPath language javascript
8+
end tell
9+
end run

ExtendScript.json-tmLanguage

Lines changed: 16 additions & 0 deletions
Large diffs are not rendered by default.

ExtendScript.tmLanguage

Lines changed: 25 additions & 1 deletion
Large diffs are not rendered by default.

bin/xml_to_json/index.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var fs = require('fs'),
2+
xml2js = require('xml2js');
3+
4+
var parser = new xml2js.Parser();
5+
var fn = 'omv$indesign-10.064$10.0';
6+
7+
fs.readFile('src/' + fn + '.xml', function(err, data) {
8+
parser.parseString(data, function(err, result) {
9+
var json = JSON.stringify(result);
10+
fs.writeFile('src/' + fn + '.json', json, 'utf8', function(err) {
11+
if (err){
12+
13+
return console.log(err);
14+
}else{
15+
16+
console.log('Done');
17+
}
18+
19+
});
20+
});
21+
});

bin/xml_to_json/package.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"name": "xml_to_json",
3+
"version": "1.0.0",
4+
"description": "turn the id xml to json object for furter usage",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"author": "",
10+
"license": "ISC",
11+
"dependencies": {
12+
"xml2js": "^0.4.5"
13+
}
14+
}

bin/xml_to_json/readjson.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
Array.prototype.unique = function (){
2+
var r = [];
3+
o:for(var i = 0, n = this.length; i < n; i++){
4+
for(var x = 0, y = r.length; x < y; x++){
5+
if(r[x]==this[i]) continue o;}
6+
r[r.length] = this[i];}
7+
return r;
8+
};
9+
var fs = require('fs');
10+
var fn = 'omv$indesign-10.064$10.0';
11+
var util = require("util");
12+
13+
fs.readFile('src/' + fn + '.json', 'utf8', function(err, data) {
14+
if (err) {
15+
return console.error(err);
16+
} else {
17+
var classes = [];
18+
methods = [];
19+
properties = [];
20+
var json = JSON.parse(data);
21+
// console.log(util.inspect(json.dictionary.package[0].classdef[0], true, 2, true));
22+
var pkg = json.dictionary.package[0];
23+
for (var i = 0; i < pkg.classdef.length; i++) {
24+
var cdef = pkg.classdef[i];
25+
// console.log(cdef.$.name);
26+
classes.push(cdef.$.name);
27+
for (var j = 0; j < cdef.elements.length; j++) {
28+
var ele = cdef.elements[j];
29+
// console.log(util.inspect(ele.method, true, 2, true));
30+
// for(var key in ele.method){
31+
// console.log(key);
32+
// }
33+
// console.log(ele.property[0]);
34+
if (ele.hasOwnProperty('method')) {
35+
// console.log('has method');
36+
for (var l = 0; l < ele.method.length; l++) {
37+
var meth = ele.method[l];
38+
// console.log(meth.$.name);
39+
methods.push(meth.$.name);
40+
}
41+
} else {
42+
// console.log('has not method');
43+
}
44+
for (var k = 0; k < ele.property.length; k++) {
45+
var prop = ele.property[k];
46+
// console.log(prop.$.name);
47+
properties.push(prop.$.name);
48+
}
49+
50+
51+
}
52+
53+
}
54+
55+
var filter = function(elem, pos) {
56+
return this.indexOf(elem) == pos;
57+
};
58+
var uniqueclasses = classes.unique();
59+
var uniquemethods = methods.unique();
60+
var uniqueproperties = properties.unique();
61+
62+
// console.log(uniqueclasses, uniqueproperties, uniquemethods);
63+
fs.writeFile('src/classes.txt',uniqueclasses,'utf8');
64+
fs.writeFile('src/methods.txt',uniquemethods,'utf8');
65+
fs.writeFile('src/properties.txt',uniqueproperties,'utf8');
66+
}
67+
});

bin/xml_to_json/src/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!*.gitignore

0 commit comments

Comments
 (0)