diff --git a/config/scripts.yaml b/config/scripts.yaml
index c524befa4aa..37319e087dc 100644
--- a/config/scripts.yaml
+++ b/config/scripts.yaml
@@ -22,6 +22,8 @@ create-freesewing-pattern:
modulebuild: '!'
cibuild_step1: '!'
build: '!'
+ test: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.mjs'
+ testci: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.mjs'
css-theme:
cibuild_step1: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css'
build: 'npx node-sass --output-style compressed src/theme.scss dist/theme.css'
diff --git a/markdown/.remarkrc.yaml b/markdown/.remarkrc.yaml
new file mode 100644
index 00000000000..f4dfa0e2c87
--- /dev/null
+++ b/markdown/.remarkrc.yaml
@@ -0,0 +1,12 @@
+settings:
+ bullet: "-"
+plugins:
+ - remark-frontmatter
+ - remark-preset-lint-consistent
+ - remark-preset-lint-recommended
+ - - remark-lint-list-item-indent
+ - "space"
+ - - remark-lint-emphasis-marker
+ - "_"
+ - - remark-lint-strong-marker
+ - "*"
diff --git a/markdown/dev/guides/best-practices/go-counter-clockwise/en.md b/markdown/dev/guides/best-practices/go-counter-clockwise/en.md
index 67760603af7..592fddb12c5 100644
--- a/markdown/dev/guides/best-practices/go-counter-clockwise/en.md
+++ b/markdown/dev/guides/best-practices/go-counter-clockwise/en.md
@@ -13,13 +13,12 @@ Obviously, the order in which you add points to your code needs to take a backse
to the logic of your code. But typically what you're doing is constructing an outline
of (a part of) a garment.
-So pick a point, and make your way around counter-clockwise.
+So pick a point, and make your way around counter-clockwise.
When naming control points for curves, re-use the name of the point they are attached to
and add `Cp1` to the control point before and `Cp2` to the control point after the point if
, once again, you'd follow your path counter-clockwise.
-
For example:
```js
diff --git a/markdown/dev/guides/best-practices/respect-draft-settings/en.md b/markdown/dev/guides/best-practices/respect-draft-settings/en.md
index b41fbf7e44f..065f9cd9b35 100644
--- a/markdown/dev/guides/best-practices/respect-draft-settings/en.md
+++ b/markdown/dev/guides/best-practices/respect-draft-settings/en.md
@@ -19,7 +19,7 @@ Its goal is to determine whether we should draft a *complete* pattern, or merely
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.
## Seam allowance
@@ -62,4 +62,3 @@ export default function(part) {
return part
}
```
-
diff --git a/markdown/dev/guides/best-practices/reuse-measurements/en.md b/markdown/dev/guides/best-practices/reuse-measurements/en.md
index fd9bbfaa62d..ed2cc073bd9 100644
--- a/markdown/dev/guides/best-practices/reuse-measurements/en.md
+++ b/markdown/dev/guides/best-practices/reuse-measurements/en.md
@@ -9,10 +9,9 @@ certain measurements differently.
-###### See our measurements page for standard measurement names
+###### See our measurements page for standard measurement names
The [measurements reference page](/reference/measurements/)
contains all our standard measurement names.
-
diff --git a/markdown/dev/guides/best-practices/reuse-options/en.md b/markdown/dev/guides/best-practices/reuse-options/en.md
index 9b3be5529b4..9d818093072 100644
--- a/markdown/dev/guides/best-practices/reuse-options/en.md
+++ b/markdown/dev/guides/best-practices/reuse-options/en.md
@@ -3,10 +3,9 @@ title: Re-use options
order: 20
---
-The same arguments for re-using measurements are also (somewhat) true for options.
+The same arguments for re-using measurements are also (somewhat) true for options.
While your pattern may require some very specific
options, there's probably a bunch that are similar to other patterns. Re-use those names.
As in, `bicepsEase` exists. So don't go creating an `upperArmEase` option.
-
diff --git a/markdown/dev/guides/best-practices/use-percentages/en.md b/markdown/dev/guides/best-practices/use-percentages/en.md
index a5f9fae3e86..b1292695b5c 100644
--- a/markdown/dev/guides/best-practices/use-percentages/en.md
+++ b/markdown/dev/guides/best-practices/use-percentages/en.md
@@ -5,22 +5,22 @@ order: 50
When designing patterns, you should refrain from using absolute values.
-That 6cm ease you add might be fine for all scenarios you tested,
-but then somebody comes around who is twice your size, or who is making clothes for a doll,
+That 6cm ease you add might be fine for all scenarios you tested,
+but then somebody comes around who is twice your size, or who is making clothes for a doll,
and things will go off the rails.
-Don't be tempted to add absolute values to your patterns, as they don't scale.
+Don't be tempted to add absolute values to your patterns, as they don't scale.
Instead, embrace percentages as options.
##### 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:
- - 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 of avarage person (the person)
+- A model with measurements 1/10th of an average person (the ant)
A well-designed pattern will scale a factor 10 down and hold its shape.
If your pattern makes assumptions about size, this test will show that.
@@ -29,4 +29,3 @@ FreeSewing's development environment provides these tests out of the box,
so you can see their results at the click of a button.
-
diff --git a/markdown/dev/guides/best-practices/use-translation-keys/en.md b/markdown/dev/guides/best-practices/use-translation-keys/en.md
index ba55781c5f2..59157d2dd11 100644
--- a/markdown/dev/guides/best-practices/use-translation-keys/en.md
+++ b/markdown/dev/guides/best-practices/use-translation-keys/en.md
@@ -5,14 +5,14 @@ order: 60
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:
```js
path.seam.attr("data-text", "Finish with bias tape");
```
-That (English) string is now hard-coded in your pattern. As freesewing supports
+That (English) string is now hard-coded in your pattern. As freesewing supports
translation out of the box, it would be a real shame not to make use of it.
Instead, insert a key to identify the string:
diff --git a/markdown/org/docs/patterns/florence/fr.md b/markdown/org/docs/patterns/florence/fr.md
index 8d28273b395..08949b9eeea 100644
--- a/markdown/org/docs/patterns/florence/fr.md
+++ b/markdown/org/docs/patterns/florence/fr.md
@@ -1,7 +1,3 @@
-- - -
-- - -
-
-
diff --git a/markdown/org/docs/patterns/trayvon/instructions/nl.md b/markdown/org/docs/patterns/trayvon/instructions/nl.md
index d173809b2aa..4ef387ebf84 100644
--- a/markdown/org/docs/patterns/trayvon/instructions/nl.md
+++ b/markdown/org/docs/patterns/trayvon/instructions/nl.md
@@ -112,7 +112,8 @@ De naad waar de buitenstof van de das aan de voering vastzit zit niet aan de ran
Bevestig tussenvoering punt (deel 1) aan tussenvoering staart (deel 2) aan elkaar aan de niet-puntige kant. Let op dat de merktekens overeenkomen.
-> **Of niet**
Om eerlijk te zijn stik ik de tussenvoering nooit aan elkaar. Ik laat de twee helften gewoon los.
+> **Of niet**
+> Om eerlijk te zijn stik ik de tussenvoering nooit aan elkaar. Ik laat de twee helften gewoon los.
>
> Op deze manier kan de lengte van je das nooit fout zijn, en kan je de stukken tussenvoering gewoon over elkaar heen schuiven. Daarnaast zorgt het voor minder bulk in het midden en is het minder werk.
>
diff --git a/markdown/org/docs/various/notation/buttons/de.md b/markdown/org/docs/various/notation/buttons/de.md
index 9afe43e2828..43c00c1da48 100644
--- a/markdown/org/docs/various/notation/buttons/de.md
+++ b/markdown/org/docs/various/notation/buttons/de.md
@@ -4,8 +4,12 @@ title: Knöpfe, Knopflöcher und Druckknöpfe
Buttons and buttonholes may come in different sizes, but always have the same shape that represents how they look in real life:
-