diff --git a/markdown/dev/contributors/code-of-conduct/en.md b/markdown/dev/contributors/code-of-conduct/en.md index eb5bc51c3ad..1ff77e85ff5 100644 --- a/markdown/dev/contributors/code-of-conduct/en.md +++ b/markdown/dev/contributors/code-of-conduct/en.md @@ -1,15 +1,12 @@ -*** - +--- title: Code of Conduct for: contributors -icons: - -* face -* heart - about: | - FreeSewing's code of conduct is based on the [contributor covenant](https://www.contributor-covenant.org/) - -*** +icons: + - face + - heart +about: | + FreeSewing's code of conduct is based on the [contributor covenant](https://www.contributor-covenant.org/) +--- @@ -23,7 +20,6 @@ This Code of Conduct is an almost verbatim copy of the [Contributor Covenant][ho available at [http://contributor-covenant.org/version/2/0][version] [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/2/0/ diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/correction/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/correction/en.md index 3e31e38d6c7..42c92fcc515 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/correction/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/correction/en.md @@ -1,18 +1,15 @@ -*** - +--- title: Correction order: 10 ---------- +--- ##### Community Impact - -Use of inappropriate language or other behavior +Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. ##### Consequence - -A private, written warning from community leaders, -providing clarity around the nature of the violation and an -explanation of why the behavior was inappropriate. - +A private, written warning from community leaders, +providing clarity around the nature of the violation and an +explanation of why the behavior was inappropriate. + A public apology may be requested. diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/en.md index d37cf90d774..86513580827 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/en.md @@ -1,11 +1,10 @@ -*** - +--- title: Enforcement Guidelines order: 60 ---------- +--- -Community leaders will follow these Community Impact Guidelines -in determining the consequences for any action they deem +Community leaders will follow these Community Impact Guidelines +in determining the consequences for any action they deem in violation of FreeSewing's Code of Conduct: diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/permanent-ban/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/permanent-ban/en.md index 7c061872f7d..0143bf8c17f 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/permanent-ban/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/permanent-ban/en.md @@ -1,16 +1,13 @@ -*** - +--- title: Permanent ban order: 40 ---------- +--- ##### Community Impact - -Demonstrating a pattern of violation of -community standards, including sustained inappropriate behavior, -harassment of an individual, or aggression toward or +Demonstrating a pattern of violation of +community standards, including sustained inappropriate behavior, +harassment of an individual, or aggression toward or disparagement of classes of individuals. ##### Consequence - A permanent ban from any sort of public interaction within the community. diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/temporary-ban/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/temporary-ban/en.md index 852e68ee28b..e489b00f48d 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/temporary-ban/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/temporary-ban/en.md @@ -1,22 +1,20 @@ -*** - +--- title: Temporary ban order: 30 ---------- +--- -##### Community Impact - -A serious violation of community standards, +##### Community Impact +A serious violation of community standards, including sustained inappropriate behavior. ##### Consequence +A temporary ban from any sort of interaction or +public communication with the community for a specified period +of time. -A temporary ban from any sort of interaction or -public communication with the community for a specified period -of time. - -No public or private interaction with the people -involved, including unsolicited interaction with those enforcing -the Code of Conduct, is allowed during this period. +No public or private interaction with the people +involved, including unsolicited interaction with those enforcing +the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/warning/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/warning/en.md index 535f26719e1..9ac4e38f9b2 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/warning/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-guidelines/warning/en.md @@ -1,20 +1,17 @@ -*** - +--- title: Warning order: 20 ---------- +--- ##### Community Impact - A violation through a single incident or series of actions. - + ##### Consequence - -A warning with consequences for continued behavior.\ -No interaction with the people involved, including unsolicited -interaction with those enforcing the Code of Conduct, for a -specified period of time. This includes avoiding interactions +A warning with consequences for continued behavior. +No interaction with the people involved, including unsolicited +interaction with those enforcing the Code of Conduct, for a +specified period of time. This includes avoiding interactions in community spaces as well as external channels like social -media. +media. Violating these terms may lead to a temporary or permanent ban. diff --git a/markdown/dev/contributors/code-of-conduct/enforcement-responsibilities/en.md b/markdown/dev/contributors/code-of-conduct/enforcement-responsibilities/en.md index d0f29025ed4..d6991787dad 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement-responsibilities/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement-responsibilities/en.md @@ -1,15 +1,14 @@ -*** - +--- title: Enforcement responsibilities order: 30 ---------- +--- -Community leaders are responsible for clarifying and enforcing our standards -of acceptable behavior and will take appropriate and fair corrective action -in response to any behavior that they deem inappropriate, threatening, +Community leaders are responsible for clarifying and enforcing our standards +of acceptable behavior and will take appropriate and fair corrective action +in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. -Community leaders have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, and will communicate reasons +Community leaders have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. diff --git a/markdown/dev/contributors/code-of-conduct/enforcement/en.md b/markdown/dev/contributors/code-of-conduct/enforcement/en.md index 6cc33d4a6e5..a632e384144 100644 --- a/markdown/dev/contributors/code-of-conduct/enforcement/en.md +++ b/markdown/dev/contributors/code-of-conduct/enforcement/en.md @@ -1,16 +1,16 @@ -*** - +--- title: Enforcement order: 50 ---------- +--- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement: -* Joost De Cock (joost@joost.at) -* Sorcha Ní Dhubhghaill (nidhubhs@gmail.com) + - Joost De Cock (joost@joost.at) + - Sorcha Ní Dhubhghaill (nidhubhs@gmail.com) All complaints will be reviewed and investigated promptly and fairly. -All community leaders are obligated to respect the privacy and +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + diff --git a/markdown/dev/contributors/code-of-conduct/our-pledge/en.md b/markdown/dev/contributors/code-of-conduct/our-pledge/en.md index 937fef35b12..41a2a697718 100644 --- a/markdown/dev/contributors/code-of-conduct/our-pledge/en.md +++ b/markdown/dev/contributors/code-of-conduct/our-pledge/en.md @@ -1,16 +1,16 @@ -*** - +--- title: Our pledge order: 10 ---------- +--- -We as members, contributors, and leaders of the FreeSewing community pledge +We as members, contributors, and leaders of the FreeSewing community pledge to make participation in our community a harassment-free experience for everyone. -Everyone, regardless of age, body size, visible or invisible disability, -ethnicity, sex characteristics, gender identity and expression, level of experience, -education, socio-economic status, nationality, personal appearance, race, +Everyone, regardless of age, body size, visible or invisible disability, +ethnicity, sex characteristics, gender identity and expression, level of experience, +education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. -We pledge to act and interact in ways that contribute to an open, welcoming, +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + diff --git a/markdown/dev/contributors/code-of-conduct/our-standards/en.md b/markdown/dev/contributors/code-of-conduct/our-standards/en.md index d51689bf9e5..747b50a477c 100644 --- a/markdown/dev/contributors/code-of-conduct/our-standards/en.md +++ b/markdown/dev/contributors/code-of-conduct/our-standards/en.md @@ -1,21 +1,20 @@ -*** - +--- title: Our standards order: 20 ---------- +--- Examples of behavior that contributes to a positive environment for our community include: -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall community + - Demonstrating empathy and kindness toward other people + - Being respectful of differing opinions, viewpoints, and experiences + - Giving and gracefully accepting constructive feedback + - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience + - Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: -* The use of sexualized language or imagery, and sexual attention or advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others’ private information, such as a physical or email address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting + - The use of sexualized language or imagery, and sexual attention or advances of any kind + - Trolling, insulting or derogatory comments, and personal or political attacks + - Public or private harassment + - Publishing others’ private information, such as a physical or email address, without their explicit permission + - Other conduct which could reasonably be considered inappropriate in a professional setting diff --git a/markdown/dev/contributors/code-of-conduct/scope/en.md b/markdown/dev/contributors/code-of-conduct/scope/en.md index 57969d3fcc1..74545fb0cb4 100644 --- a/markdown/dev/contributors/code-of-conduct/scope/en.md +++ b/markdown/dev/contributors/code-of-conduct/scope/en.md @@ -1,12 +1,12 @@ -*** - +--- title: Scope order: 40 ---------- +--- -This Code of Conduct applies within all FreeSewing community spaces, and also applies -when an individual is officially representing the FreeSewing community in public spaces. +This Code of Conduct applies within all FreeSewing community spaces, and also applies +when an individual is officially representing the FreeSewing community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed representative +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed representative at an online or offline event. + diff --git a/markdown/dev/contributors/en.md b/markdown/dev/contributors/en.md index 69ebbd01c8b..6164399c6d4 100644 --- a/markdown/dev/contributors/en.md +++ b/markdown/dev/contributors/en.md @@ -1,10 +1,9 @@ -*** - +--- title: For contributors order: 1110 ------------ +--- -Thank you for being part of our community, and for wanting to contribute! ❤️ +Thank you for being part of our community, and for wanting to contribute! ❤️ FreeSewing is an open source project ran by volunteers from different corners of the world. We would love to have you on board, but before we get to that, let's look at what we expect from you: @@ -13,8 +12,8 @@ We would love to have you on board, but before we get to that, let's look at wha ##### Contributor requirements -* Please respect [our community standards](https://freesewing.org/docs/various/community-standards/) -* As a contributor, you must uphold [our Code of Conduct](/contributors/code-of-conduct/) + - Please respect [our community standards](https://freesewing.org/docs/various/community-standards/) + - As a contributor, you must uphold [our Code of Conduct](/contributors/code-of-conduct/) @@ -24,12 +23,14 @@ With that out of the way, here's a few more things that are *good to know*: ##### Did you know? -* 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 -- - See our [revenue pledge](https://freesewing.org/docs/various/pledge/) for details + - 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 -- + See our [revenue pledge](https://freesewing.org/docs/various/pledge/) for details -With the formalities out of the way, please continue + +With the formalities out of the way, please continue to [Ways to contribute](/contributors/ways-to-contribute) or [Where to get help](/contributors/help/). + diff --git a/markdown/dev/contributors/help/en.md b/markdown/dev/contributors/help/en.md index cfffaddb8ca..99f244af014 100644 --- a/markdown/dev/contributors/help/en.md +++ b/markdown/dev/contributors/help/en.md @@ -1,26 +1,26 @@ -*** - +--- title: Where to get help for: contributors -icons: +icons: + - help + - discord +about: | + Our [chatrooms on Discord](https://discord.freesewing.org/) are the best place to + ask questions or share your feedback +--- -* help -* discord - about: | - Our [chatrooms on Discord](https://discord.freesewing.org/) are the best place to - ask questions or share your feedback - -*** - -Our [chatrooms on Discord](https://discord.freesewing.org/) are the best place to +Our [chatrooms on Discord](https://discord.freesewing.org/) are the best place to ask questions or share your feedback. Many of the FreeSewing contributors hang out there, and since we're spread over different parts of the world, you're likely to find somebody there who can answer your question(s) at any given moment. + If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + diff --git a/markdown/dev/contributors/terms/backend/en.md b/markdown/dev/contributors/terms/backend/en.md index 9688cdc8aaa..434665a1c19 100644 --- a/markdown/dev/contributors/terms/backend/en.md +++ b/markdown/dev/contributors/terms/backend/en.md @@ -1,5 +1,5 @@ -*** - -## title: Backend +--- +title: Backend +--- [The FreeSewing backend](https://backend.freesewing.org/) handles all user data for freesewing.org. diff --git a/markdown/dev/contributors/terms/commit/en.md b/markdown/dev/contributors/terms/commit/en.md index 636fc1602b8..1dcfaeec49b 100644 --- a/markdown/dev/contributors/terms/commit/en.md +++ b/markdown/dev/contributors/terms/commit/en.md @@ -1,7 +1,7 @@ -*** - -## title: Commit +--- +title: Commit +--- A [commit](https://github.com/git-guides/git-commit) is made every time somebody published an update to our source code. -The words is also used as a verb as in *to commit changes*. +The words is also used as a verb as in _to commit changes_. diff --git a/markdown/dev/contributors/terms/contributor-call/en.md b/markdown/dev/contributors/terms/contributor-call/en.md index 0cf64617de6..47d8afda741 100644 --- a/markdown/dev/contributors/terms/contributor-call/en.md +++ b/markdown/dev/contributors/terms/contributor-call/en.md @@ -1,6 +1,6 @@ -*** - -## title: Contributor call (fscc) +--- +title: Contributor call (fscc) +--- The FreeSewing Contributor Call (fscc) is a bi-weekly conference call/zoom meeting with the FreeSewing contributors. diff --git a/markdown/dev/contributors/terms/contributor/en.md b/markdown/dev/contributors/terms/contributor/en.md index 27eaffbc2ff..ae9f5e31c0f 100644 --- a/markdown/dev/contributors/terms/contributor/en.md +++ b/markdown/dev/contributors/terms/contributor/en.md @@ -1,6 +1,6 @@ -*** - -## title: Contributor +--- +title: Contributor +--- Anybody who contributes to FreeSewing in a material way. Either with code contributions, or community building, or pattern design, and so on. diff --git a/markdown/dev/contributors/terms/design-pattern/en.md b/markdown/dev/contributors/terms/design-pattern/en.md index 489f67fd48d..b45f65884bb 100644 --- a/markdown/dev/contributors/terms/design-pattern/en.md +++ b/markdown/dev/contributors/terms/design-pattern/en.md @@ -1,6 +1,6 @@ -*** - -## title: Design/Pattern +--- +title: Design/Pattern +--- The terms **pattern** and **design** somewhat overlap and their exact meaning depends on the context. diff --git a/markdown/dev/contributors/terms/developer/en.md b/markdown/dev/contributors/terms/developer/en.md index 835a763336f..baa467c6801 100644 --- a/markdown/dev/contributors/terms/developer/en.md +++ b/markdown/dev/contributors/terms/developer/en.md @@ -1,5 +1,5 @@ -*** - -## title: Developer +--- +title: Developer +--- Anybody who works with software code or wants to learn to do so. diff --git a/markdown/dev/contributors/terms/discord/en.md b/markdown/dev/contributors/terms/discord/en.md index 4fa91a0af20..b0aa98ebf5d 100644 --- a/markdown/dev/contributors/terms/discord/en.md +++ b/markdown/dev/contributors/terms/discord/en.md @@ -1,7 +1,7 @@ -*** - -## title: Discord +--- +title: Discord +--- 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_. diff --git a/markdown/dev/contributors/terms/editor/en.md b/markdown/dev/contributors/terms/editor/en.md index abcec0db59d..42613722431 100644 --- a/markdown/dev/contributors/terms/editor/en.md +++ b/markdown/dev/contributors/terms/editor/en.md @@ -1,6 +1,6 @@ -*** - -## title: Editor +--- +title: Editor +--- A person who contributs to/with content. Either by writing blog posts or documentation, or posts for social media. But it can also be video editing or making illustrations. diff --git a/markdown/dev/contributors/terms/en.md b/markdown/dev/contributors/terms/en.md index a03dd9af566..d00bc91d63f 100644 --- a/markdown/dev/contributors/terms/en.md +++ b/markdown/dev/contributors/terms/en.md @@ -1,16 +1,13 @@ -*** - +--- title: Terminology -icons: +icons: + - logo + - terms +for: contributors +about: Terms and definitions that will help you navigate the world of FreeSewing +--- -* logo -* terms - for: contributors - about: Terms and definitions that will help you navigate the world of FreeSewing - -*** - -Below is a list of terms you may come across when working with FreeSewing with a +Below is a list of terms you may come across when working with FreeSewing with a link to a brief description: diff --git a/markdown/dev/contributors/terms/express/en.md b/markdown/dev/contributors/terms/express/en.md index d1613db2ace..3612bf42e1b 100644 --- a/markdown/dev/contributors/terms/express/en.md +++ b/markdown/dev/contributors/terms/express/en.md @@ -1,7 +1,7 @@ -*** +--- +title: Express +--- -## title: Express - -[Express](https://expressjs.com/) is a web framework for NodeJS. +[Express](https://expressjs.com/) is a web framework for NodeJS. The FreeSewing backend is powered by Express. diff --git a/markdown/dev/contributors/terms/freesewing.dev/en.md b/markdown/dev/contributors/terms/freesewing.dev/en.md index b6f4d83c237..3e8db682d73 100644 --- a/markdown/dev/contributors/terms/freesewing.dev/en.md +++ b/markdown/dev/contributors/terms/freesewing.dev/en.md @@ -1,5 +1,5 @@ -*** - -## title: freesewing.dev +--- +title: freesewing.dev +--- Our website for developers. diff --git a/markdown/dev/contributors/terms/freesewing.org/en.md b/markdown/dev/contributors/terms/freesewing.org/en.md index 5309919bae3..e27d4849b72 100644 --- a/markdown/dev/contributors/terms/freesewing.org/en.md +++ b/markdown/dev/contributors/terms/freesewing.org/en.md @@ -1,6 +1,6 @@ -*** - -## title: freesewing.org +--- +title: freesewing.org +--- Our website for makers. @@ -19,7 +19,7 @@ built with Gatsby. ## 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 as the type of units to use, or paper sizes, and so on. @@ -62,7 +62,7 @@ Node (or Node JS) is a Javascript runtime that allows to use the language outsid ## Parametric pattern design -A design approach whereby sewing patterns are contructed based on parameters, +A design approach whereby sewing patterns are contructed based on parameters, and can adapt automatically when those parameters change. Those parameters almost always include body measurements, and user preferences. @@ -79,7 +79,7 @@ An extension to FreeSewing core that provides an extra feature of functionality. A pull request is a proposal to commit changes to a repository. -Pull requests can either be made because the person does not have the rights to make +Pull requests can either be made because the person does not have the rights to make changes to the repository directly. Or to discuss or validate the changes prior to accepting them. diff --git a/markdown/dev/contributors/terms/freesewing/en.md b/markdown/dev/contributors/terms/freesewing/en.md index 58f0372cd62..c25a877db85 100644 --- a/markdown/dev/contributors/terms/freesewing/en.md +++ b/markdown/dev/contributors/terms/freesewing/en.md @@ -1,5 +1,5 @@ -*** - -## title: FreeSewing +--- +title: FreeSewing +--- FreeSewing refers to the community-driven open source project. diff --git a/markdown/dev/contributors/terms/frontend/en.md b/markdown/dev/contributors/terms/frontend/en.md index 516178a22e2..ae4f2e0052d 100644 --- a/markdown/dev/contributors/terms/frontend/en.md +++ b/markdown/dev/contributors/terms/frontend/en.md @@ -1,5 +1,5 @@ -*** - -## title: Frontend +--- +title: Frontend +--- A user-facing interface. Can refer to one of our websites, or our development environment. diff --git a/markdown/dev/contributors/terms/gatsby/en.md b/markdown/dev/contributors/terms/gatsby/en.md index 013cd165d04..ee287903079 100644 --- a/markdown/dev/contributors/terms/gatsby/en.md +++ b/markdown/dev/contributors/terms/gatsby/en.md @@ -1,7 +1,7 @@ -*** +--- +title: Gatsby +--- -## title: Gatsby - -[Gatsby](https://www.gatsbyjs.com/) is a static-site generator for React. +[Gatsby](https://www.gatsbyjs.com/) is a static-site generator for React. Both freesewing.org and freesewing.dev are built on top of Gatsby. diff --git a/markdown/dev/contributors/terms/i18n/en.md b/markdown/dev/contributors/terms/i18n/en.md index 9d2700d25be..7d805b7533c 100644 --- a/markdown/dev/contributors/terms/i18n/en.md +++ b/markdown/dev/contributors/terms/i18n/en.md @@ -1,7 +1,7 @@ -*** +--- +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 as the type of units to use, or paper sizes, and so on. diff --git a/markdown/dev/contributors/terms/issue/en.md b/markdown/dev/contributors/terms/issue/en.md index 7725963e78e..a34cf8fbcd6 100644 --- a/markdown/dev/contributors/terms/issue/en.md +++ b/markdown/dev/contributors/terms/issue/en.md @@ -1,9 +1,9 @@ -*** - -## title: Issue +--- +title: Issue +--- An issue is a sort of support ticket. It can be a bug report, a feature request, a question or problem report. Issues are hosted on Github. Each repository can have its own issues, but most our -issue are handled on our monorepo: https://github.com/freesewing/freesewing/issues +issue are handled on our monorepo: https://github.com/freesewing/freesewing/issues diff --git a/markdown/dev/contributors/terms/javascript/en.md b/markdown/dev/contributors/terms/javascript/en.md index 0660b64dabd..4f857df2e88 100644 --- a/markdown/dev/contributors/terms/javascript/en.md +++ b/markdown/dev/contributors/terms/javascript/en.md @@ -1,6 +1,6 @@ -*** - -## title: Javascript +--- +title: Javascript +--- The programming language in which FreeSewing is written. It can run in your browser, as well as outside of it with Node JS. diff --git a/markdown/dev/contributors/terms/made-to-measure/en.md b/markdown/dev/contributors/terms/made-to-measure/en.md index 9f631464c13..49b629db823 100644 --- a/markdown/dev/contributors/terms/made-to-measure/en.md +++ b/markdown/dev/contributors/terms/made-to-measure/en.md @@ -1,5 +1,5 @@ -*** - -## title: Made-to-measure +--- +title: Made-to-measure +--- Made to someone's (body) measurements, rather than based on specific sizes. diff --git a/markdown/dev/contributors/terms/markdown/en.md b/markdown/dev/contributors/terms/markdown/en.md index efabb42bb61..73a6efccf73 100644 --- a/markdown/dev/contributors/terms/markdown/en.md +++ b/markdown/dev/contributors/terms/markdown/en.md @@ -1,6 +1,6 @@ -*** - -## title: Markdown +--- +title: Markdown +--- A plain text markup format that is easy to read for computers and humans alike. It's a way to write things in plain text, yet make them look pretty in HTML. diff --git a/markdown/dev/contributors/terms/monorepo/en.md b/markdown/dev/contributors/terms/monorepo/en.md index 1d9472e31da..ef65a77ed5d 100644 --- a/markdown/dev/contributors/terms/monorepo/en.md +++ b/markdown/dev/contributors/terms/monorepo/en.md @@ -1,6 +1,6 @@ -*** - -## title: Monorepo +--- +title: Monorepo +--- A monorepo is an organisational approach to software development where rather than having a multitude of repositories, a number of different software pieces are bundled diff --git a/markdown/dev/contributors/terms/node/en.md b/markdown/dev/contributors/terms/node/en.md index a0d3b23061c..361ac0208e1 100644 --- a/markdown/dev/contributors/terms/node/en.md +++ b/markdown/dev/contributors/terms/node/en.md @@ -1,5 +1,5 @@ -*** - -## title: Node +--- +title: Node +--- Node (or NodeJS) is a Javascript runtime that allows to use the language outside the browser. diff --git a/markdown/dev/contributors/terms/parametric-pattern-design/en.md b/markdown/dev/contributors/terms/parametric-pattern-design/en.md index 5e33f85b6c8..c0a7a1114d0 100644 --- a/markdown/dev/contributors/terms/parametric-pattern-design/en.md +++ b/markdown/dev/contributors/terms/parametric-pattern-design/en.md @@ -1,8 +1,8 @@ -*** +--- +title: Parametric pattern design +--- -## title: Parametric pattern design - -A design approach whereby sewing patterns are contructed based on parameters, +A design approach whereby sewing patterns are contructed based on parameters, and can adapt automatically when those parameters change. Those parameters almost always include body measurements, and user preferences. diff --git a/markdown/dev/contributors/terms/patron/en.md b/markdown/dev/contributors/terms/patron/en.md index 045d7dd8607..f98537806fb 100644 --- a/markdown/dev/contributors/terms/patron/en.md +++ b/markdown/dev/contributors/terms/patron/en.md @@ -1,5 +1,5 @@ -*** - -## title: Patron +--- +title: Patron +--- A person who supports FreeSewing financially. diff --git a/markdown/dev/contributors/terms/plugin/en.md b/markdown/dev/contributors/terms/plugin/en.md index 6fcb94d0357..6796efd1f2e 100644 --- a/markdown/dev/contributors/terms/plugin/en.md +++ b/markdown/dev/contributors/terms/plugin/en.md @@ -1,5 +1,5 @@ -*** - -## title: Plugin +--- +title: Plugin +--- An extension to FreeSewing core that provides an extra feature of functionality. diff --git a/markdown/dev/contributors/terms/pull-request/en.md b/markdown/dev/contributors/terms/pull-request/en.md index 580fcda0eea..ed6074725ef 100644 --- a/markdown/dev/contributors/terms/pull-request/en.md +++ b/markdown/dev/contributors/terms/pull-request/en.md @@ -1,9 +1,9 @@ -*** - -## title: Pull request +--- +title: Pull request +--- A pull request is a proposal to commit changes to a repository. -Pull requests can either be made because the person does not have the rights to make +Pull requests can either be made because the person does not have the rights to make changes to the repository directly. Or to discuss or validate the changes prior to accepting them. diff --git a/markdown/dev/contributors/terms/react/en.md b/markdown/dev/contributors/terms/react/en.md index 1323030a14c..89e472d0528 100644 --- a/markdown/dev/contributors/terms/react/en.md +++ b/markdown/dev/contributors/terms/react/en.md @@ -1,6 +1,6 @@ -*** - -## title: React +--- +title: React +--- [React](https://reactjs.org/) is a Javascript framework to build user interfaces on the web. diff --git a/markdown/dev/contributors/terms/repo/en.md b/markdown/dev/contributors/terms/repo/en.md index 522c5368b49..06ca76eac5c 100644 --- a/markdown/dev/contributors/terms/repo/en.md +++ b/markdown/dev/contributors/terms/repo/en.md @@ -1,5 +1,5 @@ -*** - -## title: Repo +--- +title: Repo +--- Short for [repository](/contributors/terms/repository/). diff --git a/markdown/dev/contributors/terms/repository/en.md b/markdown/dev/contributors/terms/repository/en.md index 9090800d0a4..4adb866419e 100644 --- a/markdown/dev/contributors/terms/repository/en.md +++ b/markdown/dev/contributors/terms/repository/en.md @@ -1,6 +1,6 @@ -*** - -## title: Repository +--- +title: Repository +--- We develop our software collaboratively, and all code is available in Github in so-called repositories. diff --git a/markdown/dev/contributors/terms/tiler/en.md b/markdown/dev/contributors/terms/tiler/en.md index 5f47f751451..cab46f3c470 100644 --- a/markdown/dev/contributors/terms/tiler/en.md +++ b/markdown/dev/contributors/terms/tiler/en.md @@ -1,8 +1,9 @@ -*** - -## title: Tiler +--- +title: Tiler +--- The FreeSewing tiler is responsible for taking a pattern and splitting it into different pages so it can be printed. The tiler is a backend service that is independent from the main FreeSewing backend. + diff --git a/markdown/dev/contributors/terms/translator/en.md b/markdown/dev/contributors/terms/translator/en.md index 612fc1a1262..2cc34088369 100644 --- a/markdown/dev/contributors/terms/translator/en.md +++ b/markdown/dev/contributors/terms/translator/en.md @@ -1,5 +1,5 @@ -*** - -## title: Translator +--- +title: Translator +--- Somebody who helps with our i18n efforts by translating from English to other languages. diff --git a/markdown/dev/contributors/ways-to-contribute/body-ambassador/en.md b/markdown/dev/contributors/ways-to-contribute/body-ambassador/en.md index 27467dc403e..8256eb5e331 100644 --- a/markdown/dev/contributors/ways-to-contribute/body-ambassador/en.md +++ b/markdown/dev/contributors/ways-to-contribute/body-ambassador/en.md @@ -1,10 +1,11 @@ -*** +--- +title: Body ambassador +--- -## title: Body ambassador +Maybe you’re unusually short or tall. +Maybe you have a bit of a pot belly or very large breasts. +Maybe you have a disability that requires fit adjustments. -Maybe you’re unusually short or tall. -Maybe you have a bit of a pot belly or very large breasts. -Maybe you have a disability that requires fit adjustments. - -Whatever it is, if you represent a minority fitting issue you could +Whatever it is, if you represent a minority fitting issue you could represent this minority to make sure their needs are heard and understood. + diff --git a/markdown/dev/contributors/ways-to-contribute/community-building/en.md b/markdown/dev/contributors/ways-to-contribute/community-building/en.md index c4caac8315b..a77ae091306 100644 --- a/markdown/dev/contributors/ways-to-contribute/community-building/en.md +++ b/markdown/dev/contributors/ways-to-contribute/community-building/en.md @@ -1,10 +1,11 @@ -*** +--- +title: Community building +--- -## title: Community building - -The FreeSewing community resides [on Discord](https://discord.freesewing.org/). +The FreeSewing community resides [on Discord](https://discord.freesewing.org/). Just being there to answer questions and chat with other people is a valuable part of community building. We also can be found [in plenty of other places](https://freesewing.org/community/where/) where we'd love to have you join us. Apart from being present in chat rooms and social media, you could also take on some responsibility on one or more platforms. + diff --git a/markdown/dev/contributors/ways-to-contribute/design-patterns/en.md b/markdown/dev/contributors/ways-to-contribute/design-patterns/en.md index f018040c18f..9b4090d28e3 100644 --- a/markdown/dev/contributors/ways-to-contribute/design-patterns/en.md +++ b/markdown/dev/contributors/ways-to-contribute/design-patterns/en.md @@ -1,6 +1,6 @@ -*** - -## title: Design sewing patterns +--- +title: Design sewing patterns +--- Everybody wants us to add more patterns. But somebody has to design them. diff --git a/markdown/dev/contributors/ways-to-contribute/develop-patterns/en.md b/markdown/dev/contributors/ways-to-contribute/develop-patterns/en.md index 14057c2ff1b..6251674ac09 100644 --- a/markdown/dev/contributors/ways-to-contribute/develop-patterns/en.md +++ b/markdown/dev/contributors/ways-to-contribute/develop-patterns/en.md @@ -1,7 +1,8 @@ -*** +--- +title: Develop sewing patterns +--- -## title: Develop sewing patterns - -You could program new designs for FreeSewing. -If you're not afraid of Javascript and are happy to team up with a designer, +You could program new designs for FreeSewing. +If you're not afraid of Javascript and are happy to team up with a designer, you could work on a new pattern together. + diff --git a/markdown/dev/contributors/ways-to-contribute/devops/en.md b/markdown/dev/contributors/ways-to-contribute/devops/en.md index a9bb0ee3408..f5bd0e3fb13 100644 --- a/markdown/dev/contributors/ways-to-contribute/devops/en.md +++ b/markdown/dev/contributors/ways-to-contribute/devops/en.md @@ -1,6 +1,6 @@ -*** - -## title: Devops +--- +title: Devops +--- We have use a lot of automation from Github actions to automated deployment on Netlify. We also have some Ansible playbooks to run maintenance tasks. diff --git a/markdown/dev/contributors/ways-to-contribute/en.md b/markdown/dev/contributors/ways-to-contribute/en.md index a566324a64a..319f25f557b 100644 --- a/markdown/dev/contributors/ways-to-contribute/en.md +++ b/markdown/dev/contributors/ways-to-contribute/en.md @@ -1,6 +1,6 @@ -*** - -## title: Ways to contribute +--- +title: Ways to contribute +--- @@ -13,8 +13,8 @@ Don't be afraid to take on an issue. If you get stuck, [we'll help you out](http -Unsure where to begin contributing to FreeSewing? -*Contributing* can take on many shapes and forms. +Unsure where to begin contributing to FreeSewing? +*Contributing* can take on many shapes and forms. There's certainly a way that works well for you. Here's a non-exhaustive list: @@ -32,3 +32,6 @@ We are happy to provide guidance to anyone who wants to learn, especially when doing so enables upwards social mobility. + + + diff --git a/markdown/dev/contributors/ways-to-contribute/illustrations/en.md b/markdown/dev/contributors/ways-to-contribute/illustrations/en.md index ab6f88e10c8..3fddbf8a563 100644 --- a/markdown/dev/contributors/ways-to-contribute/illustrations/en.md +++ b/markdown/dev/contributors/ways-to-contribute/illustrations/en.md @@ -1,6 +1,7 @@ -*** - -## title: Make illustrations +--- +title: Make illustrations +--- Our documentation can always use some more/better illustrations to help people figure out how to make our patterns into garments. + diff --git a/markdown/dev/contributors/ways-to-contribute/language-ambassador/en.md b/markdown/dev/contributors/ways-to-contribute/language-ambassador/en.md index d11e51434e3..0cd46c8c929 100644 --- a/markdown/dev/contributors/ways-to-contribute/language-ambassador/en.md +++ b/markdown/dev/contributors/ways-to-contribute/language-ambassador/en.md @@ -1,7 +1,8 @@ -*** +--- +title: Language ambassador +--- -## title: Language ambassador - -You could represent FreeSewing in a non-English community. -There, you can help answer questions or triage problem reports. +You could represent FreeSewing in a non-English community. +There, you can help answer questions or triage problem reports. Or you can point out where translations are missing. + diff --git a/markdown/dev/contributors/ways-to-contribute/pattern-ambassador/en.md b/markdown/dev/contributors/ways-to-contribute/pattern-ambassador/en.md index 45c357cc321..f5c65bb19dc 100644 --- a/markdown/dev/contributors/ways-to-contribute/pattern-ambassador/en.md +++ b/markdown/dev/contributors/ways-to-contribute/pattern-ambassador/en.md @@ -1,9 +1,9 @@ -*** +--- +title: Pattern amabassador +--- -## title: Pattern amabassador +You could take charge of a specific FreeSewing design/pattern. -You could take charge of a specific FreeSewing design/pattern. - -You’ll be the person to ask questions about how to make that pattern. -You’ll make sure the documentation is not forgotten. +You’ll be the person to ask questions about how to make that pattern. +You’ll make sure the documentation is not forgotten. And you can help with questions or triage problem reports to developers or designers. diff --git a/markdown/dev/contributors/ways-to-contribute/pattern-testing/en.md b/markdown/dev/contributors/ways-to-contribute/pattern-testing/en.md index b48750d06cb..95647e024ea 100644 --- a/markdown/dev/contributors/ways-to-contribute/pattern-testing/en.md +++ b/markdown/dev/contributors/ways-to-contribute/pattern-testing/en.md @@ -1,5 +1,5 @@ -*** - -## title: Pattern testing +--- +title: Pattern testing +--- You could make (a muslin for) our patterns prior to release to make sure everything is ok. diff --git a/markdown/dev/contributors/ways-to-contribute/project-management/en.md b/markdown/dev/contributors/ways-to-contribute/project-management/en.md index 6520ccc3019..d125cd76375 100644 --- a/markdown/dev/contributors/ways-to-contribute/project-management/en.md +++ b/markdown/dev/contributors/ways-to-contribute/project-management/en.md @@ -1,6 +1,6 @@ -*** - -## title: Project management +--- +title: Project management +--- There's a lot going on within the FreeSewing project and it's easy to forget about something. @@ -9,6 +9,7 @@ organize milestones, and so on. This is helpful in more than one way: -* It reduces the cognitive load of the people implementing changes because they don't have to worry about forgetting things -* It increases transparency by making it clear what sort of things are being worked on -* It gives us that good feeling of closing the issue when the task is done + - It reduces the cognitive load of the people implementing changes because they don't have to worry about forgetting things + - It increases transparency by making it clear what sort of things are being worked on + - It gives us that good feeling of closing the issue when the task is done + diff --git a/markdown/dev/contributors/ways-to-contribute/proofreading/en.md b/markdown/dev/contributors/ways-to-contribute/proofreading/en.md index e5559c7dbb9..3f816807ce9 100644 --- a/markdown/dev/contributors/ways-to-contribute/proofreading/en.md +++ b/markdown/dev/contributors/ways-to-contribute/proofreading/en.md @@ -1,6 +1,6 @@ -*** - -## title: Proofreading +--- +title: Proofreading +--- You could check the original English text of translations for typos and/or grammar mistakes. You could propose improvements and watch over a consistent style and tone across FreeSewing’s documentation and written text. diff --git a/markdown/dev/contributors/ways-to-contribute/report-bugs/en.md b/markdown/dev/contributors/ways-to-contribute/report-bugs/en.md index b6230da2d25..8dbbcf043fe 100644 --- a/markdown/dev/contributors/ways-to-contribute/report-bugs/en.md +++ b/markdown/dev/contributors/ways-to-contribute/report-bugs/en.md @@ -1,17 +1,18 @@ -*** +--- +title: Report bugs +--- -## title: Report bugs - -Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). -Create an issue [in our monorepo](https://github.com/freesewing/freesewing/issues/new?assignees=\&labels=%F0%9F%90%9B+bug\&template=bug-report.md\&title=Bug+report) if you've found one. +Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). +Create an issue [in our monorepo](https://github.com/freesewing/freesewing/issues/new?assignees=&labels=%F0%9F%90%9B+bug&template=bug-report.md&title=Bug+report) if you've found one. Explain the problem and include additional details to help maintainers reproduce the problem: -* **Use a clear and descriptive title** for the issue to identify the problem. -* **Describe the exact steps which reproduce the problem** in as many details as possible. -* **Include relevant information** such as your username on the site, or the person you drafted a pattern for. +* **Use a clear and descriptive title** for the issue to identify the problem. +* **Describe the exact steps which reproduce the problem** in as many details as possible. +* **Include relevant information** such as your username on the site, or the person you drafted a pattern for. Provide more context by answering these questions: -* **Did the problem start happening recently** (e.g. it worked fine before but since the latest update it doesn't) -* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens. +* **Did the problem start happening recently** (e.g. it worked fine before but since the latest update it doesn't) +* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens. + diff --git a/markdown/dev/contributors/ways-to-contribute/showcase-our-patterns/en.md b/markdown/dev/contributors/ways-to-contribute/showcase-our-patterns/en.md index 9fabfac9787..85dc96a4dc3 100644 --- a/markdown/dev/contributors/ways-to-contribute/showcase-our-patterns/en.md +++ b/markdown/dev/contributors/ways-to-contribute/showcase-our-patterns/en.md @@ -1,8 +1,9 @@ -*** - -## title: Showcase our patterns +--- +title: Showcase our patterns +--- Anytime somebody has made one of our patterns, we like to showcase it on [freesewing.org](https://freesewing.org/showcase/). -Unpublished showcases are tracked as [GitHub issues](https://guides.github.com/features/issues/). -Create an issue [in our monorepo](https://github.com/freesewing/freesewing/issues/new?assignees=\&labels=%F0%9F%91%8D+good+first+issue%2C+%F0%9F%93%B8+showcase%2C+%F0%9F%A4%97+community\&template=showcase-template.md\&title=Create+showcase+from+this+content) when you've made one of our patterns, or have come across pictures from another maker who did. +Unpublished showcases are tracked as [GitHub issues](https://guides.github.com/features/issues/). +Create an issue [in our monorepo](https://github.com/freesewing/freesewing/issues/new?assignees=&labels=%F0%9F%91%8D+good+first+issue%2C+%F0%9F%93%B8+showcase%2C+%F0%9F%A4%97+community&template=showcase-template.md&title=Create+showcase+from+this+content) when you've made one of our patterns, or have come across pictures from another maker who did. + diff --git a/markdown/dev/contributors/ways-to-contribute/technical-writing/code/en.md b/markdown/dev/contributors/ways-to-contribute/technical-writing/code/en.md index 505768723af..9187ecb54f4 100644 --- a/markdown/dev/contributors/ways-to-contribute/technical-writing/code/en.md +++ b/markdown/dev/contributors/ways-to-contribute/technical-writing/code/en.md @@ -1,6 +1,6 @@ -*** - -## title: Writing for freesewing.dev +--- +title: Writing for freesewing.dev +--- You could write documentation for freesewing.dev, our developers website. diff --git a/markdown/dev/contributors/ways-to-contribute/technical-writing/en.md b/markdown/dev/contributors/ways-to-contribute/technical-writing/en.md index cefcb6d7d2c..3bce8559562 100644 --- a/markdown/dev/contributors/ways-to-contribute/technical-writing/en.md +++ b/markdown/dev/contributors/ways-to-contribute/technical-writing/en.md @@ -1,5 +1,5 @@ -*** - -## title: Technical writing +--- +title: Technical writing +--- diff --git a/markdown/dev/contributors/ways-to-contribute/technical-writing/patterns/en.md b/markdown/dev/contributors/ways-to-contribute/technical-writing/patterns/en.md index d5861a72c85..1611bcb0700 100644 --- a/markdown/dev/contributors/ways-to-contribute/technical-writing/patterns/en.md +++ b/markdown/dev/contributors/ways-to-contribute/technical-writing/patterns/en.md @@ -1,6 +1,6 @@ -*** - -## title: Writing for freesewing.org +--- +title: Writing for freesewing.org +--- You could write documentation for freesewing.org, our makers website. diff --git a/markdown/dev/contributors/ways-to-contribute/translation/en.md b/markdown/dev/contributors/ways-to-contribute/translation/en.md index 83fed65b7e5..72c23a32476 100644 --- a/markdown/dev/contributors/ways-to-contribute/translation/en.md +++ b/markdown/dev/contributors/ways-to-contribute/translation/en.md @@ -1,6 +1,7 @@ -*** +--- +title: Translation +--- -## title: Translation +You could translate FreeSewing into one of its additional languages +(French, German, Dutch, Spanish). Or if you’re ambitious, add a new one. -You could translate FreeSewing into one of its additional languages -(French, German, Dutch, Spanish). Or if you’re ambitious, add a new one. diff --git a/markdown/dev/contributors/ways-to-contribute/triage-issues/en.md b/markdown/dev/contributors/ways-to-contribute/triage-issues/en.md index 2272b006730..1e40e424a74 100644 --- a/markdown/dev/contributors/ways-to-contribute/triage-issues/en.md +++ b/markdown/dev/contributors/ways-to-contribute/triage-issues/en.md @@ -1,14 +1,15 @@ -*** - -## title: Triage issues +--- +title: Triage issues +--- Triaging issues is a great way to get involved in FreeSewing. You can do tasks such as: -* Making sure issues are properly labeled -* Ensuring they have a good title that explains the issue in brief -* Assigning issues to people to make sure they are tended to -* Keeping an eye on stale issues, and either updating or closing them -* Assigning issues to milestones so we can plan our releases + - Making sure issues are properly labeled + - Ensuring they have a good title that explains the issue in brief + - Assigning issues to people to make sure they are tended to + - Keeping an eye on stale issues, and either updating or closing them + - Assigning issues to milestones so we can plan our releases All FreeSewing contributors have triage permissions that allows them to do this. If you don't have the rights, or bump into any issues, [reach out to us on Discord](https://discord.freesewing.org). + diff --git a/markdown/dev/contributors/ways-to-contribute/webdesign/en.md b/markdown/dev/contributors/ways-to-contribute/webdesign/en.md index cd5f64a45b1..84547393a05 100644 --- a/markdown/dev/contributors/ways-to-contribute/webdesign/en.md +++ b/markdown/dev/contributors/ways-to-contribute/webdesign/en.md @@ -1,5 +1,5 @@ -*** - -## title: UI / UX Webdesign +--- +title: UI / UX Webdesign +--- You could help us make our website and tools pretty and improve the user experience. diff --git a/markdown/dev/developers/backend/en.md b/markdown/dev/developers/backend/en.md index 8aaa7a69864..568f6b45f82 100644 --- a/markdown/dev/developers/backend/en.md +++ b/markdown/dev/developers/backend/en.md @@ -1,5 +1,5 @@ -*** - -## title: The freesewing backend +--- +title: The freesewing backend +--- Under construction diff --git a/markdown/dev/developers/dev/en.md b/markdown/dev/developers/dev/en.md index 2fe2ae83362..e0de1123795 100644 --- a/markdown/dev/developers/dev/en.md +++ b/markdown/dev/developers/dev/en.md @@ -1,5 +1,5 @@ -*** - -## title: The freesewing.dev website +--- +title: The freesewing.dev website +--- Under construction diff --git a/markdown/dev/developers/en.md b/markdown/dev/developers/en.md index 4ac1982dc6f..0772613574b 100644 --- a/markdown/dev/developers/en.md +++ b/markdown/dev/developers/en.md @@ -1,19 +1,18 @@ -*** - +--- title: For developers order: 1120 ------------ +--- Welcome to the FreeSewing documentation for developers. Our core library is a toolbox for parametric sewing pattern design. Here's some of the most relevant reference documentation: -* [Core API reference](/reference/api/) -* [Pattern configuration file](/reference/config/) -* [Settings](/reference/settings/) + - [Core API reference](/reference/api/) + - [Pattern configuration file](/reference/config/) + - [Settings](/reference/settings/) -We have a [Pattern design tutorial](/tutorials/pattern-design/) that is a +We have a [Pattern design tutorial](/tutorials/pattern-design/) that is a good way to familiarize yourself with the FreeSewing platform. Alternatively, we have bite-sized guides that cover [prerequisites](/guides/prerequisites/), [patterns](/guides/patterns/), [best practices when designing](/guides/best-practices/), and [plugins](/guides/plugins/). @@ -24,3 +23,5 @@ If you are interested the FreeSewing project as a whole, the following links cover different aspects of our setup: + + diff --git a/markdown/dev/developers/org/en.md b/markdown/dev/developers/org/en.md index 03916227aeb..4dcd214b033 100644 --- a/markdown/dev/developers/org/en.md +++ b/markdown/dev/developers/org/en.md @@ -1,5 +1,5 @@ -*** - -## title: The freesewing.org website +--- +title: The freesewing.org website +--- Under construction diff --git a/markdown/dev/developers/svg2pdf/en.md b/markdown/dev/developers/svg2pdf/en.md index a5d90654d9e..8f91b766d87 100644 --- a/markdown/dev/developers/svg2pdf/en.md +++ b/markdown/dev/developers/svg2pdf/en.md @@ -1,5 +1,5 @@ -*** - -## title: The freesewing on-demand tiler +--- +title: The freesewing on-demand tiler +--- Under construction diff --git a/markdown/dev/developers/tiler/en.md b/markdown/dev/developers/tiler/en.md index 626bef8a928..1412f9a4266 100644 --- a/markdown/dev/developers/tiler/en.md +++ b/markdown/dev/developers/tiler/en.md @@ -1,5 +1,5 @@ -*** - -## title: Our tile command line tool +--- +title: Our tile command line tool +--- Under construction diff --git a/markdown/dev/editors/content/en.md b/markdown/dev/editors/content/en.md index 354cf210b84..24080d9bcd0 100644 --- a/markdown/dev/editors/content/en.md +++ b/markdown/dev/editors/content/en.md @@ -1,18 +1,18 @@ -*** - -## title: Content sources +--- +title: Content sources +--- As an editor, you need to know where you can find/edit what type of content. -## The freesewing monorepo +## The freesewing monorepo Our [freesewing monorepo](https://github/freesewing/freesewing) holds the majority of all our code and content. Here you can find: -* Content for freesewing.org: in the `markdown/org` folder -* Content for freesewing.dev: in the `markdown/dev` folder -* Strings used throughout the software: in the `packages/i18n/src/locales` folder + - Content for freesewing.org: in the `markdown/org` folder + - Content for freesewing.dev: in the `markdown/dev` folder + - Strings used throughout the software: in the `packages/i18n/src/locales` folder @@ -20,7 +20,7 @@ Here you can find: As an editor, you only ever work with the `en.md` files. The rest is for the translators. -When creating new content, you don't have to create the other files, only `en.md`. +When creating new content, you don't have to create the other files, only `en.md`. The rest will be created automatically. @@ -29,13 +29,14 @@ The rest will be created automatically. FreeSewing uses [the Strapi content management system](https://strapi.io/) as a headless content management system for various posts: -* For blog posts on freesewing.org -* For showcase posts on freesewing.org -* For blog posts on freesewing.dev -* For newsletter editions + - For blog posts on freesewing.org + - For showcase posts on freesewing.org + - For blog posts on freesewing.dev + - For newsletter editions The Strapi instance is available at [posts.freesewing.org](https://posts.freesewing.org) + ## Emails sent from our backend The last bit of content is emails that are sent out from our backend systems. diff --git a/markdown/dev/editors/en.md b/markdown/dev/editors/en.md index 35bbe6a5940..63f24946569 100644 --- a/markdown/dev/editors/en.md +++ b/markdown/dev/editors/en.md @@ -1,19 +1,18 @@ -*** - +--- title: For editors order: 1130 ------------ +--- Content is king, and as an *editor* content is your baby. We have a few different [content sources](/editor/content-sources/) that all have their own specific use-cases, but in general content is one of: -* 95% **Markdown**: Used for the vast majority of our content. -* 4% **YAML**: Used for the internationalisation of our software. -* 1% **HTML**: Used in specific places that don't requires internationalisation. + - 95% **Markdown**: Used for the vast majority of our content. + - 4% **YAML**: Used for the internationalisation of our software. + - 1% **HTML**: Used in specific places that don't requires internationalisation. -You guessed it, if you know how to work with markdown, you are already covering +You guessed it, if you know how to work with markdown, you are already covering 95% of all our content. As such, [our Markdown guide](/editors/markdown/) is mandatory reading for all editors. Even if you already know Markdown, you will want to make sure you are aware of all the [custom components](/editors/markdown/custom-components/) diff --git a/markdown/dev/editors/howtos/blogpost/en.md b/markdown/dev/editors/howtos/blogpost/en.md index e2b73db130d..5e5e9b8c79d 100644 --- a/markdown/dev/editors/howtos/blogpost/en.md +++ b/markdown/dev/editors/howtos/blogpost/en.md @@ -1,11 +1,11 @@ -*** - +--- title: Adding a blog post for: editors ------------- +--- Blog posts have been migrated to [Strapi](https://strapi.io/), a headless CMS system. Our strapi instance can be accessed at [posts.freesewing.org](https://posts.freesewing.org/). If you don't have a Strapi account (yet), [reach out to us on Discord](https://discord.freesewing.org). + diff --git a/markdown/dev/editors/howtos/en.md b/markdown/dev/editors/howtos/en.md index f883c86163f..8e57da7d899 100644 --- a/markdown/dev/editors/howtos/en.md +++ b/markdown/dev/editors/howtos/en.md @@ -1,6 +1,6 @@ -*** - -## title: Common tasks for editors +--- +title: Common tasks for editors +--- Below is a list of commons tasks for editors diff --git a/markdown/dev/editors/howtos/frontmatter/about/en.md b/markdown/dev/editors/howtos/frontmatter/about/en.md index ccf9cee81cc..8da7b806806 100644 --- a/markdown/dev/editors/howtos/frontmatter/about/en.md +++ b/markdown/dev/editors/howtos/frontmatter/about/en.md @@ -1,8 +1,7 @@ -*** - +--- title: About frontmatter order: 10 ---------- +--- Frontmatter is a way to add metadata to markdown documents. diff --git a/markdown/dev/editors/howtos/frontmatter/en.md b/markdown/dev/editors/howtos/frontmatter/en.md index 61adf935130..8fbdcd45131 100644 --- a/markdown/dev/editors/howtos/frontmatter/en.md +++ b/markdown/dev/editors/howtos/frontmatter/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Working with frontmatter for: editors ------------- +--- Frontmatter is a way to add metadata to markdown documents. It is used extensively on freesewing.org and freesewing.dev alike. diff --git a/markdown/dev/editors/howtos/frontmatter/lists/en.md b/markdown/dev/editors/howtos/frontmatter/lists/en.md index 8c9b9e92b8f..a5f2f1646dc 100644 --- a/markdown/dev/editors/howtos/frontmatter/lists/en.md +++ b/markdown/dev/editors/howtos/frontmatter/lists/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Lists or arrays order: 30 ---------- +--- Values are typically text or numbers, but you can also make it a list or array. There's two types of syntax for this: @@ -14,3 +13,4 @@ categories: - anothercat - somethingelse ``` + diff --git a/markdown/dev/editors/howtos/frontmatter/multi-line/en.md b/markdown/dev/editors/howtos/frontmatter/multi-line/en.md index 343c29a80c9..c4c9926ffce 100644 --- a/markdown/dev/editors/howtos/frontmatter/multi-line/en.md +++ b/markdown/dev/editors/howtos/frontmatter/multi-line/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Mult-line text order: 40 ---------- +--- -To add multi-line text in frontmatter, use a `|` character, +To add multi-line text in frontmatter, use a `|` character, and prefix the lines by spaces: ```md @@ -12,3 +11,6 @@ about: | This is a multi-line text that will be assigned to the about key ``` + + + diff --git a/markdown/dev/editors/howtos/frontmatter/structure/en.md b/markdown/dev/editors/howtos/frontmatter/structure/en.md index df1eac88dd1..b270b4e11c4 100644 --- a/markdown/dev/editors/howtos/frontmatter/structure/en.md +++ b/markdown/dev/editors/howtos/frontmatter/structure/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Structure order: 20 ---------- +--- Frontmatter is made up of `key: value` pairs. The value must be quoted if you use a `:` in it to avoid problems parsing the key values: diff --git a/markdown/dev/editors/howtos/showcase/en.md b/markdown/dev/editors/howtos/showcase/en.md index dbd3dcb11c3..ad27982ac49 100644 --- a/markdown/dev/editors/howtos/showcase/en.md +++ b/markdown/dev/editors/howtos/showcase/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Adding a showcase on freesewing.org for: editors ------------- +--- Showcase posts have been migrated to [Strapi](https://strapi.io/), a headless CMS system. diff --git a/markdown/dev/editors/markdown/code-blocks/en.md b/markdown/dev/editors/markdown/code-blocks/en.md index aca266562e7..fd150ad2b2c 100644 --- a/markdown/dev/editors/markdown/code-blocks/en.md +++ b/markdown/dev/editors/markdown/code-blocks/en.md @@ -1,29 +1,34 @@ -*** - +--- title: Code and code blocks order: 80 ---------- +--- -Especially for our developer documentation, there's a lot of times we include source code +Especially for our developer documentation, there's a lot of times we include source code in the documentation. You can make these look pretty by using a code block. The basic use is to wrap your code in three backtick characters on a line: - ``` - let me = 'you' - ``` +```` +``` +let me = 'you' +``` +```` -Gives you: +Gives you: - let me = 'you' +``` +let me = 'you' +``` This is a generic code block. But we also support syntax highlighting. To do so, add the language specifier after the opening backticks: - ```js - let me = 'you' - ``` +```` +```js +let me = 'you' +``` +```` To get: @@ -33,13 +38,16 @@ let me = 'you' The following language codes are supported: -* `js` for Javascript code -* `md` for Markdown -* `html` for HTML -* `svg` for SVG -* `bash` for Bash or shell scripts -* `mdx` for MDX -* `jsx` for JSX -* `json` for JSON -* `js-error` for a Javascript error -* `js-trace` for a Javascript stack trace + - `js` for Javascript code + - `md` for Markdown + - `html` for HTML + - `svg` for SVG + - `bash` for Bash or shell scripts + - `mdx` for MDX + - `jsx` for JSX + - `json` for JSON + - `js-error` for a Javascript error + - `js-trace` for a Javascript stack trace + + + diff --git a/markdown/dev/editors/markdown/custom-components/en.md b/markdown/dev/editors/markdown/custom-components/en.md index 61f8dea6c7f..d0e462e3304 100644 --- a/markdown/dev/editors/markdown/custom-components/en.md +++ b/markdown/dev/editors/markdown/custom-components/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Custom components 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*. Such custom components allow us to put things in Markdown content that would @@ -17,7 +16,8 @@ Below is a list of custom components you can use in our Markdown content: Keep in mind that if you place content inside a custom component, you need to leave an empty -line at the start and finish. If you don't, the custom component will still work, but the +line at the start and finish. If you don't, the custom component will still work, but the content inside of it will not be parsed as Markdown. + diff --git a/markdown/dev/editors/markdown/custom-components/example/en.md b/markdown/dev/editors/markdown/custom-components/example/en.md index 675ab08e3c1..56668eb9744 100644 --- a/markdown/dev/editors/markdown/custom-components/example/en.md +++ b/markdown/dev/editors/markdown/custom-components/example/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Example order: 90 ---------- +--- Embeds an example -- a part of our `example` pattern that is used to illustrate the core API documentation. -This custom component is rather advanced, and its exact parameters +This custom component is rather advanced, and its exact parameters and use is not fully covered below. It's good to know it exists though. And if you want to use it, reach out on Discord to some of our more experienced documentation writers. diff --git a/markdown/dev/editors/markdown/custom-components/fixme/en.md b/markdown/dev/editors/markdown/custom-components/fixme/en.md index 65656df98f6..c480cb071d8 100644 --- a/markdown/dev/editors/markdown/custom-components/fixme/en.md +++ b/markdown/dev/editors/markdown/custom-components/fixme/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Fixme order: 40 ---------- +--- ```md @@ -16,7 +15,7 @@ I indicate that something needs work or improvement ##### I am a FIXME - I indicate that something needs work or improvement + diff --git a/markdown/dev/editors/markdown/custom-components/hashtag/en.md b/markdown/dev/editors/markdown/custom-components/hashtag/en.md index be36aa8cffd..a806ec5f041 100644 --- a/markdown/dev/editors/markdown/custom-components/hashtag/en.md +++ b/markdown/dev/editors/markdown/custom-components/hashtag/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Hashtag order: 60 ---------- +--- Typically used on our community pages: @@ -10,6 +9,8 @@ Typically used on our community pages: ``` -Adds our *community* font and color: +Adds our _community_ font and color: + + diff --git a/markdown/dev/editors/markdown/custom-components/note/en.md b/markdown/dev/editors/markdown/custom-components/note/en.md index 3be6f2a13c1..1860590b57a 100644 --- a/markdown/dev/editors/markdown/custom-components/note/en.md +++ b/markdown/dev/editors/markdown/custom-components/note/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Note order: 10 ---------- +--- ```md @@ -16,7 +15,6 @@ I point out things ##### I am a note - I point out things diff --git a/markdown/dev/editors/markdown/custom-components/readmore/en.md b/markdown/dev/editors/markdown/custom-components/readmore/en.md index ebce3d781c4..bae52c2d684 100644 --- a/markdown/dev/editors/markdown/custom-components/readmore/en.md +++ b/markdown/dev/editors/markdown/custom-components/readmore/en.md @@ -1,8 +1,7 @@ -*** - +--- title: ReadMore order: 70 ---------- +--- This component will list child pages of the current page. @@ -11,7 +10,6 @@ This component will list child pages of the current page. ```md ``` - ##### With custom title @@ -21,7 +19,6 @@ You can customize the title by passing a `title` prop: ```md ``` - ##### As a list @@ -32,7 +29,6 @@ prop which returns the pages as a list: ```md ``` - ##### As a recursive list diff --git a/markdown/dev/editors/markdown/custom-components/readmore/example-1/en.md b/markdown/dev/editors/markdown/custom-components/readmore/example-1/en.md index ebd105d883e..244f957a73d 100644 --- a/markdown/dev/editors/markdown/custom-components/readmore/example-1/en.md +++ b/markdown/dev/editors/markdown/custom-components/readmore/example-1/en.md @@ -1,5 +1,5 @@ -*** - -## title: Example page 1 +--- +title: Example page 1 +--- This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/). diff --git a/markdown/dev/editors/markdown/custom-components/readmore/example-2/en.md b/markdown/dev/editors/markdown/custom-components/readmore/example-2/en.md index 09e7303397a..9bb169388da 100644 --- a/markdown/dev/editors/markdown/custom-components/readmore/example-2/en.md +++ b/markdown/dev/editors/markdown/custom-components/readmore/example-2/en.md @@ -1,5 +1,5 @@ -*** - -## title: Example page 2 +--- +title: Example page 2 +--- This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/). diff --git a/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-1/en.md b/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-1/en.md index 4c5d8e77262..13b41feb4eb 100644 --- a/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-1/en.md +++ b/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-1/en.md @@ -1,5 +1,5 @@ -*** - -## title: Sub-example page 1 +--- +title: Sub-example page 1 +--- This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/). diff --git a/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-2/en.md b/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-2/en.md index 772ac8ff97e..8791ecacd22 100644 --- a/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-2/en.md +++ b/markdown/dev/editors/markdown/custom-components/readmore/example-2/sub-example-2-2/en.md @@ -1,5 +1,5 @@ -*** - -## title: Sub-example page 2 +--- +title: Sub-example page 2 +--- This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/). diff --git a/markdown/dev/editors/markdown/custom-components/tip/en.md b/markdown/dev/editors/markdown/custom-components/tip/en.md index 26c617a7354..63ae70ca1d8 100644 --- a/markdown/dev/editors/markdown/custom-components/tip/en.md +++ b/markdown/dev/editors/markdown/custom-components/tip/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Tip order: 20 ---------- +--- ```md @@ -16,7 +15,7 @@ I give great advice ##### I am a tip - I give great advice + diff --git a/markdown/dev/editors/markdown/custom-components/warning/en.md b/markdown/dev/editors/markdown/custom-components/warning/en.md index 1dd87690218..49688d430f4 100644 --- a/markdown/dev/editors/markdown/custom-components/warning/en.md +++ b/markdown/dev/editors/markdown/custom-components/warning/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Warning order: 30 ---------- +--- ```md @@ -16,7 +15,7 @@ Ignore me at your own peril ##### I am a warning - Ignore me at your own peril + diff --git a/markdown/dev/editors/markdown/custom-components/youtube/en.md b/markdown/dev/editors/markdown/custom-components/youtube/en.md index 50afeac1d84..3d5e0406137 100644 --- a/markdown/dev/editors/markdown/custom-components/youtube/en.md +++ b/markdown/dev/editors/markdown/custom-components/youtube/en.md @@ -1,8 +1,7 @@ -*** - +--- title: YouTube order: 50 ---------- +--- This components will embed videos and playlists responsively. @@ -13,7 +12,7 @@ Embed a single video: ```md ``` - + ##### Playlist @@ -23,5 +22,6 @@ Embed a playlist: ```md ``` - + + diff --git a/markdown/dev/editors/markdown/en.md b/markdown/dev/editors/markdown/en.md index c3456fa8f7c..a5fe24d44da 100644 --- a/markdown/dev/editors/markdown/en.md +++ b/markdown/dev/editors/markdown/en.md @@ -1,23 +1,20 @@ -*** - +--- title: Markdown guide for: contributors order: 900 -icons: +icons: + - edit + - markdown +about: | + A quick primer on Markdown, the markup language you didn't know you needed in your life +goals: + - Understand what Markdown is + - Format text with Markdown, including headers, paragraphs, links, and lists + - Learn how to include images and tables + - Learn about the different custom components +--- -* edit -* markdown - about: | - A quick primer on Markdown, the markup language you didn't know you needed in your life - goals: -* Understand what Markdown is -* Format text with Markdown, including headers, paragraphs, links, and lists -* Learn how to include images and tables -* Learn about the different custom components - -*** - -Markdown is a lightweight markup language with plain text formatting syntax. +Markdown is a lightweight markup language with plain text formatting syntax. It is designed to be easily readable by humans, and computers alike. Markdown is often used to format documentation, online comments, @@ -27,5 +24,6 @@ In this guide, we'll look at the following topics: -This will be enough to get you started. If you'd like to learn more, +This will be enough to get you started. If you'd like to learn more, visit [markdownguide.org](https://www.markdownguide.org/). + diff --git a/markdown/dev/editors/markdown/headings/en.md b/markdown/dev/editors/markdown/headings/en.md index 34aa1555e36..c908981af4f 100644 --- a/markdown/dev/editors/markdown/headings/en.md +++ b/markdown/dev/editors/markdown/headings/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Headings order: 40 ---------- +--- Prefix your line with a number of `#` characters to determine the header level. diff --git a/markdown/dev/editors/markdown/images/en.md b/markdown/dev/editors/markdown/images/en.md index 95c3cc3a4be..b6d78b838bf 100644 --- a/markdown/dev/editors/markdown/images/en.md +++ b/markdown/dev/editors/markdown/images/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Images order: 70 ---------- +--- Images are like links, just prefix them with an exclamation mark. The part between square brackets is the image caption or alt-text. @@ -15,8 +14,9 @@ The part between square brackets is the image caption or alt-text. -The convention is to always place your images in the same folder as the +The convention is to always place your images in the same folder as the text where you are including the image. That way, you just need to specify the image name, and not the path to its location. + diff --git a/markdown/dev/editors/markdown/italic-and-bold/en.md b/markdown/dev/editors/markdown/italic-and-bold/en.md index 1a4edf23a21..7936606922d 100644 --- a/markdown/dev/editors/markdown/italic-and-bold/en.md +++ b/markdown/dev/editors/markdown/italic-and-bold/en.md @@ -1,18 +1,16 @@ -*** - +--- title: Italics and bold order: 30 ---------- +--- ```md 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 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**. diff --git a/markdown/dev/editors/markdown/line-breaks/en.md b/markdown/dev/editors/markdown/line-breaks/en.md index 95b8ac3ede1..abdadecbe91 100644 --- a/markdown/dev/editors/markdown/line-breaks/en.md +++ b/markdown/dev/editors/markdown/line-breaks/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Line breaks order: 20 ---------- +--- If you want to force a linebreak, but not a new paragraph, simply leave 2 spaces at the end of the line. @@ -12,5 +11,6 @@ Like this. ``` -Like\ +Like this. + diff --git a/markdown/dev/editors/markdown/links/en.md b/markdown/dev/editors/markdown/links/en.md index 91bf153e88b..501e3f20079 100644 --- a/markdown/dev/editors/markdown/links/en.md +++ b/markdown/dev/editors/markdown/links/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Links order: 60 ---------- +--- Links combine square brackets for the link text with round brackets for the destination. ```md [Like this](https://freesewing.org) ``` - [Like this](https://freesewing.org) + diff --git a/markdown/dev/editors/markdown/lists/en.md b/markdown/dev/editors/markdown/lists/en.md index 5a37e04892e..6b5f8b26ac5 100644 --- a/markdown/dev/editors/markdown/lists/en.md +++ b/markdown/dev/editors/markdown/lists/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Lists order: 50 ---------- +--- To make a list, just do as you would in plain text: @@ -13,12 +12,12 @@ To make a list, just do as you would in plain text: - item ``` -* a bullet -* list - * a sublist - * item +- a bullet +- list + - a sublist + - item -If you want an numbered list, just write numbers. +If you want an numbered list, just write numbers. They don't even have to be the correct numbers: ```md @@ -28,6 +27,7 @@ They don't even have to be the correct numbers: 2. Item 3 ``` -1. Item 1 -2. Item 2 -3. Item 3 +1. Item 1 +2. Item 2 +2. Item 3 + diff --git a/markdown/dev/editors/markdown/tables/en.md b/markdown/dev/editors/markdown/tables/en.md index 292e74b4a95..c2334ad3ce6 100644 --- a/markdown/dev/editors/markdown/tables/en.md +++ b/markdown/dev/editors/markdown/tables/en.md @@ -1,11 +1,11 @@ -*** - +--- title: Tables order: 70 ---------- +--- If you need them, you can create tables too, using a structure as shown below: + ```md | Name | Description | | ---- | ----------- | @@ -35,3 +35,4 @@ You can change the alignment of the columns by using a colon (`:`) on the line b | Compound | A substance composed of two or more elements. Chemically combined in definite proportions by weight | | Mixture | Two or more substances that are not chemically united, such as air | | Solution | A uniform mixture of varying proportions of a solvent and a solute | + diff --git a/markdown/dev/editors/markdown/text-and-paragraphs/en.md b/markdown/dev/editors/markdown/text-and-paragraphs/en.md index 55012cc817b..b838690d604 100644 --- a/markdown/dev/editors/markdown/text-and-paragraphs/en.md +++ b/markdown/dev/editors/markdown/text-and-paragraphs/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Text and paragraphs order: 10 ---------- +--- For the most part, you can just write as you would in any other format. @@ -11,7 +10,7 @@ You can just start writing. An empty line starts a new paragraph. ``` - You can just start writing. An empty line starts a new paragraph. + diff --git a/markdown/dev/editors/style/colors/en.md b/markdown/dev/editors/style/colors/en.md index 7a9cec37652..e245754752c 100644 --- a/markdown/dev/editors/style/colors/en.md +++ b/markdown/dev/editors/style/colors/en.md @@ -1,6 +1,6 @@ -*** - -## title: Colors +--- +title: Colors +--- ##### Open Color @@ -13,10 +13,11 @@ use as a basis for dark mode. ##### Muted titles For small text, like the one you're reading now, our default white on black or -vice versa works well. For large titles, that contrast is a bit too harsh, which +vice versa works well. For large titles, that contrast is a bit too harsh, which is why we mute titles by using `gray-7` for light mode and `gray-4` for dark mode. ##### Links Links come in varying shades of violet between `violet-8` for light mode and `violet-2` for dark mode. + diff --git a/markdown/dev/editors/style/en.md b/markdown/dev/editors/style/en.md index d8c6be7c7ef..b9d87782295 100644 --- a/markdown/dev/editors/style/en.md +++ b/markdown/dev/editors/style/en.md @@ -1,7 +1,6 @@ -*** - +--- title: Style guide order: 910 ----------- +--- diff --git a/markdown/dev/editors/style/typography/en.md b/markdown/dev/editors/style/typography/en.md index 43141a01b9e..d5769eb1c18 100644 --- a/markdown/dev/editors/style/typography/en.md +++ b/markdown/dev/editors/style/typography/en.md @@ -1,5 +1,5 @@ -*** - -## title: Typography +--- +title: Typography +--- diff --git a/markdown/dev/editors/style/typography/fonts/en.md b/markdown/dev/editors/style/typography/fonts/en.md index c569f7a480e..b4c155a5f0f 100644 --- a/markdown/dev/editors/style/typography/fonts/en.md +++ b/markdown/dev/editors/style/typography/fonts/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Fonts order: 10 ---------- +--- We use three types of fonts: diff --git a/markdown/dev/editors/style/typography/headings/en.md b/markdown/dev/editors/style/typography/headings/en.md index ce077b5b1df..99816b33d84 100644 --- a/markdown/dev/editors/style/typography/headings/en.md +++ b/markdown/dev/editors/style/typography/headings/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Headings order: 30 ---------- +--- Headings serve two different purposes: -* They can give a title to a subsection within your content -* They can structure lengthy content + - They can give a title to a subsection within your content + - They can structure lengthy content Those two roles might sound the same, but they are somewhat different. @@ -21,18 +20,18 @@ It also happens to be how we're using headings on this page. ##### Structuring lengthy content with headings -You can use heading levels 2 and 3 (and if you must, 4) to bring +You can use heading levels 2 and 3 (and if you must, 4) to bring structure to a lengthy piece of content. -These headings are intended to make a significant break in +These headings are intended to make a significant break in a flowing text, and as such come with copious spacing above and below them. -In addition, headings of level 2 and 3 will also get an +In addition, headings of level 2 and 3 will also get an anchor link inserted, allowing users to link to that specific heading in any given page. -However, due to subtle differences between *SSR* and client-side -rendering, anchor links are notoriously unreliable, which is +However, due to subtle differences between _SSR_ and client-side +rendering, anchor links are notoriously unreliable, which is why it is almost always better to break up your content in smaller pages, rather than 1 big read. @@ -45,6 +44,7 @@ in bite-sized pages. + ##### Examples Below is an example of each heading level, along with a paragraph. @@ -59,6 +59,8 @@ below is the exception that confirms the rule. + + # Heading 1 This is what a paragraph looks like. Ubuntu is a sans-serif font, giving it @@ -94,3 +96,4 @@ on paper (where serif fonts reign). This is what a paragraph looks like. Ubuntu is a sans-serif font, giving it a somewhat modern look that is associated with reading on screen, rather than on paper (where serif fonts reign). + diff --git a/markdown/dev/editors/style/typography/text/en.md b/markdown/dev/editors/style/typography/text/en.md index 79125f76119..dc3db2bf6de 100644 --- a/markdown/dev/editors/style/typography/text/en.md +++ b/markdown/dev/editors/style/typography/text/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Text and paragraphs order: 20 ---------- +--- ##### Text @@ -13,7 +12,7 @@ sized, preventing lines from getting too long, having a nice vertical cadence, a ##### Paragraphs -This is what a paragraph looks like. +This is what a paragraph looks like. We use `1.5` for line height in paragraphs because vertical space is abundantly available, so in general we are rather generous with vertical spacing. diff --git a/markdown/dev/guides/best-practices/en.md b/markdown/dev/guides/best-practices/en.md index 991fcf96f2e..4535cee8f8e 100644 --- a/markdown/dev/guides/best-practices/en.md +++ b/markdown/dev/guides/best-practices/en.md @@ -1,22 +1,19 @@ -*** - +--- title: Design guide order: 300 for: developers -icons: - -* thumbup -* pattern - about: "There's often many different ways to do things. Learn about our conventions and best practices" - goals: -* Re-using measurement and options names -* Re-using CSS classes -* Respecting draft settings -* Using percentage options where possible -* Using translation keys for text -* Constructing paths counter-clockwise - -*** +icons: + - thumbup + - pattern +about: "There's often many different ways to do things. Learn about our conventions and best practices" +goals: + - Re-using measurement and options names + - Re-using CSS classes + - Respecting draft settings + - Using percentage options where possible + - Using translation keys for text + - Constructing paths counter-clockwise +--- Here is a list of best practices when designing patterns: 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 6cacf798400..67760603af7 100644 --- a/markdown/dev/guides/best-practices/go-counter-clockwise/en.md +++ b/markdown/dev/guides/best-practices/go-counter-clockwise/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Construct paths counter-clockwise order: 70 ---------- +--- Construct your paths counter-clockwise. You have to pick a direction anyway, and going counter-clockwise is a bit of a convention. @@ -14,12 +13,13 @@ 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 16f0bd68394..032192ba25f 100644 --- a/markdown/dev/guides/best-practices/respect-draft-settings/en.md +++ b/markdown/dev/guides/best-practices/respect-draft-settings/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Respect draft settings order: 40 ---------- +--- Apart from the pattern options that you configure for your pattern, all FreeSewing patterns have a set of [draft settings](/reference/settings/) that can be tweaked @@ -20,7 +19,7 @@ Its goal is to determine whether we should draft a *complete* pattern, or merely The [paperless](/reference/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 @@ -63,3 +62,4 @@ export default function(part) { return part } ``` + diff --git a/markdown/dev/guides/best-practices/reuse-css-classes/en.md b/markdown/dev/guides/best-practices/reuse-css-classes/en.md index a428c2ae7b4..ab1acde13e7 100644 --- a/markdown/dev/guides/best-practices/reuse-css-classes/en.md +++ b/markdown/dev/guides/best-practices/reuse-css-classes/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Re-use CSS classes order: 30 ---------- +--- While you can style your pattern however you want, try to re-use the CSS class names that are in use in our default [theme plugin](/reference/packages/plugin-theme/). diff --git a/markdown/dev/guides/best-practices/reuse-measurements/en.md b/markdown/dev/guides/best-practices/reuse-measurements/en.md index 520208ce55b..41f49b25997 100644 --- a/markdown/dev/guides/best-practices/reuse-measurements/en.md +++ b/markdown/dev/guides/best-practices/reuse-measurements/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Re-use measurements order: 10 ---------- +--- When designing patterns, re-use the measurements that are already in use as much as possible. Nobody wins when every pattern requires its own set of measurements, or names @@ -10,9 +9,10 @@ certain measurements differently. -###### See our models packages for standard measurement names +###### See our models packages for standard measurement names The [@freesewing/models](/reference/packages/models/) package 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 dfd883f8488..9b3be5529b4 100644 --- a/markdown/dev/guides/best-practices/reuse-options/en.md +++ b/markdown/dev/guides/best-practices/reuse-options/en.md @@ -1,12 +1,12 @@ -*** - +--- 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 7afbd66fb5e..a5f9fae3e86 100644 --- a/markdown/dev/guides/best-practices/use-percentages/en.md +++ b/markdown/dev/guides/best-practices/use-percentages/en.md @@ -1,27 +1,26 @@ -*** - +--- title: Use percentage options where possible 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. @@ -30,3 +29,4 @@ 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 621968fdb64..ba55781c5f2 100644 --- a/markdown/dev/guides/best-practices/use-translation-keys/en.md +++ b/markdown/dev/guides/best-practices/use-translation-keys/en.md @@ -1,19 +1,18 @@ -*** - +--- title: Use translation keys, not text 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/dev/guides/en.md b/markdown/dev/guides/en.md index 040022c2a52..8994a5bd5fb 100644 --- a/markdown/dev/guides/en.md +++ b/markdown/dev/guides/en.md @@ -1,5 +1,5 @@ -*** - +--- title: Guides order: 1020 ------------ +--- + diff --git a/markdown/dev/guides/patterns/config/en.md b/markdown/dev/guides/patterns/config/en.md index 3adff169ac4..852c2a61bb1 100644 --- a/markdown/dev/guides/patterns/config/en.md +++ b/markdown/dev/guides/patterns/config/en.md @@ -1,18 +1,18 @@ -*** - +--- title: Configuration order: 60 ---------- +--- -\ A pattern's [configuration](/reference/config/) is created by the pattern designer and details a number of important things about the pattern, like: -* The measurements that are required to draft the pattern -* The different parts in the pattern and how they depend on each other -* The different options that are available to tweak the pattern + - The measurements that are required to draft the pattern + - The different parts in the pattern and how they depend on each other + - The different options that are available to tweak the pattern + diff --git a/markdown/dev/guides/patterns/en.md b/markdown/dev/guides/patterns/en.md index 62d80e76c79..4582a812c99 100644 --- a/markdown/dev/guides/patterns/en.md +++ b/markdown/dev/guides/patterns/en.md @@ -1,31 +1,28 @@ -*** - +--- title: Pattern guide order: 200 for: contributors -icons: +icons: + - blocks + - pattern +about: | + Learn about the main building blocks that make up a FreeSewing pattern +goals: + - Learn about points + - Learn about paths + - Learn about snippets + - Learn about parts + - Learn about the pattern configuration + - Learn about the pattern store + - Learn about the pattern itself +--- -* blocks -* pattern - about: | - Learn about the main building blocks that make up a FreeSewing pattern - goals: -* Learn about points -* Learn about paths -* Learn about snippets -* Learn about parts -* Learn about the pattern configuration -* Learn about the pattern store -* Learn about the pattern itself - -*** - -This illustration is a good starting point to gain a better +This illustration is a good starting point to gain a better understanding of the structure of a FreeSewing pattern: As you learn more about FreeSewing, you'll discover that there's more @@ -33,9 +30,9 @@ to this picture than meets the eye. So let's get started. If we look at our image, it can can divided into three areas: -* The left area with the *settings* box -* 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 left area with the *settings* box + - The middle area with the *Pattern* box and everything in it + - The right area with the *draft* box and the *SVG* and *React* logos @@ -50,3 +47,5 @@ That part is outside the scope of this text. Let's take a closer look at everything that is contained within our central *Pattern* box: + + diff --git a/markdown/dev/guides/patterns/parts/en.md b/markdown/dev/guides/patterns/parts/en.md index 70e46c4b369..d8a4429cc89 100644 --- a/markdown/dev/guides/patterns/parts/en.md +++ b/markdown/dev/guides/patterns/parts/en.md @@ -1,21 +1,21 @@ -*** - +--- title: Parts order: 40 ---------- +--- -\ Parts are a container for the points, paths, and snippets of (a part of) your pattern. -They are also re-usable by other patterns, which makes them a powerful tool to build +They are also re-usable by other patterns, which makes them a powerful tool to build a pattern library. If you design a T-shirt pattern with a `front`, `back`, and `sleeve`, each of those would be a part. -If you then wanted to make a long-sleeved version of your T-shirt pattern, you only need to design +If you then wanted to make a long-sleeved version of your T-shirt pattern, you only need to design a new sleeve part. You can re-use the `front` and `back` parts of your short-sleeved T-shirt pattern, as they did not change. When developing a FreeSewing pattern, you will spend most of your time designing the individual parts. + diff --git a/markdown/dev/guides/patterns/paths/en.md b/markdown/dev/guides/patterns/paths/en.md index 62c49ecec6f..8833a13b64c 100644 --- a/markdown/dev/guides/patterns/paths/en.md +++ b/markdown/dev/guides/patterns/paths/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Paths order: 20 ---------- +--- -\ Paths are the lines and curves that make up your pattern. @@ -15,15 +14,15 @@ Paths are the lines and curves that make up your pattern. They are made up of a set of drawing operations that together make up the path. FreeSewing supports the following types of drawing operations: -* The **move** operation moves our virtual pen but does not draw anything. -* The **line** operation draws a straight line -* The **curve** operation draws a [Bézier curve](/guides/overview/about/beziercurves/) -* The **close** operation closes the path + - The **move** operation moves our virtual pen but does not draw anything. + - The **line** operation draws a straight line + - The **curve** operation draws a [Bézier curve](/guides/overview/about/beziercurves/) + - The **close** operation closes the path To crucial thing to keep in mind is that, with the exception of the **move** operation, all drawing operations start from wherever you are currently on your virtual sheet of paper. -For example, you might expect the **line** operation to take a start- and endpoint. +For example, you might expect the **line** operation to take a start- and endpoint. But in fact, it only takes and endpoint, and will draw a straight line from where our virtual pen currently is to said endpoint. @@ -38,7 +37,8 @@ Understanding that each drawing operation builds upon the next one is an importa -Our example image (which, if you hadn't realized was created with FreeSewing) has a lot of +Our example image (which, if you hadn't realized was created with FreeSewing) has a lot of paths in it. Each box, the arrows, the lines in the React logo, and so on. + diff --git a/markdown/dev/guides/patterns/pattern/en.md b/markdown/dev/guides/patterns/pattern/en.md index 0cac0b4217d..65332c84f7c 100644 --- a/markdown/dev/guides/patterns/pattern/en.md +++ b/markdown/dev/guides/patterns/pattern/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Pattern order: 80 ---------- +--- -\ Last but not least, we've arrived at the level of the pattern itself. @@ -17,6 +16,7 @@ and the store. 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. -That pattern instance will have a `draft()` method which will do the actual work of -drafting the pattern. Once drafted, you can either call the `render()` method on +That pattern instance will have a `draft()` method which will do the actual work of +drafting the pattern. Once drafted, you can either call the `render()` method on the pattern instance, or pass it to [our React component](/packages/components) to render it in the browser. + diff --git a/markdown/dev/guides/patterns/points/en.md b/markdown/dev/guides/patterns/points/en.md index ab75535ad58..5a240d6ccac 100644 --- a/markdown/dev/guides/patterns/points/en.md +++ b/markdown/dev/guides/patterns/points/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Points order: 10 ---------- +--- -\ Developing a pattern with FreeSewing is similar to doing it on paper. @@ -17,24 +16,25 @@ Before we can draw any line, we need to know where it starts from, and where it That's why we have **points**. They are the most basic building block of a FreeSewing pattern, and their role is to store coordinates. -Each point must have: +Each point must have: -* A **X-coordinate** -* A **Y-coordinate** + - A **X-coordinate** + - A **Y-coordinate** Together, these coordinates determine the location of the point in the 2-dimensional plane we're drawing on. Points are unlikely to confuse you. The only gotcha is [the -coordinate system](/guides/prerequisites/coordinate-system/) which has a Y-axis that is inverted to what you +coordinate system](/guides/prerequisites/coordinate-system/) which has a Y-axis that is inverted to what you may intuitively expect. -Our example image (which, if you hadn't realized was created with FreeSewing) has a lot of +Our example image (which, if you hadn't realized was created with FreeSewing) has a lot of points in it. The corners of the boxes, the location where the text goes, and so on. + diff --git a/markdown/dev/guides/patterns/snippets/en.md b/markdown/dev/guides/patterns/snippets/en.md index 3a319ad7ff4..02559160f3a 100644 --- a/markdown/dev/guides/patterns/snippets/en.md +++ b/markdown/dev/guides/patterns/snippets/en.md @@ -1,27 +1,27 @@ -*** - +--- title: Snippets order: 20 ---------- +--- -\ Snippets are little embellishments you can use and re-use on your pattern. -They are typically used for things like logos or buttons. +They are typically used for things like logos or buttons. Each snippet must have: -* An anchor point that determine where the snippet will be located -* The name of the snippet to insert + - An anchor point that determine where the snippet will be located + - The name of the snippet to insert Since our example image does not have any snippets in it, here's another example of a `button`, `buttonhole`, and `logo` snippet added to a FreeSewing pattern: + diff --git a/markdown/dev/guides/patterns/store/en.md b/markdown/dev/guides/patterns/store/en.md index 268a5fb0280..fc4d467818b 100644 --- a/markdown/dev/guides/patterns/store/en.md +++ b/markdown/dev/guides/patterns/store/en.md @@ -1,16 +1,16 @@ -*** - +--- title: Store order: 70 ---------- +--- -\ The store provides key-value storage that is shared across your pattern. If you have some information in one part that you want to make available outside that part (in another part) you can save it to the store. + diff --git a/markdown/dev/guides/plugins/conditionally-loading-build-time-plugins/en.md b/markdown/dev/guides/plugins/conditionally-loading-build-time-plugins/en.md index 21670f878cc..4bd9ecef2e5 100644 --- a/markdown/dev/guides/plugins/conditionally-loading-build-time-plugins/en.md +++ b/markdown/dev/guides/plugins/conditionally-loading-build-time-plugins/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Conditionally loading build-time plugins order: 30 ---------- +--- You can choose to load your build-time plugin conditionally based on run-time data. @@ -21,7 +20,6 @@ const condition = settings => { else return false // Do not load the plugin } ``` - You pass your plugin and condition method as a third parameter to the Design constructor with the `plugin` and `condition` keys respectively. @@ -52,15 +50,16 @@ const Pattern = new freesewing.Design( Our condition method will return `true` only if the following conditions are met: -* A `settings` object is passed into the method -* `settings.options` is *truthy* -* `settings.options.draftForHighBust` is *truthy* -* `settings.options.measurements.highBust` is *truthy* + - A `settings` object is passed into the method + - `settings.options` is _truthy_ + - `settings.options.draftForHighBust` 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 -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 choses so. But that feat is handled auto-magically by `plugin-bust` which is a build-time plugin. So whether to load this plugin or not hinges on the user settings, which is why we load this plugin conditionally. + diff --git a/markdown/dev/guides/plugins/en.md b/markdown/dev/guides/plugins/en.md index b094161b916..eed12613d62 100644 --- a/markdown/dev/guides/plugins/en.md +++ b/markdown/dev/guides/plugins/en.md @@ -1,22 +1,19 @@ -*** - +--- title: Plugin guide order: 400 -icons: - -* logo -* plugin - for: developers - about: | - This guide shows you everything you need to know to understand plugins in FreeSewing, and create your own. - goals: -* Know about build-time plugins vs run-time plugins -* Understanding plugin structure -* Hooks and how to use them -* Using hooks without a plugin -* Using macros - -*** +icons: + - logo + - plugin +for: developers +about: | + This guide shows you everything you need to know to understand plugins in FreeSewing, and create your own. +goals: + - Know about build-time plugins vs run-time plugins + - Understanding plugin structure + - Hooks and how to use them + - Using hooks without a plugin + - Using macros +--- Plugins allow you to extend FreeSewing. diff --git a/markdown/dev/guides/plugins/hooks/en.md b/markdown/dev/guides/plugins/hooks/en.md index c6880e6f5dc..6812c6ab9ac 100644 --- a/markdown/dev/guides/plugins/hooks/en.md +++ b/markdown/dev/guides/plugins/hooks/en.md @@ -1,21 +1,21 @@ -*** - +--- title: Hooks order: 60 ---------- +--- A **hook** is a lifecycle event. The available hooks are: -* [preRender](/reference/hooks/prerender/): Called at the start of [`Pattern.render()`](/reference/api/pattern#render) -* [postRender](/reference/hooks/postrender/): Called at the end of [`Pattern.render()`](/reference/api/pattern#render) -* [insertText](/reference/hooks/inserttext/): Called when inserting text -* [preDraft](/reference/hooks/predraft/): Called at the start of [`Pattern.draft()`](/reference/api/pattern#draft) -* [postDraft](/reference/hooks/postdraft/): Called at the end of [`Pattern.draft()`](/reference/api/pattern#draft) -* [preSample](/reference/hooks/presample/): Called at the start of [`Pattern.sample()`](/reference/api/pattern#sample) -* [postSample](/reference/hooks/postsample/): Called at the end of [`Pattern.sample()`](/reference/api/pattern#sample) + - [preRender](/reference/hooks/prerender/): Called at the start of [`Pattern.render()`](/reference/api/pattern#render) + - [postRender](/reference/hooks/postrender/): Called at the end of [`Pattern.render()`](/reference/api/pattern#render) + - [insertText](/reference/hooks/inserttext/): Called when inserting text + - [preDraft](/reference/hooks/predraft/): Called at the start of [`Pattern.draft()`](/reference/api/pattern#draft) + - [postDraft](/reference/hooks/postdraft/): Called at the end of [`Pattern.draft()`](/reference/api/pattern#draft) + - [preSample](/reference/hooks/presample/): Called at the start of [`Pattern.sample()`](/reference/api/pattern#sample) + - [postSample](/reference/hooks/postsample/): Called at the end of [`Pattern.sample()`](/reference/api/pattern#sample) You can register a method for a hook. When the hook is triggered, your method will be called. It will receive two parameters: -* An object relevant to the hook. See the [hooks API reference](/reference/hooks/) for details. -* Data passed when the hook was registered (optional) + - An object relevant to the hook. See the [hooks API reference](/reference/hooks/) for details. + - Data passed when the hook was registered (optional) + diff --git a/markdown/dev/guides/plugins/loading-build-time-plugins/en.md b/markdown/dev/guides/plugins/loading-build-time-plugins/en.md index 9b3bdc1173c..e926872c7b7 100644 --- a/markdown/dev/guides/plugins/loading-build-time-plugins/en.md +++ b/markdown/dev/guides/plugins/loading-build-time-plugins/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Loading build-time plugins order: 20 ---------- +--- -Build-time plugins are loaded at build time, by passing them to +Build-time plugins are loaded at build time, by passing them to the [`freesewing.Design`](/reference/api/#design) constructor: ```js @@ -25,3 +24,4 @@ import config from "../config" const Pattern = new freesewing.Design(config, [plugins, gorePlugin] ) ``` + diff --git a/markdown/dev/guides/plugins/loading-run-time-plugins/en.md b/markdown/dev/guides/plugins/loading-run-time-plugins/en.md index 2e7ba3cb3b1..81ce39c34aa 100644 --- a/markdown/dev/guides/plugins/loading-run-time-plugins/en.md +++ b/markdown/dev/guides/plugins/loading-run-time-plugins/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Loading run-time plugins order: 40 ---------- +--- Run-time plugin are loaded at run time, by passing them to the `use` method of an instatiated pattern. That method is chainable, so if you have multiple plugins @@ -23,3 +22,5 @@ const myAaron = new Aaron() Plugins that use only hooks are typically run-time plugins + + diff --git a/markdown/dev/guides/plugins/macros/en.md b/markdown/dev/guides/plugins/macros/en.md index 247819bfc9e..15390d13da5 100644 --- a/markdown/dev/guides/plugins/macros/en.md +++ b/markdown/dev/guides/plugins/macros/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Macros order: 90 ---------- +--- Plugin structure for macros is similar, with a few changes: -* Rather than the hook name, you provide the macro name (that you choose yourself) -* The context (`this`) of a macro method is **always** a [Part](/reference/api/part) object. + - Rather than the hook name, you provide the macro name (that you choose yourself) + - The context (`this`) of a macro method is **always** a [Part](/reference/api/part) object. Apart from these, the structure is very similar: @@ -36,7 +35,7 @@ export default { } ``` -Did you figure out what this plugin does? +Did you figure out what this plugin does? It provides a `box` macro that draws a box on our pattern in a given location with a give size. We can use it like this: @@ -49,7 +48,7 @@ macro('box', { }); ``` -Obviously, you can expect to learn how to call a macro in its documentation, +Obviously, you can expect to learn how to call a macro in its documentation, rather than have to comb through its code. @@ -62,3 +61,4 @@ to a macro needs to be contained in a single argument. Typically, you use a single plain object to configure the macro. + diff --git a/markdown/dev/guides/plugins/plugin-structure/en.md b/markdown/dev/guides/plugins/plugin-structure/en.md index 1cc6269663e..d23cc608b03 100644 --- a/markdown/dev/guides/plugins/plugin-structure/en.md +++ b/markdown/dev/guides/plugins/plugin-structure/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Plugin structure order: 50 ---------- +--- -Plugins can do two things: +Plugins can do two things: -* They can use hooks -* They can provide macros + - They can use hooks + - They can provide macros Your plugin should export an object with the following structure: @@ -20,6 +19,7 @@ Your plugin should export an object with the following structure: }; ``` -The `name` and `version` attributes are self-explanatory. +The `name` and `version` attributes are self-explanatory. The [hooks](/guides/plugins/hooks/) and [macros](/guides/plugins/macros/) sections explain the `hooks` and `macros` properties. + diff --git a/markdown/dev/guides/plugins/types-of-plugins/en.md b/markdown/dev/guides/plugins/types-of-plugins/en.md index cfd012cdd04..951165fd518 100644 --- a/markdown/dev/guides/plugins/types-of-plugins/en.md +++ b/markdown/dev/guides/plugins/types-of-plugins/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Types of plugins order: 10 ---------- +--- Plugins come in two flavours: -* [Build-time plugins](#build-time-plugins) -* [Run-time plugins](#run-time-plugins) + - [Build-time plugins](#build-time-plugins) + - [Run-time plugins](#run-time-plugins) When writing a plugin, ask yourself whether it's a run-time or a build-time plugin. And if the answer is both, please split them into two plugins. @@ -26,12 +25,14 @@ Our [plugin bundle](/reference/plugins/bundle/) bundles build-time plugins that Plugins that provide a macro are typically build-time plugins + ## Run-time plugins 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. -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. If it's missing, your pattern will still work, it just won't look pretty. + diff --git a/markdown/dev/guides/plugins/using-hooks-more-than-once/en.md b/markdown/dev/guides/plugins/using-hooks-more-than-once/en.md index 81652174b93..12b567dfedc 100644 --- a/markdown/dev/guides/plugins/using-hooks-more-than-once/en.md +++ b/markdown/dev/guides/plugins/using-hooks-more-than-once/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Using hooks more than once order: 80 ---------- +--- What if you want to attach more than one method to a hook? You could spread them over seperate plugins, but there's a better way. diff --git a/markdown/dev/guides/plugins/using-hooks-without-plugin/en.md b/markdown/dev/guides/plugins/using-hooks-without-plugin/en.md index a42d82c28e6..6b0495a61ee 100644 --- a/markdown/dev/guides/plugins/using-hooks-without-plugin/en.md +++ b/markdown/dev/guides/plugins/using-hooks-without-plugin/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Using hooks without a plugin order: 85 ---------- +--- -You can attach a method to a hook at run-time without the need for a plugin +You can attach a method to a hook at run-time without the need for a plugin using the [Pattern.on()](/reference/api/pattern/on) method. The method takes the hook name as its first argument, and the hook method as its second. @@ -18,3 +17,4 @@ pattern.on('preRender', function(svg) { ``` Congratulations, you've just made your pattern yellow. + diff --git a/markdown/dev/guides/plugins/using-hooks/en.md b/markdown/dev/guides/plugins/using-hooks/en.md index 7dbf91650e5..f0d36583bf2 100644 --- a/markdown/dev/guides/plugins/using-hooks/en.md +++ b/markdown/dev/guides/plugins/using-hooks/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Using hooks order: 70 ---------- +--- For each hook, your plugin should provide a method that takes the relevant data as its first argument. If data was passed when the hook was loaded, you will receive @@ -10,8 +9,8 @@ that as the second object. Remember that: -* The `insertText` hook will receive a locale and string and you should return a string. -* All other hooks receive an object. You don't need to return anything, but rather modify the object you receive. + - The `insertText` hook will receive a locale and string and you should return a string. + - All other hooks receive an object. You don't need to return anything, but rather modify the object you receive. Let's look at an example: @@ -40,8 +39,8 @@ export default { This is a complete plugin, ready to be published on NPM. It uses two hooks: -* `preRender` : We add some style and defs to our SVG -* `insertText` : We transfer all text to UPPERCASE + - `preRender` : We add some style and defs to our SVG + - `insertText` : We transfer all text to UPPERCASE @@ -53,7 +52,8 @@ the SVG tag with the name and version of our plugin. We check for this attribute when the `preRender` hook runs, thereby avoiding that our styles and defs will be added twice. -It is good practice to wrap you hook methods in a call like this, because you have +It is good practice to wrap you hook methods in a call like this, because you have no guarantee the user won't render your pattern more than once. + diff --git a/markdown/dev/guides/prerequisites/bezier-curves/en.md b/markdown/dev/guides/prerequisites/bezier-curves/en.md index a4fb2ff9057..15ea4f3c829 100644 --- a/markdown/dev/guides/prerequisites/bezier-curves/en.md +++ b/markdown/dev/guides/prerequisites/bezier-curves/en.md @@ -1,23 +1,22 @@ -*** - +--- title: Bézier curves order: 50 ---------- +--- -While lines on computers are easy to store with a start and end point, +While lines on computers are easy to store with a start and end point, curves require more information. -In FreeSewing — as in SVG and countless of other applications —\ +In FreeSewing — as in SVG and countless of other applications — curves are stored as Bézier curves. They have: -* A start point -* A first control point that’s linked to the start point -* A second control point that’s linked to the end point -* An end point + - A start point + - A first control point that’s linked to the start point + - A second control point that’s linked to the end point + - An end point -\ + -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: ![How Bézier curves are constructed](bezier.gif) @@ -26,10 +25,11 @@ The following illustration does a great job at explaining how they are construct ###### More on Bézier curves -Wikipedia has a good [introduction to Bézier curves](https://pomax.github.io/bezierinfo/).\ +Wikipedia has a good [introduction to Bézier curves](https://pomax.github.io/bezierinfo/). For a deep-dive into the subject, check out [A Primer on Bézier Curves](https://pomax.github.io/bezierinfo/) by Pomax. -Note that you don't need understand the mathematics behind Bézier Curves. +Note that 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. + diff --git a/markdown/dev/guides/prerequisites/coordinate-system/en.md b/markdown/dev/guides/prerequisites/coordinate-system/en.md index 6fce682a54a..e262ad6ee42 100644 --- a/markdown/dev/guides/prerequisites/coordinate-system/en.md +++ b/markdown/dev/guides/prerequisites/coordinate-system/en.md @@ -1,16 +1,15 @@ -*** - +--- title: Coordinate system order: 30 ---------- +--- -In FreeSewing -- and in SVG -- coordinates are like text in a book. -You start at the top on the left side, and going to the right +In FreeSewing -- and in SVG -- coordinates are like text in a book. +You start at the top on the left side, and going to the right and downwards means going ahead. -Which means that on the X-axis, `20` is further to the right than `10`.\ +Which means that on the X-axis, `20` is further to the right than `10`. Likewise, on the Y-axis, `50` is lower than `20`. @@ -22,3 +21,4 @@ This is a common point of confusion so keep in mind that the Y-axis may not behave as you would have intuitively expected. + diff --git a/markdown/dev/guides/prerequisites/en.md b/markdown/dev/guides/prerequisites/en.md index 84af0cab955..2645400870a 100644 --- a/markdown/dev/guides/prerequisites/en.md +++ b/markdown/dev/guides/prerequisites/en.md @@ -1,25 +1,22 @@ -*** - +--- title: Prerequisites order: 100 for: developers -icons: - -* start -* pattern - about: | - A guide to go over a few things you should know when you start working with our core library - goals: -* Understand that FreeSewing provides parametric pattern design -* Understand that FreeSewing uses SVG -* Understand the coordinate system -* Learn that we use millimeter internally -* Learn about Bézier curves - -*** +icons: + - start + - pattern +about: | + A guide to go over a few things you should know when you start working with our core library +goals: + - Understand that FreeSewing provides parametric pattern design + - Understand that FreeSewing uses SVG + - Understand the coordinate system + - Learn that we use millimeter internally + - Learn about Bézier curves +--- Here's a few things that, once you get them, will make it easier to understand -what FreeSewing is doing, and how it's doing it. +what FreeSewing is doing, and how it's doing it. We'll cover the following topics: @@ -31,11 +28,12 @@ We'll cover the following topics: FreeSewing sits at the intersection of the world of makers and developers. If your background is in development, you will need no explaining what SVG is, but might not -know much about designing sewing patterns. +know much about designing sewing patterns. If on the other hand your background is in sewing or pattern design, you might wonder what the heck Node JS is and why you should care. -Few people straddle both worlds, so as you start using FreeSewing, chances are -you'll learn a few new things along the way. +Few people straddle both worlds, so as you start using FreeSewing, chances are +you'll learn a few new things along the way. + diff --git a/markdown/dev/guides/prerequisites/parametric-pattern-design/en.md b/markdown/dev/guides/prerequisites/parametric-pattern-design/en.md index b048411296a..f1bc8aa9dd2 100644 --- a/markdown/dev/guides/prerequisites/parametric-pattern-design/en.md +++ b/markdown/dev/guides/prerequisites/parametric-pattern-design/en.md @@ -1,24 +1,23 @@ -*** - +--- title: Parametric pattern design order: 10 ---------- +--- The FreeSewing core library is a toolbox for **parametric pattern design**; Using parameters or variables to manipulate the outcome of a given design. -In sewing patterns, the parameters are what is provided by the user: +In sewing patterns, the parameters are what is provided by the user: Their measurements and options that they have selected. ##### No more grading, ever -When drafting or designing patterns or garments, it is common practice to start -with a fit model (or dress form). +When drafting or designing patterns or garments, it is common practice to start +with a fit model (or dress form). The measurements of the fit model are used as input in the initial design. -Adapting the pattern for a different model is a tedious task, +Adapting the pattern for a different model is a tedious task, which is why patterns are graded up and down to cover different sizes. But in a parametric sewing pattern, adapting to different sizes or models *just works*. @@ -27,8 +26,9 @@ But in a parametric sewing pattern, adapting to different sizes or models *just FreeSewing patterns are implemented **as code**, which has a lot of advantages. -It allows for patterns that adapt to your measurements or preferences, +It allows for patterns that adapt to your measurements or preferences, fine-grained version control, seamless collaboration, and using existing patterns as a starting point for you own, to name but a few. That being said, you don't have to be a code monkey to use FreeSewing. + diff --git a/markdown/dev/guides/prerequisites/svg/en.md b/markdown/dev/guides/prerequisites/svg/en.md index de58eb8663d..929bcf64c07 100644 --- a/markdown/dev/guides/prerequisites/svg/en.md +++ b/markdown/dev/guides/prerequisites/svg/en.md @@ -1,16 +1,16 @@ -*** - +--- title: SVG order: 20 ---------- +--- Patterns are rendered as SVG — short -for [Scalable Vector Graphics](https://en.wikipedia.org/wiki/Scalable\_Vector\_Graphics) — +for [Scalable Vector Graphics](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics) — an XML-based vector image format and an open standard. -While you don’t need to be an SVG expert, a basic understanding of the format +While you don’t need to be an SVG expert, a basic understanding of the format will greatly help you to understand FreeSewing. For example, the coordinate system and the way paths are structured are all related to the SVG drawing system, which is closely related to other 2D drawing technologies such as PostScript or PDF. + diff --git a/markdown/dev/guides/prerequisites/units/en.md b/markdown/dev/guides/prerequisites/units/en.md index 976412e9a4c..12a08e71c7a 100644 --- a/markdown/dev/guides/prerequisites/units/en.md +++ b/markdown/dev/guides/prerequisites/units/en.md @@ -1,13 +1,13 @@ -*** - +--- title: Units order: 40 ---------- +--- -Internally, freesewing uses millimeter. +Internally, freesewing uses millimeter. When you write `1`, that’s one mm. When you write `7.8`, that’s 7.8mm. -While you can use cm or inch on the FreeSewing website, that is merely a layer of +While you can use cm or inch on the FreeSewing website, that is merely a layer of abstration on top of the internal units, which are always mm. So as a pattern designer, you will work with mm. + diff --git a/markdown/dev/howtos/code/accessing-measurements/en.md b/markdown/dev/howtos/code/accessing-measurements/en.md index f5db2b673b9..6c1f5cbe228 100644 --- a/markdown/dev/howtos/code/accessing-measurements/en.md +++ b/markdown/dev/howtos/code/accessing-measurements/en.md @@ -1,15 +1,15 @@ -*** - +--- title: Accessing measurements for: developers about: Shows you how to access user measurements from inside your pattern -------------------------------------------------------------------------- +--- Measurements are stored in `pattern.settings.measurements`. -You can pull them out of there with +You can pull them out of there with the [shorthand](/howtos/code/shorthand/) call: + ```js const { measurements, options } = part.shorthand() diff --git a/markdown/dev/howtos/code/accessing-options/en.md b/markdown/dev/howtos/code/accessing-options/en.md index 2a48bf526af..0f51762dc0d 100644 --- a/markdown/dev/howtos/code/accessing-options/en.md +++ b/markdown/dev/howtos/code/accessing-options/en.md @@ -1,17 +1,18 @@ -*** - +--- title: Accessing user options for: developers about: Shows you how to access user options from inside your pattern --------------------------------------------------------------------- +--- Options are stored in `pattern.settings.options`. -You can pull them out of there with +You can pull them out of there with the [shorthand](/howtos/code/shorthand/) call: + ```js const { measurements, options } = part.shorthand() let sleeveBonus = measurements.shoulderToWrist * (1 + options.sleeveLengthBonus); ``` + diff --git a/markdown/dev/howtos/code/adding-instructions/en.md b/markdown/dev/howtos/code/adding-instructions/en.md index 19f78c7ec28..5b98c7ccd12 100644 --- a/markdown/dev/howtos/code/adding-instructions/en.md +++ b/markdown/dev/howtos/code/adding-instructions/en.md @@ -1,19 +1,18 @@ -*** - +--- title: Add instructions to your design for: developers about: While documentation is good, sometimes you want to add some instructions to your design itself ------------------------------------------------------------------------------------------------------ +--- ##### See this example in our source code -* [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/38d101b0415a4cbf3f9f86e006bd8cb7c43c703b/packages/jaeger/src/front.js#L411) + - [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/38d101b0415a4cbf3f9f86e006bd8cb7c43c703b/packages/jaeger/src/front.js#L411) -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. Below is a rather involved example from Aaron: diff --git a/markdown/dev/howtos/code/adding-parts/en.md b/markdown/dev/howtos/code/adding-parts/en.md index 35ad337dcdf..e4718055a72 100644 --- a/markdown/dev/howtos/code/adding-parts/en.md +++ b/markdown/dev/howtos/code/adding-parts/en.md @@ -1,11 +1,10 @@ -*** - +--- title: Adding pattern parts for: developers about: Shows you how to add new parts to your pattern ------------------------------------------------------ +--- -Since the patterns parts are listed +Since the patterns parts are listed in [the configuration file](/reference/config/), freesewing knows about all the parts that belong to your pattern. diff --git a/markdown/dev/howtos/code/adding-paths/en.md b/markdown/dev/howtos/code/adding-paths/en.md index 4332f0f11b3..8c0251c73a2 100644 --- a/markdown/dev/howtos/code/adding-paths/en.md +++ b/markdown/dev/howtos/code/adding-paths/en.md @@ -1,12 +1,11 @@ -*** - +--- title: Adding paths for: developers icon: pattern about: Shows you how to add paths to your pattern -------------------------------------------------- +--- -After using the [shorthand](/howtos/code/shorthand/) call, +After using the [shorthand](/howtos/code/shorthand/) call, `Path` contains the path constructor, while `paths` is a reference to `part.paths`, which is where you should store your paths. diff --git a/markdown/dev/howtos/code/adding-points/en.md b/markdown/dev/howtos/code/adding-points/en.md index 86aa3fed5ef..bb56e4bb021 100644 --- a/markdown/dev/howtos/code/adding-points/en.md +++ b/markdown/dev/howtos/code/adding-points/en.md @@ -1,11 +1,10 @@ -*** - +--- title: Adding points for: developers about: Shows you how to add points to your pattern --------------------------------------------------- +--- -After using the [shorthand](/howtos/code/shorthand/) call, +After using the [shorthand](/howtos/code/shorthand/) call, `Point` contains the point constructor, while `points` is a reference to `part.points`, which is where you should store your points. diff --git a/markdown/dev/howtos/code/adding-snippets/en.md b/markdown/dev/howtos/code/adding-snippets/en.md index d05400d695b..6c66a3e8b89 100644 --- a/markdown/dev/howtos/code/adding-snippets/en.md +++ b/markdown/dev/howtos/code/adding-snippets/en.md @@ -1,11 +1,10 @@ -*** - +--- title: Adding snippets for: developers about: Shows you how to add snippets to your pattern ----------------------------------------------------- +--- -After using the [shorthand](/howtos/code/shorthand/) call, +After using the [shorthand](/howtos/code/shorthand/) call, `Snippet` contains the path constructor, while `snippets` is a reference to `part.snippets`, which is where you should store your paths. @@ -17,8 +16,8 @@ snippets.logo = new Snippet('logo', points.logoAnchor); You can scale and rotate a snippet by setting the `data-scale` and `data-rotate` attributes respectively. -* **data-scale** : Either a single scale factor, or a set of 2 scale factors for the X and Y axis respectively. See [the SVG scale transform](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#Scale) for details. -* **data-rotate**: A rotation in degrees. The center of the rotation will be the snippet's anchor point + - **data-scale** : Either a single scale factor, or a set of 2 scale factors for the X and Y axis respectively. See [the SVG scale transform](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#Scale) for details. + - **data-rotate**: A rotation in degrees. The center of the rotation will be the snippet's anchor point @@ -28,4 +27,4 @@ See [Using attributes](/howtos/code/attributes/) for details on how to set attri Below is an example of the available snippets, and the use of the `data-scale` and `data-rotate` attributes: -\ + diff --git a/markdown/dev/howtos/code/adding-text/en.md b/markdown/dev/howtos/code/adding-text/en.md index bc6dc07d51e..f3c28f6f1c3 100644 --- a/markdown/dev/howtos/code/adding-text/en.md +++ b/markdown/dev/howtos/code/adding-text/en.md @@ -1,14 +1,13 @@ -*** - +--- title: Adding text for: developers about: Shows you how to add text to your pattern ------------------------------------------------- +--- SVG is pretty great, but its text handling leaves much to be desired. -To abstract away the intricacies of adding text to an SVG document, -FreeSewing lets you add text to patterns by adding it to the attributes +To abstract away the intricacies of adding text to an SVG document, +FreeSewing lets you add text to patterns by adding it to the attributes of points and paths. All you have to do is set the `data-text` attribute to the text you want to add to the pattern: @@ -20,8 +19,8 @@ points.anchor = new Point(100, 25) ``` @@ -50,6 +49,6 @@ paths.example = new Path() ``` diff --git a/markdown/dev/howtos/code/attributes/en.md b/markdown/dev/howtos/code/attributes/en.md index 45883ff0e4b..2159294eecb 100644 --- a/markdown/dev/howtos/code/attributes/en.md +++ b/markdown/dev/howtos/code/attributes/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Using attributes for: developers about: Show s you have to use attributes on points, paths, and snippets ------------------------------------------------------------------------ +--- Points, Paths, and Snippets all have [attributes](/reference/api/attributes/) that you can use to influence how they behave. @@ -15,7 +14,7 @@ paths.example.attributes.add('class', 'lining dashed'); ``` 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: @@ -34,12 +33,12 @@ 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. 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 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-*). diff --git a/markdown/dev/howtos/code/create-new-design/en.md b/markdown/dev/howtos/code/create-new-design/en.md index 5a94feb4c0f..6c038aafc6e 100644 --- a/markdown/dev/howtos/code/create-new-design/en.md +++ b/markdown/dev/howtos/code/create-new-design/en.md @@ -1,12 +1,11 @@ -*** - +--- title: Creating a new pattern design for: developers about: Shows you how to create a new design -------------------------------------------- +--- To create a new pattern, call `new freesewing.Design()`. -It takes your pattern configuration, +It takes your pattern configuration, and any plugins you want to load as parameters. For example, if we were creating a new pattern called `Sorcha`: @@ -20,7 +19,7 @@ import config from "../config" const Sorcha = new freesewing.Design(config, plugins) ``` -This method does not return a `Design` object. Instead it returns +This method does not return a `Design` object. Instead it returns a constructor method for your pattern. When importing your pattern, it is itself a constructor: @@ -36,7 +35,7 @@ let pattern = new Sorcha() ##### Design() is a super-constructor -Constructors are functions you can call with `new` to create an object. +Constructors are functions you can call with `new` to create an object. As `freesewing.Design()` returns a constructor, you can think of it as a super-constructor. diff --git a/markdown/dev/howtos/code/dependencies/en.md b/markdown/dev/howtos/code/dependencies/en.md index d880143910d..daeaea85d76 100644 --- a/markdown/dev/howtos/code/dependencies/en.md +++ b/markdown/dev/howtos/code/dependencies/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Part dependencies for: developers about: Shows you how to create dependencies between pattern parts ------------------------------------------------------------------ +--- Part dependencies are set in the [pattern configuration](/reference/config), and control the order in which parts are drawn. FreeSewing will make sure @@ -19,7 +18,7 @@ dependencies: { } ``` -This could be from a T-shirt pattern where the `front` and `back` patterns are very similar, +This could be from a T-shirt pattern where the `front` and `back` patterns are very similar, so they both are inheriting a `base` part. In addition, the `sleeve` part needs to be drafted after the `front` and `back` part because in `front` and `back` we store the length of the armhole seam in the [store](/reference/api/store) and @@ -27,9 +26,9 @@ we need that info to fit the sleevecap to the armhole. Now if a user requests to draft only the `sleeve` part, FreeSewing will still draft: -* First the `base` part -* Then the `front` and `back` parts -* Finally the `sleeve` part + - First the `base` part + - Then the `front` and `back` parts + - Finally the `sleeve` part but it will only render the `sleeve` part, as that's the only thing the user requested. diff --git a/markdown/dev/howtos/code/drawing-circles/en.md b/markdown/dev/howtos/code/drawing-circles/en.md index 27004d446ac..59c04d56efb 100644 --- a/markdown/dev/howtos/code/drawing-circles/en.md +++ b/markdown/dev/howtos/code/drawing-circles/en.md @@ -1,16 +1,16 @@ -*** - +--- 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, but rather a different SVG element. -Still, if you want a circle, you can draw one by setting a Point's `data-circle` attribute +Still, if you want a circle, you can draw one by setting a Point's `data-circle` attribute 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. -\ + + diff --git a/markdown/dev/howtos/code/en.md b/markdown/dev/howtos/code/en.md index 05de8f6fdbb..b5c42846dad 100644 --- a/markdown/dev/howtos/code/en.md +++ b/markdown/dev/howtos/code/en.md @@ -1,6 +1,6 @@ -*** - -## title: Common code challenges +--- +title: Common code challenges +--- Below is a list of examples of how to implement common tasks in code: diff --git a/markdown/dev/howtos/code/extend-pattern/en.md b/markdown/dev/howtos/code/extend-pattern/en.md index 4422457324d..959c801b26c 100644 --- a/markdown/dev/howtos/code/extend-pattern/en.md +++ b/markdown/dev/howtos/code/extend-pattern/en.md @@ -1,17 +1,16 @@ -*** - +--- title: Create a new design based on an existing design for: developers about: Shows how to create a variation of a pre-existing design ---------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/aaron/config/index.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/config/index.js#L34) -* [packages/aaron/src/index.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/src/index.js#L2) -* [packages/carlita/src/index.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/carlita/src/index.js#L25) + - [packages/aaron/config/index.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/config/index.js#L34) + - [packages/aaron/src/index.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/src/index.js#L2) + - [packages/carlita/src/index.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/carlita/src/index.js#L25) diff --git a/markdown/dev/howtos/code/hide-paths/en.md b/markdown/dev/howtos/code/hide-paths/en.md index 63e2d9cbd82..275f2946654 100644 --- a/markdown/dev/howtos/code/hide-paths/en.md +++ b/markdown/dev/howtos/code/hide-paths/en.md @@ -1,15 +1,14 @@ -*** - +--- title: Hide paths from an inherited part for: developers about: When you inherit a part, it comes with a bunch of paths. Here'show to hide them --------------------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/front.js#L22) + - [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/front.js#L22) diff --git a/markdown/dev/howtos/code/inheritance/en.md b/markdown/dev/howtos/code/inheritance/en.md index 14cd0895ddc..76c381e2537 100644 --- a/markdown/dev/howtos/code/inheritance/en.md +++ b/markdown/dev/howtos/code/inheritance/en.md @@ -1,14 +1,13 @@ -*** - +--- title: Design inheritance for: developers about: Shows how you can use one design as the basis for another ----------------------------------------------------------------- +--- If your pattern is based on, or extending, another pattern (some of) your pattern parts will need to be drafted by the parent pattern. -In such a case, rather than return our own draft method for the part, you +In such a case, rather than return our own draft method for the part, you should instantiate the parent pattern, and return its part draft method: ```js diff --git a/markdown/dev/howtos/code/inject/en.md b/markdown/dev/howtos/code/inject/en.md index d308dfbdebf..3f36815da2e 100644 --- a/markdown/dev/howtos/code/inject/en.md +++ b/markdown/dev/howtos/code/inject/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Part inheritance for: developers about: Shows how you can use one part of your pattern as the basis for another ------------------------------------------------------------------------------- +--- Part inheritance within your own pattern is handled via the `inject` settings in the [pattern configuration](/reference/config/). Here is a simple example: @@ -16,16 +15,16 @@ inject: { } ``` -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 *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, and snippets of the `base` part. This is a common design pattern where one part builds on another. In our example, we can imagine a T-shirt pattern where the front and back are rather similar, apart from the neckline. -So rather than repeating ourselves, we draft a `base` part and inject that in the `front` and +So rather than repeating ourselves, we draft a `base` part and inject that in the `front` and `back` parts. -Using `inject` will cause FreeSewing to always draft the injected part prior to +Using `inject` will cause FreeSewing to always draft the injected part prior to drafting the part it gets injected to. It will, in other words, influece the draft order. diff --git a/markdown/dev/howtos/code/macros/en.md b/markdown/dev/howtos/code/macros/en.md index 18dd5077b4c..81c0aad4115 100644 --- a/markdown/dev/howtos/code/macros/en.md +++ b/markdown/dev/howtos/code/macros/en.md @@ -1,16 +1,15 @@ -*** - +--- title: Using macros for: developers about: Shows how you can use macros within your pattern -------------------------------------------------------- +--- Macros are a way to facilitate pattern design by bundling a bunch of individual actions into a little routine. Macros are provided by [plugins](/reference/plugins/). Here are some examples: -\ + Refer to [macro documentation](/reference/api/macro/) for details on how to use macros, and the [plugins](/reference/plugins/) documentation for info on how to create your diff --git a/markdown/dev/howtos/code/remove-paths/en.md b/markdown/dev/howtos/code/remove-paths/en.md index 4e4a4ecdaa7..20b7251b47b 100644 --- a/markdown/dev/howtos/code/remove-paths/en.md +++ b/markdown/dev/howtos/code/remove-paths/en.md @@ -1,18 +1,18 @@ -*** - +--- title: Remove paths from an inherited part for: developers about: When you inherit a part, it comes with a bunch of paths. Here'show to remove them ----------------------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/carlton/src/back.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/carlton/src/back.js#L62) + - [packages/carlton/src/back.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/carlton/src/back.js#L62) + ```js for (let i in paths) delete paths[i] ``` diff --git a/markdown/dev/howtos/code/shared-dimensions/en.md b/markdown/dev/howtos/code/shared-dimensions/en.md index 46476a61fae..f0e96317389 100644 --- a/markdown/dev/howtos/code/shared-dimensions/en.md +++ b/markdown/dev/howtos/code/shared-dimensions/en.md @@ -1,24 +1,24 @@ -*** - +--- title: Share dimensions between pattern parts for: developers about: Shows how to share dimensions between similar pattern parts ------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/aaron/src/shared.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/shared.js) -* [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/src/front.js#L160) + - [packages/aaron/src/shared.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/shared.js) + - [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/72f34101792bda4d8e553c3479daa63cb461f3c5/packages/aaron/src/front.js#L160) + When you have different pattern parts that look similar -- like the front -and back of a garment -- you may find that there's a lot of dimensions +and back of a garment -- you may find that there's a lot of dimensions shared between them. -The example below is from Aaron where dimensions are shared between +The example below is from Aaron where dimensions are shared between the back and front part. Aaron has a file called `shared.js` that looks like this: @@ -49,7 +49,8 @@ import { dimensions } from './shared' -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. + diff --git a/markdown/dev/howtos/code/shorthand/en.md b/markdown/dev/howtos/code/shorthand/en.md index 0e1da072a26..3c210e8ed68 100644 --- a/markdown/dev/howtos/code/shorthand/en.md +++ b/markdown/dev/howtos/code/shorthand/en.md @@ -1,16 +1,15 @@ -*** - +--- title: Using shorthand for: developers about: Shows you how to use our shorthand method and notation -------------------------------------------------------------- +--- The [Part.shorthand()](/reference/api/part/#shorthand) method will become your best friend. -By using [object destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring\_assignment#Object\_destructuring) you'll get access to a bunch +By using [object destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring) you'll get access to a bunch of handy variables to make your code more concise and readable. -[Part.shorthand()](/reference/api/part/#shorthand) provides a lot of things, and you typically +[Part.shorthand()](/reference/api/part/#shorthand) provides a lot of things, and you typically don't need all of them, but here's everything it has to offer: ```js diff --git a/markdown/dev/howtos/code/store/en.md b/markdown/dev/howtos/code/store/en.md index de3d8273ead..f798916219a 100644 --- a/markdown/dev/howtos/code/store/en.md +++ b/markdown/dev/howtos/code/store/en.md @@ -1,15 +1,14 @@ -*** - +--- title: Sharing data between parts for: developers about: Shows how you use the pattern store to share data between parts ----------------------------------------------------------------------- +--- Sometimes, you'll want to access data from one part into another part. For example, you may store the length of the armhole in your front and back parts, and then read that value when drafting the sleeve so you can verify the sleeve fits the armhole. -For this, you should use the [Store](/reference/api/store/), which is available via +For this, you should use the [Store](/reference/api/store/), which is available via the [shorthand](/howtos/code/shorthand/) call: ```js diff --git a/markdown/dev/howtos/code/storing-path-length/en.md b/markdown/dev/howtos/code/storing-path-length/en.md index d60a6db6f26..caf154b805b 100644 --- a/markdown/dev/howtos/code/storing-path-length/en.md +++ b/markdown/dev/howtos/code/storing-path-length/en.md @@ -1,19 +1,18 @@ -*** - +--- title: Storing the seam length to use in another part for: developers about: Shows how to store a seam length so you can true the seam of another part --------------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/front.js#L103) + - [packages/aaron/src/front.js](https://github.com/freesewing/freesewing/blob/develop/packages/aaron/src/front.js#L103) -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. The example below is from Aaron and stores the length of the armhole seam: @@ -28,3 +27,4 @@ The example below is from Aaron and stores the length of the armhole seam: .length() ) ``` + diff --git a/markdown/dev/howtos/design/en.md b/markdown/dev/howtos/design/en.md index 95efce7de54..4bd4d4ca7a9 100644 --- a/markdown/dev/howtos/design/en.md +++ b/markdown/dev/howtos/design/en.md @@ -1,6 +1,6 @@ -*** - -## title: Common design challenges +--- +title: Common design challenges +--- Below is a list of examples of how to implement common design challenges in code: diff --git a/markdown/dev/howtos/design/fit-sleeve/en.md b/markdown/dev/howtos/design/fit-sleeve/en.md index 767646a0749..98efad7ab10 100644 --- a/markdown/dev/howtos/design/fit-sleeve/en.md +++ b/markdown/dev/howtos/design/fit-sleeve/en.md @@ -1,20 +1,19 @@ -*** - +--- title: Adapt the sleevecap length to fit the armhole for: developers about: Shows how to adapt the length of the sleevecap to fit your armhole -------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/bent/src/sleeve.js](https://github.com/freesewing/freesewing/blob/develop/packages/bent/src/sleeve.js) + - [packages/bent/src/sleeve.js](https://github.com/freesewing/freesewing/blob/develop/packages/bent/src/sleeve.js) Fitting the sleevecap to the armhole means that we need to make sure the length -of the seams match.\ +of the seams match. A similar challenge is to fit the collar to the neck opening and so on. For all of these situations where you have to create curved seams with matching @@ -26,15 +25,15 @@ This pattern is rather common, and we will unpack an example from Bent below. Before we dive in, here's a few things to keep in mind: -* In Javascript, you can create a function within your function and call it -* Bent extends Brian which sets both the `frontArmholeLength` and `backArmholeLength` values in the store with the length of those seams -* We need to match the length of the sleevecap + sleeve cap ease to the length of the front and back armhole + - In Javascript, you can create a function within your function and call it + - Bent extends Brian which sets both the `frontArmholeLength` and `backArmholeLength` values in the store with the length of those seams + - We need to match the length of the sleevecap + sleeve cap ease to the length of the front and back armhole Here's how you can handle this in code: -* We create a method that does teh actual drafting of our sleevecap -* We use a `tweak` value to influence the process, we start with a value of `1` -* We check the length after every attempt, and adjust the `tweak` value + - We create a method that does teh actual drafting of our sleevecap + - We use a `tweak` value to influence the process, we start with a value of `1` + - We check the length after every attempt, and adjust the `tweak` value ```js export default function (part) { @@ -82,7 +81,7 @@ export default function (part) { A few things that are important: -* We check to see how close we are by using `Math.abs(delta)` which gives us the absolute value of our delta -* We guard against an endless loop by keeping track of the runs and giving up after 25 -* We multiply by `0.99` and `1.02` to respectively decrease and increase our `tweak` factor. - This assymetric approach avoids that we end up ping-ponging around our target value and never land somewhere in the middle + - We check to see how close we are by using `Math.abs(delta)` which gives us the absolute value of our delta + - We guard against an endless loop by keeping track of the runs and giving up after 25 + - We multiply by `0.99` and `1.02` to respectively decrease and increase our `tweak` factor. + This assymetric approach avoids that we end up ping-ponging around our target value and never land somewhere in the middle diff --git a/markdown/dev/howtos/design/seam-allowance/en.md b/markdown/dev/howtos/design/seam-allowance/en.md index 3b4963b503e..13bb3cbab50 100644 --- a/markdown/dev/howtos/design/seam-allowance/en.md +++ b/markdown/dev/howtos/design/seam-allowance/en.md @@ -1,15 +1,14 @@ -*** - +--- title: Add seam allowance and/or hem allowance for: developers about: Adding seam allowance or hem allowance is easy to do ------------------------------------------------------------ +--- ##### See this example in our source code -* [packages/bruce/src/inset.js](https://github.com/freesewing/freesewing/blob/develop/packages/bruce/src/inset.js#L34) + - [packages/bruce/src/inset.js](https://github.com/freesewing/freesewing/blob/develop/packages/bruce/src/inset.js#L34) @@ -21,8 +20,8 @@ seam allowance. In the example below we have two such paths: -* `paths.saBase` is the path that will require regular seam allowance -* `paths.hemBase` is the path that will require more seam allowance, or hem allowance + - `paths.saBase` is the path that will require regular seam allowance + - `paths.hemBase` is the path that will require more seam allowance, or hem allowance When creating them, we disable rendering, effectively hiding them. Then we string together our real path and our seam allowance based on them: diff --git a/markdown/dev/howtos/design/slash-spread/en.md b/markdown/dev/howtos/design/slash-spread/en.md index 54a5eb4eee5..a0afc41d31f 100644 --- a/markdown/dev/howtos/design/slash-spread/en.md +++ b/markdown/dev/howtos/design/slash-spread/en.md @@ -1,26 +1,25 @@ -*** - +--- title: Slash and spread for: developers about: Slash and spread is easy enough on paper, here's how to do it in code ----------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/jaeger/src/front.js#L64) + - [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/jaeger/src/front.js#L64) -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. And that's exactly what we do in code. We just need to know: -* What point we want to rotate around -* Which points we want to rotate -* By how much we want to rotate + - What point we want to rotate around + - Which points we want to rotate + - By how much we want to rotate ```js let rotate = [ diff --git a/markdown/dev/howtos/design/sprinkle-snippets/en.md b/markdown/dev/howtos/design/sprinkle-snippets/en.md index e8044f10be7..29c5cd6fe03 100644 --- a/markdown/dev/howtos/design/sprinkle-snippets/en.md +++ b/markdown/dev/howtos/design/sprinkle-snippets/en.md @@ -1,15 +1,14 @@ -*** - +--- title: Add several of the same snippets with the sprinkle macro for: developers about: Adding multiple snippets doesn't need to be a chore with this handy macro --------------------------------------------------------------------------------- +--- ##### See this example in our source code -* [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/jaeger/src/front.js#L381) + - [packages/jaeger/src/front.js](https://github.com/freesewing/freesewing/blob/8474477911daed3c383700ab29c9565883f16d66/packages/jaeger/src/front.js#L381) diff --git a/markdown/dev/howtos/dev/en.md b/markdown/dev/howtos/dev/en.md index 7c9167eb5a6..cad78ce4179 100644 --- a/markdown/dev/howtos/dev/en.md +++ b/markdown/dev/howtos/dev/en.md @@ -1,5 +1,6 @@ -*** - -## title: Setting up your development environment +--- +title: Setting up your development environment +--- + diff --git a/markdown/dev/howtos/dev/freesewing-dev/en.md b/markdown/dev/howtos/dev/freesewing-dev/en.md index b55f8616949..f5952451bb7 100644 --- a/markdown/dev/howtos/dev/freesewing-dev/en.md +++ b/markdown/dev/howtos/dev/freesewing-dev/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Working on freesewing.dev for: developers about: Shows you how to setup your development environment to work on freesewing.dev, our website for developers ----------------------------------------------------------------------------------------------------------------- +--- To work on freesewing.dev, checkout the repository: diff --git a/markdown/dev/howtos/dev/freesewing-org/en.md b/markdown/dev/howtos/dev/freesewing-org/en.md index 745e8a77839..b15d30d527d 100644 --- a/markdown/dev/howtos/dev/freesewing-org/en.md +++ b/markdown/dev/howtos/dev/freesewing-org/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Working on freesewing.org for: developers about: Shows you how to setup your development environment to work on freesewing.org, our website for makers ------------------------------------------------------------------------------------------------------------- +--- To work on freesewing.org, checkout the repository: @@ -40,7 +39,7 @@ If you prefer, you can also use yarn: yarn install ``` -This will take a while. When it's done, +This will take a while. When it's done, run the following command to start your development environment: ```bash diff --git a/markdown/dev/howtos/en.md b/markdown/dev/howtos/en.md index 3f6f755ece8..82361b22d97 100644 --- a/markdown/dev/howtos/en.md +++ b/markdown/dev/howtos/en.md @@ -1,5 +1,5 @@ -*** - +--- title: Howtos order: 1020 ------------ +--- + diff --git a/markdown/dev/reference/api/attributes/add/en.md b/markdown/dev/reference/api/attributes/add/en.md index f1f1cc030bc..0d90138460c 100644 --- a/markdown/dev/reference/api/attributes/add/en.md +++ b/markdown/dev/reference/api/attributes/add/en.md @@ -1,6 +1,6 @@ -*** - -## title: add() +--- +title: add() +--- ```js Attributes attributes.add(string key, string value) @@ -8,7 +8,7 @@ Attributes attributes.add(string key, string value) Adds `value` to the attribute identified by `key`. -Adding multiple values to the same key will result in them being joined together +Adding multiple values to the same key will result in them being joined together (with a space) when rendering. ```js @@ -28,3 +28,4 @@ paths.demo = new Path() paths.demo = new Path() .attr('class', 'classA classB'); ``` + diff --git a/markdown/dev/reference/api/attributes/clone/en.md b/markdown/dev/reference/api/attributes/clone/en.md index 19f95dd0fd2..4cd60530c24 100644 --- a/markdown/dev/reference/api/attributes/clone/en.md +++ b/markdown/dev/reference/api/attributes/clone/en.md @@ -1,6 +1,6 @@ -*** - -## title: clone() +--- +title: clone() +--- ```js Attributes attributes.clone() @@ -17,3 +17,4 @@ paths.demo = new Path() paths.clone = paths.demo.clone() ``` + diff --git a/markdown/dev/reference/api/attributes/en.md b/markdown/dev/reference/api/attributes/en.md index 11025b12e4b..9d1b12d1bc3 100644 --- a/markdown/dev/reference/api/attributes/en.md +++ b/markdown/dev/reference/api/attributes/en.md @@ -1,13 +1,12 @@ -*** - +--- title: Attributes order: 40 ---------- +--- Attributes is an object that holds attributes for a variety of other objects. Attributes are attached to [`Point`](/reference/api/point), [`Path`](/reference/api/path), and [`Snippet`](/reference/api/snippet) objects, -as well as the internal [`Svg`](/reference/api/svg) object. +as well as the internal [`Svg`](/reference/api/svg) object. All of these have an instantiated Attributes object in their `attributes` property. diff --git a/markdown/dev/reference/api/attributes/get/en.md b/markdown/dev/reference/api/attributes/get/en.md index 24bb16d3f56..951939bbad6 100644 --- a/markdown/dev/reference/api/attributes/get/en.md +++ b/markdown/dev/reference/api/attributes/get/en.md @@ -1,6 +1,6 @@ -*** - -## title: get() +--- +title: get() +--- ```js string attributes.get(string key) diff --git a/markdown/dev/reference/api/attributes/getasarray/en.md b/markdown/dev/reference/api/attributes/getasarray/en.md index 609b5b93880..5cd98fc44c2 100644 --- a/markdown/dev/reference/api/attributes/getasarray/en.md +++ b/markdown/dev/reference/api/attributes/getasarray/en.md @@ -1,6 +1,6 @@ -*** - -## title: getAsArray() +--- +title: getAsArray() +--- ```js array attributes.getAsArray(string key) @@ -18,3 +18,4 @@ paths.demo = new Path() let class = paths.demo.attributes.getAsArray('class'); // class now holds: ["classA", "classB"] ``` + diff --git a/markdown/dev/reference/api/attributes/remove/en.md b/markdown/dev/reference/api/attributes/remove/en.md index fec6fb6ae4a..c3faa06621c 100644 --- a/markdown/dev/reference/api/attributes/remove/en.md +++ b/markdown/dev/reference/api/attributes/remove/en.md @@ -1,6 +1,6 @@ -*** - -## title: remove() +--- +title: remove() +--- ```js Attributes attributes.remove(string key) diff --git a/markdown/dev/reference/api/attributes/set/en.md b/markdown/dev/reference/api/attributes/set/en.md index c423cfc358b..4fa90be570e 100644 --- a/markdown/dev/reference/api/attributes/set/en.md +++ b/markdown/dev/reference/api/attributes/set/en.md @@ -1,6 +1,6 @@ -*** - -## title: set() +--- +title: set() +--- ```js Attributes attributes.set(string key, string value) diff --git a/markdown/dev/reference/api/design/en.md b/markdown/dev/reference/api/design/en.md index 21d60772c49..6c1e6c99c4e 100644 --- a/markdown/dev/reference/api/design/en.md +++ b/markdown/dev/reference/api/design/en.md @@ -1,8 +1,7 @@ -*** - -title: Design +--- +title: Design order: 10 ---------- +--- The `Design` object in FreeSewing's core library serves a single purpose: To instantiate new pattern designs. @@ -17,13 +16,13 @@ function freesewing.Design( ) ``` -This constructor creates a new pattern design. +This constructor creates a new pattern design. It takes the following arguments: -* `config` : The pattern configuration -* `plugins` : Either a [plugin object](/guides/plugins/), or an array of plugin objects -* `conditionalPlugins` : Either a [conditional plugin object](/guides/plugins/conditionally-loading-build-time-plugins/), or an array - of conditional plugin objects to (conditionally) load in your pattern + - `config` : The pattern configuration + - `plugins` : Either a [plugin object](/guides/plugins/), or an array of plugin objects + - `conditionalPlugins` : Either a [conditional plugin object](/guides/plugins/conditionally-loading-build-time-plugins/), or an array + of conditional plugin objects to (conditionally) load in your pattern ```js import freesewing from "@freesewing/core" @@ -36,9 +35,9 @@ const Sorcha = new freesewing.Design(config, plugins) -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 -should be called to instantiate your pattern. +should be called to instantiate your pattern. See [creating a new pattern design](/howtos/code/create-new-design) for a complete example. diff --git a/markdown/dev/reference/api/en.md b/markdown/dev/reference/api/en.md index f8b1d0192e1..e260f1b41b3 100644 --- a/markdown/dev/reference/api/en.md +++ b/markdown/dev/reference/api/en.md @@ -1,17 +1,14 @@ -*** - +--- title: Core API for: developers -icons: - -* javascript -* terms - about: FreeSewing's core API reference documents all available methods and objects - -*** +icons: + - javascript + - terms +about: FreeSewing's core API reference documents all available methods and objects +--- This is the documentation for FreeSewing's core library, published as `@freesewing/core` on NPM. -It's a complete toolbox for parametric design with a primary focus on +It's a complete toolbox for parametric design with a primary focus on sewing patterns, but can be utilized for a variety of similar 2D design tasks. ## Getting started @@ -24,7 +21,7 @@ import freesewing from '@freesewing/core' -This is the reference documentation. For a more hands-on walkthrough, +This is the reference documentation. For a more hands-on walkthrough, please refer to our [pattern design tutorial](/tutorials/pattern-design/) @@ -33,18 +30,19 @@ please refer to our [pattern design tutorial](/tutorials/pattern-design/) The `@freesewing/core` default export is a single object with the following properties: -* `Design`: The [Design constructor](/reference/api/design/) to create a new design + - `Design`: The [Design constructor](/reference/api/design/) to create a new design -You will typically use the `Design()` constructor.\ -The other constructors and utilities below are exported to facilitate unit testing. +You will typically use the `Design()` constructor. +The other constructors and utilities below are exported to facilitate unit testing. -* `Path`: The [Path constructor](/reference/api/path) to create a new path -* `Pattern`: The [Pattern constructor](/reference/api/pattern) to create a new pattern -* `Point`: The [Point constructor](/reference/api/point) to create a new point -* `Snippet`: The [Snippet constructor](/reference/api/snippet) to create a new snippet -* `utils`: A collection of [utilities](/reference/api/utils) -* `version`: A string containing the `@freesewing/core` version number + - `Path`: The [Path constructor](/reference/api/path) to create a new path + - `Pattern`: The [Pattern constructor](/reference/api/pattern) to create a new pattern + - `Point`: The [Point constructor](/reference/api/point) to create a new point + - `Snippet`: The [Snippet constructor](/reference/api/snippet) to create a new snippet + - `utils`: A collection of [utilities](/reference/api/utils) + - `version`: A string containing the `@freesewing/core` version number + diff --git a/markdown/dev/reference/api/part/en.md b/markdown/dev/reference/api/part/en.md index ed2f0c4b1f5..a15932f9e3f 100644 --- a/markdown/dev/reference/api/part/en.md +++ b/markdown/dev/reference/api/part/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Part order: 20 ---------- +--- -The `Part` object in FreeSewing's core library holds all data and logic of a pattern part. +The `Part` object in FreeSewing's core library holds all data and logic of a pattern part. A pattern part is what holds the actual information about points and paths, and multiple parts together typically make up a pattern. diff --git a/markdown/dev/reference/api/part/getid/en.md b/markdown/dev/reference/api/part/getid/en.md index 1459ef22269..59df01a9403 100644 --- a/markdown/dev/reference/api/part/getid/en.md +++ b/markdown/dev/reference/api/part/getid/en.md @@ -1,10 +1,10 @@ -*** +--- +title: Part.getId() +--- -## title: Part.getId() - -A part's `getId()` method will return an integer the can be used as an +A part's `getId()` method will return an integer the can be used as an ID Points/Paths/Snippets. This method will ensure the ID is unique be -keeping an internal record of the ID that have been used. +keeping an internal record of the ID that have been used. It is typically used when programatically adding points, paths, or snippets. ## Part.getId() signature @@ -30,3 +30,5 @@ export default function (part) { return part } ``` + + diff --git a/markdown/dev/reference/api/part/raise/debug/en.md b/markdown/dev/reference/api/part/raise/debug/en.md index 76562db5cd8..59f5016420e 100644 --- a/markdown/dev/reference/api/part/raise/debug/en.md +++ b/markdown/dev/reference/api/part/raise/debug/en.md @@ -1,6 +1,6 @@ -*** - -## title: Part.raise.debug() +--- +title: Part.raise.debug() +--- A part's `raise.debug()` method will log a debug-level event. Debug events are typically used to pass information to pattern developers @@ -35,3 +35,4 @@ export default function (part) { return part } ``` + diff --git a/markdown/dev/reference/api/part/raise/en.md b/markdown/dev/reference/api/part/raise/en.md index bbc83c2fed7..37f08d903e3 100644 --- a/markdown/dev/reference/api/part/raise/en.md +++ b/markdown/dev/reference/api/part/raise/en.md @@ -1,6 +1,6 @@ -*** - -## title: Part raise methods +--- +title: Part raise methods +--- A part's different `raise` methods are used to bring information to the attention of the user, or developer. You can think of them as logging methods the register @@ -15,7 +15,7 @@ roadmap](https://github.com/freesewing/freesewing/discussions/1278) for details. -There are four different types of information with their own method: +There are four different types of information with their own method: @@ -32,13 +32,13 @@ events: { Calling the relevant `raise` method will add the data you pass to it to the relevant array. -For example, if we use: +For example, if we use: ```js raise.info('Hello') ``` -The result will be: +The result will be: ```js events: { @@ -62,3 +62,4 @@ But if an error is raised, core won't attempt to pack the pattern parts on the p In other words, it will abort after the draft, and not provide a layout. + diff --git a/markdown/dev/reference/api/part/raise/error/en.md b/markdown/dev/reference/api/part/raise/error/en.md index e01d77daae6..00c9c3078fd 100644 --- a/markdown/dev/reference/api/part/raise/error/en.md +++ b/markdown/dev/reference/api/part/raise/error/en.md @@ -1,6 +1,6 @@ -*** - -## title: Part.raise.error() +--- +title: Part.raise.error() +--- A part's `raise.error()` method will log a error-level event. Unlike other raised events which have no side-effects, if there is one or more @@ -32,3 +32,4 @@ export default function (part) { } } ``` + diff --git a/markdown/dev/reference/api/part/raise/info/en.md b/markdown/dev/reference/api/part/raise/info/en.md index 4295d7713a0..0b3c9f40e53 100644 --- a/markdown/dev/reference/api/part/raise/info/en.md +++ b/markdown/dev/reference/api/part/raise/info/en.md @@ -1,6 +1,6 @@ -*** - -## title: Part.raise.info() +--- +title: Part.raise.info() +--- A part's `raise.info()` method will log a ingo-level event. Info events are typically used to pass information to users diff --git a/markdown/dev/reference/api/part/raise/warning/en.md b/markdown/dev/reference/api/part/raise/warning/en.md index 8243e419ca7..6345b3bd24b 100644 --- a/markdown/dev/reference/api/part/raise/warning/en.md +++ b/markdown/dev/reference/api/part/raise/warning/en.md @@ -1,6 +1,6 @@ -*** - -## title: Part.raise.warning() +--- +title: Part.raise.warning() +--- A part's `raise.warning()` method will log a warning-level event. Warning events are typically used to pass information to pattern developers @@ -41,3 +41,4 @@ export default function (part) { return part } ``` + diff --git a/markdown/dev/reference/api/part/shorthand/en.md b/markdown/dev/reference/api/part/shorthand/en.md index c8752032f5f..cee551d0941 100644 --- a/markdown/dev/reference/api/part/shorthand/en.md +++ b/markdown/dev/reference/api/part/shorthand/en.md @@ -1,10 +1,10 @@ -*** - -## title: Part.shorthand() +--- +title: Part.shorthand() +--- A part's `shorthand()` method provides easy access to a number of internal objects and properties. It does so be returning an object -that contains all you need to draft your pattern parts. It is +that contains all you need to draft your pattern parts. It is typically combined with object destructuring to pull out those properties you need. @@ -79,7 +79,8 @@ paths.example = new Path() -As you can see in the example above, you can/should load only +As you can see in the example above, you can/should load only the shorthand you need by using object destructuring. + diff --git a/markdown/dev/reference/api/part/units/en.md b/markdown/dev/reference/api/part/units/en.md index 63eef5ff654..9c082d1c24b 100644 --- a/markdown/dev/reference/api/part/units/en.md +++ b/markdown/dev/reference/api/part/units/en.md @@ -1,10 +1,10 @@ -*** - -## title: Part.units() +--- +title: Part.units() +--- A part's `units()` method will formats a float you pass it, which should represent a value in mm, into the units requested by the user. -The returned value is to be used in presentation only, as it will be +The returned value is to be used in presentation only, as it will be a string that includes the user's units. @@ -34,3 +34,4 @@ export default function (part) { raise.info(`Pattern drafted for a ${units(measurements.chest)} chest`) } ``` + diff --git a/markdown/dev/reference/api/path/_curve/en.md b/markdown/dev/reference/api/path/_curve/en.md index 971aa1a356b..2a8de7d3104 100644 --- a/markdown/dev/reference/api/path/_curve/en.md +++ b/markdown/dev/reference/api/path/_curve/en.md @@ -1,6 +1,6 @@ -*** - -## title: "\_curve()" +--- +title: "_curve()" +--- ```js Path path._curve(Point cp2, Point to) diff --git a/markdown/dev/reference/api/path/attr/en.md b/markdown/dev/reference/api/path/attr/en.md index 00ab40771fc..d2234018017 100644 --- a/markdown/dev/reference/api/path/attr/en.md +++ b/markdown/dev/reference/api/path/attr/en.md @@ -1,6 +1,6 @@ -*** - -## title: attr() +--- +title: attr() +--- ```js Path path.attr( diff --git a/markdown/dev/reference/api/path/clone/en.md b/markdown/dev/reference/api/path/clone/en.md index a68b3b4dadf..cee6019b276 100644 --- a/markdown/dev/reference/api/path/clone/en.md +++ b/markdown/dev/reference/api/path/clone/en.md @@ -1,6 +1,7 @@ -*** +--- +title: clone() +--- -## title: clone() ```js Path path.clone() @@ -29,3 +30,4 @@ paths.clone = paths.example .attr("class", "note lashed stroke-l") .attr("style", "stroke-opacity: 0.5"); ``` + diff --git a/markdown/dev/reference/api/path/close/en.md b/markdown/dev/reference/api/path/close/en.md index 0c410744b7d..64a569a3efa 100644 --- a/markdown/dev/reference/api/path/close/en.md +++ b/markdown/dev/reference/api/path/close/en.md @@ -1,6 +1,6 @@ -*** - -## title: close() +--- +title: close() +--- ```js Path path.close() @@ -25,3 +25,4 @@ paths.line = new Path() .attr("data-text", "Path._close()") .attr("data-text-class", "text-sm right fill-note"); ``` + diff --git a/markdown/dev/reference/api/path/curve/en.md b/markdown/dev/reference/api/path/curve/en.md index e85fddd1145..7f806890a7d 100644 --- a/markdown/dev/reference/api/path/curve/en.md +++ b/markdown/dev/reference/api/path/curve/en.md @@ -1,6 +1,6 @@ -*** - -## title: curve() +--- +title: curve() +--- ```js Path path.curve(Point cp1, Point cp2, Point to) diff --git a/markdown/dev/reference/api/path/curve_/en.md b/markdown/dev/reference/api/path/curve_/en.md index 9b27ba7ddf6..53fb0eb1d45 100644 --- a/markdown/dev/reference/api/path/curve_/en.md +++ b/markdown/dev/reference/api/path/curve_/en.md @@ -1,6 +1,6 @@ -*** - -## title: "curve\_()" +--- +title: "curve_()" +--- ```js Path path.curve_(Point cp1, Point to) diff --git a/markdown/dev/reference/api/path/divide/en.md b/markdown/dev/reference/api/path/divide/en.md index 8c0c549ca19..fe11df62d00 100644 --- a/markdown/dev/reference/api/path/divide/en.md +++ b/markdown/dev/reference/api/path/divide/en.md @@ -1,6 +1,6 @@ -*** - -## title: divide() +--- +title: divide() +--- ```js array path.divide() diff --git a/markdown/dev/reference/api/path/edge/en.md b/markdown/dev/reference/api/path/edge/en.md index 41219bcb7e3..95d52735c13 100644 --- a/markdown/dev/reference/api/path/edge/en.md +++ b/markdown/dev/reference/api/path/edge/en.md @@ -1,6 +1,6 @@ -*** - -## title: edge() +--- +title: edge() +--- ```js Point path.edge(string side) @@ -8,14 +8,14 @@ Point path.edge(string side) Returns the Point object at the edge of the path you specify. Edge must be one of: -* `top` -* `bottom` -* `left` -* `right` -* `topLeft` -* `topRight` -* `bottomLeft` -* `bottomRight` + - `top` + - `bottom` + - `left` + - `right` + - `topLeft` + - `topRight` + - `bottomLeft` + - `bottomRight` @@ -48,3 +48,4 @@ for (let i of [ "right" ]) snippets[i] = new Snippet("notch", paths.demo.edge(i)); ``` + diff --git a/markdown/dev/reference/api/path/en.md b/markdown/dev/reference/api/path/en.md index 5413d33732a..e41c0a6e9e6 100644 --- a/markdown/dev/reference/api/path/en.md +++ b/markdown/dev/reference/api/path/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Path order: 30 ---------- +--- -A path represents an SVG path; The lines and curves on our pattern. +A path represents an SVG path; The lines and curves on our pattern. The Path constructor takes no arguments: @@ -14,8 +13,8 @@ Path new Path(); A Path objects comes with the following properties: -* `render` : Set this to `false` to not render the path (exclude it from the output) -* `attributes` : An [Attributes](/reference/api/attributes) instance holding the path's attributes + - `render` : Set this to `false` to not render the path (exclude it from the output) + - `attributes` : An [Attributes](/reference/api/attributes) instance holding the path's attributes In addition, a Path object exposes the following methods: diff --git a/markdown/dev/reference/api/path/end/en.md b/markdown/dev/reference/api/path/end/en.md index 053138379bb..1fea77273fb 100644 --- a/markdown/dev/reference/api/path/end/en.md +++ b/markdown/dev/reference/api/path/end/en.md @@ -1,6 +1,6 @@ -*** - -## title: end() +--- +title: end() +--- ```js Point path.end() diff --git a/markdown/dev/reference/api/path/insop/en.md b/markdown/dev/reference/api/path/insop/en.md index 5551dcc0d6d..a88e05d3aad 100644 --- a/markdown/dev/reference/api/path/insop/en.md +++ b/markdown/dev/reference/api/path/insop/en.md @@ -1,6 +1,6 @@ -*** - -## title: insop() +--- +title: insop() +--- ```js Path path.insop(string id, Path path) diff --git a/markdown/dev/reference/api/path/intersects/en.md b/markdown/dev/reference/api/path/intersects/en.md index 6455379f5cb..735615b310c 100644 --- a/markdown/dev/reference/api/path/intersects/en.md +++ b/markdown/dev/reference/api/path/intersects/en.md @@ -1,8 +1,10 @@ -*** +--- +title: intersects() +--- -## title: intersects() - - array|false path.intersects(Path path) +``` +array|false path.intersects(Path path) +``` Returns the Point object(s) where the path intersects with a path you pass it. @@ -53,3 +55,4 @@ for (let p of paths.demo1.intersects(paths.demo2)) { snippets[part.getId()] = new Snippet("notch", p); } ``` + diff --git a/markdown/dev/reference/api/path/intersectsx/en.md b/markdown/dev/reference/api/path/intersectsx/en.md index da4517bb181..37493bf2652 100644 --- a/markdown/dev/reference/api/path/intersectsx/en.md +++ b/markdown/dev/reference/api/path/intersectsx/en.md @@ -1,6 +1,6 @@ -*** - -## title: intersectsX() +--- +title: intersectsX() +--- ```js array|false path.intersectsX(float x) diff --git a/markdown/dev/reference/api/path/intersectsy/en.md b/markdown/dev/reference/api/path/intersectsy/en.md index cc51c840e9c..e34cc0be046 100644 --- a/markdown/dev/reference/api/path/intersectsy/en.md +++ b/markdown/dev/reference/api/path/intersectsy/en.md @@ -1,6 +1,6 @@ -*** - -## title: intersectsY() +--- +title: intersectsY() +--- ```js array|false path.intersectsY(float y) diff --git a/markdown/dev/reference/api/path/join/en.md b/markdown/dev/reference/api/path/join/en.md index 68c705ca4bd..19d17471201 100644 --- a/markdown/dev/reference/api/path/join/en.md +++ b/markdown/dev/reference/api/path/join/en.md @@ -1,6 +1,6 @@ -*** - -## title: join() +--- +title: join() +--- ```js Path path.join(path other) @@ -40,3 +40,4 @@ paths.joint = paths.path1 .attr("class", "note lashed stroke-l") .attr("style", "stoke-opacity: 0.5"); ``` + diff --git a/markdown/dev/reference/api/path/length/en.md b/markdown/dev/reference/api/path/length/en.md index 59b32587c02..662cb6ae03e 100644 --- a/markdown/dev/reference/api/path/length/en.md +++ b/markdown/dev/reference/api/path/length/en.md @@ -1,6 +1,6 @@ -*** - -## title: length() +--- +title: length() +--- ```js float path.length() diff --git a/markdown/dev/reference/api/path/line/en.md b/markdown/dev/reference/api/path/line/en.md index 88dce8a7ac9..c0ee2bd1114 100644 --- a/markdown/dev/reference/api/path/line/en.md +++ b/markdown/dev/reference/api/path/line/en.md @@ -1,6 +1,6 @@ -*** - -## title: line() +--- +title: line() +--- ```js Path path.line(Point to) diff --git a/markdown/dev/reference/api/path/move/en.md b/markdown/dev/reference/api/path/move/en.md index e97f159f35d..bf08423ba6c 100644 --- a/markdown/dev/reference/api/path/move/en.md +++ b/markdown/dev/reference/api/path/move/en.md @@ -1,23 +1,24 @@ -*** - -## title: move() +--- +title: move() +--- ```js Path path.move(Point to) ``` -Moves to a given point without drawing a line. +Moves to a given point without drawing a line. + ###### Always start your path with a move -When drawing a path, you must always start with a `move()` call, +When drawing a path, you must always start with a `move()` call, followed by your `line()` and/or `curve()` calls and an optional `close()` call. These calls are chainable, making your code easier to read: - + ```js paths.example = new Path() .move(points.a) @@ -28,6 +29,7 @@ paths.example = new Path() + ```js diff --git a/markdown/dev/reference/api/path/noop/en.md b/markdown/dev/reference/api/path/noop/en.md index 4945d1f67bf..3d467e5d540 100644 --- a/markdown/dev/reference/api/path/noop/en.md +++ b/markdown/dev/reference/api/path/noop/en.md @@ -1,12 +1,12 @@ -*** - -## title: noop() - +--- +title: noop() +--- + ```js Path path.noop(string id) ``` -Adds a placeholder path opertion.\ +Adds a placeholder path opertion. A `noop` operation does nothing, but is intended to be replaced later with [`Path.insop()`](#insop). Add example diff --git a/markdown/dev/reference/api/path/offset/en.md b/markdown/dev/reference/api/path/offset/en.md index aa58f4b5559..41a62c02c4c 100644 --- a/markdown/dev/reference/api/path/offset/en.md +++ b/markdown/dev/reference/api/path/offset/en.md @@ -1,7 +1,7 @@ -*** - -## title: offset() - +--- +title: offset() +--- + ```js Path path.offset(float distance) ``` diff --git a/markdown/dev/reference/api/path/reverse/en.md b/markdown/dev/reference/api/path/reverse/en.md index fb6a84e7592..471390866d7 100644 --- a/markdown/dev/reference/api/path/reverse/en.md +++ b/markdown/dev/reference/api/path/reverse/en.md @@ -1,6 +1,6 @@ -*** - -## title: reverse() +--- +title: reverse() +--- ```js Path path.reverse() @@ -10,7 +10,7 @@ Returns a path that is the reversed version of this path. As in, start becomes e -The reversed path is a shallow copy. +The reversed path is a shallow copy. It will in other words not inherit the attributes of the original path. If you want a deep copy, including the attributes, use `Path.clone().reverse()`. diff --git a/markdown/dev/reference/api/path/setrender/en.md b/markdown/dev/reference/api/path/setrender/en.md index 2b7b70a6683..8e809bd146d 100644 --- a/markdown/dev/reference/api/path/setrender/en.md +++ b/markdown/dev/reference/api/path/setrender/en.md @@ -1,6 +1,6 @@ -*** - -## title: setRender() +--- +title: setRender() +--- ```js Path path.setRender(bool render) diff --git a/markdown/dev/reference/api/path/shiftalong/en.md b/markdown/dev/reference/api/path/shiftalong/en.md index 647369f853c..b0fc4b2fcc9 100644 --- a/markdown/dev/reference/api/path/shiftalong/en.md +++ b/markdown/dev/reference/api/path/shiftalong/en.md @@ -1,6 +1,6 @@ -*** - -## title: shiftAlong() +--- +title: shiftAlong() +--- ```js Point path.shiftAlong(float distance[, int stepsPerMm=25]) diff --git a/markdown/dev/reference/api/path/shiftfractionalong/en.md b/markdown/dev/reference/api/path/shiftfractionalong/en.md index 69772188beb..97046a54478 100644 --- a/markdown/dev/reference/api/path/shiftfractionalong/en.md +++ b/markdown/dev/reference/api/path/shiftfractionalong/en.md @@ -1,6 +1,6 @@ -*** - -## title: shiftFractionAlong() +--- +title: shiftFractionAlong() +--- ```js Point path.shiftFractionAlong(float fraction[, int stepsPerMm=25]) @@ -9,8 +9,8 @@ Point path.shiftFractionAlong(float fraction[, int stepsPerMm=25]) Returns a point that lies at fraction of the length of the path travelled along the path. ```js @@ -53,3 +53,4 @@ If you don't need that precision, you can pass a lower number. But for most cases, you can just ignore it. + diff --git a/markdown/dev/reference/api/path/split/en.md b/markdown/dev/reference/api/path/split/en.md index 2fe06b8a112..48c41a1d9e1 100644 --- a/markdown/dev/reference/api/path/split/en.md +++ b/markdown/dev/reference/api/path/split/en.md @@ -1,7 +1,7 @@ -*** - -## title: split - +--- +title: split +--- + ```js array path.split(Point splitPoint) ``` @@ -9,8 +9,8 @@ array path.split(Point splitPoint) Splits a path in two halves, on a point along that path that you pass it. ```js diff --git a/markdown/dev/reference/api/path/start/en.md b/markdown/dev/reference/api/path/start/en.md index 105d91d30c5..1383b2ab65f 100644 --- a/markdown/dev/reference/api/path/start/en.md +++ b/markdown/dev/reference/api/path/start/en.md @@ -1,6 +1,6 @@ -*** - -## title: start() +--- +title: start() +--- ```js Point path.start() @@ -9,8 +9,8 @@ Point path.start() Returns the Point object at the start of the path. ```js diff --git a/markdown/dev/reference/api/path/translate/en.md b/markdown/dev/reference/api/path/translate/en.md index 699ea2c96a8..c0dedad7392 100644 --- a/markdown/dev/reference/api/path/translate/en.md +++ b/markdown/dev/reference/api/path/translate/en.md @@ -1,18 +1,18 @@ -*** - -## title: translate() - +--- +title: translate() +--- + ```js Path path.translate(float deltaX, float deltaY) ``` -Returns a path with +Returns a path with [a translate transform](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform#Translate) applied. ```js diff --git a/markdown/dev/reference/api/path/trim/en.md b/markdown/dev/reference/api/path/trim/en.md index 0e427ff5f53..d8b58748ce4 100644 --- a/markdown/dev/reference/api/path/trim/en.md +++ b/markdown/dev/reference/api/path/trim/en.md @@ -1,6 +1,6 @@ -*** - -## title: trim() +--- +title: trim() +--- ```js Path path.trim() @@ -19,18 +19,18 @@ it on a long/complex path will be significant. To limit the impact of path.trim(), follow this approach: -* construct a minimal path that contains the overlap -* trim it -* now join it to the rest of your path + - construct a minimal path that contains the overlap + - trim it + - now join it to the rest of your path -You can see an example of this +You can see an example of this [in the front part of the Bruce pattern](https://github.com/freesewing/freesewing/blob/develop/packages/bruce/src/front.js#L195). ```js diff --git a/markdown/dev/reference/api/pattern/draft/en.md b/markdown/dev/reference/api/pattern/draft/en.md index 9c06be9ea97..73fde02a68b 100644 --- a/markdown/dev/reference/api/pattern/draft/en.md +++ b/markdown/dev/reference/api/pattern/draft/en.md @@ -1,6 +1,6 @@ -*** - -## title: Pattern.draft() +--- +title: Pattern.draft() +--- A pattern's `draft()` method will draft all the different pattern parts making sure to do so in the right order, handle dependencies, resolve @@ -13,7 +13,7 @@ that are required for the pattern to be drafted. ```js Pattern pattern.draft() -``` +``` ## Pattern.draft() example @@ -29,4 +29,5 @@ const pattern = new Aaron({ }) const svg = pattern.draft().render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/en.md b/markdown/dev/reference/api/pattern/en.md index f01e7cff3df..2dd2b282f6b 100644 --- a/markdown/dev/reference/api/pattern/en.md +++ b/markdown/dev/reference/api/pattern/en.md @@ -1,10 +1,9 @@ -*** - +--- title: Pattern order: 15 ---------- +--- -The `Pattern` object in FreeSewing's core library holds all data and logic of a pattern. +The `Pattern` object in FreeSewing's core library holds all data and logic of a pattern. It is the parametric blueprint that when instantiated with a user's measurements and objects will generated a made-to-measure pattern. @@ -19,6 +18,7 @@ A pattern is instantiated by passing a [settings object](/reference/settings/) t This settings objects holds, amongst other things, the measurements and options chosen by the user. Refer to the [settings documentation](/reference/settings/) for an exhaustive list. + ## Pattern properties | Property | Description | @@ -32,15 +32,15 @@ Refer to the [settings documentation](/reference/settings/) for an exhaustive li | `store` | A [Store](/en/docs/developer/api/store) instance | | `svg` | An [Svg](/en/docs/developer/api/svg) instance | -* `settings` : The settings as set by the user -* `options` : the options as set by the user -* `config` : The pattern configuration -* `parts` : A plain object to hold your parts -* `Part` : The [Part](/en/docs/developer/api/part) constructor -* `store` : A [Store](/en/docs/developer/api/store) instance -* `svg` : An [Svg](/en/docs/developer/api/svg) instance -* `is` : A string that will be set to `draft` or `sample` when you respectively draft or sample a pattern. - This allows plugins that hook into your pattern to determine what to do in a given scenario. + - `settings` : The settings as set by the user + - `options` : the options as set by the user + - `config` : The pattern configuration + - `parts` : A plain object to hold your parts + - `Part` : The [Part](/en/docs/developer/api/part) constructor + - `store` : A [Store](/en/docs/developer/api/store) instance + - `svg` : An [Svg](/en/docs/developer/api/svg) instance + - `is` : A string that will be set to `draft` or `sample` when you respectively draft or sample a pattern. + This allows plugins that hook into your pattern to determine what to do in a given scenario. ## Pattern methods diff --git a/markdown/dev/reference/api/pattern/getrenderprops/en.md b/markdown/dev/reference/api/pattern/getrenderprops/en.md index 8bb985bbd7b..2d9c48f291d 100644 --- a/markdown/dev/reference/api/pattern/getrenderprops/en.md +++ b/markdown/dev/reference/api/pattern/getrenderprops/en.md @@ -1,8 +1,8 @@ -*** +--- +title: Pattern.getRenderProps() +--- -## title: Pattern.getRenderProps() - -A pattern's `getRenderProps()` method will return a set of properties +A pattern's `getRenderProps()` method will return a set of properties that allow the pattern to be rendered be an external renderer such as a React component. It should only be called after calling `Pattern.draft()`. @@ -10,7 +10,7 @@ a React component. It should only be called after calling `Pattern.draft()`. ```js Object pattern.getRenderProps() -``` +``` The object returned by this method contains the following properties: @@ -29,6 +29,7 @@ See [the Draft React component](/reference/packages/components/draft/) for more + ## Pattern.getRenderProps() example ```jsx @@ -43,4 +44,5 @@ const MyReactComponent = ({ measurements }) => { } export default MyReactComponent -``` +``` + diff --git a/markdown/dev/reference/api/pattern/on/en.md b/markdown/dev/reference/api/pattern/on/en.md index cfb8e171af8..a4dd7add514 100644 --- a/markdown/dev/reference/api/pattern/on/en.md +++ b/markdown/dev/reference/api/pattern/on/en.md @@ -1,8 +1,8 @@ -*** +--- +title: Pattern.on() +--- -## title: Pattern.on() - -A pattern's `on()` method allows you to attach a function to one of the +A pattern's `on()` method allows you to attach a function to one of the pattern's [lifecycle hooks](/reference/hooks/). It takes the lifecycle hook's name as the first argument and the function as the second. This method will then be triggered by the lifecycle hook. @@ -13,7 +13,7 @@ This method will then be triggered by the lifecycle hook. ```js Pattern pattern.on(string hook, function method) -``` +``` @@ -38,3 +38,4 @@ Your pattern now has a yellow background. The [plugin guide](/guides/plugins/) contains more info on how you can use hooks + diff --git a/markdown/dev/reference/api/pattern/render/en.md b/markdown/dev/reference/api/pattern/render/en.md index 6d50e974b7c..a89fa6a0880 100644 --- a/markdown/dev/reference/api/pattern/render/en.md +++ b/markdown/dev/reference/api/pattern/render/en.md @@ -1,6 +1,6 @@ -*** - -## title: Pattern.render() +--- +title: Pattern.render() +--- A pattern's `render()` method will render the pattern to SVG and return the SVG as a string. It should only ever be called after calling @@ -10,7 +10,7 @@ the SVG as a string. It should only ever be called after calling ```js string pattern.render() -``` +``` # Pattern.render() example @@ -26,4 +26,5 @@ const pattern = new Aaron({ }) const svg = pattern.draft().render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/sample/en.md b/markdown/dev/reference/api/pattern/sample/en.md index 8177d839c28..7fd6471cda2 100644 --- a/markdown/dev/reference/api/pattern/sample/en.md +++ b/markdown/dev/reference/api/pattern/sample/en.md @@ -1,31 +1,31 @@ -*** - -## title: Pattern.sample() +--- +title: Pattern.sample() +--- A pattern's `sample()` method will *sample* the pattern which means 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.sampleMeasurement()](/reference/apu/pattern/sampleoption), or [Pattern.sampleModels()](/reference/apu/pattern/sampleoption) to sample an option, a measurement, or a set of measurements respectively. -Unlike those three methods where you pass the relevant info to to the method, -this `Pattern.sample()` will instead read the `pattern.settings.sample` +Unlike those three methods where you pass the relevant info to to the method, +this `Pattern.sample()` will instead read the `pattern.settings.sample` object to determine what to do. The possiblities are: -* **type**: One of `option`, `measurement`, or `models` -* **option**: An option name as defined in the pattern config file (only used when `type` is option). -* **measurement**: A measurement name as defined in the pattern config file (only used when `type` is measurement). -* **models**: An array of models with the required measurements for this pattern (only used when `type` is models). + - **type**: One of `option`, `measurement`, or `models` + - **option**: An option name as defined in the pattern config file (only used when `type` is option). + - **measurement**: A measurement name as defined in the pattern config file (only used when `type` is measurement). + - **models**: An array of models with the required measurements for this pattern (only used when `type` is models). See the specific sample methods below for more details: -* [Pattern.sampleOption()](/reference/apu/pattern/sampleoption) -* [Pattern.sampleMeasurement()](/reference/apu/pattern/sampleoption) -* [Pattern.sampleModels()](/reference/apu/pattern/sampleoption) +- [Pattern.sampleOption()](/reference/apu/pattern/sampleoption) +- [Pattern.sampleMeasurement()](/reference/apu/pattern/sampleoption) +- [Pattern.sampleModels()](/reference/apu/pattern/sampleoption) From a lifecycle point of view, the `Pattern.sample()` method is a substitute for `Pattern.draft()`. So you call it after instantiating the pattern, prior to @@ -56,11 +56,12 @@ roadmap](https://github.com/freesewing/freesewing/discussions/1278) for details. + ## Pattern.sample() signature ```js Pattern pattern.sample() -``` +``` ## Pattern.sample() example @@ -76,4 +77,5 @@ const pattern = new Aaron({ }) const svg = pattern.sample().render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/samplemeasurement/en.md b/markdown/dev/reference/api/pattern/samplemeasurement/en.md index c4138e07ebc..bc50c20d903 100644 --- a/markdown/dev/reference/api/pattern/samplemeasurement/en.md +++ b/markdown/dev/reference/api/pattern/samplemeasurement/en.md @@ -1,11 +1,11 @@ -*** - -## title: Pattern.sampleMeasurement() +--- +title: Pattern.sampleMeasurement() +--- A pattern's `sampleMeasurement()` method will *sample* a given measurement, which means to draft it in different iterations while adjusting the input value of the given measurement. -In practice, it will draft 10 iterations of the pattern +In practice, it will draft 10 iterations of the pattern while adapting the measurement between 90% and 110% of its original value. @@ -34,4 +34,5 @@ import models from "@freesewing/models" const pattern = new Aaron({ measurements: models.manSize38 }) const svg = pattern.sampleMeasurement("chest").render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/samplemodels/en.md b/markdown/dev/reference/api/pattern/samplemodels/en.md index bae190de930..273f6bc3e82 100644 --- a/markdown/dev/reference/api/pattern/samplemodels/en.md +++ b/markdown/dev/reference/api/pattern/samplemodels/en.md @@ -1,6 +1,6 @@ -*** - -## title: Pattern.sampleModels() +--- +title: Pattern.sampleModels() +--- 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, @@ -27,8 +27,7 @@ In other words, for each sample, the anchor point will be kept in the same locat ```js Pattern pattern.sampleModels(object models, string focus) -``` - +``` The models object you pass as the first parameter should be structured as such: ```js @@ -47,12 +46,12 @@ The models object you pass as the first parameter should be structured as such: } ``` -The (optional) string you can pass as the second parameter should hold the +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 could hold `modelName2` for example. -By passing this second parameter, you can put the *focus* on one of the models, -which will influence the render style, and make it +By passing this second parameter, you can put the *focus* on one of the models, +which will influence the render style, and make it easier to see a comparison between a given set of measrurements, and the rest. Alternatively, you can use the `Pattern.sample()` method and set `settings.sample.focus` to the key @@ -67,4 +66,5 @@ import models from "@freesewing/models" const Aaron = new Aaron() const svg = aaron.sampleModels(models, "manSize38").render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/sampleoption/en.md b/markdown/dev/reference/api/pattern/sampleoption/en.md index 0de40357965..959e3f8972d 100644 --- a/markdown/dev/reference/api/pattern/sampleoption/en.md +++ b/markdown/dev/reference/api/pattern/sampleoption/en.md @@ -1,15 +1,15 @@ -*** - -## title: Pattern.sampleOption() +--- +title: Pattern.sampleOption() +--- A pattern's `sampleOption()` method will *sample* a given option, which means to draft it in different iterations while adjusting the input value of the given option. The practical implementation varies based on [the type of option](/config/options/): -* For options that are an object with a **min** and **max** property, 10 steps will be sampled, between min and max -* For options that are a numeric value (**constants**), 10 steps will be sampled between 90% and 110% of the value -* For options with a **list** of options, each option in the list will be sampled + - For options that are an object with a **min** and **max** property, 10 steps will be sampled, between min and max + - For options that are a numeric value (**constants**), 10 steps will be sampled between 90% and 110% of the value + - For options with a **list** of options, each option in the list will be sampled The goal of option sampling is to verify the impact of an option on the pattern, and verify that @@ -33,10 +33,12 @@ In other words, for each sample, the anchor point will be kept in the same locat ```js Pattern pattern.sampleOption(string option) -``` +``` ## Pattern.sampleOption() example + + ```js import Aaron from "@freesewing/aaron" import models from "@freesewing/models" @@ -46,4 +48,5 @@ const pattern = new aaron({ }) const svg = pattern.sampleOption("necklineDrop").render() -``` +``` + diff --git a/markdown/dev/reference/api/pattern/use/en.md b/markdown/dev/reference/api/pattern/use/en.md index 5e7dd15a3f2..4a9e761396a 100644 --- a/markdown/dev/reference/api/pattern/use/en.md +++ b/markdown/dev/reference/api/pattern/use/en.md @@ -1,6 +1,6 @@ -*** - -## title: Pattern.use() +--- +title: Pattern.use() +--- A pattern's `use()` method will load a FreeSewing plugin. Plugins are a way to extend a pattern's functionality, and can be @@ -13,7 +13,7 @@ to run-time plugins. For more details, refer to [the plugin guide](/guides/plugi ```js Pattern pattern.use(object plugin) -``` +``` See [the plugin guide](/guides/plugins/) for details on how to structure you plugin object. @@ -33,4 +33,4 @@ const pattern = new Aaron({ }).use(theme) const svg = pattern.draft().render() -``` +``` diff --git a/markdown/dev/reference/api/point/angle/en.md b/markdown/dev/reference/api/point/angle/en.md index c1c47c8b475..bbb9614bfed 100644 --- a/markdown/dev/reference/api/point/angle/en.md +++ b/markdown/dev/reference/api/point/angle/en.md @@ -1,16 +1,16 @@ -*** - -## title: angle() +--- +title: angle() +--- ```js float point.angle(Point point) -``` +``` Returns the angle made by a line from this point to the point you pass it. ```js @@ -28,3 +28,4 @@ paths.line = new Path() .line(points.moon) .attr("class", "dashed"); ``` + diff --git a/markdown/dev/reference/api/point/attr/en.md b/markdown/dev/reference/api/point/attr/en.md index cad21ac6ee0..bf210c216d1 100644 --- a/markdown/dev/reference/api/point/attr/en.md +++ b/markdown/dev/reference/api/point/attr/en.md @@ -1,6 +1,6 @@ -*** - -## title: attr() +--- +title: attr() +--- ```js Point point.attr( @@ -16,8 +16,8 @@ This allows you to chain different calls together as in the example below. If the third parameter is set to `true` it will call `this.attributes.set()` instead, thereby overwriting the value of the attribute. ```js @@ -27,3 +27,4 @@ points.anchor = new Point(100, 25) .attr("data-text", "freesewingIsMadeByJoostDeCockAndContributors") .attr("data-text-class", "center"); ``` + diff --git a/markdown/dev/reference/api/point/clone/en.md b/markdown/dev/reference/api/point/clone/en.md index 521f69ff8e7..17017ae881d 100644 --- a/markdown/dev/reference/api/point/clone/en.md +++ b/markdown/dev/reference/api/point/clone/en.md @@ -1,8 +1,10 @@ -*** +--- +title: clone() +--- -## title: clone() - - Point point.clone() +``` +Point point.clone() +``` Returns a new point with the same coordinates and attributes as this point. @@ -16,8 +18,8 @@ The `Point.copy()` method will only copy the point's coordinates, whereas this ```js @@ -31,3 +33,4 @@ caption="An example of the Point.clone() method" snippets.x = new Snippet("notch", points.A); ``` + diff --git a/markdown/dev/reference/api/point/copy/en.md b/markdown/dev/reference/api/point/copy/en.md index 34e361f2fab..438bd3863bc 100644 --- a/markdown/dev/reference/api/point/copy/en.md +++ b/markdown/dev/reference/api/point/copy/en.md @@ -1,6 +1,6 @@ -*** - -## title: copy() +--- +title: copy() +--- ```js Point point.copy() @@ -9,8 +9,8 @@ Point point.copy() Returns a new point with the same coordinates as this point. ```js @@ -23,3 +23,4 @@ points.B = points.A.copy().attr("data-text", "Point B"); snippets.x = new Snippet("notch", points.A); ``` + diff --git a/markdown/dev/reference/api/point/dx/en.md b/markdown/dev/reference/api/point/dx/en.md index adb7f4fe97f..b59429d950a 100644 --- a/markdown/dev/reference/api/point/dx/en.md +++ b/markdown/dev/reference/api/point/dx/en.md @@ -1,6 +1,6 @@ -*** - -## title: dx() +--- +title: dx() +--- ```js float point.dx(Point point) @@ -9,8 +9,8 @@ float point.dx(Point point) Returns the delta along the X-axis between this point and the point you pass it. ```js @@ -42,3 +42,4 @@ paths.line_dy = new Path() .line(points.totop) .attr("class", "dashed") ``` + diff --git a/markdown/dev/reference/api/point/dy/en.md b/markdown/dev/reference/api/point/dy/en.md index 938245d6976..b45f01df64c 100644 --- a/markdown/dev/reference/api/point/dy/en.md +++ b/markdown/dev/reference/api/point/dy/en.md @@ -1,6 +1,6 @@ -*** - -## title: dy() +--- +title: dy() +--- ```js float point.dy(Point point) @@ -9,8 +9,8 @@ float point.dy(Point point) Returns the delta along the Y-axis between this point and the point you pass it. ```js diff --git a/markdown/dev/reference/api/point/en.md b/markdown/dev/reference/api/point/en.md index 3b2ab009508..67d44af6806 100644 --- a/markdown/dev/reference/api/point/en.md +++ b/markdown/dev/reference/api/point/en.md @@ -1,21 +1,20 @@ -*** - +--- title: Point order: 25 ---------- +--- A Point object represents a point on a 2D plane with an X and Y axis. Point objects come with the following properties: -* `x` : The X-coordinate of the point -* `y` : The Y-coordinate of the point -* `attributes` : An [Attributes](../attributes) instance holding the point's attributes + - `x` : The X-coordinate of the point + - `y` : The Y-coordinate of the point + - `attributes` : An [Attributes](../attributes) instance holding the point's attributes The point constructor takes two arguments: -* `x` : The X-coordinate of the point -* `y` : The Y-coordinate of the point + - `x` : The X-coordinate of the point + - `y` : The Y-coordinate of the point ```js Point new Point(x, y); diff --git a/markdown/dev/reference/api/point/flipx/en.md b/markdown/dev/reference/api/point/flipx/en.md index c147af87807..cd9a066f9f5 100644 --- a/markdown/dev/reference/api/point/flipx/en.md +++ b/markdown/dev/reference/api/point/flipx/en.md @@ -1,6 +1,6 @@ -*** - -## title: flipX() +--- +title: flipX() +--- ```js Point point.flipX(Point mirror = false) @@ -11,8 +11,8 @@ Returns a new point that mirrors this point around the X-value of the point your If you don't pass it a point, it will mirror around an X-value of zero. ```js @@ -61,3 +61,4 @@ paths.mirror = new Path() .line(points.bottom) .attr("class", "note dashed"); ``` + diff --git a/markdown/dev/reference/api/point/flipy/en.md b/markdown/dev/reference/api/point/flipy/en.md index 9e0fad0cba7..664f5797659 100644 --- a/markdown/dev/reference/api/point/flipy/en.md +++ b/markdown/dev/reference/api/point/flipy/en.md @@ -1,6 +1,6 @@ -*** - -## title: flipY() +--- +title: flipY() +--- ```js Point point.flipY(Point mirror = false) @@ -13,8 +13,8 @@ If you don't pass it a point, it will mirror around a Y-value of zero. ### Point.flipY() example ```js @@ -68,3 +68,4 @@ paths.skylineTop = new Path() .line(points.houseWallRight) .line(points.end); ``` + diff --git a/markdown/dev/reference/api/point/rotate/en.md b/markdown/dev/reference/api/point/rotate/en.md index 027cb859342..5ac44c3b1e8 100644 --- a/markdown/dev/reference/api/point/rotate/en.md +++ b/markdown/dev/reference/api/point/rotate/en.md @@ -1,16 +1,16 @@ -*** - -## title: rotate() +--- +title: rotate() +--- ```js Point point.rotate(float angle, Point center) -``` +``` Rotates a point the number of degrees you pass it around the point you pass it. ```js diff --git a/markdown/dev/reference/api/point/shift/en.md b/markdown/dev/reference/api/point/shift/en.md index dab768515cf..4699eb78f8d 100644 --- a/markdown/dev/reference/api/point/shift/en.md +++ b/markdown/dev/reference/api/point/shift/en.md @@ -1,6 +1,6 @@ -*** - -## title: shift() +--- +title: shift() +--- ```js Point point.shift(float degrees, float distance) @@ -9,8 +9,8 @@ Point point.shift(float degrees, float distance) Returns a point that lies distance in the direction of degrees from this point. ```js diff --git a/markdown/dev/reference/api/point/shiftfractiontowards/en.md b/markdown/dev/reference/api/point/shiftfractiontowards/en.md index c2b9f9282c1..db2d5ab40e5 100644 --- a/markdown/dev/reference/api/point/shiftfractiontowards/en.md +++ b/markdown/dev/reference/api/point/shiftfractiontowards/en.md @@ -1,6 +1,6 @@ -*** - -## title: shiftFractionTowards() +--- +title: shiftFractionTowards() +--- ```js Point point.shiftFractionTowards(Point target, float fraction) @@ -9,8 +9,8 @@ Point point.shiftFractionTowards(Point target, float fraction) Returns a point that is shifted towards the target by a fraction of the distance between this point and the target. ```js diff --git a/markdown/dev/reference/api/point/shiftoutwards/en.md b/markdown/dev/reference/api/point/shiftoutwards/en.md index 765751e750a..51344ce66a2 100644 --- a/markdown/dev/reference/api/point/shiftoutwards/en.md +++ b/markdown/dev/reference/api/point/shiftoutwards/en.md @@ -1,6 +1,6 @@ -*** - -## title: shiftOutwards() +--- +title: shiftOutwards() +--- ```js Point point.shiftOutwards(Point direction, float distance) @@ -9,8 +9,8 @@ Point point.shiftOutwards(Point direction, float distance) Returns a point that is shifted distance beyond target in the direction of target. ```js diff --git a/markdown/dev/reference/api/point/shifttowards/en.md b/markdown/dev/reference/api/point/shifttowards/en.md index d5272ef3486..c87f24082d0 100644 --- a/markdown/dev/reference/api/point/shifttowards/en.md +++ b/markdown/dev/reference/api/point/shifttowards/en.md @@ -1,6 +1,6 @@ -*** - -## title: shiftTowards() +--- +title: shiftTowards() +--- ```js Point point.shiftTowards(Point target, float distance) @@ -9,8 +9,8 @@ Point point.shiftTowards(Point target, float distance) Returns a point that lies distance in the direction of target. ```js diff --git a/markdown/dev/reference/api/point/sitson/en.md b/markdown/dev/reference/api/point/sitson/en.md index e537c8458b0..86330efe5ae 100644 --- a/markdown/dev/reference/api/point/sitson/en.md +++ b/markdown/dev/reference/api/point/sitson/en.md @@ -1,6 +1,6 @@ -*** - -## title: sitsOn() +--- +title: sitsOn() +--- ```js bool point.sitsOn(Point check) @@ -9,8 +9,8 @@ bool point.sitsOn(Point check) Returns true if the point has the same coordinates as the one you pass to it. ```js diff --git a/markdown/dev/reference/api/point/sitsroughlyon/en.md b/markdown/dev/reference/api/point/sitsroughlyon/en.md index 963e2963ca3..780a9f20912 100644 --- a/markdown/dev/reference/api/point/sitsroughlyon/en.md +++ b/markdown/dev/reference/api/point/sitsroughlyon/en.md @@ -1,6 +1,6 @@ -*** - -## title: sitsRoughlyOn() +--- +title: sitsRoughlyOn() +--- ```js bool point.sitsRoughlyOn(Point check) @@ -12,14 +12,14 @@ Returns true is the point has roughly the same coordinates as the one you pass t ###### How rough? -The difference between this method and [Point.sitsOn](/reference/api/point/sitson/) is +The difference between this method and [Point.sitsOn](/reference/api/point/sitson/) is that this one rounds things down to the nearest integer (thus mm) before checking. ```js diff --git a/markdown/dev/reference/api/point/translate/en.md b/markdown/dev/reference/api/point/translate/en.md index a840c926de4..1440bf0b99c 100644 --- a/markdown/dev/reference/api/point/translate/en.md +++ b/markdown/dev/reference/api/point/translate/en.md @@ -1,23 +1,23 @@ -*** - -## title: translate() - +--- +title: translate() +--- + ```js Point point.translate(float deltaX, float deltaY) ``` -Returns a point with -[a translate transform](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate) -applied. +Returns a point with +[a translate transform](https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate) +applied. In other words, this will: -* Add `deltaX` to the point's X-coordinate -* Add `deltaY` to the point's Y-coordinate + - Add `deltaX` to the point's X-coordinate + - Add `deltaY` to the point's Y-coordinate ```js diff --git a/markdown/dev/reference/api/snippet/attr/en.md b/markdown/dev/reference/api/snippet/attr/en.md index 3b5af4a196b..d25b969ffac 100644 --- a/markdown/dev/reference/api/snippet/attr/en.md +++ b/markdown/dev/reference/api/snippet/attr/en.md @@ -1,6 +1,6 @@ -*** - -## title: attr() +--- +title: attr() +--- ```js Snippet snippet.attr( @@ -10,15 +10,15 @@ Snippet snippet.attr( ) ``` -This `Snippet.attr()` method calls [`Attributes.add()`](./attributes#add) under the hood, +This `Snippet.attr()` method calls [`Attributes.add()`](./attributes#add) under the hood, but returns the Snippet object. This allows you to chain different calls together. -If the third parameter is set to `true` it will call [`Attributes.set()`](./attributes#set) instead, +If the third parameter is set to `true` it will call [`Attributes.set()`](./attributes#set) instead, thereby overwriting the value of the attribute. ```js diff --git a/markdown/dev/reference/api/snippet/clone/en.md b/markdown/dev/reference/api/snippet/clone/en.md index 3eef6401f73..e6a761522e0 100644 --- a/markdown/dev/reference/api/snippet/clone/en.md +++ b/markdown/dev/reference/api/snippet/clone/en.md @@ -1,6 +1,6 @@ -*** - -## title: clone() +--- +title: clone() +--- ```js Snippet snippet.clone() @@ -9,8 +9,8 @@ Snippet snippet.clone() Returns a new Snippets object that is a deep copy of this one. ```js diff --git a/markdown/dev/reference/api/snippet/en.md b/markdown/dev/reference/api/snippet/en.md index 64dd085d964..015c711df5c 100644 --- a/markdown/dev/reference/api/snippet/en.md +++ b/markdown/dev/reference/api/snippet/en.md @@ -1,16 +1,15 @@ -*** - +--- title: Snippet order: 35 ---------- +--- A snippet is a reuseable bit of markup for your pattern. They are added to the SVG `defs` section, and rendered with the SVG `use` tag. The snippet constructor takes two arguments: -* `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section -* `anchor` : A [`Point`](#point) on which to anchor the snippet + - `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section + - `anchor` : A [`Point`](#point) on which to anchor the snippet ```js Snippet new Snippet(def, Point); @@ -18,9 +17,9 @@ Snippet new Snippet(def, Point); A Snippet object comes with the following properties: -* `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section -* `anchor` : A [`Point`](../point) on which to anchor the snippet -* `attributes` : An [`Attributes`](../attributes) instance holding the snippet's attributes + - `def` : The `xlink:href` id that links to the relevant entry in the SVG `defs` section + - `anchor` : A [`Point`](../point) on which to anchor the snippet + - `attributes` : An [`Attributes`](../attributes) instance holding the snippet's attributes In addition, a Snippet object exposes the following methods: diff --git a/markdown/dev/reference/api/store/en.md b/markdown/dev/reference/api/store/en.md index 8eac4dc6ca8..320c0b17951 100644 --- a/markdown/dev/reference/api/store/en.md +++ b/markdown/dev/reference/api/store/en.md @@ -1,16 +1,15 @@ -*** - +--- title: "Store" components: true order: 70 ---------- +--- -The **Store** object holds a simple key/value store with -methods for storing and retrieving information.\ +The **Store** object holds a simple key/value store with +methods for storing and retrieving information. A single store per pattern is shared by all pattern parts. A store is typically used to share information between parts. For example -the length of the neck opening in one part can be used to calculate the +the length of the neck opening in one part can be used to calculate the length for the collar in another part. The `Store` object exposes the following methods: diff --git a/markdown/dev/reference/api/store/get/en.md b/markdown/dev/reference/api/store/get/en.md index 3622f60f998..ba913e2e6c3 100644 --- a/markdown/dev/reference/api/store/get/en.md +++ b/markdown/dev/reference/api/store/get/en.md @@ -1,9 +1,10 @@ -*** - -## title: get() +--- +title: get() +--- ```js mixed store.get(string key) ``` Returnes the value stored under `key`. + diff --git a/markdown/dev/reference/api/store/set/en.md b/markdown/dev/reference/api/store/set/en.md index b5edcc5be01..0f48e820175 100644 --- a/markdown/dev/reference/api/store/set/en.md +++ b/markdown/dev/reference/api/store/set/en.md @@ -1,9 +1,10 @@ -*** - -## title: set() +--- +title: set() +--- ```js void store.set(string key, mixed value) ``` Stores the value of `value` in the store under key `key`. + diff --git a/markdown/dev/reference/api/store/setifunset/en.md b/markdown/dev/reference/api/store/setifunset/en.md index 5649a86352c..fc6a5062da4 100644 --- a/markdown/dev/reference/api/store/setifunset/en.md +++ b/markdown/dev/reference/api/store/setifunset/en.md @@ -1,6 +1,6 @@ -*** - -## title: setIfUnset +--- +title: setIfUnset +--- ```js void store.setIfUnset(string key, mixed value) diff --git a/markdown/dev/reference/api/svg/attributes/en.md b/markdown/dev/reference/api/svg/attributes/en.md index c221ab0c2b8..2f03c472f2b 100644 --- a/markdown/dev/reference/api/svg/attributes/en.md +++ b/markdown/dev/reference/api/svg/attributes/en.md @@ -1,5 +1,6 @@ -*** - -## title: attributes +--- +title: attributes +--- An [Attributes](/reference/api/attributes) instance that controls the attributes of the SVG tag. + diff --git a/markdown/dev/reference/api/svg/defs/en.md b/markdown/dev/reference/api/svg/defs/en.md index c36179d612a..fb0244664dd 100644 --- a/markdown/dev/reference/api/svg/defs/en.md +++ b/markdown/dev/reference/api/svg/defs/en.md @@ -1,9 +1,9 @@ -*** +--- +title: defs +--- -## title: defs - -A string that will be rendered -as [the defs section](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs) of +A string that will be rendered +as [the defs section](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs) of the SVG document. The defs attribute is where plugins will add additional snippets. @@ -13,11 +13,9 @@ The defs attribute is where plugins will add additional snippets. /* svg.defs will be inserted */ ``` - ###### Add, but don't overwrite - When adding your own defs, it's important not to overwrite this property, but rather add your own. @@ -26,7 +24,6 @@ In other words, do this: ```js svg.defs += myDefs; ``` - and don't do this: ```js diff --git a/markdown/dev/reference/api/svg/en.md b/markdown/dev/reference/api/svg/en.md index fed7738d78c..625fa7d5104 100644 --- a/markdown/dev/reference/api/svg/en.md +++ b/markdown/dev/reference/api/svg/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Svg components: true order: 80 ---------- +--- The `Svg` object in FreeSewing's core library represents an SVG document. It is not directly exposed, but it is available as the `svg` attribute @@ -15,3 +14,4 @@ want to develop a plugin, or use a custom layout: ## Svg properties + diff --git a/markdown/dev/reference/api/svg/head/en.md b/markdown/dev/reference/api/svg/head/en.md index fcb962a25b4..7c513bba9d0 100644 --- a/markdown/dev/reference/api/svg/head/en.md +++ b/markdown/dev/reference/api/svg/head/en.md @@ -1,6 +1,6 @@ -*** - -## title: head +--- +title: head +--- A string that combines the `style`, `script`, and `defs` sections and an opening tag for an SVG group. @@ -26,9 +26,10 @@ and `defs` sections and an opening tag for an SVG group. ###### This does not include the opening SVG tag -Note that while [Pattern.svg.tail](/reference/api/pattern/svg/tail/) closes the SVG tag, -[Pattern.svg.head](/reference/api/pattern/head/) does not open it. +Note that while [Pattern.svg.tail](/reference/api/pattern/svg/tail/) closes the SVG tag, +[Pattern.svg.head](/reference/api/pattern/head/) does not open it. That's because the `width`, `height` and `viewBox` attributes will depend on the main body of the SVG document. + diff --git a/markdown/dev/reference/api/svg/layout/en.md b/markdown/dev/reference/api/svg/layout/en.md index 256468321d2..44e2a05601a 100644 --- a/markdown/dev/reference/api/svg/layout/en.md +++ b/markdown/dev/reference/api/svg/layout/en.md @@ -1,6 +1,6 @@ -*** - -## title: layout +--- +title: layout +--- An object that holds rendered SVG for all parts, and a list of their transforms. It is structured as follows: @@ -14,3 +14,4 @@ It is structured as follows: // Other parts follow } ``` + diff --git a/markdown/dev/reference/api/svg/pattern/en.md b/markdown/dev/reference/api/svg/pattern/en.md index 5def859d179..f2646aeb436 100644 --- a/markdown/dev/reference/api/svg/pattern/en.md +++ b/markdown/dev/reference/api/svg/pattern/en.md @@ -1,6 +1,6 @@ -*** - -## title: pattern +--- +title: pattern +--- A reference to [the Pattern object](/reference/api/pattern/). diff --git a/markdown/dev/reference/api/svg/prefix/en.md b/markdown/dev/reference/api/svg/prefix/en.md index b2ea48de3b2..c999ff792a0 100644 --- a/markdown/dev/reference/api/svg/prefix/en.md +++ b/markdown/dev/reference/api/svg/prefix/en.md @@ -1,6 +1,6 @@ -*** - -## title: prefix +--- +title: prefix +--- A string that will be rendered before the opening SVG tag. diff --git a/markdown/dev/reference/api/svg/script/en.md b/markdown/dev/reference/api/svg/script/en.md index 99eaad11ca6..98ecfd1188d 100644 --- a/markdown/dev/reference/api/svg/script/en.md +++ b/markdown/dev/reference/api/svg/script/en.md @@ -1,6 +1,6 @@ -*** - -## title: script +--- +title: script +--- A string that will be rendered as the script section of the SVG document. @@ -15,7 +15,6 @@ We don't use this ourselves, but it's there if you need it. ###### Add, but don't overwrite - When adding your own script, it's important not to overwrite this property, but rather add your own. @@ -24,7 +23,6 @@ In other words, do this: ```js svg.script += myScript; ``` - and don't do this: ```js diff --git a/markdown/dev/reference/api/svg/style/en.md b/markdown/dev/reference/api/svg/style/en.md index a672df0c891..086ad25889d 100644 --- a/markdown/dev/reference/api/svg/style/en.md +++ b/markdown/dev/reference/api/svg/style/en.md @@ -1,6 +1,6 @@ -*** - -## title: style +--- +title: style +--- A string that will be rendered as the style section of the SVG document. @@ -15,7 +15,6 @@ The style attribute is where plugins will add additional snippets. ###### Add, but don't overwrite - When adding your own styles, it's important not to overwrite this property, but rather add your own. @@ -24,7 +23,6 @@ In other words, do this: ```js svg.style += myStyles; ``` - and don't do this: ```js diff --git a/markdown/dev/reference/api/svg/tail/en.md b/markdown/dev/reference/api/svg/tail/en.md index 379081ae303..fcb6c570747 100644 --- a/markdown/dev/reference/api/svg/tail/en.md +++ b/markdown/dev/reference/api/svg/tail/en.md @@ -1,11 +1,12 @@ -*** +--- +title: tail +--- -## title: tail - -A string that closes both the group opened by [Pattern.svg.head](/reference/api/pattern/svg/head/) and the SVG tag. +A string that closes both the group opened by [Pattern.svg.head](/reference/api/pattern/svg/head/) and the SVG tag. ```svg ``` + diff --git a/markdown/dev/reference/api/utils/beamintersectscircle/en.md b/markdown/dev/reference/api/utils/beamintersectscircle/en.md index 781676dc3af..9a52b4ca7a0 100644 --- a/markdown/dev/reference/api/utils/beamintersectscircle/en.md +++ b/markdown/dev/reference/api/utils/beamintersectscircle/en.md @@ -1,6 +1,6 @@ -*** - -## title: beamIntersectsCircle() +--- +title: beamIntersectsCircle() +--- ```js array | false utils.beamIntersectsCircle( @@ -16,13 +16,13 @@ Finds the intersection between an endless line through points `point1` and `poin 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. -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: Set sort to: -* `x` : The point with the lowest X-coordinate will go first (left to right) -* `y` : The point with the lowest Y-coordinate will go first (top to bottom) + - `x` : The point with the lowest X-coordinate will go first (left to right) + - `y` : The point with the lowest Y-coordinate will go first (top to bottom) diff --git a/markdown/dev/reference/api/utils/beamintersectsx/en.md b/markdown/dev/reference/api/utils/beamintersectsx/en.md index 58c66bb213b..ebdd472b0e4 100644 --- a/markdown/dev/reference/api/utils/beamintersectsx/en.md +++ b/markdown/dev/reference/api/utils/beamintersectsx/en.md @@ -1,6 +1,6 @@ -*** - -## title: beamIntersectsX() +--- +title: beamIntersectsX() +--- ```js Point | false utils.beamIntersectsX(Point A, Point B, float X) @@ -34,3 +34,4 @@ for the intersection, or `false` there is no intersection. .line(new Point(40, 35)) .attr("class", "note dashed"); ``` + diff --git a/markdown/dev/reference/api/utils/beamintersectsy/en.md b/markdown/dev/reference/api/utils/beamintersectsy/en.md index 569329352ed..f7e36909d83 100644 --- a/markdown/dev/reference/api/utils/beamintersectsy/en.md +++ b/markdown/dev/reference/api/utils/beamintersectsy/en.md @@ -1,6 +1,6 @@ -*** - -## title: beamIntersectsY() +--- +title: beamIntersectsY() +--- ```js Point | false utils.beamIntersectsY(Point A, Point B, float Y) diff --git a/markdown/dev/reference/api/utils/beamsintersect/en.md b/markdown/dev/reference/api/utils/beamsintersect/en.md index e1358cf47e5..062c535a030 100644 --- a/markdown/dev/reference/api/utils/beamsintersect/en.md +++ b/markdown/dev/reference/api/utils/beamsintersect/en.md @@ -1,6 +1,6 @@ -*** - -## title: beamsIntersect() +--- +title: beamsIntersect() +--- ```js Point | false utils.beamsIntersect( diff --git a/markdown/dev/reference/api/utils/circlesintersect/en.md b/markdown/dev/reference/api/utils/circlesintersect/en.md index 7e00e69d7b6..c95c70c67f1 100644 --- a/markdown/dev/reference/api/utils/circlesintersect/en.md +++ b/markdown/dev/reference/api/utils/circlesintersect/en.md @@ -1,6 +1,6 @@ -*** - -## title: circlesIntersect() +--- +title: circlesIntersect() +--- ```js array | false utils.circlesIntersect( @@ -19,8 +19,8 @@ When this returns 2 intersections, you can choose how they are ordered in the re Set sort to: -* `x` : The point with the lowest X-coordinate will go first (left to right) -* `y` : The point with the lowest Y-coordinate will go first (top to bottom) + - `x` : The point with the lowest X-coordinate will go first (left to right) + - `y` : The point with the lowest Y-coordinate will go first (top to bottom) @@ -59,3 +59,4 @@ snippets.second1 = new Snippet("notch", intersections1[1]); snippets.first2 = new Snippet("bnotch", intersections2[0]); snippets.second2 = new Snippet("notch", intersections2[1]); ``` + diff --git a/markdown/dev/reference/api/utils/curveintersectsx/en.md b/markdown/dev/reference/api/utils/curveintersectsx/en.md index 8b2361e3165..47f0d7b1f88 100644 --- a/markdown/dev/reference/api/utils/curveintersectsx/en.md +++ b/markdown/dev/reference/api/utils/curveintersectsx/en.md @@ -1,6 +1,6 @@ -*** - -## title: curveIntersectsX() +--- +title: curveIntersectsX() +--- ```js array | Point | false utils.curveIntersectsX( @@ -13,15 +13,15 @@ array | Point | false utils.curveIntersectsX( Finds the point(s) where a curve intersects a given X-value. -This is a low-level variant +This is a low-level variant of [`Path.intersectsX()`](/en/docs/developer/api/path/#pathintersectsx). Instead of a path, you describe a single curve by passing the four points that describes it. -This returns `false` if no intersections are found, -a [Point](/en/docs/developer/api/point/) object if -a single intersection is found, and an array -of [Point](/en/docs/developer/api/point/) objects if +This returns `false` if no intersections are found, +a [Point](/en/docs/developer/api/point/) object if +a single intersection is found, and an array +of [Point](/en/docs/developer/api/point/) objects if multiple intersections are found. @@ -69,3 +69,4 @@ for (let p of utils.curveIntersectsX( )) snippets[p.y] = new Snippet("notch", p); ``` + diff --git a/markdown/dev/reference/api/utils/curveintersectsy/en.md b/markdown/dev/reference/api/utils/curveintersectsy/en.md index b9c3c08b843..772a2f668c1 100644 --- a/markdown/dev/reference/api/utils/curveintersectsy/en.md +++ b/markdown/dev/reference/api/utils/curveintersectsy/en.md @@ -1,6 +1,6 @@ -*** - -## title: curveIntersectsY() +--- +title: curveIntersectsY() +--- ```js array | Point | false utils.curveIntersectsY( @@ -13,15 +13,15 @@ array | Point | false utils.curveIntersectsY( Finds the point(s) where a curve intersects a given Y-value. -This is a low-level variant +This is a low-level variant of [`Path.intersectsY()`](/en/docs/developer/api/path/#pathintersectsy). Instead of a path, you describe a single curve by passing the four points that describes it. -This returns `false` if no intersections are found, -a [Point](/en/docs/developer/api/point/) object if -a single intersection is found, and an array -of [Point](/en/docs/developer/api/point/) objects if +This returns `false` if no intersections are found, +a [Point](/en/docs/developer/api/point/) object if +a single intersection is found, and an array +of [Point](/en/docs/developer/api/point/) objects if multiple intersections are found. @@ -69,3 +69,4 @@ for (let p of utils.curveIntersectsY( )) snippets[p.x] = new Snippet("notch", p); ``` + diff --git a/markdown/dev/reference/api/utils/curvesintersect/en.md b/markdown/dev/reference/api/utils/curvesintersect/en.md index f85c952b3e8..ff17cf7706b 100644 --- a/markdown/dev/reference/api/utils/curvesintersect/en.md +++ b/markdown/dev/reference/api/utils/curvesintersect/en.md @@ -1,6 +1,6 @@ -*** - -## title: curvesIntersect() +--- +title: curvesIntersect() +--- ```js array | false utils.curvesIntersect( @@ -58,3 +58,4 @@ for (let p of utils.curvesIntersect( snippets[part.getId()] = new Snippet("notch", p); } ``` + diff --git a/markdown/dev/reference/api/utils/deg2rad/en.md b/markdown/dev/reference/api/utils/deg2rad/en.md index 8cf07c1fd5e..aa137e76d6b 100644 --- a/markdown/dev/reference/api/utils/deg2rad/en.md +++ b/markdown/dev/reference/api/utils/deg2rad/en.md @@ -1,6 +1,6 @@ -*** - -## title: deg2rad() +--- +title: deg2rad() +--- ```js float deg2rad(float degrees) @@ -10,3 +10,4 @@ Returns the degrees you pass to it as radians. This is useful for when you use methods like `Math.cos()` that expects a corner in radians, when we typically use degrees. + diff --git a/markdown/dev/reference/api/utils/en.md b/markdown/dev/reference/api/utils/en.md index ca4356e18fa..c6be005d216 100644 --- a/markdown/dev/reference/api/utils/en.md +++ b/markdown/dev/reference/api/utils/en.md @@ -1,8 +1,7 @@ -*** - +--- title: Utils order: 95 ---------- +--- The `Utils` object provides the following utility methods to facilitate your work: diff --git a/markdown/dev/reference/api/utils/lineintersectscircle/en.md b/markdown/dev/reference/api/utils/lineintersectscircle/en.md index c7d84466e0d..70b7b64ffda 100644 --- a/markdown/dev/reference/api/utils/lineintersectscircle/en.md +++ b/markdown/dev/reference/api/utils/lineintersectscircle/en.md @@ -1,6 +1,6 @@ -*** - -## title: lineIntersectsCircle() +--- +title: lineIntersectsCircle() +--- ```js array | false utils.lineIntersectsCircle( @@ -20,8 +20,8 @@ When this returns 2 intersections, you can choose how they are ordered in the re Set sort to: -* `x` : The point with the lowest X-coordinate will go first (left to right) -* `y` : The point with the lowest Y-coordinate will go first (top to bottom) + - `x` : The point with the lowest X-coordinate will go first (left to right) + - `y` : The point with the lowest Y-coordinate will go first (top to bottom) @@ -76,3 +76,4 @@ snippets.second2 = new Snippet("notch", intersections2[1]); snippets.first3 = new Snippet("bnotch", intersections3[0]); snippets.second3 = new Snippet("notch", intersections3[1]); ``` + diff --git a/markdown/dev/reference/api/utils/lineintersectscurve/en.md b/markdown/dev/reference/api/utils/lineintersectscurve/en.md index 2292e60de69..383e212b0ec 100644 --- a/markdown/dev/reference/api/utils/lineintersectscurve/en.md +++ b/markdown/dev/reference/api/utils/lineintersectscurve/en.md @@ -1,6 +1,6 @@ -*** - -## title: lineIntersectsCurve() +--- +title: lineIntersectsCurve() +--- ```js array | false utils.lineIntersectsCurve( @@ -14,7 +14,7 @@ array | false utils.lineIntersectsCurve( ``` Finds the intersection between a line segment from point `from` to point `to` -and a curve described by points `start`, `cp1`, `cp2, and `end\`. +and a curve described by points `start`, `cp1`, `cp2, and `end`. @@ -51,3 +51,4 @@ for (let p of utils.lineIntersectsCurve( snippets[part.getId()] = new Snippet("notch", p); } ``` + diff --git a/markdown/dev/reference/api/utils/linesintersect/en.md b/markdown/dev/reference/api/utils/linesintersect/en.md index 008e73bbf9c..314ad94b68a 100644 --- a/markdown/dev/reference/api/utils/linesintersect/en.md +++ b/markdown/dev/reference/api/utils/linesintersect/en.md @@ -1,6 +1,6 @@ -*** - -## title: linesIntersect() +--- +title: linesIntersect() +--- ```js Point | false utils.linesIntersect( @@ -40,3 +40,5 @@ snippets.X = new Snippet( utils.linesIntersect(points.A, points.B, points.C, points.D) ); ``` + + diff --git a/markdown/dev/reference/api/utils/pointonbeam/en.md b/markdown/dev/reference/api/utils/pointonbeam/en.md index 47378307f0e..9569a2a9838 100644 --- a/markdown/dev/reference/api/utils/pointonbeam/en.md +++ b/markdown/dev/reference/api/utils/pointonbeam/en.md @@ -1,6 +1,6 @@ -*** - -## title: pointOnBeam() +--- +title: pointOnBeam() +--- ```js bool utils.pointOnBeam( @@ -18,8 +18,8 @@ The fourth parameter controls the precision. Lower numbers make the check less p ###### Tweak precision only when needed -Typically, you don't need to worry about precision. But occasionally, you may get -unexpected results because of floating point errors, rounding errors, or +Typically, you don't need to worry about precision. But occasionally, you may get +unexpected results because of floating point errors, rounding errors, or cubic bezier juggling. When that happens, you can lower the precision so you get what you expect. @@ -79,3 +79,4 @@ paths.lne2 = new Path() .line(points.b2) .attr("class", "fabric dashed"); ``` + diff --git a/markdown/dev/reference/api/utils/pointoncurve/en.md b/markdown/dev/reference/api/utils/pointoncurve/en.md index 8153ecd365e..a663885dbac 100644 --- a/markdown/dev/reference/api/utils/pointoncurve/en.md +++ b/markdown/dev/reference/api/utils/pointoncurve/en.md @@ -1,6 +1,6 @@ -*** - -## title: pointOnCurve() +--- +title: pointOnCurve() +--- ```js bool utils.pointOnCurve( @@ -64,3 +64,4 @@ paths.curve = new Path() .curve(points.cp1, points.cp2, points.end) .attr("class", "fabric stroke-lg"); ``` + diff --git a/markdown/dev/reference/api/utils/pointonline/en.md b/markdown/dev/reference/api/utils/pointonline/en.md index 817ff62188b..468090b6175 100644 --- a/markdown/dev/reference/api/utils/pointonline/en.md +++ b/markdown/dev/reference/api/utils/pointonline/en.md @@ -1,6 +1,6 @@ -*** - -## title: pointOnLine() +--- +title: pointOnLine() +--- ```js bool utils.pointOnLine( diff --git a/markdown/dev/reference/api/utils/rad2deg/en.md b/markdown/dev/reference/api/utils/rad2deg/en.md index 36b3da2700b..835de2a3100 100644 --- a/markdown/dev/reference/api/utils/rad2deg/en.md +++ b/markdown/dev/reference/api/utils/rad2deg/en.md @@ -1,9 +1,10 @@ -*** - -## title: rad2deg() +--- +title: rad2deg() +--- ```js float rad2deg(float radians) ``` Returns the radians you pass to it as degrees. + diff --git a/markdown/dev/reference/api/utils/round/en.md b/markdown/dev/reference/api/utils/round/en.md index 4ff1c5a7f21..f34029cfcaa 100644 --- a/markdown/dev/reference/api/utils/round/en.md +++ b/markdown/dev/reference/api/utils/round/en.md @@ -1,6 +1,6 @@ -*** - -## title: round() +--- +title: round() +--- ```js float utils.round(float value) @@ -8,5 +8,6 @@ float utils.round(float value) Rounds a value to two decimals. For example: -* 0.1234 becomes 0.12 -* 5.6789 becomes 5.68 + - 0.1234 becomes 0.12 + - 5.6789 becomes 5.68 + diff --git a/markdown/dev/reference/api/utils/stretchtoscale/en.md b/markdown/dev/reference/api/utils/stretchtoscale/en.md index 10baf27796a..6f2091ed4d1 100644 --- a/markdown/dev/reference/api/utils/stretchtoscale/en.md +++ b/markdown/dev/reference/api/utils/stretchtoscale/en.md @@ -1,6 +1,6 @@ -*** - -## title: stretchToScale() +--- +title: stretchToScale() +--- ```js float utils.stretchToScale(float stretch) diff --git a/markdown/dev/reference/api/utils/units/en.md b/markdown/dev/reference/api/utils/units/en.md index ae523c47c86..f5f8112054e 100644 --- a/markdown/dev/reference/api/utils/units/en.md +++ b/markdown/dev/reference/api/utils/units/en.md @@ -1,6 +1,6 @@ -*** - -## title: units() +--- +title: units() +--- ```js string utils.units(float value, string format = 'metric') @@ -16,3 +16,5 @@ The [Part.shorthand](/reference/api/part/shorthand/) call provides a context-awa `unit()` method that will call this method and pass it the units requested by the user. + + diff --git a/markdown/dev/reference/backend/account/en.md b/markdown/dev/reference/backend/account/en.md index 8ce35a5f9ab..55797e235d9 100644 --- a/markdown/dev/reference/backend/account/en.md +++ b/markdown/dev/reference/backend/account/en.md @@ -1,104 +1,110 @@ -*** - -## title: Account +--- +title: Account +--- ## Load account - - GET /account - +``` +GET /account +``` On success: The account data On failure: - - 400 +``` +400 +``` ## Update account - - PUT /account - { - 'bio': 'The new bio', - 'avatar': 'data:image/png;base64,iVBORw0KGg...' - 'password': 'new password', - 'username': 'new username', - 'email': 'new.email@domain.com', - 'social': { - 'github': 'githubUsername', - 'twitter': 'twitterUsername', - 'isntagram': 'instagramUsername' - }, - 'settings': { - 'language': 'fr', - 'units': 'imperial', - }, - 'consent': { - 'profile': true, - 'model': false, - 'openData': false - }, - +``` +PUT /account +{ + 'bio': 'The new bio', + 'avatar': 'data:image/png;base64,iVBORw0KGg...' + 'password': 'new password', + 'username': 'new username', + 'email': 'new.email@domain.com', + 'social': { + 'github': 'githubUsername', + 'twitter': 'twitterUsername', + 'isntagram': 'instagramUsername' + }, + 'settings': { + 'language': 'fr', + 'units': 'imperial', + }, + 'consent': { + 'profile': true, + 'model': false, + 'openData': false + }, +``` On success: The (updated) account data On failure: - - 400 - -* This will only update what you pass it -* This will only handle one top-level attribute per call -* A change of email won't take effect immediately but instead trigger an email for confirmation. The email will be sent to the new email address, with the current email address in CC. +``` +400 +``` + - This will only update what you pass it + - This will only handle one top-level attribute per call + - A change of email won't take effect immediately but instead trigger an email for confirmation. The email will be sent to the new email address, with the current email address in CC. ## Remove account - - DELETE /account - +``` +DELETE /account +``` On success: - - 204 - +``` +204 +``` On failure: - - 400 +``` +400 +``` Removes the account and all user's data. Will also trigger a goodbye email. ## Confirm email change - - POST /account/change/email - { - 'id': '98e132041ad3f369443f1d3d' - } - +``` +POST /account/change/email +{ + 'id': '98e132041ad3f369443f1d3d' +} +``` On success: The account data On failure: - - 400 +``` +400 +``` Changing your email address requires confirmation, and this endpoint is for that. ## Export account - - GET /account/export - -On success: - - 200 - { - 'export': 'https://static.freesewing.org/tmp/msypflkyyw/export.zip' - } - +``` +GET /account/export +``` +On success: +``` +200 +{ + 'export': 'https://static.freesewing.org/tmp/msypflkyyw/export.zip' +} +``` On failure: +``` +400 +``` - 400 - -Will export the user data and publish it for download. +Will export the user data and publish it for download. ## Restrict account - - GET /account/restrict - +``` +GET /account/restrict +``` On success: - - 200 - +``` +200 +``` On failure: - - 400 +``` +400 +``` Will lock the user account, thereby restricting processing of their data. + diff --git a/markdown/dev/reference/backend/en.md b/markdown/dev/reference/backend/en.md index 03da71485fa..a1ce0740d3a 100644 --- a/markdown/dev/reference/backend/en.md +++ b/markdown/dev/reference/backend/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Backend API for: developers about: Documentation for our backend REST API ---------------------------------------------- +--- This documentation is outdated @@ -14,7 +13,6 @@ See also: [The backend documentation](/reference/repos/backend/) ## API Cheat sheet - With authentication: |🔐| Method | Endpoint | Description | @@ -50,4 +48,5 @@ Without authentication: |🔓|`POST`|`/oauth/login`| [Oauth login](/reference/backend/oauth/#oauth-login) | |🔓|`GET`|`/patrons`| [Patron list](/reference/backend/users/#patron-list) | + diff --git a/markdown/dev/reference/backend/login/en.md b/markdown/dev/reference/backend/login/en.md index a981cc35c69..0e1d342fca2 100644 --- a/markdown/dev/reference/backend/login/en.md +++ b/markdown/dev/reference/backend/login/en.md @@ -1,53 +1,55 @@ -*** - -## title: Log in +--- +title: Log in +--- ## Log in - - POST /login - { - 'username': 'user-csfwg', - 'password': `test` - } - +``` +POST /login +{ + 'username': 'user-csfwg', + 'password': `test` +} +``` On success: The account data On failure: - - 400 - -* Returns the same as the create account endpoint -* Both username or email address can be uses as `username` +``` +400 +``` + - Returns the same as the create account endpoint + - Both username or email address can be uses as `username` ## Reset password - - POST /reset/password - { - 'username': 'test@freesewing.org' - } - +``` +POST /reset/password +{ + 'username': 'test@freesewing.org' +} +``` On success: - - 200 - +``` +200 +``` On failure: +``` +400 +``` - 400 - -* Will send an email to the user with a link for a passwordless login. + - Will send an email to the user with a link for a passwordless login. ## Passwordless login - - POST /confirm/login - { - 'id': '5d5132041ad3f369443f1d7b' - } - +``` +POST /confirm/login +{ + 'id': '5d5132041ad3f369443f1d7b' +} +``` On success: The account data On failure: - - 400 - -* Returns the same as the create account endpoint -* ID is the one sent out in the confirmation email +``` +400 +``` + - Returns the same as the create account endpoint + - ID is the one sent out in the confirmation email This will log the user in. + diff --git a/markdown/dev/reference/backend/models/en.md b/markdown/dev/reference/backend/models/en.md index 0713bb84ab9..13c353348da 100644 --- a/markdown/dev/reference/backend/models/en.md +++ b/markdown/dev/reference/backend/models/en.md @@ -1,75 +1,83 @@ -*** - -## title: Models +--- +title: Models +--- ## Create model - POST /models - { - 'name': 'The model name', - 'breasts': false, - 'units': 'imperial' - } - +``` +POST /models +{ + 'name': 'The model name', + 'breasts': false, + 'units': 'imperial' +} +``` On success: - - 200 - { - 'model': { - 'breasts': false, - 'units': 'imperial', - 'handle': 'dnkve', - 'user': 'ohium', - 'name': The model name', - 'createdAt': '2019-08-12T12:06:41.086Z', - 'updatedAt': '2019-08-12T12:06:41.086Z', - 'pictureUris': { - 'l': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', - 'm': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', - 's': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', - 'xs': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg' - } - } +``` +200 +{ + 'model': { + 'breasts': false, + 'units': 'imperial', + 'handle': 'dnkve', + 'user': 'ohium', + 'name': The model name', + 'createdAt': '2019-08-12T12:06:41.086Z', + 'updatedAt': '2019-08-12T12:06:41.086Z', + 'pictureUris': { + 'l': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', + 'm': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', + 's': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg', + 'xs': 'https://static.she.freesewing.org/users/o/ohium/models/dnkve/dnkve.svg' } - + } +} +``` On failure: - - 400 +``` +400 +``` Creates a model and returns its data. ## Read model - - GET /models/:handle - +``` +GET /models/:handle +``` On success: The model data On failure: - - 400 +``` +400 +``` Loads a model's data ## Update model - PUT /models/:handle - { - 'measurements': { - 'ankleCircumference': 234 - } - } +``` +PUT /models/:handle +{ + 'measurements': { + 'ankleCircumference': 234 + } +} +``` Updates the model and returns the (updated) model data. ## Remove model - DELETE /models/:handle - +``` +DELETE /models/:handle +``` On success: - - 200 - +``` +200 +``` On failure: - - 400 +``` +400 +``` Removes the model + diff --git a/markdown/dev/reference/backend/oauth/en.md b/markdown/dev/reference/backend/oauth/en.md index 0a2a4087038..f178cee3617 100644 --- a/markdown/dev/reference/backend/oauth/en.md +++ b/markdown/dev/reference/backend/oauth/en.md @@ -1,52 +1,54 @@ -*** - -## title: Oauth +--- +title: Oauth +--- ## Oauth initialisation - - POST /oauth/init - { - 'provider': 'github', - 'language': 'fr' - } - +``` +POST /oauth/init +{ + 'provider': 'github', + 'language': 'fr' +} +``` On success: - - 200 - { - 'state': '5d5132041ad3f369443f1d7b' - } - +``` +200 +{ + 'state': '5d5132041ad3f369443f1d7b' +} +``` On failure: - - 400 - -* This triggers an Oauth flow -* `provider` should be one of `google` or `github` -* `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32) -* The frontend will use the state value to initialize an Oauth session. We'll check the state value when we receive the Oauth callback at the backend +``` +400 +``` + - This triggers an Oauth flow + - `provider` should be one of `google` or `github` + - `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32) + - The frontend will use the state value to initialize an Oauth session. We'll check the state value when we receive the Oauth callback at the backend ## Oauth callback - - GET /oauth/callback/from/:provider - +``` +GET /oauth/callback/from/:provider +``` On success: Redirects to the frontend -This is part of the Oauth flow. It fetches the user info from the Oauth provider. If it can't match it with a user, it will create a user account.\ +This is part of the Oauth flow. It fetches the user info from the Oauth provider. If it can't match it with a user, it will create a user account. In other words, this will handle both log in and sign up. The frontend redirect will contain a confirmation ID in the URL that we'll `POST` back in the next Oauth flow step. ## Oauth login - - POST /oauth/login - { - 'confirmation': '98e132041ad3f369443f1d3d' - } - +``` +POST /oauth/login +{ + 'confirmation': '98e132041ad3f369443f1d3d' +} +``` On success: The account data On failure: - - 400 +``` +400 +``` This is the last step of the Oauth process. It logs a user in. + diff --git a/markdown/dev/reference/backend/recipes/en.md b/markdown/dev/reference/backend/recipes/en.md index 595d9165994..ef6829168aa 100644 --- a/markdown/dev/reference/backend/recipes/en.md +++ b/markdown/dev/reference/backend/recipes/en.md @@ -1,78 +1,85 @@ -*** - -## title: Recipes +--- +title: Recipes +--- ## Create Recipe - POST /recipes - { - 'name': 'The recipe name', - 'notes': 'Some notes', - 'recipe': { - 'settings': { - 'sa': 10, - 'complete': true, - 'paperless': false, - 'units': 'metric', - 'measurements': { - 'bicepsCircumference': 335, - 'centerBackNeckToWaist': 520, - 'chestCircumference': 1080, - '"naturalWaistToHip': 145, - 'neckCircumference': 420, - 'shoulderSlope': 55, - 'shoulderToShoulder': 465, - 'hipsCircumference': 990 - } - }, - 'pattern': 'aaron', - 'model': 'dvqye' +``` +POST /recipes +{ + 'name': 'The recipe name', + 'notes': 'Some notes', + 'recipe': { + 'settings': { + 'sa': 10, + 'complete': true, + 'paperless': false, + 'units': 'metric', + 'measurements': { + 'bicepsCircumference': 335, + 'centerBackNeckToWaist': 520, + 'chestCircumference': 1080, + '"naturalWaistToHip': 145, + 'neckCircumference': 420, + 'shoulderSlope': 55, + 'shoulderToShoulder': 465, + 'hipsCircumference': 990 } - } - + }, + 'pattern': 'aaron', + 'model': 'dvqye' + } +} +``` On success: - - 200 - { - 'handle': 'abxda' - } - +``` +200 +{ + 'handle': 'abxda' +} +``` On failure: - - 400 +``` +400 +``` Creates a recipe and returns its data. ## Read recipe - - GET /recipes/:handle - +``` +GET /recipes/:handle +``` On success: The recipe data On failure: - - 400 +``` +400 +``` Loads a recipe's data ## Update recipe - PUT /recipes/:handle - { - 'notes': "5 stars, would make again" - } +``` +PUT /recipes/:handle +{ + 'notes': "5 stars, would make again" +} +``` Updates the recipe and returns the (updated) recipe data. ## Remove recipe - DELETE /recipes/:handle - +``` +DELETE /recipes/:handle +``` On success: - - 200 - +``` +200 +``` On failure: - - 400 +``` +400 +``` Removes the recipe diff --git a/markdown/dev/reference/backend/signup/en.md b/markdown/dev/reference/backend/signup/en.md index a718b1ac5b4..4cf9cd50152 100644 --- a/markdown/dev/reference/backend/signup/en.md +++ b/markdown/dev/reference/backend/signup/en.md @@ -1,90 +1,91 @@ -*** - -## title: Sign up +--- +title: Sign up +--- ## Request account - - POST /signup - { - email: 'test@freesewing.org', - password: 'test', - language: 'en' - } - -On success: - - 200 - +``` +POST /signup +{ + email: 'test@freesewing.org', + password: 'test', + language: 'en' +} +``` +On success: +``` +200 +``` On error: +``` +400 +``` - 400 - -* This is the first half in the user sign up flow. -* `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32) -* This will create (but not activate) a user account -* This will send out an email to the user to confirm their email address + - This is the first half in the user sign up flow. + - `language` should be one of the [configured language codes](https://github.com/freesewing/backend/blob/develop/src/config/index.js#L32) + - This will create (but not activate) a user account + - This will send out an email to the user to confirm their email address ## Create account - - POST /account - { - id: '5d5132041ad3f369443f1d7b' - consent: { - profile: true, - model: true, - openData: true - } - } - +``` +POST /account +{ + id: '5d5132041ad3f369443f1d7b' + consent: { + profile: true, + model: true, + openData: true + } +} +``` On success: The account data: - - 200 - { - 'account': { - 'settings': { - 'language': 'en', - 'units': 'metric' - }, - 'consent': { - 'profile': true, - 'model': true, - 'openData': true, - }, - 'time': { - 'login': '2019-08-12T09:41:15.823Z' - }, - 'role': 'user', - 'patron': 0, - 'bio': '', - 'picture': 'csfwg.svg', - 'status': 'active', - 'handle': 'csfwg', - 'username': 'user-csfwg', - 'email': 'test@freesewing.org', - 'pictureUris': { - 'l': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', - 'm': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', - 's': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', - 'xs': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg' - } - }, - 'models': {}, - 'recipes': {}, - 'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZDUxMzQzYjFhZDNmMzY5NDQzZjFkOTYiLCJoYW5kbGUiOiJjc2Z3ZyIsImF1ZCI6ImZyZWVzZXdpbmcub3JnIiwiaXNzIjoiZnJlZXNld2luZy5vcmciLCJpYXQiOjE1NjU2MDI4NzV9.-u4qgiH5sEcwhSBvQ9AOxjqsJO3-Phm9t7VbPaPS7vs' - } - +``` +200 +{ + 'account': { + 'settings': { + 'language': 'en', + 'units': 'metric' + }, + 'consent': { + 'profile': true, + 'model': true, + 'openData': true, + }, + 'time': { + 'login': '2019-08-12T09:41:15.823Z' + }, + 'role': 'user', + 'patron': 0, + 'bio': '', + 'picture': 'csfwg.svg', + 'status': 'active', + 'handle': 'csfwg', + 'username': 'user-csfwg', + 'email': 'test@freesewing.org', + 'pictureUris': { + 'l': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', + 'm': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', + 's': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg', + 'xs': 'https://static.freesewing.org/users/c/csfwg/csfwg.svg' + } + }, + 'models': {}, + 'recipes': {}, + 'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZDUxMzQzYjFhZDNmMzY5NDQzZjFkOTYiLCJoYW5kbGUiOiJjc2Z3ZyIsImF1ZCI6ImZyZWVzZXdpbmcub3JnIiwiaXNzIjoiZnJlZXNld2luZy5vcmciLCJpYXQiOjE1NjU2MDI4NzV9.-u4qgiH5sEcwhSBvQ9AOxjqsJO3-Phm9t7VbPaPS7vs' +} +``` On failure: - - 400 +``` +400 +``` This is the second half of the sign up flow. The email sent to the user in the first half of the sign up flow contains a link to the (frontend) confirmation page. This will get the confirmation ID from the URL and `POST` it to the backend, along with the user's choices regarding consent for processing their personal data. The `consent` object has the following properties: - -* `bool profile` : Consent for the processing of profile data -* `bool model` : Consent for the processing of model data -* `bool openData` : Whether or not the user allows publishing of measurements as open data + - `bool profile` : Consent for the processing of profile data + - `bool model` : Consent for the processing of model data + - `bool openData` : Whether or not the user allows publishing of measurements as open data For more details on user consent, please consult [FreeSewing's privacy notice](https://en.freesewing.org/docs/about/privacy). diff --git a/markdown/dev/reference/backend/users/en.md b/markdown/dev/reference/backend/users/en.md index 303cf7f5bf3..d3dc313b7e3 100644 --- a/markdown/dev/reference/backend/users/en.md +++ b/markdown/dev/reference/backend/users/en.md @@ -1,84 +1,90 @@ -*** - -## title: Users +--- +title: Users +--- ## Read user profile - - GET /users/:username - +``` +GET /users/:username +``` On success: - - 200 - { - 'settings': { - 'language': 'en', - 'units': 'metric' - }, - 'patron': 0, - 'bio': '', - 'handle': 'rracx', - 'username': 'admin', - 'createdAt': '2019-08-12T07:40:32.435Z', - 'updatedAt': '2019-08-12T09:23:48.930Z', - 'pictureUris': { - 'l': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', - 'm': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', - 's': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', - 'xs': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg' - } - } +``` +200 +{ + 'settings': { + 'language': 'en', + 'units': 'metric' + }, + 'patron': 0, + 'bio': '', + 'handle': 'rracx', + 'username': 'admin', + 'createdAt': '2019-08-12T07:40:32.435Z', + 'updatedAt': '2019-08-12T09:23:48.930Z', + 'pictureUris': { + 'l': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', + 'm': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', + 's': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg', + 'xs': 'https://static.she.freesewing.org/users/r/rracx/rracx.svg' + } +} +``` Load the profile data of a user. It expects one parameter in the URL of the `GET` request: -| Variable | Description |\ -|------------|-------------|\ +| Variable | Description | +|------------|-------------| | `username` | The username of the user to load the profile data for | ## Is username availbable - - POST /available/username - { - username: 'username to check' - } - + +``` +POST /available/username +{ + username: 'username to check' +} +``` Username available: - - 200 - +``` +200 +``` Username not available: - - 400 +``` +400 +``` ## Patron list - GET /patrons - +``` +GET /patrons +``` On success: - - 200 +``` +200 +{ + '2': [ + ], + '4': [], + '8': [ { - '2': [ - ], - '4': [], - '8': [ - { - 'handle': 'joost', - 'username': 'joost', - 'bio':"If something doesn't work around here, that's probably my fault", - 'social': { - 'twitter': 'j__st', - 'instagram': 'joostdecock', - 'github': 'joostdecock' - }, - 'pictureUris': { - 'l': 'https://static.freesewing.org/users/j/joost/joost.jpg', - 'm': 'https://static.freesewing.org/users/j/joost/m-joost.jpg', - 's': 'https://static.freesewing.org/users/j/joost/s-joost.jpg', - 'xs': 'https://static.freesewing.org/users/j/joost/xs-joost.jpg' - } - } - ] + 'handle': 'joost', + 'username': 'joost', + 'bio':"If something doesn't work around here, that's probably my fault", + 'social': { + 'twitter': 'j__st', + 'instagram': 'joostdecock', + 'github': 'joostdecock' + }, + 'pictureUris': { + 'l': 'https://static.freesewing.org/users/j/joost/joost.jpg', + 'm': 'https://static.freesewing.org/users/j/joost/m-joost.jpg', + 's': 'https://static.freesewing.org/users/j/joost/s-joost.jpg', + 'xs': 'https://static.freesewing.org/users/j/joost/xs-joost.jpg' + } } + ] +} +``` + +- Retrieves the list of [FreeSewing patrons](https://freesewing.org/patrons). +- Returns an array per tier -* Retrieves the list of [FreeSewing patrons](https://freesewing.org/patrons). -* Returns an array per tier diff --git a/markdown/dev/reference/config/dependencies/en.md b/markdown/dev/reference/config/dependencies/en.md index d0970a89e51..923b3dbe458 100644 --- a/markdown/dev/reference/config/dependencies/en.md +++ b/markdown/dev/reference/config/dependencies/en.md @@ -1,6 +1,6 @@ -*** - -## title: dependencies +--- +title: dependencies +--- ```js dependencies: { @@ -16,3 +16,4 @@ An object of `key`-`value` pairs that controls the order in which pattern parts See [Part dependencies](/advanced/dependencies) for more in-depth information on dependencies. + diff --git a/markdown/dev/reference/config/en.md b/markdown/dev/reference/config/en.md index 3c1a8e773c8..d779f818229 100644 --- a/markdown/dev/reference/config/en.md +++ b/markdown/dev/reference/config/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Pattern configuration file for: developers about: Reference documentation for the pattern configuration file ------------------------------------------------------------------ +--- ```js import { version } from '../package.json' @@ -26,3 +25,4 @@ This is about the pattern configuration file, used at build-time. For run-time configuration, see [Pattern settings](/reference/settings/). + diff --git a/markdown/dev/reference/config/hide/en.md b/markdown/dev/reference/config/hide/en.md index 2faf0297a8c..dcf8d35577d 100644 --- a/markdown/dev/reference/config/hide/en.md +++ b/markdown/dev/reference/config/hide/en.md @@ -1,6 +1,6 @@ -*** - -## title: hide +--- +title: hide +--- ```js hide: [ @@ -12,3 +12,4 @@ An array that lists pattern parts that should be hidden by default. Hidden means that they will be drafted, but not rendered. Typically used for a base part on which other parts are built. + diff --git a/markdown/dev/reference/config/inject/en.md b/markdown/dev/reference/config/inject/en.md index 3857b8fc6f9..52e784ec0d6 100644 --- a/markdown/dev/reference/config/inject/en.md +++ b/markdown/dev/reference/config/inject/en.md @@ -1,6 +1,6 @@ -*** - -## title: inject +--- +title: inject +--- ```js inject: { diff --git a/markdown/dev/reference/config/measurements/en.md b/markdown/dev/reference/config/measurements/en.md index 7278ef2d0ae..029c283d077 100644 --- a/markdown/dev/reference/config/measurements/en.md +++ b/markdown/dev/reference/config/measurements/en.md @@ -1,6 +1,6 @@ -*** - -## title: measurements +--- +title: measurements +--- ```js measurements: [ @@ -9,13 +9,13 @@ measurements: [ ] ``` -An array with the names of the measurements required to draft this pattern. +An array with the names of the measurements required to draft this pattern. ###### Don't just make up names -See [freesewing models](https://freesewing.dev/reference/packages/models) +See [freesewing models](https://freesewing.dev/reference/packages/models) for a list of measurement names already used in freesewing patterns. It is a [best practice](/guides/best-practices/reuse-measurements/) to stick to these names. diff --git a/markdown/dev/reference/config/name/en.md b/markdown/dev/reference/config/name/en.md index a2477550fd2..7e1176778cf 100644 --- a/markdown/dev/reference/config/name/en.md +++ b/markdown/dev/reference/config/name/en.md @@ -1,6 +1,6 @@ -*** - -## title: name +--- +title: name +--- ```js name: "sorcha" diff --git a/markdown/dev/reference/config/optionalmeasurements/en.md b/markdown/dev/reference/config/optionalmeasurements/en.md index 4570f60ebc5..4ce8792e80b 100644 --- a/markdown/dev/reference/config/optionalmeasurements/en.md +++ b/markdown/dev/reference/config/optionalmeasurements/en.md @@ -1,6 +1,6 @@ -*** - -## title: optionalMeasurements +--- +title: optionalMeasurements +--- ```js optionalMeasurements: [ @@ -8,14 +8,14 @@ optionalMeasurements: [ ] ``` -An array with the names of optional measurements that can be used to draft this pattern. +An array with the names of optional measurements that can be used to draft this pattern. ###### Why would you want optional measurements? -This is often used in combination with [the bust plugin](/reference/plugins/bust/) to -allow a pattern to be drafted to the `highBust` measurement rather than the +This is often used in combination with [the bust plugin](/reference/plugins/bust/) to +allow a pattern to be drafted to the `highBust` measurement rather than the `chest` measurement, thereby providing better fit for people with breasts. diff --git a/markdown/dev/reference/config/options/boolean/en.md b/markdown/dev/reference/config/options/boolean/en.md index 82a66a0fa4b..6285ff125e0 100644 --- a/markdown/dev/reference/config/options/boolean/en.md +++ b/markdown/dev/reference/config/options/boolean/en.md @@ -1,15 +1,16 @@ -*** - -## title: boolean +--- +title: boolean +--- If your option is either `true` or `false`, or **on** or **off** or **yes** or **no**, you can use a boolean: Your boolean option should be an object with these properties: -* `bool` : Either `true` or `false` which will be the default + - `bool` : Either `true` or `false` which will be the default ```js options: { withLining: { bool: true } } ``` + diff --git a/markdown/dev/reference/config/options/constant/en.md b/markdown/dev/reference/config/options/constant/en.md index 67c3bfc891c..0a2bfbd033f 100644 --- a/markdown/dev/reference/config/options/constant/en.md +++ b/markdown/dev/reference/config/options/constant/en.md @@ -1,6 +1,6 @@ -*** - -## title: constant +--- +title: constant +--- If your option is a scalar value (like a string or a number), it will be treated as a constant: @@ -14,3 +14,4 @@ options: { Rather than define constants in your code, it's good practice to set them in your configuration file. This way, people who extend your pattern can change them if they would like to. + diff --git a/markdown/dev/reference/config/options/counter/en.md b/markdown/dev/reference/config/options/counter/en.md index 1b306e3868b..d9571f23e1b 100644 --- a/markdown/dev/reference/config/options/counter/en.md +++ b/markdown/dev/reference/config/options/counter/en.md @@ -1,15 +1,15 @@ -*** - -## title: counter +--- +title: counter +--- For a given number of things, use a counter. Counters are for integers only. Things like number of buttons and so on. Your counter option should be an object with these properties: -* `count` : The default integer value -* `min` : The minimal integer value that's allowed -* `max` : The maximum integer value that's allowed + - `count` : The default integer value + - `min` : The minimal integer value that's allowed + - `max` : The maximum integer value that's allowed ```js options: { diff --git a/markdown/dev/reference/config/options/degrees/en.md b/markdown/dev/reference/config/options/degrees/en.md index 63fd31aa3fb..5631cd7521a 100644 --- a/markdown/dev/reference/config/options/degrees/en.md +++ b/markdown/dev/reference/config/options/degrees/en.md @@ -1,14 +1,14 @@ -*** - -## title: degrees +--- +title: degrees +--- For angles, use degrees. Your degree option should be an object with these properties: -* `deg` : The default value in degrees -* `min` : The minimul that's allowed -* `max` : The maximum that's allowed + - `deg` : The default value in degrees + - `min` : The minimul that's allowed + - `max` : The maximum that's allowed ```js options: { diff --git a/markdown/dev/reference/config/options/en.md b/markdown/dev/reference/config/options/en.md index ae4beeadd14..36b0573fd8b 100644 --- a/markdown/dev/reference/config/options/en.md +++ b/markdown/dev/reference/config/options/en.md @@ -1,6 +1,6 @@ -*** - -## title: options +--- +title: options +--- Options come in 6 varities: @@ -8,7 +8,7 @@ Options come in 6 varities: -Under the hood, millimeters, degrees, and counters are handled the same way. +Under the hood, millimeters, degrees, and counters are handled the same way. We use different types because it easier to understand the nature of a given option. diff --git a/markdown/dev/reference/config/options/list/en.md b/markdown/dev/reference/config/options/list/en.md index 1edc07e3751..bb2011d6fab 100644 --- a/markdown/dev/reference/config/options/list/en.md +++ b/markdown/dev/reference/config/options/list/en.md @@ -1,13 +1,13 @@ -*** - -## title: list +--- +title: list +--- Use a list option when you want to offer an array of choices. Your list option should be an object with these properties: -* `dflt` : The default for this option -* `list` : An array of available values options + - `dflt` : The default for this option + - `list` : An array of available values options ```js options: { diff --git a/markdown/dev/reference/config/options/millimeter/en.md b/markdown/dev/reference/config/options/millimeter/en.md index d8c17cdabb8..86f0998cc78 100644 --- a/markdown/dev/reference/config/options/millimeter/en.md +++ b/markdown/dev/reference/config/options/millimeter/en.md @@ -1,15 +1,15 @@ -*** +--- +title: millimeter +--- -## title: millimeter +While we recommend using percentages where possible, sometimes that doesn't make sense. -While we recommend using percentages where possible, sometimes that doesn't make sense. - -For those cases, you can use a millimeter option which +For those cases, you can use a millimeter option which should be an object with these properties: -* `mm` : The default value in millimeter -* `min` : The minimul that's allowed -* `max` : The maximum that's allowed + - `mm` : The default value in millimeter + - `min` : The minimul that's allowed + - `max` : The maximum that's allowed ```js options: { @@ -26,6 +26,6 @@ options: { ##### When to use a millimeter option You should only use millimeter when the option refers to a physical object -that comes in certain sizes. +that comes in certain sizes. diff --git a/markdown/dev/reference/config/options/percentage/en.md b/markdown/dev/reference/config/options/percentage/en.md index 321af372eff..1ebb59718cd 100644 --- a/markdown/dev/reference/config/options/percentage/en.md +++ b/markdown/dev/reference/config/options/percentage/en.md @@ -1,6 +1,6 @@ -*** - -## title: percentage +--- +title: percentage +--- Percentage options are the bread and butter of freesewing. @@ -9,9 +9,9 @@ They make sure that your pattern will scale regardless of size. Your percentage option should be an object with these properties: -* `pct` : The percentage -* `min` : The minimul that's allowed -* `max` : The maximum that's allowed + - `pct` : The percentage + - `min` : The minimul that's allowed + - `max` : The maximum that's allowed ```js options: { @@ -28,8 +28,9 @@ options: { ###### Percentage options will be divided by 100 when loaded You specify percentages in your config file. For example, `50` means 50%. -When your configuration is loaded, those percentages will by divided by 100. +When your configuration is loaded, those percentages will by divided by 100. So a percentage of `50` in your config file will be `0.5` when you read out that option in your pattern. + diff --git a/markdown/dev/reference/config/parts/en.md b/markdown/dev/reference/config/parts/en.md index 2826b62cdc5..3c5a80730d9 100644 --- a/markdown/dev/reference/config/parts/en.md +++ b/markdown/dev/reference/config/parts/en.md @@ -1,6 +1,6 @@ -*** - -## title: parts +--- +title: parts +--- ```js parts: [ @@ -17,7 +17,7 @@ An array that lists your (additional) pattern parts. The name must be the key th This list of parts is needed for the `draft()` method to figure out what parts need to be drafted. -So if parts are included in the `dependencies`, `inject`, or `hide` configuration, +So if parts are included in the `dependencies`, `inject`, or `hide` configuration, there's no need to include them here, as we already know of their existence. diff --git a/markdown/dev/reference/config/ui/code/en.md b/markdown/dev/reference/config/ui/code/en.md index 28992036a28..bd02b90e7ff 100644 --- a/markdown/dev/reference/config/ui/code/en.md +++ b/markdown/dev/reference/config/ui/code/en.md @@ -1,9 +1,10 @@ -*** - -## title: code +--- +title: code +--- ```js code: "Joost De Cock", ``` The name of the developer. + diff --git a/markdown/dev/reference/config/ui/department/en.md b/markdown/dev/reference/config/ui/department/en.md index c6f3e6f0da3..aa5ee29e4db 100644 --- a/markdown/dev/reference/config/ui/department/en.md +++ b/markdown/dev/reference/config/ui/department/en.md @@ -1,6 +1,6 @@ -*** - -## title: department +--- +title: department +--- ```js department: "menswear", @@ -8,7 +8,7 @@ department: "menswear", One of the following: -* menswear -* womenswear -* unisex -* accessories + - menswear + - womenswear + - unisex + - accessories diff --git a/markdown/dev/reference/config/ui/design/en.md b/markdown/dev/reference/config/ui/design/en.md index 2b7f9cf19a7..673bbb44853 100644 --- a/markdown/dev/reference/config/ui/design/en.md +++ b/markdown/dev/reference/config/ui/design/en.md @@ -1,6 +1,6 @@ -*** - -## title: design +--- +title: design +--- ```js design: "Joost De Cock", diff --git a/markdown/dev/reference/config/ui/difficulty/en.md b/markdown/dev/reference/config/ui/difficulty/en.md index eba98b0351a..395e2c10ef8 100644 --- a/markdown/dev/reference/config/ui/difficulty/en.md +++ b/markdown/dev/reference/config/ui/difficulty/en.md @@ -1,6 +1,6 @@ -*** - -## title: difficulty +--- +title: difficulty +--- ```js difficulty: 3 diff --git a/markdown/dev/reference/config/ui/en.md b/markdown/dev/reference/config/ui/en.md index 66b192ed717..9e04edc1349 100644 --- a/markdown/dev/reference/config/ui/en.md +++ b/markdown/dev/reference/config/ui/en.md @@ -1,8 +1,7 @@ -*** - +--- title: UI configuration order: 100 ----------- +--- Patterns also take these configuration options to facilitate UI integration: diff --git a/markdown/dev/reference/config/ui/optiongroups/advanced-option-group/en.md b/markdown/dev/reference/config/ui/optiongroups/advanced-option-group/en.md index e90f5ff05d8..9403b16bf11 100644 --- a/markdown/dev/reference/config/ui/optiongroups/advanced-option-group/en.md +++ b/markdown/dev/reference/config/ui/optiongroups/advanced-option-group/en.md @@ -1,6 +1,6 @@ -*** - -## title: The advanced option group +--- +title: The advanced option group +--- Naming an option group `advanced` will hide it by default from the user unless they enable *expert mode*. diff --git a/markdown/dev/reference/config/ui/optiongroups/en.md b/markdown/dev/reference/config/ui/optiongroups/en.md index 176610b2efe..6be756aac84 100644 --- a/markdown/dev/reference/config/ui/optiongroups/en.md +++ b/markdown/dev/reference/config/ui/optiongroups/en.md @@ -1,8 +1,8 @@ -*** +--- +title: optionGroups +--- -## title: optionGroups - -Organises your pattern options in groups. +Organises your pattern options in groups. It expects an object where the key is the group title, and the value an array of options: ```js @@ -26,3 +26,4 @@ Options that are not included in the `optionGroup` configuration won't be exposed in the frontend and thus will be unavailable to the user. + diff --git a/markdown/dev/reference/config/ui/optiongroups/nested-optiongroups/en.md b/markdown/dev/reference/config/ui/optiongroups/nested-optiongroups/en.md index 8156143c1b7..87c129cca03 100644 --- a/markdown/dev/reference/config/ui/optiongroups/nested-optiongroups/en.md +++ b/markdown/dev/reference/config/ui/optiongroups/nested-optiongroups/en.md @@ -1,6 +1,6 @@ -*** - -## title: Nested option groups +--- +title: Nested option groups +--- You can create sub-groups within an option group: @@ -24,3 +24,4 @@ optionGroups: { Only create subgroups one level deep. We do not support groups in groups in groups. + diff --git a/markdown/dev/reference/config/ui/tags/en.md b/markdown/dev/reference/config/ui/tags/en.md index c9642ce2e8f..7ad86d9388e 100644 --- a/markdown/dev/reference/config/ui/tags/en.md +++ b/markdown/dev/reference/config/ui/tags/en.md @@ -1,6 +1,6 @@ -*** - -## title: tags +--- +title: tags +--- ```js tags: ["underwear", "top", "basics"], diff --git a/markdown/dev/reference/config/ui/type/en.md b/markdown/dev/reference/config/ui/type/en.md index d3422d1e8c1..201c85bc03c 100644 --- a/markdown/dev/reference/config/ui/type/en.md +++ b/markdown/dev/reference/config/ui/type/en.md @@ -1,6 +1,6 @@ -*** - -## title: type +--- +title: type +--- ```js type: "pattern", @@ -8,5 +8,5 @@ type: "pattern", One of the following: -* pattern -* block + - pattern + - block diff --git a/markdown/dev/reference/config/version/en.md b/markdown/dev/reference/config/version/en.md index 91b7b5b48e9..2b67145015f 100644 --- a/markdown/dev/reference/config/version/en.md +++ b/markdown/dev/reference/config/version/en.md @@ -1,7 +1,10 @@ -*** +--- +title: version +--- -## title: version - - version: "0.3.1" +``` +version: "0.3.1" +``` The version of your pattern. + diff --git a/markdown/dev/reference/designs/en.md b/markdown/dev/reference/designs/en.md index c9bf51dcbc1..a5e43ca60a9 100644 --- a/markdown/dev/reference/designs/en.md +++ b/markdown/dev/reference/designs/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Designs for: contributors about: Complete list of FreeSewing designs that we've put out -------------------------------------------------------------- +--- We have a growing number of designs (sewing patterns). diff --git a/markdown/dev/reference/en.md b/markdown/dev/reference/en.md index 471efc8ff79..6ef04180111 100644 --- a/markdown/dev/reference/en.md +++ b/markdown/dev/reference/en.md @@ -1,5 +1,5 @@ -*** - +--- title: Reference order: 1040 ------------ +--- + diff --git a/markdown/dev/reference/hooks/en.md b/markdown/dev/reference/hooks/en.md index f09e9854c24..384a5ce60fa 100644 --- a/markdown/dev/reference/hooks/en.md +++ b/markdown/dev/reference/hooks/en.md @@ -1,17 +1,16 @@ -*** - +--- title: Hooks API for: developers about: Documents the available lifecycle hooks in Core and how to use them --------------------------------------------------------------------------- +--- A **hook** is a lifecycle event. You can register a method for a hook. When the hook is triggered, your method will be called. It will receive two parameters: -* An object relevant to the hook (see the specific hook for details) -* Data passed when the hook was registered (optional) + - An object relevant to the hook (see the specific hook for details) + - Data passed when the hook was registered (optional) Below is a list of all available hooks: diff --git a/markdown/dev/reference/hooks/inserttext/en.md b/markdown/dev/reference/hooks/inserttext/en.md index 1a85cb5c6ca..855a3b1b945 100644 --- a/markdown/dev/reference/hooks/inserttext/en.md +++ b/markdown/dev/reference/hooks/inserttext/en.md @@ -1,16 +1,16 @@ -*** - -## title: insertText +--- +title: insertText +--- The `insertText` hook is called when text is about to be inserted during rendering. Methods attached to the `insertText` hook will receive 2 parameters: -* `locale` : The language code of the language requested by the user (defaults to `en`) -* `text`: The text to be inserted + - `locale` : The language code of the language requested by the user (defaults to `en`) + - `text`: The text to be inserted -Unlike most hooks that receive an object that you can make changes to, -for this hook you need to return a string. +Unlike most hooks that receive an object that you can make changes to, +for this hook you need to return a string. This hook is typically used for translation, as is the case in [our i18n plugin](/reference/plugins/i18n/). @@ -20,8 +20,8 @@ in [our i18n plugin](/reference/plugins/i18n/). 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: -* For every value set on data-text -* For the combined result of these values, joined together with spaces + - For every value set on data-text + - For the combined result of these values, joined together with spaces Let's use an example to clarify things: @@ -33,14 +33,15 @@ points.example For the example point above, the `insertText` hook will end up being called 3 times: -* First it will pass `seamAllowance` to the plugin -* Then it will pass `: 1cm` to the plugin -* Finally it will pass `seamAllowance : 1cm` to the plugin + - First it will pass `seamAllowance` to the plugin + - Then it will pass `: 1cm` to the plugin + - Finally it will pass `seamAllowance : 1cm` to the plugin Having the `insertText` hook only run once with `Seam allowance: 1cm` would be problematic because the seam allowance may differ, or perhaps we're using imperial units, and so on. Instead, you can (and should) divide your text into chunks that need translating, and chunks that do not. -This is also why we're not inserting **Seam allowance** but rather **seamAllowance**; +This is also why we're not inserting **Seam allowance** but rather **seamAllowance**; It is merely a key to indicate what translation we want to replace this text with. + diff --git a/markdown/dev/reference/hooks/postdraft/en.md b/markdown/dev/reference/hooks/postdraft/en.md index 762832a61e6..180a6dd7929 100644 --- a/markdown/dev/reference/hooks/postdraft/en.md +++ b/markdown/dev/reference/hooks/postdraft/en.md @@ -1,10 +1,10 @@ -*** - -## title: postDraft +--- +title: postDraft +--- The `postDraft` hook runs just after your pattern is drafted. -Your plugin will receive the Pattern object. +Your plugin will receive the Pattern object. diff --git a/markdown/dev/reference/hooks/postrender/en.md b/markdown/dev/reference/hooks/postrender/en.md index 6dfda0d6a28..7ef73906741 100644 --- a/markdown/dev/reference/hooks/postrender/en.md +++ b/markdown/dev/reference/hooks/postrender/en.md @@ -1,6 +1,6 @@ -*** - -## title: postRender +--- +title: postRender +--- The `postRender` hook is triggered after the SVG is rendered. @@ -11,3 +11,4 @@ Like the `preRender` hook, it receives [the SVG object](/api/svg) as its first p The `postRender` hooks is rarely used. + diff --git a/markdown/dev/reference/hooks/postsample/en.md b/markdown/dev/reference/hooks/postsample/en.md index dadd3e1dd1e..6a5b972e9da 100644 --- a/markdown/dev/reference/hooks/postsample/en.md +++ b/markdown/dev/reference/hooks/postsample/en.md @@ -1,18 +1,19 @@ -*** - -## title: postSample +--- +title: postSample +--- The `postSample` hook runs just after your pattern is sampled. -Your plugin will receive the Pattern object. +Your plugin will receive the Pattern object. It is triggered just before the end of either: -* the [Pattern.sampleOption()](/reference/api/pattern/#sampleoption) method -* the [Pattern.sampleMeasurement()](/reference/api/pattern/#samplemeasurement) method -* the [Pattern.sampleModels()](/reference/api/pattern/#samplemodels) method + - the [Pattern.sampleOption()](/reference/api/pattern/#sampleoption) method + - the [Pattern.sampleMeasurement()](/reference/api/pattern/#samplemeasurement) method + - the [Pattern.sampleModels()](/reference/api/pattern/#samplemodels) method The `postSample` hook is rarely used. + diff --git a/markdown/dev/reference/hooks/predraft/en.md b/markdown/dev/reference/hooks/predraft/en.md index 17698729357..ec981e917ab 100644 --- a/markdown/dev/reference/hooks/predraft/en.md +++ b/markdown/dev/reference/hooks/predraft/en.md @@ -1,10 +1,10 @@ -*** - -## title: preDraft +--- +title: preDraft +--- The `preDraft` hook runs just before your pattern is drafted. -Your plugin will receive the Pattern object. +Your plugin will receive the Pattern object. diff --git a/markdown/dev/reference/hooks/prerender/en.md b/markdown/dev/reference/hooks/prerender/en.md index 0ac848d6146..656ed8b9dad 100644 --- a/markdown/dev/reference/hooks/prerender/en.md +++ b/markdown/dev/reference/hooks/prerender/en.md @@ -1,6 +1,6 @@ -*** - -## title: preRender +--- +title: preRender +--- The `preRender` hook is triggered just before your pattern is rendered to SVG. diff --git a/markdown/dev/reference/hooks/presample/en.md b/markdown/dev/reference/hooks/presample/en.md index c91fd7f54c8..3bab2ab937d 100644 --- a/markdown/dev/reference/hooks/presample/en.md +++ b/markdown/dev/reference/hooks/presample/en.md @@ -1,16 +1,16 @@ -*** - -## title: preSample +--- +title: preSample +--- The `preSample` hook runs just before your pattern is sampled. It is triggered at the very start of either: -* the [Pattern.sampleOption()](/reference/api/pattern/#sampleoption) method -* the [Pattern.sampleMeasurement()](/reference/api/pattern/#samplemeasurement) method -* the [Pattern.sampleModels()](/reference/api/pattern/#samplemodels) method + - the [Pattern.sampleOption()](/reference/api/pattern/#sampleoption) method + - the [Pattern.sampleMeasurement()](/reference/api/pattern/#samplemeasurement) method + - the [Pattern.sampleModels()](/reference/api/pattern/#samplemodels) method -Your plugin will receive the Pattern object. +Your plugin will receive the Pattern object. diff --git a/markdown/dev/reference/macros/bartack/en.md b/markdown/dev/reference/macros/bartack/en.md index c760e4924e8..190c9a22484 100644 --- a/markdown/dev/reference/macros/bartack/en.md +++ b/markdown/dev/reference/macros/bartack/en.md @@ -1,6 +1,6 @@ -*** - -## title: bartack +--- +title: bartack +--- The `bartack` macro allows you to add a *bartack* marker to your sewing pattern. It is provided by the [bartack plugin](/reference/plugins/bartack/). @@ -17,7 +17,7 @@ macro('bartack', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |-------------:|------------|------------|-------------| | `angle` | `0` | `number` | The angle under which to draw the bartack | | `density` | `3` | `number` | Controls how close the stitches are togeter | diff --git a/markdown/dev/reference/macros/bartackalong/en.md b/markdown/dev/reference/macros/bartackalong/en.md index 35af71fbcc7..409d7861efe 100644 --- a/markdown/dev/reference/macros/bartackalong/en.md +++ b/markdown/dev/reference/macros/bartackalong/en.md @@ -1,6 +1,6 @@ -*** - -## title: bartackAlong +--- +title: bartackAlong +--- The `bartackAlong` macro allows you to add a *bartack* marker to your sewing pattern. More specifically, a bartack along a path. @@ -31,7 +31,7 @@ macro('sprinkle', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |-------------:|------------|------------|-------------| | `angle` | `0` | `number` | The angle under which to draw the bartack | | `density` | `3` | `number` | Controls how close the stitches are togeter | @@ -41,3 +41,4 @@ macro('sprinkle', { | `prefix` | | `string` | A prefix to apply to the names of the generated path and points | | `suffix` | | `string` | A suffix to apply to the names of the generated path and points | | `width` | `3` | `number` | Width of the bartack | + diff --git a/markdown/dev/reference/macros/bartackfractionalong/en.md b/markdown/dev/reference/macros/bartackfractionalong/en.md index 458dfc6d060..59a17a26a5f 100644 --- a/markdown/dev/reference/macros/bartackfractionalong/en.md +++ b/markdown/dev/reference/macros/bartackfractionalong/en.md @@ -1,6 +1,6 @@ -*** - -## title: bartackFractionAlong +--- +title: bartackFractionAlong +--- The `bartackFractionAlong` macro allows you to add a *bartack* marker to your sewing pattern. More specifically, a bartack along a fraction of a path. @@ -33,7 +33,7 @@ macro('sprinkle', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |-------------:|------------|------------|-------------| | `angle` | `0` | `number` | The angle under which to draw the bartack | | `density` | `3` | `number` | Controls how close the stitches are togeter | @@ -45,3 +45,4 @@ macro('sprinkle', { | `start` | `0` | `number` | At which fraction of the path length (from `0` to `1`) should the bartack start | | `suffix` | | `string` | A suffix to apply to the names of the generated path and points | | `width` | `3` | `number` | Width of the bartack | + diff --git a/markdown/dev/reference/macros/cutonfold/en.md b/markdown/dev/reference/macros/cutonfold/en.md index b814b1b3e0d..d55b4fd1343 100644 --- a/markdown/dev/reference/macros/cutonfold/en.md +++ b/markdown/dev/reference/macros/cutonfold/en.md @@ -1,8 +1,8 @@ -*** +--- +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). @@ -15,10 +15,13 @@ macro('cutonfold', { } ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |------------:|---------|---------------------|-------------| | `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 | | `margin` | 5 | [Point](/reference/api/point) | The distance in % to keep from the start/end edge | | `offset` | 50 | 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 | + + + diff --git a/markdown/dev/reference/macros/en.md b/markdown/dev/reference/macros/en.md index 7ed4cc5d08c..24670df09f5 100644 --- a/markdown/dev/reference/macros/en.md +++ b/markdown/dev/reference/macros/en.md @@ -1,9 +1,8 @@ -*** - +--- title: Macros for: developers about: Complete list of all available macros and how to use them ----------------------------------------------------------------- +--- Macros are a way to combine different operations into a single command, and are typically provided by plugins. @@ -19,3 +18,5 @@ Below is a list of available macros: For more info on a specific macro and examples, follow the link to the plugin that provides the macro. + + diff --git a/markdown/dev/reference/macros/flip/en.md b/markdown/dev/reference/macros/flip/en.md index 258ce3acf0c..917e8bf299b 100644 --- a/markdown/dev/reference/macros/flip/en.md +++ b/markdown/dev/reference/macros/flip/en.md @@ -1,8 +1,8 @@ -*** +--- +title: flip +--- -## title: flip - -The `flip` macro flips (mirrors) an entire part vertically around the Y-axis.\ +The `flip` macro flips (mirrors) an entire part vertically around the Y-axis. It takes no arguments, and is provided by the [flip plugin](/reference/plugins/flip). ```js @@ -11,6 +11,8 @@ macro("flip") Under the hood, this macro will: -* Go through all Points in your Part, and multiply their X-coordinate by -1 -* Go through all the Paths in your Part, and for each drawing operation will multiply the X-coordinare by -1 -* Go through all the Snippets in your Part and multiply the X-coordinate of the anchor point by -1 + - Go through all Points in your Part, and multiply their X-coordinate by -1 + - Go through all the Paths in your Part, and for each drawing operation will multiply the X-coordinare by -1 + - Go through all the Snippets in your Part and multiply the X-coordinate of the anchor point by -1 + + diff --git a/markdown/dev/reference/macros/grainline/en.md b/markdown/dev/reference/macros/grainline/en.md index 808ffa9c4ca..645d885dd41 100644 --- a/markdown/dev/reference/macros/grainline/en.md +++ b/markdown/dev/reference/macros/grainline/en.md @@ -1,8 +1,8 @@ -*** +--- +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/). @@ -14,7 +14,8 @@ macro("grainline", { } ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |------------:|---------|---------------------|-------------| | `from` | | [Point](/reference/api/point) | The startpoint of the *grainline* indicator | | `to` | | [Point](/reference/api/point) | The endpoint of the *grainline* indicator | + diff --git a/markdown/dev/reference/macros/hd/en.md b/markdown/dev/reference/macros/hd/en.md index 197fb2047c5..a61f91a3b98 100644 --- a/markdown/dev/reference/macros/hd/en.md +++ b/markdown/dev/reference/macros/hd/en.md @@ -1,13 +1,13 @@ -*** +--- +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/). ```js @@ -18,7 +18,7 @@ macro('hd', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |----------------:|----------|---------------------|-------------| | `from` | | [Point](/reference/api/point) | The startpoint of the dimension | | `to` | | [Point](/reference/api/point) | The endpoint of the dimension | @@ -32,7 +32,8 @@ macro('hd', { Setting a custom ID will: -* Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) -* Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + - Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) + - Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + diff --git a/markdown/dev/reference/macros/ld/en.md b/markdown/dev/reference/macros/ld/en.md index 2afd4c99e8a..879c55b745b 100644 --- a/markdown/dev/reference/macros/ld/en.md +++ b/markdown/dev/reference/macros/ld/en.md @@ -1,13 +1,13 @@ -*** +--- +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/). ```js @@ -18,7 +18,8 @@ macro('ld', { }) ``` -| Property | Default | Type | Description | + +| Property | Default | Type | Description | |-----------------|---------|---------------------|-------------| | `from` | | [Point](/reference/api/point) | The startpoint of the dimension | | `to` | | [Point](/reference/api/point) | The endpoint of the dimension | @@ -32,7 +33,8 @@ macro('ld', { Setting a custom ID will: -* Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) -* Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + - Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) + - Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + diff --git a/markdown/dev/reference/macros/miniscale/en.md b/markdown/dev/reference/macros/miniscale/en.md index 9c5b6256156..e727dadebac 100644 --- a/markdown/dev/reference/macros/miniscale/en.md +++ b/markdown/dev/reference/macros/miniscale/en.md @@ -1,6 +1,6 @@ -*** - -## title: miniscale +--- +title: miniscale +--- The `miniscale` macro adds a mini *scale box* to your pattern. This box allows users to verify their pattern is printed to scale. @@ -16,7 +16,9 @@ macro('miniscale', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |-------------|---------|---------------------|-------------| | `at` | | [Point](/reference/api/point) | The point to anchor the *scale box* on | | `rotate` | 0 | Number | Rotation in degrees | + + diff --git a/markdown/dev/reference/macros/mirror/en.md b/markdown/dev/reference/macros/mirror/en.md index 10fc1727a2f..37b429946dd 100644 --- a/markdown/dev/reference/macros/mirror/en.md +++ b/markdown/dev/reference/macros/mirror/en.md @@ -1,6 +1,6 @@ -*** - -## title: mirror +--- +title: mirror +--- The `mirror` macro allows you to mirror points and/or paths around a mirror line. It is provided by the [mirror plugin](/reference/plugins/mirror/). @@ -31,7 +31,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* | | `clone` | `true` | `bool` | Whether to clone mirrored points and or paths | @@ -39,3 +39,4 @@ macro('sprinkle', { | `paths` | | `array` | An array of [Path](/reference/api/path) objects | | `prefix` | `mirrored` | `string` | A prefix to apply to the names of the clones points and or paths. Ignored if `nameFormat` is set | | `nameFormat` | | `function` | A method that receives the name of the path or point and should return the name for the cloned path and or point | + diff --git a/markdown/dev/reference/macros/pd/en.md b/markdown/dev/reference/macros/pd/en.md index a90b14c1a41..666c787a54a 100644 --- a/markdown/dev/reference/macros/pd/en.md +++ b/markdown/dev/reference/macros/pd/en.md @@ -1,8 +1,8 @@ -*** +--- +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/). @@ -14,7 +14,7 @@ macro('pd', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |----------------:|---------|---------------------|-------------| | `path` | | [Path](/reference/api/path) | The path to draw the dimension along | | `offset` | 0 | Number | The offset at which to draw the dimension | @@ -27,7 +27,9 @@ macro('pd', { Setting a custom ID will: -* Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) -* Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + - Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) + - Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + + diff --git a/markdown/dev/reference/macros/rmad/en.md b/markdown/dev/reference/macros/rmad/en.md index 54211fc0034..53977a9d756 100644 --- a/markdown/dev/reference/macros/rmad/en.md +++ b/markdown/dev/reference/macros/rmad/en.md @@ -1,6 +1,6 @@ -*** - -## title: rmad +--- +title: rmad +--- The `rmad` macro removes all dimensions with the exception of those that were created with a custom ID. It is provided by the [dimension plugin](/reference/plugins/dimension/). diff --git a/markdown/dev/reference/macros/rmd/en.md b/markdown/dev/reference/macros/rmd/en.md index a547d1d8cae..a82db9d80a7 100644 --- a/markdown/dev/reference/macros/rmd/en.md +++ b/markdown/dev/reference/macros/rmd/en.md @@ -1,6 +1,6 @@ -*** - -## title: rmd +--- +title: rmd +--- The `rmd` macro removes a dimension. It is provided by the [dimension plugin](/reference/plugins/dimension/). @@ -24,6 +24,7 @@ macro('rmd', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |----------|---------|----------|-------------| | `id` | | `string` | The id of the dimension to remove | + diff --git a/markdown/dev/reference/macros/round/en.md b/markdown/dev/reference/macros/round/en.md index 8b23611932e..faac877de6b 100644 --- a/markdown/dev/reference/macros/round/en.md +++ b/markdown/dev/reference/macros/round/en.md @@ -1,6 +1,6 @@ -*** - -## title: round +--- +title: round +--- The `round` macro rounds a corner. It is provided by the [round plugin](/reference/plugins/round/). @@ -19,7 +19,7 @@ macro('round', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |------------:|---------|---------------------|-------------| | `from` | | [Point](/reference/api/point) | The startpoint towards the corner to round | | `to` | | [Point](/reference/api/point) | The endpoint away from the corner to round | @@ -28,3 +28,4 @@ macro('round', { | `prefix` | | String | A prefix to give to the points and paths created by this macro | | `render` | `false` | Boolean | Whether to render the path created by this macro | | `class` | | String | Class(es) to assign to the path created by this macro | + diff --git a/markdown/dev/reference/macros/scalebox/en.md b/markdown/dev/reference/macros/scalebox/en.md index f0e98527437..eb33cd0f0fb 100644 --- a/markdown/dev/reference/macros/scalebox/en.md +++ b/markdown/dev/reference/macros/scalebox/en.md @@ -1,6 +1,6 @@ -*** - -## title: scalebox +--- +title: scalebox +--- The `scalebox` macro adds a *scale box* to your pattern. This box allows users to verify their pattern is printed to scale. @@ -15,7 +15,7 @@ macro('scalebox', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |-------------|---------|---------------------|-------------| | `at` | | [Point](/reference/api/point) | The point to anchor the *scale box* on | | `lead` | FreeSewing | String | The lead text above the title | @@ -24,3 +24,4 @@ macro('scalebox', { | `rotate` | 0 | Number | Rotation in degrees | (\*) `freesewingIsMadeByJoostDeCockAndContributors \n withTheFinancialSupportOfOurPatrons` + diff --git a/markdown/dev/reference/macros/sprinkle/en.md b/markdown/dev/reference/macros/sprinkle/en.md index 6bcc7f7c35b..d7381830c86 100644 --- a/markdown/dev/reference/macros/sprinkle/en.md +++ b/markdown/dev/reference/macros/sprinkle/en.md @@ -1,8 +1,8 @@ -*** +--- +title: sprinkle +--- -## title: sprinkle - -The `sprinkle` macro facilitates adding snippets to your pattern in bulk.\ +The `sprinkle` macro facilitates adding snippets to your pattern in bulk. It is by the [sprinkle plugin](/reference/plugins/sprinkle). @@ -14,7 +14,9 @@ macro('sprinkle', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |------------:|---------|------------------|-------------| | `snippet` | | String | Name of the snippet to sprinkle | | `on` | `[]` | Array of strings | An array with **the names** of points to add the snippet on | + + diff --git a/markdown/dev/reference/macros/title/en.md b/markdown/dev/reference/macros/title/en.md index a3df66ceae6..6a08506eac1 100644 --- a/markdown/dev/reference/macros/title/en.md +++ b/markdown/dev/reference/macros/title/en.md @@ -1,13 +1,13 @@ -*** +--- +title: title +--- -## title: title - -The `title` macro adds a title to a pattern part.\ +The `title` macro adds a title to a pattern part. It is provided by the [title plugin](/reference/plugins/title). -| Property | Default | Type | Description | +| Property | Default | Type | Description | | ----------:| :-----: | ---------------------------------------------------------- | | `at` | | [Point](/reference/api/point) | The point at which to insert the title | | `nr` | | String | The number of the pattern part | @@ -16,3 +16,4 @@ It is provided by the [title plugin](/reference/plugins/title). | `append` | `false` | Boolean | Set this to `true` to append the `nr` to any text already set in Point `at`'s attributes, rather than overwrite it | | `rotation` | 0 | Number | An optional rotation in degrees | | `scale` | 1 | Number | An optional scaling factor | + diff --git a/markdown/dev/reference/macros/vd/en.md b/markdown/dev/reference/macros/vd/en.md index f179f7b090f..a815c62e093 100644 --- a/markdown/dev/reference/macros/vd/en.md +++ b/markdown/dev/reference/macros/vd/en.md @@ -1,13 +1,13 @@ -*** +--- +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/). ```js @@ -18,7 +18,7 @@ macro('vd', { }) ``` -| Property | Default | Type | Description | +| Property | Default | Type | Description | |----------------:|---------|---------------------|-------------| | `from` | | [Point](/reference/api/point) | The startpoint of the dimension | | `to` | | [Point](/reference/api/point) | The endpoint of the dimension | @@ -32,7 +32,10 @@ macro('vd', { Setting a custom ID will: -* Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) -* Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + - Allow removal of the dimension with [the `rmd` macro](/reference/macros/rmd) + - Prevent removal of the dimension with [the `rmad` macro](/reference/macros/rmad/) + + + diff --git a/markdown/dev/reference/packages/aaron/en.md b/markdown/dev/reference/packages/aaron/en.md index d4bf27948ae..64a372d6292 100644 --- a/markdown/dev/reference/packages/aaron/en.md +++ b/markdown/dev/reference/packages/aaron/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/aaron" +--- -## title: "@freesewing/aaron" + diff --git a/markdown/dev/reference/packages/benjamin/en.md b/markdown/dev/reference/packages/benjamin/en.md index 28d09809a80..a16a934c0cd 100644 --- a/markdown/dev/reference/packages/benjamin/en.md +++ b/markdown/dev/reference/packages/benjamin/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/benjamin" +--- -## title: "@freesewing/benjamin" + diff --git a/markdown/dev/reference/packages/bent/en.md b/markdown/dev/reference/packages/bent/en.md index 54d0701c184..92570902654 100644 --- a/markdown/dev/reference/packages/bent/en.md +++ b/markdown/dev/reference/packages/bent/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/bent" +--- -## title: "@freesewing/bent" + diff --git a/markdown/dev/reference/packages/breanna/en.md b/markdown/dev/reference/packages/breanna/en.md index 34ef500b0aa..93991a4e833 100644 --- a/markdown/dev/reference/packages/breanna/en.md +++ b/markdown/dev/reference/packages/breanna/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/breanna" +--- -## title: "@freesewing/breanna" + diff --git a/markdown/dev/reference/packages/brian/en.md b/markdown/dev/reference/packages/brian/en.md index 2871025dcfa..eab0ef2abe4 100644 --- a/markdown/dev/reference/packages/brian/en.md +++ b/markdown/dev/reference/packages/brian/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/brian" +--- -## title: "@freesewing/brian" + diff --git a/markdown/dev/reference/packages/bruce/en.md b/markdown/dev/reference/packages/bruce/en.md index 09cefe5781c..f79868ad2e3 100644 --- a/markdown/dev/reference/packages/bruce/en.md +++ b/markdown/dev/reference/packages/bruce/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/bruce" +--- -## title: "@freesewing/bruce" + diff --git a/markdown/dev/reference/packages/carlita/en.md b/markdown/dev/reference/packages/carlita/en.md index e7c191f5f8a..c51951d634c 100644 --- a/markdown/dev/reference/packages/carlita/en.md +++ b/markdown/dev/reference/packages/carlita/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/carlita" +--- -## title: "@freesewing/carlita" + diff --git a/markdown/dev/reference/packages/carlton/en.md b/markdown/dev/reference/packages/carlton/en.md index 3bd7e4feff8..f355da6f838 100644 --- a/markdown/dev/reference/packages/carlton/en.md +++ b/markdown/dev/reference/packages/carlton/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/carlton" +--- -## title: "@freesewing/carlton" + diff --git a/markdown/dev/reference/packages/cathrin/en.md b/markdown/dev/reference/packages/cathrin/en.md index 0c5b823fbc5..121795ddd93 100644 --- a/markdown/dev/reference/packages/cathrin/en.md +++ b/markdown/dev/reference/packages/cathrin/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/cathrin" +--- -## title: "@freesewing/cathrin" + diff --git a/markdown/dev/reference/packages/components/blockquote/en.md b/markdown/dev/reference/packages/components/blockquote/en.md index 76c2a9e09ff..ba88b8a2eac 100644 --- a/markdown/dev/reference/packages/components/blockquote/en.md +++ b/markdown/dev/reference/packages/components/blockquote/en.md @@ -1,17 +1,17 @@ -*** +--- +title: Blockquote +--- -## title: Blockquote - -The `Blockquote` component is a base blockquote that can be styled +The `Blockquote` component is a base blockquote that can be styled in a number of different ways via the `type` prop which can be set to: -* note -* warning -* tip -* fixme - + - note + - warning + - tip + - fixme + It is typically used in our MDX content where we make the `Note`, `Warning`, -`Tip` and `Fixme` components available in the global scope. They all use +`Tip` and `Fixme` components available in the global scope. They all use the `Blockquote` component under the hood. ## Examples @@ -28,6 +28,7 @@ the `Blockquote` component under the hood.
This is a note
``` + ### Type: tip This is a tip @@ -40,6 +41,7 @@ the `Blockquote` component under the hood.
This is a tip
``` + ### Type: warning This is a warning diff --git a/markdown/dev/reference/packages/components/draft/en.md b/markdown/dev/reference/packages/components/draft/en.md index 4b45cae267f..08ecdfe277a 100644 --- a/markdown/dev/reference/packages/components/draft/en.md +++ b/markdown/dev/reference/packages/components/draft/en.md @@ -1,13 +1,13 @@ -*** - -## title: Draft +--- +title: Draft +--- The `Draft` component renders a FreeSewing pattern in the browser as SVG. To use the `Draft` component, pass it the result of `pattern.getRenderProps()` as props: -```js +```js const renderProps = pattern.draft().getRenderProps() return @@ -21,12 +21,13 @@ The `pattern.getRenderProps()` returns a range of props, including an SVG object on which the `preRender` hook gets called prior to returning. -This way, svg.defs now holds all defs, including any that may have -been added by custom plugins, and we use this verbatim in our +This way, svg.defs now holds all defs, including any that may have +been added by custom plugins, and we use this verbatim in our React component. -This removes any discrepancies in how SVG rendering and React -rendering handles the defs section of the SVG document, +This removes any discrepancies in how SVG rendering and React +rendering handles the defs section of the SVG document, and thus displays snippets. + diff --git a/markdown/dev/reference/packages/components/draftconfgurator/en.md b/markdown/dev/reference/packages/components/draftconfgurator/en.md index b2f485433f0..bded9ca227a 100644 --- a/markdown/dev/reference/packages/components/draftconfgurator/en.md +++ b/markdown/dev/reference/packages/components/draftconfgurator/en.md @@ -1,6 +1,6 @@ -*** - -## title: DraftConfigurator +--- +title: DraftConfigurator +--- The `DraftConfigurator` provides the user interface for configuring a draft. It is a rather complex component, that is used both for the freesewing.org website @@ -11,3 +11,5 @@ as for our development environment. ## Example ![Screenshot of the component](example.png) + + diff --git a/markdown/dev/reference/packages/components/emblem/en.md b/markdown/dev/reference/packages/components/emblem/en.md index 62b8185fcb0..99f831b7ee5 100644 --- a/markdown/dev/reference/packages/components/emblem/en.md +++ b/markdown/dev/reference/packages/components/emblem/en.md @@ -1,6 +1,6 @@ -*** - -## title: Emblem +--- +title: Emblem +--- The `Emblem` component renders the freesewing word in the top-left of our navigation bar. @@ -9,3 +9,4 @@ The `Emblem` component renders the freesewing word in the top-left of our naviga ## Example ![Screenshot of the component](example.png) + diff --git a/markdown/dev/reference/packages/components/en.md b/markdown/dev/reference/packages/components/en.md index 1c89383fb26..ccf82704f35 100644 --- a/markdown/dev/reference/packages/components/en.md +++ b/markdown/dev/reference/packages/components/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/components" +--- +title: "@freesewing/components" +--- This is a collection for React components for FreeSewing's websites: diff --git a/markdown/dev/reference/packages/components/example/en.md b/markdown/dev/reference/packages/components/example/en.md index 64588d0fbd6..db41fa29ab1 100644 --- a/markdown/dev/reference/packages/components/example/en.md +++ b/markdown/dev/reference/packages/components/example/en.md @@ -1,6 +1,6 @@ -*** - -## title: Example +--- +title: Example +--- The `Example` component renders the [examples](/reference/packages/examples/) pattern. It is used throughout our developer documentation. @@ -10,3 +10,4 @@ It is used throughout our developer documentation. ## Example + diff --git a/markdown/dev/reference/packages/components/footer/en.md b/markdown/dev/reference/packages/components/footer/en.md index b433b3ae7ee..f94c73eabdc 100644 --- a/markdown/dev/reference/packages/components/footer/en.md +++ b/markdown/dev/reference/packages/components/footer/en.md @@ -1,6 +1,6 @@ -*** - -## title: Footer +--- +title: Footer +--- The `Footer` component is the shared footer we use on our websites. @@ -9,3 +9,4 @@ The `Footer` component is the shared footer we use on our websites. ## Example ![Screenshot of the component](example.png) + diff --git a/markdown/dev/reference/packages/components/icon/en.md b/markdown/dev/reference/packages/components/icon/en.md index ada0c05c320..a8f9e5c72a6 100644 --- a/markdown/dev/reference/packages/components/icon/en.md +++ b/markdown/dev/reference/packages/components/icon/en.md @@ -1,8 +1,8 @@ -*** +--- +title: Icon +--- -## title: Icon - -The `Icon` component renders a couple of icons that we use, but +The `Icon` component renders a couple of icons that we use, but are not available in the standard [material icon set](https://material.io/resources/icons/). Add more documentation for this component @@ -20,3 +20,4 @@ are not available in the standard [material icon set](https://material.io/resour | `note` | | | `tip` | | | `warning` | | + diff --git a/markdown/dev/reference/packages/components/linedrawing/en.md b/markdown/dev/reference/packages/components/linedrawing/en.md index 2d37391e10e..d29eae0c7a1 100644 --- a/markdown/dev/reference/packages/components/linedrawing/en.md +++ b/markdown/dev/reference/packages/components/linedrawing/en.md @@ -1,6 +1,6 @@ -*** - -## title: Linedrawing +--- +title: Linedrawing +--- The `Linedrawing` component renders linedrawings for the FreeSewing patterns. @@ -9,3 +9,4 @@ The `Linedrawing` component renders linedrawings for the FreeSewing patterns. ## Example ![Screenshot of the component](example.png) + diff --git a/markdown/dev/reference/packages/components/logo/en.md b/markdown/dev/reference/packages/components/logo/en.md index 2779bd09944..74636f46c64 100644 --- a/markdown/dev/reference/packages/components/logo/en.md +++ b/markdown/dev/reference/packages/components/logo/en.md @@ -1,6 +1,6 @@ -*** - -## title: Logo +--- +title: Logo +--- The `Logo` component renders the FreeSewing logo. @@ -9,3 +9,4 @@ The `Logo` component renders the FreeSewing logo. ## Example ![Example of the logo](https://freesewing.org/logo.svg) + diff --git a/markdown/dev/reference/packages/components/navbar/en.md b/markdown/dev/reference/packages/components/navbar/en.md index 9f32fb1e6e6..32c920bd04b 100644 --- a/markdown/dev/reference/packages/components/navbar/en.md +++ b/markdown/dev/reference/packages/components/navbar/en.md @@ -1,6 +1,6 @@ -*** - -## title: Navbar +--- +title: Navbar +--- The `Navbar` component is the shared navigation bar we use at the top of our websites. @@ -9,3 +9,4 @@ The `Navbar` component is the shared navigation bar we use at the top of our web ## Example ![Screenshot of the component](example.png) + diff --git a/markdown/dev/reference/packages/components/render/en.md b/markdown/dev/reference/packages/components/render/en.md index c4198ca439a..3356011496b 100644 --- a/markdown/dev/reference/packages/components/render/en.md +++ b/markdown/dev/reference/packages/components/render/en.md @@ -1,6 +1,6 @@ -*** - -## title: Render +--- +title: Render +--- The `Render` component is componet that renders a FreeSewing pattern. It's an alternative to rendering patterns as SVG, allowing for more @@ -34,11 +34,11 @@ The name `Draft` is deprecated and will be removed in a future release. -###### (\*) Use `pattern.getRenderProps()` to get these props +###### (*) Use `pattern.getRenderProps()` to get these props -The `width`, `height`, `settings`, and `parts` props are provided by the -[getRenderProps()](/reference/api/pattern/#getrenderprops) method of -the [Pattern](/reference/api/pattern/) object. +The `width`, `height`, `settings`, and `parts` props are provided by the +[getRenderProps()](/reference/api/pattern/#getrenderprops) method of +the [Pattern](/reference/api/pattern/) object. They are typically uses as in the example below: diff --git a/markdown/dev/reference/packages/components/robot/en.md b/markdown/dev/reference/packages/components/robot/en.md index 9495a02e916..58a93698200 100644 --- a/markdown/dev/reference/packages/components/robot/en.md +++ b/markdown/dev/reference/packages/components/robot/en.md @@ -1,15 +1,15 @@ -*** - -## title: Robot +--- +title: Robot +--- The `Robot` component renders the FreeSewing robot. It takes a `pose` prop that should be one of the following: -* fail, -* ohno, -* shrug, -* shrug2, -* yay + - fail, + - ohno, + - shrug, + - shrug2, + - yay Rendering a different pose for each. @@ -18,3 +18,5 @@ Rendering a different pose for each. ## Example + + diff --git a/markdown/dev/reference/packages/components/sampleconfigurator/en.md b/markdown/dev/reference/packages/components/sampleconfigurator/en.md index cbb3db5f8fc..a41adb05423 100644 --- a/markdown/dev/reference/packages/components/sampleconfigurator/en.md +++ b/markdown/dev/reference/packages/components/sampleconfigurator/en.md @@ -1,6 +1,6 @@ -*** - -## title: SampleConfigurator +--- +title: SampleConfigurator +--- The `SampleConfigurator` provides the user interface for configuring sampling of a pattern. It is used in our development environment. @@ -10,3 +10,5 @@ It is used in our development environment. ## Example Add screenshot + + diff --git a/markdown/dev/reference/packages/components/spinner/en.md b/markdown/dev/reference/packages/components/spinner/en.md index 35867cc4a19..cb8b1a2a677 100644 --- a/markdown/dev/reference/packages/components/spinner/en.md +++ b/markdown/dev/reference/packages/components/spinner/en.md @@ -1,6 +1,6 @@ -*** - -## title: Spinner +--- +title: Spinner +--- The `Spinner` component renders a loading indicator with the FreeSewing logo. @@ -11,3 +11,4 @@ It is a pure SVG implementation, using SMIL for animation. ## Example ![Example of the spinner](example.svg) + diff --git a/markdown/dev/reference/packages/components/withgist/en.md b/markdown/dev/reference/packages/components/withgist/en.md index 638efa4e1d9..aa48ee075f6 100644 --- a/markdown/dev/reference/packages/components/withgist/en.md +++ b/markdown/dev/reference/packages/components/withgist/en.md @@ -1,10 +1,11 @@ -*** - -## title: WithGist +--- +title: WithGist +--- The `WithGist` component is a higher order component that adds management of a `gist` to your component. A gist is almost the same as a recipe, that is, it stores all the data required to draft your pattern. -This component is used under the hood in both the freesewing.org website as our +This component is used under the hood in both the freesewing.org website as our development environment. + diff --git a/markdown/dev/reference/packages/components/withlanguage/en.md b/markdown/dev/reference/packages/components/withlanguage/en.md index e24e736a59e..7667381c5aa 100644 --- a/markdown/dev/reference/packages/components/withlanguage/en.md +++ b/markdown/dev/reference/packages/components/withlanguage/en.md @@ -1,9 +1,10 @@ -*** - -## title: WithLanguage +--- +title: WithLanguage +--- The `WithLanguage` component is a higher order component that is used to inject the [react-intl](https://github.com/formatjs/react-intl) context into your component. -This component is used under the hood in both the freesewing.org website as our +This component is used under the hood in both the freesewing.org website as our development environment. + diff --git a/markdown/dev/reference/packages/components/withstorage/en.md b/markdown/dev/reference/packages/components/withstorage/en.md index b0a8b0aa8b5..2b0a7663d7c 100644 --- a/markdown/dev/reference/packages/components/withstorage/en.md +++ b/markdown/dev/reference/packages/components/withstorage/en.md @@ -1,9 +1,10 @@ -*** - -## title: WithStorage +--- +title: WithStorage +--- The `WithStorage` component is a higher order component that adds saving to and reading from (the browser's) local storage to your component. -This component is used under the hood in both the freesewing.org website as our +This component is used under the hood in both the freesewing.org website as our development environment. + diff --git a/markdown/dev/reference/packages/components/workbench/en.md b/markdown/dev/reference/packages/components/workbench/en.md index f56f0249207..94597518417 100644 --- a/markdown/dev/reference/packages/components/workbench/en.md +++ b/markdown/dev/reference/packages/components/workbench/en.md @@ -1,6 +1,6 @@ -*** - -## title: Workbench +--- +title: Workbench +--- The `Workbench` component provides the FreeSewing development environment. It is a rather complex component, that is used as the entrypoint component @@ -11,3 +11,5 @@ for our development environment. ## Example ![Screenshot of the component](example.png) + + diff --git a/markdown/dev/reference/packages/core/en.md b/markdown/dev/reference/packages/core/en.md index a8886f7abbe..6c8bd019ba5 100644 --- a/markdown/dev/reference/packages/core/en.md +++ b/markdown/dev/reference/packages/core/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/core" +--- +title: "@freesewing/core" +---

+ diff --git a/markdown/dev/reference/packages/examples/en.md b/markdown/dev/reference/packages/examples/en.md index 9d62d3b81cf..f65d03baed9 100644 --- a/markdown/dev/reference/packages/examples/en.md +++ b/markdown/dev/reference/packages/examples/en.md @@ -1,10 +1,12 @@ -*** +--- +title: "@freesewing/examples" +--- -## title: "@freesewing/examples" + -This pattern holds examples used throughout the documentation.\ +This pattern holds examples used throughout the documentation. Examples like this one: diff --git a/markdown/dev/reference/packages/florence/en.md b/markdown/dev/reference/packages/florence/en.md index 9e8fe867027..4872dc33e42 100644 --- a/markdown/dev/reference/packages/florence/en.md +++ b/markdown/dev/reference/packages/florence/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/florence" +--- -## title: "@freesewing/florence" + diff --git a/markdown/dev/reference/packages/florent/en.md b/markdown/dev/reference/packages/florent/en.md index 71a16eee987..8e150af1946 100644 --- a/markdown/dev/reference/packages/florent/en.md +++ b/markdown/dev/reference/packages/florent/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/florent" +--- -## title: "@freesewing/florent" + diff --git a/markdown/dev/reference/packages/gatsby-remark-jargon/en.md b/markdown/dev/reference/packages/gatsby-remark-jargon/en.md index 762906b1ea6..c27bf57365d 100644 --- a/markdown/dev/reference/packages/gatsby-remark-jargon/en.md +++ b/markdown/dev/reference/packages/gatsby-remark-jargon/en.md @@ -1,6 +1,6 @@ -*** - -## title: "gatsby-remark-jargon" +--- +title: "gatsby-remark-jargon" +---

+ diff --git a/markdown/dev/reference/packages/holmes/en.md b/markdown/dev/reference/packages/holmes/en.md index 81baaec4c5f..57ad5466a43 100644 --- a/markdown/dev/reference/packages/holmes/en.md +++ b/markdown/dev/reference/packages/holmes/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/holmes" +--- -## title: "@freesewing/holmes" + diff --git a/markdown/dev/reference/packages/huey/en.md b/markdown/dev/reference/packages/huey/en.md index 24e2a4e5341..0a28402f4b4 100644 --- a/markdown/dev/reference/packages/huey/en.md +++ b/markdown/dev/reference/packages/huey/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/huey" +--- -## title: "@freesewing/huey" + diff --git a/markdown/dev/reference/packages/hugo/en.md b/markdown/dev/reference/packages/hugo/en.md index 17428bb2627..9f30303fb65 100644 --- a/markdown/dev/reference/packages/hugo/en.md +++ b/markdown/dev/reference/packages/hugo/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/hugo" +--- -## title: "@freesewing/hugo" + diff --git a/markdown/dev/reference/packages/i18n/en.md b/markdown/dev/reference/packages/i18n/en.md index 5287a9db006..a6dcb221374 100644 --- a/markdown/dev/reference/packages/i18n/en.md +++ b/markdown/dev/reference/packages/i18n/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/i18n" +--- +title: "@freesewing/i18n" +---

Package on NPM

  • Code on Github
  • + diff --git a/markdown/dev/reference/packages/jaeger/en.md b/markdown/dev/reference/packages/jaeger/en.md index 6f535473a13..d7f9c11e631 100644 --- a/markdown/dev/reference/packages/jaeger/en.md +++ b/markdown/dev/reference/packages/jaeger/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/jaeger" +--- -## title: "@freesewing/jaeger" + diff --git a/markdown/dev/reference/packages/models/en.md b/markdown/dev/reference/packages/models/en.md index 3b0ff6122d3..ba92aa38bd8 100644 --- a/markdown/dev/reference/packages/models/en.md +++ b/markdown/dev/reference/packages/models/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/models" +--- +title: "@freesewing/models" +---

    Package on NPM

  • Code on Github
  • + diff --git a/markdown/dev/reference/packages/mui-theme/en.md b/markdown/dev/reference/packages/mui-theme/en.md index c6bb5577789..5d261f975a8 100644 --- a/markdown/dev/reference/packages/mui-theme/en.md +++ b/markdown/dev/reference/packages/mui-theme/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/mui-theme" +--- +title: "@freesewing/mui-theme" +---

    Package on NPM

  • Code on Github
  • + diff --git a/markdown/dev/reference/packages/pattern-info/en.md b/markdown/dev/reference/packages/pattern-info/en.md index 3d0f022bd6f..646373e33db 100644 --- a/markdown/dev/reference/packages/pattern-info/en.md +++ b/markdown/dev/reference/packages/pattern-info/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/pattern-info" +--- +title: "@freesewing/pattern-info" +---

    Package on NPM

  • Code on Github
  • + diff --git a/markdown/dev/reference/packages/penelope/en.md b/markdown/dev/reference/packages/penelope/en.md index 6e6a5ea7674..2ebaf5b720f 100644 --- a/markdown/dev/reference/packages/penelope/en.md +++ b/markdown/dev/reference/packages/penelope/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/penelope" +--- -## title: "@freesewing/penelope" + diff --git a/markdown/dev/reference/packages/plugin-bundle/en.md b/markdown/dev/reference/packages/plugin-bundle/en.md index 775e3a83c95..7d11fe07f52 100644 --- a/markdown/dev/reference/packages/plugin-bundle/en.md +++ b/markdown/dev/reference/packages/plugin-bundle/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-bundle" +--- -## title: "@freesewing/plugin-bundle" + diff --git a/markdown/dev/reference/packages/plugin-bust/en.md b/markdown/dev/reference/packages/plugin-bust/en.md index aacdaba5c6c..270a8c281e9 100644 --- a/markdown/dev/reference/packages/plugin-bust/en.md +++ b/markdown/dev/reference/packages/plugin-bust/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-bust" +--- -## title: "@freesewing/plugin-bust" + diff --git a/markdown/dev/reference/packages/plugin-buttons/en.md b/markdown/dev/reference/packages/plugin-buttons/en.md index 61cba67eb4c..01906641cac 100644 --- a/markdown/dev/reference/packages/plugin-buttons/en.md +++ b/markdown/dev/reference/packages/plugin-buttons/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-buttons" +--- -## title: "@freesewing/plugin-buttons" + diff --git a/markdown/dev/reference/packages/plugin-cutonfold/en.md b/markdown/dev/reference/packages/plugin-cutonfold/en.md index 7108340d124..6505d57d839 100644 --- a/markdown/dev/reference/packages/plugin-cutonfold/en.md +++ b/markdown/dev/reference/packages/plugin-cutonfold/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-cutonfold" +--- -## title: "@freesewing/plugin-cutonfold" + diff --git a/markdown/dev/reference/packages/plugin-dimension/en.md b/markdown/dev/reference/packages/plugin-dimension/en.md index 1378a34c165..b2636f8bd89 100644 --- a/markdown/dev/reference/packages/plugin-dimension/en.md +++ b/markdown/dev/reference/packages/plugin-dimension/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-dimension" +--- -## title: "@freesewing/plugin-dimension" + diff --git a/markdown/dev/reference/packages/plugin-flip/en.md b/markdown/dev/reference/packages/plugin-flip/en.md index ac4a75c6e66..70d213ca0e4 100644 --- a/markdown/dev/reference/packages/plugin-flip/en.md +++ b/markdown/dev/reference/packages/plugin-flip/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-flip" +--- -## title: "@freesewing/plugin-flip" + diff --git a/markdown/dev/reference/packages/plugin-gore/en.md b/markdown/dev/reference/packages/plugin-gore/en.md index f84b4dbf0e2..356e0bfe1bf 100644 --- a/markdown/dev/reference/packages/plugin-gore/en.md +++ b/markdown/dev/reference/packages/plugin-gore/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-gore" +--- -## title: "@freesewing/plugin-gore" + diff --git a/markdown/dev/reference/packages/plugin-grainline/en.md b/markdown/dev/reference/packages/plugin-grainline/en.md index beb9f1d8363..25c171e115e 100644 --- a/markdown/dev/reference/packages/plugin-grainline/en.md +++ b/markdown/dev/reference/packages/plugin-grainline/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-grainline" +--- -## title: "@freesewing/plugin-grainline" + diff --git a/markdown/dev/reference/packages/plugin-i18n/en.md b/markdown/dev/reference/packages/plugin-i18n/en.md index 6c9cfd7e939..93f674dff83 100644 --- a/markdown/dev/reference/packages/plugin-i18n/en.md +++ b/markdown/dev/reference/packages/plugin-i18n/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-i18n" +--- -## title: "@freesewing/plugin-i18n" + diff --git a/markdown/dev/reference/packages/plugin-logo/en.md b/markdown/dev/reference/packages/plugin-logo/en.md index 35cafc3a1b5..286e0cd4913 100644 --- a/markdown/dev/reference/packages/plugin-logo/en.md +++ b/markdown/dev/reference/packages/plugin-logo/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-logo" +--- -## title: "@freesewing/plugin-logo" + diff --git a/markdown/dev/reference/packages/plugin-round/en.md b/markdown/dev/reference/packages/plugin-round/en.md index 9d87f915f09..21087dc0a45 100644 --- a/markdown/dev/reference/packages/plugin-round/en.md +++ b/markdown/dev/reference/packages/plugin-round/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-round" +--- -## title: "@freesewing/plugin-round" + diff --git a/markdown/dev/reference/packages/plugin-scalebox/en.md b/markdown/dev/reference/packages/plugin-scalebox/en.md index d9ce2f94067..53fe28eebc2 100644 --- a/markdown/dev/reference/packages/plugin-scalebox/en.md +++ b/markdown/dev/reference/packages/plugin-scalebox/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-scalebox" +--- -## title: "@freesewing/plugin-scalebox" + diff --git a/markdown/dev/reference/packages/plugin-sprinkle/en.md b/markdown/dev/reference/packages/plugin-sprinkle/en.md index d89c9ce7cd2..218830c9e41 100644 --- a/markdown/dev/reference/packages/plugin-sprinkle/en.md +++ b/markdown/dev/reference/packages/plugin-sprinkle/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-sprinkle" +--- -## title: "@freesewing/plugin-sprinkle" + diff --git a/markdown/dev/reference/packages/plugin-svgattr/en.md b/markdown/dev/reference/packages/plugin-svgattr/en.md index 11e887a31a5..d029a1a824c 100644 --- a/markdown/dev/reference/packages/plugin-svgattr/en.md +++ b/markdown/dev/reference/packages/plugin-svgattr/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-svgattr" +--- -## title: "@freesewing/plugin-svgattr" + diff --git a/markdown/dev/reference/packages/plugin-theme/en.md b/markdown/dev/reference/packages/plugin-theme/en.md index 5e8bc7001a6..c1157fa198f 100644 --- a/markdown/dev/reference/packages/plugin-theme/en.md +++ b/markdown/dev/reference/packages/plugin-theme/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-theme" +--- -## title: "@freesewing/plugin-theme" + diff --git a/markdown/dev/reference/packages/plugin-title/en.md b/markdown/dev/reference/packages/plugin-title/en.md index f885c1e2bfa..f4d4d1255d7 100644 --- a/markdown/dev/reference/packages/plugin-title/en.md +++ b/markdown/dev/reference/packages/plugin-title/en.md @@ -1,5 +1,7 @@ -*** +--- +title: "@freesewing/plugin-title" +--- -## title: "@freesewing/plugin-title" + diff --git a/markdown/dev/reference/packages/prettier-config/en.md b/markdown/dev/reference/packages/prettier-config/en.md index 44199a8d387..b657c3ad2ba 100644 --- a/markdown/dev/reference/packages/prettier-config/en.md +++ b/markdown/dev/reference/packages/prettier-config/en.md @@ -1,6 +1,6 @@ -*** - -## title: "@freesewing/prettier-config" +--- +title: "@freesewing/prettier-config" +---

    -This is a [Remark](https://github.com/remarkjs/remark) plugin for jargon terms. +This is a [Remark](https://github.com/remarkjs/remark) plugin for jargon terms.