1
0
Fork 0

chore: Remark linter run

This commit is contained in:
Joost De Cock 2022-02-20 14:35:50 +01:00
parent b6dab9f8fa
commit e6f1189017
164 changed files with 395 additions and 395 deletions

View file

@ -13,13 +13,13 @@ that you should take into account while developing your pattern. They are:
## Complete ## Complete
The [complete](/reference/api/settings#complete) setting is a boolean that is either true or false. The [complete](/reference/api/settings#complete) setting is a boolean that is either true or false.
Its goal is to determine whether we should draft a *complete* pattern, or merely the outline. Its goal is to determine whether we should draft a _complete_ pattern, or merely the outline.
## Paperless ## Paperless
The [paperless](/reference/api/settings#paperless) setting is a boolean that is either true or false. The [paperless](/reference/api/settings#paperless) setting is a boolean that is either true or false.
A *paperless* pattern is a pattern that has extra dimensions so users can trace the A _paperless_ pattern is a pattern that has extra dimensions so users can trace the
paper on fabric or paper without having the need to print it. paper on fabric or paper without having the need to print it.
## Seam allowance ## Seam allowance

View file

@ -17,7 +17,7 @@ Instead, embrace percentages as options.
##### Use the antperson tests ##### Use the antperson tests
To check how well your pattern scales, you can To check how well your pattern scales, you can
use the *antperson* test by sampling the pattern for 2 models: use the _antperson_ test by sampling the pattern for 2 models:
- A model with measurements of avarage person (the person) - A model with measurements of avarage person (the person)
- A model with measurements 1/10th of an average person (the ant) - A model with measurements 1/10th of an average person (the ant)

View file

@ -5,7 +5,7 @@ order: 60
Don't insert literal text in your patterns. Instead, insert a key that can then be translated. Don't insert literal text in your patterns. Instead, insert a key that can then be translated.
For example, if you want to put *Finish with bias tape* on your pattern, don't be For example, if you want to put _Finish with bias tape_ on your pattern, don't be
tempted to do this: tempted to do this:
```js ```js

View file

@ -13,7 +13,7 @@ You can find a list of all FreeSewing guides below:
Guides tell a story to further your understanding of a specific topic. Guides tell a story to further your understanding of a specific topic.
Guides and howtos are on a spectrum with howtos being terse *do-this-then-that* recipes, whereas Guides and howtos are on a spectrum with howtos being terse _do-this-then-that_ recipes, whereas
guides take more time to explain in-depth what is being done and why. guides take more time to explain in-depth what is being done and why.
For more details, refer to [How we structure our documentation](/guides/docs). For more details, refer to [How we structure our documentation](/guides/docs).

View file

@ -4,7 +4,7 @@ order: 90
--- ---
The way we render markdown on our websites is through the use of [MDX](https://mdxjs.com/).\ The way we render markdown on our websites is through the use of [MDX](https://mdxjs.com/).\
This allows us to extend Markdown with our own so-called *custom components*. This allows us to extend Markdown with our own so-called _custom components_.
Such custom components allow us to put things in Markdown content that would Such custom components allow us to put things in Markdown content that would
typically require a lot more complexity. typically require a lot more complexity.

View file

@ -7,7 +7,7 @@ Some things to keep in mind when working in Markdown are:
## Use remark-jargon for glossary terms ## Use remark-jargon for glossary terms
There is no need to add a *glossary* section to documentation. There is no need to add a _glossary_ section to documentation.
We use a plugin called [remark-jargon][rj] to explain terms. We use a plugin called [remark-jargon][rj] to explain terms.
Information can be found at the link. Information can be found at the link.

View file

@ -8,10 +8,10 @@ You can make text *italic* or **bold**
by wrapping it in 1 or 2 asterisk respectively. by wrapping it in 1 or 2 asterisk respectively.
``` ```
You can make text *italic* or **bold** by wrapping it in 1 or 2 asterisk respectively: You can make text _italic_ or **bold** by wrapping it in 1 or 2 asterisk respectively:
```md ```md
Alternatively, you can also use underscores to mark _italic_ or __bold__. Alternatively, you can also use underscores to mark _italic_ or __bold__.
``` ```
Alternatively, you can also use underscores to mark *italic* or **bold**. Alternatively, you can also use underscores to mark _italic_ or **bold**.

View file

@ -19,7 +19,7 @@ If we look at our image, it can be divided into three areas:
- The left area with the **settings** box - The left area with the **settings** box
- The middle area with the **Pattern** box and everything in it - The middle area with the **Pattern** box and everything in it
- The right area with the **draft** box and the *SVG* and *React* logos - The right area with the **draft** box and the _SVG_ and _React_ logos
Let's take a closer look at everything that is contained within our central **Pattern** box: Let's take a closer look at everything that is contained within our central **Pattern** box:
@ -27,7 +27,7 @@ Let's take a closer look at everything that is contained within our central **Pa
<Note> <Note>
The left and right parts are all about how to integrate FreeSewing in your *frontend*. The left and right parts are all about how to integrate FreeSewing in your _frontend_.
In other words, how you'll plug it into your website, or online store, or a mobile In other words, how you'll plug it into your website, or online store, or a mobile
application. application.

View file

@ -11,7 +11,7 @@ Last but not least, we've arrived at the level of the pattern itself.
The pattern is a container that holds all your parts, along with the configuration The pattern is a container that holds all your parts, along with the configuration
and the store. and the store.
In reality, your pattern will be a *constructor* that takes the user's settings as In reality, your pattern will be a _constructor_ that takes the user's settings as
input and will return a new instance of your pattern. input and will return a new instance of your pattern.
That pattern instance will have a `draft()` method which will do the actual work of That pattern instance will have a `draft()` method which will do the actual work of

View file

@ -52,9 +52,9 @@ const Pattern = new freesewing.Design(
Our condition method will return `true` only if the following conditions are met: Our condition method will return `true` only if the following conditions are met:
- A `settings` object is passed into the method - A `settings` object is passed into the method
- `settings.options` is *truthy* - `settings.options` is _truthy_
- `settings.options.draftForHighBust` is *truthy* - `settings.options.draftForHighBust` is _truthy_
- `settings.options.measurements.highBust` is *truthy* - `settings.options.measurements.highBust` is _truthy_
This is a real-world example from our Teagan pattern. A t-shirt pattern that can be This is a real-world example from our Teagan pattern. A t-shirt pattern that can be
drafted to the high bust (rather than the full chest circumference) if the user drafted to the high bust (rather than the full chest circumference) if the user

View file

@ -30,7 +30,7 @@ Our [plugin bundle](/reference/plugins/bundle/) bundles build-time plugins that
A plugin is a run-time plugin if it can be added after instantiating your pattern. A plugin is a run-time plugin if it can be added after instantiating your pattern.
Think of it as a plugin to be used in the front-end. Think of it as a plugin to be used in the front-end.
Run-time plugins are not a dependecy of the pattern. They just *add something* to it. Run-time plugins are not a dependecy of the pattern. They just _add something_ to it.
Our [theme plugin](/reference/plugins/theme/) is a good example of a run-time plugin. Our [theme plugin](/reference/plugins/theme/) is a good example of a run-time plugin.
If it's missing, your pattern will still work, it just won't look pretty. If it's missing, your pattern will still work, it just won't look pretty.

View file

@ -21,13 +21,13 @@ In FreeSewing, we use so-called cubic Bézier curves which have:
An example of a Bézier curve drawn by the Path.curve() method An example of a Bézier curve drawn by the Path.curve() method
</Example> </Example>
Bézier curves and their *handles* or *control points* are surprisingly intuitive. Bézier curves and their _handles_ or _control points_ are surprisingly intuitive.
The following illustration does a great job at explaining how they are constructed: The following illustration does a great job at explaining how they are constructed:
![How Bézier curves are constructed](bezier.gif) ![How Bézier curves are constructed](bezier.gif)
You don't need understand the mathematics behind Bézier Curves. You don't need understand the mathematics behind Bézier Curves.
As long as you intuitively *get* how the control points influence the curve, you're good to go. As long as you intuitively _get_ how the control points influence the curve, you're good to go.
<Note> <Note>

View file

@ -79,7 +79,7 @@ expect to find the same structure, the same amount of headings, paragraphs and s
### Strapi ### Strapi
Strapi ([strapi.io](https://strapi.io/)) is a so-called *headless content management system (CMS)*. Strapi ([strapi.io](https://strapi.io/)) is a so-called _headless content management system (CMS)_.
Headless just means that we load the content from it via an API, rather than have it be part of our Headless just means that we load the content from it via an API, rather than have it be part of our
website like a classic CMS (eg. Wordpress). website like a classic CMS (eg. Wordpress).

View file

@ -12,7 +12,7 @@ about: While documentation is good, sometimes you want to add some instructions
</Note> </Note>
Adding instructions to your pattern is *just* a matter of adding text. Adding instructions to your pattern is _just_ a matter of adding text.
The tricky part is to make sure your text can be translated. The tricky part is to make sure your text can be translated.
Below is a rather involved example from Aaron: Below is a rather involved example from Aaron:

View file

@ -9,7 +9,7 @@ After using the [shorthand](/howtos/code/shorthand/) call,
`Path` contains the path constructor, while `paths` is a reference to `part.paths`, `Path` contains the path constructor, while `paths` is a reference to `part.paths`,
which is where you should store your paths. which is where you should store your paths.
Things will now *just work* when you do this: Things will now _just work_ when you do this:
```js ```js
paths.example = new Path() paths.example = new Path()

View file

@ -8,7 +8,7 @@ After using the [shorthand](/howtos/code/shorthand/) call,
`Point` contains the point constructor, while `points` is a reference to `part.points`, `Point` contains the point constructor, while `points` is a reference to `part.points`,
which is where you should store your points. which is where you should store your points.
Things will now *just work* when you do this: Things will now _just work_ when you do this:
```js ```js
points.centerBack = new Point(0,0); points.centerBack = new Point(0,0);

View file

@ -8,7 +8,7 @@ After using the [shorthand](/howtos/code/shorthand/) call,
`Snippet` contains the path constructor, while `snippets` is a reference to `part.snippets`, `Snippet` contains the path constructor, while `snippets` is a reference to `part.snippets`,
which is where you should store your paths. which is where you should store your paths.
Things will now *just work* when you do this: Things will now _just work_ when you do this:
```js ```js
snippets.logo = new Snippet('logo', points.logoAnchor); snippets.logo = new Snippet('logo', points.logoAnchor);

View file

@ -16,7 +16,7 @@ paths.example.attributes.add('class', 'lining dashed');
Because it's so common to set attributes, Points, Paths and Snippets all have Because it's so common to set attributes, Points, Paths and Snippets all have
the `attr()` helper method. the `attr()` helper method.
Not only is less more, the method is also *chainable*, which allows you to do this: Not only is less more, the method is also _chainable_, which allows you to do this:
```js ```js
points.message = new Point(0,0) points.message = new Point(0,0)
@ -36,7 +36,7 @@ The [adding-text](/concepts/adding-text) documentation explains this in detail.
When rendering, FreeSewing will output all your attributes. This gives you the When rendering, FreeSewing will output all your attributes. This gives you the
possiblity to use any valid attribute to control the appearance. possiblity to use any valid attribute to control the appearance.
This is also why we use the *data-* prefix for those attributes that have This is also why we use the _data-_ prefix for those attributes that have
special meaning within FreeSewing, such as `data-text`. Adding a `text` attribute special meaning within FreeSewing, such as `data-text`. Adding a `text` attribute
would result in invalid SVG as there is no such thing as a text attribute. But `data-text` would result in invalid SVG as there is no such thing as a text attribute. But `data-text`
is fine because the `data-` prefix indicates it is a [custom attribute](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/data-*). is fine because the `data-` prefix indicates it is a [custom attribute](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/data-*).

View file

@ -15,7 +15,7 @@ inject: {
} }
``` ```
The `front` and `back` parts will be *injected* with the `base` part. As a result, both The `front` and `back` parts will be _injected_ with the `base` part. As a result, both
the `front` and `back` parts will be instantiated with a cloned copy of all the points, paths, the `front` and `back` parts will be instantiated with a cloned copy of all the points, paths,
and snippets of the `base` part. and snippets of the `base` part.

View file

@ -48,7 +48,7 @@ import { dimensions } from './shared'
<Note> <Note>
Since our shared dimension method is a so-called *named export* we need to Since our shared dimension method is a so-called _named export_ we need to
import it with the syntax you see above. import it with the syntax you see above.
</Note> </Note>

View file

@ -12,7 +12,7 @@ about: Shows how to store a seam length so you can true the seam of another part
</Note> </Note>
Often when designing patterns, we need to *true a seam* which means to make sure Often when designing patterns, we need to _true a seam_ which means to make sure
that two parts that need to be joined together are the same distance. that two parts that need to be joined together are the same distance.
The example below is from Aaron and stores the length of the armhole seam: The example below is from Aaron and stores the length of the armhole seam:

View file

@ -12,7 +12,7 @@ about: Slash and spread is easy enough on paper, here's how to do it in code
</Note> </Note>
When we *slash and spread* a pattern, we cut out a triangle, and then rotate it When we _slash and spread_ a pattern, we cut out a triangle, and then rotate it
around the tip of the triangle. around the tip of the triangle.
And that's exactly what we do in code. We just need to know: And that's exactly what we do in code. We just need to know:

View file

@ -13,7 +13,7 @@ You can find a list of all FreeSewing hotwtos below:
Howtos give your concrete steps to solve a common problem or challenge. Howtos give your concrete steps to solve a common problem or challenge.
Guides and howtos are on a spectrum with howtos being terse *do-this-then-that* recipes, whereas Guides and howtos are on a spectrum with howtos being terse _do-this-then-that_ recipes, whereas
guides take more time to explain in-depth what is being done and why. guides take more time to explain in-depth what is being done and why.
For more details, refer to [How we structure our documentation](/guides/docs). For more details, refer to [How we structure our documentation](/guides/docs).

View file

@ -11,7 +11,7 @@ you can generate patterns in the browser with a few lines of Javascript.
##### Use FreeSewing.org if you just want a pattern ##### Use FreeSewing.org if you just want a pattern
These instructions are intended for people who want to generate These instructions are intended for people who want to generate
their own patterns. If you *just want a sewing pattern* you can their own patterns. If you _just want a sewing pattern_ you can
get all our designs on [FreeSewing.org](https://FreeSewing.org/), get all our designs on [FreeSewing.org](https://FreeSewing.org/),
our website for makers. our website for makers.

View file

@ -12,7 +12,7 @@ generate a pattern.
##### Use FreeSewing.org if you just want a pattern ##### Use FreeSewing.org if you just want a pattern
These instructions are intended for people who want to generate These instructions are intended for people who want to generate
their own patterns. If you *just want a sewing pattern* you can their own patterns. If you _just want a sewing pattern_ you can
get all our designs on [FreeSewing.org](https://FreeSewing.org/), get all our designs on [FreeSewing.org](https://FreeSewing.org/),
our website for makers. our website for makers.

View file

@ -17,7 +17,7 @@ spending much time to write a meaningful commit message:
git add . && git commit -m "save" git add . && git commit -m "save"
``` ```
The way you can get the best of both worlds is by *rewriting history*. The way you can get the best of both worlds is by _rewriting history_.
Save as many times you want, and when you've gotten to the point where Save as many times you want, and when you've gotten to the point where
you feel like you've hit a good milestone, roll them all back and commit you feel like you've hit a good milestone, roll them all back and commit
anew with a nice commit message that makes it seem you had it all figured anew with a nice commit message that makes it seem you had it all figured

View file

@ -20,7 +20,7 @@ Go ahead and read those, we'll wait.
## Good to know ## Good to know
With that out of the way, here's a few more things that are *good to know*: With that out of the way, here's a few more things that are _good to know_:
- Nobody gets paid to work on/for FreeSewing. We are a 100% volunteer organisation. - Nobody gets paid to work on/for FreeSewing. We are a 100% volunteer organisation.
- We have patrons who support us financially, but all the money that comes in goes to charity — - We have patrons who support us financially, but all the money that comes in goes to charity —

View file

@ -4,7 +4,7 @@ title: hide
The `hide` key in the pattern configuration file allow you to configure The `hide` key in the pattern configuration file allow you to configure
parts that should be hidden by default. parts that should be hidden by default.
*Hidden* means that they will be drafted, but not rendered. This is _Hidden_ means that they will be drafted, but not rendered. This is
typically used for a base part on which other parts are built. typically used for a base part on which other parts are built.
Note that hidden parts will be rendered when the user requests Note that hidden parts will be rendered when the user requests

View file

@ -4,7 +4,7 @@ title: inject
The `inject` key in the pattern configuration file allow you to configure The `inject` key in the pattern configuration file allow you to configure
the rules for injecting one part into another. the rules for injecting one part into another.
By *injecting* we mean that rather than starting out with a fresh part, By _injecting_ we mean that rather than starting out with a fresh part,
you'll get a part that has the points, paths, and snippets of the injected part. you'll get a part that has the points, paths, and snippets of the injected part.
## Structure ## Structure

View file

@ -11,7 +11,7 @@ One of the things that sets FreeSewing apart is that sewing patterns are not
static. Each pattern is generated on the spot to accommodate the input static. Each pattern is generated on the spot to accommodate the input
provided by the user. Input that typically includes their measurments. provided by the user. Input that typically includes their measurments.
This *made-to-measure* approach is sort of *our thing* at FreeSewing, This _made-to-measure_ approach is sort of _our thing_ at FreeSewing,
but why stop there? but why stop there?
There's a lot of things that can be left up to the user and taken into There's a lot of things that can be left up to the user and taken into
consideration when drafting the pattern. Things like how many buttons to use, consideration when drafting the pattern. Things like how many buttons to use,

View file

@ -34,13 +34,13 @@ options: {
##### What's wrong with millimeter options? ##### What's wrong with millimeter options?
Millimeter options do not scale. Millimeter options do not scale.
Parametric design is the *raison d'être* of FreeSewing and that core belief Parametric design is the _raison d'être_ of FreeSewing and that core belief
that things should seamlessly adapt goes out the window when you use a `mm` that things should seamlessly adapt goes out the window when you use a `mm`
option because now you have a value that will not change based on the option because now you have a value that will not change based on the
input measurements. input measurements.
You could argue that it's fine because *you can just lower the option* You could argue that it's fine because _you can just lower the option_
but that breaks the principle of *sensible defaults* (aka no surprises). but that breaks the principle of _sensible defaults_ (aka no surprises).
The fact that you can sidestep the bullet does not mean you're not creating The fact that you can sidestep the bullet does not mean you're not creating
a footgun. a footgun.

View file

@ -4,7 +4,7 @@ title: Snapped percentage options
Snapped percentage options are a hybrid between [list options][list] and Snapped percentage options are a hybrid between [list options][list] and
[percentage options][pct]. By combining traits of both, they create a [percentage options][pct]. By combining traits of both, they create a
sort of *smart list option* that will select the most appropriate value sort of _smart list option_ that will select the most appropriate value
from the list, and also allow a pure parametric value if no close match from the list, and also allow a pure parametric value if no close match
is found. is found.
@ -28,7 +28,7 @@ There are three different scenarios:
### snap holds a number ### snap holds a number
When `snap` holds a number, the option will be *snapped* to a When `snap` holds a number, the option will be _snapped_ to a
multiple of this value. multiple of this value.
In the example below, the absolute value of this option will be set to a multiple of `7` In the example below, the absolute value of this option will be set to a multiple of `7`
@ -54,7 +54,7 @@ of all possible inputs.
### snap holds an array of numbers ### snap holds an array of numbers
When snap holds an array of numbers, the option will be *snapped* to one of When snap holds an array of numbers, the option will be _snapped_ to one of
the numbers unless it's further away than half the distance to its closest neighbor. the numbers unless it's further away than half the distance to its closest neighbor.
In the example below, if the absolute value returned by `toAbs()` is in the In the example below, if the absolute value returned by `toAbs()` is in the
@ -151,9 +151,9 @@ We combine approaches A and B and configure a snapped percentage option
with: with:
- A percentage based on `waistToFloor` - A percentage based on `waistToFloor`
- Our list of standard elastic widths as *snaps* - Our list of standard elastic widths as _snaps_
For typical humans, our options will *snap* to the closest match in our For typical humans, our options will _snap_ to the closest match in our
list and behave just like Approach A (with a list option). list and behave just like Approach A (with a list option).
For dolls and giants, the option will revert to the parametric value and For dolls and giants, the option will revert to the parametric value and

View file

@ -3,7 +3,7 @@ title: The advanced option group
--- ---
Naming an option group `advanced` will hide it by default from the user Naming an option group `advanced` will hide it by default from the user
unless they enable *expert mode*. unless they enable _expert mode_.
```js ```js
optionGroups: { optionGroups: {

View file

@ -35,7 +35,7 @@ const Sorcha = new freesewing.Design(config, plugins)
<Tip> <Tip>
This method is a *super-constructor*. It will return a constructor This method is a _super-constructor_. It will return a constructor
method that will become the default export of your design and method that will become the default export of your design and
should be called to instantiate your pattern. should be called to instantiate your pattern.

View file

@ -17,7 +17,7 @@ in [our i18n plugin](/reference/plugins/i18n/).
## Understanding the insertText hook ## Understanding the insertText hook
When we say that *this hook is called when text is about to be inserted*, that is a simplified view. When we say that _this hook is called when text is about to be inserted_, that is a simplified view.
In reality, this hook is called: In reality, this hook is called:
- For every value set on data-text - For every value set on data-text

View file

@ -2,7 +2,7 @@
title: bartack title: bartack
--- ---
The `bartack` macro allows you to add a *bartack* marker to your sewing pattern. The `bartack` macro allows you to add a _bartack_ marker to your sewing pattern.
It is provided by the [bartack plugin](/reference/plugins/bartack/). It is provided by the [bartack plugin](/reference/plugins/bartack/).
<Example part="plugin_bartack"> <Example part="plugin_bartack">

View file

@ -2,7 +2,7 @@
title: bartackAlong title: bartackAlong
--- ---
The `bartackAlong` macro allows you to add a *bartack* marker to your sewing pattern. The `bartackAlong` macro allows you to add a _bartack_ marker to your sewing pattern.
More specifically, a bartack along a path. More specifically, a bartack along a path.
It is provided by the [bartack plugin](/reference/plugins/bartack/). It is provided by the [bartack plugin](/reference/plugins/bartack/).

View file

@ -2,7 +2,7 @@
title: bartackFractionAlong title: bartackFractionAlong
--- ---
The `bartackFractionAlong` macro allows you to add a *bartack* marker to your sewing pattern. The `bartackFractionAlong` macro allows you to add a _bartack_ marker to your sewing pattern.
More specifically, a bartack along a fraction of a path. More specifically, a bartack along a fraction of a path.
It is provided by the [bartack plugin](/reference/plugins/bartack/). It is provided by the [bartack plugin](/reference/plugins/bartack/).

View file

@ -2,7 +2,7 @@
title: cutonfold title: cutonfold
--- ---
The `cutonfold` macro adds a *cut on fold* indicator to your pattern.\ The `cutonfold` macro adds a _cut on fold_ indicator to your pattern.\
It is provided by the [cutonfold plugin](/reference/plugins/cutonfold). It is provided by the [cutonfold plugin](/reference/plugins/cutonfold).
<Example part="plugin_cutonfold"> <Example part="plugin_cutonfold">
@ -19,8 +19,8 @@ macro('cutonfold', {
| Property | Default | Type | Description | | Property | Default | Type | Description |
|------------:|---------|---------------------|-------------| |------------:|---------|---------------------|-------------|
| `from` | | [Point](/reference/api/point) | The startpoint of the *cut on fold* indicator | | `from` | | [Point](/reference/api/point) | The startpoint of the _cut on fold_ indicator |
| `to` | | [Point](/reference/api/point) | The endpoint of the *cut on fold* indicator | | `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 | | `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 | | `offset` | 15 | Number | The distance in mm to offset from the line from start to end |
| `grainline` | `false` | Boolean | Whether this cutonfold indicator is also the grainline | | `grainline` | `false` | Boolean | Whether this cutonfold indicator is also the grainline |

View file

@ -22,7 +22,7 @@ macro("gore", {
|--------------:|---------|------------|----------------------------------------------| |--------------:|---------|------------|----------------------------------------------|
| `from` | | [Point][2] | The point to start drafting the gore from | | `from` | | [Point][2] | The point to start drafting the gore from |
| `radius` | | number | The radius of the sphere the gores should cover | | `radius` | | number | The radius of the sphere the gores should cover |
| `gores` | | number | The text to put on the *grainline* indicator | | `gores` | | number | The text to put on the _grainline_ indicator |
| `extraLength` | | number | The length of the straight section after a complete semisphere | | `extraLength` | | number | The length of the straight section after a complete semisphere |
| `render` | `false` | boolean | Whether or not to render the generated path | | `render` | `false` | boolean | Whether or not to render the generated path |
| `class` | | boolean | Any classes to add to the generated path | | `class` | | boolean | Any classes to add to the generated path |

View file

@ -2,7 +2,7 @@
title: grainline title: grainline
--- ---
The `grainline` macro adds a *grainline* indicator to your pattern.\ The `grainline` macro adds a _grainline_ indicator to your pattern.\
It is provided by the [grainline plugin](/reference/plugins/grainline/). It is provided by the [grainline plugin](/reference/plugins/grainline/).
<Example part="plugin_grainline"> <Example part="plugin_grainline">
@ -18,8 +18,8 @@ macro("grainline", {
| Property | Default | Type | Description | | Property | Default | Type | Description |
|------------:|-------------|------------|----------------------------------------------| |------------:|-------------|------------|----------------------------------------------|
| `from` | | [Point][1] | The startpoint of the *grainline* indicator | | `from` | | [Point][1] | The startpoint of the _grainline_ indicator |
| `to` | | [Point][1] | The endpoint of the *grainline* indicator | | `to` | | [Point][1] | The endpoint of the _grainline_ indicator |
| `text` | 'grainline' | string | The text to put on the *grainline* indicator | | `text` | 'grainline' | string | The text to put on the _grainline_ indicator |
[1]: /reference/api/point [1]: /reference/api/point

View file

@ -2,7 +2,7 @@
title: hd title: hd
--- ---
The `hd` macro adds a *horizontal dimension* to your pattern.\ The `hd` macro adds a _horizontal dimension_ to your pattern.\
It is provided by the [dimension plugin](/reference/plugins/dimension/). It is provided by the [dimension plugin](/reference/plugins/dimension/).
<Example part="point_dx"> <Example part="point_dx">

View file

@ -2,7 +2,7 @@
title: ld title: ld
--- ---
The `ld` macro adds a *linear dimension* to your pattern.\ The `ld` macro adds a _linear dimension_ to your pattern.\
It is provided by the [dimension plugin](/reference/plugins/dimension/). It is provided by the [dimension plugin](/reference/plugins/dimension/).
<Example part="point_dist"> <Example part="point_dist">

View file

@ -2,7 +2,7 @@
title: miniscale title: miniscale
--- ---
The `miniscale` macro adds a mini *scale box* to your pattern. This box allows The `miniscale` macro adds a mini _scale box_ to your pattern. This box allows
users to verify their pattern is printed to scale. users to verify their pattern is printed to scale.
The `miniscale` macro is provided by the [scalebox plugin](/reference/plugins/scalebox). The `miniscale` macro is provided by the [scalebox plugin](/reference/plugins/scalebox).
@ -20,5 +20,5 @@ macro('miniscale', {
| Property | Default | Type | Description | | Property | Default | Type | Description |
|-------------|---------|---------------------|-------------| |-------------|---------|---------------------|-------------|
| `at` | | [Point](/reference/api/point) | The point to anchor the *scale box* on | | `at` | | [Point](/reference/api/point) | The point to anchor the _scale box_ on |
| `rotate` | 0 | Number | Rotation in degrees | | `rotate` | 0 | Number | Rotation in degrees |

View file

@ -35,7 +35,7 @@ macro('sprinkle', {
| Property | Default | Type | Description | | Property | Default | Type | Description |
|-------------:|------------|------------|-------------| |-------------:|------------|------------|-------------|
| `mirror` | | `array` | Array with 2 [Point](/reference/api/point) objects that define the *mirror line* | | `mirror` | | `array` | Array with 2 [Point](/reference/api/point) objects that define the _mirror line_ |
| `clone` | `true` | `bool` | Whether to clone mirrored points and or paths | | `clone` | `true` | `bool` | Whether to clone mirrored points and or paths |
| `points` | | `array` | An array of [Point](/reference/api/point) objects | | `points` | | `array` | An array of [Point](/reference/api/point) objects |
| `paths` | | `array` | An array of [Path](/reference/api/path) objects | | `paths` | | `array` | An array of [Path](/reference/api/path) objects |

View file

@ -2,7 +2,7 @@
title: pd title: pd
--- ---
The `pd` macro adds a *path dimension* to your pattern, indicating the length of a path.\ The `pd` macro adds a _path dimension_ to your pattern, indicating the length of a path.\
It is provided by the [dimension plugin](/reference/plugins/dimension/). It is provided by the [dimension plugin](/reference/plugins/dimension/).
<Example part="path_length"> <Example part="path_length">

View file

@ -2,7 +2,7 @@
title: scalebox title: scalebox
--- ---
The `scalebox` macro adds a *scale box* to your pattern. This box allows The `scalebox` macro adds a _scale box_ to your pattern. This box allows
users to verify their pattern is printed to scale. users to verify their pattern is printed to scale.
The `scalebox` macro is provided by the [scalebox plugin](/reference/plugins/scalebox). The `scalebox` macro is provided by the [scalebox plugin](/reference/plugins/scalebox).
@ -19,9 +19,9 @@ macro('scalebox', {
| Property | Default | Type | Description | | Property | Default | Type | Description |
|-------------|---------|---------------------|-------------| |-------------|---------|---------------------|-------------|
| `at` | | [Point](/reference/api/point) | The point to anchor the *scale box* on | | `at` | | [Point](/reference/api/point) | The point to anchor the _scale box_ on |
| `lead` | FreeSewing | String | The lead text above the title | | `lead` | FreeSewing | String | The lead text above the title |
| `title` | *pattern name + version* | String | The title text | | `title` | _pattern name + version_ | String | The title text |
| `text` | (\*) | String | The text below the title | | `text` | (\*) | String | The text below the title |
| `rotate` | 0 | Number | Rotation in degrees | | `rotate` | 0 | Number | Rotation in degrees |

View file

@ -2,7 +2,7 @@
title: vd title: vd
--- ---
The `vd` macro adds a *vertical dimension* to your pattern.\ The `vd` macro adds a _vertical dimension_ to your pattern.\
It is provided by the [dimension plugin](/reference/plugins/dimension/). It is provided by the [dimension plugin](/reference/plugins/dimension/).
<Example part="point_dy"> <Example part="point_dy">

View file

@ -45,7 +45,7 @@ snippets.x2 = new Snippet("notch", points.x2);
##### The second parameter is optional ##### The second parameter is optional
The second parameter controls the precision by which the path will be *walked*. The second parameter controls the precision by which the path will be _walked_.
By default, we'll divide it into 25 steps per mm. By default, we'll divide it into 25 steps per mm.
If you don't need that precision, you can pass a lower number. If you don't need that precision, you can pass a lower number.

View file

@ -45,7 +45,7 @@ snippets.x2 = new Snippet("notch", points.x2);
##### The second parameter is optional ##### The second parameter is optional
The second parameter controls the precision by which the path will be *walked*. The second parameter controls the precision by which the path will be _walked_.
By default, we'll divide it into 25 steps per mm. By default, we'll divide it into 25 steps per mm.
If you don't need that precision, you can pass a lower number. If you don't need that precision, you can pass a lower number.

View file

@ -2,7 +2,7 @@
title: Pattern.sample() title: Pattern.sample()
--- ---
A pattern's `sample()` method will *sample* the pattern which means A pattern's `sample()` method will _sample_ the pattern which means
to draft it in different iterations while adjusting the input settings. to draft it in different iterations while adjusting the input settings.
Under the hood, this method will call one of Under the hood, this method will call one of
[Pattern.sampleOption()](/reference/apu/pattern/sampleoption), [Pattern.sampleOption()](/reference/apu/pattern/sampleoption),

View file

@ -2,7 +2,7 @@
title: Pattern.sampleMeasurement() title: Pattern.sampleMeasurement()
--- ---
A pattern's `sampleMeasurement()` method will *sample* a given measurement, A pattern's `sampleMeasurement()` method will _sample_ a given measurement,
which means to draft it in different iterations while adjusting the input value which means to draft it in different iterations while adjusting the input value
of the given measurement. of the given measurement.
In practice, it will draft 10 iterations of the pattern In practice, it will draft 10 iterations of the pattern

View file

@ -2,7 +2,7 @@
title: Pattern.sampleModels() title: Pattern.sampleModels()
--- ---
A pattern's `sampleModels()` method will *sample* a pattern for a list of A pattern's `sampleModels()` method will _sample_ a pattern for a list of
models you pass to it. It will draft different iterations of the pattern, models you pass to it. It will draft different iterations of the pattern,
using the measurements for each model you pass to it. using the measurements for each model you pass to it.
@ -51,7 +51,7 @@ The (optional) string you can pass as the second parameter should hold the
key of one of the models in the first parameter. In our example above, it key of one of the models in the first parameter. In our example above, it
could hold `modelName2` for example. could hold `modelName2` for example.
By passing this second parameter, you can put the *focus* on one of the models, By passing this second parameter, you can put the _focus_ on one of the models,
which will influence the render style, and make it which will influence the render style, and make it
easier to see a comparison between a given set of measrurements, and the rest. easier to see a comparison between a given set of measrurements, and the rest.

View file

@ -2,7 +2,7 @@
title: Pattern.sampleOption() title: Pattern.sampleOption()
--- ---
A pattern's `sampleOption()` method will *sample* a given option, A pattern's `sampleOption()` method will _sample_ a given option,
which means to draft it in different iterations while adjusting the input value which means to draft it in different iterations while adjusting the input value
of the given option. of the given option.
The practical implementation varies based on [the type of option](/config/options/): The practical implementation varies based on [the type of option](/config/options/):

View file

@ -3,7 +3,7 @@ title: Point.copy()
--- ---
A point's `copy()` method returns a new point with the same coordinates as the original point. A point's `copy()` method returns a new point with the same coordinates as the original point.
This method does *not* copy any attributes the original point may have. This method does _not_ copy any attributes the original point may have.
## Point.copy() signature ## Point.copy() signature

View file

@ -2,13 +2,13 @@
title: Point.sitsOn() title: Point.sitsOn()
--- ---
Returns `true` if this point has the *exact* same coordinates as the point you pass to it. Returns `true` if this point has the _exact_ same coordinates as the point you pass to it.
<Note> <Note>
###### Too exact? ###### Too exact?
This method is *very* precise, so points with an X-coordinate of `10` and `10.0001` This method is _very_ precise, so points with an X-coordinate of `10` and `10.0001`
are considered to be different. are considered to be different.
To check if two points have the same coordinates rounded to the nearest To check if two points have the same coordinates rounded to the nearest

View file

@ -15,7 +15,7 @@ array | false utils.beamIntersectsCircle(
Finds the intersection between an endless line through points `point1` and `point2` Finds the intersection between an endless line through points `point1` and `point2`
and a circle with its center at point `center` and a radius of `radius` mm. and a circle with its center at point `center` and a radius of `radius` mm.
The 5th and last parameter controls the *sorting* of the found intersections. The 5th and last parameter controls the _sorting_ of the found intersections.
This will (almost) always return 2 intersections, and you can choose how This will (almost) always return 2 intersections, and you can choose how
they are ordered in the returned array: they are ordered in the returned array:

View file

@ -14,7 +14,7 @@ array | false utils.circlesIntersect(
Finds the intersections between two circles described by their center point and radius. Finds the intersections between two circles described by their center point and radius.
The 5th and last parameter controls the *sorting* of the found intersections. The 5th and last parameter controls the _sorting_ of the found intersections.
When this returns 2 intersections, you can choose how they are ordered in the returned array: When this returns 2 intersections, you can choose how they are ordered in the returned array:
Set sort to: Set sort to:

View file

@ -15,7 +15,7 @@ array | false utils.lineIntersectsCircle(
Finds the intersection between a line segment from point `from` to point `to` Finds the intersection between a line segment from point `from` to point `to`
and a circle with its center at point `center` and a radius of `radius` mm. and a circle with its center at point `center` and a radius of `radius` mm.
The 5th and last parameter controls the *sorting* of the found intersections. The 5th and last parameter controls the _sorting_ of the found intersections.
When this returns 2 intersections, you can choose how they are ordered in the returned array: When this returns 2 intersections, you can choose how they are ordered in the returned array:
Set sort to: Set sort to:

View file

@ -8,7 +8,7 @@ float utils.stretchToScale(float stretch)
The way people measure stretch intuitively is different from the way we handle stretch in code. The way people measure stretch intuitively is different from the way we handle stretch in code.
When people say *25% stretch* they mean that 10cm fabric gets stretched to 12.5cm fabric. When people say _25% stretch_ they mean that 10cm fabric gets stretched to 12.5cm fabric.
In code and on our patterns, that means we need to scale things by 80%. In code and on our patterns, that means we need to scale things by 80%.
This method does that by returning: This method does that by returning:

View file

@ -3,7 +3,7 @@ title: "@freesewing/plugin-dimension"
--- ---
The **@freesewing/plugin-dimension** plugin provides a variety of macros The **@freesewing/plugin-dimension** plugin provides a variety of macros
to facilitate adding *dimensions* to your design. By *dimensions* we mean to facilitate adding _dimensions_ to your design. By _dimensions_ we mean
the indicators for distance that are added to patterns the indicators for distance that are added to patterns
in [paperless mode](/reference/api/settings/paperless). in [paperless mode](/reference/api/settings/paperless).

View file

@ -3,7 +3,7 @@ title: "@freesewing/plugin-grainline"
--- ---
The **@freesewing/plugin-grainline** plugin provides [the grainline The **@freesewing/plugin-grainline** plugin provides [the grainline
macro](/reference/macros/grainline/) which adds a *grainline* indicator macro](/reference/macros/grainline/) which adds a _grainline_ indicator
to your design. to your design.
<Example part="plugin_grainline">An example of the grainline macro</Example> <Example part="plugin_grainline">An example of the grainline macro</Example>

View file

@ -5,7 +5,7 @@ title: "@freesewing/plugin-sprinkle"
The **@freesewing/plugin-sprinkle** plugin provides [the The **@freesewing/plugin-sprinkle** plugin provides [the
sprinkle macro](/reference/api/macros/sprinkle/) which is a faster way sprinkle macro](/reference/api/macros/sprinkle/) which is a faster way
to add several of the same snippets to your designs (think of it as to add several of the same snippets to your designs (think of it as
*sprinkling* them onto your parts). _sprinkling_ them onto your parts).
<Example part="plugin_sprinkle">An example of the sprinkle macro</Example> <Example part="plugin_sprinkle">An example of the sprinkle macro</Example>

View file

@ -4,4 +4,4 @@ title: Commit
A [commit](https://github.com/git-guides/git-commit) is made every time somebody publishes an update to our source code. A [commit](https://github.com/git-guides/git-commit) is made every time somebody publishes an update to our source code.
The word is also used as a verb as in *to commit changes*. The word is also used as a verb as in _to commit changes_.

View file

@ -4,4 +4,4 @@ title: Discord
The name of our chat provider that powers our chat at https://discord.freesewing.org/ The name of our chat provider that powers our chat at https://discord.freesewing.org/
When you hear *discord* just think *chat*. When you hear _discord_ just think _chat_.

View file

@ -19,7 +19,7 @@ built with Gatsby.
## i18n ## i18n
Short of *internationalisation*. within the context of FreeSewing, this mostly Short of _internationalisation_. within the context of FreeSewing, this mostly
means translation, but can also relate to other intenationalisation concerns such means translation, but can also relate to other intenationalisation concerns such
as the type of units to use, or paper sizes, and so on. as the type of units to use, or paper sizes, and so on.

View file

@ -2,6 +2,6 @@
title: i18n title: i18n
--- ---
Short for *internationalisation*. Within the context of FreeSewing, this mostly Short for _internationalisation_. Within the context of FreeSewing, this mostly
means translation, but can also relate to other internationalisation concerns such means translation, but can also relate to other internationalisation concerns such
as the type of units to use, or paper sizes, and so on. as the type of units to use, or paper sizes, and so on.

View file

@ -6,7 +6,7 @@ order: 10
FreeSewing is built with [Node.js](https://nodejs.org/), a JavaScript runtime. FreeSewing is built with [Node.js](https://nodejs.org/), a JavaScript runtime.
You'll need to install Node JS on your system, and to do so, we'll You'll need to install Node JS on your system, and to do so, we'll
use [nvm](https://github.com/nvm-sh/nvm), short for *Node version manager*. use [nvm](https://github.com/nvm-sh/nvm), short for _Node version manager_.
Using nvm has a number of benefits in comparison with installing Node from Using nvm has a number of benefits in comparison with installing Node from
the node.js website, or from a package provided by your linux distribution: the node.js website, or from a package provided by your linux distribution:

View file

@ -18,7 +18,7 @@ nvm ls
``` ```
It will show you a list of local node versions. It will show you a list of local node versions.
Either the version number, or an *alias* that points to a specific version. Either the version number, or an _alias_ that points to a specific version.
You should see the `lts/*` alias in the list which is what we've just installed. You should see the `lts/*` alias in the list which is what we've just installed.
### nvm ls-remote ### nvm ls-remote

View file

@ -6,7 +6,7 @@ order: 20
FreeSewing is built with [Node.js](https://nodejs.org/), a JavaScript runtime. FreeSewing is built with [Node.js](https://nodejs.org/), a JavaScript runtime.
You'll need to install Node JS on your system, and to do so, we'll You'll need to install Node JS on your system, and to do so, we'll
use [nvm](https://github.com/nvm-sh/nvm), short for *Node version manager*. use [nvm](https://github.com/nvm-sh/nvm), short for _Node version manager_.
Using nvm has a number of benefits in comparison with installing Node from Using nvm has a number of benefits in comparison with installing Node from
the node.js website, or from a package provided by Homebrew or your OS distribution: the node.js website, or from a package provided by Homebrew or your OS distribution:

View file

@ -4,7 +4,7 @@ order: 10
--- ---
Before we can get started, we need some basic tools for development. Before we can get started, we need some basic tools for development.
They are bundled in the *Xcode command-line tools* so let's install They are bundled in the _Xcode command-line tools_ so let's install
that first. that first.
Open the Terminal application, and type the following command: Open the Terminal application, and type the following command:

View file

@ -18,7 +18,7 @@ nvm ls
``` ```
It will show you a list of local node versions. It will show you a list of local node versions.
Either the version number, or an *alias* that points to a specific version. Either the version number, or an _alias_ that points to a specific version.
You should see the `lts/*` alias in the list which is what we've just installed. You should see the `lts/*` alias in the list which is what we've just installed.
### nvm ls-remote ### nvm ls-remote

View file

@ -3,13 +3,13 @@ title: Adding measurements
order: 130 order: 130
--- ---
FreeSewing is all about *made-to-measure* sewing patterns; FreeSewing is all about _made-to-measure_ sewing patterns;
we are going to draft our pattern according to the measurements provided to us. we are going to draft our pattern according to the measurements provided to us.
Which begs the question, which measurements? Which begs the question, which measurements?
It is you, as the pattern designer, who decides which measurements are required to draft your pattern. It is you, as the pattern designer, who decides which measurements are required to draft your pattern.
For our bib, the only measurement we need is the baby's *head circumference*. For our bib, the only measurement we need is the baby's _head circumference_.
So let's add it as a required measurement. So let's add it as a required measurement.

View file

@ -3,7 +3,7 @@ title: Adding options
order: 140 order: 140
--- ---
You know what your bib should look like, and you have the *head* measurement You know what your bib should look like, and you have the _head_ measurement
to work with. But there's still a number of choices you have to make: to work with. But there's still a number of choices you have to make:
- How large should the neck opening be? - How large should the neck opening be?

View file

@ -22,8 +22,8 @@ export default function(part) {
} }
``` ```
So far, we've kept to the *// Design pattern here* area, but now we're going to work on So far, we've kept to the _// Design pattern here_ area, but now we're going to work on
the area under *// Complete?* the area under _// Complete?_
<Note> <Note>
@ -122,7 +122,7 @@ However, for future refefence, `sa` is a variable that you can get from `part.sh
just like `complete`. But instead of `true` or `false` it will hold the amount of seam allowance just like `complete`. But instead of `true` or `false` it will hold the amount of seam allowance
in mm. in mm.
Note that you can still do `if (sa)` because zero is *falsy*. Note that you can still do `if (sa)` because zero is _falsy_.
We won't be adding seam allowance, but we will be doing something that is essentially the same. We won't be adding seam allowance, but we will be doing something that is essentially the same.
Rather than draw an outline outside our bib to indicate the seam allowance, we'll draw one within Rather than draw an outline outside our bib to indicate the seam allowance, we'll draw one within
@ -170,10 +170,10 @@ points.scalebox = points.title.shift(-90, 55)
macro("scalebox", { at: points.scalebox }) macro("scalebox", { at: points.scalebox })
``` ```
And with that, our pattern is now *complete*: And with that, our pattern is now _complete_:
<Example pattern="tutorial" part="step11"> <Example pattern="tutorial" part="step11">
We used attributes to add color, dashes, text on a path and even opacity We used attributes to add color, dashes, text on a path and even opacity
</Example> </Example>
We're not done yet though. There's one more thing the user can ask for: a *paperless* pattern. We're not done yet though. There's one more thing the user can ask for: a _paperless_ pattern.

View file

@ -62,7 +62,7 @@ points.rightCp1 = points.right
.shift(90, points.bottom.dy(points.right)/2) .shift(90, points.bottom.dy(points.right)/2)
``` ```
- We're adding a point named `rightCp1`, which will become the *control point* of the right part - We're adding a point named `rightCp1`, which will become the _control point_ of the right part
- Instead of using the Point constructor, we're calling the `Point.shift()` method on an existing point - Instead of using the Point constructor, we're calling the `Point.shift()` method on an existing point
- It takes two arguments: The angle to shift towards, and the distance - It takes two arguments: The angle to shift towards, and the distance
- You can see that we're shifting 90 degrees (that means up) but the distance uses another method - You can see that we're shifting 90 degrees (that means up) but the distance uses another method

View file

@ -124,5 +124,5 @@ it doesn't look much different. We'll use some other classes later that will mak
</Note> </Note>
It's looking pretty good. But those sharp corners at the bottom don't exactly say *baby* do they? It's looking pretty good. But those sharp corners at the bottom don't exactly say _baby_ do they?
Let's fix that. Let's fix that.

View file

@ -3,7 +3,7 @@ title: Fitting the neck opening
order: 170 order: 170
--- ---
Here's how we'll make sure the neck opening is *just right*: Here's how we'll make sure the neck opening is _just right_:
```js ```js
let tweak = 1 let tweak = 1
@ -28,7 +28,7 @@ do {
We've added a few new variables: We've added a few new variables:
- `tweak`: A *tweak factor* that we'll use to increase or decrease the neck opening by making it more or less than 1 - `tweak`: A _tweak factor_ that we'll use to increase or decrease the neck opening by making it more or less than 1
- `target`: How long our (quarter) neck opening should be - `target`: How long our (quarter) neck opening should be
- `delta`: How far we're off. Positive numbers mean it's too long, negative means too short - `delta`: How far we're off. Positive numbers mean it's too long, negative means too short

View file

@ -25,7 +25,7 @@ let {
} = part.shorthand() } = part.shorthand()
``` ```
The idea behind *paperless patterns* is that users don't need to print your The idea behind _paperless patterns_ is that users don't need to print your
pattern in order to use it. pattern in order to use it.
Instead, we include dimensions on the pattern that allows them to transfer Instead, we include dimensions on the pattern that allows them to transfer
the pattern directly onto fabric, or onto an intermediate medium such as tracing paper. the pattern directly onto fabric, or onto an intermediate medium such as tracing paper.
@ -81,7 +81,7 @@ if (paperless) {
} }
``` ```
There's a lot going on, but it's mostly repetition. To see what that did to your pattern, you have to enable *paperless mode* in your developing environment; you can find the option under *Pattern options* on the right. Let's look at the end result, and discuss: There's a lot going on, but it's mostly repetition. To see what that did to your pattern, you have to enable _paperless mode_ in your developing environment; you can find the option under _Pattern options_ on the right. Let's look at the end result, and discuss:
<Example pattern="tutorial" part="bib" settings_paperless="true"> <Example pattern="tutorial" part="bib" settings_paperless="true">
Your paperless bib Your paperless bib

View file

@ -45,7 +45,7 @@ This is the boilerplate of our `draftBib` method. It takes the part as an argume
<Note> <Note>
If you're new to JavaScript, and don't intuitively *get this*, stick with it. It will become second nature soon enough. If you're new to JavaScript, and don't intuitively _get this_, stick with it. It will become second nature soon enough.
</Note> </Note>
@ -61,7 +61,7 @@ let {
``` ```
This is FreeSewing's **shorthand** method. It returns an object with a bunch of handy helpers This is FreeSewing's **shorthand** method. It returns an object with a bunch of handy helpers
and you use JavaScript's *object destructuring* to only get what you need. and you use JavaScript's _object destructuring_ to only get what you need.
The example above makes the following variables available: The example above makes the following variables available:
@ -75,9 +75,9 @@ These will make it possible for you to draw points and paths easily.
The following three variables are also needed to create a full-fledged FreeSewing pattern; their function and usage will The following three variables are also needed to create a full-fledged FreeSewing pattern; their function and usage will
be covered in detail [later on in this tutorial](/tutorials/pattern-design/completing-your-pattern/): be covered in detail [later on in this tutorial](/tutorials/pattern-design/completing-your-pattern/):
- `complete`: create a *complete* pattern (or not) - `complete`: create a _complete_ pattern (or not)
- `sa`: include *seam allowance* (or not) - `sa`: include _seam allowance_ (or not)
- `paperless`: allow the pattern to be *paperless* - `paperless`: allow the pattern to be _paperless_
For now, we only need these so that the pattern skeleton compiles properly. For now, we only need these so that the pattern skeleton compiles properly.

View file

@ -11,7 +11,7 @@ and the range of options we provided.
###### No more grading ###### No more grading
FreeSewing patterns are *made-to-measure*, which means that you don't need to FreeSewing patterns are _made-to-measure_, which means that you don't need to
grade your pattern to provide a range of sizes. You should sample your pattern grade your pattern to provide a range of sizes. You should sample your pattern
for different measurements and options to see how well it adapts. for different measurements and options to see how well it adapts.
@ -87,13 +87,13 @@ If we test it, we can see that it works as intended. But there's one thing that
Making the bib wider shortens the length from the bottom of the neck opening to the bottom of the bib. Making the bib wider shortens the length from the bottom of the neck opening to the bottom of the bib.
Thereby making the bib shorter when it's worn. Thereby making the bib shorter when it's worn.
Even if the *total length* of the bib stays the same, the *useable length* shortens when the bib is made wider. Even if the _total length_ of the bib stays the same, the _useable length_ shortens when the bib is made wider.
Users will not expect this, so it's something that we should fix in our pattern. Users will not expect this, so it's something that we should fix in our pattern.
<Note> <Note>
Adjusting the pattern to make the `widthRatio` not influence the *useable length* of the bib is not Adjusting the pattern to make the `widthRatio` not influence the _useable length_ of the bib is not
covered in this tutorial. It is left *as an exercise to the reader*. covered in this tutorial. It is left _as an exercise to the reader_.
</Note> </Note>
@ -137,7 +137,7 @@ Your bib with the head circumference measurement sampled </Example>
## Testing models ## Testing models
Whereas testing a measurement will only vary one individual measurement, testing models will Whereas testing a measurement will only vary one individual measurement, testing models will
draft your pattern for different sets of measurments, which we refer to as *models*. draft your pattern for different sets of measurments, which we refer to as _models_.
On the surface, the result below is the same as our measurement test. But that is because our bib On the surface, the result below is the same as our measurement test. But that is because our bib
only uses one measurement. So testing that one measurement ends up being the same as testing a complete only uses one measurement. So testing that one measurement ends up being the same as testing a complete
@ -173,16 +173,16 @@ Your bib sampled for a range of baby sizes </Example>
## The antperson test ## The antperson test
A special case of model testing is the so-called *antperson test*. A special case of model testing is the so-called _antperson test_.
It drafts your pattern with a set of *typical* measurements , and then drafts it again It drafts your pattern with a set of _typical_ measurements , and then drafts it again
with measurements that are 1/10th of those *typical* measurements. with measurements that are 1/10th of those _typical_ measurements.
It is named after [the cartoon character](https://en.wikipedia.org/wiki/Ant-Man_\(film\)) who can shrink, It is named after [the cartoon character](https://en.wikipedia.org/wiki/Ant-Man_\(film\)) who can shrink,
yet somehow his suit still fits. yet somehow his suit still fits.
The purpose of the antperson test is to bring out areas in your pattern where you made assumptions The purpose of the antperson test is to bring out areas in your pattern where you made assumptions
that will not properly scale. that will not properly scale.
Many drafting books will tell you to *add 3cm there* or *measure 2 inch to the right*. Those instructions Many drafting books will tell you to _add 3cm there_ or _measure 2 inch to the right_. Those instructions
don't scale, and you should avoid them. don't scale, and you should avoid them.
The best patterns will pass the antperson test with 2 patterns exactly the same, where one will simply be 1/10th the scale of the other. The best patterns will pass the antperson test with 2 patterns exactly the same, where one will simply be 1/10th the scale of the other.

View file

@ -3,7 +3,7 @@ title: Your first part
order: 120 order: 120
--- ---
Much like garments themselves, patterns are made up of *parts*. Much like garments themselves, patterns are made up of _parts_.
Most patterns will have multiple parts. A sleeve, a back part, the collar, and so on. Most patterns will have multiple parts. A sleeve, a back part, the collar, and so on.
Our pattern is very simple, and only has one part: the bib. Our pattern is very simple, and only has one part: the bib.
@ -14,7 +14,7 @@ button in your browser, you'll get to see it:
![The default pattern with its box part](./step1.png) ![The default pattern with its box part](./step1.png)
Since we only need one part, we'll rename this *box* part, and call it *bib*. Since we only need one part, we'll rename this _box_ part, and call it _bib_.
## Rename the box part to bib ## Rename the box part to bib
@ -59,7 +59,7 @@ Pattern.prototype.draftBib = draftBib
###### Always use draftPartname ###### Always use draftPartname
FreeSewing will expect for each part to find a method named Draft*Partname*. FreeSewing will expect for each part to find a method named Draft\_Partname\_.
If you have a part named `sleeve` you should have a method called `draftSleeve()` that drafts that part. If you have a part named `sleeve` you should have a method called `draftSleeve()` that drafts that part.

View file

@ -2,7 +2,7 @@
title: "What's all this talk about with or without breasts?" title: "What's all this talk about with or without breasts?"
--- ---
Some people get confused by the terms *with breasts* and *without breasts*. Some people get confused by the terms _with breasts_ and _without breasts_.
We use these terms as a gender-inclusive way to ask whether or not a person has breasts. We use these terms as a gender-inclusive way to ask whether or not a person has breasts.
@ -13,11 +13,11 @@ These garment designs are usually based off of the ideal or average body.
Meaning, for womenswear, the designer will likely make a garment for a body with breasts, Meaning, for womenswear, the designer will likely make a garment for a body with breasts,
narrow shoulders, a smaller waist and wide hips. narrow shoulders, a smaller waist and wide hips.
These characteristics are generally thought of as *the typical characteristics of a woman's body*. These characteristics are generally thought of as _the typical characteristics of a woman's body_.
However, we believe it is best to stay away from this; However, we believe it is best to stay away from this;
no body is average and we want to build a gender-inclusive environment. no body is average and we want to build a gender-inclusive environment.
We do not want to exclude anyone and we think that *body shape ≠ gender*. We do not want to exclude anyone and we think that _body shape ≠ gender_.
That's why we use the terminology **with breasts** and **without breasts**, That's why we use the terminology **with breasts** and **without breasts**,
simply asking whether a person has breast tissue or not. simply asking whether a person has breast tissue or not.

View file

@ -5,7 +5,7 @@ title: I know my size, but your pattern doesn't fit me
The standard sizes we offer are there to allow you to discover our platform without The standard sizes we offer are there to allow you to discover our platform without
the need to create an account. We advise against using them as-is. the need to create an account. We advise against using them as-is.
Drafting made-to-measure sewing patterns really is *our thing*.\ Drafting made-to-measure sewing patterns really is _our thing_.\
If you insist on getting a pattern in a standard size, FreeSewing is not for you. If you insist on getting a pattern in a standard size, FreeSewing is not for you.
Thankfully, Fiona curates Thankfully, Fiona curates

View file

@ -4,7 +4,7 @@ title: Why do you even publish womenswear blocks? They are [insert strong opinio
This question comes up every now and then. This question comes up every now and then.
The wording varies, but the sentiment can be summarized as The wording varies, but the sentiment can be summarized as
*why even publish this garbage, it doesn't work at all*. _why even publish this garbage, it doesn't work at all_.
Let me start by saying that you are not wrong. Both [Breanna](/designs/breanna/) Let me start by saying that you are not wrong. Both [Breanna](/designs/breanna/)
and [Bella](/designs/bella/) have serious shortcomings. and [Bella](/designs/bella/) have serious shortcomings.

View file

@ -6,7 +6,7 @@ order: 300
To generate made-to-measure sewing patterns, we need measurements. To generate made-to-measure sewing patterns, we need measurements.
Asking for them every time would be rather tedious, so we store them for you. Asking for them every time would be rather tedious, so we store them for you.
We need a place to store them, and that *place* is your account. We need a place to store them, and that _place_ is your account.
Your account data is stored on our backend, subject to [our privacy notice][1], Your account data is stored on our backend, subject to [our privacy notice][1],
and with respect for [your rights][2]. and with respect for [your rights][2].

View file

@ -11,7 +11,7 @@ to save you a bunch of questions later, and make sure you get the most out of ou
- We'll tell you [what FreeSewing is][1] and [what freesewing.org is][2] - We'll tell you [what FreeSewing is][1] and [what freesewing.org is][2]
- We'll tell you about our [made-to-measure sewing patterns][3] - We'll tell you about our [made-to-measure sewing patterns][3]
and what we mean by [*with breasts* vs *without breasts*][4] and what we mean by [_with breasts_ vs _without breasts_][4]
- We'll cover [why you need an account][5] - We'll cover [why you need an account][5]
what we mean by [your people][6] or [your patterns][7], and we talk about [measurements][8] what we mean by [your people][6] or [your patterns][7], and we talk about [measurements][8]
- We'll go over [how you can configure your patterns][9] with design and pattern options - We'll go over [how you can configure your patterns][9] with design and pattern options

View file

@ -16,10 +16,10 @@ This estimate is based on your neck circumference, so this won't show up until y
##### This is a difficult area for us to work in ##### This is a difficult area for us to work in
We want to help you get the best results, and that includes helping you spot issues with your measurements. We want to help you get the best results, and that includes helping you spot issues with your measurements.
On the other hand, we in no way want to imply that someone's measurements are *wrong* somehow. On the other hand, we in no way want to imply that someone's measurements are _wrong_ somehow.
We are an extremely size-inclusive pattern outlet, and a disproportionate amount of our users are people who struggle to find clothes or patterns from other outlets. We are an extremely size-inclusive pattern outlet, and a disproportionate amount of our users are people who struggle to find clothes or patterns from other outlets.
So on one hand, it might seem like we're setting ourselves up for failure by comparing measurements to a set of more or less *standard* measurements. So on one hand, it might seem like we're setting ourselves up for failure by comparing measurements to a set of more or less _standard_ measurements.
But you know your body. You know which of your measurements deviate from the average. But you know your body. You know which of your measurements deviate from the average.
And us pointing out that they do is in a way only confirmation that you've been measuring correctly. And us pointing out that they do is in a way only confirmation that you've been measuring correctly.
On the other hand, if something jumps out where you are fairly average sized, you know to double-check those measurements. On the other hand, if something jumps out where you are fairly average sized, you know to double-check those measurements.

View file

@ -2,7 +2,7 @@
title: Seam allowance title: Seam allowance
--- ---
This controls whether you want *seam allowance* or not. This controls whether you want _seam allowance_ or not.
And, if you want it, how much you want. And, if you want it, how much you want.
This will probably be self-explanatory if you know what seam allowance is. This will probably be self-explanatory if you know what seam allowance is.

View file

@ -9,5 +9,5 @@ line width and so on.
It was specifically created to accommodate patterns for doll clothes and other It was specifically created to accommodate patterns for doll clothes and other
situations where the text and snippets would become too large in comparison to the pattern. situations where the text and snippets would become too large in comparison to the pattern.
You need to enable *Expert mode* after which you can find the scale setting You need to enable _Expert mode_ after which you can find the scale setting
under *Advanced*. under _Advanced_.

View file

@ -17,7 +17,7 @@ You can save as many patterns as you like.
##### Patterns vs Designs ##### Patterns vs Designs
If you came to this site looking for *patterns* you might have found them under *designs*. If you came to this site looking for _patterns_ you might have found them under _designs_.
It's not a super important distinction, but it helps to understand that: It's not a super important distinction, but it helps to understand that:
- **Design**: One of the styles that we offer. We've got dozens of designs, and you can try them all - **Design**: One of the styles that we offer. We've got dozens of designs, and you can try them all

View file

@ -7,7 +7,7 @@ Once you have an account, you can start adding measurements.
But that quickly brings up the next question: what if you want But that quickly brings up the next question: what if you want
a pattern for you, but also for your partner? a pattern for you, but also for your partner?
That's why we have *people*. That's why we have _people_.
You create a person, and add measurements to that person. You create a person, and add measurements to that person.
Now you can generate patterns for this person, based on their measurements. Now you can generate patterns for this person, based on their measurements.

View file

@ -2,7 +2,7 @@
title: High Point Shoulder (HPS) title: High Point Shoulder (HPS)
--- ---
The *high point shoulder* or *HPS* point is used as the base for several vertical measurements. The _high point shoulder_ or _HPS_ point is used as the base for several vertical measurements.
The HPS is where your shoulder seam would meet your neck. The HPS is where your shoulder seam would meet your neck.
The point is situated where your neck meets your shoulder. The point is situated where your neck meets your shoulder.

View file

@ -6,7 +6,7 @@ title: HPS to bust
###### HPS: high point shoulder ###### HPS: high point shoulder
The *high point shoulder* or *HPS* point is used as the base for several vertical measurements. The _high point shoulder_ or _HPS_ point is used as the base for several vertical measurements.
Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point. Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point.
</Note> </Note>

View file

@ -6,7 +6,7 @@ title: HPS to waist back
###### HPS: high point shoulder ###### HPS: high point shoulder
The *high point shoulder* or *HPS* point is used as the base for several vertical measurements. The _high point shoulder_ or _HPS_ point is used as the base for several vertical measurements.
Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point. Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point.
</Note> </Note>

View file

@ -6,7 +6,7 @@ title: HPS to waist front
###### HPS: high point shoulder ###### HPS: high point shoulder
The *high point shoulder* or *HPS* point is used as the base for several vertical measurements. The _high point shoulder_ or _HPS_ point is used as the base for several vertical measurements.
Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point. Refer to [the hps documentation](/docs/measurements/hps/) for information on how to locate this point.
</Note> </Note>

View file

@ -2,14 +2,14 @@
![Close the side and shoulder seams](step01.png) ![Close the side and shoulder seams](step01.png)
Put front and back on top of each other with *good sides together*. Put front and back on top of each other with _good sides together_.
Sew the side seams and the short seams at the shoulder straps. If you have a serger, this is a good moment to use it. If not, finish your seams otherwise. Sew the side seams and the short seams at the shoulder straps. If you have a serger, this is a good moment to use it. If not, finish your seams otherwise.
## Step 2: Finish hem ## Step 2: Finish hem
![Finish the hem](step02.png) ![Finish the hem](step02.png)
Fold the hem upwards, and sew it down. If you have a coverlock, use it. If not, use a *twin needle* or *zig-zag stitch* to keep the seam stretchable. Fold the hem upwards, and sew it down. If you have a coverlock, use it. If not, use a _twin needle_ or _zig-zag stitch_ to keep the seam stretchable.
<Note> <Note>

View file

@ -9,11 +9,11 @@ title: Albert Construction
- Press the seam allowance of the sides and bottom to the wrong side. - Press the seam allowance of the sides and bottom to the wrong side.
- On the right side topstich close to where the hem edge lies underneath, making sure to catch the hem and seam allowances as you sew. - On the right side topstich close to where the hem edge lies underneath, making sure to catch the hem and seam allowances as you sew.
- Pin the pocket to the front using the guides. - Pin the pocket to the front using the guides.
- *Edgestitch* the sides and bottom of the pocket leaving the top open. Make sure to backstitch at the start and end to secure the pocket properly. - _Edgestitch_ the sides and bottom of the pocket leaving the top open. Make sure to backstitch at the start and end to secure the pocket properly.
<Tip> <Tip>
If you have trouble catching the top hem we suggest to either *Baste* close to the hem edge first, and use that as a guide when stitching on the right side or pin the hem edge down from the right side making sure the pins are parallel to the top edge and use them as a guide. If you have trouble catching the top hem we suggest to either _Baste_ close to the hem edge first, and use that as a guide when stitching on the right side or pin the hem edge down from the right side making sure the pins are parallel to the top edge and use them as a guide.
</Tip> </Tip>

View file

@ -1,4 +1,4 @@
Controls the length of the *bib* part of your apron. Controls the length of the _bib_ part of your apron.
## Effect of this option on the pattern ## Effect of this option on the pattern

View file

@ -1,4 +1,4 @@
Controls the width of the *bib* part of your apron. Controls the width of the _bib_ part of your apron.
## Effect of this option on the pattern ## Effect of this option on the pattern

Some files were not shown because too many files have changed in this diff Show more