Skip to content

Commit becc835

Browse files
author
Fabian Morón Zirfas
committed
feat(update to latest basil): creates files for latest basil additions
1 parent 656c5d7 commit becc835

File tree

6 files changed

+389
-0
lines changed

6 files changed

+389
-0
lines changed

_source/download/changelog.txt

+292
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
+ new
2+
* changed
3+
- removed
4+
5+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
6+
basil.js x.x.x DAY MONTH YEAR
7+
8+
+ basil works without the b. prefix now
9+
+ function draw() works without b.go() now, function loop() replaces b.loop()
10+
+ User settings (units, anchor point etc.) are now saved before and restored after script execution
11+
+ Added mode() to set performance modes (VISIBLE, HIDDEN, SILENT) during script execution
12+
+ Added frameRate() to set frame rate during looping scripts
13+
+ Added transform() function to transform page items independent of the current matrix
14+
and to measure current transforms of page items
15+
+ Added point(), quad() and triangle() to draw the corresponding shapes
16+
+ Added referencePoint() function to set the reference point for transform()
17+
+ Added file() and folder()
18+
gets files and folders or creates them
19+
+ Added files()
20+
gets all files of a folder
21+
+ Added selectFile(), selectFiles() and selectFolder()
22+
opens a selection dialog to select files or folders
23+
+ Added applyParagraphStyle(), applyCharacterStyle(), applyObjectStyle(),
24+
set the style of a text object/page item.
25+
see examples/typography/styles.jsx
26+
+ Added applyMasterPage()
27+
applies a master page to a page
28+
+ Added masterPage()
29+
activates and returns a master page
30+
+ Added arrange()
31+
allows to arrange page items or layers in z-space
32+
+ Added JSON.parse() and JSON.stringify() to replace JSON.decode() and JSON.encode()
33+
parsing and stringifying are much more reliable now and can be controlled via
34+
additional options
35+
+ Added loadJSON() to load an parse JSON files one step
36+
+ Added saveJSON() to stringify data and save it as JSON file in one step
37+
+ Added property()
38+
sets a property of an object to a given value
39+
+ Added graphics() to loop over graphics in a given container
40+
+ Added textStyleRanges() to loop over text style ranges in a given container
41+
+ Added swatch()
42+
returns a color or gradient of a given name
43+
+ Added revert()
44+
reverts the document to a fresh state
45+
+ Added contains()
46+
checks if a string or an array contain specific values
47+
+ Added SCRIPTNAME
48+
holds the name of the current script
49+
+ Added isInteger()
50+
checks if a given variable is an integer
51+
52+
* translate(), rotate() and scale() now behave like they do in Processing and change the current matrix
53+
* basil scripts will by default use the user's default units or the current units of the document,
54+
as well as the transformation reference point set by the user
55+
* text() can be used to place text into shapes or as text paths on graphic lines
56+
* image() now allows to place images into text frames as well
57+
* canvasMode() behaves a lot more reliable now
58+
FACING_PAGES, FACING_MARGINS, FACING_BLEEDS, fixed for 3+ page spreads
59+
BLEED, MARGIN, FACING_MARGINS, FACING_BLEEDS, fixed for single page in facing_pages mode
60+
all modes work now for margins or bleeds of different sizes
61+
resetMatrix() does not reset the canvas mode anymore
62+
* performance constants are called VISIBLE, HIDDEN and SILENT now and are used together with the new mode() function
63+
* rect() now allows additional parameters to add rounded corners
64+
* paragraphStyle(), characterStyle() and objectStyle() are expanded:
65+
They can now get an applied style from a text object/page item and can
66+
make use of an optional object with property name/value pairs to set
67+
the properties of the style.
68+
* inspect() has been completely reworked:
69+
Much faster, especially for complex objects.
70+
Nicer presentation of results (tree style).
71+
Options to show or hide properties, values and/or methods.
72+
Option to show only certain properties.
73+
Lots of minor fixes.
74+
* page(), pageNumber() and removePage() now also accept page name strings as parameters
75+
* pageCount() can now also be used to set the doc's page count
76+
* previousPage() and nextPage() now work as expected
77+
* when drawing closed vertex paths, endShape() instead of beginShape() now takes the
78+
CLOSE constant as argument
79+
* println() and print() can now print multiple parameters to console
80+
* trimWord() now correctly trims all punctuation from word borders
81+
* text() now respects the currently set rectangle mode
82+
* rectMode() now works with RADIUS
83+
* Improved the speed of clear() considerably
84+
* textFont() does no longer stop the script if a font is missing, but gives a console warning instead
85+
* isText() now correctly identifies collections of multiple text objects as text
86+
(Characters, Words, Lines etc.)
87+
* size() now can use existing page size presets as a parameter with an optional
88+
second parameter for page orientation (introducing PORTRAIT and LANDSCAPE)
89+
* duplicate() now duplicates page items reliably in place, even when in FACING canvas modes
90+
* selection() can now be used to set the selection
91+
* label() can now be used to assign a label to a page item
92+
* endsWith() and startsWith() now also work for arrays
93+
* guideX() and guideY() now correctly place guides in facing canvas modes
94+
* guideY() now places a guide spanning the entire spread when in facing canvas modes
95+
* Updated categories and sub-categories of many functions to better align to Processing/p5.js categories
96+
or – in case of non-Processing functions – to better reflect the InDesign categories they belong to
97+
* Changed all include/includepath/targetengine statements from # to //@
98+
This allows linting with eslint of all files
99+
* Linted all the test files
100+
* Changed the location of the basil.js library from `~/Documents/basiljs/bundle/basil.js` to `~/Documents/basiljs/basil.js` in all the example files.
101+
The user is allowed to have his files wherever he wants.
102+
* bounds() now correctly measures bounds in different canvas modes(MARGIN/BLEED etc.)
103+
104+
- b.go() and b.loop() are removed (use function draw() or function loop() instead)
105+
- b.itemX(), b.itemY(), b.itemWidth(), b.itemHeight(), b.itemPosition() and b.itemSize() are removed
106+
and replaced by the new transform() function
107+
- b.transformImage() is removed as it can be replaced by the new transform function()
108+
- JSON.decode() and JSON.encode() are removed and replaced by JSON.parse()
109+
and JSON.stringfy()
110+
- b.storyCount() is removed (use stories(doc()).length instead)
111+
- Array.map() and Array.filter() are removed
112+
- b.Random.nextGaussian() is removed
113+
114+
Special thanks to Hartmut Bohnacker for making the transform functions work in Processing style!
115+
116+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
117+
basil.js 1.1.0 - 11 November 2016
118+
119+
+ Added b.size() to set and get the document size
120+
+ Added b.gradient() to great colourful gradients
121+
+ Added b.gradientMode() to set gradient type b.LINEAR or b.RADIAL
122+
+ Added b.placeholder() to fill a textFrame with random placeholder text
123+
+ Added b.LOREM constant holding a lorem ipsum string
124+
+ Added npm script for better tooling and development
125+
npm run watch
126+
npm run release (insert timestamp + version string in first line of bundle)
127+
npm run bundle (without timestamp + version string)
128+
+ Added .eslintrc file (linting rules) to reflect current coding style
129+
130+
* The basil.js file is bundled from /src to a single file:
131+
It is no longer required to have the basil.js file at a certain path.
132+
Break out with your project folders to any location w/o breaking things!
133+
* Entire source code is linted, wrong line breaks fixed
134+
* Source code reorganised to /src folder
135+
* Readme files updated to acknowledge new contributors
136+
137+
* Bugfix: b.color("colorName") error when using resulting color in b.fill() twice
138+
* Bugfix: b.layer() did not set active layer to given argument
139+
* Bugfix: b.image() error/warning handling if incomplete arguments
140+
* Bugfix: b.isText() did not work for instances of Text
141+
* Bugfix: b.words(), b.lines() etc. were broken
142+
* Bugfix: b.objectStyle(), b.characterStyle() and b.paragraphStyle() were broken
143+
144+
Shout outs to Timo Rychert and Fabian Morón Zirfas!
145+
This release is entirely based on your hard work!
146+
Many thanks for this massive contributions!
147+
148+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
149+
basil.js 1.0.10 -
150+
151+
+ Added package.json definition
152+
* Changed versioning scheme to npm style
153+
154+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
155+
basil.js 1.09 -
156+
157+
+ Added installer scripts for OS X and Windows
158+
* Added some better error reporting for null objects
159+
* Minor bug fixes
160+
161+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
162+
basil.js 1.08 - 11 November 2013
163+
164+
+ Added b.arc() by Ken Frederick, cheers mate!
165+
+ Added b.weekday(), b.timestamp() and b.millisecond()
166+
* Fixed output to progress panel
167+
* Added auto save to MODEHIDDEN
168+
* Added 15s timeout to loadStrings via TCP/IP
169+
* Improved error reporting
170+
* Bugfix to b.addStory()
171+
* Changed default folder for b.download() to data/
172+
173+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
174+
basil.js 1.07-experimental - 22 October 2013
175+
176+
* Fixed buggy b.noise()
177+
* Urgent bug fix to b.color() and others
178+
179+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
180+
basil.js 1.06-experimental - 21 October 2013
181+
182+
* Internal refactorings (split basil.js into many includes)
183+
* Changed to FAST_ENTIRE_SCRIPT execution mode
184+
185+
Please note that this release is still experimental.
186+
187+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
188+
basil.js 1.05 - 9 October 2013
189+
190+
* Bugfix to b.endShape()
191+
* Bugfix to b.loadString() and b.download(),
192+
now supports more than one GET parameter
193+
* changed default anchor to center for transforms with line()
194+
* internal safety improvements
195+
196+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
197+
basil.js 1.04 - 23 September 2013
198+
+ added b.addShape() in order to create multi-component shapes with b.vertex();
199+
200+
+ added b.nameOnPage(), get a pageitem on the active page by name.
201+
see examples/document/nameOnPage.jsx
202+
203+
+ added b.download(). Downloads an URL to a file, currently Mac only.
204+
see examples/output/download.jsx
205+
206+
+ added b.shellExecute(), currently Mac only.
207+
see examples/input/shellExecute.jsx
208+
209+
+ added b.group() and b.ungroup()
210+
+ added b.isURL() validator checker function
211+
+ added string helpers b.endsWith() and b.startsWith()
212+
+ added b.projectPath() to get the folder of the active document
213+
+ added b.saveString() to save a singe string to a file
214+
215+
* Extended loadString() and loadStrings() to handle URLs. Happy GET URL!
216+
see examples/input/loadStringURL.jsx
217+
218+
* all export functions can handle now sub-folders
219+
e.g. exportPNG("swiss/basel/snap.png")
220+
221+
222+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
223+
basil.js 1.03 - 3 July 2013
224+
* added missing support for layer and stroke settings to b.image()
225+
+ added b.savePNG()
226+
227+
228+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
229+
basil.js 1.02 - 3 June 2013
230+
231+
* fixed a bug with b.constrain()
232+
* added constraints for b.color() and b.fill(), where illegal channel
233+
values would previously produce strange results
234+
235+
236+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
237+
basil.js 1.01 - 23 May 2013
238+
239+
+ added b.transform() and b.matrix()
240+
+ added b.remove() for the removal of objects
241+
+ added b.duplicate() for duplicating page items and pages
242+
+ added b.label() and b.selection() as single item alternatives
243+
+ added demos to examples folder
244+
* changed default image fit behaviour to FitOptions.FILL_PROPORTIONALLY
245+
* corrected credits for the processing.js team
246+
* Several JSDOC updates and updated reference on website
247+
248+
249+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
250+
basil.js 1.00 - 28 Feb 2013
251+
252+
First public release!
253+
254+
+ new functions to work conveniently with stories (indesign model of linked
255+
content or many textframes), e.g. b.addToStory(), b.storyCount() ...
256+
see: examples/document/story.jsx
257+
258+
259+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
260+
basil.js 0.22 - 25 Feb 2013
261+
262+
+ new computation modes MODESILENT, MODEHIDDEN, MODEVISIBLE.
263+
HIDDEN is very handy for working with large files, as the document is
264+
processed completely in background, performance is a lot better.
265+
266+
* Changes for b.go().
267+
You can switch between the computation modes via b.go( b.MODESILENT ),
268+
b.go( b.MODEHIDDEN ) and b.go( b.MODEVISIBLE ). If b.go() is called
269+
without a paramter, then the default mode MODESILENT is used.
270+
271+
Special thanks to be:screen GmbH for the new computation modes and
272+
performance optimization!
273+
274+
+ new functions for creating shapes. you can create arbitrary lines,
275+
bezier curves, polygones with beginShape(), endShape() and vertex()
276+
277+
278+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
279+
basil.js 0.21 - 21 Dec 2012
280+
281+
basil.js goes semi public with a private beta release
282+
283+
284+
..- --.- ..- -.... -..-- .-..-. -.-..---.-.-....--.-- -....-.... -..-- .-
285+
basil.js pre 0.21 - May to Dec 2012
286+
287+
basil.js is developed over the Summer by Ted Davis, Benedikt Groß,
288+
Stefan Landsbek and Ludwig Zeller.
289+
290+
Special thanks to Stefan Landsbek for the inital code architecture!
291+
292+

_source/reference/data/JSON.parse.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
layout: entry
3+
title: JSON.parse
4+
codetitle: 'JSON.parse(text, [reviver])'
5+
description: 'Function parses (decodes) and validates a string as JSON object.'
6+
category: Data
7+
subcategory: JSON
8+
returns:
9+
name: null
10+
description: 'The resulting JSON object.'
11+
type: [Object]
12+
parameters:
13+
- {name: text, description: 'String to be parsed as JSON object.', optional: false, type: [String]}
14+
- {name: reviver, description: 'The optional reviver parameter is a function that can filter and transform the results. It receives each of the keys and values, and its return value is used instead of the original value. If it returns what it received, then the structure is not modified. If it returns undefined then the member is deleted.', optional: true, type: [Function]}
15+
kind: function
16+
todo: null
17+
examples:
18+
- {description: null, code: 'var obj = JSON.parse(str);'}
19+
20+
---
+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
layout: entry
3+
title: JSON.stringify
4+
codetitle: 'JSON.stringify(value, [replacer], [space])'
5+
description: 'Function converts a JavaScript object or an array to a JSON string.'
6+
category: Data
7+
subcategory: JSON
8+
returns:
9+
name: null
10+
description: 'The resulting JSON string'
11+
type: [String]
12+
parameters:
13+
- {name: value, description: 'Any JavaScript value, usually an object or array', optional: false, type: [Object, Array]}
14+
- {name: replacer, description: 'Optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings.', optional: true, type: [null]}
15+
- {name: space, description: 'Optional parameter that specifies the indentation of nested structures. If it is omitted, the text will be packed without extra whitespace. If it is a number, it will specify the number of spaces to indent at each level. If it is a string (such as `\t`), it contains the characters used to indent at each level.', optional: true, type: [null]}
16+
kind: function
17+
todo: null
18+
examples:
19+
- {description: null, code: 'var str = JSON.stringify(obj);'}
20+
21+
---

_source/reference/data/contains.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
layout: entry
3+
title: contains
4+
codetitle: 'contains(searchContainer, valueToFind)'
5+
description: 'Checks wether a string contains a specific string or if an array contains a specific element.'
6+
category: Data
7+
subcategory: 'String Functions'
8+
returns:
9+
name: null
10+
description: 'Returns either true or false'
11+
type: [Boolean]
12+
parameters:
13+
- {name: searchContainer, description: 'A string or an array to be checked', optional: false, type: [String]}
14+
- {name: valueToFind, description: 'The value to search for', optional: false, type: [String]}
15+
kind: function
16+
todo: null
17+
examples: []
18+
19+
---

_source/reference/input/loadJSON.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
layout: entry
3+
title: loadJSON
4+
codetitle: loadJSON(file)
5+
description: 'Reads the contents of a JSON file and returns an object with the data. If the file is specified by name as string, the path can point either directly at a file in the document''s data directory or be specified as an absolute path.'
6+
category: Input
7+
subcategory: Files
8+
returns:
9+
name: null
10+
description: 'The resulting data object.'
11+
type: [Object]
12+
parameters:
13+
- {name: file, description: 'The JSON file name in the document''s data directory, an absolute path to a JSON file, a File instance or an URL.', optional: false, type: [String, File]}
14+
kind: function
15+
todo: null
16+
examples: []
17+
18+
---

_source/reference/output/saveJSON.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
layout: entry
3+
title: saveJSON
4+
codetitle: 'saveJSON(file, data)'
5+
description: 'Encodes an object to a JSON string and saves it to a JSON file. If the given file exists it gets overridden.'
6+
category: Output
7+
subcategory: Files
8+
returns:
9+
name: null
10+
description: 'The JSON file the data was written to.'
11+
type: [File]
12+
parameters:
13+
- {name: file, description: 'The file name or a File instance.', optional: false, type: [String, File]}
14+
- {name: data, description: 'The object to encode and save in the file.', optional: false, type: [Object]}
15+
kind: function
16+
todo: null
17+
examples: []
18+
19+
---

0 commit comments

Comments
 (0)