wip(markdown): Work on v3 docs
This commit is contained in:
parent
07ea66be77
commit
45ecbac060
7 changed files with 204 additions and 7 deletions
|
@ -4,3 +4,11 @@ title: Migration guide
|
||||||
|
|
||||||
- named exports
|
- named exports
|
||||||
- ESM only
|
- ESM only
|
||||||
|
|
||||||
|
|
||||||
|
new:
|
||||||
|
- point.addCircle
|
||||||
|
- point.addText
|
||||||
|
- point.setCircle
|
||||||
|
- point.setText
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,7 @@ points.anchor = new Point(100, 25)
|
||||||
.attr("data-text-class", "center");
|
.attr("data-text-class", "center");
|
||||||
```
|
```
|
||||||
|
|
||||||
<Example part="point_attr">
|
<Example part="point_attr">Text inserted in a FreeSewing pattern</Example>
|
||||||
Text inserted in a FreeSewing pattern
|
|
||||||
</Example>
|
|
||||||
|
|
||||||
<Note>
|
<Note>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Drawing circles
|
title: Drawing circles
|
||||||
for: developers
|
|
||||||
about: Shows how you can add circles to your pattern
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Real circles are rarely used in pattern design, and they are not part of the SVG path specification,
|
Real circles are rarely used in pattern design, and they are not part of the SVG path specification,
|
||||||
|
@ -12,6 +10,38 @@ to the radius of the circle you want to draw.
|
||||||
|
|
||||||
In addition, all attributes that have a `data-circle-` prefix will apply to the circle, rather than the point.
|
In addition, all attributes that have a `data-circle-` prefix will apply to the circle, rather than the point.
|
||||||
|
|
||||||
<Example pattern="rendertest" options_only="circles">
|
Practically, you will probably want to use
|
||||||
Circles
|
the [Point.addCircle()](/reference/api/point/adcircle) which does all of this for you behind the scenes:
|
||||||
|
|
||||||
|
<Example part="point_addcircle">
|
||||||
|
Examples of circles drawn on a pattern
|
||||||
</Example>
|
</Example>
|
||||||
|
|
||||||
|
<Comment by="joost">
|
||||||
|
##### How multiple circles are implemented
|
||||||
|
|
||||||
|
When you add the same attribute multiple times, they are typically joined together
|
||||||
|
when rendering. For example multiple calls to add a `class` attribute will end up being
|
||||||
|
rendered as `class="class1 class2 class3` which makes a lot of sense.
|
||||||
|
|
||||||
|
But when we're placing multiple circles on the same point, that raises a bit of a problem.
|
||||||
|
For example in this code:
|
||||||
|
|
||||||
|
```js
|
||||||
|
point.a = new Point(0,0)
|
||||||
|
.addCircle(10, 'lining')
|
||||||
|
.addCircle(20, 'fabric')
|
||||||
|
```
|
||||||
|
|
||||||
|
Based on the rules of attributes, this would render a single circle with `r="10 20"
|
||||||
|
class="lining fabric"`. Which does not make a lot of sense and is invalid SVG
|
||||||
|
as `r` only takes one value.
|
||||||
|
|
||||||
|
So the render engine will do some extra work here to check that there are multiple
|
||||||
|
circles added, and will render a circle element for each, with the `r` and `class`
|
||||||
|
values of their respective calls.
|
||||||
|
|
||||||
|
While this is probably what you'd intuitively expect, it is somewhat inconsistent with how
|
||||||
|
other attributes are rendered, so I felt it was best to point it out explicitly.
|
||||||
|
|
||||||
|
</Comment>
|
||||||
|
|
44
markdown/dev/reference/api/point/addcircle/en.md
Normal file
44
markdown/dev/reference/api/point/addcircle/en.md
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
title: Point.addCircle()
|
||||||
|
---
|
||||||
|
|
||||||
|
Adds a circle to a Point. Under the hood, this will call `Point.attr()` as circles
|
||||||
|
are added by setting attributes. Refer to [Drawing circles](/howtos/code/drawing-circles) for
|
||||||
|
more details.
|
||||||
|
|
||||||
|
## Point.addCircle() signature
|
||||||
|
|
||||||
|
```js
|
||||||
|
Point point.addCircle(
|
||||||
|
string text,
|
||||||
|
string className
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Point.addCircle() example
|
||||||
|
|
||||||
|
<Example part="point_addcircle">
|
||||||
|
Examples of Point.addCircle(), compare this to [Point.setCircle](/reference/api/point/setcircle)
|
||||||
|
</Example>
|
||||||
|
|
||||||
|
```js
|
||||||
|
({ Point, points, part }) => {
|
||||||
|
points.a = new Point(30, 10)
|
||||||
|
.addCircle(3, 'lining dashed')
|
||||||
|
.addCircle(7, 'mark dashed')
|
||||||
|
|
||||||
|
points.b = new Point(50, 10)
|
||||||
|
.addCircle(1, 'interfacing')
|
||||||
|
.addCircle(3, 'fabric')
|
||||||
|
.addCircle(5, 'lining')
|
||||||
|
.addCircle(7, 'mark')
|
||||||
|
.addCircle(9, 'note')
|
||||||
|
|
||||||
|
points.c = new Point(70, 10)
|
||||||
|
.addCircle(3, 'interfacing')
|
||||||
|
.addCircle(7, 'mark lashed')
|
||||||
|
|
||||||
|
return part
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
35
markdown/dev/reference/api/point/addtext/en.md
Normal file
35
markdown/dev/reference/api/point/addtext/en.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
title: Point.addText()
|
||||||
|
---
|
||||||
|
|
||||||
|
Adds text on a Point. Under the hood, this will call `Point.attr()` as text
|
||||||
|
is added by setting attributes. Refer to [Adding text](/howtos/code/adding-text) for
|
||||||
|
more details.
|
||||||
|
|
||||||
|
## Point.addText() signature
|
||||||
|
|
||||||
|
```js
|
||||||
|
Point point.addText(
|
||||||
|
string text,
|
||||||
|
string className
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Point.addText() example
|
||||||
|
|
||||||
|
<Example part="point_addtext">
|
||||||
|
Examples of Point.addText(), compare this to [Point.setText](/reference/api/point/settext)
|
||||||
|
</Example>
|
||||||
|
|
||||||
|
```js
|
||||||
|
({ Point, points, part }) => {
|
||||||
|
points.anchor = new Point(100, 25)
|
||||||
|
.addText('supportFreesewingBecomeAPatron', 'center')
|
||||||
|
.addText('please?')
|
||||||
|
|
||||||
|
return part
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<Tip compact>Remember to [use translation keys, not text](/guides/best-practices/use-translation-keys)</Tip>
|
||||||
|
|
47
markdown/dev/reference/api/point/setcircle/en.md
Normal file
47
markdown/dev/reference/api/point/setcircle/en.md
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
---
|
||||||
|
title: Point.setCircle()
|
||||||
|
---
|
||||||
|
|
||||||
|
Sets a circle to a Point. Behaves the same as [addCircle](/reference/api/points/addcircle) but
|
||||||
|
the different is that it will overwrite any previous circle set.
|
||||||
|
|
||||||
|
Essentially, it mimics the difference between adding vs setting an attribute.
|
||||||
|
|
||||||
|
Refer to [Drawing circles](/howtos/code/drawing-circles) for more details on how circles are handled.
|
||||||
|
|
||||||
|
## Point.setCircle() signature
|
||||||
|
|
||||||
|
```js
|
||||||
|
Point point.setCircle(
|
||||||
|
string text,
|
||||||
|
string className
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Point.setCircle() example
|
||||||
|
|
||||||
|
<Example part="point_setcircle">
|
||||||
|
Examples of Point.setCircle(), compare this to [Point.addCircle](/reference/api/point/addcircle)
|
||||||
|
</Example>
|
||||||
|
|
||||||
|
```js
|
||||||
|
({ Point, points, part }) => {
|
||||||
|
points.a = new Point(30, 10)
|
||||||
|
.setCircle(3, 'lining dashed')
|
||||||
|
.setCircle(7, 'mark dashed')
|
||||||
|
|
||||||
|
points.b = new Point(50, 10)
|
||||||
|
.setCircle(1, 'interfacing')
|
||||||
|
.setCircle(3, 'fabric')
|
||||||
|
.setCircle(5, 'lining')
|
||||||
|
.setCircle(7, 'mark')
|
||||||
|
.setCircle(9, 'note')
|
||||||
|
|
||||||
|
points.c = new Point(70, 10)
|
||||||
|
.setCircle(3, 'interfacing')
|
||||||
|
.setCircle(7, 'mark lashed')
|
||||||
|
|
||||||
|
return part
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
35
markdown/dev/reference/api/point/settext/en.md
Normal file
35
markdown/dev/reference/api/point/settext/en.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
title: Point.setText()
|
||||||
|
---
|
||||||
|
|
||||||
|
Sets text on a Point. Under the hood, this will call `Point.attr()` as text
|
||||||
|
is set via attributes. Refer to [Adding text](/howtos/code/adding-text) for
|
||||||
|
more details.
|
||||||
|
|
||||||
|
## Point.setText() signature
|
||||||
|
|
||||||
|
```js
|
||||||
|
Point point.setText(
|
||||||
|
string text,
|
||||||
|
string className
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Point.setText() example
|
||||||
|
|
||||||
|
<Example part="point_settext">
|
||||||
|
Examples of Point.setText(), compare this to [Point.setText](/reference/api/point/settext)
|
||||||
|
</Example>
|
||||||
|
|
||||||
|
```js
|
||||||
|
({ Point, points, part }) => {
|
||||||
|
points.anchor = new Point(100, 25)
|
||||||
|
.setText('supportFreesewingBecomeAPatron', 'center')
|
||||||
|
.setText('please?')
|
||||||
|
|
||||||
|
return part
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<Tip compact>Remember to [use translation keys, not text](/guides/best-practices/use-translation-keys)</Tip>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue