From b354b189d63ce9d07d3c72fb9533ea4a40e30d77 Mon Sep 17 00:00:00 2001 From: joostdecock Date: Sun, 17 Mar 2024 19:19:56 +0100 Subject: [PATCH] feat(shared): Auto-generate jargon list. Closes #6102 --- markdown/dev/guides/markdown/jargon/en.md | 41 ++- markdown/dev/reference/terms/cjs/en.md | 1 + markdown/dev/reference/terms/esm/en.md | 1 + markdown/dev/reference/terms/variadic/en.md | 1 + markdown/org/docs/about/site/account/id/en.md | 2 + .../org/docs/about/site/account/role/en.md | 1 + .../docs/sewing/basic-sewing-supplies/en.md | 1 + markdown/org/docs/sewing/basting/en.md | 1 + markdown/org/docs/sewing/coverlock/en.md | 1 + markdown/org/docs/sewing/cutting/en.md | 1 + markdown/org/docs/sewing/darts/en.md | 1 + .../org/docs/sewing/double-welt-pockets/en.md | 1 + markdown/org/docs/sewing/ease/en.md | 1 + markdown/org/docs/sewing/edgestitching/en.md | 1 + markdown/org/docs/sewing/fabric-grain/en.md | 1 + .../org/docs/sewing/good-sides-together/en.md | 1 + markdown/org/docs/sewing/hemming/en.md | 1 + markdown/org/docs/sewing/hps/en.md | 1 + markdown/org/docs/sewing/jersey/en.md | 1 + markdown/org/docs/sewing/knit-fabric/en.md | 1 + markdown/org/docs/sewing/on-the-fold/en.md | 1 + markdown/org/docs/sewing/pinning/en.md | 1 + markdown/org/docs/sewing/rayon/en.md | 1 + markdown/org/docs/sewing/seam-allowance/en.md | 1 + markdown/org/docs/sewing/serger/en.md | 1 + markdown/org/docs/sewing/slipstitch/en.md | 1 + markdown/org/docs/sewing/topstitching/en.md | 1 + markdown/org/docs/sewing/trimming/en.md | 1 + markdown/org/docs/sewing/twin-needle/en.md | 1 + markdown/org/docs/sewing/zig-zag-stitch/en.md | 1 + sites/dev/components/jargon.mjs | 27 -- sites/org/components/jargon.mjs | 237 ------------------ sites/shared/components/mdx/index.mjs | 6 +- sites/shared/prebuild/markdown.mjs | 35 +++ 34 files changed, 109 insertions(+), 267 deletions(-) delete mode 100644 sites/dev/components/jargon.mjs delete mode 100644 sites/org/components/jargon.mjs diff --git a/markdown/dev/guides/markdown/jargon/en.md b/markdown/dev/guides/markdown/jargon/en.md index 8a445aa848a..87722e31cbc 100644 --- a/markdown/dev/guides/markdown/jargon/en.md +++ b/markdown/dev/guides/markdown/jargon/en.md @@ -8,9 +8,46 @@ jargon/terms for us. This page shows you how to use it. Think of jargon as glossary terms -## Defined terms +## Defining terms -The list of terminology that is defined differs from site to site: +To define a term, we need to establish a link between the term itself, and the documentation page that defines it. + +In the most common scenario, the term is the title of the page. +For example, the title of this page is `Using jargon and terms`: + +```mdx +--- +title: Using jargon and terms +--- +``` + +If we wanted to make it available as jargon, we only need to add the `jargon` frontmatter: + +```mdx +--- +title: Using jargon and terms +jargon: true +--- +``` + +## Multiple terms for the same page + +We can add additional terms that point to the same page by setting the `terms` in frontmatter to a comma-seperated list of terms. + +For example to make both `jargon` and `term` point to this page, we can do this: + + +```mdx +--- +title: Using jargon and terms +jargon: true +terms: jargon, term +--- +``` + +## Terminology per site + +The following pages show a list of all terminology per site: | Site | Terminology List | | ---- | ---------------- | diff --git a/markdown/dev/reference/terms/cjs/en.md b/markdown/dev/reference/terms/cjs/en.md index 67155f12abf..7d9da894f6d 100644 --- a/markdown/dev/reference/terms/cjs/en.md +++ b/markdown/dev/reference/terms/cjs/en.md @@ -1,5 +1,6 @@ --- title: cjs +jargon: true --- **cjs** stands for **CommonJS**. It is a module system for JavaScript that was diff --git a/markdown/dev/reference/terms/esm/en.md b/markdown/dev/reference/terms/esm/en.md index cf567646179..0d4f6b611fa 100644 --- a/markdown/dev/reference/terms/esm/en.md +++ b/markdown/dev/reference/terms/esm/en.md @@ -1,5 +1,6 @@ --- title: esm +jargon: true --- **esm** stands for **ECMAScript Modules** and is the official module system of diff --git a/markdown/dev/reference/terms/variadic/en.md b/markdown/dev/reference/terms/variadic/en.md index 558a14dae8a..eea9f7f4471 100644 --- a/markdown/dev/reference/terms/variadic/en.md +++ b/markdown/dev/reference/terms/variadic/en.md @@ -1,5 +1,6 @@ --- title: Variadic +jargon: true --- A **variadic** function is a function that accepts a variable number of arguments. diff --git a/markdown/org/docs/about/site/account/id/en.md b/markdown/org/docs/about/site/account/id/en.md index 01349e6fb1e..6e4d2fd8526 100644 --- a/markdown/org/docs/about/site/account/id/en.md +++ b/markdown/org/docs/about/site/account/id/en.md @@ -1,5 +1,7 @@ --- title: User ID +jargon: true +terms: id, uid --- Every FreeSewing user has a user ID, sometimes referred to as `UID` or just `ID`. diff --git a/markdown/org/docs/about/site/account/role/en.md b/markdown/org/docs/about/site/account/role/en.md index 2cbaf78db71..ce748fda987 100644 --- a/markdown/org/docs/about/site/account/role/en.md +++ b/markdown/org/docs/about/site/account/role/en.md @@ -1,5 +1,6 @@ --- title: Role +jargon: true --- Every FreeSewing user has a role that determines their privileges on the site. diff --git a/markdown/org/docs/sewing/basic-sewing-supplies/en.md b/markdown/org/docs/sewing/basic-sewing-supplies/en.md index 85704f56ce8..a629a553d27 100644 --- a/markdown/org/docs/sewing/basic-sewing-supplies/en.md +++ b/markdown/org/docs/sewing/basic-sewing-supplies/en.md @@ -1,5 +1,6 @@ --- title: Basic sewing supplies +jargon: true --- > What exactly constitutes the bare necessities for sewing is subject to debate. diff --git a/markdown/org/docs/sewing/basting/en.md b/markdown/org/docs/sewing/basting/en.md index 586164da67c..9dc34a9e4b1 100644 --- a/markdown/org/docs/sewing/basting/en.md +++ b/markdown/org/docs/sewing/basting/en.md @@ -1,6 +1,7 @@ --- layout: onecol title: Basting +jargon: true --- ![The shape of this denim back pocket is basted before the pocket is topstitched to the garment](basting.jpg) diff --git a/markdown/org/docs/sewing/coverlock/en.md b/markdown/org/docs/sewing/coverlock/en.md index 9a2e8675c6f..285f0176155 100644 --- a/markdown/org/docs/sewing/coverlock/en.md +++ b/markdown/org/docs/sewing/coverlock/en.md @@ -1,5 +1,6 @@ --- title: Coverlock +jargon: true --- ![A hem on a T-shirt, made with a coverlock machine](coverlock-hem.jpg) diff --git a/markdown/org/docs/sewing/cutting/en.md b/markdown/org/docs/sewing/cutting/en.md index 8dded41295c..5429993c230 100644 --- a/markdown/org/docs/sewing/cutting/en.md +++ b/markdown/org/docs/sewing/cutting/en.md @@ -1,6 +1,7 @@ --- layout: onecol title: Cutting +jargon: true --- ![Me cutting out some T-shirts](cutting.jpg) diff --git a/markdown/org/docs/sewing/darts/en.md b/markdown/org/docs/sewing/darts/en.md index cd4fe66387f..14f70314526 100644 --- a/markdown/org/docs/sewing/darts/en.md +++ b/markdown/org/docs/sewing/darts/en.md @@ -1,5 +1,6 @@ --- title: Darts +jargon: true --- ![Bust darts on a blouse](dart.jpg) diff --git a/markdown/org/docs/sewing/double-welt-pockets/en.md b/markdown/org/docs/sewing/double-welt-pockets/en.md index 4b85f4891e6..db7cc383446 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/en.md +++ b/markdown/org/docs/sewing/double-welt-pockets/en.md @@ -1,5 +1,6 @@ --- title: Double welt pockets +jargon: true --- ## Video diff --git a/markdown/org/docs/sewing/ease/en.md b/markdown/org/docs/sewing/ease/en.md index 36bcd55016c..0265d06e89b 100644 --- a/markdown/org/docs/sewing/ease/en.md +++ b/markdown/org/docs/sewing/ease/en.md @@ -1,5 +1,6 @@ --- title: Ease +jargon: true --- ![Without ease, you would not be able to raise your arm](ease-plus.jpg) diff --git a/markdown/org/docs/sewing/edgestitching/en.md b/markdown/org/docs/sewing/edgestitching/en.md index c4cd29a4109..007fcafda79 100644 --- a/markdown/org/docs/sewing/edgestitching/en.md +++ b/markdown/org/docs/sewing/edgestitching/en.md @@ -1,5 +1,6 @@ --- title: Edgestitching +jargon: true --- Edgestitching is a specific type of _topstitching_. diff --git a/markdown/org/docs/sewing/fabric-grain/en.md b/markdown/org/docs/sewing/fabric-grain/en.md index c840a12b776..91aae582a0d 100644 --- a/markdown/org/docs/sewing/fabric-grain/en.md +++ b/markdown/org/docs/sewing/fabric-grain/en.md @@ -1,5 +1,6 @@ --- title: Fabric grain +jargon: true --- ![The grainline runs parallel to the selvedge](fabric-grain.jpg) diff --git a/markdown/org/docs/sewing/good-sides-together/en.md b/markdown/org/docs/sewing/good-sides-together/en.md index e6a088a96ab..e2701768c90 100644 --- a/markdown/org/docs/sewing/good-sides-together/en.md +++ b/markdown/org/docs/sewing/good-sides-together/en.md @@ -1,5 +1,6 @@ --- title: Good sides together +jargon: true --- When I refer to good sides together that can refer to either cutting or sewing: diff --git a/markdown/org/docs/sewing/hemming/en.md b/markdown/org/docs/sewing/hemming/en.md index 4e82bcee16f..f18c0923989 100644 --- a/markdown/org/docs/sewing/hemming/en.md +++ b/markdown/org/docs/sewing/hemming/en.md @@ -1,5 +1,6 @@ --- title: Hemming +jargon: true --- ![The hem at the bottom of a T-shirt](coverlock-hem.jpg) diff --git a/markdown/org/docs/sewing/hps/en.md b/markdown/org/docs/sewing/hps/en.md index f026e27aa62..62c010abf17 100644 --- a/markdown/org/docs/sewing/hps/en.md +++ b/markdown/org/docs/sewing/hps/en.md @@ -1,5 +1,6 @@ --- title: High Point Shoulder (HPS) +jargon: true --- The _high point shoulder_ or _HPS_ point is used as the base for several vertical measurements. diff --git a/markdown/org/docs/sewing/jersey/en.md b/markdown/org/docs/sewing/jersey/en.md index 8f7521282db..a80cd39d059 100644 --- a/markdown/org/docs/sewing/jersey/en.md +++ b/markdown/org/docs/sewing/jersey/en.md @@ -1,5 +1,6 @@ --- title: Jersey +jargon: true --- ![A piece of grey jersey](knit-fabric.jpg) diff --git a/markdown/org/docs/sewing/knit-fabric/en.md b/markdown/org/docs/sewing/knit-fabric/en.md index db92eb0004f..8eeb6cfb811 100644 --- a/markdown/org/docs/sewing/knit-fabric/en.md +++ b/markdown/org/docs/sewing/knit-fabric/en.md @@ -1,5 +1,6 @@ --- title: Knit fabric +jargon: true --- ![A piece of grey (French Terry) jersey, a knit fabric](fabric.jpg) diff --git a/markdown/org/docs/sewing/on-the-fold/en.md b/markdown/org/docs/sewing/on-the-fold/en.md index 03c1c077414..81037e8a770 100644 --- a/markdown/org/docs/sewing/on-the-fold/en.md +++ b/markdown/org/docs/sewing/on-the-fold/en.md @@ -1,5 +1,6 @@ --- title: On the fold +jargon: true --- When you have a pattern piece that is symmetric, the instructions might tell you that it is to be cut _on the fold_. diff --git a/markdown/org/docs/sewing/pinning/en.md b/markdown/org/docs/sewing/pinning/en.md index 589c6fcbdc3..50cd0a2e1f5 100644 --- a/markdown/org/docs/sewing/pinning/en.md +++ b/markdown/org/docs/sewing/pinning/en.md @@ -1,5 +1,6 @@ --- title: Pinning +jargon: true --- ![Sewing pins are part of the basic sewing supplies](sewing-pins.jpg) diff --git a/markdown/org/docs/sewing/rayon/en.md b/markdown/org/docs/sewing/rayon/en.md index 65253dbb6cb..8e066061f12 100644 --- a/markdown/org/docs/sewing/rayon/en.md +++ b/markdown/org/docs/sewing/rayon/en.md @@ -1,5 +1,6 @@ --- title: Rayon +jargon: true --- ![I use rayon for my underwear](rayon.jpg) diff --git a/markdown/org/docs/sewing/seam-allowance/en.md b/markdown/org/docs/sewing/seam-allowance/en.md index a1dafd63a92..367741c4bf8 100644 --- a/markdown/org/docs/sewing/seam-allowance/en.md +++ b/markdown/org/docs/sewing/seam-allowance/en.md @@ -1,5 +1,6 @@ --- title: Seam allowance +jargon: true --- ![The inside of the leg on a pair of jeans. The SA is the dark narrow stretch of fabric next to the seam. It has been zig-zagged to keep it from fraying](zig-zag.jpg) diff --git a/markdown/org/docs/sewing/serger/en.md b/markdown/org/docs/sewing/serger/en.md index c306171c103..fd3e1f3dba3 100644 --- a/markdown/org/docs/sewing/serger/en.md +++ b/markdown/org/docs/sewing/serger/en.md @@ -1,5 +1,6 @@ --- title: Serger +jargon: true --- ![The finished backside of a serged seam](serged-seam.jpg) diff --git a/markdown/org/docs/sewing/slipstitch/en.md b/markdown/org/docs/sewing/slipstitch/en.md index b10596cd5d1..64b10e277b9 100644 --- a/markdown/org/docs/sewing/slipstitch/en.md +++ b/markdown/org/docs/sewing/slipstitch/en.md @@ -1,5 +1,6 @@ --- title: Slipstitch +jargon: true --- A slipstitch is a hand-sewing technique that allows you to join layers diff --git a/markdown/org/docs/sewing/topstitching/en.md b/markdown/org/docs/sewing/topstitching/en.md index d8b169abea2..e3519cb2fe3 100644 --- a/markdown/org/docs/sewing/topstitching/en.md +++ b/markdown/org/docs/sewing/topstitching/en.md @@ -1,5 +1,6 @@ --- title: Topstitching +jargon: true --- ![I used plenty of topstitching in a contrasting red thread on these jeans for my godson Akki](topstitching.jpg) diff --git a/markdown/org/docs/sewing/trimming/en.md b/markdown/org/docs/sewing/trimming/en.md index 60e1feb9bf5..79d24ac73a5 100644 --- a/markdown/org/docs/sewing/trimming/en.md +++ b/markdown/org/docs/sewing/trimming/en.md @@ -1,5 +1,6 @@ --- title: Trimming +jargon: true --- ![Seam allowance being trimmed](trimming.jpg) diff --git a/markdown/org/docs/sewing/twin-needle/en.md b/markdown/org/docs/sewing/twin-needle/en.md index 95dc4908990..c64f38dc3cc 100644 --- a/markdown/org/docs/sewing/twin-needle/en.md +++ b/markdown/org/docs/sewing/twin-needle/en.md @@ -1,5 +1,6 @@ --- title: Twin needle +jargon: true --- ![A twin needle from Schmetz](twin-needle.jpg) diff --git a/markdown/org/docs/sewing/zig-zag-stitch/en.md b/markdown/org/docs/sewing/zig-zag-stitch/en.md index 3e2f47d0c3d..329dca324a5 100644 --- a/markdown/org/docs/sewing/zig-zag-stitch/en.md +++ b/markdown/org/docs/sewing/zig-zag-stitch/en.md @@ -1,5 +1,6 @@ --- title: Zig-zag stitch +jargon: true --- ![A zig-zag stitch is used to prevent the SA of the denim from fraying](zig-zag.jpg) diff --git a/sites/dev/components/jargon.mjs b/sites/dev/components/jargon.mjs deleted file mode 100644 index 1965ed41c04..00000000000 --- a/sites/dev/components/jargon.mjs +++ /dev/null @@ -1,27 +0,0 @@ -import { Term as SharedTerm, termList } from 'shared/components/jargon.mjs' - -/* - * This object holds jargon terminology for FreeSewing.dev - * - * This object holds key/value pairs per language where: - * - key: holds the jargon term (make sure to lowercase it and strip dots) - * - value: holds the path to the documentation page as when browsing the website - * - * To be clear: - * - You need to first create a markdown page explaining the term. - * - Only afterwards can you add it here - * - Since this uses dynamic MDX loaded from GitHub,it won't work until pushed - */ -const jargon = { - en: { - cjs: 'reference/terms/cjs', - esm: 'reference/terms/esm', - variadic: 'reference/terms/variadic', - }, -} - -/* - * DO NOT CHANGE ANYTHING BELOW THIS LINE - */ -export const Term = ({ children }) => -export const TermList = termList(jargon, 'dev') diff --git a/sites/org/components/jargon.mjs b/sites/org/components/jargon.mjs deleted file mode 100644 index b983fccdbda..00000000000 --- a/sites/org/components/jargon.mjs +++ /dev/null @@ -1,237 +0,0 @@ -import { Term as SharedTerm, termList } from 'shared/components/jargon.mjs' - -/* - * This object holds jargon terminology for FreeSewing.dev - * - * This object holds key/value pairs per language where: - * - key: holds the jargon term (make sure to lowercase it and strip dots) - * - value: holds the path to the documentation page as when browsing the website - * - * To be clear: - * - You need to first create a markdown page explaining the term. - * - Only afterwards can you add it here - * - Since this uses dynamic MDX loaded from GitHub,it won't work until pushed - */ -// prettier-ignore -export const jargon = { - en: { - // Sewing - 'basic sewing supplies': 'docs/sewing/basic-sewing-supplies', - 'basting': 'docs/sewing/basting', - 'coverlock': 'docs/sewing/coverlock', - 'cutting': 'docs/sewing/cutting', - 'darts': 'docs/sewing/darts', - 'double welt pockets': 'docs/sewing/double-welt-pockets', - 'ease': 'docs/sewing/ease', - 'edgestitching': 'docs/sewing/edgestitching', - 'fabric grain': 'docs/sewing/fabric-grain', - 'good sides together': 'docs/sewing/good-sides-together', - 'hemming': 'docs/sewing/hemming', - 'highpoint shoulder': 'docs/sewing/hps', - 'hps': 'docs/sewing/hps', - 'jersey': 'docs/sewing/jersey', - 'knit binding': 'docs/sewing/knit-binding', - 'knit fabric': 'docs/sewing/knit-fabric', - 'on the fold': 'docs/sewing/on-the-fold', - 'pinning': 'docs/sewing/pinning', - 'rayon': 'docs/sewing/rayon', - 'sa': 'docs/sewing/seam-allowance', - 'seam allowance': 'docs/sewing/seam-allowance', - 'serger': 'docs/sewing/serger', - 'slipstitch': 'docs/sewing/slipstitch', - 'topstitching': 'docs/sewing/topstitching', - 'trimming': 'docs/sewing/trimming', - 'twin needle': 'docs/sewing/twin-needle', - 'zig-zag stitch': 'docs/sewing/zig-zag-stitch', - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - 'user id': 'docs/about/site/account/id', - 'role': 'docs/about/site/account/role', - }, - de: { - // Sewing - 'abnäher': 'docs/sewing/darts', - 'coverlock': 'docs/sewing/coverlock', - 'doppelpaspeltaschen': 'docs/sewing/double-welt- pockets', - 'fadenlauf': 'docs/sewing/fabric-grain', - 'grundlegendes nähzubehör': 'docs/sewing/basic-sewing-supplies', - 'gute seiten zusammen': 'docs/sewing/good-sides-together', - 'heften': 'docs/sewing/basting', - 'hochpunkt schulter': 'docs/sewing/hps', - 'hps': 'docs/sewing/hps', - 'im stoffbruch': 'docs/sewing/on-the-fold', - 'jersey': 'docs/sewing/jersey', - 'nahtzugabe': 'docs/sewing/seam-allowance', - 'randnaht': 'docs/sewing/edgestitching', - 'rayon': 'docs/sewing/rayon', - 'serger': 'docs/sewing/serger', - 'stecken': 'docs/sewing/pinning', - 'steppstich': 'docs/sewing/slipstitch', - 'strickbindung': 'docs/sewing/knit-binding', - 'strickstoff': 'docs/sewing/knit-fabric', - 'säumen': 'docs/sewing/hemming', - 'topstitching': 'docs/sewing/topstitching', - 'zickzackstich': 'docs/sewing/zig-zag-stitch', - 'zugabe': 'docs/sewing/ease', - 'zurückschneiden': 'docs/sewing/trimming', - 'zuschnitt': 'docs/sewing/cutting', - 'zwillingsnadel': 'docs/sewing/twin-needle', - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - 'benutzerkennung': 'docs/about/site/account/id', - 'benutzer-id': 'docs/about/site/account/id', - 'benutzer id': 'docs/about/site/account/id', - 'rolle': 'docs/about/site/account/role', - }, - es: { - // Sewing - 'aguja gemela': "docs/sewing/twin-needle", - 'basting': "docs/sewing/basting", - 'bolsillos de doble soldadura': "docs/sewing/double-welt-pockets", - 'buenas partes juntas': "docs/sewing/good-sides-together", - 'cobertura': "docs/sewing/coverlock", - 'corte': "docs/sewing/cutting", - 'costura de bordes': "docs/sewing/edgestitching", - 'dardos': "docs/sewing/darts", - 'en el pliegue': "docs/sewing/on-the-fold", - 'fijar': "docs/sewing/pinning", - 'grano de tela': "docs/sewing/fabric-grain", - 'hemming': "docs/sewing/hemming", - 'hombro de punto alto': "docs/sewing/hps", - 'hps': "docs/sewing/hps", - 'jersey': "docs/sewing/jersey", - 'margen de costura': "docs/sewing/seam-allowance", - 'punto elástico': "docs/sewing/slipstitch", - 'rayon': "docs/sewing/rayon", - 'sargento': "docs/sewing/serger", - 'suministros básicos de costura': "docs/sewing/basic-sewing-supplies", - 'tela de tejidos': "docs/sewing/knit-fabric", - 'topstitching': "docs/sewing/topstitching", - 'trampa': "docs/sewing/trimming", - 'vinculación de nudo': "docs/sewing/knit-binding", - 'zig-zag stitch': "docs/sewing/zig-zag-stitch", - 'único': "docs/sewing/ease", - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - 'id de usuario': 'docs/about/site/account/id', - 'identificador de usuario': 'docs/about/site/account/id', - 'id usuario': 'docs/about/site/account/id', - 'papel': 'docs/about/site/account/role', - }, - fr: { - // Sewing - 'aiguilles doubles': "docs/sewing/twin-needle", - 'aisance': "docs/sewing/ease", - 'au pli': "docs/sewing/on-the-fold", - 'biais de jersey': "docs/sewing/knit-binding", - 'bâtir': "docs/sewing/basting", - 'coupe': "docs/sewing/cutting", - 'droit fil': "docs/sewing/fabric-grain", - 'dégarnir': "docs/sewing/trimming", - 'endroit contre endroit': "docs/sewing/good-sides-together", - 'fourniture de base pour la couture': "docs/sewing/basic-sewing-supplies", - 'jersey': "docs/sewing/jersey", - 'marge de couture': "docs/sewing/seam-allowance", - 'ourlet': "docs/sewing/hemming", - 'pinces': "docs/sewing/darts", - 'poche passepoilée': "docs/sewing/double-welt-pockets", - 'point glissé': "docs/sewing/slipstitch", - 'point zig-zag': "docs/sewing/zig-zag-stitch", - 'rayonne': "docs/sewing/rayon", - 'viscose': "docs/sewing/rayon", - 'recouvreuse': "docs/sewing/coverlock", - 'sommet de l’épaule': "docs/sewing/hps", - 'phe': "docs/sewing/hps", - 'surjeteuse': "docs/sewing/serger", - 'surpiqûre': "docs/sewing/topstitching", - 'surpiqûre nervure': "docs/sewing/edgestitching", - 'tissu maille': "docs/sewing/knit-fabric", - 'épingler': "docs/sewing/pinning", - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - "id de l'utilisateur": 'docs/about/site/account/id', - "identifiant de l'utilisateur": 'docs/about/site/account/id', - 'rôle': 'docs/about/site/account/role', - }, - nl: { - // Sewing - 'aan de stofvouw': "docs/sewing/on-the-fold", - 'basis naaimateriaal': "docs/sewing/basic-sewing-supplies", - 'bijknippen': "docs/sewing/trimming", - 'coverlock': "docs/sewing/coverlock", - 'draadrichting': "docs/sewing/fabric-grain", - 'driegen': "docs/sewing/basting", - 'dubbele paspelzak': "docs/sewing/double-welt-pockets", - 'gebreide stof': "docs/sewing/knit-fabric", - 'goede kanten op elkaar': "docs/sewing/good-sides-together", - 'hoog punt schouder': "docs/sewing/hps", - 'hps': "docs/sewing/hps", - 'jersey': "docs/sewing/jersey", - 'jersey biezen': "docs/sewing/knit-binding", - 'knippen': "docs/sewing/cutting", - 'naadtoeslag': "docs/sewing/seam-allowance", - 'nepen': "docs/sewing/darts", - 'overwijdte': "docs/sewing/ease", - 'rayon': "docs/sewing/rayon", - 'serger/overlock': "docs/sewing/serger", - 'sierstiksel': "docs/sewing/topstitching", - 'spelden': "docs/sewing/pinning", - 'stiksels': "docs/sewing/edgestitching", - 'stiksteek': "docs/sewing/slipstitch", - 'tweelingnaald': "docs/sewing/twin-needle", - 'zigzagsteek': "docs/sewing/zig-zag-stitch", - 'zomen': "docs/sewing/hemming", - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - "gebruikersid": 'docs/about/site/account/id', - "gebruikers id": 'docs/about/site/account/id', - "gebruiker id": 'docs/about/site/account/id', - 'rol': 'docs/about/site/account/role', - }, - uk: { - // Sewing - 'базові матеріали для шиття': 'docs/sewing/basic-sewing-supplies', - 'виточки': 'docs/sewing/darts', - 'джерсі': 'docs/sewing/jersey', - 'закріплення': 'docs/sewing/pinning', - 'зметування': 'docs/sewing/basting', - 'кишеня з подвійною листочкою': 'docs/sewing/double-welt-pockets', - 'коверлок': 'docs/sewing/coverlock', - 'крайовий шов': 'docs/sewing/edgestitching', - 'крій': 'docs/sewing/cutting', - 'лицьові сторони одна до одної': 'docs/sewing/good-sides-together', - 'на згині': 'docs/sewing/on-the-fold', - 'найвища точка плеча': 'docs/sewing/hps', - 'обрізка': 'docs/sewing/trimming', - 'поверхневий шов': 'docs/sewing/topstitching', - 'подвійна голка': 'docs/sewing/twin-needle', - 'припуск на шов': 'docs/sewing/seam-allowance', - 'підшивання краю': 'docs/sewing/hemming', - 'район': 'docs/sewing/rayon', - 'свобода облягання': 'docs/sewing/ease', - 'сергер': 'docs/sewing/serger', - 'строчка зигзаг': 'docs/sewing/zig-zag-stitch', - 'ткацьке переплетення': 'docs/sewing/fabric-grain', - 'трикотажна бийка': 'docs/sewing/knit-binding', - 'трикотажна тканина': 'docs/sewing/knit-fabric', - 'шовний стібок': 'docs/sewing/slipstitch', - // Account - id: 'docs/about/site/account/id', - uid: 'docs/about/site/account/id', - "ідентифікатор користувача": 'docs/about/site/account/id', - "ім'я користувача": 'docs/about/site/account/id', - "ID користувача": 'docs/about/site/account/id', - 'роль': 'docs/about/site/account/role', - }, -} - -/* - * DO NOT CHANGE ANYTHING BELOW THIS LINE - */ -export const Term = ({ children }) => -export const TermList = termList(jargon, 'org') diff --git a/sites/shared/components/mdx/index.mjs b/sites/shared/components/mdx/index.mjs index c412606f2f4..70aa30baacf 100644 --- a/sites/shared/components/mdx/index.mjs +++ b/sites/shared/components/mdx/index.mjs @@ -17,7 +17,11 @@ import { DesignMeasurements } from './design-measurements.mjs' import { DesignOptions } from './design-options.mjs' import { MeasieImage } from 'shared/components/measurements/image.mjs' // Dev/Org jargon -import { Term, TermList } from 'site/components/jargon.mjs' +import { Term as SharedTerm, termList } from 'shared/components/jargon.mjs' +import { jargon, site } from 'site/prebuild/jargon.mjs' + +export const Term = ({ children }) => +export const TermList = termList(jargon, site) export const components = (site = 'org', slug = []) => { const base = { diff --git a/sites/shared/prebuild/markdown.mjs b/sites/shared/prebuild/markdown.mjs index 6124daed1cd..008dbe64d71 100644 --- a/sites/shared/prebuild/markdown.mjs +++ b/sites/shared/prebuild/markdown.mjs @@ -144,12 +144,38 @@ const loadUsers = async (list, store) => { const loadDocs = async (site) => { const folder = site === 'org' ? 'docs' : '' const titles = await loadFolderFrontmatter('title', site, folder) + const terms = await loadFolderFrontmatter('jargon', site, folder) // Order is the same for all languages, so only grab EN files const order = await loadFolderFrontmatter('order', site, folder, false, 'en') + const jargon = await loadFolderFrontmatter('jargon', site, folder) return mergeOrder(titles, order) } +/* + * Loads jargon and terms + */ +const loadJargon = async (site, docs) => { + const folder = site === 'org' ? 'docs' : '' + const jargon = await loadFolderFrontmatter('jargon', site, folder) + const terms = await loadFolderFrontmatter('terms', site, folder) + + const data = {} + for (const lang in jargon) { + data[lang] = {} + for (const slug in jargon[lang]) { + data[lang][docs[lang][slug].t.toLowerCase()] = slug + if (terms[lang]?.[slug]) { + for (const term of terms[lang][slug].split(',').map((term) => term.trim())) { + data[lang][term.toLowerCase()] = slug + } + } + } + } + + return data +} + /* * Loads all blog posts, titles and order */ @@ -290,6 +316,15 @@ const writeFile = async (filename, exportname, site, content) => { export const prebuildDocs = async (store) => { store.docs = await loadDocs(store.site) await writeFiles('docs', store.site, store.docs) + + // Handle jargon + store.jargon = await loadJargon(store.site, store.docs) + fs.writeFileSync( + path.resolve('..', store.site, 'prebuild', `jargon.mjs`), + `${header} +export const site = "${store.site}" +export const jargon = ${JSON.stringify(store.jargon, null, 2)}` + ) } /*