From fe0ec212b008d48c59c889452cb26dcfa946efaf Mon Sep 17 00:00:00 2001 From: Wouter van Wageningen Date: Mon, 20 Feb 2023 22:58:05 +0000 Subject: [PATCH] Moved some more --- plugins/plugin-annotations/Logo.md | 294 ++++++++++++++++++ plugins/plugin-annotations/Notches.md | 294 ++++++++++++++++++ plugins/plugin-annotations/ScaleBox.md | 294 ++++++++++++++++++ plugins/plugin-annotations/buttons.md | 294 ++++++++++++++++++ plugins/plugin-annotations/grainline.md | 294 ++++++++++++++++++ plugins/plugin-annotations/img/grainline.png | Bin 0 -> 68494 bytes plugins/plugin-annotations/img/scalebox.png | Bin 0 -> 53556 bytes plugins/plugin-annotations/src/buttons.mjs | 82 +++++ plugins/plugin-annotations/src/grainline.mjs | 56 ++++ plugins/plugin-annotations/src/index.mjs | 16 + plugins/plugin-annotations/src/logo.mjs | 19 ++ plugins/plugin-annotations/src/notches.mjs | 25 ++ .../plugin-annotations/tests/shared.test.mjs | 6 + 13 files changed, 1674 insertions(+) create mode 100644 plugins/plugin-annotations/Logo.md create mode 100644 plugins/plugin-annotations/Notches.md create mode 100644 plugins/plugin-annotations/ScaleBox.md create mode 100644 plugins/plugin-annotations/buttons.md create mode 100644 plugins/plugin-annotations/grainline.md create mode 100644 plugins/plugin-annotations/img/grainline.png create mode 100644 plugins/plugin-annotations/img/scalebox.png create mode 100644 plugins/plugin-annotations/src/buttons.mjs create mode 100644 plugins/plugin-annotations/src/grainline.mjs create mode 100644 plugins/plugin-annotations/src/logo.mjs create mode 100644 plugins/plugin-annotations/src/notches.mjs create mode 100644 plugins/plugin-annotations/tests/shared.test.mjs diff --git a/plugins/plugin-annotations/Logo.md b/plugins/plugin-annotations/Logo.md new file mode 100644 index 00000000000..19765aae122 --- /dev/null +++ b/plugins/plugin-annotations/Logo.md @@ -0,0 +1,294 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/plugin-logo on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:plugin-logo + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/plugin-logo + +A FreeSewing plugin to add our logo to your patterns + + + + +> #### Note: Version 3 is a work in progress +> +> We are working on a new major version (v3) but it is not ready for prime-time. +> For production use, please refer to our v2 packages (the `latest` on NPM) +> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). +> +> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. + +## What am I looking at? πŸ€” + +This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. + +This folder holds: @freesewing/plugin-logo + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing πŸ’€ + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +our sewing patterns adapted to your measurements. + +If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). +Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But we also provide a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Or, consult our getting started guides +for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), +[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), +or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). + +We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that +walks you through your first parametric design, +and [a friendly community](https://freesewing.org/community/where/) with +people who can help you when you get stuck. + +## Support FreeSewing: Become a patron πŸ₯° + +FreeSewing is an open source project run by a community, +and financially supported by our patrons. + +If you feel what we do is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links πŸ‘©β€πŸ’» + + - πŸ’» Makers website: [freesewing.org](https://freesewing.org) + - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) + - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) + - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +## License: MIT πŸ€“ + +Β© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🀯 + +Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, +share your feedback, or just hang out. + +If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/plugins/plugin-annotations/Notches.md b/plugins/plugin-annotations/Notches.md new file mode 100644 index 00000000000..d14558d2aa1 --- /dev/null +++ b/plugins/plugin-annotations/Notches.md @@ -0,0 +1,294 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/plugin-notches on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:plugin-notches + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/plugin-notches + +A FreeSewing plugin that provides front and back notch snippets + + + + +> #### Note: Version 3 is a work in progress +> +> We are working on a new major version (v3) but it is not ready for prime-time. +> For production use, please refer to our v2 packages (the `latest` on NPM) +> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). +> +> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. + +## What am I looking at? πŸ€” + +This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. + +This folder holds: @freesewing/plugin-notches + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing πŸ’€ + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +our sewing patterns adapted to your measurements. + +If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). +Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But we also provide a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Or, consult our getting started guides +for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), +[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), +or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). + +We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that +walks you through your first parametric design, +and [a friendly community](https://freesewing.org/community/where/) with +people who can help you when you get stuck. + +## Support FreeSewing: Become a patron πŸ₯° + +FreeSewing is an open source project run by a community, +and financially supported by our patrons. + +If you feel what we do is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links πŸ‘©β€πŸ’» + + - πŸ’» Makers website: [freesewing.org](https://freesewing.org) + - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) + - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) + - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +## License: MIT πŸ€“ + +Β© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🀯 + +Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, +share your feedback, or just hang out. + +If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/plugins/plugin-annotations/ScaleBox.md b/plugins/plugin-annotations/ScaleBox.md new file mode 100644 index 00000000000..2fc331559dd --- /dev/null +++ b/plugins/plugin-annotations/ScaleBox.md @@ -0,0 +1,294 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/plugin-scalebox on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:plugin-scalebox + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/plugin-scalebox + +A FreeSewing plugin to add a scalebox to your pattern + + + + +> #### Note: Version 3 is a work in progress +> +> We are working on a new major version (v3) but it is not ready for prime-time. +> For production use, please refer to our v2 packages (the `latest` on NPM) +> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). +> +> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. + +## What am I looking at? πŸ€” + +This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. + +This folder holds: @freesewing/plugin-scalebox + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing πŸ’€ + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +our sewing patterns adapted to your measurements. + +If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). +Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But we also provide a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Or, consult our getting started guides +for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), +[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), +or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). + +We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that +walks you through your first parametric design, +and [a friendly community](https://freesewing.org/community/where/) with +people who can help you when you get stuck. + +## Support FreeSewing: Become a patron πŸ₯° + +FreeSewing is an open source project run by a community, +and financially supported by our patrons. + +If you feel what we do is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links πŸ‘©β€πŸ’» + + - πŸ’» Makers website: [freesewing.org](https://freesewing.org) + - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) + - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) + - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +## License: MIT πŸ€“ + +Β© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🀯 + +Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, +share your feedback, or just hang out. + +If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/plugins/plugin-annotations/buttons.md b/plugins/plugin-annotations/buttons.md new file mode 100644 index 00000000000..e89dabb92be --- /dev/null +++ b/plugins/plugin-annotations/buttons.md @@ -0,0 +1,294 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/plugin-buttons on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:plugin-buttons + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/plugin-buttons + +A FreeSewing plugin that provides button, buttonhole, and snap snippets + + + + +> #### Note: Version 3 is a work in progress +> +> We are working on a new major version (v3) but it is not ready for prime-time. +> For production use, please refer to our v2 packages (the `latest` on NPM) +> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). +> +> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. + +## What am I looking at? πŸ€” + +This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. + +This folder holds: @freesewing/plugin-buttons + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing πŸ’€ + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +our sewing patterns adapted to your measurements. + +If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). +Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But we also provide a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Or, consult our getting started guides +for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), +[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), +or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). + +We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that +walks you through your first parametric design, +and [a friendly community](https://freesewing.org/community/where/) with +people who can help you when you get stuck. + +## Support FreeSewing: Become a patron πŸ₯° + +FreeSewing is an open source project run by a community, +and financially supported by our patrons. + +If you feel what we do is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links πŸ‘©β€πŸ’» + + - πŸ’» Makers website: [freesewing.org](https://freesewing.org) + - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) + - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) + - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +## License: MIT πŸ€“ + +Β© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🀯 + +Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, +share your feedback, or just hang out. + +If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/plugins/plugin-annotations/grainline.md b/plugins/plugin-annotations/grainline.md new file mode 100644 index 00000000000..c4ca3662b85 --- /dev/null +++ b/plugins/plugin-annotations/grainline.md @@ -0,0 +1,294 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/plugin-grainline on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:plugin-grainline + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/plugin-grainline + +A FreeSewing plugin to add grainline indicators on your patterns + + + + +> #### Note: Version 3 is a work in progress +> +> We are working on a new major version (v3) but it is not ready for prime-time. +> For production use, please refer to our v2 packages (the `latest` on NPM) +> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). +> +> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. + +## What am I looking at? πŸ€” + +This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. + +This folder holds: @freesewing/plugin-grainline + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing πŸ’€ + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +our sewing patterns adapted to your measurements. + +If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). +Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But we also provide a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Or, consult our getting started guides +for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), +[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), +or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). + +We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that +walks you through your first parametric design, +and [a friendly community](https://freesewing.org/community/where/) with +people who can help you when you get stuck. + +## Support FreeSewing: Become a patron πŸ₯° + +FreeSewing is an open source project run by a community, +and financially supported by our patrons. + +If you feel what we do is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links πŸ‘©β€πŸ’» + + - πŸ’» Makers website: [freesewing.org](https://freesewing.org) + - πŸ’» Developers website: [freesewing.dev](https://freesewing.dev) + - πŸ’¬ Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) + - βœ… Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - πŸ“· Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +## License: MIT πŸ€“ + +Β© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🀯 + +Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, +share your feedback, or just hang out. + +If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). + + + +## Contributors ✨ + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Adam Tomkins
Adam Tomkins

πŸ“–
Alexandre Ignjatovic
Alexandre Ignjatovic

πŸ’»
AlfaLyr
AlfaLyr

πŸ’» πŸ”Œ 🎨
Andrew James
Andrew James

πŸ“–
Anneke
Anneke

πŸ“– 🌍
Annie Kao
Annie Kao

πŸ“–
Anternative
Anternative

πŸ“–
Anthony
Anthony

πŸ’¬
Ari Grayzel-student
Ari Grayzel-student

πŸ’»
Bart
Bart

πŸ“–
BenJamesBen
BenJamesBen

πŸ’» πŸ“– πŸ›
Cameron Dubas
Cameron Dubas

πŸ“–
Carsten Biebricher
Carsten Biebricher

πŸ“–
Cathy Zoller
Cathy Zoller

πŸ“–
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

πŸ’»
Darigov Research
Darigov Research

πŸ“– πŸ€”
Elena FdR
Elena FdR

πŸ“– πŸ“
Emmanuel Nyachoke
Emmanuel Nyachoke

πŸ’» πŸ“–
Enoch Riese
Enoch Riese

πŸ’»
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

πŸ“–
FrΓ©dΓ©ric
FrΓ©dΓ©ric

🌍
Glenn Matthews
Glenn Matthews

πŸ“–
Greg Sadetsky
Greg Sadetsky

πŸ“–
Igor Couto
Igor Couto

πŸ›
Ikko Ashimine
Ikko Ashimine

πŸ“–
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

πŸ“–
Jason Williams
Jason Williams

πŸ“–
Jeremy Jackson
Jeremy Jackson

πŸ’»
Jeroen Hoek
Jeroen Hoek

πŸ“–
Joe Schofield
Joe Schofield

πŸ“–
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

πŸ“–
Kake
Kake

πŸ“–
Kapunahele Wong
Kapunahele Wong

πŸ“–
Karen
Karen

πŸ“– πŸ“‹
Katie McGinley
Katie McGinley

πŸ“–
Kieran Klaassen
Kieran Klaassen

πŸ’»
Kittycatou
Kittycatou

🌍
Kris
Kris

πŸ“–
Kristin Ruben
Kristin Ruben

πŸ’»
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

πŸ“‹
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

πŸ“–
Nadege Michel
Nadege Michel

⚠️ πŸ“–
Natalia
Natalia

πŸ’» 🎨 πŸ“
Nathan Yergler
Nathan Yergler

πŸ“–
Nick Dower
Nick Dower

πŸ“– πŸ’» πŸ›
Nikhil Chelliah
Nikhil Chelliah

πŸ“–
OysteinHoiby
OysteinHoiby

πŸ’»
Patrick Forringer
Patrick Forringer

πŸ”Œ
Paul
Paul

πŸ“– πŸ“ 🌍
Phillip Thelen
Phillip Thelen

πŸ’»
Pixieish
Pixieish

πŸ“–
Prof. dr. Sorcha NΓ­ Dhubhghaill
Prof. dr. Sorcha NΓ­ Dhubhghaill

πŸ“–
Quentin FELIX
Quentin FELIX

πŸ’» 🎨
Rik Hekker
Rik Hekker

πŸ›
Sam Livingston-Gray
Sam Livingston-Gray

πŸ“–
Sanne
Sanne

πŸ’» πŸ“–
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

πŸ“– πŸ’»
SimonbJohnson
SimonbJohnson

πŸ›
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

πŸ“– 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 πŸ“– πŸ’»
TrΓ­ona
TrΓ­ona

πŸ“–
Unmutual
Unmutual

πŸ“–
Wouter van Wageningen
Wouter van Wageningen

πŸ’» 🎨 πŸ”§
amysews
amysews

πŸ“–
anna-puk
anna-puk

πŸ’»
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

πŸ“–
biou
biou

πŸ’»
bobgeorgethe3rd
bobgeorgethe3rd

πŸ’» πŸ“– 🎨
brmlyklr
brmlyklr

πŸ“–
chri5b
chri5b

πŸ’» ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

πŸ’¬
econo202
econo202

πŸ“–
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

πŸ’»
gaylyndie
gaylyndie

πŸ“–
grimlokason
grimlokason

πŸ’»
hellgy
hellgy

🎨
jackseye
jackseye

πŸ“–
marckiesel
marckiesel

🌍
mesil
mesil

πŸ›
starfetch
starfetch

πŸ’» πŸ“– 🌍 🎨
timorl
timorl

πŸ’»
ttimearl
ttimearl

πŸ–‹
tuesgloomsday
tuesgloomsday

πŸ“–
valadaptive
valadaptive

πŸ’»
viocky
viocky

🌍
woolishboy
woolishboy

πŸ’»
yc
yc

🌍
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/plugins/plugin-annotations/img/grainline.png b/plugins/plugin-annotations/img/grainline.png new file mode 100644 index 0000000000000000000000000000000000000000..c36c388f66995b4e7d2cdd3649dd23d6ab3965a1 GIT binary patch literal 68494 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 YbDz*=9pz~ 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 A>Hq)$ literal 0 HcmV?d00001 diff --git a/plugins/plugin-annotations/img/scalebox.png b/plugins/plugin-annotations/img/scalebox.png new file mode 100644 index 0000000000000000000000000000000000000000..a30693cb776696261265808ee05590277ba5860d GIT binary patch literal 53556 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 QSs-gXUHx3vIVCg!0Lxf8KmY&$ literal 0 HcmV?d00001 diff --git a/plugins/plugin-annotations/src/buttons.mjs b/plugins/plugin-annotations/src/buttons.mjs new file mode 100644 index 00000000000..98eec4c6502 --- /dev/null +++ b/plugins/plugin-annotations/src/buttons.mjs @@ -0,0 +1,82 @@ +import { name, version } from '../data.mjs' + +const defs = [ + // button + ` + + + + + + +`, + // buttonhole + ` + + + + + + + + +`, + // snaps + ` + + + + + + + + + + + + + +`, +] + +export const buttons = { + name, + version, + hooks: { + preRender: function (svg) { + for (const def of defs) { + if (svg.defs.indexOf(def) === -1) svg.defs += def + } + }, + }, +} + +// More specifically named exports +// export const buttonsPlugin = plugin +// export const pluginButtons = plugin diff --git a/plugins/plugin-annotations/src/grainline.mjs b/plugins/plugin-annotations/src/grainline.mjs new file mode 100644 index 00000000000..9540f44b953 --- /dev/null +++ b/plugins/plugin-annotations/src/grainline.mjs @@ -0,0 +1,56 @@ +import { name, version } from '../data.mjs' + +const markers = ` + + + + + +` + +const dflts = { text: 'grainline' } + +export const grainline = { + name, + version, + hooks: { + preRender: (svg) => { + if (svg.defs.indexOf(markers) === -1) svg.defs += markers + }, + }, + macros: { + grainline: function (so = {}, { points, paths, Path, complete, setGrain }) { + if (so === false) { + delete points.grainlineFrom + delete points.grainlineTo + delete paths.grainline + setGrain(90) // Restoring default + return true + } + so = { + ...dflts, + ...so, + } + // setGrain relies on plugin-cutlist + if (typeof setGrain === 'function') { + setGrain(so.from.angle(so.to)) + } + if (complete) { + points.grainlineFrom = so.from.shiftFractionTowards(so.to, 0.05) + points.grainlineTo = so.to.shiftFractionTowards(so.from, 0.05) + paths.grainline = new Path() + .move(points.grainlineFrom) + .line(points.grainlineTo) + .attr('class', 'note') + .attr('marker-start', 'url(#grainlineFrom)') + .attr('marker-end', 'url(#grainlineTo)') + .attr('data-text', so.text) + .attr('data-text-class', 'center fill-note') + } + }, + }, +} + +// More specifically named exports +// export const grainlinePlugin = plugin +// export const pluginGrainline = plugin diff --git a/plugins/plugin-annotations/src/index.mjs b/plugins/plugin-annotations/src/index.mjs index abf290e09c6..961cb2c3069 100644 --- a/plugins/plugin-annotations/src/index.mjs +++ b/plugins/plugin-annotations/src/index.mjs @@ -1,6 +1,10 @@ import { bartack } from './bartack.mjs' +import { buttons } from './buttons.mjs' import { crossbox } from './crossbox.mjs' import { cutonfold } from './cutonfold.mjs' +import { grainline } from './grainline.mjs' +import { logo } from './logo.mjs' +import { notches } from './notches.mjs' import { pleat } from './pleat.mjs' import { sewtogether } from './sewtogether.mjs' @@ -20,3 +24,15 @@ export const pluginPleat = pleat export const sewtogetherPlugin = sewtogether export const pluginSewtogether = sewtogether + +export const buttonsPlugin = buttons +export const pluginButtons = buttons + +export const grainlinePlugin = grainline +export const pluginGrainline = grainline + +export const logoPlugin = logo +export const pluginLogo = logo + +export const notchesPlugin = notches +export const pluginNotches = notches diff --git a/plugins/plugin-annotations/src/logo.mjs b/plugins/plugin-annotations/src/logo.mjs new file mode 100644 index 00000000000..0ffc5844c00 --- /dev/null +++ b/plugins/plugin-annotations/src/logo.mjs @@ -0,0 +1,19 @@ +import { name, version } from '../data.mjs' + +const logoFunction = (scale) => + `` + +export const logo = { + name, + version, + hooks: { + preRender: (svg) => { + if (svg.defs.indexOf('id="logo"') === -1) + svg.defs += logoFunction(svg.pattern.settings[0].scale) + }, + }, +} + +// More specifically named exports +// export const logoPlugin = logo +// export const pluginLogo = logo diff --git a/plugins/plugin-annotations/src/notches.mjs b/plugins/plugin-annotations/src/notches.mjs new file mode 100644 index 00000000000..2a5838fcda6 --- /dev/null +++ b/plugins/plugin-annotations/src/notches.mjs @@ -0,0 +1,25 @@ +import { name, version } from '../data.mjs' + +const markers = ` + + + + + + + +` + +export const notches = { + name, + version, + hooks: { + preRender: function (svg) { + if (svg.defs.indexOf(`id="notch"`) === -1) svg.defs += markers + }, + }, +} + +// More specifically named exports +// export const notchesPlugin = notches +// export const pluginNotches = notches diff --git a/plugins/plugin-annotations/tests/shared.test.mjs b/plugins/plugin-annotations/tests/shared.test.mjs new file mode 100644 index 00000000000..7bf4f668398 --- /dev/null +++ b/plugins/plugin-annotations/tests/shared.test.mjs @@ -0,0 +1,6 @@ +// This file is auto-generated | Any changes you make will be overwritten. +import { plugin } from '../src/index.mjs' +import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' + +// Run shared tests +sharedPluginTests(plugin)