feat(markdown): New docs for various things
This commit is contained in:
parent
9fe93e03ce
commit
6b147d81a0
93 changed files with 1274 additions and 589 deletions
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
title: Store.generateMacroIds()
|
||||
---
|
||||
|
||||
FIXME: Write docs
|
||||
|
||||
## Signature
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Store.getMacroIds()
|
||||
---
|
||||
|
||||
FIXME: Write docs
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
title: Store.log
|
||||
---
|
||||
|
||||
A **Store** is initialized with a `log` property that holds methods for logging.
|
||||
|
||||
Specifically, the `Store.log` property holds the following methods:
|
||||
|
||||
<ReadMore list />
|
||||
|
||||
## Notes
|
||||
|
||||
You can override the default logging methods in the store with a plugin.
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
title: Store.pack()
|
||||
---
|
||||
|
||||
A **Store** is initialized with a `log` property that holds methods for logging.
|
||||
|
||||
Specifically, the `Store.log` property holds the following methods:
|
||||
|
||||
- `Store.log.debug()`: Logs at the debug level
|
||||
- `Store.log.info()`: Logs at the info level
|
||||
- `Store.log.warning()`: Logs at the warning level
|
||||
- `Store.log.error()`: Logs at the error level
|
||||
|
||||
<Note>
|
||||
If errors are logged, FreeSewing will not try to layout the pattern.
|
||||
</Note>
|
||||
|
||||
## Signature
|
||||
|
||||
This signature is for the `info` level, but applies to all methods/levels:
|
||||
|
||||
```js
|
||||
undefined Store.log.info(...data)
|
||||
```
|
||||
|
||||
All logging methods are _variadic_, they will add logs to the array at `store.logs`.
|
||||
|
||||
So logging with `Store.log.info()` will add the logs to the array at `Store.logs.info`.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
({ log, part }) => {
|
||||
log.info('Hey, I am logging')
|
||||
log.debug(
|
||||
'I am logging too',
|
||||
`But you don't see me make a big deal out if it`
|
||||
)
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
You can override the default logging methods in the store with a plugin.
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Store.removeMacroNodes()
|
||||
---
|
||||
|
||||
FIXME: Write docs
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: Store.storeMacroIds()
|
||||
---
|
||||
|
||||
FIXME: Write docs
|
|
@ -3,18 +3,22 @@ title: banner
|
|||
---
|
||||
|
||||
The `banner` macro allows you to add repeating text along a path.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('banner', {
|
||||
String id='banner',
|
||||
String className='',
|
||||
Number dy=1,
|
||||
Number repeat=10,
|
||||
Number spaces=12,
|
||||
Path path,
|
||||
String text,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -48,13 +52,18 @@ macro('banner', {
|
|||
|-------------:|------------|------------|-------------|
|
||||
| `className` | `` | `string` | Any additional CSS classes to apply to the text |
|
||||
| `dy` | `1` | `number` | Controls how far the text will be located above the path |
|
||||
| `id` | `banner` | `string` | The id of this macro instance |
|
||||
| `path` | | `Path` | The Path to add the text on |
|
||||
| `repeat` | `10` | `number` | The number of repetitions |
|
||||
| `spaces` | `12` | `number` | The number of spaces to place between repetitions |
|
||||
| `text` | | `string` | The text to place repeat along the path |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
Under the hood, this macro will:
|
||||
|
||||
- Add `data-text`, `data-text-dy`, and `data-text-class` Attributes to the path to generate the text.
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
---
|
||||
title: bannerbox
|
||||
title: bannerBox
|
||||
---
|
||||
|
||||
The `bannerbox` macro allows you to add a box with repeating text on it.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('bannerbox', {
|
||||
String id='bannerbox',
|
||||
String textClassName='text-xs fill-note',
|
||||
String boxClassName='stroke-xs stroke-note lashed',
|
||||
Point topLeft=new Point(0,0),
|
||||
|
@ -18,6 +21,7 @@ macro('bannerbox', {
|
|||
Number dy=4,
|
||||
Number repeat=99,
|
||||
Number spaces=12,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -28,7 +32,9 @@ macro('bannerbox', {
|
|||
({ Point, points, Path, paths, macro, part }) => {
|
||||
|
||||
macro('bannerbox', {
|
||||
title: 'a bannerbox example',
|
||||
text: 'a bannerbox example',
|
||||
topLeft: new Point(0,0),
|
||||
bottomRight: new Point(80, 30)
|
||||
})
|
||||
|
||||
return part
|
||||
|
@ -40,15 +46,17 @@ macro('bannerbox', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|----------------:|--------------------------------|----------|-------------|
|
||||
| `textClassName` | `text-xs fill-note` | `string` | CSS classes to apply to the text |
|
||||
| `boxClassName` | `stroke-xs stroke-note lashed` | `string` | CSS classes to apply to the box path |
|
||||
| `topLeft` | `new Point(0,0)` | `Point` | Top top-left corner of the box |
|
||||
| `bottomRight` | `new Point(100,100)` | `Point` | Top top-left corner of the box |
|
||||
| `text` | `` | `string` | The text to place repeat along the box path |
|
||||
| `margin` | `15` | `number` | Controls the margin the box will apply |
|
||||
| `boxClassName` | `stroke-xs stroke-note lashed` | `string` | CSS classes to apply to the box path |
|
||||
| `dy` | `4` | `number` | Controls how far the text will be located above the path |
|
||||
| `id` | `bannerbox` | `string` | The ID of this macro instance |
|
||||
| `margin` | `15` | `number` | Controls the margin the box will apply |
|
||||
| `repeat` | `99` | `number` | The number of text repetitions. See [banner macro][banner] |
|
||||
| `spaces` | `12` | `number` | The number of spaces to place between repetitions. See [banner macro][banner] |
|
||||
| `text` | `` | `string` | The text to place repeat along the box path |
|
||||
| `textClassName` | `text-xs fill-note` | `string` | CSS classes to apply to the text |
|
||||
| `topLeft` | `new Point(0,0)` | `Point` | Top top-left corner of the box |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
|
@ -68,4 +76,6 @@ needed might be a best practice to ensure that text completely surrounds
|
|||
the bannerbox, even if the pattern is scaled down, allowing more text to
|
||||
fit around the box.
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
[banner]: /reference/macros/banner
|
||||
|
|
|
@ -4,12 +4,15 @@ title: bartack
|
|||
|
||||
The `bartack` macro allows you to add a _bartack_ marker to your sewing
|
||||
pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('banner', {
|
||||
String id='bartack',
|
||||
Point anchor,
|
||||
Number angle=0,
|
||||
Number density=3,
|
||||
|
@ -17,6 +20,7 @@ macro('banner', {
|
|||
String prefix='',
|
||||
String suffix='',
|
||||
Number width=3,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -43,13 +47,14 @@ macro('banner', {
|
|||
| `anchor` | | `Point` | The point to start the bartack from |
|
||||
| `angle` | `0` | `number` | The angle under which to draw the bartack |
|
||||
| `density` | `3` | `number` | Controls how close the stitches are together |
|
||||
| `id` | `bartack` | `string` | The ID of this macro instance |
|
||||
| `length` | `15` | `number` | Length of the bartack |
|
||||
| `prefix` | | `string` | A prefix to apply to the name of the generated path |
|
||||
| `suffix` | | `string` | A suffix to apply to the name of the generated path |
|
||||
| `width` | `3` | `number` | Width of the bartack |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Result
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${prefix}bartack${suffix}` | Path generated for the bartack marker |
|
||||
|
|
|
@ -4,12 +4,15 @@ title: bartackAlong
|
|||
|
||||
The `bartackAlong` macro allows you to add a _bartack_ marker to your sewing pattern.
|
||||
More specifically, a bartack along a path.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('banner', {
|
||||
macro('bartackAlong', {
|
||||
String id='bartack'
|
||||
Number angle=0,
|
||||
Number density=3,
|
||||
Number length=15,
|
||||
|
@ -17,6 +20,7 @@ macro('banner', {
|
|||
String prefix='',
|
||||
String suffix='',
|
||||
Number width=3,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -47,14 +51,16 @@ macro('banner', {
|
|||
|-------------:|------------|------------|-------------|
|
||||
| `angle` | `0` | `number` | The angle under which to draw the bartack |
|
||||
| `density` | `3` | `number` | Controls how close the stitches are together |
|
||||
| `id` | `bartackalong` | `string` | The ID of this macro instance |
|
||||
| `length` | `15` | `number` | Length of the bartack |
|
||||
| `path` | | `Path` | The path the bartack should follow |
|
||||
| `prefix` | | `string` | A prefix to apply to the name of the generated path |
|
||||
| `suffix` | | `string` | A suffix to apply to the name of the generated path |
|
||||
| `width` | `3` | `number` | Width of the bartack |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${prefix}bartack${suffix}` | Path generated for the bartack marker |
|
||||
|
|
|
@ -4,12 +4,15 @@ title: bartackFractionAlong
|
|||
|
||||
The `bartackFractionAlong` macro allows you to add a _bartack_ marker to your
|
||||
sewing pattern. More specifically, a bartack along a fraction of a path.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('banner', {
|
||||
macro('bartackFractionAlong', {
|
||||
String id="bartack",
|
||||
Number angle=0,
|
||||
Number density=3,
|
||||
Number end=1,
|
||||
|
@ -19,6 +22,7 @@ macro('banner', {
|
|||
Number start=0,
|
||||
String suffix='',
|
||||
Number width=3,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -58,9 +62,8 @@ macro('banner', {
|
|||
| `start` | `0` | `number` | At which fraction of the path length (from `0` to `1`) should the bartack start |
|
||||
| `suffix` | | `string` | A suffix to apply to the name of the generated path |
|
||||
| `width` | `3` | `number` | Width of the bartack |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Result
|
||||
## Notes
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${prefix}bartack${suffix}` | Path generated for the bartack marker |
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: crossbox
|
||||
title: crossBox
|
||||
---
|
||||
|
||||
The `crossbox` macro is used to mark a feature on a sewing pattern
|
||||
|
@ -7,15 +7,18 @@ to attach and reinforce an attachment between two pieces.
|
|||
This is regularly done by sewing along the outside of the pieces
|
||||
that needs to be joined, and then sewing along the diagonals too.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('crossbox', {
|
||||
Point from,
|
||||
Point to,
|
||||
String id='crossbox',
|
||||
Point topLeft,
|
||||
Point bottomRight,
|
||||
String text,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -24,25 +27,13 @@ macro('crossbox', {
|
|||
<Example caption="An example of the crossbox macro">
|
||||
```js
|
||||
({ Point, points, Path, paths, macro, part }) => {
|
||||
points.partTL = new Point(0,0)
|
||||
points.partTR = new Point(0,70)
|
||||
points.partBR = new Point(50,70)
|
||||
points.partBL = new Point(50,0)
|
||||
|
||||
paths.part = new Path()
|
||||
.move(points.partTL)
|
||||
.line(points.partTR)
|
||||
.line(points.partBR)
|
||||
.line(points.partBL)
|
||||
.close()
|
||||
|
||||
points.tl = new Point(5,5)
|
||||
points.br = new Point(45,25)
|
||||
|
||||
macro('crossbox', {
|
||||
from: points.tl,
|
||||
to: points.br,
|
||||
text: 'attach here',
|
||||
topLeft: new Point(5, 5),
|
||||
bottomRight: new Point(45, 25),
|
||||
text: 'Attach here',
|
||||
})
|
||||
|
||||
return part
|
||||
|
@ -54,22 +45,13 @@ macro('crossbox', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|----------------:|----------|---------------------|-------------|
|
||||
| `from` | | [Point](/reference/api/point) | The top left point of the crossbox |
|
||||
| `to` | | [Point](/reference/api/point) | The bottom right point of the crossbox |
|
||||
| `bottomRight` | | [Point](/reference/api/point) | The bottom right point of the crossbox |
|
||||
| `topLeft` | | [Point](/reference/api/point) | The top left point of the crossbox |
|
||||
| `id` | `crossbox` | `string` | The ID of this macro instance |
|
||||
| `text` | | String | Optional text to go in the center of the crossbox |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Result
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `points.${id}_boxTopLeft` | Point Top Left of the outer box |
|
||||
| `points.${id}_boxTopRight` | Point Top Right of the outer box |
|
||||
| `points.${id}_boxBottomLeft` | Point Bottom Left of the outer box |
|
||||
| `points.${id}_boxBottomRight` | Point Bottom Right of the outer box |
|
||||
| `points.${id}_topCrossTL` | Point Top Left of the inner box |
|
||||
| `points.${id}_topCrossTR` | Point Top Right of the inner box |
|
||||
| `points.${id}_topCrossBL` | Point Bottom Left of the inner box |
|
||||
| `points.${id}_topCrossBR` | Point Bottom Right of the inner box |
|
||||
| `points.${id}_textAnchor` | Point for the text |
|
||||
| `paths.${id}crossBox` | Path for the outer box |
|
||||
| `paths.${id}_topCross` | Path for the inner box and cross |
|
||||
|
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
title: cutonfold
|
||||
title: cutOnFold
|
||||
---
|
||||
|
||||
The `cutonfold` macro adds a _cut on fold_ indicator to your pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('cutonfold', {
|
||||
String id="cutonfold",
|
||||
Point from,
|
||||
Boolean grainline=false,
|
||||
Number margin=5,
|
||||
Number offset=15,
|
||||
String prefix='',
|
||||
Point to,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -45,47 +49,20 @@ macro('cutonfold', {
|
|||
| Property | Default | Type | Description |
|
||||
|------------:|---------|---------------------|-------------|
|
||||
| `from` | | [Point](/reference/api/point) | The startpoint of the _cut on fold_ indicator |
|
||||
| `id` | `cutonfold` | `string` | The ID of this macro instance |
|
||||
| `to` | | [Point](/reference/api/point) | The endpoint of the _cut on fold_ indicator |
|
||||
| `margin` | 5 | [Point](/reference/api/point) | The distance in % to keep from the start/end edge |
|
||||
| `offset` | 15 | Number | The distance in mm to offset from the line from start to end |
|
||||
| `prefix` | 'cutonfold' | String | A prefix to apply to the names of the generated path and points |
|
||||
| `grainline` | `false` | Boolean | Whether this cutonfold indicator is also the grainline |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|------|-------------|
|
||||
| `paths.${prefix}Cutonfold` | The Path for the _cut on fold_ indicator |
|
||||
| `points.${prefix}From` | Point used to create the path |
|
||||
| `points.${prefix}Via1` | Point used to create the path |
|
||||
| `points.${prefix}Via2` | Point used to create the path |
|
||||
| `points.${prefix}To}` | Point used to create the path |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
### Place outside `complete`
|
||||
|
||||
The `cutonfold` macro should be placed outside of `complete` blocks
|
||||
in the part's draft method.
|
||||
|
||||
This is because it provides information about the part's foldline and
|
||||
possible grainline,
|
||||
information that is always needed by the cutting layout regardless of
|
||||
whether `complete` details and graphics are shown on the pattern.
|
||||
|
||||
The `cutonfold` macro will automatically show or hide the cut on fold
|
||||
indicator based on the `complete` setting.
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
### It's safe to use a corner of your pattern part for this
|
||||
|
||||
Since this is typically used on corners, the generated cut-on-fold indicator
|
||||
will not go all the way to the `to` and `from` points.
|
||||
|
||||
### Removing the cut on fold indicator
|
||||
|
||||
If you inherit a part with a cut on fold indicator and you'd like to remove it,
|
||||
you can do so by passing `false` to the macro:
|
||||
|
||||
```js
|
||||
macro('cutonfold', false)
|
||||
```
|
||||
|
|
|
@ -49,10 +49,12 @@ Now you can use these macros in your part:
|
|||
|
||||
## Macros we maintain
|
||||
|
||||
Below is a list of macros from [the plugins we maintain](/reference/plugins):
|
||||
Below is a list of macros from [the plugins we maintain](/reference/plugins).
|
||||
|
||||
<Note compact noP>
|
||||
|
||||
We use camelCase here, but macro names are case-insensitive
|
||||
</Note>
|
||||
|
||||
<ReadMore list />
|
||||
|
||||
## Notes
|
||||
|
||||
We recommend allowing to *undo* a macro by passing `false` as its parameter.
|
||||
|
|
|
@ -3,8 +3,17 @@ title: flip
|
|||
---
|
||||
|
||||
The `flip` macro flips (mirrors) an entire part vertically around either the
|
||||
X-axis or the Y-axis. It is provided by the [flip
|
||||
plugin](/reference/plugins/flip).
|
||||
X-axis or the Y-axis.
|
||||
|
||||
It is provided by the [flip plugin](/reference/plugins/flip).
|
||||
|
||||
<Note>
|
||||
##### Not a core-plugins macro
|
||||
|
||||
The `flip` macro is not provided by the [core-plugins](/reference/plugins/core),
|
||||
so you need to load the [flip plugin](/reference/plugins/flip) explicitly
|
||||
if you want to use it.
|
||||
</Note>
|
||||
|
||||
## Signature
|
||||
|
||||
|
|
|
@ -3,7 +3,14 @@ title: gore
|
|||
---
|
||||
|
||||
The `gore` macro facilitates the drafting of [gores][1] to create spherical or other roundish objects. They are are typically used in hats.
|
||||
It is provided by the [gore plugin](/reference/plugins/grainline/).
|
||||
|
||||
<Note>
|
||||
##### Not a core-plugins macro
|
||||
|
||||
The `gore` macro is not provided by the [core plugins](/reference/plugins/core),
|
||||
so you need to load the [gore plugin](/reference/plugins/gore) explicitly
|
||||
if you want to use it.
|
||||
</Note>
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -51,17 +58,6 @@ macro('gore', {
|
|||
| `class` | | boolean | Any classes to add to the generated path |
|
||||
| `prefix` | | string | A prefix to apply to the names of the generated path and points |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|------|-------------|
|
||||
| `paths.${prefix}seam` | The Path for the gore |
|
||||
| `points.${prefix}p1` | Point for the gore tip |
|
||||
| `points.${prefix}p2` | Point between the tip and side corner |
|
||||
| `points.${prefix}p3` | Point for the gore side corner |
|
||||
| `points.${prefix}Cp1` | Control Point used to create the curved path |
|
||||
| `points.${prefix}Cp2` | Control Point used to create the curved path |
|
||||
|
||||
[1]: https://en.wikipedia.org/wiki/Gore_\(segment\)
|
||||
|
||||
[2]: /reference/api/point
|
||||
|
|
|
@ -3,7 +3,9 @@ title: grainline
|
|||
---
|
||||
|
||||
The `grainline` macro adds a _grainline_ indicator to your pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -12,6 +14,7 @@ macro('grainline', {
|
|||
Point from,
|
||||
Point to,
|
||||
String text=grainline,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -43,36 +46,11 @@ macro('grainline', {
|
|||
| `from` | | [Point][1] | The startpoint of the _grainline_ indicator |
|
||||
| `to` | | [Point][1] | The endpoint of the _grainline_ indicator |
|
||||
| `text` | 'grainline' | string | The text to put on the _grainline_ indicator |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.grainline` | The Path for the _grainline_ indicator |
|
||||
| `points.grainlineFrom` | Point used to create the path |
|
||||
| `points.grainlineTo` | Point used to create the path |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
[1]: /reference/api/point
|
||||
|
||||
## Notes
|
||||
|
||||
### Place outside `complete`
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
The `grainline` macro should be placed outside of `complete` blocks
|
||||
in the part's draft method.
|
||||
|
||||
This is because it provides information about the part's grainline,
|
||||
information that is always needed by the cutting layout regardless of
|
||||
whether `complete` details and graphics are shown on the pattern.
|
||||
|
||||
The `grainline` macro will automatically show or hide the grainline
|
||||
indicator based on the `complete` setting.
|
||||
|
||||
### Removing the grainline indicator
|
||||
|
||||
If you inherit a part with a grainline indicator and you'd like to remove it,
|
||||
you can do so by passing `false` to the macro:
|
||||
|
||||
```js
|
||||
macro('grainline', false)
|
||||
```
|
||||
|
|
|
@ -3,19 +3,22 @@ title: hd
|
|||
---
|
||||
|
||||
The `hd` macro adds a _horizontal dimension_ to your pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('hd', {
|
||||
String id,
|
||||
String id = 'hd',
|
||||
Point from,
|
||||
Boolean noEndMarker,
|
||||
Boolean noStartMarker,
|
||||
String text,
|
||||
Point to,
|
||||
Number y,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -29,6 +32,7 @@ macro('hd', {
|
|||
from: new Point(0,0),
|
||||
to: new Point(100,0),
|
||||
y: 15,
|
||||
force: 1,
|
||||
})
|
||||
|
||||
return part
|
||||
|
@ -43,23 +47,13 @@ macro('hd', {
|
|||
| `from` | | [Point](/reference/api/point) | The startpoint of the dimension |
|
||||
| `to` | | [Point](/reference/api/point) | The endpoint of the dimension |
|
||||
| `y` | | Number | The Y-value at which to draw the dimension |
|
||||
| `id` | auto-assigned | String | A custom ID under which paths and points will be created |
|
||||
| `id` | `hd` | `string` | The ID of this macro instance |
|
||||
| `text` | Horizontal distance | Number | The text to go on the dimension if not the from-to horizontal distance |
|
||||
| `noStartMarker` | `false` | Boolean | Whether to not draw a start marker |
|
||||
| `noEndMarker` | `false` | Boolean | Whether to not draw an end marker |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${id}` | Path for the span of the dimension |
|
||||
| `paths.${id}_ls` | Path for the leader to the start of the dimension |
|
||||
| `paths.${id}_le` | Path for the leader to the end of the dimension |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `paperless` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
Setting a custom ID will:
|
||||
|
||||
- Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd)
|
||||
- Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/)
|
||||
This macro takes the `paperless` setting into account and won't output anything when both `paperless` and `force` are `false`.
|
||||
|
||||
|
|
|
@ -3,19 +3,22 @@ title: ld
|
|||
---
|
||||
|
||||
The `ld` macro adds a _linear dimension_ to your pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('ld', {
|
||||
Number d,
|
||||
String id,
|
||||
String id = 'ld',
|
||||
Point from,
|
||||
Boolean noEndMarker,
|
||||
Boolean noStartMarker,
|
||||
String text,
|
||||
Point to,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -29,6 +32,7 @@ macro('ld', {
|
|||
from: new Point(0,0),
|
||||
to: new Point(100,20),
|
||||
d:15,
|
||||
force: true,
|
||||
})
|
||||
|
||||
return part
|
||||
|
@ -43,22 +47,12 @@ macro('ld', {
|
|||
| `from` | | [Point](/reference/api/point) | The startpoint of the dimension |
|
||||
| `to` | | [Point](/reference/api/point) | The endpoint of the dimension |
|
||||
| `d` | 0 | Number | The offset at which to draw the dimension |
|
||||
| `id` | auto-assigned | String | A custom ID under which paths and points will be created |
|
||||
| `id` | `ld` | `string` | The ID of this macro instance |
|
||||
| `text` | Linear distance | Number | The text to go on the dimension if not the from-to linear distance |
|
||||
| `noStartMarker` | `false` | Boolean | Whether to not draw a start marker |
|
||||
| `noEndMarker` | `false` | Boolean | Whether to not draw an end marker |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${id}` | Path for the span of the dimension |
|
||||
| `paths.${id}_ls` | Path for the leader to the start of the dimension |
|
||||
| `paths.${id}_le` | Path for the leader to the end of the dimension |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `paperless` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
Setting a custom ID will:
|
||||
|
||||
- Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd)
|
||||
- Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/)
|
||||
This macro takes the `paperless` setting into account and won't output anything when both `paperless` and `force` are `false`.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: miniscale
|
||||
title: miniScale
|
||||
---
|
||||
|
||||
The `miniscale` macro adds a mini _scale box_ to your pattern. This box allows
|
||||
|
@ -7,9 +7,10 @@ users to verify their pattern is printed to scale.
|
|||
The white inside of the box provides a metric scale, and the black outside
|
||||
of the box provides an imperial scale.
|
||||
|
||||
The `miniscale` macro is provided by the [annotations
|
||||
plugin](/reference/plugins/annotations).
|
||||
It is the mini version of [the scalebox macro](/reference/macros/scalebox/).
|
||||
A miniscale is the mini version of [the scalebox macro](/reference/macros/scalebox/).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -17,6 +18,7 @@ It is the mini version of [the scalebox macro](/reference/macros/scalebox/).
|
|||
macro('miniscale', {
|
||||
Point at,
|
||||
Number rotate,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -41,23 +43,8 @@ macro('miniscale', {
|
|||
|------------:|---------|---------------------|-------------|
|
||||
| `at` | | [Point](/reference/api/point) | The point to anchor the _scale box_ on |
|
||||
| `rotate` | 0 | Number | Rotation in degrees |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.__miniscaleImperial` | Path of the imperial, outer box |
|
||||
| `paths.__miniscaleMetric` | Path of the metric, inner box |
|
||||
| `points.__miniscaleImperial` | Point anchoring the imperial text |
|
||||
| `points.__miniscaleMetric` | Point anchoring the metric text |
|
||||
| `points.__miniscale[Metric/Imperial][Top/Bottom][Left/Right]` | Points for the corners of the boxes |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
If you inherit a part with a miniscale on it and you'd like to remove all
|
||||
points and paths generated by the miniscale macro, you can do so by passing
|
||||
`false` to the macro:
|
||||
|
||||
```js
|
||||
macro('miniscale', false)
|
||||
```
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
title: mirror
|
||||
---
|
||||
|
||||
The `mirror` macro allows you to mirror points and/or paths around a mirror
|
||||
line. It is provided by the [mirror plugin](/reference/plugins/mirror/).
|
||||
The `mirror` macro allows you to mirror points and/or paths around a mirror line.
|
||||
|
||||
It is provided by the [mirror plugin](/reference/plugins/mirror/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -61,12 +63,3 @@ macro('mirror', {
|
|||
| `prefix` | `mirrored` | `string` | A prefix to apply to the names of the clones points and or paths. Ignored if `nameFormat` is set |
|
||||
| `nameFormat` | | `function` | A method that receives the name of the path or point as a first argument and one of `path` or `point` as the second argument and should return the name for the cloned path and or point |
|
||||
|
||||
## Result
|
||||
|
||||
If `nameFormat` is set, its method determines the names of cloned, mirrored Points and Paths.
|
||||
If it is not set, the names are as below.
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${prefix}${Pathname}` | The cloned, mirrored Path(s) (with the first letter of pathname capitalized) |
|
||||
| `points.${prefix}${Pointname}` | The cloned, mirrored Point(s) (with the first letter of pointname capitalized) |
|
||||
|
|
|
@ -4,7 +4,9 @@ title: pd
|
|||
|
||||
The `pd` macro adds a _path dimension_ to your pattern, indicating the length
|
||||
of a path.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -16,6 +18,7 @@ macro('pd', {
|
|||
Boolean noEndMarker,
|
||||
Boolean noStartMarker,
|
||||
String text,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -32,6 +35,7 @@ macro('pd', {
|
|||
macro('pd', {
|
||||
path: paths.example,
|
||||
d: 15,
|
||||
force: true,
|
||||
})
|
||||
|
||||
return part
|
||||
|
@ -46,21 +50,12 @@ macro('pd', {
|
|||
| `path` | | [Path](/reference/api/path) | The path to draw the dimension along |
|
||||
| `d` | 10 | Number | The offset at which to draw the dimension |
|
||||
| `text` | Path length | Number | The text to go on the dimension if not the length of the path |
|
||||
| `id` | auto-assigned | String | A custom ID under which paths and points will be created |
|
||||
| `id` | `pd` | `string` | The ID of this macro instance |
|
||||
| `noStartMarker` | `false` | Boolean | Whether to not draw a start marker |
|
||||
| `noEndMarker` | `false` | Boolean | Whether to not draw an end marker |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${id}` | Path for the span of the dimension |
|
||||
| `paths.${id}_ls` | Path for the leader to the start of the dimension |
|
||||
| `paths.${id}_le` | Path for the leader to the end of the dimension |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `paperless` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
Setting a custom ID will:
|
||||
This macro takes the `paperless` setting into account and won't output anything when both `paperless` and `force` are `false`.
|
||||
|
||||
- Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd)
|
||||
- Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/)
|
||||
|
|
|
@ -7,17 +7,25 @@ lines perpendicular to the line going from `from` to `to`.
|
|||
The `pleat` macro follows the convention of paths being counter-clockwise to
|
||||
determine what is the inside or outside of the part.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('pleat', {
|
||||
String id = 'pleat',
|
||||
Point from,
|
||||
Point to,
|
||||
String prefix = 'pleat',
|
||||
Number margin = 35,
|
||||
Boolean reverse = false,
|
||||
Boolean force = false,
|
||||
Object calsses = {
|
||||
arrow: 'note',
|
||||
from: 'note',
|
||||
to: 'note dashed',
|
||||
},
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -35,7 +43,7 @@ macro('pleat', {
|
|||
.attr('class', 'fabric')
|
||||
|
||||
points.from = new Point(40,0)
|
||||
points.to = new Point(30,0)
|
||||
points.to = new Point(10,0)
|
||||
|
||||
macro('pleat', {
|
||||
from: points.from,
|
||||
|
@ -52,19 +60,16 @@ macro('pleat', {
|
|||
| Property | Default | Type | Description |
|
||||
|----------------:|----------|---------------------|-------------|
|
||||
| `from` | | [Point](/reference/api/point) | The start point of the pleat |
|
||||
| `id` | `pleat` | `string` | The ID of this macro instance |
|
||||
| `to` | | [Point](/reference/api/point) | The end point of the pleat |
|
||||
| `prefix` | 'pleat' | String | The prefix to be used for creating all the points and paths |
|
||||
| `margin` | 35 | Number | The size (in mm) of the pleat lines |
|
||||
| `reverse` | `false` | Boolean | Reverses the two pleat lines and the arrow |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
| `classes.arrow` | `note` | `string` | CSS classes to apply to the arrow |
|
||||
| `classes.from` | `note` | `string` | CSS classes to apply to the line at the `from` point |
|
||||
| `classes.to` | `note dashed` | `string` | CSS classes to apply to the line at the `to` point |
|
||||
|
||||
## Result
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `points.${prefix}From` | Copy of the `from` Point |
|
||||
| `points.${prefix}To` | Copy of the `to` Point |
|
||||
| `points.${prefix}FromIn` | Point for the inside of the `from` path |
|
||||
| `points.${prefix}ToIn` | Point for the inside of the `to` path |
|
||||
| `paths.${prefix}PleatFrom` | Path forming the from line |
|
||||
| `paths.${prefix}PleatTo` | Path forming the to line |
|
||||
| `paths.${prefix}PleatArrow` | Path forming the arrow |
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: ringsector
|
||||
title: ringSector
|
||||
---
|
||||
|
||||
The `ringsector` macro drafts a ring sector, which is like a part of a donut
|
||||
|
@ -20,6 +20,7 @@ if you want to use it.
|
|||
|
||||
```js
|
||||
macro('ringsector', {
|
||||
String id='ringsector',
|
||||
Point center = new Point(0,0),
|
||||
Number angle,
|
||||
Number insideRadius,
|
||||
|
@ -50,6 +51,7 @@ macro('ringsector', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|---------------:|-------------------|------------|-------------|
|
||||
| `id` | `ringsector` | `string` | The ID of this macro instance |
|
||||
| `center` | `new Point(0,0)` | [Point][1] | The center point of the ring sector |
|
||||
| `angle` | | Number | The angle the ring sector should cover |
|
||||
| `insideRadius` | | Number | The inside radius of the ring sector |
|
||||
|
@ -61,17 +63,6 @@ macro('ringsector', {
|
|||
|
||||
## Notes
|
||||
|
||||
### Nodes generated by this macro
|
||||
|
||||
This macro will add points and a single path to your part.
|
||||
Their IDs will be saved in store under:
|
||||
`parts.{part.name}.macros.@freesewing/plugin-ringsector.ids.{id}`
|
||||
|
||||
### Removing a ring sector
|
||||
|
||||
If you inherit a part with a ring sector drafted by this macro and you'd like to remove it,
|
||||
|
||||
you can do so with [the rmringsector macro](/reference/macros/rmringsector).
|
||||
### Example when rotate=true
|
||||
|
||||
<Example caption="Example of a ring sector drafted by this macro when rotate is truthy">
|
||||
|
|
|
@ -1,41 +1,14 @@
|
|||
---
|
||||
title: rmad
|
||||
title: rmaD
|
||||
---
|
||||
|
||||
The `rmad` macro removes all dimensions with the exception of those that were
|
||||
created with a custom ID.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
The `rmad` macro removes all dimensions (all nodes created by `hd`, `vd`, `ld`, and `pd` macros).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmad')
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
<Example caption="An example of the rmad macro">
|
||||
```js
|
||||
({ Point, macro, part }) => {
|
||||
|
||||
// This will be removed
|
||||
macro('ld', {
|
||||
from: new Point(10, 0),
|
||||
to: new Point(40, 0),
|
||||
d: 5,
|
||||
})
|
||||
|
||||
// This will not removed
|
||||
macro('ld', {
|
||||
from: new Point(10, 20),
|
||||
to: new Point(80, 20),
|
||||
d: 5,
|
||||
id: 'example' // custom ID
|
||||
})
|
||||
|
||||
macro('rmad')
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
</Example>
|
||||
|
|
14
markdown/dev/reference/macros/rmahd/en.md
Normal file
14
markdown/dev/reference/macros/rmahd/en.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: rmaHd
|
||||
---
|
||||
|
||||
The `rmahd` macro removes all horizontal dimensions (all nodes created by `hd` macros).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmahd')
|
||||
```
|
14
markdown/dev/reference/macros/rmald/en.md
Normal file
14
markdown/dev/reference/macros/rmald/en.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: rmaLd
|
||||
---
|
||||
|
||||
The `rmald` macro removes all linear dimensions (all nodes created by `ld` macros).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmald')
|
||||
```
|
14
markdown/dev/reference/macros/rmapd/en.md
Normal file
14
markdown/dev/reference/macros/rmapd/en.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: rmaPd
|
||||
---
|
||||
|
||||
The `rmapd` macro removes all path dimensions (all nodes created by `pd` macros).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmapd')
|
||||
```
|
14
markdown/dev/reference/macros/rmavd/en.md
Normal file
14
markdown/dev/reference/macros/rmavd/en.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
title: rmaVd
|
||||
---
|
||||
|
||||
The `rmaVd` macro removes all path dimensions (all nodes created by `vd` macros).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmavd')
|
||||
```
|
16
markdown/dev/reference/macros/rmbanner/en.md
Normal file
16
markdown/dev/reference/macros/rmbanner/en.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: rmBanner
|
||||
---
|
||||
|
||||
The `rmBanner` macro removes the nodes added by [the banner macro](/reference/macros/banner).
|
||||
It is the recommended way to remove (the effects of) a `banner` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmBanner', id = 'banner')
|
||||
```
|
||||
|
15
markdown/dev/reference/macros/rmbannerbox/en.md
Normal file
15
markdown/dev/reference/macros/rmbannerbox/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmBannerBox
|
||||
---
|
||||
|
||||
The `rmBannerBox` macro removes the nodes added by [the bannerBox macro](/reference/macros/bannerbox).
|
||||
It is the recommended way to remove (the effects of) a `bannerBox` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmBannerBox', id = 'bannerbox')
|
||||
```
|
16
markdown/dev/reference/macros/rmbartack/en.md
Normal file
16
markdown/dev/reference/macros/rmbartack/en.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: rmBartack
|
||||
---
|
||||
|
||||
The `rmBartack` macro removes the nodes added by [the bartack macro](/reference/macros/bartack).
|
||||
It is the recommended way to remove (the effects of) a `bartack` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmBartack', id = 'bartack')
|
||||
```
|
||||
|
15
markdown/dev/reference/macros/rmbartackalong/en.md
Normal file
15
markdown/dev/reference/macros/rmbartackalong/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmBartackAlong
|
||||
---
|
||||
|
||||
The `rmBartackAlong` macro removes the nodes added by [the bartackAlong macro](/reference/macros/bartackalong).
|
||||
It is the recommended way to remove (the effects of) a `bartackAlong` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmBartackAlong', id = 'bartack')
|
||||
```
|
15
markdown/dev/reference/macros/rmbartackfractionalong/en.md
Normal file
15
markdown/dev/reference/macros/rmbartackfractionalong/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmBartackFractionAlong
|
||||
---
|
||||
|
||||
The `rmBartackFractionAlong` macro removes the nodes added by [the bartackFractionAlong macro](/reference/macros/bartackfractionalong).
|
||||
It is the recommended way to remove (the effects of) a `bartackFractionAlong` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmBartackFractionAlong', id = 'bartack')
|
||||
```
|
15
markdown/dev/reference/macros/rmcrossbox/en.md
Normal file
15
markdown/dev/reference/macros/rmcrossbox/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmCrossBox
|
||||
---
|
||||
|
||||
The `rmCrossBox` macro removes the nodes added by [the crossBox macro](/reference/macros/crossbox).
|
||||
It is the recommended way to remove (the effects of) a `crossbox` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmCrossBox', id = 'crossbox')
|
||||
```
|
15
markdown/dev/reference/macros/rmcutonfold/en.md
Normal file
15
markdown/dev/reference/macros/rmcutonfold/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmCutOnFold
|
||||
---
|
||||
|
||||
The `rmCutOnFold` macro removes the nodes added by [the cutOnFold macro](/reference/macros/cutonfold).
|
||||
It is the recommended way to remove (the effects of) a `cutOnFold` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmCutOnFold', id = 'cutonfold')
|
||||
```
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
title: rmd
|
||||
---
|
||||
|
||||
The `rmd` macro removes a dimension.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
To be able to use this plugin, you need to give your dimension an id:
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmd', {
|
||||
String id
|
||||
})
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
<Example caption="An example of the rmd macro">
|
||||
```js
|
||||
({ Point, macro, part }) => {
|
||||
|
||||
macro('ld', {
|
||||
from: new Point(10, 0),
|
||||
to: new Point(40, 0),
|
||||
d: 5,
|
||||
id: 'da',
|
||||
})
|
||||
|
||||
macro('ld', {
|
||||
from: new Point(10, 20),
|
||||
to: new Point(80, 20),
|
||||
d: 5,
|
||||
id: 'db',
|
||||
})
|
||||
|
||||
macro('rmd', { id: 'db' })
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
</Example>
|
||||
|
||||
## Configuration
|
||||
|
||||
| Property | Default | Type | Description |
|
||||
|----------|---------|----------|-------------|
|
||||
| `id` | | `string` | The id of the dimension to remove |
|
15
markdown/dev/reference/macros/rmgrainline/en.md
Normal file
15
markdown/dev/reference/macros/rmgrainline/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmGrainline
|
||||
---
|
||||
|
||||
The `rmGrainline` macro removes the nodes added by [the grainline macro](/reference/macros/grainline).
|
||||
It is the recommended way to remove (the effects of) a `grainline` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmGrainline', id = 'grainline')
|
||||
```
|
15
markdown/dev/reference/macros/rmhd/en.md
Normal file
15
markdown/dev/reference/macros/rmhd/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmHd
|
||||
---
|
||||
|
||||
The `rmHd` macro removes the nodes added by [the hd macro](/reference/macros/hd).
|
||||
It is the recommended way to remove (the effects of) a `hd` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmHd', id = 'hd')
|
||||
```
|
15
markdown/dev/reference/macros/rmld/en.md
Normal file
15
markdown/dev/reference/macros/rmld/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmLd
|
||||
---
|
||||
|
||||
The `rmLd` macro removes the nodes added by [the ld macro](/reference/macros/ld).
|
||||
It is the recommended way to remove (the effects of) a `ld` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmLd', id = 'ld')
|
||||
```
|
15
markdown/dev/reference/macros/rmminiscale/en.md
Normal file
15
markdown/dev/reference/macros/rmminiscale/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmMiniScale
|
||||
---
|
||||
|
||||
The `rmMiniscale` macro removes the nodes added by [the miniscale macro](/reference/macros/miniscale).
|
||||
It is the recommended way to remove (the effects of) a `miniscale` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmMiniscale', id = 'miniscale')
|
||||
```
|
15
markdown/dev/reference/macros/rmpd/en.md
Normal file
15
markdown/dev/reference/macros/rmpd/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmPd
|
||||
---
|
||||
|
||||
The `rmPd` macro removes the nodes added by [the pd macro](/reference/macros/pd).
|
||||
It is the recommended way to remove (the effects of) a `pd` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmPd', id = 'pd')
|
||||
```
|
15
markdown/dev/reference/macros/rmpleat/en.md
Normal file
15
markdown/dev/reference/macros/rmpleat/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmPleat
|
||||
---
|
||||
|
||||
The `rmPleat` macro removes the nodes added by [the pleat macro](/reference/macros/pleat).
|
||||
It is the recommended way to remove (the effects of) a `pleat` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmPleat', id = 'pleat')
|
||||
```
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: rmringsector
|
||||
title: rmRingSector
|
||||
---
|
||||
|
||||
The `rmringsector` macro removes the nodes added by [the ringsector macro](/reference/macros/ringsector).
|
||||
|
@ -21,36 +21,3 @@ if you want to use it.
|
|||
macro('rmringsector', String id = 'ringsector')
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
<Example caption="Example of a ring sector removed by this macro">
|
||||
```js
|
||||
({ Point, macro, Path, paths, part }) => {
|
||||
|
||||
macro('ringsector', {
|
||||
angle: 60,
|
||||
insideRadius: 30,
|
||||
outsideRadius: 45,
|
||||
})
|
||||
macro('rmringsector')
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
</Example>
|
||||
|
||||
## Configuration
|
||||
|
||||
| Property | Default | Type | Description |
|
||||
|---------:|--------------|--------|-------------|
|
||||
| `id` | `ringsector` | String | The id of the ringsector macro to remove |
|
||||
|
||||
## Notes
|
||||
|
||||
### Nodes removed by this macro
|
||||
|
||||
This macro will remove points and a single path from your part.
|
||||
Their IDs have been saved in store under:
|
||||
`parts.{part.name}.macros.@freesewing/plugin-ringsector.ids.{id}`
|
||||
by the [the ringsector macro](/reference/macros/ringsector).
|
||||
|
||||
|
|
15
markdown/dev/reference/macros/rmscalebox/en.md
Normal file
15
markdown/dev/reference/macros/rmscalebox/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmScaleBox
|
||||
---
|
||||
|
||||
The `rmScalebox` macro removes the nodes added by [the scalebox macro](/reference/macros/scalebox).
|
||||
It is the recommended way to remove (the effects of) a `scalebox` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmScalebox', id = 'scalebox')
|
||||
```
|
15
markdown/dev/reference/macros/rmsewtogether/en.md
Normal file
15
markdown/dev/reference/macros/rmsewtogether/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmSewTogether
|
||||
---
|
||||
|
||||
The `rmSewTogether` macro removes the nodes added by [the sewTogether macro](/reference/macros/sewtogether).
|
||||
It is the recommended way to remove (the effects of) a `sewtogether` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmSewTogether', id = 'sewtogether')
|
||||
```
|
15
markdown/dev/reference/macros/rmtitle/en.md
Normal file
15
markdown/dev/reference/macros/rmtitle/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmTitle
|
||||
---
|
||||
|
||||
The `rmTitle` macro removes the nodes added by [the title macro](/reference/macros/title).
|
||||
It is the recommended way to remove (the effects of) a `title` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmTitle', id = 'title')
|
||||
```
|
15
markdown/dev/reference/macros/rmvd/en.md
Normal file
15
markdown/dev/reference/macros/rmvd/en.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: rmVd
|
||||
---
|
||||
|
||||
The `rmVd` macro removes the nodes added by [the vd macro](/reference/macros/vd).
|
||||
It is the recommended way to remove (the effects of) a `vd` macro.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('rmVd', id = 'vd')
|
||||
```
|
|
@ -2,13 +2,16 @@
|
|||
title: round
|
||||
---
|
||||
|
||||
The `round` macro creates a rounded corner. It is provided by the [round
|
||||
plugin](/reference/plugins/round/).
|
||||
The `round` macro creates a rounded corner.
|
||||
|
||||
It is provided by [plugin-round](/reference/plugins/round), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('round', {
|
||||
String id = 'round',
|
||||
String class,
|
||||
Point from,
|
||||
Boolean hide,
|
||||
|
@ -42,6 +45,7 @@ macro('round', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|------------:|---------|---------------------|-------------|
|
||||
| `id` | `round` | `string` | The ID of this macro instance |
|
||||
| `from` | | [Point](/reference/api/point) | The startpoint towards the corner to round |
|
||||
| `to` | | [Point](/reference/api/point) | The endpoint away from the corner to round |
|
||||
| `via` | | [Point](/reference/api/point) | The cornerpoint to round |
|
||||
|
@ -50,15 +54,6 @@ macro('round', {
|
|||
| `hide` | `true` | Boolean | Whether to hide the path created by this macro |
|
||||
| `class` | | String | Class(es) to assign to the path created by this macro |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${prefix}Rounded` | Path for the rounded corner |
|
||||
| `points.${prefix}Start` | Point for the start of the rounded corner |
|
||||
| `points.${prefix}End` | Point for the end of the rounded corner |
|
||||
| `points.${prefix}Cp1` | Control Point used to create the curved path |
|
||||
| `points.${prefix}Cp2` | Control Point used to create the curved path |
|
||||
|
||||
## Notes
|
||||
|
||||
|
|
|
@ -7,18 +7,20 @@ to verify their pattern is printed to scale.
|
|||
The white inside of the box provides a metric scale, and the black outside
|
||||
of the box provides an imperial scale.
|
||||
|
||||
The `scalebox` macro is is provided by the [annotations
|
||||
plugin](/reference/plugins/annotations).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('scalebox', {
|
||||
String id = 'scalebox',
|
||||
Point at,
|
||||
String lead,
|
||||
Number rotate,
|
||||
String text,
|
||||
String title,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -43,34 +45,16 @@ macro('scalebox', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|------------:|---------|---------------------|-------------|
|
||||
| `id` | `scalebox` | `string` | The ID of this macro instance |
|
||||
| `at` | | [Point](/reference/api/point) | The point to anchor the _scale box_ on |
|
||||
| `lead` | FreeSewing | String | The lead text above the title |
|
||||
| `title` | _pattern name + version_ | String | The title text |
|
||||
| `text` | (\*) | String | The text below the title |
|
||||
| `rotate` | 0 | Number | Rotation in degrees |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
(\*) `freesewingIsMadeByJoostDeCockAndContributors \n withTheFinancialSupportOfOurPatrons`
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.__scaleboxImperial` | Path of the imperial, outer box |
|
||||
| `paths.__scaleboxMetric` | Path of the metric, inner box |
|
||||
| `points.__scaleboxLead` | Point anchoring the lead text above the title |
|
||||
| `points.__scaleboxTitle` | Point anchoring the title text |
|
||||
| `points.__scaleboxTitle` | Point anchoring the text below the title |
|
||||
| `points.__scaleboxImperial` | Point anchoring the imperial text |
|
||||
| `points.__scaleboxMetric` | Point anchoring the metric text |
|
||||
| `points.__scalebox[Metric/Imperial][Top/Bottom][Left/Right]` | Points for the corners of the boxes |
|
||||
|
||||
## Notes
|
||||
|
||||
### Removing the scalebox
|
||||
|
||||
If you inherit a part with a scalebox on it and you'd like to remove all points and paths
|
||||
generated by the scalebox macro, you can do so by passing `false` to the macro:
|
||||
|
||||
```js
|
||||
macro('scalebox', false)
|
||||
```
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
|
|
@ -5,17 +5,20 @@ title: sewTogether
|
|||
The `sewTogether` macro is used to mark where two parts of the same `part` need
|
||||
to be sewn together. This happens when you want to construct a cone for instance.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('sewTogether', {
|
||||
String id = 'sewtogether',
|
||||
Point from,
|
||||
Point to,
|
||||
Point middle = null,
|
||||
Boolean hinge = false,
|
||||
String prefix = 'sewtogether',
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -54,27 +57,18 @@ macro('sewTogether', {
|
|||
|
||||
| Property | Default | Type | Description |
|
||||
|----------------:|----------|---------------------|-------------|
|
||||
| `id` | `sewtogether` | `string` | The ID of this macro instance |
|
||||
| `from` | | [Point](/reference/api/point) | One side of what needs to be sewn together |
|
||||
| `to` | | [Point](/reference/api/point) | The other side of what needs to be sewn together |
|
||||
| `middle` | null | [Point](/reference/api/point) | The middle point (when ommitted, it will be halfway between `from` and `to`) |
|
||||
| `prefix` | 'sewtogether' | String | The prefix to be used for creating all the points and paths |
|
||||
| `hinge ` | `false` | Boolean | Draws the hinge line |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `points.${prefix}From` | Copy of the `from` Point |
|
||||
| `points.${prefix}FromCP` | Control Point of the `from` Point |
|
||||
| `points.${prefix}Middle` | Copy of the `middle` Point |
|
||||
| `points.${prefix}To` | Copy of the `to` Point |
|
||||
| `points.${prefix}ToCP` | Control Point of the `to` Point |
|
||||
| `points.${prefix}Hinge` | Point for the hinge line |
|
||||
| `paths.${prefix}SewTogether` | Path forming the line |
|
||||
| `paths.${prefix}SewTogetherHinge` | Path forming the hinge line |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
This macro is aware of the `sa` setting. Normally it draws the
|
||||
hinge line on the inside of the part (following the counter-clockwise
|
||||
standard). When the `sa` is provided it draws the hinge line on the
|
||||
|
|
|
@ -3,7 +3,9 @@ title: sprinkle
|
|||
---
|
||||
|
||||
The `sprinkle` macro facilitates adding snippets to your pattern in bulk.
|
||||
It is provided by the [sprinkle plugin](/reference/plugins/sprinkle).
|
||||
|
||||
It is provided by [plugin-sprinkle](/reference/plugins/sprinkle), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
|
@ -54,8 +56,3 @@ macro('sprinkle', {
|
|||
| `scale` | 1 | number | Scale for the individual Snippets |
|
||||
| `rotate` | 0 | number | Rotation for the individual Snippets |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `snippets.${pointname}-${snippet}` | The Snippet(s) created |
|
||||
|
|
|
@ -3,12 +3,15 @@ title: title
|
|||
---
|
||||
|
||||
The `title` macro adds a title to a pattern part.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('title', {
|
||||
String id = 'title',
|
||||
String align,
|
||||
Boolean append,
|
||||
Point at,
|
||||
|
@ -18,6 +21,7 @@ macro('title', {
|
|||
Number rotation,
|
||||
Number scale,
|
||||
String title,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -56,19 +60,15 @@ macro('title', {
|
|||
| `append` | `false` | Boolean | Set this to `true` to append the `nr` to any text already set in Point `at`'s attributes, rather than overwrite it |
|
||||
| `at` | | [Point](/reference/api/point) | The point at which to insert the title |
|
||||
| `cutlist` | `true` | Boolean | Whether to include cutting instructions |
|
||||
| `id` | `title` | `string` | The ID of this macro instance |
|
||||
| `nr` | | String | The number of the pattern part |
|
||||
| `title` | | String | The name of the pattern part. If title is not set or is an empty string, this won't be rendered, and the version will go beneath the nr.|
|
||||
| `prefix` | | String | A prefix to add to the created points. This allow for more than 1 title per part, as long as you give them a different prefix.|
|
||||
| `rotation` | 0 | Number | An optional rotation in degrees |
|
||||
| `scale` | 1 | Number | An optional scaling factor |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `complete` is `false` |
|
||||
|
||||
## Result
|
||||
## Notes
|
||||
|
||||
This macro takes the `complete` setting into account and won't output anything when both complete and `force` are `false`.
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `points._${prefix}_titleNr` | Point anchoring the part number text |
|
||||
| `points._${prefix}_titleName` | Point anchoring the part name text |
|
||||
| `points._${prefix}_titleCut_${material}_${i}` | Points anchoring the cutting instructions, by material key and instruction index |
|
||||
| `points._${prefix}_titlePattern` | Point anchoring the pattern name text |
|
||||
| `points._${prefix}_titleFor` | Point anchoring the name of the person for whom the pattern was made, if that information exists |
|
||||
| `points._${prefix}_exportDate` | Point anchoring the pattern export date |
|
||||
|
|
|
@ -3,19 +3,22 @@ title: vd
|
|||
---
|
||||
|
||||
The `vd` macro adds a _vertical dimension_ to your pattern.
|
||||
It is provided by the [annotations plugin](/reference/plugins/annotations).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
macro('vd', {
|
||||
String id,
|
||||
String id = 'vd',
|
||||
Point from,
|
||||
Boolean noEndMarker,
|
||||
Boolean noStartMarker,
|
||||
String text,
|
||||
Point to,
|
||||
Number x,
|
||||
Boolean force = false,
|
||||
})
|
||||
```
|
||||
|
||||
|
@ -29,6 +32,7 @@ macro('vd', {
|
|||
from: new Point(0,0),
|
||||
to: new Point(0,40),
|
||||
x:10,
|
||||
force: true,
|
||||
})
|
||||
|
||||
// Prevent clipping
|
||||
|
@ -49,21 +53,11 @@ macro('vd', {
|
|||
| `to` | | [Point](/reference/api/point) | The endpoint of the dimension |
|
||||
| `x` | | Number | The X-value at which to draw the dimension |
|
||||
| `text` | Vertical distance | Number | The text to go on the dimension if not the from-to vertical distance |
|
||||
| `id` | auto-assigned | String | A custom ID under which paths and points will be created |
|
||||
| `id` | `vd` | `string` | The ID of this macro instance |
|
||||
| `noStartMarker` | `false` | Boolean | Whether to not draw a start marker |
|
||||
| `noEndMarker` | `false` | Boolean | Whether to not draw an end marker |
|
||||
|
||||
## Result
|
||||
|
||||
| Generated Element | Description |
|
||||
|-------------------|-------------|
|
||||
| `paths.${id}` | Path for the span of the dimension |
|
||||
| `paths.${id}_ls` | Path for the leader to the start of the dimension |
|
||||
| `paths.${id}_le` | Path for the leader to the end of the dimension |
|
||||
| `force` | `false` | `boolean` | Set this to `true` to display the macro output even when `paperless` is `false` |
|
||||
|
||||
## Notes
|
||||
|
||||
Setting a custom ID will:
|
||||
|
||||
- Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd)
|
||||
- Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/)
|
||||
This macro takes the `paperless` setting into account and won't output anything when both `paperless` and `force` are `false`.
|
||||
|
|
|
@ -3,18 +3,25 @@ title: plugin-annotations
|
|||
---
|
||||
|
||||
Published as [@freesewing/plugin-annotations][1], this plugin provides a
|
||||
variety of macros and snippets to annotate designs.
|
||||
variety of snippets, macros, and store methods to annotate designs.
|
||||
|
||||
It is part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Snippets
|
||||
The annotations plugin provides the following snippets:
|
||||
|
||||
- [bnotch](/reference/snippets/button)
|
||||
- [button](/reference/snippets/button)
|
||||
- [buttonhole](/reference/snippets/button)
|
||||
- [buttonhole-start](/reference/snippets/button)
|
||||
- [buttonhole-end](/reference/snippets/button)
|
||||
- [buttonhole-start](/reference/snippets/button)
|
||||
- [eyelet](/reference/snippets/eyelet)
|
||||
- [logo](/reference/snippets/logo)
|
||||
- [notch](/reference/snippets/button)
|
||||
- [bnotch](/reference/snippets/button)
|
||||
- [snap-stud](/reference/snippets/snap-stud)
|
||||
- [snap-socket](/reference/snippets/snap-socket)
|
||||
|
||||
## Macros
|
||||
The annotations plugin provides the following macros:
|
||||
|
||||
- [banner](/reference/macros/banner)
|
||||
|
@ -28,7 +35,30 @@ The annotations plugin provides the following macros:
|
|||
- [hd](/reference/macros/hd)
|
||||
- [ld](/reference/macros/ld)
|
||||
- [rmad](/reference/macros/rmad)
|
||||
- [rmd](/reference/macros/rmd)
|
||||
- [rmahd](/reference/macros/rmahd)
|
||||
- [rmald](/reference/macros/rmald)
|
||||
- [rmapd](/reference/macros/rmapd)
|
||||
- [rmavd](/reference/macros/rmavd)
|
||||
- [rmbanner](/reference/macros/rmbanner)
|
||||
- [rmbannerbox](/reference/macros/rmbannerbox)
|
||||
- [rmbartack](/reference/macros/rmbartack)
|
||||
- [rmbartackAlong](/reference/macros/rmbartackalong)
|
||||
- [rmbartackFractionAlong](/reference/macros/rmbartackfractionalong)
|
||||
- [rmcrossbox](/reference/macros/rmcrossbox)
|
||||
- [rmcutonfold](/reference/macros/rmcutonfold)
|
||||
- [rmgrainline](/reference/macros/rmgrainline)
|
||||
- [rmahd](/reference/macros/rmahd)
|
||||
- [rmald](/reference/macros/rmald)
|
||||
- [rmapd](/reference/macros/rmapd)
|
||||
- [rmavd](/reference/macros/rmavd)
|
||||
- [rmhd](/reference/macros/rmhd)
|
||||
- [rmld](/reference/macros/rmld)
|
||||
- [rmpd](/reference/macros/rmpd)
|
||||
- [rmvd](/reference/macros/rmvd)
|
||||
- [rmpleat](/reference/macros/rmpleat)
|
||||
- [rmscalebox](/reference/macros/rmscalebox)
|
||||
- [rmsewTogether](/reference/macros/rmsetogether)
|
||||
- [rmtitle](/reference/macros/rmtitle)
|
||||
- [pd](/reference/macros/pd)
|
||||
- [pleat](/reference/macros/pleat)
|
||||
- [scalebox](/reference/macros/scalebox)
|
||||
|
@ -36,28 +66,53 @@ The annotations plugin provides the following macros:
|
|||
- [title](/reference/macros/title)
|
||||
- [vd](/reference/macros/vd)
|
||||
|
||||
The annotations plugin also provides [methods to the Store for adding cutting instructions](#methods)
|
||||
|
||||
<Tip> For an in-depth look at how to add cutting instructions to your part, see our [cutlist how-to](/howtos/design/cutlist) </Tip>
|
||||
## Store methods
|
||||
The annotations plugin also provides store methods:
|
||||
|
||||
- [flag.error()](/reference/store-methods/flag.error)
|
||||
- [flag.fixme()](/reference/store-methods/flag.fixme)
|
||||
- [flag.info()](/reference/store-methods/flag.info)
|
||||
- [flag.note()](/reference/store-methods/flag.note)
|
||||
- [flag.preset()](/reference/store-methods/flag.preset)
|
||||
- [flag.tip()](/reference/store-methods/flag.tip)
|
||||
- [flag.warn()](/reference/store-methods/flag.warn)
|
||||
- [unflag.error()](/reference/store-methods/unflag.error)
|
||||
- [unflag.fixme()](/reference/store-methods/unflag.fixme)
|
||||
- [unflag.info()](/reference/store-methods/unflag.info)
|
||||
- [unflag.note()](/reference/store-methods/unflag.note)
|
||||
- [unflag.preset()](/reference/store-methods/unflag.preset)
|
||||
- [unflag.tip()](/reference/store-methods/unflag.tip)
|
||||
- [unflag.warn()](/reference/store-methods/unflag.warn)
|
||||
|
||||
## Installation
|
||||
|
||||
<Note>
|
||||
|
||||
This plugin is part of [core-plugins](/reference/plugins/core), so there is no
|
||||
need to install it manually unless you want to forego loading of core plugins,
|
||||
yet still want to load this plugin.
|
||||
</Note>
|
||||
|
||||
```sh
|
||||
npm install @freesewing/plugin-annotations
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
<Note>
|
||||
|
||||
This plugin is part of [core-plugins](/reference/plugins/core), so there is no
|
||||
need to load it manually unless you want to forego loading of core plugins,
|
||||
yet still want to load this plugin.
|
||||
</Note>
|
||||
|
||||
Either [add it as a part plugin](/reference/api/part/config/plugins) in your
|
||||
design, or [add it to a pattern instance with
|
||||
Pattern.use()](/reference/api/pattern/use).
|
||||
|
||||
To import the plugin for use:
|
||||
```js
|
||||
import { annotationsPlugin } from '@freesewing/plugin-banner'
|
||||
// or
|
||||
import { pluginAnnotations } from '@freesewing/plugin-banner'
|
||||
import { plugin } from '@freesewing/plugin-annotations'
|
||||
```
|
||||
|
||||
## Methods
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
title: plugin-bundle
|
||||
---
|
||||
|
||||
Published as [@freesewing/plugin-bundle][1], this plugin bundles the most
|
||||
commonly used FreeSewing time plugins in one handy package.
|
||||
|
||||
Specifically, loading this plugin will have the same effect as loading these
|
||||
plugins individually:
|
||||
|
||||
|
||||
- [plugin-annotations](/reference/plugins/annotations)
|
||||
- [plugin-measurements](/reference/plugins/measurements) : Make extra, calculated measurements available to your patterns
|
||||
- [plugin-mirror](/reference/plugins/mirror) : Mirror points and paths in your patterns
|
||||
- [plugin-round](/reference/plugins/round) : Create rounded corners in your patterns
|
||||
- [plugin-sprinkle](/reference/plugins/sprinkle) : Add multiple snippets to your patterns
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @freesewing/plugin-bundle
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Either [add it as a part plugins](/reference/api/part/config/plugins) in your
|
||||
design, or [add it to a pattern instance with
|
||||
Pattern.use()](/reference/api/pattern/use).
|
||||
|
||||
To import the plugin for use:
|
||||
```js
|
||||
import { bundlePlugin } from '@freesewing/plugin-bundle'
|
||||
// or
|
||||
import { pluginBundle } from '@freesewing/plugin-bundle'
|
||||
```
|
||||
|
||||
[1]: https://www.npmjs.com/package/@freesewing/plugin-bundle
|
39
markdown/dev/reference/plugins/core/en.md
Normal file
39
markdown/dev/reference/plugins/core/en.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
title: core-plugins
|
||||
---
|
||||
|
||||
Published as [@freesewing/core-plugins][1], our core plugins bundles the most
|
||||
commonly used FreeSewing plugins in one bundle that is loaded by the core
|
||||
library by default.
|
||||
|
||||
Specifically, loading this plugin will have the same effect as loading these
|
||||
plugins individually:
|
||||
|
||||
|
||||
- [plugin-annotations](/reference/plugins/annotations)
|
||||
- [plugin-measurements](/reference/plugins/measurements) : Make extra, calculated measurements available to your patterns
|
||||
- [plugin-mirror](/reference/plugins/mirror) : Mirror points and paths in your patterns
|
||||
- [plugin-round](/reference/plugins/round) : Create rounded corners in your patterns
|
||||
- [plugin-sprinkle](/reference/plugins/sprinkle) : Add multiple snippets to your patterns
|
||||
- [plugin-binpack](/reference/plugins/binpack) : The default bin packing algorithm used to handle auto-generated layouts in core
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install @freesewing/core-plugins
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
The core plugins are loaded by default so there is nothing to be done to use them.
|
||||
|
||||
If you do not want to load the core plugins, pass `noCorePlugins: true` to your Design constructor:
|
||||
|
||||
```mjs
|
||||
const design = new Design({
|
||||
parts: myParts,
|
||||
noCorePlugins: true
|
||||
})
|
||||
```
|
||||
|
||||
[1]: https://www.npmjs.com/package/@freesewing/core-plugins
|
|
@ -3,8 +3,9 @@ title: Plugins
|
|||
---
|
||||
|
||||
FreeSewing uses a modular approach where functionality can be extended with
|
||||
plugins. Plugins can provide macros, store methods, or use any of the lifecycle
|
||||
hooks.
|
||||
plugins. Plugins can provide [snippets](/reference/snippets),
|
||||
[macros](/reference/macros), [store methods](/reference/store-methods), or
|
||||
use any of the [lifecycle hooks](/reference/hooks).
|
||||
|
||||
## Using plugins
|
||||
|
||||
|
@ -14,16 +15,18 @@ Plugins can be either
|
|||
|
||||
To import a plugin for use:
|
||||
```js
|
||||
import { namePlugin } from { @freesewing/plugin-name }
|
||||
// or
|
||||
import { pluginName } from { @freesewing/plugin-name }
|
||||
import { plugin } from { @freesewing/plugin-gore }
|
||||
```
|
||||
|
||||
<Tip>
|
||||
|
||||
For convenience, each plugin is exported in two name formats:
|
||||
"plugin\<Name>" and "\<name\>Plugin".
|
||||
For example, either `pluginBanner` or `bannerPlugin` can be used.
|
||||
For convenience, each plugin is exported as several names exports:
|
||||
|
||||
- `plugin`
|
||||
- `pluginName`
|
||||
- `namePlugin`
|
||||
|
||||
For example, `@freesewing/plugin-gore` has named exports `plugin`, `pluginGore`, and `gorePlugin` that all are the same thing.
|
||||
|
||||
</Tip>
|
||||
|
||||
|
|
|
@ -5,7 +5,8 @@ title: bnotch
|
|||
The `bnotch` snippet is intended for notches at the back, or when you
|
||||
need an alternative to the default `notch`.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@ title: button
|
|||
|
||||
The `button` snippet is used to mark button placement.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ The `buttonhole-end` snippet is used to mark buttonhole placement.
|
|||
This particular snippet places the buttonhole's end on its
|
||||
anchor point.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ The `buttonhole-start` snippet is used to mark buttonhole placement.
|
|||
This particular snippet places the buttonhole's start on its
|
||||
anchor point.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ The `buttonhole` snippet is used to mark buttonhole placement.
|
|||
This particular snippet places the buttonhole centrally on its
|
||||
anchor point.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
27
markdown/dev/reference/snippets/eyelet/en.md
Normal file
27
markdown/dev/reference/snippets/eyelet/en.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
title: eyelet
|
||||
---
|
||||
|
||||
The `eyelet` snippet is used to mark an eyelet, which is a small reinforced opening or hole.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
<Example caption="An example of the eyelet snippet">
|
||||
```js
|
||||
({ Point, Path, paths, Snippet, snippets, part }) => {
|
||||
|
||||
snippets.demo = new Snippet('eyelet', new Point(0,0))
|
||||
|
||||
// Prevent clipping
|
||||
paths.diag = new Path()
|
||||
.move(new Point(-50,-4))
|
||||
.move(new Point(50,4))
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
</Example>
|
||||
|
|
@ -4,7 +4,8 @@ title: logo
|
|||
|
||||
The `logo` snippet inserts the FreeSewing logo.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@ title: notch
|
|||
|
||||
The `notch` snippet is intended for notches.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@ title: snap-socket
|
|||
|
||||
The `snap-socket` snippet is used to mark the socket part of a snap button.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
|
|
|
@ -4,7 +4,9 @@ title: snap-stud
|
|||
|
||||
The `snap-stud` snippet is used to mark the stud part of a snap button.
|
||||
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/).
|
||||
It is provided by [plugin-annotations](/reference/plugins/annotations/), which is
|
||||
part of [core-plugins](/reference/plugins/core) (so it is available by default).
|
||||
|
||||
## Example
|
||||
|
||||
<Example caption="An example of the snap-stud snippet">
|
||||
|
|
31
markdown/dev/reference/store-methods/\
Normal file
31
markdown/dev/reference/store-methods/\
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: removeMacroNodes()
|
||||
---
|
||||
|
||||
Removes nodes generated by macro `id`.
|
||||
By nodes, we mean paths, points, and so on that have been created by the macro.
|
||||
|
||||
When a macro properly uses a combination of `generateMacroIds()` and
|
||||
`storeMacroIds()`, this method will fully handle its removal.
|
||||
|
||||
## Signature
|
||||
|
||||
```mjs
|
||||
Object store.removeMacroNodes(
|
||||
String id,
|
||||
macro = store.activeMacro,
|
||||
part = store.activePart,
|
||||
)
|
||||
```
|
||||
|
||||
The method takes a (macro) id and removes all nodes created by this macro,
|
||||
It uses the active macro and part from the store, Or you can pass in `macro` and `part` to not use the active macro or part.
|
||||
|
||||
## Example
|
||||
|
||||
```mjs
|
||||
undefined store.removeMacroNodes('macroId')
|
||||
```
|
||||
|
||||
|
||||
|
27
markdown/dev/reference/store-methods/en.md
Normal file
27
markdown/dev/reference/store-methods/en.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
title: Store Methods
|
||||
---
|
||||
|
||||
Store methods are typically provided by plugins and attached to
|
||||
the store to make them available during the drafting process.
|
||||
|
||||
Some of FreeSewing's core library functionality is implemented
|
||||
as store methods to allow plugins to override this functinoality.
|
||||
Examples include log handling and pattern layout algorithm.
|
||||
|
||||
All store methods below are either provided by plugins we maintain,
|
||||
or are the default store methods as provided by the core library.
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
null method(object Store, object config)
|
||||
```
|
||||
|
||||
A store method receives as its first parameter [the Store object](/reference/api/store), and
|
||||
as second parameter a single configuration object for the method.
|
||||
|
||||
## Store methods we maintain
|
||||
|
||||
<ReadMore list />
|
||||
|
26
markdown/dev/reference/store-methods/flag.error/en.md
Normal file
26
markdown/dev/reference/store-methods/flag.error/en.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: flag.error()
|
||||
---
|
||||
|
||||
This flags information at the `error` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.error`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.error({
|
||||
title: 'Oh no',
|
||||
desc: 'Something went very wrong'
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
26
markdown/dev/reference/store-methods/flag.fixme/en.md
Normal file
26
markdown/dev/reference/store-methods/flag.fixme/en.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: flag.fixme()
|
||||
---
|
||||
|
||||
This flags information at the `fixme` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.fixme`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.fixme({
|
||||
title: 'Not yet implemented',
|
||||
desc: 'Something is unfinished'
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
71
markdown/dev/reference/store-methods/flag.info/en.md
Normal file
71
markdown/dev/reference/store-methods/flag.info/en.md
Normal file
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
title: flag.info()
|
||||
---
|
||||
|
||||
This flags information at the `info` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.info`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.info({
|
||||
title: 'flag:expandIsOn.t',
|
||||
desc: 'flag:expandIsOn.d',
|
||||
suggest: {
|
||||
text: 'flag:disable',
|
||||
icon: 'expand',
|
||||
update: {
|
||||
settings: ['expand', null],
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
The example above is from our implementation, which uses the following properties:
|
||||
|
||||
## Configuration
|
||||
|
||||
| Property | Type | Description |
|
||||
| ----------:| ------------------- | ----------- |
|
||||
| `id` | String | An ID for this flag message. If none is provided, `title` will be used |
|
||||
| `title` | String | The title of the message |
|
||||
| `desc` | String | The description of the message |
|
||||
| `suggest.text` | String | Text to go on the button to implement the suggested configuration change |
|
||||
| `suggest.icon` | String | Icon name to go on the button to implement the suggested configuration change |
|
||||
| `suggest.update` | Object | Object describing the changes to apply to the configuration if the user accepts the suggestion |
|
||||
|
||||
Note that the `suggest` object is optional. Without it, it will merely display a message to the user.
|
||||
However, when a suggest key is present, a button will be created that the user can click to accept the suggested changes.
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
({ store, part }) => {
|
||||
store.flag.info({
|
||||
msg: `aaron:cutNeckBinding`,
|
||||
notes: ['flag:saUnused', 'flag:partHiddenByExpand'],
|
||||
replace: {
|
||||
width: units(w),
|
||||
length: units(l),
|
||||
},
|
||||
suggest: {
|
||||
text: 'flag:show',
|
||||
icon: 'expand',
|
||||
update: {
|
||||
settings: ['expand', 1],
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
|
26
markdown/dev/reference/store-methods/flag.note/en.md
Normal file
26
markdown/dev/reference/store-methods/flag.note/en.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: flag.note()
|
||||
---
|
||||
|
||||
This flags information at the `note` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.note`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.note({
|
||||
title: 'Something good to know',
|
||||
desc: 'Longer message here'
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
41
markdown/dev/reference/store-methods/flag.preset/en.md
Normal file
41
markdown/dev/reference/store-methods/flag.preset/en.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
title: flag.preset()
|
||||
---
|
||||
|
||||
The `flag.preset()` method is a way to flag a pre-defined flag object.
|
||||
There are currently two such pre-defined flags provided by the annotations-plugin:
|
||||
|
||||
- `expandIsOn`
|
||||
- `expandIsOff`
|
||||
|
||||
They inform the user about the effect of the `expand` setting on the pattern, when `expand`
|
||||
is on or off respectively.
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.preset(string preset)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implemntation.
|
||||
The example above is from our implementation, which uses the following properties:
|
||||
|
||||
## Configuration
|
||||
|
||||
| Property | Type | Description |
|
||||
| ----------:| ------------------- | ----------- |
|
||||
| `preset` | String | The ID of an existing preset |
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
({ store, expand, part }) => {
|
||||
store.flag.preset(expand
|
||||
? 'expandIsOn'
|
||||
: 'expandIsOff'
|
||||
)
|
||||
|
||||
return part
|
||||
}
|
||||
```
|
||||
|
26
markdown/dev/reference/store-methods/flag.tip/en.md
Normal file
26
markdown/dev/reference/store-methods/flag.tip/en.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: flag.tip()
|
||||
---
|
||||
|
||||
This flags information at the `tip` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.tip`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.tip({
|
||||
title: 'Something good to know',
|
||||
desc: 'Longer message here'
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
26
markdown/dev/reference/store-methods/flag.warn/en.md
Normal file
26
markdown/dev/reference/store-methods/flag.warn/en.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: flag.warn()
|
||||
---
|
||||
|
||||
This flags information at the `warn` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.warn`.
|
||||
The core library does nothing with this info, it is merely stored, much like logs are.
|
||||
|
||||
However, in our own UI on FreeSewing.org, we use this mechanism to allow
|
||||
designer to flag information to the user, and even suggest changes to the
|
||||
pattern configuration.
|
||||
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.flag.warn({
|
||||
title: 'Something to be mindful of',
|
||||
desc: 'Longer message here'
|
||||
})
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
37
markdown/dev/reference/store-methods/generatemacroids/en.md
Normal file
37
markdown/dev/reference/store-methods/generatemacroids/en.md
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
title: generateMacroIds()
|
||||
---
|
||||
|
||||
The `generateMacroIds()` store method generates IDs to be used in macros.
|
||||
It is the recommended way for macros that add nodes to the pattern (by nodes we
|
||||
mean points, paths and so on) to avoid naming clashes.
|
||||
|
||||
## Signature
|
||||
|
||||
```mjs
|
||||
Object store.generateMacroIds(
|
||||
Array keys,
|
||||
String id,
|
||||
macro = store.activeMacro
|
||||
)
|
||||
```
|
||||
|
||||
The method takes a list of strings, and an ID which is typically the ID passed
|
||||
to the macro. You can optionally specify the macro name via `macro` although
|
||||
you almost certainly want to rely on the default behavior which is to load the
|
||||
active macro name from the store.
|
||||
|
||||
## Example
|
||||
|
||||
```mjs
|
||||
const ids = store.generateMacroIds(
|
||||
[
|
||||
'start',
|
||||
'end',
|
||||
'middle'
|
||||
],
|
||||
'macroId'
|
||||
)
|
||||
```
|
||||
|
||||
|
30
markdown/dev/reference/store-methods/getmacroids/en.md
Normal file
30
markdown/dev/reference/store-methods/getmacroids/en.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: getMacroIds()
|
||||
---
|
||||
|
||||
Retrieve data for macro IDs generated via [`generateMacroIds()`](/reference/store-methods/generatemacroids) and stored
|
||||
via [`storeMacroIds()`](/reference/store-methods/storemacroids).
|
||||
|
||||
## Signature
|
||||
|
||||
```mjs
|
||||
Object store.getMacroIds(
|
||||
String id,
|
||||
macro = store.activeMacro,
|
||||
part = store.activePart,
|
||||
)
|
||||
```
|
||||
|
||||
The method takes an id and retrieves the data stored under the macro IDs for the active macro and active part.
|
||||
|
||||
Or, if you want to, you can pass in `macro` and `part` to not use the active macro or part.
|
||||
|
||||
## Example
|
||||
|
||||
```mjs
|
||||
const ids = store.getMacroIds('macroId')
|
||||
```
|
||||
|
||||
It is a best practice to return the result of this method from your macro.
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Store.log.debug()
|
||||
title: log.debug()
|
||||
---
|
||||
|
||||
This is the logging method for logs of `debug` level.
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Store.log.error()
|
||||
title: log.error()
|
||||
---
|
||||
|
||||
This is the logging method for logs of `error` level.
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Store.log.info()
|
||||
title: log.info()
|
||||
---
|
||||
|
||||
This is the logging method for logs of `info` level.
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: Store.log.warn()
|
||||
title: log.warn()
|
||||
---
|
||||
|
||||
This is the logging method for logs of `warn` level (warning).
|
11
markdown/dev/reference/store-methods/pack/en.md
Normal file
11
markdown/dev/reference/store-methods/pack/en.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: pack()
|
||||
---
|
||||
|
||||
The `pack()` store method is used to automatically layout patterns in the core library.
|
||||
It is implemented as a store method to allow you to override this method and implement
|
||||
your own algorithm to generate the layout.
|
||||
|
||||
<Fixme>
|
||||
Document this in more detail
|
||||
</Fixme>
|
31
markdown/dev/reference/store-methods/removemacronodes/en.md
Normal file
31
markdown/dev/reference/store-methods/removemacronodes/en.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
title: removeMacroNodes()
|
||||
---
|
||||
|
||||
Removes nodes generated by macro `id`.
|
||||
By nodes, we mean paths, points, and so on that have been created by the macro.
|
||||
|
||||
When a macro properly uses a combination of `generateMacroIds()` and
|
||||
`storeMacroIds()`, this method will fully handle its removal.
|
||||
|
||||
## Signature
|
||||
|
||||
```mjs
|
||||
Object store.removeMacroNodes(
|
||||
String id,
|
||||
macro = store.activeMacro,
|
||||
part = store.activePart,
|
||||
)
|
||||
```
|
||||
|
||||
The method takes a (macro) id and removes all nodes created by this macro,
|
||||
It uses the active macro and part from the store, Or you can pass in `macro` and `part` to not use the active macro or part.
|
||||
|
||||
## Example
|
||||
|
||||
```mjs
|
||||
undefined store.removeMacroNodes('macroId')
|
||||
```
|
||||
|
||||
|
||||
|
29
markdown/dev/reference/store-methods/storemacroids/en.md
Normal file
29
markdown/dev/reference/store-methods/storemacroids/en.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
title: storeMacroIds()
|
||||
---
|
||||
|
||||
Stores data for macro IDs generated via [`generateMacroIds()`](/reference/store-methods/generatemacroids).
|
||||
|
||||
## Signature
|
||||
|
||||
```mjs
|
||||
Object store.storeMacroIds(
|
||||
String id,
|
||||
Array ids,
|
||||
macro = store.activeMacro,
|
||||
part = store.activePart,
|
||||
)
|
||||
```
|
||||
|
||||
The method takes a (macro) id and an object of ids and stores it in the store under the active macro and part.
|
||||
|
||||
Or, if you want to, you can pass in `macro` and `part` to not use the active macro or part.
|
||||
|
||||
## Example
|
||||
|
||||
```mjs
|
||||
const ids = store.getMacroIds('macroId', ids)
|
||||
```
|
||||
|
||||
Storing this data is a requirement to allow removal of macros.
|
||||
|
19
markdown/dev/reference/store-methods/unflag.error/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.error/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.error()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `error` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.error`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.error(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
19
markdown/dev/reference/store-methods/unflag.fixme/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.fixme/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.fixme()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `fixme` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.fixme`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.fixme(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
19
markdown/dev/reference/store-methods/unflag.info/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.info/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.info()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `info` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.info`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.info(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
19
markdown/dev/reference/store-methods/unflag.note/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.note/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.note()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `note` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.note`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.note(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
17
markdown/dev/reference/store-methods/unflag.preset/en.md
Normal file
17
markdown/dev/reference/store-methods/unflag.preset/en.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: unflag.preset()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged through the [`flag.preset()`](/reference/store-methods/flag.preset) method.
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.preset(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
See [flag.preset()](/reference/store-methods/flag.preset) for a list of available presets.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
19
markdown/dev/reference/store-methods/unflag.tip/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.tip/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.tip()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `tip` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.tip`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.tip(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
19
markdown/dev/reference/store-methods/unflag.warn/en.md
Normal file
19
markdown/dev/reference/store-methods/unflag.warn/en.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: unflag.warn()
|
||||
---
|
||||
|
||||
This removes a specific piece of information flagged at the `warn` level.
|
||||
|
||||
Info that is flagged is stored in the store under `plugins.plugin-annotations.flags.warn`.
|
||||
When doing so, you can pass an `id` or -- if no `id` is used, the `title` field will be used as the `id`.
|
||||
This methods allows you to remove this flagged info by passing said `id` (or `title`).
|
||||
|
||||
## Signature
|
||||
|
||||
```js
|
||||
undefined Store.unflag.warn(string id)
|
||||
```
|
||||
|
||||
Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation.
|
||||
|
||||
For a more detailed example of how we use this, see [flag.info()](/reference/store-methods/flag.info).
|
Loading…
Add table
Add a link
Reference in a new issue