1
0
Fork 0

wip: Work on design pages

This commit is contained in:
joostdecock 2025-01-02 13:46:54 +01:00
parent 6fb1fd00ce
commit f96594f528
183 changed files with 3255 additions and 1078 deletions

View file

@ -0,0 +1,123 @@
// Designs
import { i18n as aaron } from '@freesewing/aaron'
import { i18n as albert } from '@freesewing/albert'
import { i18n as bee } from '@freesewing/bee'
import { i18n as bella } from '@freesewing/bella'
import { i18n as benjamin } from '@freesewing/benjamin'
import { i18n as bent } from '@freesewing/bent'
import { i18n as bibi } from '@freesewing/bibi'
import { i18n as bob } from '@freesewing/bob'
import { i18n as breanna } from '@freesewing/breanna'
import { i18n as brian } from '@freesewing/brian'
import { i18n as bruce } from '@freesewing/bruce'
import { i18n as carlita } from '@freesewing/carlita'
import { i18n as carlton } from '@freesewing/carlton'
import { i18n as cathrin } from '@freesewing/cathrin'
import { i18n as charlie } from '@freesewing/charlie'
import { i18n as cornelius } from '@freesewing/cornelius'
import { i18n as diana } from '@freesewing/diana'
import { i18n as florence } from '@freesewing/florence'
import { i18n as florent } from '@freesewing/florent'
import { i18n as gozer } from '@freesewing/gozer'
import { i18n as hi } from '@freesewing/hi'
import { i18n as holmes } from '@freesewing/holmes'
import { i18n as hortensia } from '@freesewing/hortensia'
import { i18n as huey } from '@freesewing/huey'
import { i18n as hugo } from '@freesewing/hugo'
import { i18n as jaeger } from '@freesewing/jaeger'
import { i18n as jane } from '@freesewing/jane'
import { i18n as lucy } from '@freesewing/lucy'
import { i18n as lumina } from '@freesewing/lumina'
import { i18n as lumira } from '@freesewing/lumira'
import { i18n as lunetius } from '@freesewing/lunetius'
import { i18n as noble } from '@freesewing/noble'
import { i18n as octoplushy } from '@freesewing/octoplushy'
import { i18n as onyx } from '@freesewing/onyx'
import { i18n as opal } from '@freesewing/opal'
import { i18n as otis } from '@freesewing/otis'
import { i18n as paco } from '@freesewing/paco'
import { i18n as penelope } from '@freesewing/penelope'
import { i18n as sandy } from '@freesewing/sandy'
import { i18n as shelly } from '@freesewing/shelly'
import { i18n as shin } from '@freesewing/shin'
import { i18n as simon } from '@freesewing/simon'
import { i18n as simone } from '@freesewing/simone'
import { i18n as skully } from '@freesewing/skully'
import { i18n as sven } from '@freesewing/sven'
import { i18n as tamiko } from '@freesewing/tamiko'
import { i18n as teagan } from '@freesewing/teagan'
import { i18n as tiberius } from '@freesewing/tiberius'
import { i18n as titan } from '@freesewing/titan'
import { i18n as trayvon } from '@freesewing/trayvon'
import { i18n as tristan } from '@freesewing/tristan'
import { i18n as uma } from '@freesewing/uma'
import { i18n as umbra } from '@freesewing/umbra'
import { i18n as wahid } from '@freesewing/wahid'
import { i18n as walburga } from '@freesewing/walburga'
import { i18n as waralee } from '@freesewing/waralee'
import { i18n as yuri } from '@freesewing/yuri'
import { i18n as lily } from '@freesewing/lily'
/*
* Export the translations
*/
export const i18n = {
aaron,
albert,
bee,
bella,
benjamin,
bent,
bibi,
bob,
breanna,
brian,
bruce,
carlita,
carlton,
cathrin,
charlie,
cornelius,
diana,
florence,
florent,
gozer,
hi,
holmes,
hortensia,
huey,
hugo,
jaeger,
jane,
lucy,
lumina,
lumira,
lunetius,
noble,
octoplushy,
onyx,
opal,
otis,
paco,
penelope,
sandy,
shelly,
shin,
simon,
simone,
skully,
sven,
tamiko,
teagan,
tiberius,
titan,
trayvon,
tristan,
uma,
umbra,
wahid,
walburga,
waralee,
yuri,
lily,
}

View file

@ -57,6 +57,8 @@ import { Walburga as walburga } from '@freesewing/walburga'
import { Waralee as waralee } from '@freesewing/waralee' import { Waralee as waralee } from '@freesewing/waralee'
import { Yuri as yuri } from '@freesewing/yuri' import { Yuri as yuri } from '@freesewing/yuri'
import { Lily as lily } from '@freesewing/lily' import { Lily as lily } from '@freesewing/lily'
// Translations
import { i18n as translations } from './i18n.mjs'
// Examples // Examples
import { designExampleIds, designExampleHrefs } from './examples.mjs' import { designExampleIds, designExampleHrefs } from './examples.mjs'
@ -170,6 +172,11 @@ export const designers = Array.from(_dess)
.filter((t) => (t ? true : false)) .filter((t) => (t ? true : false))
.sort() .sort()
/*
* Export the translations
*/
export const i18n = translations
/* /*
* These are examples * These are examples
*/ */

View file

@ -426,7 +426,7 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
<div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium">Difficulty</div> <div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium">Difficulty</div>
<Difficulty score={about[design].difficulty} /> <Difficulty score={about[design].difficulty} />
{optionalMeasurements[design] ? ( {optionalMeasurements[design].length > 0 ? (
<> <>
<div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium"> <div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium">
Optional Measurements Optional Measurements
@ -434,7 +434,11 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
<div className=""> <div className="">
{optionalMeasurements[design].map((m, i) => ( {optionalMeasurements[design].map((m, i) => (
<> <>
<Link href={`/docs/measurements/${m.toLowerCase()}`} key={m}> <Link
href={`/docs/measurements/${m.toLowerCase()}`}
key={m}
className={linkClasses}
>
{measurementsTranslations[m]} {measurementsTranslations[m]}
</Link> </Link>
{i < optionalMeasurements[design].length - 1 ? <span>, </span> : null} {i < optionalMeasurements[design].length - 1 ? <span>, </span> : null}
@ -444,7 +448,7 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
</> </>
) : null} ) : null}
{requiredMeasurements[design] ? ( {requiredMeasurements[design].length > 0 ? (
<> <>
<div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium"> <div className="tw-mt-2 tw-text-sm tw-opacity-70 tw-font-medium">
Required Measurements Required Measurements
@ -452,7 +456,11 @@ export const DesignInfo = ({ Link = false, design = false, noDocsLink = false })
<div className=""> <div className="">
{requiredMeasurements[design].map((m, i) => ( {requiredMeasurements[design].map((m, i) => (
<> <>
<Link href={`/docs/measurements/${m.toLowerCase()}`} key={m}> <Link
href={`/docs/measurements/${m.toLowerCase()}`}
key={m}
className={linkClasses}
>
{measurementsTranslations[m]} {measurementsTranslations[m]}
</Link> </Link>
{i < requiredMeasurements[design].length - 1 ? <span>, </span> : null} {i < requiredMeasurements[design].length - 1 ? <span>, </span> : null}

View file

@ -5,7 +5,7 @@ import { LineDrawingWrapper, thin, dashed } from './shared.mjs'
* This strokeScale factor is used to normalize the stroke across * This strokeScale factor is used to normalize the stroke across
* designs so we have a consistent look when showing our collection * designs so we have a consistent look when showing our collection
*/ */
const strokeScale = 1.5 const strokeScale = 1.8
/** /**
* A linedrawing component for Charlie * A linedrawing component for Charlie

View file

@ -35,6 +35,8 @@ import { Uma, UmaFront, UmaBack } from './uma.mjs'
import { Umbra, UmbraFront, UmbraBack } from './umbra.mjs' import { Umbra, UmbraFront, UmbraBack } from './umbra.mjs'
import { Wahid, WahidFront, WahidBack } from './wahid.mjs' import { Wahid, WahidFront, WahidBack } from './wahid.mjs'
import { MissingLinedrawing } from './missing.mjs'
/* /*
* Bundle all fronts * Bundle all fronts
*/ */
@ -61,20 +63,41 @@ const lineDrawingsFront = {
gozer: GozerFront, gozer: GozerFront,
hi: HiFront, hi: HiFront,
holmes: HolmesFront, holmes: HolmesFront,
hortensia: HortensiaFront,
huey: HueyFront, huey: HueyFront,
hugo: HugoFront, hugo: HugoFront,
jaeger: MissingLinedrawing,
jane: MissingLinedrawing,
lily: MissingLinedrawing,
lucy: LucyFront, lucy: LucyFront,
lumina: LuminaFront, lumina: LuminaFront,
lumira: LumiraFront, lumira: LumiraFront,
lunetius: LunetiusFront, lunetius: LunetiusFront,
noble: NobleFront, noble: NobleFront,
hortensia: HortensiaFront, octoplushy: MissingLinedrawing,
onyx: MissingLinedrawing,
opal: MissingLinedrawing,
otis: MissingLinedrawing,
paco: MissingLinedrawing,
penelope: MissingLinedrawing,
sandy: MissingLinedrawing,
shelly: MissingLinedrawing,
shin: MissingLinedrawing,
simon: SimonFront, simon: SimonFront,
simone: MissingLinedrawing,
skully: MissingLinedrawing,
sven: MissingLinedrawing,
tamiko: MissingLinedrawing,
teagan: TeaganFront, teagan: TeaganFront,
tiberius: MissingLinedrawing,
titan: MissingLinedrawing,
tristan: TristanFront, tristan: TristanFront,
uma: UmaFront, uma: UmaFront,
umbra: UmbraFront, umbra: UmbraFront,
wahid: WahidFront, wahid: WahidFront,
walburga: MissingLinedrawing,
waralee: MissingLinedrawing,
yuri: MissingLinedrawing,
} }
/* /*
@ -135,20 +158,41 @@ const lineDrawings = {
gozer: Gozer, gozer: Gozer,
hi: Hi, hi: Hi,
holmes: Holmes, holmes: Holmes,
hortensia: Hortensia,
huey: Huey, huey: Huey,
hugo: Hugo, hugo: Hugo,
jaeger: MissingLinedrawing,
jane: MissingLinedrawing,
lily: MissingLinedrawing,
lucy: Lucy, lucy: Lucy,
lumina: Lumina, lumina: Lumina,
lumira: Lumira, lumira: Lumira,
lunetius: Lunetius, lunetius: Lunetius,
noble: Noble, noble: Noble,
hortensia: Hortensia, octoplushy: MissingLinedrawing,
onyx: MissingLinedrawing,
opal: MissingLinedrawing,
otis: MissingLinedrawing,
paco: MissingLinedrawing,
penelope: MissingLinedrawing,
sandy: MissingLinedrawing,
shelly: MissingLinedrawing,
shin: MissingLinedrawing,
simon: Simon, simon: Simon,
simone: MissingLinedrawing,
skully: MissingLinedrawing,
sven: MissingLinedrawing,
tamiko: MissingLinedrawing,
teagan: Teagan, teagan: Teagan,
tiberius: MissingLinedrawing,
titan: MissingLinedrawing,
tristan: Tristan, tristan: Tristan,
uma: Uma, uma: Uma,
umbra: Umbra, umbra: Umbra,
wahid: Wahid, wahid: Wahid,
walburga: MissingLinedrawing,
waralee: MissingLinedrawing,
yuri: MissingLinedrawing,
} }
/* /*

View file

@ -5,7 +5,7 @@ import { LineDrawingWrapper, regular } from './shared.mjs'
* This strokeScale factor is used to normalize the stroke across * This strokeScale factor is used to normalize the stroke across
* designs so we have a consistent look when showing our collection * designs so we have a consistent look when showing our collection
*/ */
const strokeScale = 0.7 const strokeScale = 0.9
/** /**
* A linedrawing component for Hugo * A linedrawing component for Hugo

View file

@ -5,7 +5,7 @@ import { LineDrawingWrapper, thin, dashed } from './shared.mjs'
* This strokeScale factor is used to normalize the stroke across * This strokeScale factor is used to normalize the stroke across
* designs so we have a consistent look when showing our collection * designs so we have a consistent look when showing our collection
*/ */
const strokeScale = 0.8 const strokeScale = 1.2
/** /**
* A linedrawing component for Lumira * A linedrawing component for Lumira

View file

@ -5,7 +5,7 @@ import { LineDrawingWrapper, thin, dashed } from './shared.mjs'
* This strokeScale factor is used to normalize the stroke across * This strokeScale factor is used to normalize the stroke across
* designs so we have a consistent look when showing our collection * designs so we have a consistent look when showing our collection
*/ */
const strokeScale = 1.2 const strokeScale = 1.5
/** /**
* A linedrawing component for Lunetius * A linedrawing component for Lunetius

View file

@ -0,0 +1,3 @@
import React from 'react'
export const MissingLinedrawing = () => <span>no linedrawing for this design</span>

View file

@ -1,7 +1,15 @@
import tlds from 'tlds/index.json' with { type: 'json' } import tlds from 'tlds/index.json' with { type: 'json' }
import { cloudflare as cloudflareConfig } from '@freesewing/config' import { cloudflare as cloudflareConfig } from '@freesewing/config'
import set from 'lodash/set.js' import _set from 'lodash/set.js'
import unset from 'lodash/unset.js' import _unset from 'lodash/unset.js'
import _orderBy from 'lodash/orderBy.js'
/*
* Re-export lodash utils
*/
export const set = _set
export const unset = _unset
export const orderBy = _orderBy
/* /*
* VARIABLES * VARIABLES
@ -285,6 +293,71 @@ export const newPatternUrl = ({ design, settings = {}, view = 'draft' }) =>
*/ */
export const notEmpty = (input) => `${input}`.length > 0 export const notEmpty = (input) => `${input}`.length > 0
/*
* A method to build a structured menu of design options
*/
export const optionsMenuStructure = (options, settings, asFullList = false) => {
if (!options) return options
const sorted = {}
for (const [name, option] of Object.entries(options)) {
if (typeof option === 'object') sorted[name] = { ...option, name }
}
const menu = {}
// Fixme: One day we should sort this based on the translation
for (const option of orderBy(sorted, ['order', 'menu', 'name'], ['asc', 'asc', 'asc'])) {
if (typeof option === 'object') {
const oType = optionType(option)
option.dflt = option.dflt || option[oType]
if (oType === 'pct') option.dflt /= 100
if (typeof option.menu === 'function')
option.menu = asFullList
? 'conditional'
: option.menu(settings, mergeOptions(settings, options))
if (option.menu) {
// Handle nested groups that don't have any direct children
if (option.menu.includes('.')) {
let menuPath = []
for (const chunk of option.menu.split('.')) {
menuPath.push(chunk)
set(menu, `${menuPath.join('.')}.isGroup`, true)
}
}
set(menu, `${option.menu}.isGroup`, true)
set(menu, `${option.menu}.${option.name}`, option)
} else if (typeof option.menu === 'undefined') {
console.log(
`Warning: Option ${option.name} does not have a menu config. ` +
'Either configure it, or set it to false to hide this option.'
)
}
}
}
// Always put advanced at the end
if (menu.advanced) {
const adv = menu.advanced
delete menu.advanced
menu.advanced = adv
}
return menu
}
/*
* A method to determine the option type based on its config
*/
export const optionType = (option) => {
if (typeof option?.pct !== 'undefined') return 'pct'
if (typeof option?.bool !== 'undefined') return 'bool'
if (typeof option?.count !== 'undefined') return 'count'
if (typeof option?.deg !== 'undefined') return 'deg'
if (typeof option?.list !== 'undefined') return 'list'
if (typeof option?.mm !== 'undefined') return 'mm'
return 'constant'
}
/* /*
* Generic rounding method * Generic rounding method
* *

View file

@ -1,8 +1,9 @@
--- ---
title: Aaron A-shirt title: Aaron A-Shirt
sidebar_label: Aaron
--- ---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus' import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection' import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link' import Link from '@docusaurus/Link'
@ -10,7 +11,8 @@ import Notes from '@site/docs/docs/designs/aaron/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs' import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc> <DocusaurusDoc>
<DesignInfo design="aaron" Link={Link} />
<DesignInfo design="aaron" Link={Link} />
## Designer notes {#notes} ## Designer notes {#notes}

View file

@ -0,0 +1,25 @@
---
title: Albert apron
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/albert/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="albert" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="albert" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bee bikini top
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bee/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bee" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bee" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bella body block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bella/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bella" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bella" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Benjamin bow tie
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/benjamin/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="benjamin" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="benjamin" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bent body Block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bent/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bent" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bent" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bibi body block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bibi/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bibi" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bibi" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bob the bib
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bob/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bob" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bob" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Breanna body block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/breanna/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="breanna" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="breanna" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Brian body block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/brian/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="brian" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="brian" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Bruce boxer briefs
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/bruce/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="bruce" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="bruce" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Carlita coat
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/carlita/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="carlita" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="carlita" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Carlton coat
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/carlton/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="carlton" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="carlton" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Cathrin corset
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/cathrin/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="cathrin" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="cathrin" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Charlie chinos
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/charlie/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="charlie" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="charlie" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Cornelius cycling breeches
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/cornelius/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="cornelius" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="cornelius" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Diana draped top
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/diana/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="diana" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="diana" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Florence face mask
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/florence/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="florence" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="florence" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Florent flat cap
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/florent/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="florent" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="florent" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Gozer
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/gozer/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="gozer" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="gozer" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Hi the shark
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/hi/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="hi" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="hi" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Holmes deerstalker hat
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/holmes/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="holmes" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="holmes" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Hortensia handbag
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/hortensia/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="hortensia" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="hortensia" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Huey hoodie
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/huey/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="huey" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="huey" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Hugo hoodie
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/hugo/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="hugo" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="hugo" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Jaeger jacket
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/jaeger/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="jaeger" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="jaeger" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Jane 1790's shift
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/jane/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="jane" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="jane" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Lily Leggings
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/lily/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="lily" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="lily" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Lucy tie-on pocket
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/lucy/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="lucy" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="lucy" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Lumina leggings
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/lumina/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="lumina" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="lumina" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Lumira leggings
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/lumira/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="lumira" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="lumira" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Lunetius Lacerna
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/lunetius/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="lunetius" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="lunetius" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Noble body block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/noble/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="noble" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="noble" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Octoplushy the octopus
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/octoplushy/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="octoplushy" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="octoplushy" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Onyx one-piece
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/onyx/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="onyx" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="onyx" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Opal Overalls
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/opal/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="opal" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="opal" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Otis romper
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/otis/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="otis" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="otis" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Paco pants
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/paco/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="paco" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="paco" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Penelope pencil skirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/penelope/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="penelope" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="penelope" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Sandy circle skirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/sandy/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="sandy" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="sandy" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Shelly swimshirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/shelly/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="shelly" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="shelly" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Shin swim trunks
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/shin/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="shin" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="shin" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Simon shirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/simon/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="simon" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="simon" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Simone shirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/simone/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="simone" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="simone" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Skully logo plush toy
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/skully/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="skully" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="skully" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Sven sweatshirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/sven/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="sven" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="sven" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Tamiko top
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/tamiko/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="tamiko" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="tamiko" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Teagan T-shirt
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/teagan/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="teagan" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="teagan" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Tiberius Tunica
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/tiberius/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="tiberius" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="tiberius" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Titan trouser block
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/titan/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="titan" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="titan" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Trayvon tie
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/trayvon/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="trayvon" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="trayvon" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Tristan top
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/tristan/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="tristan" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="tristan" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Uma undies
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/uma/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="uma" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="uma" Link={Link} />
</DocusaurusDoc>

View file

@ -1,17 +1,25 @@
--- ---
title: Umbra Undies title: Umbra undies
sidebar_label: Umbra
--- ---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus' import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection' import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link' import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/umbra/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs' import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc> <DocusaurusDoc>
<DesignInfo design="umbra" Link={Link} />
<DesignInfo design="umbra" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples ## Examples
<DesignExamples design="umbra" Link={Link} /> <DesignExamples design="umbra" Link={Link} />
</DocusaurusDoc> </DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Wahid waistcoat
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/wahid/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="wahid" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="wahid" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Walburga Wappenrock
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/walburga/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="walburga" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="walburga" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Waralee wrap pants
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/waralee/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="waralee" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="waralee" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,25 @@
---
title: Yuri hoodie
---
{/* This page is auto-generated. Manual changes will be lost. */}
import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Link from '@docusaurus/Link'
import Notes from '@site/docs/docs/designs/yuri/_notes.mdx'
import DesignExamples from '@site/src/components/DesignExamples.mjs'
<DocusaurusDoc>
<DesignInfo design="yuri" Link={Link} />
## Designer notes {#notes}
<Notes />
## Examples
<DesignExamples design="yuri" Link={Link} />
</DocusaurusDoc>

View file

@ -0,0 +1,10 @@
Albert was something that I didn't plan on making. My daughter, who's a visual artist, asked if I could make her an
apron. Of course, I could not deny her such a request. And since I didn't have a pattern, I needed to make one.
And that meant that I could just as well make one for FreeSewing while I was at it.
The design is simple, since an apron generally is. And yet, where else than at FreeSewing can you get a
bespoke apron?
This is a very good project for a beginning sewist.
Wouter

View file

@ -3,20 +3,17 @@ title: "Albert: FreeSewing's Albert Apron"
sidebar_label: Albert Apron sidebar_label: Albert Apron
--- ---
<DesignInfo design="albert" docs /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/albert/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="albert" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Albert was something that I didn't plan on making. My daughter, who's a visual artist, asked if I could make her an <Notes />
apron. Of course, I could not deny her such a request. And since I didn't have a pattern, I needed to make one.
And that meant that I could just as well make one for FreeSewing while I was at it.
The design is simple, since an apron generally is. And yet, where else than at FreeSewing can you get a
bespoke apron?
This is a very good project for a beginning sewist.
Wouter
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,9 @@
I made Bee together with Prudencerabbit, as they wanted to make a swimwear pattern that went along with a previous freesewing pattern.
It is based on a garment they made and wanted to make available for other people make as well.
We worked of FreeSewing's body block Bella as a base, converting it to a single dart block to make the top.
During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee!
You can get this variation by using [option Cross Back Ties](/docs/designs/bee/options#crossbackties).
Bee can also be made reversible by using options [Reversible](/docs/designs/bee/options#reversible) & [Duo Colours Ties](/docs/designs/bee/options#duocolorties).
With the previous pattern being retired you can use [Uma](/docs/designs/uma) to make a matching bikini bottom.
bobgeorgethe3rd

View file

@ -3,21 +3,17 @@ title: "Bee: FreeSewing's Bee Bikini Top"
sidebar_label: Bee Bikini Top sidebar_label: Bee Bikini Top
--- ---
<DesignInfo design="bee" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bee/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="bee" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
I made Bee together with Prudencerabbit, as they wanted to make a swimwear pattern that went along with a previous freesewing pattern. <Notes />
It is based on a garment they made and wanted to make available for other people make as well.
We worked of FreeSewing's body block Bella as a base, converting it to a single dart block to make the top.
During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee!
You can get this variation by using [option Cross Back Ties](/docs/designs/bee/options#crossbackties).
Bee can also be made reversible by using options [Reversible](/docs/designs/bee/options#reversible) & [Duo Colours Ties](/docs/designs/bee/options#duocolorties).
With the previous pattern being retired you can use [Uma](/docs/designs/uma) to make a matching bikini bottom.
\_
bobgeorgethe3rd
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,15 @@
This block was a collaboration between myself and an industry insider who
prefers to remain anonymous because of her profession.
It is the parametric version of a base block for womenswear that is used in the
industry in Italy to design womenswear. However, while the block will adapt to
your measurements, the original block that it is based on is in really not
suitable for a very wide sizing range.
So your mileage may very here, especially when you are further from the kind of
skinny ladies Italians tend to design for.
See also [this FAQ on womenswear blocks for more background
info](/docs/about/faq/womenswear-blocks).
joost

View file

@ -3,20 +3,27 @@ title: "Bella: FreeSewing's Bella Body Block"
sidebar_label: Bella Body Block sidebar_label: Bella Body Block
--- ---
<DesignInfo design="bella" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bella/_notes.mdx'
:::tip Bella is a block, not a pattern
A block is a basic shape on which other patterns are based. They are sometimes
also called slopers, although purists will argue that a block and a sloper are
different things.
Blocks are typically not made as-is but rather serve as a basis for other
patterns.
:::
<DocusaurusDoc>
<DesignInfo design="bella" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
This block was a collaboration between myself and an industry insider who prefers to remain anonymous because of her profession. <Notes />
It is the parametric version of a base block for womenswear that is used in the industry in Italy to design womenswear.
However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range.
So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for.
See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks).
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,17 @@
Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then
still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help
him. This seemed like something I could undertake. Since I had no experience with making patterns,
my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties.
So that would be something I could contribute.
In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of
the sewist, but also that patterns could change depending on the options one would like. So I tried
to incorporate some options that I thought bow ties should have.
The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added
that will make the bow tie adjustable. These can be found in speciality stores, and are available online.
Because of the precision needed, and the curved seams, this may not be the easiest pattern to start
with. But is is a nice one to help you use those scraps from other projects.
Wouter

View file

@ -3,27 +3,17 @@ title: "Benjamin: FreeSewing's Benjamin Bow Tie"
sidebar_label: Benjamin Bow Tie sidebar_label: Benjamin Bow Tie
--- ---
<DesignInfo design="benjamin" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/benjamin/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="benjamin" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then <Notes />
still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help
him. This seemed like something I could undertake. Since I had no experience with making patterns,
my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties.
So that would be something I could contribute.
In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of
the sewist, but also that patterns could change depending on the options one would like. So I tried
to incorporate some options that I thought bow ties should have.
The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added
that will make the bow tie adjustable. These can be found in speciality stores, and are available online.
Because of the precision needed, and the curved seams, this may not be the easiest pattern to start
with. But is is a nice one to help you use those scraps from other projects.
Wouter
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,11 @@
I Designed Bent because I wanted to make
[Jaeger](https://freesewing.org/designs/jaeger) and back then, FreeSewing had
no foundation block with a 2-part sleeve that's used in jackets and coats.
So Bent is essentially Brian with a 2-part sleeve -- in other words, it has an
undersleeve part and a topsleeve part -- and that's about it.
Since designing Bent, it has become the foundation for all our coat and jacket
designs.
joost

View file

@ -3,21 +3,27 @@ title: "Bent: FreeSewing's Bent Body Block"
sidebar_label: Bent Body Block sidebar_label: Bent Body Block
--- ---
<DesignInfo design="bent" docs /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bent/_notes.mdx'
:::tip Bent is a block, not a pattern
A block is a basic shape on which other patterns are based. They are sometimes
also called slopers, although purists will argue that a block and a sloper are
different things.
Blocks are typically not made as-is but rather serve as a basis for other
patterns.
:::
<DocusaurusDoc>
<DesignInfo design="bent" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
I Designed Bent because I wanted to make [Jaeger](https://freesewing.org/designs/jaeger) and back <Notes />
then, FreeSewing had no foundation block with a 2-part sleeve that's used in
jackets and coats.
So Bent is essentially Brian with a 2-part sleeve -- in other words, it has an
undersleeve part and a topsleeve part -- and that's about it.
Since designing Bent, it has become the foundation for all our coat and jacket
designs.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,48 @@
When I was designing my (in progress) Tina top, I originally was basing the
pattern on Teagan and Brian. However, Tina is supposed to work for people with
breasts and Brian is mostly designed for menswear and doesn't support much body
and bust fitting. So I created Bibi as a base for Tina.
For Bibi, I reused code from Brian mostly for the sleevecap and armhole
construction and added a basic front bust adjustment. Because Bibi is supposed
to be usable for very different lengths, I also changed the sideline
calculation to fit to the waist and seat measurements and added a sleeveless
option. After some fine-tuning, this is basically the result.
While Bibi was specifically made to support people with breasts, it also works
fine as a base for unisex clothes or t-shirts.
Essentially, Bibi _is_ just a simple T-shirt/A-shirt pattern that tries to fit
the body on default settings. You can use it as alternative to Brian to Teagan
for creating your own designs, especially if you need some basic bust support.
However, it's also important to talk about what Bibi is not:
Bibi can definitely be sewn as a simple top or dress, but it's mainly designed
as a building block for other patterns or your custom designs.
Bibi is highly customizable, but it does not necessarily represent a specific
garment or follow a specific style. Some option combinations might not make
much sense, and you may have to experiment with different options yourself to
find the design you're looking for.
You can make Bibi as short as a sports bra, or as long as a dress, but that
doesn't mean that Bibi creates a good bra or dress as is. A sports bra
probably needs more darts and lots of negative ease, and if you just make it
dress-length, it will probably look like a sack.
Additionally, when you make a dress with Bibi out of woven fabric, you'll have
to ensure yourself that there is enough room for leg movement. Depending on
the shape around the waist or the size of the neck hole, you also may have to
add buttons or zippers on the front or back so you can actually put it on.
Bibi is also not a standard block/sloper for woven fabric. It only does a very
basic front bust adjustment designed for stretchy knit fabric and will not work
well as a base for fitted shirts and blouses from woven fabric. You'll also
need to increase ease settings when working with non-stretchy fabric.
The name Bibi is a little joke and comes from _Bibi und Tina_, a German audio
play for children, where 13-year-old witch _Bibi Blocksberg_ is a companion of
_Tina_. So it kinda makes sense.
Jonathan

View file

@ -3,66 +3,17 @@ title: "Bibi: FreeSewing's Bibi Body Block"
sidebar_label: 'Bibi Body Block' sidebar_label: 'Bibi Body Block'
--- ---
<DesignInfo design="bibi" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bibi/_notes.mdx'
:::note Bibi is a pattern building block <DocusaurusDoc>
Bibi can be sewn as a simple top, but is mostly designed as a building block <DesignInfo design="bibi" noDocsLink />
for other patterns or custom designs. </DocusaurusDoc>
You may want to finish the hem, armholes, and neck using knit bands, knit
binding or ribbing fabric. In this case, you may need additional material.
:::
## Designer Notes {#notes} ## Designer Notes {#notes}
When I was designing my (in progress) Tina top, I originally was basing the <Notes />
pattern on Teagan and Brian. However, Tina is supposed to work for people with
breasts and Brian is mostly designed for menswear and doesn't support much body
and bust fitting. So I created Bibi as a base for Tina.
For Bibi, I reused code from Brian mostly for the sleevecap and armhole
construction and added a basic front bust adjustment. Because Bibi is supposed
to be usable for very different lengths, I also changed the sideline
calculation to fit to the waist and seat measurements and added a sleeveless
option. After some fine-tuning, this is basically the result.
While Bibi was specifically made to support people with breasts, it also works
fine as a base for unisex clothes or t-shirts.
Essentially, Bibi _is_ just a simple T-shirt/A-shirt pattern that tries to fit
the body on default settings. You can use it as alternative to Brian to Teagan
for creating your own designs, especially if you need some basic bust support.
However, it's also important to talk about what Bibi is not:
Bibi can definitely be sewn as a simple top or dress, but it's mainly designed
as a building block for other patterns or your custom designs.
Bibi is highly customizable, but it does not necessarily represent a specific
garment or follow a specific style. Some option combinations might not make
much sense, and you may have to experiment with different options yourself to
find the design you're looking for.
You can make Bibi as short as a sports bra, or as long as a dress, but that
doesn't mean that Bibi creates a good bra or dress as is. A sports bra
probably needs more darts and lots of negative ease, and if you just make it
dress-length, it will probably look like a sack.
Additionally, when you make a dress with Bibi out of woven fabric, you'll have
to ensure yourself that there is enough room for leg movement. Depending on
the shape around the waist or the size of the neck hole, you also may have to
add buttons or zippers on the front or back so you can actually put it on.
Bibi is also not a standard block/sloper for woven fabric. It only does a very
basic front bust adjustment designed for stretchy knit fabric and will not work
well as a base for fitted shirts and blouses from woven fabric. You'll also
need to increase ease settings when working with non-stretchy fabric.
The name Bibi is a little joke and comes from _Bibi und Tina_, a German audio
play for children, where 13-year-old witch _Bibi Blocksberg_ is a companion of
_Tina_. So it kinda makes sense.
Jonathan
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,12 @@
The only reason I designed this pattern is because I wanted something very
simple to use in our [pattern design
tutorial](https://freesewing.dev/tutorials/pattern-design).
In fact, I considered this design too simple to include on FreeSewing.org and
for many years it was not available.
But then users started asking _why_ it was not available, and I didn't really
have a good answer for that.
So here it is. A fully parametric bib named Bob.
joost

View file

@ -3,22 +3,17 @@ title: "Bob: FreeSewing's Bob the Bib"
sidebar_label: Bob the Bib sidebar_label: Bob the Bib
--- ---
<DesignInfo design="bob" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bob/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="bob" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
The only reason I designed this pattern is because I wanted something very <Notes />
simple to use in our [pattern design
tutorial](https://freesewing.dev/tutorials/pattern-design).
In fact, I considered this design too simple to include on FreeSewing.org and
for many years it was not available.
But then users started asking _why_ it was not available, and I didn't really
have a good answer for that.
So here it is. A fully parametric bib named Bob.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,14 @@
With Breanna, I wanted to do two things:
- Create a basic block like [Brian](https://freesewing.org/designs/brian) but
for womenswear
- Try to see in how many different ways I could support the bust dart
It hasn't been a complete success.
While some people get good results, others do not.
I leave it up because it's know to work for some. You can check [this FAQ on
womenswear blocks for more background info](/docs/about/faq/womenswear-blocks)
about the situation with regards to womenswear blocks.
joost

View file

@ -3,7 +3,9 @@ title: "Breanna FreeSewing's Breanna Body Block"
sidebar_label: Breanna Body Block sidebar_label: Breanna Body Block
--- ---
<DesignInfo design="breanna" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/breanna/_notes.mdx'
:::tip Breanna is a block, not a pattern :::tip Breanna is a block, not a pattern
@ -15,22 +17,13 @@ Blocks are typically not made as-is but rather serve as a basis for other
patterns. patterns.
::: :::
<DocusaurusDoc>
<DesignInfo design="breanna" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
With Breanna, I wanted to do two things: <Notes />
- Create a basic block like [Brian](https://freesewing.org/designs/brian) but
for womenswear
- Try to see in how many different ways I could support the bust dart
It hasn't been a complete success.
While some people get good results, others do not.
I leave it up because it's know to work for some. You can check [this FAQ on
womenswear blocks for more background info](/docs/about/faq/womenswear-blocks)
about the situation with regards to womenswear blocks.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,16 @@
Brian is FreeSewing's foundational body block for menswear. It underpins many
of our designs and has done so for many years.
It is inspired by the teachings of Gareth Kershaw, but has a number of
improvements such as handling shoulder slope, the ability to shift the shoulder
seam backward and forward on both collar and shoulder side, as well as a highly
configurable sleevecap.
Perhaps just as important as what it does, is what it does not do: It does not
fit the body. It's just straight down from the chest. No fitting of the waist
whatsoever.
This is intentional to make it easier to extend this design in a variety of
styles.
joost

View file

@ -3,26 +3,27 @@ title: "Brian: FreeSewing's Brian Body Block"
sidebar_label: Brian Body Block sidebar_label: Brian Body Block
--- ---
<DesignInfo design="brian" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/brian/_notes.mdx'
:::tip Brian is a block, not a pattern
A block is a basic shape on which other patterns are based. They are sometimes
also called slopers, although purists will argue that a block and a sloper are
different things.
Blocks are typically not made as-is but rather serve as a basis for other
patterns.
:::
<DocusaurusDoc>
<DesignInfo design="brian" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Brian is FreeSewing's foundational body block for menswear. It underpins many <Notes />
of our designs and has done so for many years.
It is inspired by the teachings of Gareth Kershaw, but has a number of
improvements such as handling shoulder slope, the ability to shift the shoulder
seam backward and forward on both collar and shoulder side, as well as a highly
configurable sleevecap.
Perhaps just as important as what it does, is what it does not do: It does not
fit the body. It's just straight down from the chest. No fitting of the waist
whatsoever.
This is intentional to make it easier to extend this design in a variety of
styles.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,9 @@
I originally designed Bruce many years ago, and it's gone through a couple of
iterations since. Most notably, Bruce can now be adapted to not have any bulge,
making it a fully gender-neutral design and a popular choice for people who
want a express a more masculine look without sacrificing fit.
I have not worn any other underwear than Bruce for at least a decade.
Suffice to say Bruce comes highly recommended.
joost

View file

@ -3,19 +3,17 @@ title: "Bruce: FreeSewing's Bruce Boxer Briefs"
sidebar_label: Bruce Boxer Briefs sidebar_label: Bruce Boxer Briefs
--- ---
<DesignInfo design="bruce" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/bruce/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="bruce" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
I originally designed Bruce many years ago, and it's gone through a couple of <Notes />
iterations since. Most notably, Bruce can now be adapted to not have any bulge,
making it a fully gender-neutral design and a popular choice for people who
want a express a more masculine look without sacrificing fit.
I have not worn any other underwear than Bruce for at least a decade.
Suffice to say Bruce comes highly recommended.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,11 @@
Carlita is [Carlton](https://freesewing.org/designs/carlton) with a full bust adjustment worked into a princess seam.
It is, in other words, Carlton for people who have breasts, or at least are looking for a more female-presenting cut.
Apart from that, it's pretty much the same, with the exception of the chest
pocket which for Carlita is worked into the princess seam.
Just like with Carlton, I can't claim all credit for myself as this design was
a collaboration with [my friend Anneke
Caramin](https://www.instagram.com/annekecaramin/).
joost

View file

@ -3,21 +3,17 @@ title: "Carlita: FreeSewing's Carlita Coat"
sidebar_label: Carlita Coat sidebar_label: Carlita Coat
--- ---
<DesignInfo design="carlita" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/carlita/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="carlita" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Carlita is [Carlton](https://freesewing.org/designs/carlton) with a full bust adjustment worked into a princess seam. <Notes />
It is, in other words, Carlton for people who have breasts, or at least are looking for a more female-presenting cut.
Apart from that, it's pretty much the same, with the exception of the chest
pocket which for Carlita is worked into the princess seam.
Just like with Carlton, I can't claim all credit for myself as this design was
a collaboration with [my friend Anneke
Caramin](https://www.instagram.com/annekecaramin/).
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,16 @@
Carlton is the reverse-engineered version of the coat worn by Benedict
Cumberbatch in [the Sherlock
TV-series](<https://en.wikipedia.org/wiki/Sherlock_(TV_series)>).
It was painstakingly puzzled together by myself and [my friend Anneke
Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and
pictures we found on the internet.
From the outset, we wanted to make a version for ladies too, which is what
[Carlita](https://freesewing.org/designs/carlita) is.
If you want to cosplay Sherlock Holmes, you'll be hard-pressed to find a better
design.
And if, like me, you just want a warm coat, it's great for that too.
joost

View file

@ -3,26 +3,17 @@ title: "Carlton: FreeSewing's Carlton Coat"
sidebar_label: Carlton Coat sidebar_label: Carlton Coat
--- ---
<DesignInfo design="carlton" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/carlton/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="carlton" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Carlton is the reverse-engineered version of the coat worn by Benedict <Notes />
Cumberbatch in [the Sherlock
TV-series](<https://en.wikipedia.org/wiki/Sherlock_(TV_series)>).
It was painstakingly puzzled together by myself and [my friend Anneke
Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and
pictures we found on the internet.
From the outset, we wanted to make a version for ladies too, which is what
[Carlita](https://freesewing.org/designs/carlita) is.
If you want to cosplay Sherlock Holmes, you'll be hard-pressed to find a better
design.
And if, like me, you just want a warm coat, it's great for that too.
joost
## What You Need {#needs} ## What You Need {#needs}
@ -41,7 +32,9 @@ To make Carlton, you will need the following:
:::warning :::warning
Carlton has a lot of pieces! These lengths are estimates, you may need more or less depending on your size but if in doubt add an extra 0.5 to 1 metre of fabric. Carlton has a lot of pieces! These lengths are estimates, you may need more or
less depending on your size but if in doubt add an extra 0.5 to 1 metre of
fabric.
::: :::
@ -49,38 +42,67 @@ Carlton has a lot of pieces! These lengths are estimates, you may need more or l
### Main Fabric ### Main Fabric
You want a fabric that has a bit of body that holds its shape. Generally **Wools** of **coating weight** will be the best choice as they will provide warmth and give shape to the coat. Other fabrics of **coating weight** should also work. However if you are looking for something more lightweight you could try **Linens** and lighter **Wools**, but you may need to face these fabrics to give them more body before construction. **Fleece** is a cheaper alternate to **Wools** but may note keep as long, if you are putting the effort into properly tailoring Carlton then you are gonna want to consider buying a fabric that will last for a long period of time. You want a fabric that has a bit of body that holds its shape. Generally
**Wools** of **coating weight** will be the best choice as they will provide
warmth and give shape to the coat. Other fabrics of **coating weight** should
also work. However if you are looking for something more lightweight you could
try **Linens** and lighter **Wools**, but you may need to face these fabrics to
give them more body before construction. **Fleece** is a cheaper alternate to
**Wools** but may note keep as long, if you are putting the effort into
properly tailoring Carlton then you are gonna want to consider buying a fabric
that will last for a long period of time.
:::note :::note
Remember that this pattern is intended to be a winter coat so you need to consider warmth when choosing your fabric. Remember that this pattern is intended to be a winter coat so you need to
consider warmth when choosing your fabric.
::: :::
### Linings and Pocket Bags ### Linings and Pocket Bags
Lightweight **Cottons** such as **Cotton Silesia**, **Cotton Lawn** or **Glazed Cottons** should do for the body lining but you may find that you require **Silks** or similar for the sleeve linings to reduce friction and make it easier to take on and off over the arms. **Silks** can also be used for the body as well but the **Cotton** will be more durable in the long run. Pocket bags should be out of **Cotton** or something that is strong enough to hold the weight of the intended items you wish to carry in them. **Printed Cottons** are a fun thing to try but if your main fabric is quite bulky you may find they add to much weight. Lightweight **Cottons** such as **Cotton Silesia**, **Cotton Lawn** or **Glazed
Cottons** should do for the body lining but you may find that you require
**Silks** or similar for the sleeve linings to reduce friction and make it
easier to take on and off over the arms. **Silks** can also be used for the
body as well but the **Cotton** will be more durable in the long run. Pocket
bags should be out of **Cotton** or something that is strong enough to hold the
weight of the intended items you wish to carry in them. **Printed Cottons** are
a fun thing to try but if your main fabric is quite bulky you may find they add
to much weight.
:::tip :::tip
As per usual with Linings it is really down to your prefered lining materials but if you are new to lining a coat we suggest to use the **Cotton** options for the body and pockets and use the **Silk** option for the sleeves. As per usual with Linings it is really down to your prefered lining materials
but if you are new to lining a coat we suggest to use the **Cotton** options
for the body and pockets and use the **Silk** option for the sleeves.
::: :::
### Facings ### Facings
We recommend **Hair canvases**. You may be tempted to use modern interfacing but hair canvases will provide the best results. You will want a combination of different weight hair canvases such as lightweight to medium weight **Tailors Canvas** and heavyweight **Horsehair Canvas**. We recommend **Hair canvases**. You may be tempted to use modern interfacing
A common misconception is that you have to use horsehair canvas for all of it, but this is not the case and really is only needed for areas that need the most structure such as the upper front but are often too stiff for other parts. Tailors canvas is generally used for the majority of facing a coat. but hair canvases will provide the best results. You will want a combination of
different weight hair canvases such as lightweight to medium weight **Tailors
Canvas** and heavyweight **Horsehair Canvas**. A common misconception is that
you have to use horsehair canvas for all of it, but this is not the case and
really is only needed for areas that need the most structure such as the upper
front but are often too stiff for other parts. Tailors canvas is generally used
for the majority of facing a coat.
:::tip :::tip
You can use fusible or non-fusible facings but you may find that you still need to flatline the facing and fabric pieces together with basting stitches, even after fusing for the best results. You can use fusible or non-fusible facings but you may find that you still need
to flatline the facing and fabric pieces together with basting stitches, even
after fusing for the best results.
::: :::
:::note :::note
Certain hair canvases, such as **Horsehair canvas** can have stiff hairs that can poke out of the fabric so will require tape like tailors tape to prevent this from happening. Certain hair canvases, such as **Horsehair canvas** can have stiff hairs that
can poke out of the fabric so will require tape like tailors tape to prevent
this from happening.
::: :::
@ -88,7 +110,8 @@ Certain hair canvases, such as **Horsehair canvas** can have stiff hairs that ca
:::note :::note
Certain parts have to be drafted off of the existing parts. How to draft these are provided in the [instructions](/docs/designs/carlton/instructions). Certain parts have to be drafted off of the existing parts. How to draft these
are provided in the [instructions](/docs/designs/carlton/instructions).
::: :::

View file

@ -0,0 +1,14 @@
Cathrin is a side-effect of a project that never went anywhere.
I was going to make an elaborate dress, and I needed a corset to wear under it.
So I did some research online, and I found [this tutorial by Cathrin
Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/)
on drafting an underbust corset.
So, I essentially implemented those instructions in code, and the rest is
history as the original project got abandoned.
This design is named `cathrin` after Cathrin Åhlén who taught me (and others)
how to draft such a thing.
joost

View file

@ -3,24 +3,17 @@ title: "Cathrin: FreeSewing's Cathrin Corset"
sidebar_label: Cathrin Corset sidebar_label: Cathrin Corset
--- ---
<DesignInfo design="cathrin" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/cathrin/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="cathrin" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
Cathrin is a side-effect of a project that never went anywhere. <Notes />
I was going to make an elaborate dress, and I needed a corset to wear under it.
So I did some research online, and I found [this tutorial by Cathrin
Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/)
on drafting an underbust corset.
So, I essentially implemented those instructions in code, and the rest is
history as the original project got abandoned.
This design is named `cathrin` after Cathrin Åhlén who taught me (and others)
how to draft such a thing.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,17 @@
I don't think I have ever had a design where I knew what I was going to name
it long before sitting down to actually create it.
Charlie Chinos was just too good to not make happen.
It took a while because it took a long time before
[Titan](https://freesewing.org/designs/titan) was in a state where I was happy
with it. Trousers are hard. Trouser blocks double so.
This is for the most part a rather straight-forward chino pattern, but it has
one twist: The front packets are placed on the side seam. That side seam wraps
around towards the front to give the slanted pocket look.
It's a bit of unusual and creative design that I guess I did because I can?
Anyway, it's something to be mindful of because if you do not expect it the
front panels look a bit weird.
joost

View file

@ -3,27 +3,17 @@ title: "Charlie: FreeSewing's Charlie Chinos"
sidebar_label: Charlie Chinos sidebar_label: Charlie Chinos
--- ---
<DesignInfo design="charlie" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/charlie/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="charlie" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
I don't think I have ever had a design where I knew what I was going to name <Notes />
it long before sitting down to actually create it.
Charlie Chinos was just too good to not make happen.
It took a while because it took a long time before
[Titan](https://freesewing.org/designs/titan) was in a state where I was happy
with it. Trousers are hard. Trouser blocks double so.
This is for the most part a rather straight-forward chino pattern, but it has
one twist: The front packets are placed on the side seam. That side seam wraps
around towards the front to give the slanted pocket look.
It's a bit of unusual and creative design that I guess I did because I can?
Anyway, it's something to be mindful of because if you do not expect it the
front panels look a bit weird.
joost
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,21 @@
When I was a child my dad would tell me stories about hiking in the mountains,
something magical for a kid living in The Netherlands. He had a suitcase with
his mountaineering things in it, and part of that were some 'knickerbockers',
baggy trousers that reached down to your calves.
When I moved to the USA in my thirties and started hiking myself, I would often
reflect on those talks and felt sad that I didn't inherit those knickerbockers.
Then when I discovered sewing, I decided I would make myself a pair, but no
good patterns presented themselves.
Then someone on the Freesewing discord server posted a link to The 'Keystone'
Systems, Practical methods of cutting, from around the turn of the century.
This contained a drafting system for 'Cycling Breeches', which seemed to be
close to what my father used to wear, and could be translated into a Freesewing
pattern. A project was born, and I'm happy to be able to present the results to
you.
These are not designed as hiking breeches, but cycling breeches. That's close
enough for me. They work for either activity, and have many more uses.
Wouter

View file

@ -3,31 +3,17 @@ title: 'Cornelius cycling breeches'
sidebar_label: Cornelius cycling breeches sidebar_label: Cornelius cycling breeches
--- ---
<DesignInfo design="cornelius" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/cornelius/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="cornelius" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
When I was a child my dad would tell me stories about hiking in the mountains, <Notes />
something magical for a kid living in The Netherlands. He had a suitcase with
his mountaineering things in it, and part of that were some 'knickerbockers',
baggy trousers that reached down to your calves.
When I moved to the USA in my thirties and started hiking myself, I would often
reflect on those talks and felt sad that I didn't inherit those knickerbockers.
Then when I discovered sewing, I decided I would make myself a pair, but no
good patterns presented themselves.
Then someone on the Freesewing discord server posted a link to The 'Keystone'
Systems, Practical methods of cutting, from around the turn of the century.
This contained a drafting system for 'Cycling Breeches', which seemed to be
close to what my father used to wear, and could be translated into a Freesewing
pattern. A project was born, and I'm happy to be able to present the results to
you.
These are not designed as hiking breeches, but cycling breeches. That's close
enough for me. They work for either activity, and have many more uses.
Wouter
## What You Need {#needs} ## What You Need {#needs}

View file

@ -0,0 +1,16 @@
This project started because one day I wanted to sew a sleeveless draped top
with some leftover fabric I had after making another dress. I used a basic body
block from Freesewing, and manually modified the pattern to create a draped
neckline. Since I was pretty happy with the result, and the modifications were
simple, I decided to create a Freesewing pattern for it, so it could be
available for other people.
The original top I made had two layers, a nice viscose with a beautiful flower
pattern that acted as a lining, and a sheer chiffon on top that let the viscose
show through. The nice thing about adding a lining is that you can see it in
the drape, which gives a beautiful effect!
No interesting story about the name, just the first name that came to my mind
that started with the letter D of draped :smiley:
Erica

View file

@ -3,26 +3,17 @@ title: "Diana: FreeSewing's Diana Draped Top"
sidebar_label: Diana Draped Top sidebar_label: Diana Draped Top
--- ---
<DesignInfo design="diana" /> import { DocusaurusDoc } from '@freesewing/react/components/Docusaurus'
import { DesignInfo } from '@freesewing/react/components/Collection'
import Notes from '@site/docs/docs/designs/diana/_notes.mdx'
<DocusaurusDoc>
<DesignInfo design="diana" noDocsLink />
</DocusaurusDoc>
## Designer Notes {#notes} ## Designer Notes {#notes}
This project started because one day I wanted to sew a sleeveless draped top <Notes />
with some leftover fabric I had after making another dress. I used a basic body
block from Freesewing, and manually modified the pattern to create a draped
neckline. Since I was pretty happy with the result, and the modifications were
simple, I decided to create a Freesewing pattern for it, so it could be
available for other people.
The original top I made had two layers, a nice viscose with a beautiful flower
pattern that acted as a lining, and a sheer chiffon on top that let the viscose
show through. The nice thing about adding a lining is that you can see it in
the drape, which gives a beautiful effect!
No interesting story about the name, just the first name that came to my mind
that started with the letter D of draped :smiley:
Erica
## What You Need {#needs} ## What You Need {#needs}

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