chore: Port FreeSewing.dev to docusaurus
The replaces the NextJS site powering FreeSewing.dev with a Docusaurus setup. It's part of my efforts to simplify FreeSewing's setup so we can focus on our core value proposition.
This commit is contained in:
parent
497633d1d3
commit
ab3204f9f1
692 changed files with 11037 additions and 20674 deletions
95
sites/dev/docs/howtos/environments/nodejs/readme.mdx
Normal file
95
sites/dev/docs/howtos/environments/nodejs/readme.mdx
Normal file
|
@ -0,0 +1,95 @@
|
|||
---
|
||||
title: FreeSewing in Node.js
|
||||
---
|
||||
|
||||
These instructions explain how you can generate patterns in Node.js.
|
||||
Whether it's in a backend application or on the command line, all
|
||||
it takes is a few lines of code — and a couple of dependencies — to
|
||||
generate a pattern.
|
||||
|
||||
:::tip
|
||||
|
||||
##### Use FreeSewing.org if you just want a pattern
|
||||
|
||||
These instructions are intended for people who want to generate
|
||||
their own patterns using FreeSewing packages.
|
||||
If you _just want a sewing pattern created for you,_
|
||||
you can get all our designs on [FreeSewing.org](https://freesewing.org/),
|
||||
our website for makers.
|
||||
|
||||
:::
|
||||
|
||||
## High level overview
|
||||
|
||||
To generate a pattern, you will need to:
|
||||
|
||||
- Instantiate the pattern (`new ...`)
|
||||
- Pass it the settings and measurements you want to use (`{ ... }`)
|
||||
- Load the theme plugin (using `use()`)
|
||||
- Draft the pattern (using `draft()`)
|
||||
- Render it to SVG (using `render()`)
|
||||
|
||||
Which can be done as a one-liner since `use()`, `draft()` and
|
||||
`render()` are all chainable, as shown below.
|
||||
|
||||
## Code example
|
||||
|
||||
```js
|
||||
import { Aaron } from '@freesewing/aaron' // Design to use
|
||||
import { pluginTheme as theme } from '@freesewing/plugin-theme' // SVG theme
|
||||
|
||||
const svg = new Aaron( // Instantiate pattern
|
||||
{ // Pass in settings. See reference > core > settings
|
||||
sa: 10, // Seam allowance
|
||||
// ...
|
||||
measurements: { // Pass in measurements
|
||||
biceps: 387,
|
||||
chest: 1105,
|
||||
hips: 928,
|
||||
hpsToWaistBack: 502,
|
||||
neck: 420,
|
||||
shoulderSlope: 13,
|
||||
shoulderToShoulder: 481,
|
||||
waistToHips: 139,
|
||||
}
|
||||
})
|
||||
.use(theme) // Load theme plugin
|
||||
.draft() // Draft the pattern
|
||||
.render() // Render to SVG
|
||||
|
||||
// svg now holds the generated SVG code
|
||||
console.log(svg)
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
##### Remarks on the example code
|
||||
|
||||
- We are using `@freesewing/aaron` as the design, but you could use any design
|
||||
- You probably want to [use your own measurements](/reference/settings/measurements)
|
||||
or you could use [our curated measurements sets](https://freesewing.org/curated-sets) to load measurements.
|
||||
- We are using `@freesewing/plugin-theme` to theme our SVG, but you
|
||||
could [pass in your own CSS](/reference/api/svg/style)
|
||||
|
||||
:::
|
||||
|
||||
## Dependencies
|
||||
|
||||
The code above will only work if you've got the required dependencies installed on your system.
|
||||
Obviously you need Node.js, but you will also need the following packages:
|
||||
|
||||
- `@freesewing/core`: Our core library
|
||||
- `@freesewing/plugin-bundle`: Set of common plugins
|
||||
- `@freesewing/aaron` or any design you want to use
|
||||
- Any design on which the design you choose is built. In this case, Aaron depends on `@freesewing/brian`
|
||||
|
||||
For the example above, your `package.json` **dependencies** section will look like this:
|
||||
|
||||
```json
|
||||
"dependencies": {
|
||||
"@freesewing/core": "latest"
|
||||
"@freesewing/aaron": "latest",
|
||||
"@freesewing/brian": "latest",
|
||||
"@freesewing/plugin-theme": "latest"
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue