1
0
Fork 0

Merge branch 'develop' of github.com:freesewing/freesewing into develop

This commit is contained in:
joostdecock 2021-08-29 12:07:31 +02:00
commit ad39171e15
8564 changed files with 525621 additions and 425 deletions

View file

@ -27,7 +27,7 @@ Please report unacceptable behavior to [us@freesewing.org](mailto:us@freesewing.
Please don't file an issue to ask a question.
You'll get faster results by contacting us on Discord.
You can get to our Discord server via https://chat.freesewing.org/.
You can get to our Discord server via https://discord.freesewing.org/.
Please keep in mind that our community members live all over the world.
So what's daytime for you might be the middle of the night for others.
@ -90,7 +90,7 @@ Triaging issues is a great way to get involved FreeSewing. You can do tasks such
- 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 via chat](https://chat.freesewing.org).
If you don't have the rights, or bump into any issues, [reach out to us via chat](https://discord.freesewing.org).
### Reporting Bugs

View file

@ -1,12 +1,18 @@
##### Development environment now uses React 17 and Webpack 5
##### Project 2022: New frontends for FreeSewing
Version 2.16 of FreeSewing brings some important changes for developers.
Read [our blog post on version 2.16](https://freesewing.org/blog/react-17/) for more info.
Over the summer, Joost has started working on *project 2022*, an effort to
migrate the FreeSewing websites (freesewing.org and freesewing.dev) from
GatbsyJS to NextJS, and in the process consolidate and streamline our various repositories.
It comes with a new development blog, which you can read at: [2022.freesewing.dev/blog](https://2022.freesewing.dev/blog)
If you'd like to get involved in this effert, head over to [discord.freesewing.org](https://discord.freesewing.org/) and
join the **project-2022** channel.
##### Next contributor call on 21 August
##### Next contributor call on 04 September
The next contributor call is on **21 August 2021**, Lucian and Karen will host it.
The next contributor call is on **04 September 2021**, Lucian and Karen will host it.
The call is on [discord.freesewing.org](https://discord.freesewing.org/).
Check the meetings voice/video channel.

View file

@ -4,9 +4,9 @@ Check out the latest addition to our catalog: [the Ursula undies pattern](/desig
It's a basic, highly-customizable underwear pattern. A quick make, and ideal as a stash buster.
##### Next contributor call on 21 August
##### Next contributor call on 04 September
The next contributor call is on **21 August 2021**, Lucian and Karen will host it.
The next contributor call is on **04 September 2021**, Lucian and Karen will host it.
The call is on [discord.freesewing.org](https://discord.freesewing.org/).
Check the meetings voice/video channel.

View file

@ -0,0 +1,6 @@
module.exports = {
models: {
},
only: {
}
}

View file

@ -12,23 +12,18 @@ const output = [
format: 'cjs',
sourcemap: true,
exports: rollup.exports,
}
},
]
if (typeof module !== 'undefined')
output.push({
banner,
file: module,
format: 'es',
sourcemap: true
sourcemap: true,
})
export default {
input: 'src/index.js',
output,
plugins: [
peerDepsExternal(),
resolve({ modulesOnly: true }),
commonjs(),
json(),
]
plugins: [peerDepsExternal(), resolve({ modulesOnly: true }), commonjs(), json()],
}

View file

@ -1,5 +1,9 @@
content_segmentation: 0
files:
- source: /packages/i18n/src/locales/en/**/*.yaml
translation: /packages/i18n/src/locales/%two_letters_code%/**/%original_file_name%
- source: /packages/i18n/src/locales/en/**/*.yml
translation: /packages/i18n/src/locales/%two_letters_code%/**/%original_file_name%
- source: /markdown/org/**/en.md
translation: /markdown/org/**/%two_letters_code%.md

View file

@ -0,0 +1,25 @@
---
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/)
---
<ReadMore title="The FreeSewing Code of Conduct" />
<Tip>Upholding our Code of Conduct is a requirement for all FreeSewing contributors</Tip>
<Note>
##### Attribution
This Code of Conduct is an almost verbatim copy of the [Contributor Covenant][homepage], version 2.0,
available at [http://contributor-covenant.org/version/2/0][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/2/0/
</Note>

View file

@ -0,0 +1,15 @@
---
title: Correction
order: 10
---
##### Community Impact
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 public apology may be requested.

View file

@ -0,0 +1,10 @@
---
title: Enforcement Guidelines
order: 60
---
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:
<ReadMore list />

View file

@ -0,0 +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
disparagement of classes of individuals.
##### Consequence
A permanent ban from any sort of public interaction within the community.

View file

@ -0,0 +1,20 @@
---
title: Temporary ban
order: 30
---
##### 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.
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.

View file

@ -0,0 +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
in community spaces as well as external channels like social
media.
Violating these terms may lead to a temporary or permanent ban.

View file

@ -0,0 +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,
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
for moderation decisions when appropriate.

View file

@ -0,0 +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)
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and
security of the reporter of any incident.

View file

@ -0,0 +1,16 @@
---
title: Our pledge
order: 10
---
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,
religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

View file

@ -0,0 +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
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

View file

@ -0,0 +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.
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.

View file

@ -0,0 +1,36 @@
---
title: For contributors
order: 1110
---
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:
<Note>
##### 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/)
</Note>
With that out of the way, here's a few more things that are *good to know*:
<Tip>
##### 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
</Tip>
With the formalities out of the way, please continue
to [Ways to contribute](/contributors/ways-to-contribute)
or [Where to get help](/contributors/help/).

View file

@ -0,0 +1,26 @@
---
title: Where to get help
for: contributors
icons:
- 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
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.
<Tip>
If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
</Tip>

View file

@ -0,0 +1,5 @@
---
title: Backend
---
[The FreeSewing backend](https://backend.freesewing.org/) handles all user data for freesewing.org.

View file

@ -0,0 +1,7 @@
---
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_.

View file

@ -0,0 +1,8 @@
---
title: Contributor call (fscc)
---
The FreeSewing Contributor Call (fscc) is a
bi-weekly conference call/zoom meeting with the FreeSewing contributors.
Anybody is free to join, and the calls take place at https://meet.freesewing.org

View file

@ -0,0 +1,8 @@
---
title: Contributor
---
Anybody who contributes to FreeSewing in a material way. Either with code contributions,
or community building, or pattern design, and so on.
The [list of contributors](https://freesewing.org/community/who/) is available on freesewing.org.

View file

@ -0,0 +1,11 @@
---
title: Design/Pattern
---
The terms **pattern** and **design** somewhat overlap and their exact meaning
depends on the context.
A **design** is a software package that implements a given design on top of our core library.
Simon is a design, Teagan is a design, and so is Sandy.
A **pattern** is an instance of a design. A design that's made-to-measure for a user.

View file

@ -0,0 +1,5 @@
---
title: Developer
---
Anybody who works with software code or wants to learn to do so.

View file

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

View file

@ -0,0 +1,6 @@
---
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.

View file

@ -0,0 +1,13 @@
---
title: Terminology
icons:
- 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
link to a brief description:
<ReadMore list />

View file

@ -0,0 +1,7 @@
---
title: Express
---
[Express](https://expressjs.com/) is a web framework for NodeJS.
The FreeSewing backend is powered by Express.

View file

@ -0,0 +1,5 @@
---
title: freesewing.dev
---
Our website for developers.

View file

@ -0,0 +1,107 @@
---
title: freesewing.org
---
Our website for makers.
## FreeSewing.dev
Our website for developers.
## Frontend
A user-facing interface. Can refer to one of our websites, or our development environment.
## Gatsby
A static-site generator using React. Both freesewing.org and freesewing.dev are
built with Gatsby.
## i18n
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.
## 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 b
## Javascript
The programming language in which FreeSewing is written. It can run in your
browser, as well as outside of it with Node JS.
## Made-to-measure
Made to someone's (body) measurements, rather than based on specific sizes.
## 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.
All our content is written in markdown. Github issues, commit messages, and comments
also all support markdown.
## 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
together in a single repository.
FreeSewing's monorepo holds all our Javascript packages in such a structure.
## Node
Node (or Node JS) is a Javascript runtime that allows to use the language outside the browser.
## Parametric pattern design
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.
## Patron
A person who supports FreeSewing financially.
## Plugin
An extension to FreeSewing core that provides an extra feature of functionality.
## 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
changes to the repository directly. Or to discuss or validate the changes prior to
accepting them.
## React
A Javascript framework to build user interfaces on the web.
All our frontends are build with React.
## Repository
We develop our software collaboratively, and all code is available in Github in so-called repositories.
One repository bundles a bunch of things that belong together. Think of it as a project.
## 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.
## Translator
Somebody who helps with our i18n efforts by translating from Enlish to other languages.

View file

@ -0,0 +1,5 @@
---
title: FreeSewing
---
FreeSewing refers to the community-driven open source project.

View file

@ -0,0 +1,5 @@
---
title: Frontend
---
A user-facing interface. Can refer to one of our websites, or our development environment.

View file

@ -0,0 +1,7 @@
---
title: Gatsby
---
[Gatsby](https://www.gatsbyjs.com/) is a static-site generator for React.
Both freesewing.org and freesewing.dev are built on top of Gatsby.

View file

@ -0,0 +1,7 @@
---
title: i18n
---
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.

View file

@ -0,0 +1,9 @@
---
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

View file

@ -0,0 +1,6 @@
---
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.

View file

@ -0,0 +1,5 @@
---
title: Made-to-measure
---
Made to someone's (body) measurements, rather than based on specific sizes.

View file

@ -0,0 +1,9 @@
---
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.
All our content is written in markdown. Github issues, commit messages, and comments
also all support markdown.

View file

@ -0,0 +1,9 @@
---
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
together in a single repository.
FreeSewing's monorepo holds all our Javascript packages in such a structure.

View file

@ -0,0 +1,5 @@
---
title: Node
---
Node (or NodeJS) is a Javascript runtime that allows to use the language outside the browser.

View file

@ -0,0 +1,8 @@
---
title: Parametric pattern design
---
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.

View file

@ -0,0 +1,5 @@
---
title: Patron
---
A person who supports FreeSewing financially.

View file

@ -0,0 +1,5 @@
---
title: Plugin
---
An extension to FreeSewing core that provides an extra feature of functionality.

View file

@ -0,0 +1,9 @@
---
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
changes to the repository directly. Or to discuss or validate the changes prior to
accepting them.

View file

@ -0,0 +1,7 @@
---
title: React
---
[React](https://reactjs.org/) is a Javascript framework to build user interfaces on the web.
All our frontends are built with React.

View file

@ -0,0 +1,5 @@
---
title: Repo
---
Short for [repository](/contributors/terms/repository/).

View file

@ -0,0 +1,7 @@
---
title: Repository
---
We develop our software collaboratively, and all code is available in Github in so-called repositories.
One repository bundles a bunch of things that belong together. Think of it as a project.

View file

@ -0,0 +1,9 @@
---
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.

View file

@ -0,0 +1,5 @@
---
title: Translator
---
Somebody who helps with our i18n efforts by translating from English to other languages.

View file

@ -0,0 +1,11 @@
---
title: Body ambassador
---
Maybe youre 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
represent this minority to make sure their needs are heard and understood.

View file

@ -0,0 +1,11 @@
---
title: Community building
---
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.

View file

@ -0,0 +1,8 @@
---
title: Design sewing patterns
---
Everybody wants us to add more patterns. But somebody has to design them.
That somebody could be you.
We can help you with the development side of things.

View file

@ -0,0 +1,8 @@
---
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 work on a new pattern together.

View file

@ -0,0 +1,10 @@
---
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.
There's also other technical tasks like database or server administration, certificate renewal, and so on.
If that's your kind of thing, we could use your help.

View file

@ -0,0 +1,37 @@
---
title: Ways to contribute
---
<Tip>
##### Looking to hit the ground running?
You can start with [our project board](https://todo.freesewing.org/), or
going through the issues labeled [good first issue](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3A%22%F0%9F%91%8D+good+first+issue%22).
Don't be afraid to take on an issue. If you get stuck, [we'll help you out](https://discord.freesewing.org/).
</Tip>
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:
<ReadMore list />
<Note>
##### Who wants a job in the tech sector?
For many in our community, contributring to FreeSewing marked their
first steps into the world of open source software development.
We are happy to provide guidance to anyone who wants to learn,
especially when doing so enables upwards social mobility.
</Note>

View file

@ -0,0 +1,7 @@
---
title: Make illustrations
---
Our documentation can always use some more/better illustrations to help people figure out how
to make our patterns into garments.

View file

@ -0,0 +1,8 @@
---
title: Language ambassador
---
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.

View file

@ -0,0 +1,9 @@
---
title: Pattern amabassador
---
You could take charge of a specific FreeSewing design/pattern.
Youll be the person to ask questions about how to make that pattern.
Youll make sure the documentation is not forgotten.
And you can help with questions or triage problem reports to developers or designers.

View file

@ -0,0 +1,5 @@
---
title: Pattern testing
---
You could make (a muslin for) our patterns prior to release to make sure everything is ok.

View file

@ -0,0 +1,15 @@
---
title: Project management
---
There's a lot going on within the FreeSewing project and it's easy to forget about something.
A project manager would be helpful to prioritize tasks, makes sure all tasks have an issue,
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

View file

@ -0,0 +1,6 @@
---
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 FreeSewings documentation and written text.

View file

@ -0,0 +1,18 @@
---
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.
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.
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.

View file

@ -0,0 +1,9 @@
---
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.

View file

@ -0,0 +1,7 @@
---
title: Writing for freesewing.dev
---
You could write documentation for freesewing.dev, our developers website.
You would need good writing skills and a familiarity with code (Javascript).

View file

@ -0,0 +1,5 @@
---
title: Technical writing
---
<ReadMore list />

View file

@ -0,0 +1,7 @@
---
title: Writing for freesewing.org
---
You could write documentation for freesewing.org, our makers website.
You would need good writing skills and a familiarity with sewing.

View file

@ -0,0 +1,7 @@
---
title: Translation
---
You could translate FreeSewing into one of its additional languages
(French, German, Dutch, Spanish). Or if youre ambitious, add a new one.

View file

@ -0,0 +1,15 @@
---
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
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).

View file

@ -0,0 +1,5 @@
---
title: UI / UX Webdesign
---
You could help us make our website and tools pretty and improve the user experience.

View file

@ -0,0 +1,5 @@
---
title: The freesewing backend
---
<Fixme>Under construction</Fixme>

View file

@ -0,0 +1,5 @@
---
title: The freesewing.dev website
---
<Fixme>Under construction</Fixme>

View file

@ -0,0 +1,27 @@
---
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/)
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/).
#### Not here for core?
If you are interested the FreeSewing project as a whole, the following links
cover different aspects of our setup:
<ReadMore list />

View file

@ -0,0 +1,5 @@
---
title: The freesewing.org website
---
<Fixme>Under construction</Fixme>

View file

@ -0,0 +1,5 @@
---
title: The freesewing on-demand tiler
---
<Fixme>Under construction</Fixme>

View file

@ -0,0 +1,5 @@
---
title: Our tile command line tool
---
<Fixme>Under construction</Fixme>

View file

@ -0,0 +1,49 @@
---
title: Content sources
---
As an editor, you need to know where you can find/edit what type of content.
## 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
<Note>
##### Edit, don't translate
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`.
The rest will be created automatically.
</Note>
## Strapi
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
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.
They are in the [backend repository](https://github.com/freesewing/backend).
<Note>
It's on our todo list to bring the backend code into our monorepo
</Note>

View file

@ -0,0 +1,25 @@
---
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.
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/)
we provide.
<Tip>
Make sure to check out the howtos on [Common tasks for editors](/editors/howtos/)
</Tip>

View file

@ -0,0 +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).

View file

@ -0,0 +1,7 @@
---
title: Common tasks for editors
---
Below is a list of commons tasks for editors
<ReadMore list />

View file

@ -0,0 +1,17 @@
---
title: About frontmatter
order: 10
---
Frontmatter is a way to add metadata to markdown documents.
Frontmatter sits at the top of the file (it's matter that's at the front) and is
surrounded by lines with three dashes on them:
```md
---
title: This is frontmatter
---
```
<ReadMore list />

View file

@ -0,0 +1,11 @@
---
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.
Here's what you need to know:
<ReadMore list />

View file

@ -0,0 +1,16 @@
---
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:
```md
tags: [tag1, another, three]
categories:
- cat1
- anothercat
- somethingelse
```

View file

@ -0,0 +1,16 @@
---
title: Mult-line text
order: 40
---
To add multi-line text in frontmatter, use a `|` character,
and prefix the lines by spaces:
```md
about: |
This is a multi-line text
that will be assigned to the about key
```

View file

@ -0,0 +1,12 @@
---
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:
```md
title: This does not need to be quoted
slogan: "Markdown: This is the way"
```

View file

@ -0,0 +1,10 @@
---
title: Adding a showcase on freesewing.org
for: editors
---
Showcase 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).

View file

@ -0,0 +1,53 @@
---
title: Code and code blocks
order: 80
---
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'
```
````
Gives 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'
```
````
To get:
```js
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

View file

@ -0,0 +1,23 @@
---
title: Custom components
order: 90
---
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
typically require a lot more complexity.
Below is a list of custom components you can use in our Markdown content:
<ReadMore list />
<Tip>
Keep in mind that if you place content inside a customer 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
content inside of it will not be parsed as Markdown.
</Tip>

View file

@ -0,0 +1,21 @@
---
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
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.
```mdx
<Example
part="path_attr"
caption="Example of the Example custom component"
/>
```
<Example part="path_attr" caption="Example of the Example custom component" />

View file

@ -0,0 +1,21 @@
---
title: Fixme
order: 40
---
```md
<Fixme>
##### I am a FIXME
I indicate that something needs work or improvement
</Fixme>
```
<Fixme>
##### I am a FIXME
I indicate that something needs work or improvement
</Fixme>

View file

@ -0,0 +1,16 @@
---
title: Hashtag
order: 60
---
Typically used on our community pages:
```md
<Hashtag tag='WeAreFreeSewing' />
```
Adds our _community_ font and color:
<Hashtag tag='WeAreFreeSewing' />

View file

@ -0,0 +1,20 @@
---
title: Note
order: 10
---
```md
<Note>
##### I am a note
I point out things
</Note>
```
<Note>
##### I am a note
I point out things
</Note>

View file

@ -0,0 +1,42 @@
---
title: ReadMore
order: 70
---
This component will list child pages of the current page.
##### Default
```md
<ReadMore />
```
<ReadMore />
##### With custom title
You can customize the title by passing a `title` prop:
```md
<ReadMore title='Example pages'/>
```
<ReadMore title='Example pages'/>
##### As a list
The most common use of this component is by passing the `list`
prop which returns the pages as a list:
```md
<ReadMore list />
```
<ReadMore list />
##### As a recursive list
You can make the list recursive with the `recurse` prop (which implies the `list` prop):
```md
<ReadMore recurse />
```
<ReadMore recurse />

View file

@ -0,0 +1,5 @@
---
title: Example page 1
---
This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/).

View file

@ -0,0 +1,5 @@
---
title: Example page 2
---
This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/).

View file

@ -0,0 +1,5 @@
---
title: Sub-example page 1
---
This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/).

View file

@ -0,0 +1,5 @@
---
title: Sub-example page 2
---
This page is here to illustrate the use of [the `ReadMore` custom component](/editors/markdown/custom-components/readmore/).

View file

@ -0,0 +1,21 @@
---
title: Tip
order: 20
---
```md
<Tip>
##### I am a tip
I give great advice
</Tip>
```
<Tip>
##### I am a tip
I give great advice
</Tip>

View file

@ -0,0 +1,21 @@
---
title: Warning
order: 30
---
```md
<Warning>
##### I am a warning
Ignore me at your own peril
</Warning>
```
<Warning>
##### I am a warning
Ignore me at your own peril
</Warning>

View file

@ -0,0 +1,27 @@
---
title: YouTube
order: 50
---
This components will embed videos and playlists responsively.
##### Video
Embed a single video:
```md
<YouTube id='Rz6ShSftDlI' />
```
<YouTube id='Rz6ShSftDlI' />
##### Playlist
Embed a playlist:
```md
<YouTube id='RDRz6ShSftDlI' playlist />
```
<YouTube id='RDRz6ShSftDlI' playlist />

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