diff --git a/config/exceptions.yaml b/config/exceptions.yaml index fff78407617..124f370d643 100644 --- a/config/exceptions.yaml +++ b/config/exceptions.yaml @@ -77,8 +77,10 @@ packageJson: "./components/Account": "./components/Account/index.mjs" "./components/Breadcrumbs": "./components/Breadcrumbs/index.mjs" "./components/Button": "./components/Button/index.mjs" + "./components/Collection": "./components/Collection/index.mjs" "./components/Control": "./components/Control/index.mjs" "./components/CopyToClipboard": "./components/CopyToClipboard/index.mjs" + "./components/Design": "./components/Design/index.mjs" "./components/Docusaurus": "./components/Docusaurus/index.mjs" "./components/Editor": "./components/Editor/index.mjs" "./components/Highlight": "./components/Highlight/index.mjs" diff --git a/config/software/designs.json b/config/software/designs.json index 147150bb620..9416fcec2f8 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -4,8 +4,6 @@ "description": "A FreeSewing pattern for a A-shirt or tank top", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "underwear" @@ -13,8 +11,8 @@ "techniques": [ "hem", "stretch", - "knitBinding", - "curvedSeam" + "knit-binding", + "curved-seam" ] }, "albert": { @@ -22,15 +20,13 @@ "description": "A FreeSewing pattern for an apron", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories" ], "techniques": [ "hem", - "knitBinding", - "curvedSeam", + "knit-binding", + "curved-seam", "pocket" ] }, @@ -39,8 +35,6 @@ "description": "A FreeSewing pattern for a bikini top", "design": "PrudenceRabbit", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops", "swimwear" @@ -48,7 +42,7 @@ "techniques": [ "hem", "stretch", - "curvedSeam", + "curved-seam", "precision" ] }, @@ -60,8 +54,6 @@ "Joost De Cock" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" @@ -76,8 +68,6 @@ "description": "A FreeSewing pattern for a bow tie", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories" ], @@ -91,16 +81,14 @@ "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "hem", - "curvedSeam", - "setSleeve" + "curved-seam", + "set-sleeve" ] }, "bibi": { @@ -108,16 +96,14 @@ "description": "A FreeSewing pattern for a knit top body block", "design": "Jonathan Haas", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "flatSleeve" + "flat-sleeve" ] }, "bob": { @@ -125,15 +111,13 @@ "description": "A FreeSewing pattern for a bib", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "infants" ], "techniques": [ - "biasTape", - "curvedSeam", + "bias-tape", + "curved-seam", "snap" ] }, @@ -142,8 +126,6 @@ "description": "A FreeSewing pattern for a basic body block for womenswear", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" @@ -158,15 +140,13 @@ "description": "A FreeSewing pattern for a basic body block for menswear", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "block", - "flatSleeve" + "flat-sleeve" ] }, "bruce": { @@ -174,8 +154,6 @@ "description": "A FreeSewing pattern for boxer briefs", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" @@ -183,7 +161,7 @@ "techniques": [ "stretch", "hem", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -195,8 +173,6 @@ "Joost De Cock" ], "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -204,12 +180,12 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", - "princessSeam", + "princess-seam", "interfacing", "button" ] @@ -222,8 +198,6 @@ "Joost De Cock" ], "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -231,10 +205,10 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", "interfacing", "button" @@ -248,8 +222,6 @@ "Joost De Cock" ], "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops", "underwear" @@ -257,7 +229,7 @@ "techniques": [ "boning", "precision", - "curvedSeam", + "curved-seam", "interfacing" ] }, @@ -266,22 +238,20 @@ "description": "A FreeSewing pattern for chino trousers", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "weltPocket", - "curvedSeam", + "welt-pocket", + "curved-seam", "interfacing", "fly", "zipper", "button", "dart", "hem", - "seamPocket" + "seam-pocket" ] }, "cornelius": { @@ -289,14 +259,12 @@ "description": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "curvedSeam", + "curved-seam", "fly", "zipper", "button", @@ -308,35 +276,29 @@ "description": "A FreeSewing pattern for a top with a draped neck", "design": "Erica Alcusa Sáez", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "hem" ] }, "examples": { "code": "Joost De Cock", - "description": "A FreeSewing pattern holding examples for our documentation", - "lab": false, - "org": false + "description": "A FreeSewing pattern holding examples for our documentation" }, "florence": { "code": "Joost De Cock", "description": "A FreeSewing pattern for a face mask", "design": "Joost De Cock", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "accessories" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "florent": { @@ -347,14 +309,12 @@ "description": "A FreeSewing pattern for a flat cap", "design": "Quentin Felix", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "hats" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "gozer": { @@ -362,8 +322,6 @@ "description": "A FreeSewing pattern for a ghost costume", "design": "Wouter Van Wageningen", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "costumes" ], @@ -376,14 +334,12 @@ "description": "A FreeSewing pattern for a shark plush toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "dart" ] }, @@ -395,14 +351,12 @@ "description": "A FreeSewing pattern for a Sherlock Holmes hat", "design": "Erica Alcusa Sáez", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "hats" ], "techniques": [ - "curvedSeam", + "curved-seam", "lining" ] }, @@ -414,14 +368,12 @@ "Wouter Van Wageningen" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "bags" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision", "lining", "zipper" @@ -432,17 +384,15 @@ "description": "A FreeSewing pattern for a zip-up hoodie", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "pocket", "zipper", "ribbing", - "flatSleeve" + "flat-sleeve" ] }, "hugo": { @@ -450,16 +400,14 @@ "description": "A FreeSewing pattern for a hooded jumper with raglan sleeves", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "pocket", "ribbing", - "raglanSleeve" + "raglan-sleeve" ] }, "jaeger": { @@ -467,8 +415,6 @@ "description": "A FreeSewing pattern for a sport coat style jacket", "design": "Joost De Cock", "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -476,10 +422,10 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", "interfacing", "button" @@ -490,8 +436,6 @@ "description": "A FreeSewing pattern for a 1790s shift", "design": "SeaZeeZee", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "historical", @@ -503,24 +447,20 @@ }, "legend": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to document pattern notation", - "lab": false, - "org": false + "description": "A FreeSewing pattern to document pattern notation" }, "lucy": { "code": "SeaZeeZee", "description": "A FreeSewing pattern for a historical tie-on pocket", "design": "SeaZeeZee", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories", "historical", "bags" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "lumina": { @@ -528,15 +468,13 @@ "description": "A FreeSewing pattern for leggings", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -545,15 +483,13 @@ "description": "A FreeSewing pattern for leggings", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -562,8 +498,6 @@ "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops", "coats", @@ -578,8 +512,6 @@ "description": "A FreeSewing pattern for a bike messenger bag", "design": "clegganator259", "difficulty": 3, - "lab": true, - "org": false, "tags": [ "accessories", "bags" @@ -591,17 +523,15 @@ "description": "A FreeSewing pattern for a princess seam bodice block", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "block", - "curvedSeam", + "curved-seam", "precision", - "princessSeam" + "princess-seam" ] }, "octoplushy": { @@ -609,14 +539,12 @@ "description": "A FreeSewing pattern for an octopus plushy toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -625,8 +553,6 @@ "description": "A FreeSewing pattern for one-piece garments", "design": "Thrunic", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "swimwear", "pajamas", @@ -634,7 +560,7 @@ ], "techniques": [ "hem", - "curvedSeam", + "curved-seam", "stretch", "lining", "zipper", @@ -646,16 +572,14 @@ "description": "A FreeSewing pattern for overalls", "design": "Thrunic", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "overalls", "onePiece" ], "techniques": [ - "flatFelledSeam", + "flat-felled-seam", "hem", - "curvedSeam", + "curved-seam", "button", "pocket" ] @@ -665,8 +589,6 @@ "description": "A FreeSewing pattern for a baby romper", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [], "techniques": [] }, @@ -675,17 +597,15 @@ "description": "A FreeSewing pattern for summer pants", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "elastic", - "curvedSeam", + "curved-seam", "pocket", - "weltPocket", + "welt-pocket", "hem" ] }, @@ -694,30 +614,24 @@ "description": "A FreeSewing pattern for a pencil skirt", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "skirts" ], "techniques": [ "hem", - "curvedSeam", + "curved-seam", "precision", "zipper" ] }, "plugintest": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to test (y)our plugins", - "lab": true, - "org": false + "description": "A FreeSewing pattern to test (y)our plugins" }, "rendertest": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to test (y)our render engine our CSS", - "lab": true, - "org": false + "description": "A FreeSewing pattern to test (y)our render engine our CSS" }, "sandy": { "code": [ @@ -727,14 +641,12 @@ "description": "A FreeSewing pattern for a circle skirt", "design": "Erica Alcusa Sáez", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "skirts" ], "techniques": [ - "curvedSeam", + "curved-seam", "button", "hem" ] @@ -744,8 +656,6 @@ "description": "A FreeSewing pattern for a raglan shirt, perfect for swimshirts", "design": "Thrunic", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "swimwear" @@ -753,8 +663,8 @@ "techniques": [ "hem", "stretch", - "curvedSeam", - "raglanSleeve" + "curved-seam", + "raglan-sleeve" ] }, "shin": { @@ -762,8 +672,6 @@ "description": "A FreeSewing pattern for swim trunks", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "swimwear" @@ -771,7 +679,7 @@ "techniques": [ "hem", "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -780,8 +688,6 @@ "description": "A FreeSewing pattern for a button down shirt", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], @@ -789,9 +695,9 @@ "hem", "button", "interfacing", - "curvedSeam", - "flatFelledSeam", - "flatSleeve" + "curved-seam", + "flat-felled-seam", + "flat-sleeve" ] }, "simone": { @@ -799,8 +705,6 @@ "description": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], @@ -808,9 +712,9 @@ "hem", "button", "interfacing", - "curvedSeam", - "flatFelledSeam", - "flatSleeve" + "curved-seam", + "flat-felled-seam", + "flat-sleeve" ] }, "skully": { @@ -818,14 +722,12 @@ "description": "A FreeSewing pattern for skully, our logo, a plushy toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -834,14 +736,12 @@ "description": "A FreeSewing pattern for a straightforward sweater", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "ribbing" ] }, @@ -850,13 +750,11 @@ "description": "A FreeSewing pattern for a zero-waste top", "design": "Joost De Cock", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "teagan": { @@ -864,16 +762,14 @@ "description": "A FreeSewing pattern for a T-shirt", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "flatSleeve", - "knitBand" + "flat-sleeve", + "knit-band" ] }, "tiberius": { @@ -881,8 +777,6 @@ "description": "A FreeSewing pattern for a tunica, a historical Roman tunic", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops", "historical" @@ -897,8 +791,6 @@ "Joost De Cock" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "bottoms" @@ -910,8 +802,6 @@ "description": "A FreeSewing pattern for a tie", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories" ], @@ -925,13 +815,11 @@ "description": "A FreeSewing pattern for a fitted top with prince(ss) seams", "design": "Natalia Sayang", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -940,31 +828,27 @@ "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" ], "techniques": [ "elastic", - "curvedSeam" + "curved-seam" ] }, "umbra": { - "code": "Joost De Cock, Jonathan Haas", + "code": ["Joost De Cock", "Jonathan Haas"], "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", - "design": "Joost De Cock, Jonathan Haas", + "design": ["Joost De Cock", "Jonathan Haas"], "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" ], "techniques": [ "elastic", - "curvedSeam" + "curved-seam" ] }, "wahid": { @@ -972,17 +856,15 @@ "description": "A FreeSewing pattern for a classic fitted waistcoat", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", "interfacing", "lining", - "weltPocket", + "welt-pocket", "button" ] }, @@ -991,8 +873,6 @@ "description": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "bottoms", "historical" @@ -1006,16 +886,14 @@ "description": "A FreeSewing pattern for wrap pants", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "weltPocket" + "welt-pocket" ] }, "yuri": { @@ -1023,31 +901,27 @@ "description": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie", "design": "Biou", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "hem", "button" ] }, "lily": { - "code": "Anna Puk, Joost De Cock", + "code": ["Anna Puk", "Joost De Cock"], "description": "A FreeSewing pattern for basic leggings", "design": "Anna Puk", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms" ], "techniques": [ "elastic", - "curvedSeam", + "curved-seam", "hem" ] } diff --git a/designs/aaron/about.json b/designs/aaron/about.json new file mode 100644 index 00000000000..cb9bca669a4 --- /dev/null +++ b/designs/aaron/about.json @@ -0,0 +1,18 @@ +{ + "id": "aaron", + "code": "Joost De Cock", + "name": "Aaron A-shirt", + "description": "A FreeSewing pattern for a A-shirt or tank top", + "design": "Joost De Cock", + "difficulty": 2, + "tags": [ + "tops", + "underwear" + ], + "techniques": [ + "hem", + "stretch", + "knit-binding", + "curved-seam" + ] +} diff --git a/designs/aaron/data.mjs b/designs/aaron/data.mjs deleted file mode 100644 index 6135e5314c3..00000000000 --- a/designs/aaron/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/aaron' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/aaron/src/index.mjs b/designs/aaron/src/index.mjs index e2f9e8f3451..6a08a7866e7 100644 --- a/designs/aaron/src/index.mjs +++ b/designs/aaron/src/index.mjs @@ -1,7 +1,7 @@ import { Design, mergeI18n } from '@freesewing/core' import { i18n as brianI18n } from '@freesewing/brian' import { i18n as aaronI18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { armBinding } from './arm-binding.mjs' @@ -9,7 +9,7 @@ import { neckBinding } from './neck-binding.mjs' // Setup our new design const Aaron = new Design({ - data, + data: about, parts: [back, front, armBinding, neckBinding], }) @@ -33,4 +33,4 @@ const i18n = mergeI18n([brianI18n, aaronI18n], { }) // Named exports -export { back, front, Aaron, i18n } +export { back, front, Aaron, i18n, about } diff --git a/designs/albert/about.json b/designs/albert/about.json new file mode 100644 index 00000000000..8228f6d7b7b --- /dev/null +++ b/designs/albert/about.json @@ -0,0 +1,17 @@ +{ + "id": "albert", + "name": "Albert apron", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for an apron", + "design": "Wouter Van Wageningen", + "difficulty": 2, + "tags": [ + "accessories" + ], + "techniques": [ + "hem", + "knit-binding", + "curved-seam", + "pocket" + ] +} diff --git a/designs/albert/src/index.mjs b/designs/albert/src/index.mjs index 9897b7fd4b5..51369b09b32 100644 --- a/designs/albert/src/index.mjs +++ b/designs/albert/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front } from './front.mjs' import { pocket } from './pocket.mjs' import { strap } from './strap.mjs' @@ -7,9 +7,9 @@ import { i18n } from '../i18n/index.mjs' // Setup our new design const Albert = new Design({ - data, + data: about, parts: [front, pocket, strap], }) // Named exports -export { front, pocket, strap, Albert, i18n } +export { front, pocket, strap, Albert, i18n, about } diff --git a/designs/bee/about.json b/designs/bee/about.json new file mode 100644 index 00000000000..dc313325832 --- /dev/null +++ b/designs/bee/about.json @@ -0,0 +1,18 @@ +{ + "id": "bee", + "name": "Bee bikini top", + "code": "bobgeorgethe3rd", + "description": "A FreeSewing pattern for a bikini top", + "design": "PrudenceRabbit", + "difficulty": 3, + "tags": [ + "tops", + "swimwear" + ], + "techniques": [ + "hem", + "stretch", + "curved-seam", + "precision" + ] +} diff --git a/designs/bee/src/index.mjs b/designs/bee/src/index.mjs index 58f8430fef2..42786fd9bae 100644 --- a/designs/bee/src/index.mjs +++ b/designs/bee/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { cup } from './cup.mjs' import { neckTie } from './neck-tie.mjs' import { bandTie } from './band-tie.mjs' @@ -7,7 +7,7 @@ import { i18n as beeI18n } from '../i18n/index.mjs' import { i18n as bellaI18n } from '@freesewing/bella' const Bee = new Design({ - data, + data: about, parts: [cup, neckTie, bandTie], }) @@ -50,4 +50,4 @@ const i18n = mergeI18n([bellaI18n, beeI18n], { o: { keep: i18nKeepOptions }, }) -export { cup, neckTie, bandTie, Bee, i18n } +export { cup, neckTie, bandTie, Bee, i18n, about } diff --git a/designs/bella/about.json b/designs/bella/about.json new file mode 100644 index 00000000000..1c9a442415d --- /dev/null +++ b/designs/bella/about.json @@ -0,0 +1,19 @@ +{ + "id": "bella", + "name": "Bella body block", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a womenswear bodice block", + "design": [ + "Bella Incognito", + "Joost De Cock" + ], + "difficulty": 3, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "dart", + "block" + ] +} diff --git a/designs/bella/src/index.mjs b/designs/bella/src/index.mjs index 46a0565b8d6..c04d343b45a 100644 --- a/designs/bella/src/index.mjs +++ b/designs/bella/src/index.mjs @@ -1,12 +1,12 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { frontSideDart } from './front-side-dart.mjs' import { i18n } from '../i18n/index.mjs' const Bella = new Design({ - data, + data: about, parts: [back, frontSideDart], }) -export { back, frontSideDart, Bella, i18n } +export { back, frontSideDart, Bella, i18n, about } diff --git a/designs/benjamin/about.json b/designs/benjamin/about.json new file mode 100644 index 00000000000..feca255b6ee --- /dev/null +++ b/designs/benjamin/about.json @@ -0,0 +1,15 @@ +{ + "id": "benjamin", + "name": "Benjamin bow tie", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a bow tie", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "accessories" + ], + "techniques": [ + "precision", + "interfacing" + ] +} diff --git a/designs/benjamin/src/index.mjs b/designs/benjamin/src/index.mjs index af0d0b3c3fb..b128637ca0a 100644 --- a/designs/benjamin/src/index.mjs +++ b/designs/benjamin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { bow1 } from './bow1.mjs' import { bow2 } from './bow2.mjs' import { bow3 } from './bow3.mjs' @@ -8,9 +8,9 @@ import { i18n } from '../i18n/index.mjs' // Setup our new design const Benjamin = new Design({ - data, + data: about, parts: [bow1, bow2, bow3, collarBand], }) // Named exports -export { bow1, bow2, bow3, collarBand, Benjamin, i18n } +export { bow1, bow2, bow3, collarBand, Benjamin, i18n, about } diff --git a/designs/bent/about.json b/designs/bent/about.json new file mode 100644 index 00000000000..445c17be56b --- /dev/null +++ b/designs/bent/about.json @@ -0,0 +1,17 @@ +{ + "id": "bent", + "name": "Bent body block", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "hem", + "curved-seam", + "set-sleeve" + ] +} diff --git a/designs/bent/src/index.mjs b/designs/bent/src/index.mjs index fb5097d1378..12029e74371 100644 --- a/designs/bent/src/index.mjs +++ b/designs/bent/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front, back, i18n as brianI18n } from '@freesewing/brian' import { sleeve } from './sleeve.mjs' import { topSleeve } from './topsleeve.mjs' @@ -8,7 +8,7 @@ import { i18n as bentI18n } from '../i18n/index.mjs' // Create new design const Bent = new Design({ - data, + data: about, parts: [front, back, sleeve, topSleeve, underSleeve], }) @@ -28,4 +28,4 @@ const i18n = mergeI18n([brianI18n, bentI18n], { }) // Named exports -export { front, back, sleeve, topSleeve, underSleeve, Bent, i18n } +export { front, back, sleeve, topSleeve, underSleeve, Bent, i18n, about } diff --git a/designs/bibi/about.json b/designs/bibi/about.json new file mode 100644 index 00000000000..e1ef77af85e --- /dev/null +++ b/designs/bibi/about.json @@ -0,0 +1,17 @@ +{ + "id": "bibi", + "name": "Bibi body block", + "code": "Jonathan Haas", + "description": "A FreeSewing pattern for a knit top body block", + "design": "Jonathan Haas", + "difficulty": 2, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "curved-seam", + "hem", + "flat-sleeve" + ] +} diff --git a/designs/bibi/src/index.mjs b/designs/bibi/src/index.mjs index 9b7d68b56a2..946c1b13121 100644 --- a/designs/bibi/src/index.mjs +++ b/designs/bibi/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as bibiI18n } from '../i18n/index.mjs' import { front } from './front.mjs' @@ -26,7 +26,7 @@ import { // Setup our new design const Bibi = new Design({ - data, + data: about, parts: [waistband, cuff, armholeBinding, neckBinding, sleeve, back, front], }) @@ -58,4 +58,5 @@ export { draftKnitBinding, Bibi, i18n, + about, } diff --git a/designs/bob/about.json b/designs/bob/about.json new file mode 100644 index 00000000000..8e1c5595029 --- /dev/null +++ b/designs/bob/about.json @@ -0,0 +1,17 @@ +{ + "id": "bob", + "name": "Bob the bib", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a bib", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "accessories", + "infants" + ], + "techniques": [ + "bias-tape", + "curved-seam", + "snap" + ] +} diff --git a/designs/bob/src/index.mjs b/designs/bob/src/index.mjs index 7f29e4b36e5..cb574842365 100644 --- a/designs/bob/src/index.mjs +++ b/designs/bob/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { bib } from './bib.mjs' import { i18n } from '../i18n/index.mjs' // Setup our new design const Bob = new Design({ - data, + data: about, parts: [bib], }) //Named exports -export { bib, Bob, i18n } +export { bib, Bob, i18n, about } diff --git a/designs/breanna/about.json b/designs/breanna/about.json new file mode 100644 index 00000000000..42a86755c40 --- /dev/null +++ b/designs/breanna/about.json @@ -0,0 +1,16 @@ +{ + "id": "breanna", + "name": "Breanna body block", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a basic body block for womenswear", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "block", + "dart" + ] +} diff --git a/designs/breanna/src/index.mjs b/designs/breanna/src/index.mjs index f99a40ff862..989b977dac1 100644 --- a/designs/breanna/src/index.mjs +++ b/designs/breanna/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { sleeve } from './sleeve.mjs' @@ -10,9 +10,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Breanna = new Design({ - data, + data: about, parts: [back, front, sleeve, base, frontBase, sleevecap], }) // Named exports -export { back, front, sleeve, base, frontBase, sleevecap, Breanna, i18n } +export { back, front, sleeve, base, frontBase, sleevecap, Breanna, i18n, about } diff --git a/designs/brian/about.json b/designs/brian/about.json new file mode 100644 index 00000000000..b3fd1d798ea --- /dev/null +++ b/designs/brian/about.json @@ -0,0 +1,16 @@ +{ + "id": "brian", + "name": "Brian body block", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a basic body block for menswear", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "block", + "flat-sleeve" + ] +} diff --git a/designs/brian/src/index.mjs b/designs/brian/src/index.mjs index 62207631f97..0f01969ae2d 100644 --- a/designs/brian/src/index.mjs +++ b/designs/brian/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { sleeve } from './sleeve.mjs' @@ -10,9 +10,9 @@ import { sleevecap } from './sleevecap.mjs' // Setup our new design const Brian = new Design({ - data, + data: about, parts: [back, front, sleeve], }) // Named exports -export { back, front, sleeve, base, sleevecap, Brian, i18n } +export { back, front, sleeve, base, sleevecap, Brian, i18n, about } diff --git a/designs/bruce/about.json b/designs/bruce/about.json new file mode 100644 index 00000000000..11dd124f648 --- /dev/null +++ b/designs/bruce/about.json @@ -0,0 +1,18 @@ +{ + "id": "bruce", + "name": "Bruce boxer briefs", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for boxer briefs", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "bottoms", + "underwear" + ], + "techniques": [ + "stretch", + "hem", + "curved-seam", + "elastic" + ] +} diff --git a/designs/bruce/src/index.mjs b/designs/bruce/src/index.mjs index e75806df5a9..061d09753b0 100644 --- a/designs/bruce/src/index.mjs +++ b/designs/bruce/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { side } from './side.mjs' import { front } from './front.mjs' @@ -8,9 +8,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Bruce = new Design({ - data, + data: about, parts: [back, side, front, inset], }) // Named exports -export { back, side, front, inset, Bruce, i18n } +export { back, side, front, inset, Bruce, i18n, about } diff --git a/designs/carlita/about.json b/designs/carlita/about.json new file mode 100644 index 00000000000..0ed81e31ff6 --- /dev/null +++ b/designs/carlita/about.json @@ -0,0 +1,27 @@ +{ + "id": "carlita", + "name": "Carlita coat", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", + "design": [ + "Anneke Caramin", + "Joost De Cock" + ], + "difficulty": 5, + "tags": [ + "tops", + "coats" + ], + "techniques": [ + "hem", + "pocket", + "curved-seam", + "precision", + "set-sleeve", + "welt-pocket", + "lining", + "princess-seam", + "interfacing", + "button" + ] +} diff --git a/designs/carlita/src/index.mjs b/designs/carlita/src/index.mjs index c404e8e1724..cb58aeadf85 100644 --- a/designs/carlita/src/index.mjs +++ b/designs/carlita/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front } from './front.mjs' import { side } from './side.mjs' import { frontFacing } from './front-facing.mjs' @@ -28,7 +28,7 @@ import { i18n as carlitaI18n } from '../i18n/index.mjs' // Create new design const Carlita = new Design({ - data, + data: about, parts: [ front, frontFacing, @@ -82,4 +82,5 @@ export { innerPocketTab, Carlita, i18n, + about, } diff --git a/designs/carlton/about.json b/designs/carlton/about.json new file mode 100644 index 00000000000..be5ee390a67 --- /dev/null +++ b/designs/carlton/about.json @@ -0,0 +1,26 @@ +{ + "id": "carlton", + "name": "Carlton coat", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", + "design": [ + "Anneke Caramin", + "Joost De Cock" + ], + "difficulty": 5, + "tags": [ + "tops", + "coats" + ], + "techniques": [ + "hem", + "pocket", + "curved-seam", + "precision", + "set-sleeve", + "welt-pocket", + "lining", + "interfacing", + "button" + ] +} diff --git a/designs/carlton/src/index.mjs b/designs/carlton/src/index.mjs index b62a704e568..a3daa0373b2 100644 --- a/designs/carlton/src/index.mjs +++ b/designs/carlton/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n, Brian, sleevecap as brianSleevecap } from '@freesewing/brian' import { i18n as carltonI18n } from '../i18n/index.mjs' // Parts @@ -26,7 +26,7 @@ import { innerPocketTab } from './innerpockettab.mjs' // Create design const Carlton = new Design({ - data, + data: about, parts: [ front, frontFacing, @@ -90,4 +90,5 @@ export { innerPocketTab, Carlton, i18n, + about, } diff --git a/designs/cathrin/about.json b/designs/cathrin/about.json new file mode 100644 index 00000000000..3a60695c9eb --- /dev/null +++ b/designs/cathrin/about.json @@ -0,0 +1,21 @@ +{ + "id": "cathrin", + "name": "Cathrin corset", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a underbust corset / waist trainer", + "design": [ + "Cathrin Åhlén", + "Joost De Cock" + ], + "difficulty": 4, + "tags": [ + "tops", + "underwear" + ], + "techniques": [ + "boning", + "precision", + "curved-seam", + "interfacing" + ] +} diff --git a/designs/cathrin/src/index.mjs b/designs/cathrin/src/index.mjs index a18fb6b84fc..58290083b1c 100644 --- a/designs/cathrin/src/index.mjs +++ b/designs/cathrin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } //Parts import { panel1 } from './panel1.mjs' import { panel2 } from './panel2.mjs' @@ -15,9 +15,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Cathrin = new Design({ - data, + data: about, parts: [panel1, panel2, panel3, panel4, panel5, panel6], }) // Named exports -export { base, panels, panel1, panel2, panel3, panel4, panel5, panel6, Cathrin, i18n } +export { base, panels, panel1, panel2, panel3, panel4, panel5, panel6, Cathrin, i18n, about } diff --git a/designs/charlie/about.json b/designs/charlie/about.json new file mode 100644 index 00000000000..e810e98056f --- /dev/null +++ b/designs/charlie/about.json @@ -0,0 +1,23 @@ +{ + "id": "charlie", + "name": "Charlie chinos", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for chino trousers", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "welt-pocket", + "curved-seam", + "interfacing", + "fly", + "zipper", + "button", + "dart", + "hem", + "seam-pocket" + ] +} diff --git a/designs/charlie/src/index.mjs b/designs/charlie/src/index.mjs index b1b23dcf6b2..94a67fdcf8e 100644 --- a/designs/charlie/src/index.mjs +++ b/designs/charlie/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as titanI18n } from '@freesewing/titan' import { i18n as charlieI18n } from '../i18n/index.mjs' // Parts @@ -19,7 +19,7 @@ import { beltLoops } from './beltloops.mjs' // Create design const Charlie = new Design({ - data, + data: about, parts: [ front, back, @@ -57,4 +57,5 @@ export { beltLoops, Charlie, i18n, + about, } diff --git a/designs/cornelius/about.json b/designs/cornelius/about.json new file mode 100644 index 00000000000..d6563d9b991 --- /dev/null +++ b/designs/cornelius/about.json @@ -0,0 +1,19 @@ +{ + "id": "cornelius", + "name": "Cornelius cycling breeches", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "curved-seam", + "fly", + "zipper", + "button", + "pocket" + ] +} diff --git a/designs/cornelius/src/index.mjs b/designs/cornelius/src/index.mjs index 29398576cad..4726fa93faa 100644 --- a/designs/cornelius/src/index.mjs +++ b/designs/cornelius/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { frontpoints } from './frontpoints.mjs' import { front } from './front.mjs' @@ -15,7 +15,7 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Cornelius = new Design({ - data, + data: about, parts: [front, back, legband, legbandKeystone, waistband, pocketFacing, pocket, zipperguard], }) @@ -32,4 +32,5 @@ export { frontpoints, Cornelius, i18n, + about, } diff --git a/designs/diana/about.json b/designs/diana/about.json new file mode 100644 index 00000000000..3f833a080b4 --- /dev/null +++ b/designs/diana/about.json @@ -0,0 +1,16 @@ +{ + "id": "diana", + "name": "Diana draped top", + "code": "Erica Alcusa Sáez", + "description": "A FreeSewing pattern for a top with a draped neck", + "design": "Erica Alcusa Sáez", + "difficulty": 2, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "flat-sleeve", + "hem" + ] +} diff --git a/designs/diana/src/index.mjs b/designs/diana/src/index.mjs index bb78bc9d62e..f68183194f1 100644 --- a/designs/diana/src/index.mjs +++ b/designs/diana/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as dianaI18n } from '../i18n/index.mjs' // Parts @@ -8,7 +8,7 @@ import { sleeve } from './sleeve.mjs' // Create design const Diana = new Design({ - data, + data: about, parts: [front, back, sleeve], }) @@ -16,4 +16,4 @@ const Diana = new Design({ const i18n = mergeI18n([brianI18n, dianaI18n]) // Named exports -export { front, back, sleeve, Diana, i18n } +export { front, back, sleeve, Diana, i18n, about } diff --git a/designs/examples/src/index.mjs b/designs/examples/src/index.mjs index b1c68e88445..0eab64aa3f2 100644 --- a/designs/examples/src/index.mjs +++ b/designs/examples/src/index.mjs @@ -1,6 +1,5 @@ import { Design } from '@freesewing/core' import { gorePlugin } from '@freesewing/plugin-gore' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' // Stacks @@ -19,7 +18,6 @@ import { settings_sa } from './settings.mjs' // Setup our new design const Examples = new Design({ - data, parts: [ // Stacks stacks_top, diff --git a/designs/florence/about.json b/designs/florence/about.json new file mode 100644 index 00000000000..9039d209e5c --- /dev/null +++ b/designs/florence/about.json @@ -0,0 +1,14 @@ +{ + "id": "florence", + "name": "Florence face mask", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a face mask", + "design": "Joost De Cock", + "difficulty": 1, + "tags": [ + "accessories" + ], + "techniques": [ + "curved-seam" + ] +} diff --git a/designs/florence/src/index.mjs b/designs/florence/src/index.mjs index 2c873a7ffb8..3b22285f668 100644 --- a/designs/florence/src/index.mjs +++ b/designs/florence/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { mask } from './mask.mjs' import { i18n } from '../i18n/index.mjs' // Setup our new design const Florence = new Design({ - data, + data: about, parts: [mask], }) // Named exports -export { mask, Florence, i18n } +export { mask, Florence, i18n, about } diff --git a/designs/florent/about.json b/designs/florent/about.json new file mode 100644 index 00000000000..670899f69a4 --- /dev/null +++ b/designs/florent/about.json @@ -0,0 +1,18 @@ +{ + "id": "florent", + "name": "Florent flat cap", + "code": [ + "Quentin Felix", + "Joost De Cock" + ], + "description": "A FreeSewing pattern for a flat cap", + "design": "Quentin Felix", + "difficulty": 3, + "tags": [ + "accessories", + "hats" + ], + "techniques": [ + "curved-seam" + ] +} diff --git a/designs/florent/src/index.mjs b/designs/florent/src/index.mjs index 07a4b7d86ff..789a3b31550 100644 --- a/designs/florent/src/index.mjs +++ b/designs/florent/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { top } from './top.mjs' @@ -10,9 +10,9 @@ import { brimInterfacing } from './briminterfacing.mjs' // Create new design const Florent = new Design({ - data, + data: about, parts: [top, side, brimBottom, brimTop, brimInterfacing], }) // Named exports -export { top, side, brimBottom, brimTop, brimInterfacing, Florent, i18n } +export { top, side, brimBottom, brimTop, brimInterfacing, Florent, i18n, about } diff --git a/designs/gozer/about.json b/designs/gozer/about.json new file mode 100644 index 00000000000..0ab1b6ecd00 --- /dev/null +++ b/designs/gozer/about.json @@ -0,0 +1,14 @@ +{ + "id": "gozer", + "name": "Gozer ghost costume", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a ghost costume", + "design": "Wouter Van Wageningen", + "difficulty": 1, + "tags": [ + "costumes" + ], + "techniques": [ + "hem" + ] +} diff --git a/designs/gozer/src/index.mjs b/designs/gozer/src/index.mjs index e7eaddaa418..96075c89ad2 100644 --- a/designs/gozer/src/index.mjs +++ b/designs/gozer/src/index.mjs @@ -1,16 +1,14 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { ghost } from './ghost.mjs' // Create new design const Gozer = new Design({ - data, + data: about, parts: [ghost], }) // Named exports -export { ghost, i18n, Gozer } +export { ghost, Gozer, i18n, about } diff --git a/designs/hi/about.json b/designs/hi/about.json new file mode 100644 index 00000000000..836b3cd4cd1 --- /dev/null +++ b/designs/hi/about.json @@ -0,0 +1,16 @@ +{ + "id": "hi", + "name": "Hi the shark", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a shark plush toy", + "design": "Wouter Van Wageningen", + "difficulty": 4, + "tags": [ + "accessories", + "toys" + ], + "techniques": [ + "curved-seam", + "dart" + ] +} diff --git a/designs/hi/src/index.mjs b/designs/hi/src/index.mjs index 9dd53d8fd20..5ddc78f1c48 100644 --- a/designs/hi/src/index.mjs +++ b/designs/hi/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { body } from './body.mjs' @@ -14,7 +14,7 @@ import { upperTeeth } from './upperTeeth.mjs' // Create design const Hi = new Design({ - data, + data: about, parts: [body, tail, mouth, aboveMouth, belly, topOfFin, bottomOfFin, lowerTeeth, upperTeeth], }) @@ -31,4 +31,5 @@ export { upperTeeth, Hi, i18n, + about, } diff --git a/designs/holmes/about.json b/designs/holmes/about.json new file mode 100644 index 00000000000..6439c0b0b9f --- /dev/null +++ b/designs/holmes/about.json @@ -0,0 +1,19 @@ +{ + "id": "holmes", + "name": "Holmes deerstalker hat", + "code": [ + "Erica Alcusa Sáez", + "bobgeorgethe3rd" + ], + "description": "A FreeSewing pattern for a Sherlock Holmes hat", + "design": "Erica Alcusa Sáez", + "difficulty": 3, + "tags": [ + "accessories", + "hats" + ], + "techniques": [ + "curved-seam", + "lining" + ] +} diff --git a/designs/holmes/src/index.mjs b/designs/holmes/src/index.mjs index eae9ba7a3d5..2caa5b1e7b0 100644 --- a/designs/holmes/src/index.mjs +++ b/designs/holmes/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts @@ -9,9 +9,9 @@ import { ear } from './ear.mjs' // Create new design const Holmes = new Design({ - data, + data: about, parts: [crown, visor, ear], }) // Named exports -export { crown, visor, ear, Holmes, i18n } +export { crown, visor, ear, Holmes, i18n, about } diff --git a/designs/hortensia/about.json b/designs/hortensia/about.json new file mode 100644 index 00000000000..5bb9231bb1e --- /dev/null +++ b/designs/hortensia/about.json @@ -0,0 +1,21 @@ +{ + "id": "hortensia", + "name": "Hortensia handbag", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a handbag", + "design": [ + "Stoffsuchti", + "Wouter Van Wageningen" + ], + "difficulty": 3, + "tags": [ + "accessories", + "bags" + ], + "techniques": [ + "curved-seam", + "precision", + "lining", + "zipper" + ] +} diff --git a/designs/hortensia/src/index.mjs b/designs/hortensia/src/index.mjs index 24c27502460..83bb93ee951 100644 --- a/designs/hortensia/src/index.mjs +++ b/designs/hortensia/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { sidePanel } from './sidepanel.mjs' @@ -11,7 +11,7 @@ import { strap } from './strap.mjs' // Create new design const Hortensia = new Design({ - data, + data: about, parts: [sidePanel, frontPanel, bottomPanel, zipperPanel, sidePanelReinforcement, strap], }) @@ -25,4 +25,5 @@ export { strap, Hortensia, i18n, + about, } diff --git a/designs/huey/about.json b/designs/huey/about.json new file mode 100644 index 00000000000..748619f9505 --- /dev/null +++ b/designs/huey/about.json @@ -0,0 +1,18 @@ +{ + "id": "huey", + "name": "Huey hoodie", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a zip-up hoodie", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "pocket", + "zipper", + "ribbing", + "flat-sleeve" + ] +} diff --git a/designs/huey/src/index.mjs b/designs/huey/src/index.mjs index b46df362446..c036e556bb1 100644 --- a/designs/huey/src/index.mjs +++ b/designs/huey/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as hueyI18n } from '../i18n/index.mjs' // Parts @@ -13,7 +13,7 @@ import { cuff } from './cuff.mjs' // Create design const Huey = new Design({ - data, + data: about, parts: [back, front, sleeve, pocket, hood, waistband, cuff], }) @@ -21,4 +21,4 @@ const Huey = new Design({ const i18n = mergeI18n([brianI18n, hueyI18n]) // Named exports -export { back, front, sleeve, pocket, hood, waistband, cuff, Huey, i18n } +export { back, front, sleeve, pocket, hood, waistband, cuff, Huey, i18n, about } diff --git a/designs/hugo/about.json b/designs/hugo/about.json new file mode 100644 index 00000000000..21f8037e24f --- /dev/null +++ b/designs/hugo/about.json @@ -0,0 +1,17 @@ +{ + "id": "hugo", + "name": "Hugo hoodie", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a hooded jumper with raglan sleeves", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "pocket", + "ribbing", + "raglan-sleeve" + ] +} diff --git a/designs/hugo/src/index.mjs b/designs/hugo/src/index.mjs index 4aa759a0776..d1801570add 100644 --- a/designs/hugo/src/index.mjs +++ b/designs/hugo/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as hugoI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -15,7 +15,7 @@ import { neckBinding } from './neckbinding.mjs' // Setup our new design const Hugo = new Design({ - data, + data: about, parts: [ back, front, @@ -47,4 +47,5 @@ export { neckBinding, Hugo, i18n, + about, } diff --git a/designs/jaeger/about.json b/designs/jaeger/about.json new file mode 100644 index 00000000000..7854c55033d --- /dev/null +++ b/designs/jaeger/about.json @@ -0,0 +1,23 @@ +{ + "id": "jaeger", + "name": "Jaeger jacket", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a sport coat style jacket", + "design": "Joost De Cock", + "difficulty": 5, + "tags": [ + "tops", + "coats" + ], + "techniques": [ + "hem", + "pocket", + "curved-seam", + "precision", + "set-sleeve", + "welt-pocket", + "lining", + "interfacing", + "button" + ] +} diff --git a/designs/jaeger/src/index.mjs b/designs/jaeger/src/index.mjs index bff991865a4..3f2c88bc501 100644 --- a/designs/jaeger/src/index.mjs +++ b/designs/jaeger/src/index.mjs @@ -1,7 +1,7 @@ import { Design, mergeI18n } from '@freesewing/core' import { i18n as bentI18n } from '@freesewing/bent' import { i18n as jaegerI18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { backBase } from './backbase.mjs' import { frontBase } from './frontbase.mjs' import { side } from './side.mjs' @@ -22,7 +22,7 @@ import { frontLining } from './front-lining.mjs' // Setup our new design const Jaeger = new Design({ - data, + data: about, parts: [ backBase, frontBase, @@ -68,4 +68,5 @@ export { innerPocketWelt, Jaeger, i18n, + about, } diff --git a/designs/jane/about.json b/designs/jane/about.json new file mode 100644 index 00000000000..0d9c715a342 --- /dev/null +++ b/designs/jane/about.json @@ -0,0 +1,16 @@ +{ + "id": "jane", + "name": "Jane 1970s shift", + "code": "SeaZeeZee", + "description": "A FreeSewing pattern for a 1790s shift", + "design": "SeaZeeZee", + "difficulty": 2, + "tags": [ + "tops", + "historical", + "underwear" + ], + "techniques": [ + "hem" + ] +} diff --git a/designs/jane/src/index.mjs b/designs/jane/src/index.mjs index 1e9cb535531..208ce102acf 100644 --- a/designs/jane/src/index.mjs +++ b/designs/jane/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { body } from './body.mjs' import { sleeve } from './sleeve.mjs' import { gusset } from './gusset.mjs' @@ -7,8 +7,8 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Jane = new Design({ - data, + data: about, parts: [body, sleeve, gusset], }) -export { body, sleeve, gusset, i18n, Jane } +export { body, sleeve, gusset, Jane, i18n, about } diff --git a/designs/legend/src/index.mjs b/designs/legend/src/index.mjs index f0afbbc669e..e52b7223d2f 100644 --- a/designs/legend/src/index.mjs +++ b/designs/legend/src/index.mjs @@ -1,5 +1,4 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { fabricLines, saLines, otherLines, lineWidths, lineStrokes } from './lines.mjs' import { notches } from './notches.mjs' @@ -17,7 +16,6 @@ import { sa } from './sa.mjs' // Setup our new design const Legend = new Design({ - data, parts: [ fabricLines, saLines, diff --git a/designs/lily/about.json b/designs/lily/about.json new file mode 100644 index 00000000000..378c6bd9986 --- /dev/null +++ b/designs/lily/about.json @@ -0,0 +1,19 @@ +{ + "id": "lily", + "name": "Lily leggings", + "code": [ + "Anna Puk", + "Joost De Cock" + ], + "description": "A FreeSewing pattern for basic leggings", + "design": "Anna Puk", + "difficulty": 2, + "tags": [ + "bottoms" + ], + "techniques": [ + "elastic", + "curved-seam", + "hem" + ] +} diff --git a/designs/lily/src/index.mjs b/designs/lily/src/index.mjs index 1a831522031..d0943c002bf 100644 --- a/designs/lily/src/index.mjs +++ b/designs/lily/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { front } from './front.mjs' import { back } from './back.mjs' @@ -8,9 +8,9 @@ import { waistband } from './waistband.mjs' // Create new design const Lily = new Design({ - data, + data: about, parts: [front, back, waistband], }) // Named exports -export { front, back, waistband, i18n, Lily } +export { front, back, waistband, Lily, i18n, about } diff --git a/designs/lucy/about.json b/designs/lucy/about.json new file mode 100644 index 00000000000..0b500c30b41 --- /dev/null +++ b/designs/lucy/about.json @@ -0,0 +1,16 @@ +{ + "id": "lucy", + "name": "Lucy tie-on pocket", + "code": "SeaZeeZee", + "description": "A FreeSewing pattern for a historical tie-on pocket", + "design": "SeaZeeZee", + "difficulty": 2, + "tags": [ + "accessories", + "historical", + "bags" + ], + "techniques": [ + "curved-seam" + ] +} diff --git a/designs/lucy/src/index.mjs b/designs/lucy/src/index.mjs index a837aa5f514..6554ddd71b7 100644 --- a/designs/lucy/src/index.mjs +++ b/designs/lucy/src/index.mjs @@ -1,10 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { pocket } from './pocket.mjs' // Setup our new design -const Lucy = new Design({ data, parts: [pocket] }) +const Lucy = new Design({ + data: about, + parts: [pocket], +}) // Named exports -export { pocket, Lucy, i18n } +export { pocket, Lucy, i18n, about } diff --git a/designs/lumina/about.json b/designs/lumina/about.json new file mode 100644 index 00000000000..1a50a813ff1 --- /dev/null +++ b/designs/lumina/about.json @@ -0,0 +1,17 @@ +{ + "id": "lumina", + "name": "Lumina leggings", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for leggings", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "stretch", + "curved-seam", + "elastic" + ] +} diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 85f68e79c47..c3dc8dcd600 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -1,8 +1,6 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { shape } from './shape.mjs' import { panel } from './panel.mjs' @@ -12,9 +10,9 @@ import { waistband } from './waistband.mjs' // Create new design const Lumina = new Design({ - data, + data: about, parts: [shape, panel, leg, waistband, pocket], }) // Named exports -export { i18n, Lumina, shape, panel, leg, waistband, pocket } +export { shape, panel, leg, waistband, pocket, Lumina, i18n, about } diff --git a/designs/lumira/about.json b/designs/lumira/about.json new file mode 100644 index 00000000000..57487a60aa5 --- /dev/null +++ b/designs/lumira/about.json @@ -0,0 +1,17 @@ +{ + "id": "lumira", + "name": "Lumira leggings", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for leggings", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "stretch", + "curved-seam", + "elastic" + ] +} diff --git a/designs/lumira/src/index.mjs b/designs/lumira/src/index.mjs index 447fc8c31bd..02a9e094bf5 100644 --- a/designs/lumira/src/index.mjs +++ b/designs/lumira/src/index.mjs @@ -2,7 +2,7 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { extendPath, controlPoints, createControlPoints, shape } from './shape.mjs' import { leg } from './leg.mjs' @@ -11,14 +11,12 @@ import { waistband } from './waistband.mjs' // Create new design const Lumira = new Design({ - data, + data: about, parts: [shape, gusset, leg, waistband], }) // Named exports export { - i18n, - Lumira, shape, gusset, leg, @@ -26,4 +24,7 @@ export { extendPath, controlPoints, createControlPoints, + Lumira, + i18n, + about, } diff --git a/designs/lunetius/about.json b/designs/lunetius/about.json new file mode 100644 index 00000000000..dca9cf46d00 --- /dev/null +++ b/designs/lunetius/about.json @@ -0,0 +1,16 @@ +{ + "id": "lunetius", + "name": "Lunetius lacerna", + "code": "Rika Tamaike", + "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", + "design": "Rika Tamaike", + "difficulty": 1, + "tags": [ + "tops", + "coats", + "historical" + ], + "techniques": [ + "hem" + ] +} diff --git a/designs/lunetius/src/index.mjs b/designs/lunetius/src/index.mjs index 0430964ee80..fdd11969d71 100644 --- a/designs/lunetius/src/index.mjs +++ b/designs/lunetius/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { lacerna } from './lacerna.mjs' // Setup our new design const Lunetius = new Design({ - data, + data: about, parts: [lacerna], }) // Named exports -export { lacerna, Lunetius, i18n } +export { lacerna, Lunetius, i18n, about } diff --git a/designs/magde/about.json b/designs/magde/about.json new file mode 100644 index 00000000000..1dac1602319 --- /dev/null +++ b/designs/magde/about.json @@ -0,0 +1,13 @@ +{ + "id": "magde", + "name": "Magde messenger bag", + "code": "clegganator259", + "description": "A FreeSewing pattern for a bike messenger bag", + "design": "clegganator259", + "difficulty": 3, + "tags": [ + "accessories", + "bags" + ], + "techniques": [] +} diff --git a/designs/magde/src/index.mjs b/designs/magde/src/index.mjs index 28e8728cc04..3c767898de5 100644 --- a/designs/magde/src/index.mjs +++ b/designs/magde/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { bodyLiner } from './bodyLiner.mjs' @@ -16,7 +16,7 @@ import { strapAttachments } from './strapAttachments.mjs' // Create new design const Magde = new Design({ - data, + data: about, parts: [ backPanel, frontPanel, @@ -47,4 +47,5 @@ export { internalOrganiser, Magde, i18n, + about, } diff --git a/designs/noble/about.json b/designs/noble/about.json new file mode 100644 index 00000000000..2e377d503eb --- /dev/null +++ b/designs/noble/about.json @@ -0,0 +1,18 @@ +{ + "id": "noble", + "name": "Noble body block", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a princess seam bodice block", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "blocks", + "tops" + ], + "techniques": [ + "block", + "curved-seam", + "precision", + "princess-seam" + ] +} diff --git a/designs/noble/src/index.mjs b/designs/noble/src/index.mjs index 0e3f95d863c..feedfc75e04 100644 --- a/designs/noble/src/index.mjs +++ b/designs/noble/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { backPoints } from './backpoints.mjs' import { backInside } from './backinside.mjs' @@ -10,9 +10,19 @@ import { frontOutside } from './frontoutside.mjs' // Setup our new design const Noble = new Design({ - data, + data: about, parts: [backPoints, backInside, backOutside, frontPoints, frontInside, frontOutside], }) // Named exports -export { backPoints, backInside, backOutside, frontPoints, frontInside, frontOutside, Noble, i18n } +export { + backPoints, + backInside, + backOutside, + frontPoints, + frontInside, + frontOutside, + Noble, + i18n, + about, +} diff --git a/designs/octoplushy/about.json b/designs/octoplushy/about.json new file mode 100644 index 00000000000..af97d7f0d84 --- /dev/null +++ b/designs/octoplushy/about.json @@ -0,0 +1,16 @@ +{ + "id": "octoplushy", + "name": "Octoplushy the octopus", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for an octopus plushy toy", + "design": "Wouter Van Wageningen", + "difficulty": 4, + "tags": [ + "accessories", + "toys" + ], + "techniques": [ + "curved-seam", + "precision" + ] +} diff --git a/designs/octoplushy/src/index.mjs b/designs/octoplushy/src/index.mjs index 9c044a95198..6efc9a789e7 100644 --- a/designs/octoplushy/src/index.mjs +++ b/designs/octoplushy/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { headSection1, headSection2 } from './head.mjs' import { armSection1, armSection2 } from './arm.mjs' @@ -7,9 +7,20 @@ import { eye1, eye2, eye3 } from './eye.mjs' // Setup our new design const Octoplushy = new Design({ - data, + data: about, parts: [headSection1, headSection2, armSection1, armSection2, eye1, eye2, eye3], }) // Named exports -export { headSection1, headSection2, armSection1, armSection2, eye1, eye2, eye3, Octoplushy, i18n } +export { + headSection1, + headSection2, + armSection1, + armSection2, + eye1, + eye2, + eye3, + Octoplushy, + i18n, + about, +} diff --git a/designs/onyx/about.json b/designs/onyx/about.json new file mode 100644 index 00000000000..0fa2b29b66f --- /dev/null +++ b/designs/onyx/about.json @@ -0,0 +1,21 @@ +{ + "id": "onyx", + "name": "Onyx one-piece", + "code": "Thrunic", + "description": "A FreeSewing pattern for one-piece garments", + "design": "Thrunic", + "difficulty": 4, + "tags": [ + "swimwear", + "pajamas", + "onePiece" + ], + "techniques": [ + "hem", + "curved-seam", + "stretch", + "lining", + "zipper", + "ribbing" + ] +} diff --git a/designs/onyx/src/index.mjs b/designs/onyx/src/index.mjs index c09e0bf3714..332a54e2ba1 100644 --- a/designs/onyx/src/index.mjs +++ b/designs/onyx/src/index.mjs @@ -1,6 +1,6 @@ // Import Design constructor import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Import Parts import { front } from './front.mjs' @@ -17,7 +17,7 @@ import { legRibbing } from './legribbing.mjs' // Create new design const Onyx = new Design({ - data, + data: about, parts: [ front, back, @@ -48,4 +48,5 @@ export { legRibbing, Onyx, i18n, + about, } diff --git a/designs/opal/about.json b/designs/opal/about.json new file mode 100644 index 00000000000..d9aad80b531 --- /dev/null +++ b/designs/opal/about.json @@ -0,0 +1,19 @@ +{ + "id": "opal", + "name": "Opal overalls", + "code": "Thrunic", + "description": "A FreeSewing pattern for overalls", + "design": "Thrunic", + "difficulty": 3, + "tags": [ + "overalls", + "onePiece" + ], + "techniques": [ + "flat-felled-seam", + "hem", + "curved-seam", + "button", + "pocket" + ] +} diff --git a/designs/opal/src/index.mjs b/designs/opal/src/index.mjs index 010bef67feb..a0dbf46316f 100644 --- a/designs/opal/src/index.mjs +++ b/designs/opal/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { front } from './front.mjs' import { back } from './back.mjs' @@ -17,7 +17,7 @@ import { hammerLoop } from './hammerloop.mjs' // Create new design const Opal = new Design({ - data, + data: about, parts: [ front, back, @@ -50,4 +50,5 @@ export { hammerLoop, i18n, Opal, + about, } diff --git a/designs/otis/about.json b/designs/otis/about.json new file mode 100644 index 00000000000..66de2d88c85 --- /dev/null +++ b/designs/otis/about.json @@ -0,0 +1,10 @@ +{ + "id": "otis", + "name": "Otis romper", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a baby romper", + "design": "Wouter Van Wageningen", + "difficulty": 2, + "tags": [], + "techniques": [] +} diff --git a/designs/otis/src/index.mjs b/designs/otis/src/index.mjs index daf3165132c..85f7c11e8e3 100644 --- a/designs/otis/src/index.mjs +++ b/designs/otis/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { back } from './back.mjs' @@ -12,7 +12,7 @@ import { bindingLeg } from './bindingLeg.mjs' // Create new design const Otis = new Design({ - data, + data: about, parts: [back, front, shortsleeve, longsleeve, bindingNeckBack, bindingNeckFront, bindingLeg], }) @@ -27,4 +27,5 @@ export { bindingLeg, i18n, Otis, + about, } diff --git a/designs/paco/about.json b/designs/paco/about.json new file mode 100644 index 00000000000..a699e8a5935 --- /dev/null +++ b/designs/paco/about.json @@ -0,0 +1,19 @@ +{ + "id": "paco", + "name": "Paco pants", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for summer pants", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "elastic", + "curved-seam", + "pocket", + "welt-pocket", + "hem" + ] +} diff --git a/designs/paco/src/index.mjs b/designs/paco/src/index.mjs index a0064129ba0..225ac76cf85 100644 --- a/designs/paco/src/index.mjs +++ b/designs/paco/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as titanI18n } from '@freesewing/titan' import { i18n as pacoI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -13,7 +13,7 @@ import { waistband } from './waistband.mjs' // Setup our new design const Paco = new Design({ - data, + data: about, parts: [ back, front, @@ -41,4 +41,5 @@ export { waistband, Paco, i18n, + about, } diff --git a/designs/penelope/about.json b/designs/penelope/about.json new file mode 100644 index 00000000000..760c2e5c72b --- /dev/null +++ b/designs/penelope/about.json @@ -0,0 +1,18 @@ +{ + "id": "penelope", + "name": "Penenlope pencil skirt", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a pencil skirt", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "tags": [ + "bottoms", + "skirts" + ], + "techniques": [ + "hem", + "curved-seam", + "precision", + "zipper" + ] +} diff --git a/designs/penelope/src/index.mjs b/designs/penelope/src/index.mjs index c15f98bd542..663a20eb3ba 100644 --- a/designs/penelope/src/index.mjs +++ b/designs/penelope/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' @@ -7,9 +7,9 @@ import { waistband } from './waistband.mjs' // Setup our new design const Penelope = new Design({ - data, + data: about, parts: [back, front, waistband], }) // Named exports -export { back, front, waistband, Penelope, i18n } +export { back, front, waistband, Penelope, i18n, about } diff --git a/designs/plugintest/src/index.mjs b/designs/plugintest/src/index.mjs index b6f9f731ee8..5bd63c7434c 100644 --- a/designs/plugintest/src/index.mjs +++ b/designs/plugintest/src/index.mjs @@ -1,5 +1,4 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { annotations } from './plugin-annotations.mjs' import { flip } from './plugin-flip.mjs' @@ -13,7 +12,6 @@ import { ringsector } from './plugin-ringsector.mjs' // Setup our new design const Plugintest = new Design({ - data, parts: [annotations, flip, gore, i18nStack, measurements, mirror, round, sprinkle, ringsector], }) diff --git a/designs/rendertest/src/index.mjs b/designs/rendertest/src/index.mjs index 341c17d3334..e2e5d8eb8a6 100644 --- a/designs/rendertest/src/index.mjs +++ b/designs/rendertest/src/index.mjs @@ -1,11 +1,9 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { demo } from './demo.mjs' // Setup our new design const Rendertest = new Design({ - data, parts: [demo], }) diff --git a/designs/sandy/about.json b/designs/sandy/about.json new file mode 100644 index 00000000000..b52d4a0a93b --- /dev/null +++ b/designs/sandy/about.json @@ -0,0 +1,20 @@ +{ + "id": "sandy", + "name": "Sandy circle skirt", + "code": [ + "Erica Alcusa Sáez", + "Joost De Cock" + ], + "description": "A FreeSewing pattern for a circle skirt", + "design": "Erica Alcusa Sáez", + "difficulty": 3, + "tags": [ + "bottoms", + "skirts" + ], + "techniques": [ + "curved-seam", + "button", + "hem" + ] +} diff --git a/designs/sandy/src/index.mjs b/designs/sandy/src/index.mjs index 6daa4ac8e2f..2ccc88e2a45 100644 --- a/designs/sandy/src/index.mjs +++ b/designs/sandy/src/index.mjs @@ -1,14 +1,14 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { skirt } from './skirt.mjs' import { waistband } from './waistband.mjs' // Setup our new design const Sandy = new Design({ - data, + data: about, parts: [skirt, waistband], }) // Named exports -export { skirt, waistband, Sandy, i18n } +export { skirt, waistband, Sandy, i18n, about } diff --git a/designs/shelly/about.json b/designs/shelly/about.json new file mode 100644 index 00000000000..0d2192bb25f --- /dev/null +++ b/designs/shelly/about.json @@ -0,0 +1,18 @@ +{ + "id": "shelly", + "name": "Shelly swim shirt", + "code": "Thrunic", + "description": "A FreeSewing pattern for a raglan shirt, perfect for swim shirts", + "design": "Thrunic", + "difficulty": 2, + "tags": [ + "tops", + "swimwear" + ], + "techniques": [ + "hem", + "stretch", + "curved-seam", + "raglan-sleeve" + ] +} diff --git a/designs/shelly/src/index.mjs b/designs/shelly/src/index.mjs index 2e4b4197179..f251062ebf4 100644 --- a/designs/shelly/src/index.mjs +++ b/designs/shelly/src/index.mjs @@ -1,6 +1,6 @@ // Import Design constructor import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Import parts import { front } from './front.mjs' @@ -10,7 +10,7 @@ import { neckband } from './neckband.mjs' // Create the new design const Shelly = new Design({ - data, + data: about, // A list of parts is all that is required. parts: [front, back, raglanSleeve, neckband], }) @@ -22,4 +22,4 @@ const Shelly = new Design({ * This allows us to re-use these parts in other designs. */ -export { front, back, raglanSleeve, neckband, Shelly, i18n } +export { front, back, raglanSleeve, neckband, Shelly, i18n, about } diff --git a/designs/shin/about.json b/designs/shin/about.json new file mode 100644 index 00000000000..65e31c7a94f --- /dev/null +++ b/designs/shin/about.json @@ -0,0 +1,18 @@ +{ + "id": "shin", + "name": "Shin swim trunks", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for swim trunks", + "design": "Joost De Cock", + "difficulty": 2, + "tags": [ + "bottoms", + "swimwear" + ], + "techniques": [ + "hem", + "stretch", + "curved-seam", + "elastic" + ] +} diff --git a/designs/shin/src/index.mjs b/designs/shin/src/index.mjs index 8cadcc023e8..0ba2e9c11fa 100644 --- a/designs/shin/src/index.mjs +++ b/designs/shin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' @@ -7,9 +7,9 @@ import { waistband } from './waistband.mjs' // Setup our new design const Shin = new Design({ - data, + data: about, parts: [back, front, waistband], }) // Named exports -export { back, front, waistband, Shin, i18n } +export { back, front, waistband, Shin, i18n, about } diff --git a/designs/simon/about.json b/designs/simon/about.json new file mode 100644 index 00000000000..06a678aa7e9 --- /dev/null +++ b/designs/simon/about.json @@ -0,0 +1,19 @@ +{ + "id": "simon", + "name": "Simon button-down shirt", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a button down shirt", + "design": "Joost De Cock", + "difficulty": 4, + "tags": [ + "tops" + ], + "techniques": [ + "hem", + "button", + "interfacing", + "curved-seam", + "flat-felled-seam", + "flat-sleeve" + ] +} diff --git a/designs/simon/src/index.mjs b/designs/simon/src/index.mjs index f9fb36cdc37..58c4b7dbc99 100644 --- a/designs/simon/src/index.mjs +++ b/designs/simon/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as simonI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -19,7 +19,7 @@ import { front } from './front.mjs' // Setup our new design const Simon = new Design({ - data, + data: about, parts: [ back, buttonholePlacket, @@ -57,4 +57,5 @@ export { yoke, Simon, i18n, + about, } diff --git a/designs/simone/about.json b/designs/simone/about.json new file mode 100644 index 00000000000..d3c64f718c1 --- /dev/null +++ b/designs/simone/about.json @@ -0,0 +1,19 @@ +{ + "id": "simone", + "name": "Simone button-down shirt", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", + "design": "Joost De Cock", + "difficulty": 4, + "tags": [ + "tops" + ], + "techniques": [ + "hem", + "button", + "interfacing", + "curved-seam", + "flat-felled-seam", + "flat-sleeve" + ] +} diff --git a/designs/simone/src/index.mjs b/designs/simone/src/index.mjs index 9596e72f465..f92bf692909 100644 --- a/designs/simone/src/index.mjs +++ b/designs/simone/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as simonI18n } from '@freesewing/simon' import { i18n as simoneI18n } from '../i18n/index.mjs' import { @@ -41,7 +41,7 @@ const frontLeft = { // Setup our new design const Simone = new Design({ - data, + data: about, parts: [ fbaFront, back, @@ -79,4 +79,5 @@ export { frontLeft, Simone, i18n, + about, } diff --git a/designs/skully/about.json b/designs/skully/about.json new file mode 100644 index 00000000000..dea9ac16f2b --- /dev/null +++ b/designs/skully/about.json @@ -0,0 +1,16 @@ +{ + "id": "skully", + "name": "Skully the FreeSewing mascot", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for skully, our logo, a plushy toy", + "design": "Wouter Van Wageningen", + "difficulty": 4, + "tags": [ + "accessories", + "toys" + ], + "techniques": [ + "curved-seam", + "precision" + ] +} diff --git a/designs/skully/src/index.mjs b/designs/skully/src/index.mjs index 9eb42512ed7..ea05e9dbe91 100644 --- a/designs/skully/src/index.mjs +++ b/designs/skully/src/index.mjs @@ -1,6 +1,6 @@ // Skully import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { cheek } from './cheek.mjs' import { cheekbone } from './cheekbone.mjs' @@ -19,7 +19,7 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Skully = new Design({ - data, + data: about, parts: [ cheek, cheekbone, @@ -52,4 +52,5 @@ export { uppermouth, Skully, i18n, + about, } diff --git a/designs/sven/about.json b/designs/sven/about.json new file mode 100644 index 00000000000..eb18b08ad7a --- /dev/null +++ b/designs/sven/about.json @@ -0,0 +1,16 @@ +{ + "id": "sven", + "name": "Sven sweatshirt", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a straightforward sweater", + "design": "Joost De Cock", + "difficulty": 3, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "flat-sleeve", + "ribbing" + ] +} diff --git a/designs/sven/src/index.mjs b/designs/sven/src/index.mjs index ed8981b9a0c..5c88d71915e 100644 --- a/designs/sven/src/index.mjs +++ b/designs/sven/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as svenI18n } from '../i18n/index.mjs' import { front, back } from './frontback.mjs' @@ -9,7 +9,7 @@ import { waistband } from './waistband.mjs' // Setup our new design const Sven = new Design({ - data, + data: about, parts: [front, back, sleeve, cuff, waistband], }) @@ -17,4 +17,4 @@ const Sven = new Design({ const i18n = mergeI18n([brianI18n, svenI18n]) // Named exports -export { front, back, sleeve, cuff, waistband, Sven, i18n } +export { front, back, sleeve, cuff, waistband, Sven, i18n, about } diff --git a/designs/tamiko/about.json b/designs/tamiko/about.json new file mode 100644 index 00000000000..12307466ff7 --- /dev/null +++ b/designs/tamiko/about.json @@ -0,0 +1,14 @@ +{ + "id": "tamiko", + "name": "Tamiko zero-waste top", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a zero-waste top", + "design": "Joost De Cock", + "difficulty": 1, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam" + ] +} diff --git a/designs/tamiko/src/index.mjs b/designs/tamiko/src/index.mjs index 1169ff39bc2..9c4747e09fa 100644 --- a/designs/tamiko/src/index.mjs +++ b/designs/tamiko/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { top } from './top.mjs' // Setup our new design const Tamiko = new Design({ - data, + data: about, parts: [top], }) // Named exports -export { top, Tamiko, i18n } +export { top, Tamiko, i18n, about } diff --git a/designs/teagan/about.json b/designs/teagan/about.json new file mode 100644 index 00000000000..1319b51753a --- /dev/null +++ b/designs/teagan/about.json @@ -0,0 +1,17 @@ +{ + "id": "teagan", + "name": "Teagan T-shirt", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a T-shirt", + "design": "Joost De Cock", + "difficulty": 2, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "hem", + "flat-sleeve", + "knit-band" + ] +} diff --git a/designs/teagan/src/index.mjs b/designs/teagan/src/index.mjs index e0ab9c3212f..914adaae486 100644 --- a/designs/teagan/src/index.mjs +++ b/designs/teagan/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as teaganI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -8,7 +8,7 @@ import { sleeve } from './sleeve.mjs' // Setup our new design const Teagan = new Design({ - data, + data: about, parts: [back, front, sleeve], }) @@ -18,4 +18,4 @@ const i18n = mergeI18n([brianI18n, teaganI18n], { }) // Named exports -export { back, front, sleeve, Teagan, i18n } +export { back, front, sleeve, Teagan, i18n, about } diff --git a/designs/tiberius/about.json b/designs/tiberius/about.json new file mode 100644 index 00000000000..61aadb4f062 --- /dev/null +++ b/designs/tiberius/about.json @@ -0,0 +1,13 @@ +{ + "id": "tiberius", + "name": "Tiberius tunica", + "code": "Rika Tamaike", + "description": "A FreeSewing pattern for a tunica, a historical Roman tunic", + "design": "Rika Tamaike", + "difficulty": 1, + "tags": [ + "tops", + "historical" + ], + "techniques": [] +} diff --git a/designs/tiberius/src/index.mjs b/designs/tiberius/src/index.mjs index 656e947ddf0..78cd9d59aa4 100644 --- a/designs/tiberius/src/index.mjs +++ b/designs/tiberius/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { tunica } from './tunica.mjs' // Setup our new design const Tiberius = new Design({ - data, + data: about, parts: [tunica], }) // Named exports -export { tunica, Tiberius, i18n } +export { tunica, Tiberius, i18n, about } diff --git a/designs/titan/about.json b/designs/titan/about.json new file mode 100644 index 00000000000..a432d581665 --- /dev/null +++ b/designs/titan/about.json @@ -0,0 +1,16 @@ +{ + "id": "titan", + "name": "Titan trouser block", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a unisex trouser block", + "design": [ + "Debra Bean", + "Joost De Cock" + ], + "difficulty": 3, + "tags": [ + "blocks", + "bottoms" + ], + "techniques": [] +} diff --git a/designs/titan/src/index.mjs b/designs/titan/src/index.mjs index 8ccbbcf8dd5..145855b9a8c 100644 --- a/designs/titan/src/index.mjs +++ b/designs/titan/src/index.mjs @@ -1,14 +1,14 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' // Setup our new design const Titan = new Design({ - data, + data: about, parts: [back, front], }) // Named exports -export { back, front, Titan, i18n } +export { back, front, Titan, i18n, about } diff --git a/designs/trayvon/about.json b/designs/trayvon/about.json new file mode 100644 index 00000000000..1d0a89d20ce --- /dev/null +++ b/designs/trayvon/about.json @@ -0,0 +1,15 @@ +{ + "id": "trayvon", + "name": "Trayvon tie", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a tie", + "design": "Joost De Cock", + "difficulty": 2, + "tags": [ + "accessories" + ], + "techniques": [ + "precision", + "lining" + ] +} diff --git a/designs/trayvon/src/index.mjs b/designs/trayvon/src/index.mjs index 9376d51a03c..247b34b1aba 100644 --- a/designs/trayvon/src/index.mjs +++ b/designs/trayvon/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { interfacingTail, interfacingTip } from './interfacing.mjs' import { liningTail, liningTip } from './lining.mjs' @@ -8,7 +8,7 @@ import { fabricLoop } from './loop.mjs' // Setup our new design const Trayvon = new Design({ - data, + data: about, parts: [ interfacingTail, interfacingTip, @@ -31,4 +31,5 @@ export { fabricLoop, Trayvon, i18n, + about, } diff --git a/designs/tristan/about.json b/designs/tristan/about.json new file mode 100644 index 00000000000..4e6f11c3c14 --- /dev/null +++ b/designs/tristan/about.json @@ -0,0 +1,15 @@ +{ + "id": "tristan", + "name": "Tristan top", + "code": "Wouter van Wageningen", + "description": "A FreeSewing pattern for a fitted top with prince(ss) seams", + "design": "Natalia Sayang", + "difficulty": 3, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "precision" + ] +} diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index bf3a9aab97d..7b6199d8953 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -1,8 +1,6 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { frontPoints } from './frontpoints.mjs' import { frontInside } from './frontinside.mjs' @@ -15,7 +13,7 @@ import { peplumBack } from './peplumBack.mjs' // Create new design const Tristan = new Design({ - data, + data: about, parts: [ frontPoints, frontInside, @@ -40,4 +38,5 @@ export { peplumBack, i18n, Tristan, + about, } diff --git a/designs/uma/about.json b/designs/uma/about.json new file mode 100644 index 00000000000..955075ab699 --- /dev/null +++ b/designs/uma/about.json @@ -0,0 +1,16 @@ +{ + "id": "uma", + "name": "Uma undies", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", + "design": "Joost De Cock", + "difficulty": 2, + "tags": [ + "bottoms", + "underwear" + ], + "techniques": [ + "elastic", + "curved-seam" + ] +} diff --git a/designs/uma/src/index.mjs b/designs/uma/src/index.mjs index 94246187022..1405672c94e 100644 --- a/designs/uma/src/index.mjs +++ b/designs/uma/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { base } from './base.mjs' import { back } from './back.mjs' @@ -9,19 +9,12 @@ import { gusset } from './gusset.mjs' /* * Let core bake a new design for us */ -const Uma = new Design({ data, parts: [base, back, front, gusset] }) +const Uma = new Design({ + data: about, + parts: [base, back, front, gusset], +}) /* * Named exports */ -export { - // Individual parts - base, - back, - front, - gusset, - // The Uma design itself - Uma, - // Translations - i18n, -} +export { base, back, front, gusset, Uma, i18n, about } diff --git a/designs/umbra/about.json b/designs/umbra/about.json new file mode 100644 index 00000000000..358256e9bed --- /dev/null +++ b/designs/umbra/about.json @@ -0,0 +1,22 @@ +{ + "id": "umbra", + "name": "Umbra undies", + "code": [ + "Joost De Cock", + "Jonathan Haas" + ], + "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", + "design": [ + "Joost De Cock", + "Jonathan Haas" + ], + "difficulty": 2, + "tags": [ + "bottoms", + "underwear" + ], + "techniques": [ + "elastic", + "curved-seam" + ] +} diff --git a/designs/umbra/src/index.mjs b/designs/umbra/src/index.mjs index faf32fbca8f..ab7e9db3a01 100644 --- a/designs/umbra/src/index.mjs +++ b/designs/umbra/src/index.mjs @@ -3,26 +3,17 @@ import { i18n } from '../i18n/index.mjs' import { base } from './base.mjs' import { back } from './back.mjs' import { front } from './front.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } /* * Let core bake a new design for us */ const Umbra = new Design({ - data, + data: about, parts: [base, back, front], }) /* * Named exports */ -export { - // Individual parts - base, - back, - front, - // The Umbra design itself - Umbra, - // Translations - i18n, -} +export { base, back, front, Umbra, i18n, about } diff --git a/designs/wahid/about.json b/designs/wahid/about.json new file mode 100644 index 00000000000..45bbec4bcb6 --- /dev/null +++ b/designs/wahid/about.json @@ -0,0 +1,19 @@ +{ + "id": "wahid", + "name": "Wahid waistcoat", + "code": "Joost De Cock", + "description": "A FreeSewing pattern for a classic fitted waistcoat", + "design": "Joost De Cock", + "difficulty": 4, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "hem", + "interfacing", + "lining", + "welt-pocket", + "button" + ] +} diff --git a/designs/wahid/src/index.mjs b/designs/wahid/src/index.mjs index c81bb514a36..4e5b0302722 100644 --- a/designs/wahid/src/index.mjs +++ b/designs/wahid/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as wahidI18n } from '../i18n/index.mjs' import { front } from './front.mjs' @@ -13,7 +13,7 @@ import { pocketInterfacing } from './pocketinterfacing.mjs' // Setup our new design const Wahid = new Design({ - data, + data: about, parts: [ front, back, @@ -43,4 +43,5 @@ export { pocketInterfacing, Wahid, i18n, + about, } diff --git a/designs/walburga/about.json b/designs/walburga/about.json new file mode 100644 index 00000000000..680be9a3c64 --- /dev/null +++ b/designs/walburga/about.json @@ -0,0 +1,15 @@ +{ + "id": "walburga", + "name": "Walburga wappenrock", + "code": "Rika Tamaike", + "description": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", + "design": "Rika Tamaike", + "difficulty": 1, + "tags": [ + "bottoms", + "historical" + ], + "techniques": [ + "hem" + ] +} diff --git a/designs/walburga/src/index.mjs b/designs/walburga/src/index.mjs index 010102dd6fa..516946715ba 100644 --- a/designs/walburga/src/index.mjs +++ b/designs/walburga/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { front } from './front.mjs' import { back } from './back.mjs' @@ -8,9 +8,9 @@ import { base } from './base.mjs' // Setup our new design const Walburga = new Design({ - data, + data: about, parts: [back, front], }) // Named exports -export { back, front, base, Walburga, i18n } +export { back, front, base, Walburga, i18n, about } diff --git a/designs/waralee/about.json b/designs/waralee/about.json new file mode 100644 index 00000000000..d7fc50885cc --- /dev/null +++ b/designs/waralee/about.json @@ -0,0 +1,17 @@ +{ + "id": "waralee", + "name": "Waralee wrap pants", + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for wrap pants", + "design": "Wouter Van Wageningen", + "difficulty": 2, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "curved-seam", + "hem", + "welt-pocket" + ] +} diff --git a/designs/waralee/src/index.mjs b/designs/waralee/src/index.mjs index f0254229a8c..3fe87c3c2eb 100644 --- a/designs/waralee/src/index.mjs +++ b/designs/waralee/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { pants } from './pants.mjs' import { cutout } from './cutout.mjs' @@ -13,7 +13,7 @@ import { pantsProto } from './pantsproto.mjs' // Setup our new design const Waralee = new Design({ - data, + data: about, parts: [ pants, cutout, @@ -45,4 +45,5 @@ export { pantsProto, Waralee, i18n, + about, } diff --git a/designs/yuri/about.json b/designs/yuri/about.json new file mode 100644 index 00000000000..9b7c307759e --- /dev/null +++ b/designs/yuri/about.json @@ -0,0 +1,17 @@ +{ + "id": "yuri", + "name": "Yuri sweater", + "code": "Hellgy", + "description": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie", + "design": "Biou", + "difficulty": 3, + "tags": [ + "tops" + ], + "techniques": [ + "curved-seam", + "flat-sleeve", + "hem", + "button" + ] +} diff --git a/designs/yuri/src/index.mjs b/designs/yuri/src/index.mjs index fd2fb5debc6..5945a37dfea 100644 --- a/designs/yuri/src/index.mjs +++ b/designs/yuri/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as yuriI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -11,7 +11,7 @@ import { hoodCenter } from './hoodcenter.mjs' // Setup our new design const Yuri = new Design({ - data, + data: about, parts: [back, front, sleeve, gusset, hoodSide, hoodCenter], }) @@ -20,4 +20,4 @@ const i18n = mergeI18n([brianI18n, yuriI18n]) // Named exports // Named exports -export { back, front, sleeve, gusset, hoodSide, hoodCenter, Yuri, i18n } +export { back, front, sleeve, gusset, hoodSide, hoodCenter, Yuri, i18n, about } diff --git a/packages/collection/src/examples.mjs b/packages/collection/src/examples.mjs new file mode 100644 index 00000000000..6a89fedd687 --- /dev/null +++ b/packages/collection/src/examples.mjs @@ -0,0 +1,68 @@ +import { cloudflare } from '@freesewing/config' + +/* + * This holds the ID of an example image for all designs in the FreeSewing collection + */ +export const designExampleIds = { + aaron: 'showcase-tight-aaron', + albert: 'showcase-albert-by-wouter', + bee: 'd0312c99-7b2f-4e37-c131-d626d34cd300', + bella: 'showcase-bella-by-karen', + benjamin: 'showcase-benjamin-by-anto', + bent: 'showcase-linnen-jaeger-by-paul', + bob: 'showcase-bob-bibs-by-duck', + breanna: 'showcase-magicantace-breanna-sandy', + brian: 'showcase-brian-by-stefan-1', + bruce: 'showcase-nsfw-bruce', + cathrin: 'showcase-green-cathrin', + carlton: 'showcase-carlton-by-boris', + carlita: 'showcase-quentin-carlita', + charlie: 'showcase-charlie-by-joost', + cornelius: 'showcase-cornelius-by-wouter', + diana: 'showcase-diana-by-deby', + florence: 'showcase-rowans-leaf-print-florence', + florent: 'showcase-florent-by-enno', + gozer: '80f22d09-e1fd-4e04-67f7-e58253c66200', + hi: 'showcase-hi-the-shark-has-our-hearts', + holmes: 'showcase-a-modified-holmes', + hortensia: 'showcase-hortensia-by-saber', + huey: 'showcase-anneke-huey', + hugo: 'showcase-husband-hugo', + jaeger: 'showcase-jaeger-by-roberta', + lucy: 'showcase-houseoflief-lucy', + lumira: 'showcase-lumira-leggings-with-cycling-chamois', + lunetius: 'showcase-lunetius-the-lacerna', + noble: 'showcase-a-casual-test-of-noble', + octoplushy: 'showcase-meet-octoplushy', + onyx: 'showcase-onyx-full-body-unisuit', + opal: 'showcase-embroidered-opal-shortalls', + otis: 'showcase-four-versions-of-otis-and-a-bonus-bob', + paco: 'showcase-paco-by-karen', + penelope: 'showcase-pregnant-lady-penelope', + sandy: 'showcase-sandy-by-anneke', + shelly: 'showcase-short-sleeve-shelly-rash-guard', + shin: 'showcase-just-peachy-shin-bee', + simon: 'showcase-simon-shirt-by-sewingdentist', + simone: 'showcase-simone-by-gaelle', + skully: 'showcase-3d-skully', + sven: 'showcase-french-terry-sven', + tamiko: 'showcase-a-tamiko-top', + teagan: 'showcase-teagan-karen', + tiberius: 'showcase-tiberius-the-tunica', + titan: 'showcase-a-mock-up-of-titan-with-the-fit-to-knee-option-enabled', + trayvon: 'showcase-liberty-trayvon', + tristan: 'showcase-a-lined-tristan-top-with-front-lacing', + uma: 'showcase-lower-rise-ursula', + wahid: 'showcase-sterling42-wahid', + walburga: 'showcase-walburga-the-wappenrock', + waralee: 'fde729f5-ea72-4af4-b798-331bbce04000', + yuri: 'showcase-yuri-by-its-designer', +} + +/* + * Same, but with a full href + */ +export const designExampleHrefs = {} +for (const [design, id] of Object.entries(designExampleIds)) { + designExampleHrefs[design] = `${cloudflare.url}${id}/public` +} diff --git a/packages/collection/src/index.mjs b/packages/collection/src/index.mjs index 8ec09158b21..26595fa6ff2 100644 --- a/packages/collection/src/index.mjs +++ b/packages/collection/src/index.mjs @@ -1,3 +1,4 @@ +// Designs import { Aaron as aaron } from '@freesewing/aaron' import { Albert as albert } from '@freesewing/albert' import { Bee as bee } from '@freesewing/bee' @@ -56,7 +57,12 @@ import { Walburga as walburga } from '@freesewing/walburga' import { Waralee as waralee } from '@freesewing/waralee' import { Yuri as yuri } from '@freesewing/yuri' import { Lily as lily } from '@freesewing/lily' +// Examples +import { designExampleIds, designExampleHrefs } from './examples.mjs' +/* + * Export the designs themselves + */ export const designs = { aaron, albert, @@ -118,11 +124,23 @@ export const designs = { lily, } +/* + * Export a list of names that make up the FreeSewing collection + */ export const collection = Object.keys(designs) +/* + * Create various helper exports to get info about the collection + */ export const requiredMeasurements = {} export const optionalMeasurements = {} export const measurements = {} +export const about = {} + +const _tags = new Set() +const _techniques = new Set() +const _devs = new Set() +const _dess = new Set() for (const design in designs) { requiredMeasurements[design] = designs[design].patternConfig.measurements @@ -131,4 +149,31 @@ for (const design in designs) { ...designs[design].patternConfig.measurements, ...designs[design].patternConfig.optionalMeasurements, ] + about[design] = { ...designs[design].designConfig.data } + if (about[design].tags) _tags.add(...about[design].tags) + if (about[design].techniques) _techniques.add(...about[design].techniques) + if (Array.isArray(about[design].code)) _devs.add(...about[design].code) + else _devs.add(about[design].code) + if (Array.isArray(about[design].design)) _devs.add(...about[design].design) + else _devs.add(about[design].design) +} +export const tags = Array.from(_tags) + .filter((t) => (t ? true : false)) + .sort() +export const techniques = Array.from(_techniques) + .filter((t) => (t ? true : false)) + .sort() +export const developers = Array.from(_devs) + .filter((t) => (t ? true : false)) + .sort() +export const designers = Array.from(_dess) + .filter((t) => (t ? true : false)) + .sort() + +/* + * These are examples + */ +export const examples = { + id: designExampleIds, + href: designExampleHrefs, } diff --git a/packages/react/components/Account/Apikeys.mjs b/packages/react/components/Account/Apikeys.mjs index 48e90c1455a..20f5d0c963c 100644 --- a/packages/react/components/Account/Apikeys.mjs +++ b/packages/react/components/Account/Apikeys.mjs @@ -102,16 +102,16 @@ export const Apikeys = ({ Link = false }) => { return ( <> -
@@ -139,13 +139,13 @@ export const Apikeys = ({ Link = false }) => { {Object.keys(fields).map((field) => ( | @@ -155,23 +155,23 @@ export const Apikeys = ({ Link = false }) => { | ||||||||
---|---|---|---|---|---|---|---|---|---|
+ | toggle(apikey.id)} /> | -+ |
|
{Object.keys(fields)
.slice(1, 4)
.map((field) => (
- + | ))} - | {shortDate(apikey.createdAt)} | -{shortDate(apikey.expiresAt)} | +{shortDate(apikey.createdAt)} | +{shortDate(apikey.expiresAt)} |