From 43ee0f17909fdebb2d6270c174039edf9a27c328 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 17 Jun 2022 12:02:09 +0200 Subject: [PATCH] chore: Adapt sites to recent changes --- .gitignore | 77 +- CHANGELOG.md | 906 +++++++++--------- .../measurements.mjs | 2 + config/software/designs.json | 106 +- config/software/index.mjs | 11 +- config/software/sites.json | 8 +- scripts/reconfigure.mjs | 2 +- sites/{freesewing.dev => dev}/.eslintrc.json | 0 .../algolia.config.mjs} | 2 - .../components/feeds.js | 0 .../components/footer.js | 0 .../components/header.js | 0 .../components/help-us.js | 0 .../components/layouts/bare.js | 0 sites/dev/components/layouts/docs.js | 37 + .../components/search.js | 2 +- .../components/wrappers/layout.js | 0 .../components/wrappers/page.js | 0 sites/{freesewing.dev => dev}/hooks/useApp.js | 0 sites/dev/i18n.config.mjs | 3 + .../next-i18next.config.js | 0 sites/{freesewing.dev => dev}/next.config.mjs | 2 +- sites/{freesewing.dev => dev}/package.json | 8 +- .../pages/[...mdxslug].js | 0 sites/{freesewing.dev => dev}/pages/_app.js | 0 .../pages/_document.js | 0 .../pages/blog/[slug].js | 0 sites/dev/pages/blog/index.js | 107 +++ sites/{freesewing.dev => dev}/pages/index.js | 0 sites/dev/postcss.config.js | 5 + .../{freesewing.dev => dev}/prebuild/.gitkeep | 0 .../public/brands/algolia.svg | 0 .../public/brands/bugsnag.svg | 0 .../public/brands/crowdin.svg | 0 .../public/brands/netlify.svg | 0 .../public/brands/vercel.svg | 0 .../public/favicon.ico | Bin .../public/feeds/.gitkeep | 0 .../public/img/splash.jpg | Bin .../public/locales/de/.gitkeep | 0 .../public/locales/en/.gitkeep | 0 .../public/locales/es/.gitkeep | 0 .../public/locales/fr/.gitkeep | 0 .../public/locales/nl/.gitkeep | 0 .../public/mdx/.gitkeep | 0 .../public/support.jpg | Bin .../scripts/algolia.mjs | 0 sites/{freesewing.dev => dev}/skip_build.sh | 0 sites/dev/tailwind.config.js | 4 + .../freesewing.dev/components/layouts/docs.js | 78 -- .../components/wrappers/layout.js | 115 --- sites/freesewing.dev/i18n.config.mjs | 3 - sites/freesewing.dev/pages/blog/index.js | 88 -- sites/freesewing.lab/i18n.config.mjs | 3 - sites/freesewing.lab/next.config.mjs | 46 - sites/freesewing.lab/postcss.config.js | 5 - sites/freesewing.lab/public/img/splash.jpg | 1 - sites/freesewing.lab/tailwind.config.js | 4 - sites/freesewing.org/postcss.config.js | 5 - sites/freesewing.org/tailwind.config.js | 4 - sites/freesewing.shared/config/designs.json | 60 -- sites/freesewing.shared/config/freesewing.mjs | 5 - sites/freesewing.shared/config/pitches.js | 7 - sites/{freesewing.lab => lab}/.eslintrc.json | 0 sites/{freesewing.lab => lab}/CHANGELOG.md | 0 sites/{freesewing.lab => lab}/README.md | 0 .../available-versions.json | 0 .../components/about.js | 0 .../components/footer.js | 0 .../components/header.js | 0 .../components/help-us.js | 0 .../components/layouts/bare.js | 0 .../components/layouts/lab.js | 0 .../components/pattern-picker.js | 0 .../components/search.js | 0 .../components/version-picker.js | 0 .../components/wrappers/layout.js | 0 .../components/wrappers/page.js | 0 sites/{freesewing.lab => lab}/hooks/useApp.js | 48 +- .../hooks/useVersion.js | 0 sites/lab/i18n.config.mjs | 3 + sites/{freesewing.lab => lab}/lib/.gitkeep | 0 .../next-i18next.config.js | 0 sites/lab/next.config.mjs | 59 ++ sites/{freesewing.lab => lab}/package.json | 10 +- .../page-templates/design-list.js} | 0 .../page-templates/workbench.js | 4 +- sites/{freesewing.lab => lab}/pages/_app.js | 0 .../pages/accessories/.gitkeep | 0 .../pages/accessories/index.js | 0 .../pages/blocks/.gitkeep | 0 .../pages/blocks/index.js | 0 .../pages/garments/.gitkeep | 0 .../pages/garments/index.js | 0 sites/{freesewing.lab => lab}/pages/index.js | 0 .../pages/utilities/.gitkeep | 0 .../pages/utilities/index.js | 0 .../{freesewing.lab => lab}/pages/v/.gitkeep | 0 .../pages/v/next/.gitkeep | 0 sites/{freesewing.lab => lab}/plugins.json | 0 sites/lab/postcss.config.js | 5 + .../{freesewing.lab => lab}/prebuild/.gitkeep | 0 .../public/brands/algolia.svg | 0 .../public/brands/bugsnag.svg | 0 .../public/brands/crowdin.svg | 0 .../public/brands/netlify.svg | 0 .../public/favicon.ico | Bin sites/lab/public/img/splash.jpg | 1 + .../public/locales/de/.gitkeep | 0 .../public/locales/en/.gitkeep | 0 .../public/locales/es/.gitkeep | 0 .../public/locales/fr/.gitkeep | 0 .../public/locales/nl/.gitkeep | 0 .../public/support.jpg | Bin .../scripts/algolia.mjs | 4 +- sites/{freesewing.lab => lab}/skip_build.sh | 0 sites/lab/tailwind.config.js | 4 + sites/{freesewing.lab => lab}/versions.json | 0 sites/{freesewing.org => org}/.eslintrc.json | 0 .../components/design.js | 0 sites/org/components/feeds.js | 70 ++ .../components/footer.js | 0 .../components/header.js | 0 .../components/help-us.js | 0 .../components/layouts/bare.js | 0 .../components/layouts/docs.js | 0 .../components/mdx/index.js | 0 .../components/mdx/pattern-docs.js | 0 .../components/mdx/pattern-measurements.js | 0 .../components/mdx/pattern-options.js | 0 .../components/search.js | 0 sites/org/components/wrappers/layout.js | 59 ++ .../components/wrappers/page.js | 7 +- .../freesewing.config.js | 0 sites/{freesewing.org => org}/hooks/useApp.js | 0 .../next-i18next.config.js | 0 sites/{freesewing.org => org}/next.config.mjs | 0 sites/{freesewing.org => org}/package.json | 0 sites/{freesewing.org => org}/pages/_app.js | 0 .../pages/_document.js | 0 .../pages/blog/[slug].js | 107 ++- .../pages/blog/index.js | 2 +- .../pages/community/index.js | 0 .../pages/designs/index.js | 0 .../pages/docs/[...mdxslug].js | 0 .../pages/docs/index.js | 0 sites/{freesewing.org => org}/pages/index.js | 0 .../pages/showcase/[slug].js | 0 .../pages/showcase/designs/[design].js | 0 .../pages/showcase/designs/index.js | 0 .../pages/showcase/index.js | 0 .../pages/typography.js | 0 .../{freesewing.dev => org}/postcss.config.js | 0 .../{freesewing.org => org}/prebuild/.gitkeep | 0 .../public/brands/algolia.svg | 0 .../public/brands/bugsnag.svg | 0 .../public/brands/crowdin.svg | 0 .../public/brands/netlify.svg | 0 .../public/brands/vercel.svg | 0 .../public/favicon.ico | Bin .../public/feeds/.gitkeep | 0 .../public/img/designs/aaron.png | Bin .../public/img/designs/albert.png | Bin .../public/img/designs/benjamin.png | Bin .../public/img/designs/bruce.png | Bin .../public/img/designs/cathrin.png | Bin .../public/img/designs/charlie.png | Bin .../public/img/designs/cornelius.png | Bin .../public/img/designs/diana.png | Bin .../public/img/designs/florence.png | Bin .../public/img/designs/florent.png | Bin .../public/img/designs/huey.png | Bin .../public/img/designs/hugo.png | Bin .../public/img/designs/jaeger.png | Bin .../public/img/designs/penelope.png | Bin .../public/img/designs/sandy.png | Bin .../public/img/designs/shin.png | Bin .../public/img/designs/simon.png | Bin .../public/img/designs/sven.png | Bin .../public/img/designs/tamiko.png | Bin .../public/img/designs/teagan.png | Bin .../public/img/designs/theo.png | Bin .../public/img/designs/titan.png | Bin .../public/img/designs/trayvon.png | Bin .../public/img/designs/ursula.png | Bin .../public/img/designs/wahid.png | Bin .../public/img/designs/waralee.png | Bin .../public/img/splash.jpg | Bin .../public/locales/de/.gitkeep | 0 .../public/locales/en/.gitkeep | 0 .../public/locales/es/.gitkeep | 0 .../public/locales/fr/.gitkeep | 0 .../public/locales/nl/.gitkeep | 0 .../public/support.jpg | Bin .../scripts/algolia.mjs | 0 .../tailwind.config.js | 0 .../CHANGELOG.md | 0 .../components/breadcrumbs.js | 0 .../components/copy-to-clipboard.js | 0 .../components/docs-link.js | 0 .../components/icons/box.js | 0 .../components/icons/camera.js | 0 .../components/icons/clear.js | 0 .../components/icons/close.js | 0 .../components/icons/cog.js | 0 .../components/icons/community.js | 0 .../components/icons/copy.js | 0 .../components/icons/design.js | 0 .../components/icons/discord.js | 0 .../components/icons/docs.js | 0 .../components/icons/down.js | 0 .../components/icons/edit.js | 0 .../components/icons/export.js | 0 .../components/icons/facebook.js | 0 .../components/icons/filter.js | 0 .../components/icons/freesewing.js | 0 .../components/icons/github.js | 0 .../components/icons/google.js | 0 .../components/icons/guide.js | 0 .../components/icons/heart.js | 0 .../components/icons/help.js | 0 .../components/icons/i18n.js | 0 .../components/icons/instagram.js | 0 .../components/icons/left.js | 0 .../components/icons/menu.js | 0 .../components/icons/note.js | 0 .../components/icons/options.js | 0 .../components/icons/page-size.js | 0 .../components/icons/page.js | 0 .../components/icons/print.js | 0 .../components/icons/reddit.js | 0 .../components/icons/right.js | 0 .../components/icons/rss.js | 0 .../components/icons/search.js | 0 .../components/icons/settings.js | 0 .../components/icons/theme.js | 0 .../components/icons/tip.js | 0 .../components/icons/tutorial.js | 0 .../components/icons/twitter.js | 0 .../components/icons/user.js | 0 .../components/icons/versions.js | 0 .../components/icons/with-breasts.js | 0 .../components/icons/without-breasts.js | 0 .../components/icons/xray.js | 0 .../components/json.js | 0 .../components/layouts/default.js | 0 .../components/lightbox.js | 0 .../components/locale-picker.js | 0 .../components/logos/cc-by.js | 0 .../components/logos/cc.js | 0 .../components/logos/freesewing.js | 0 .../components/logos/osi.js | 0 .../components/mdx/dot-rough.js | 0 .../components/mdx/dot.js | 0 .../components/mdx/example/Circle/index.js | 0 .../components/mdx/example/Defs/index.js | 0 .../components/mdx/example/Develop.js | 0 .../mdx/example/DevelopPath/index.js | 0 .../mdx/example/DevelopPath/logo-path.js | 0 .../mdx/example/DevelopPoint/index.js | 0 .../mdx/example/DevelopPoint/logo-path.js | 0 .../components/mdx/example/Part/index.js | 0 .../components/mdx/example/Path/index.js | 0 .../components/mdx/example/Point/index.js | 0 .../components/mdx/example/Snippet/index.js | 0 .../components/mdx/example/Svg/index.js | 0 .../components/mdx/example/Text/index.js | 0 .../mdx/example/TextOnPath/index.js | 0 .../components/mdx/example/index.js | 0 .../components/mdx/example/utils.js | 0 .../components/mdx/figure.js | 0 .../components/mdx/highlight.js | 2 +- .../components/mdx/index.js | 0 .../components/mdx/prev-next.js | 0 .../components/mdx/read-more.js | 0 .../components/mdx/youtube.js | 0 .../components/navigation/aside.js | 0 .../components/navigation/primary.js | 0 .../components/page-link.js | 0 .../components/pinked-ribbon.js | 0 .../components/popout.js | 0 .../components/robot/index.js | 0 .../components/robot/poses.js | 0 .../components/theme-picker.js | 0 .../components/web-link.js | 0 .../components/workbench/default-settings.js | 0 .../workbench/draft/circle/index.js | 0 .../components/workbench/draft/defs/index.js | 0 .../components/workbench/draft/error.js | 0 .../components/workbench/draft/index.js | 6 +- .../components/workbench/draft/part/index.js | 0 .../components/workbench/draft/path/index.js | 0 .../components/workbench/draft/point/index.js | 2 +- .../workbench/draft/snippet/index.js | 0 .../components/workbench/draft/svg-wrapper.js | 0 .../components/workbench/draft/svg/index.js | 0 .../workbench/draft/text-on-path/index.js | 0 .../components/workbench/draft/text/index.js | 0 .../components/workbench/draft/utils.js | 0 .../components/workbench/events.js | 0 .../components/workbench/export.js | 10 +- .../workbench/inputs/design-option-count.js | 2 +- .../workbench/inputs/design-option-list.js | 2 +- .../workbench/inputs/design-option-pct-deg.js | 14 +- .../workbench/inputs/measurement.js | 0 .../components/workbench/json.js | 0 .../components/workbench/layout/cut/index.js | 2 +- .../workbench/layout/cut/settings.js | 0 .../components/workbench/layout/draft.js | 0 .../workbench/layout/print/index.js | 4 +- .../layout/print/orientation-picker.js | 0 .../workbench/layout/print/pagesize-picker.js | 0 .../workbench/layout/print/plugin.js | 0 .../workbench/layout/print/settings.js | 0 .../workbench/measurements/index.js | 12 +- .../workbench/measurements/non-human.js | 0 .../menu/core-settings/core-setting-bool.js | 0 .../menu/core-settings/core-setting-list.js | 0 .../menu/core-settings/core-setting-mm.js | 4 +- .../menu/core-settings/core-setting-nr.js | 0 .../menu/core-settings/core-setting-only.js | 2 +- .../core-settings/core-setting-sa-bool.js | 0 .../menu/core-settings/core-setting-sa-mm.js | 4 +- .../workbench/menu/core-settings/index.js | 0 .../workbench/menu/core-settings/setting.js | 12 +- .../workbench/menu/design-options/index.js | 2 +- .../menu/design-options/option-group.js | 2 +- .../menu/design-options/option-input.js | 0 .../menu/design-options/option-value.js | 18 +- .../workbench/menu/design-options/option.js | 12 +- .../components/workbench/menu/index.js | 0 .../menu/test-design-options/index.js | 2 +- .../menu/test-design-options/option-group.js | 2 +- .../test-design-options/option-sub-group.js | 0 .../menu/test-design-options/option.js | 4 +- .../components/workbench/menu/view.js | 10 +- .../workbench/menu/xray/attributes.js | 4 +- .../components/workbench/menu/xray/disable.js | 0 .../components/workbench/menu/xray/index.js | 0 .../components/workbench/menu/xray/list.js | 0 .../components/workbench/menu/xray/log.js | 2 +- .../workbench/menu/xray/path-ops.js | 6 +- .../components/workbench/menu/xray/path.js | 6 +- .../components/workbench/menu/xray/point.js | 4 +- .../components/workbench/menu/xray/reset.js | 0 .../components/workbench/preload.js | 0 .../components/workbench/sample.js | 0 .../components/workbench/yaml.js | 0 .../components/worm.js | 0 .../components/wrappers/img.js | 0 .../components/wrappers/mdx.js | 0 .../components/wrappers/page.js | 0 .../components/wrappers/toc.js | 0 .../components/wrappers/workbench.js | 28 +- .../components/yaml.js | 0 sites/shared/config/freesewing.mjs | 58 ++ .../config/i18n.config.mjs | 0 sites/shared/config/measurements.js | 4 + .../config/next.mjs | 31 +- .../config/postcss.config.js | 0 .../config/tailwind.config.js | 2 +- .../designs/index.js | 0 .../hooks/useLocalStorage.js | 0 .../hooks/useTheme.js | 0 .../mdx/compiler.js | 0 .../mdx/loader.js | 2 +- .../mdx/mdx-plugin-toc.mjs | 0 .../mdx/remark-intro-plugin.mjs | 0 .../package.json | 2 +- .../prebuild/contributors.mjs | 2 +- .../prebuild/feed.mjs | 14 +- .../prebuild/i18n-only.mjs | 0 .../prebuild/i18n.mjs | 4 +- .../prebuild/index.mjs | 0 .../prebuild/lab.mjs | 51 +- .../prebuild/mdx.mjs | 4 +- .../prebuild/navigation.mjs | 2 +- .../prebuild/patrons.mjs | 2 +- .../prebuild/strapi.mjs | 8 +- .../strapi/loader.js | 4 +- .../strapi/qa.mjs | 0 .../styles/code.css | 0 .../styles/globals.css | 0 .../styles/svg-freesewing-draft.css | 0 .../themes/dark.js | 0 .../themes/hax0r.js | 0 .../themes/index.js | 0 .../themes/lgbtq.js | 0 .../themes/light.js | 0 .../themes/runtime.js | 0 .../themes/trans.js | 0 sites/{freesewing.shared => shared}/utils.mjs | 0 392 files changed, 1269 insertions(+), 1190 deletions(-) rename sites/freesewing.shared/config/measurements.js => config/measurements.mjs (99%) rename sites/{freesewing.dev => dev}/.eslintrc.json (100%) rename sites/{freesewing.dev/freesewing.config.js => dev/algolia.config.mjs} (67%) rename sites/{freesewing.org => dev}/components/feeds.js (100%) rename sites/{freesewing.dev => dev}/components/footer.js (100%) rename sites/{freesewing.dev => dev}/components/header.js (100%) rename sites/{freesewing.dev => dev}/components/help-us.js (100%) rename sites/{freesewing.dev => dev}/components/layouts/bare.js (100%) create mode 100644 sites/dev/components/layouts/docs.js rename sites/{freesewing.org => dev}/components/search.js (99%) rename sites/{freesewing.org => dev}/components/wrappers/layout.js (100%) rename sites/{freesewing.org => dev}/components/wrappers/page.js (100%) rename sites/{freesewing.dev => dev}/hooks/useApp.js (100%) create mode 100644 sites/dev/i18n.config.mjs rename sites/{freesewing.dev => dev}/next-i18next.config.js (100%) rename sites/{freesewing.dev => dev}/next.config.mjs (83%) rename sites/{freesewing.dev => dev}/package.json (83%) rename sites/{freesewing.dev => dev}/pages/[...mdxslug].js (100%) rename sites/{freesewing.dev => dev}/pages/_app.js (100%) rename sites/{freesewing.dev => dev}/pages/_document.js (100%) rename sites/{freesewing.org => dev}/pages/blog/[slug].js (100%) create mode 100644 sites/dev/pages/blog/index.js rename sites/{freesewing.dev => dev}/pages/index.js (100%) create mode 100644 sites/dev/postcss.config.js rename sites/{freesewing.dev => dev}/prebuild/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/brands/algolia.svg (100%) rename sites/{freesewing.dev => dev}/public/brands/bugsnag.svg (100%) rename sites/{freesewing.dev => dev}/public/brands/crowdin.svg (100%) rename sites/{freesewing.dev => dev}/public/brands/netlify.svg (100%) rename sites/{freesewing.dev => dev}/public/brands/vercel.svg (100%) rename sites/{freesewing.dev => dev}/public/favicon.ico (100%) rename sites/{freesewing.dev => dev}/public/feeds/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/img/splash.jpg (100%) rename sites/{freesewing.dev => dev}/public/locales/de/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/locales/en/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/locales/es/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/locales/fr/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/locales/nl/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/mdx/.gitkeep (100%) rename sites/{freesewing.dev => dev}/public/support.jpg (100%) rename sites/{freesewing.dev => dev}/scripts/algolia.mjs (100%) rename sites/{freesewing.dev => dev}/skip_build.sh (100%) create mode 100644 sites/dev/tailwind.config.js delete mode 100644 sites/freesewing.dev/components/layouts/docs.js delete mode 100644 sites/freesewing.dev/components/wrappers/layout.js delete mode 100644 sites/freesewing.dev/i18n.config.mjs delete mode 100644 sites/freesewing.dev/pages/blog/index.js delete mode 100644 sites/freesewing.lab/i18n.config.mjs delete mode 100644 sites/freesewing.lab/next.config.mjs delete mode 100644 sites/freesewing.lab/postcss.config.js delete mode 120000 sites/freesewing.lab/public/img/splash.jpg delete mode 100644 sites/freesewing.lab/tailwind.config.js delete mode 100644 sites/freesewing.org/postcss.config.js delete mode 100644 sites/freesewing.org/tailwind.config.js delete mode 100644 sites/freesewing.shared/config/designs.json delete mode 100644 sites/freesewing.shared/config/freesewing.mjs delete mode 100644 sites/freesewing.shared/config/pitches.js rename sites/{freesewing.lab => lab}/.eslintrc.json (100%) rename sites/{freesewing.lab => lab}/CHANGELOG.md (100%) rename sites/{freesewing.lab => lab}/README.md (100%) rename sites/{freesewing.lab => lab}/available-versions.json (100%) rename sites/{freesewing.lab => lab}/components/about.js (100%) rename sites/{freesewing.lab => lab}/components/footer.js (100%) rename sites/{freesewing.lab => lab}/components/header.js (100%) rename sites/{freesewing.lab => lab}/components/help-us.js (100%) rename sites/{freesewing.lab => lab}/components/layouts/bare.js (100%) rename sites/{freesewing.lab => lab}/components/layouts/lab.js (100%) rename sites/{freesewing.lab => lab}/components/pattern-picker.js (100%) rename sites/{freesewing.lab => lab}/components/search.js (100%) rename sites/{freesewing.lab => lab}/components/version-picker.js (100%) rename sites/{freesewing.lab => lab}/components/wrappers/layout.js (100%) rename sites/{freesewing.lab => lab}/components/wrappers/page.js (100%) rename sites/{freesewing.lab => lab}/hooks/useApp.js (70%) rename sites/{freesewing.lab => lab}/hooks/useVersion.js (100%) create mode 100644 sites/lab/i18n.config.mjs rename sites/{freesewing.lab => lab}/lib/.gitkeep (100%) rename sites/{freesewing.lab => lab}/next-i18next.config.js (100%) create mode 100644 sites/lab/next.config.mjs rename sites/{freesewing.lab => lab}/package.json (79%) rename sites/{freesewing.lab/page-templates/pattern-list.js => lab/page-templates/design-list.js} (100%) rename sites/{freesewing.lab => lab}/page-templates/workbench.js (78%) rename sites/{freesewing.lab => lab}/pages/_app.js (100%) rename sites/{freesewing.lab => lab}/pages/accessories/.gitkeep (100%) rename sites/{freesewing.lab => lab}/pages/accessories/index.js (100%) rename sites/{freesewing.lab => lab}/pages/blocks/.gitkeep (100%) rename sites/{freesewing.lab => lab}/pages/blocks/index.js (100%) rename sites/{freesewing.lab => lab}/pages/garments/.gitkeep (100%) rename sites/{freesewing.lab => lab}/pages/garments/index.js (100%) rename sites/{freesewing.lab => lab}/pages/index.js (100%) rename sites/{freesewing.lab => lab}/pages/utilities/.gitkeep (100%) rename sites/{freesewing.lab => lab}/pages/utilities/index.js (100%) rename sites/{freesewing.lab => lab}/pages/v/.gitkeep (100%) rename sites/{freesewing.lab => lab}/pages/v/next/.gitkeep (100%) rename sites/{freesewing.lab => lab}/plugins.json (100%) create mode 100644 sites/lab/postcss.config.js rename sites/{freesewing.lab => lab}/prebuild/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/brands/algolia.svg (100%) rename sites/{freesewing.lab => lab}/public/brands/bugsnag.svg (100%) rename sites/{freesewing.lab => lab}/public/brands/crowdin.svg (100%) rename sites/{freesewing.lab => lab}/public/brands/netlify.svg (100%) rename sites/{freesewing.lab => lab}/public/favicon.ico (100%) create mode 120000 sites/lab/public/img/splash.jpg rename sites/{freesewing.lab => lab}/public/locales/de/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/locales/en/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/locales/es/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/locales/fr/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/locales/nl/.gitkeep (100%) rename sites/{freesewing.lab => lab}/public/support.jpg (100%) rename sites/{freesewing.org => lab}/scripts/algolia.mjs (96%) rename sites/{freesewing.lab => lab}/skip_build.sh (100%) create mode 100644 sites/lab/tailwind.config.js rename sites/{freesewing.lab => lab}/versions.json (100%) rename sites/{freesewing.org => org}/.eslintrc.json (100%) rename sites/{freesewing.org => org}/components/design.js (100%) create mode 100644 sites/org/components/feeds.js rename sites/{freesewing.org => org}/components/footer.js (100%) rename sites/{freesewing.org => org}/components/header.js (100%) rename sites/{freesewing.org => org}/components/help-us.js (100%) rename sites/{freesewing.org => org}/components/layouts/bare.js (100%) rename sites/{freesewing.org => org}/components/layouts/docs.js (100%) rename sites/{freesewing.org => org}/components/mdx/index.js (100%) rename sites/{freesewing.org => org}/components/mdx/pattern-docs.js (100%) rename sites/{freesewing.org => org}/components/mdx/pattern-measurements.js (100%) rename sites/{freesewing.org => org}/components/mdx/pattern-options.js (100%) rename sites/{freesewing.dev => org}/components/search.js (100%) create mode 100644 sites/org/components/wrappers/layout.js rename sites/{freesewing.dev => org}/components/wrappers/page.js (89%) rename sites/{freesewing.org => org}/freesewing.config.js (100%) rename sites/{freesewing.org => org}/hooks/useApp.js (100%) rename sites/{freesewing.org => org}/next-i18next.config.js (100%) rename sites/{freesewing.org => org}/next.config.mjs (100%) rename sites/{freesewing.org => org}/package.json (100%) rename sites/{freesewing.org => org}/pages/_app.js (100%) rename sites/{freesewing.org => org}/pages/_document.js (100%) rename sites/{freesewing.dev => org}/pages/blog/[slug].js (54%) rename sites/{freesewing.org => org}/pages/blog/index.js (98%) rename sites/{freesewing.org => org}/pages/community/index.js (100%) rename sites/{freesewing.org => org}/pages/designs/index.js (100%) rename sites/{freesewing.org => org}/pages/docs/[...mdxslug].js (100%) rename sites/{freesewing.org => org}/pages/docs/index.js (100%) rename sites/{freesewing.org => org}/pages/index.js (100%) rename sites/{freesewing.org => org}/pages/showcase/[slug].js (100%) rename sites/{freesewing.org => org}/pages/showcase/designs/[design].js (100%) rename sites/{freesewing.org => org}/pages/showcase/designs/index.js (100%) rename sites/{freesewing.org => org}/pages/showcase/index.js (100%) rename sites/{freesewing.org => org}/pages/typography.js (100%) rename sites/{freesewing.dev => org}/postcss.config.js (100%) rename sites/{freesewing.org => org}/prebuild/.gitkeep (100%) rename sites/{freesewing.org => org}/public/brands/algolia.svg (100%) rename sites/{freesewing.org => org}/public/brands/bugsnag.svg (100%) rename sites/{freesewing.org => org}/public/brands/crowdin.svg (100%) rename sites/{freesewing.org => org}/public/brands/netlify.svg (100%) rename sites/{freesewing.org => org}/public/brands/vercel.svg (100%) rename sites/{freesewing.org => org}/public/favicon.ico (100%) rename sites/{freesewing.org => org}/public/feeds/.gitkeep (100%) rename sites/{freesewing.org => org}/public/img/designs/aaron.png (100%) rename sites/{freesewing.org => org}/public/img/designs/albert.png (100%) rename sites/{freesewing.org => org}/public/img/designs/benjamin.png (100%) rename sites/{freesewing.org => org}/public/img/designs/bruce.png (100%) rename sites/{freesewing.org => org}/public/img/designs/cathrin.png (100%) rename sites/{freesewing.org => org}/public/img/designs/charlie.png (100%) rename sites/{freesewing.org => org}/public/img/designs/cornelius.png (100%) rename sites/{freesewing.org => org}/public/img/designs/diana.png (100%) rename sites/{freesewing.org => org}/public/img/designs/florence.png (100%) rename sites/{freesewing.org => org}/public/img/designs/florent.png (100%) rename sites/{freesewing.org => org}/public/img/designs/huey.png (100%) rename sites/{freesewing.org => org}/public/img/designs/hugo.png (100%) rename sites/{freesewing.org => org}/public/img/designs/jaeger.png (100%) rename sites/{freesewing.org => org}/public/img/designs/penelope.png (100%) rename sites/{freesewing.org => org}/public/img/designs/sandy.png (100%) rename sites/{freesewing.org => org}/public/img/designs/shin.png (100%) rename sites/{freesewing.org => org}/public/img/designs/simon.png (100%) rename sites/{freesewing.org => org}/public/img/designs/sven.png (100%) rename sites/{freesewing.org => org}/public/img/designs/tamiko.png (100%) rename sites/{freesewing.org => org}/public/img/designs/teagan.png (100%) rename sites/{freesewing.org => org}/public/img/designs/theo.png (100%) rename sites/{freesewing.org => org}/public/img/designs/titan.png (100%) rename sites/{freesewing.org => org}/public/img/designs/trayvon.png (100%) rename sites/{freesewing.org => org}/public/img/designs/ursula.png (100%) rename sites/{freesewing.org => org}/public/img/designs/wahid.png (100%) rename sites/{freesewing.org => org}/public/img/designs/waralee.png (100%) rename sites/{freesewing.org => org}/public/img/splash.jpg (100%) rename sites/{freesewing.org => org}/public/locales/de/.gitkeep (100%) rename sites/{freesewing.org => org}/public/locales/en/.gitkeep (100%) rename sites/{freesewing.org => org}/public/locales/es/.gitkeep (100%) rename sites/{freesewing.org => org}/public/locales/fr/.gitkeep (100%) rename sites/{freesewing.org => org}/public/locales/nl/.gitkeep (100%) rename sites/{freesewing.org => org}/public/support.jpg (100%) rename sites/{freesewing.lab => org}/scripts/algolia.mjs (100%) rename sites/{freesewing.dev => org}/tailwind.config.js (100%) rename sites/{freesewing.shared => shared}/CHANGELOG.md (100%) rename sites/{freesewing.shared => shared}/components/breadcrumbs.js (100%) rename sites/{freesewing.shared => shared}/components/copy-to-clipboard.js (100%) rename sites/{freesewing.shared => shared}/components/docs-link.js (100%) rename sites/{freesewing.shared => shared}/components/icons/box.js (100%) rename sites/{freesewing.shared => shared}/components/icons/camera.js (100%) rename sites/{freesewing.shared => shared}/components/icons/clear.js (100%) rename sites/{freesewing.shared => shared}/components/icons/close.js (100%) rename sites/{freesewing.shared => shared}/components/icons/cog.js (100%) rename sites/{freesewing.shared => shared}/components/icons/community.js (100%) rename sites/{freesewing.shared => shared}/components/icons/copy.js (100%) rename sites/{freesewing.shared => shared}/components/icons/design.js (100%) rename sites/{freesewing.shared => shared}/components/icons/discord.js (100%) rename sites/{freesewing.shared => shared}/components/icons/docs.js (100%) rename sites/{freesewing.shared => shared}/components/icons/down.js (100%) rename sites/{freesewing.shared => shared}/components/icons/edit.js (100%) rename sites/{freesewing.shared => shared}/components/icons/export.js (100%) rename sites/{freesewing.shared => shared}/components/icons/facebook.js (100%) rename sites/{freesewing.shared => shared}/components/icons/filter.js (100%) rename sites/{freesewing.shared => shared}/components/icons/freesewing.js (100%) rename sites/{freesewing.shared => shared}/components/icons/github.js (100%) rename sites/{freesewing.shared => shared}/components/icons/google.js (100%) rename sites/{freesewing.shared => shared}/components/icons/guide.js (100%) rename sites/{freesewing.shared => shared}/components/icons/heart.js (100%) rename sites/{freesewing.shared => shared}/components/icons/help.js (100%) rename sites/{freesewing.shared => shared}/components/icons/i18n.js (100%) rename sites/{freesewing.shared => shared}/components/icons/instagram.js (100%) rename sites/{freesewing.shared => shared}/components/icons/left.js (100%) rename sites/{freesewing.shared => shared}/components/icons/menu.js (100%) rename sites/{freesewing.shared => shared}/components/icons/note.js (100%) rename sites/{freesewing.shared => shared}/components/icons/options.js (100%) rename sites/{freesewing.shared => shared}/components/icons/page-size.js (100%) rename sites/{freesewing.shared => shared}/components/icons/page.js (100%) rename sites/{freesewing.shared => shared}/components/icons/print.js (100%) rename sites/{freesewing.shared => shared}/components/icons/reddit.js (100%) rename sites/{freesewing.shared => shared}/components/icons/right.js (100%) rename sites/{freesewing.shared => shared}/components/icons/rss.js (100%) rename sites/{freesewing.shared => shared}/components/icons/search.js (100%) rename sites/{freesewing.shared => shared}/components/icons/settings.js (100%) rename sites/{freesewing.shared => shared}/components/icons/theme.js (100%) rename sites/{freesewing.shared => shared}/components/icons/tip.js (100%) rename sites/{freesewing.shared => shared}/components/icons/tutorial.js (100%) rename sites/{freesewing.shared => shared}/components/icons/twitter.js (100%) rename sites/{freesewing.shared => shared}/components/icons/user.js (100%) rename sites/{freesewing.shared => shared}/components/icons/versions.js (100%) rename sites/{freesewing.shared => shared}/components/icons/with-breasts.js (100%) rename sites/{freesewing.shared => shared}/components/icons/without-breasts.js (100%) rename sites/{freesewing.shared => shared}/components/icons/xray.js (100%) rename sites/{freesewing.shared => shared}/components/json.js (100%) rename sites/{freesewing.shared => shared}/components/layouts/default.js (100%) rename sites/{freesewing.shared => shared}/components/lightbox.js (100%) rename sites/{freesewing.shared => shared}/components/locale-picker.js (100%) rename sites/{freesewing.shared => shared}/components/logos/cc-by.js (100%) rename sites/{freesewing.shared => shared}/components/logos/cc.js (100%) rename sites/{freesewing.shared => shared}/components/logos/freesewing.js (100%) rename sites/{freesewing.shared => shared}/components/logos/osi.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/dot-rough.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/dot.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Circle/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Defs/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Develop.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/DevelopPath/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/DevelopPath/logo-path.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/DevelopPoint/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/DevelopPoint/logo-path.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Part/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Path/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Point/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Snippet/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Svg/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/Text/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/TextOnPath/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/example/utils.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/figure.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/highlight.js (97%) rename sites/{freesewing.shared => shared}/components/mdx/index.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/prev-next.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/read-more.js (100%) rename sites/{freesewing.shared => shared}/components/mdx/youtube.js (100%) rename sites/{freesewing.shared => shared}/components/navigation/aside.js (100%) rename sites/{freesewing.shared => shared}/components/navigation/primary.js (100%) rename sites/{freesewing.shared => shared}/components/page-link.js (100%) rename sites/{freesewing.shared => shared}/components/pinked-ribbon.js (100%) rename sites/{freesewing.shared => shared}/components/popout.js (100%) rename sites/{freesewing.shared => shared}/components/robot/index.js (100%) rename sites/{freesewing.shared => shared}/components/robot/poses.js (100%) rename sites/{freesewing.shared => shared}/components/theme-picker.js (100%) rename sites/{freesewing.shared => shared}/components/web-link.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/default-settings.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/circle/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/defs/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/error.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/index.js (81%) rename sites/{freesewing.shared => shared}/components/workbench/draft/part/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/path/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/point/index.js (98%) rename sites/{freesewing.shared => shared}/components/workbench/draft/snippet/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/svg-wrapper.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/svg/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/text-on-path/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/text/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/draft/utils.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/events.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/export.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/inputs/design-option-count.js (97%) rename sites/{freesewing.shared => shared}/components/workbench/inputs/design-option-list.js (96%) rename sites/{freesewing.shared => shared}/components/workbench/inputs/design-option-pct-deg.js (88%) rename sites/{freesewing.shared => shared}/components/workbench/inputs/measurement.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/json.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/cut/index.js (84%) rename sites/{freesewing.shared => shared}/components/workbench/layout/cut/settings.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/draft.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/print/index.js (89%) rename sites/{freesewing.shared => shared}/components/workbench/layout/print/orientation-picker.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/print/pagesize-picker.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/print/plugin.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/layout/print/settings.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/measurements/index.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/measurements/non-human.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-bool.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-list.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-mm.js (95%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-nr.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-only.js (97%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-sa-bool.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/core-setting-sa-mm.js (95%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/core-settings/setting.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/design-options/index.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/design-options/option-group.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/design-options/option-input.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/design-options/option-value.js (75%) rename sites/{freesewing.shared => shared}/components/workbench/menu/design-options/option.js (83%) rename sites/{freesewing.shared => shared}/components/workbench/menu/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/test-design-options/index.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/test-design-options/option-group.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/test-design-options/option-sub-group.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/test-design-options/option.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/view.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/attributes.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/disable.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/index.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/list.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/log.js (95%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/path-ops.js (91%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/path.js (87%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/point.js (88%) rename sites/{freesewing.shared => shared}/components/workbench/menu/xray/reset.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/preload.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/sample.js (100%) rename sites/{freesewing.shared => shared}/components/workbench/yaml.js (100%) rename sites/{freesewing.shared => shared}/components/worm.js (100%) rename sites/{freesewing.shared => shared}/components/wrappers/img.js (100%) rename sites/{freesewing.shared => shared}/components/wrappers/mdx.js (100%) rename sites/{freesewing.shared => shared}/components/wrappers/page.js (100%) rename sites/{freesewing.shared => shared}/components/wrappers/toc.js (100%) rename sites/{freesewing.shared => shared}/components/wrappers/workbench.js (82%) rename sites/{freesewing.shared => shared}/components/yaml.js (100%) create mode 100644 sites/shared/config/freesewing.mjs rename sites/{freesewing.shared => shared}/config/i18n.config.mjs (100%) create mode 100644 sites/shared/config/measurements.js rename sites/{freesewing.shared => shared}/config/next.mjs (60%) rename sites/{freesewing.shared => shared}/config/postcss.config.js (100%) rename sites/{freesewing.shared => shared}/config/tailwind.config.js (91%) rename sites/{freesewing.shared => shared}/designs/index.js (100%) rename sites/{freesewing.shared => shared}/hooks/useLocalStorage.js (100%) rename sites/{freesewing.shared => shared}/hooks/useTheme.js (100%) rename sites/{freesewing.shared => shared}/mdx/compiler.js (100%) rename sites/{freesewing.shared => shared}/mdx/loader.js (96%) rename sites/{freesewing.shared => shared}/mdx/mdx-plugin-toc.mjs (100%) rename sites/{freesewing.shared => shared}/mdx/remark-intro-plugin.mjs (100%) rename sites/{freesewing.shared => shared}/package.json (94%) rename sites/{freesewing.shared => shared}/prebuild/contributors.mjs (86%) rename sites/{freesewing.shared => shared}/prebuild/feed.mjs (91%) rename sites/{freesewing.shared => shared}/prebuild/i18n-only.mjs (100%) rename sites/{freesewing.shared => shared}/prebuild/i18n.mjs (89%) rename sites/{freesewing.shared => shared}/prebuild/index.mjs (100%) rename sites/{freesewing.shared => shared}/prebuild/lab.mjs (70%) rename sites/{freesewing.shared => shared}/prebuild/mdx.mjs (96%) rename sites/{freesewing.shared => shared}/prebuild/navigation.mjs (94%) rename sites/{freesewing.shared => shared}/prebuild/patrons.mjs (92%) rename sites/{freesewing.shared => shared}/prebuild/strapi.mjs (91%) rename sites/{freesewing.shared => shared}/strapi/loader.js (85%) rename sites/{freesewing.shared => shared}/strapi/qa.mjs (100%) rename sites/{freesewing.shared => shared}/styles/code.css (100%) rename sites/{freesewing.shared => shared}/styles/globals.css (100%) rename sites/{freesewing.shared => shared}/styles/svg-freesewing-draft.css (100%) rename sites/{freesewing.shared => shared}/themes/dark.js (100%) rename sites/{freesewing.shared => shared}/themes/hax0r.js (100%) rename sites/{freesewing.shared => shared}/themes/index.js (100%) rename sites/{freesewing.shared => shared}/themes/lgbtq.js (100%) rename sites/{freesewing.shared => shared}/themes/light.js (100%) rename sites/{freesewing.shared => shared}/themes/runtime.js (100%) rename sites/{freesewing.shared => shared}/themes/trans.js (100%) rename sites/{freesewing.shared => shared}/utils.mjs (100%) diff --git a/.gitignore b/.gitignore index 88d30307442..76d7e3e9186 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,12 @@ # .env .env -# Specifics -export -packages/plugin-theme/src/bundle.css.js -packages/plugin-theme/css +# Plugins +plugins/plugin-theme/src/bundle.css.js +plugins/plugin-theme/css + + +# Components package build artifacts packages/components/Blockquote packages/components/Draft packages/components/DraftConfigurator @@ -27,8 +29,12 @@ packages/components/withGist packages/components/withLanguage packages/components/withStorage packages/components/Workbench + +# Code coverage reports packages/core/coverage -packages/workbench +packages/*/report + +# Utils package build artifacts packages/utils/backend packages/utils/camelCase packages/utils/capitalize @@ -54,60 +60,48 @@ packages/utils/tiler packages/utils/validateEmail packages/utils/validateTld -packages/*/example/yarn.lock -packages/*/report +# Any NPM or Yarn lock files +designs/*/package-lock.json +designs/*/yarn.lock packages/*/package-lock.json packages/*/yarn.lock -packages/strapi/.cache +plugins/*/package-lock.json +plugins/*/yarn.lock -packages/freesewing.dev/public/locales/en/*.json +# NPM lock files for sites (we use yarn) +sites/*/package-lock.json -packages/freesewing.org/public/locales/en/*.json -packages/freesewing.org/public/locales/es/*.json -packages/freesewing.org/public/locales/de/*.json -packages/freesewing.org/public/locales/fr/*.json -packages/freesewing.org/public/locales/nl/*.json +# Strapi cache +sites/strapi/.cache -packages/freesewing.lab/public/locales/en/*.json -packages/freesewing.lab/public/locales/es/*.json -packages/freesewing.lab/public/locales/de/*.json -packages/freesewing.lab/public/locales/fr/*.json -packages/freesewing.lab/public/locales/nl/*.json +# Sites prebuild artifacts +sites/*/public/locales/*/*.json +sites/*/public/feeds/* -packages/freesewing.org/public/feeds/* -packages/freesewing.dev/public/feeds/* +# Lab auto-generated pages +sites/lab/lib +sites/lab/pages -packages/freesewing.lab/lib -packages/freesewing.lab/pages - -# dependencies +# Node dependencies node_modules -# build +# Build folders dist build +export -#prebuild +# Prebuild files prebuild/*.json -# yarn +# Yarn .yarn .yarnrc # NextJS .next -packages/freesewing.dev/out -packages/freesewing.lab/out -packages/freesewing.org/out -packages/freesewing.dev/public/mdx -packages/freesewing.lab/public/mdx -packages/freesewing.org/public/mdx -packages/freesewing.dev/prebuild -packages/freesewing.lab/prebuild -packages/freesewing.org/prebuild - -# Mock registry (verdaccio) -.registry +sites/*/out +sites/*/public/mdx +sites/*/prebuild # misc .DS_Store @@ -127,9 +121,6 @@ packages/i18n/sort.sh scripts/taskrunner.sh scripts/verdaccio.sh -# Local Netlify folder -.netlify - # Don't ignore the specific Points.dist() docs folder !markdown/dev/reference/api/point/dist diff --git a/CHANGELOG.md b/CHANGELOG.md index 1803601095f..f66c657a61d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,19 +3,37 @@ ## Unreleased -### aaron +### benjamin #### Changed - Migrated from Rollup to Esbuild for all builds -### albert +### florence #### Changed - Migrated from Rollup to Esbuild for all builds -### bee +### florent + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### holmes + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### hortensia + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### trayvon #### Changed @@ -23,12 +41,6 @@ ### bella -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### benjamin - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -47,6 +59,30 @@ ### brian +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### titan + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### aaron + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### albert + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### bee + #### Changed - Migrated from Rollup to Esbuild for all builds @@ -89,36 +125,6 @@ ### diana -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### examples - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### florence - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### florent - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### holmes - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### hortensia - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -141,12 +147,6 @@ ### jaeger -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### legend - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -171,18 +171,6 @@ ### penelope -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### plugintest - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### rendertest - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -250,24 +238,6 @@ ### tiberius -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### titan - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### trayvon - -#### Changed - - - Migrated from Rollup to Esbuild for all builds - -### tutorial - #### Changed - Migrated from Rollup to Esbuild for all builds @@ -298,6 +268,36 @@ ### yuri +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### examples + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### legend + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### plugintest + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### rendertest + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### tutorial + #### Changed - Migrated from Rollup to Esbuild for all builds @@ -704,6 +704,74 @@ ## 2.20.0 (2022-01-24) +### benjamin + +#### Changed + + - Switched to default import for version from package.json + +### florence + +#### Changed + + - Switched to default import for version from package.json + +### florent + +#### Changed + + - Switched to default import for version from package.json + +### holmes + +#### Changed + + - Switched to default import for version from package.json + +### hortensia + +#### Changed + + - Switched to default import for version from package.json + +### trayvon + +#### Changed + + - Switched to default import for version from package.json + +### bella + +#### Changed + + - Expose the `fullChestEaseReduction` option to the user via option groups + - Expose the `frontArmholeCurvature` option to the user via option groups + - Switched to default import for version from package.json + +### bent + +#### Changed + + - Switched to default import for version from package.json + +### breanna + +#### Changed + + - Switched to default import for version from package.json + +### brian + +#### Changed + + - Switched to default import for version from package.json + +### titan + +#### Changed + + - Switched to default import for version from package.json + ### aaron #### Changed @@ -725,38 +793,6 @@ - Hide/lock options that should be fixed (inherited from Bella) - Switched to default import for version from package.json -### bella - -#### Changed - - - Expose the `fullChestEaseReduction` option to the user via option groups - - Expose the `frontArmholeCurvature` option to the user via option groups - - Switched to default import for version from package.json - -### benjamin - -#### Changed - - - Switched to default import for version from package.json - -### bent - -#### Changed - - - Switched to default import for version from package.json - -### breanna - -#### Changed - - - Switched to default import for version from package.json - -### brian - -#### Changed - - - Switched to default import for version from package.json - ### bruce #### Changed @@ -801,40 +837,6 @@ - Expose the `cuffEase` option to the user via option groups - Switched to default import for version from package.json -### examples - -#### Added - - - Added plugin_gore example - -#### Changed - - - Switched to default import for version from package.json - -### florence - -#### Changed - - - Switched to default import for version from package.json - -### florent - -#### Changed - - - Switched to default import for version from package.json - -### holmes - -#### Changed - - - Switched to default import for version from package.json - -### hortensia - -#### Changed - - - Switched to default import for version from package.json - ### huey #### Changed @@ -849,12 +851,6 @@ ### jaeger -#### Changed - - - Switched to default import for version from package.json - -### legend - #### Changed - Switched to default import for version from package.json @@ -878,23 +874,6 @@ - Switched to default import for version from package.json -### plugintest - -#### Added - - - Added the plugintest pattern which is used for testing plugins - -#### Changed - - - Switched to default import for version from package.json - -### rendertest - -#### Changed - - - Restructured the pattern to allow inclusion of individual parts in Example component - - Switched to default import for version from package.json - ### sandy #### Changed @@ -948,24 +927,6 @@ ### tiberius -#### Changed - - - Switched to default import for version from package.json - -### titan - -#### Changed - - - Switched to default import for version from package.json - -### trayvon - -#### Changed - - - Switched to default import for version from package.json - -### tutorial - #### Changed - Switched to default import for version from package.json @@ -996,6 +957,45 @@ ### yuri +#### Changed + + - Switched to default import for version from package.json + +### examples + +#### Added + + - Added plugin_gore example + +#### Changed + + - Switched to default import for version from package.json + +### legend + +#### Changed + + - Switched to default import for version from package.json + +### plugintest + +#### Added + + - Added the plugintest pattern which is used for testing plugins + +#### Changed + + - Switched to default import for version from package.json + +### rendertest + +#### Changed + + - Restructured the pattern to allow inclusion of individual parts in Example component + - Switched to default import for version from package.json + +### tutorial + #### Changed - Switched to default import for version from package.json @@ -1376,6 +1376,12 @@ ## 2.19.4 (2021-11-09) +### titan + +#### Fixed + + - Fixed a regression that caused the `waistHeight` option to be ignored. Closes [#1467](https://github.com/freesewing/freesewing/issues/1467) + ### paco #### Fixed @@ -1395,12 +1401,6 @@ - Fix dependencies when only drafting a front Closes [#1445](https://github.com/freesewing/freesewing/issues/1445) -### titan - -#### Fixed - - - Fixed a regression that caused the `waistHeight` option to be ignored. Closes [#1467](https://github.com/freesewing/freesewing/issues/1467) - ## 2.19.3 (2021-11-05) @@ -1417,18 +1417,30 @@ ## 2.19.2 (2021-11-02) -### cornelius - -#### Fixed - - - Removed lingering console.log statements - ### holmes #### Fixed - Fixed SA to use twice the SA value on hem allowance +### trayvon + +#### Changed + + - Migrated the `knotWidth` and `tipWidth` options from mm to snapped pct + +### titan + +#### Changed + + - Migrated the `waistbandWidth` option from mm to snapped pct + +### cornelius + +#### Fixed + + - Removed lingering console.log statements + ### sandy #### Changed @@ -1447,18 +1459,6 @@ - Fixed missing store object in button(hole)placket part -### titan - -#### Changed - - - Migrated the `waistbandWidth` option from mm to snapped pct - -### trayvon - -#### Changed - - - Migrated the `knotWidth` and `tipWidth` options from mm to snapped pct - ### components #### Added @@ -1469,6 +1469,12 @@ ## 2.19.1 (2021-10-23) +### hortensia + +#### Fixed + + - Fixed issue with the handle width not drafting correctly Closes [#1403](https://github.com/freesewing/freesewing/issues/1403) + ### cornelius #### Added @@ -1479,12 +1485,6 @@ - Fixed issue where the cuff style is not drafted in certain configurations Closes [#1325](https://github.com/freesewing/freesewing/issues/1325) -### hortensia - -#### Fixed - - - Fixed issue with the handle width not drafting correctly Closes [#1403](https://github.com/freesewing/freesewing/issues/1403) - ### simon #### Fixed @@ -1500,23 +1500,6 @@ ## 2.19.0 (2021-10-17) -### bee - -#### Added - - - Bee is a bikini - - Initial release - -### charlie - -#### Changed - - - Changed the `waistbandWidth` option type from `mm` to `pct` - -#### Fixed - - - Support drafting of non-human measurements (dolls & giants) Closes [#1313](https://github.com/freesewing/freesewing/issues/1313) - ### holmes #### Added @@ -1541,6 +1524,23 @@ - Changed the `handleWidth` option type from `mm` to `pct` +### bee + +#### Added + + - Bee is a bikini + - Initial release + +### charlie + +#### Changed + + - Changed the `waistbandWidth` option type from `mm` to `pct` + +#### Fixed + + - Support drafting of non-human measurements (dolls & giants) Closes [#1313](https://github.com/freesewing/freesewing/issues/1313) + ### jaeger #### Changed @@ -1899,18 +1899,18 @@ - The `s3collar and `s3armhole` options now allow shifting the shoulder seam (`s3` is short for *Shift Shoulder Seam*) -### tutorial - -#### Fixed - - - Set department in the config to one of the newly accepted values - ### ursula #### Added - Initial release of Ursula, a basic, highly-customizable underwear pattern +### tutorial + +#### Fixed + + - Set department in the config to one of the newly accepted values + ### plugin-bundle #### Changed @@ -1987,13 +1987,37 @@ ## 2.16.1 (2021-05-30) -### aaron +### benjamin #### Changed - Changed `department` setting in config in line with new grouping -### albert +### florence + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### florent + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### holmes + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### hortensia + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### trayvon #### Changed @@ -2001,12 +2025,6 @@ ### bella -#### Changed - - - Changed `department` setting in config in line with new grouping - -### benjamin - #### Changed - Changed `department` setting in config in line with new grouping @@ -2025,6 +2043,24 @@ ### brian +#### Changed + + - Changed `department` setting in config in line with new grouping + +### titan + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### aaron + +#### Changed + + - Changed `department` setting in config in line with new grouping + +### albert + #### Changed - Changed `department` setting in config in line with new grouping @@ -2067,30 +2103,6 @@ ### diana -#### Changed - - - Changed `department` setting in config in line with new grouping - -### florence - -#### Changed - - - Changed `department` setting in config in line with new grouping - -### florent - -#### Changed - - - Changed `department` setting in config in line with new grouping - -### holmes - -#### Changed - - - Changed `department` setting in config in line with new grouping - -### hortensia - #### Changed - Changed `department` setting in config in line with new grouping @@ -2169,18 +2181,6 @@ ### theo -#### Changed - - - Changed `department` setting in config in line with new grouping - -### titan - -#### Changed - - - Changed `department` setting in config in line with new grouping - -### trayvon - #### Changed - Changed `department` setting in config in line with new grouping @@ -2226,12 +2226,6 @@ ## 2.16.0 (2021-05-24) -### brian - -#### Fixed - - - Paperless dimensions don't extend to hem See [#1030](https://github.com/freesewing/freesewing/issues/1030) - ### florent #### Fixed @@ -2239,6 +2233,12 @@ - Add missing notches See [#1015](https://github.com/freesewing/freesewing/issues/1015) - Removed inherited miniscale points +### brian + +#### Fixed + + - Paperless dimensions don't extend to hem See [#1030](https://github.com/freesewing/freesewing/issues/1030) + ### huey #### Fixed @@ -2352,33 +2352,6 @@ - Shoulder point control point fix for doll-sized clothes -### charlie - -#### Added - - - Inital release of the Charlie Chinos pattern - -### cornelius - -#### Fixed - - - Handle edge-case where splitting a path on and endpoint causes things to break - -### examples - -#### Added - - - Added examples for bartack plugin - - Added examples for new buttonhole-start/end snippets - -### paco - -#### Changed - - - Extended range and inreased default of the healEase option - - Added the (disabled) waistbandHeight option from Titan - - Changed to Titan's waistbandWidth option - ### titan #### Added @@ -2400,6 +2373,33 @@ - Always keep seat control point vertically between styled waist and seat - Adapt the outseam to the dropped waist in all circumstances +### charlie + +#### Added + + - Inital release of the Charlie Chinos pattern + +### cornelius + +#### Fixed + + - Handle edge-case where splitting a path on and endpoint causes things to break + +### paco + +#### Changed + + - Extended range and inreased default of the healEase option + - Added the (disabled) waistbandHeight option from Titan + - Changed to Titan's waistbandWidth option + +### examples + +#### Added + + - Added examples for bartack plugin + - Added examples for new buttonhole-start/end snippets + ### plugin-buttons #### Added @@ -2512,6 +2512,12 @@ - Fixed issue with out-of-order execution +### titan + +#### Fixed + + - Always ensure point waistIn is created in back part + ### paco #### Fixed @@ -2530,12 +2536,6 @@ - Fixed type in bustsidecode finder code -### titan - -#### Fixed - - - Always ensure point waistIn is created in back part - ### create-freesewing-pattern #### Fixed @@ -2572,6 +2572,12 @@ ## 2.13.0 (2021-02-13) +### hortensia + +#### Added + + - Initial release of Hortensia, a handbag pattern + ### bella #### Fixed @@ -2585,18 +2591,18 @@ - Try harder to find the intersection point for the scyedart - Define missing y variable in paperless branch +### titan + +#### Fixed + + - Always balance the waist + ### bruce #### Fixed - Added notches to facilitate seam matching -### hortensia - -#### Added - - - Initial release of Hortensia, a handbag pattern - ### hugo #### Fixed @@ -2616,12 +2622,6 @@ - Check for intersection returning an array -### titan - -#### Fixed - - - Always balance the waist - ### wahid #### Fixed @@ -2665,24 +2665,6 @@ ## 2.11.3 (2021-01-16) -### albert - -#### Fixed - - - Added missing scalebox - -### bent - -#### Fixed - - - Added missing scalebox - -### bruce - -#### Fixed - - - Added missing scalebox - ### florence #### Fixed @@ -2697,6 +2679,24 @@ ### holmes +#### Fixed + + - Added missing scalebox + +### bent + +#### Fixed + + - Added missing scalebox + +### albert + +#### Fixed + + - Added missing scalebox + +### bruce + #### Fixed - Added missing scalebox @@ -3159,26 +3159,37 @@ ## 2.7.0 (2020-07-12) -### aaron - -#### Changed - - - Updated side seam shaping and tweaked options for better defaults - - Better handling of `armholeDrop` option - - Ported aaron to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - - Removed `Circumference` suffix from measurement names - - Report armhole and neck opening length through raised events - -#### Fixed - - - Fixed incorrect instruction for neck binding (the indicated length was only half) - ### benjamin #### Changed - Removed `Circumference` suffix from measurement names +### florence + +#### Changed + + - Removed `Circumference` suffix from measurement names + +### florent + +#### Changed + + - Removed `Circumference` suffix from measurement names + +### holmes + +#### Changed + + - Removed `Circumference` suffix from measurement names + +### trayvon + +#### Changed + + - Ported trayvon to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) + - Removed `Circumference` suffix from measurement names + ### bent #### Changed @@ -3209,6 +3220,27 @@ - Removed `Circumference` suffix from measurement names - Removed deprecated `debug()` statements +### titan + +#### Added + + - A FreeSewing block for pants/trousers + - Initial release + +### aaron + +#### Changed + + - Updated side seam shaping and tweaked options for better defaults + - Better handling of `armholeDrop` option + - Ported aaron to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) + - Removed `Circumference` suffix from measurement names + - Report armhole and neck opening length through raised events + +#### Fixed + + - Fixed incorrect instruction for neck binding (the indicated length was only half) + ### bruce #### Changed @@ -3260,24 +3292,6 @@ - Ported diana to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - Removed `Circumference` suffix from measurement names -### florence - -#### Changed - - - Removed `Circumference` suffix from measurement names - -### florent - -#### Changed - - - Removed `Circumference` suffix from measurement names - -### holmes - -#### Changed - - - Removed `Circumference` suffix from measurement names - ### huey #### Changed @@ -3314,13 +3328,6 @@ - Ported jaeger to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - Removed `Circumference` suffix from measurement names -### legend - -#### Added - - - A pattern to document the markings on our patterns - - Initial release - ### penelope #### Changed @@ -3380,26 +3387,6 @@ - Ported theo to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - Removed `Circumference` suffix from measurement names -### titan - -#### Added - - - A FreeSewing block for pants/trousers - - Initial release - -### trayvon - -#### Changed - - - Ported trayvon to the new (names for) measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) - - Removed `Circumference` suffix from measurement names - -### tutorial - -#### Changed - - - Removed `Circumference` suffix from measurement names - ### wahid #### Changed @@ -3415,6 +3402,19 @@ - Ported waralee to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - Removed `Circumference` suffix from measurement names +### legend + +#### Added + + - A pattern to document the markings on our patterns + - Initial release + +### tutorial + +#### Changed + + - Removed `Circumference` suffix from measurement names + ### plugin-bust #### Changed @@ -3513,12 +3513,6 @@ ## 2.6.0 (2020-05-01) -### brian - -#### Fixed - - - The `saBase` path is no longer being rendered - ### florence #### Added @@ -3529,6 +3523,12 @@ - @freesewing/fu has been renamed to @freesewing/florence +### brian + +#### Fixed + + - The `saBase` path is no longer being rendered + ### hugo #### Fixed @@ -3758,7 +3758,13 @@ ## 2.2.0 (2020-02-22) -### aaron +### florent + +#### Fixed + + - Fixed an SA issue in brim top and removed SA from interfacing + +### trayvon #### Changed @@ -3788,6 +3794,12 @@ - Removed deprecated `centerBackNeckToWaist` measurement - The `neck` point has been renamed to `hps` +### aaron + +#### Changed + + - Removed deprecated `centerBackNeckToWaist` measurement + ### carlita #### Changed @@ -3801,12 +3813,6 @@ - Removed deprecated `centerBackNeckToWaist` measurement -### florent - -#### Fixed - - - Fixed an SA issue in brim top and removed SA from interfacing - ### huey #### Changed @@ -3872,12 +3878,6 @@ - Fixed issue with side piece -### trayvon - -#### Changed - - - Removed deprecated `centerBackNeckToWaist` measurement - ### wahid #### Changed @@ -4321,13 +4321,19 @@ ## 2.0.0 (2019-08-25) -### aaron +### benjamin #### Added - Initial release -### benjamin +### florent + +#### Added + + - Initial release + +### trayvon #### Added @@ -4341,6 +4347,12 @@ ### brian +#### Added + + - Initial release + +### aaron + #### Added - Initial release @@ -4365,18 +4377,6 @@ ### cathrin -#### Added - - - Initial release - -### examples - -#### Added - - - Initial release - -### florent - #### Added - Initial release @@ -4395,12 +4395,6 @@ ### jaeger -#### Added - - - Initial release - -### rendertest - #### Added - Initial release @@ -4441,7 +4435,19 @@ - Initial release -### trayvon +### wahid + +#### Added + + - Initial release + +### examples + +#### Added + + - Initial release + +### rendertest #### Added @@ -4449,12 +4455,6 @@ ### tutorial -#### Added - - - Initial release - -### wahid - #### Added - Initial release diff --git a/sites/freesewing.shared/config/measurements.js b/config/measurements.mjs similarity index 99% rename from sites/freesewing.shared/config/measurements.js rename to config/measurements.mjs index 64e318f81f8..0a74ae626e7 100644 --- a/sites/freesewing.shared/config/measurements.js +++ b/config/measurements.mjs @@ -45,3 +45,5 @@ export const degreeMeasurements = ['shoulderSlope'] /* Helper method to determine whether a measurement uses degrees */ export const isDegreeMeasurement = (measie) => degreeMeasurements.indexOf(measie) !== -1 + + diff --git a/config/software/designs.json b/config/software/designs.json index cfa6d6f9b3c..226552aa85c 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -1,51 +1,59 @@ { - "aaron": "A FreeSewing pattern for a A-shirt or tank top", - "albert": "A FreeSewing pattern for an apron", - "bee": "A FreeSewing pattern for a bikini top", - "bella": "A FreeSewing pattern for a womenswear bodice block", - "benjamin": "A FreeSewing pattern for a bow tie", - "bent": "A FreeSewing pattern for a menswear body block with a two-part sleeve", - "breanna": "A FreeSewing pattern for a basic body block for womenswear", - "brian": "A FreeSewing pattern for a basic body block for menswear", - "bruce": "A FreeSewing pattern for boxer briefs", - "carlita": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", - "carlton": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", - "cathrin": "A FreeSewing pattern for a underbust corset / waist trainer", - "charlie": "A FreeSewing pattern for chino trousers", - "cornelius": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", - "diana": "A FreeSewing pattern for a top with a draped neck", - "examples": "A FreeSewing pattern holding examples for our documentation", - "florence": "A FreeSewing pattern for a face mask", - "florent": "A FreeSewing pattern for a flat cap", - "hi": "A FreeSewing pattern for a shark plush toy", - "holmes": "A FreeSewing pattern for a Sherlock Holmes hat", - "hortensia": "A FreeSewing pattern for a handbag", - "huey": "A FreeSewing pattern for a zip-up hoodie", - "hugo": "A FreeSewing pattern for a hooded jumper with raglan sleeves", - "jaeger": "A FreeSewing pattern for a sport coat style jacket", - "legend": "A FreeSewing pattern to document pattern notation", - "lucy": "A FreeSewing pattern for a historical tie-on pocket", - "lunetius": "A FreeSewing pattern for a lacerna, a historical Roman cloak", - "paco": "A FreeSewing pattern for summer pants", - "penelope": "A FreeSewing pattern for a pencil skirt", - "plugintest": "A FreeSewing pattern to test (y)our plugins", - "rendertest": "A FreeSewing pattern to test (y)our render engine our CSS", - "sandy": "A FreeSewing pattern for a circle skirt", - "shin": "A FreeSewing pattern for swim trunks", - "simon": "A FreeSewing pattern for a button down shirt", - "simone": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", - "sven": "A FreeSewing pattern for a straightforward sweater", - "tamiko": "A FreeSewing pattern for a zero-waste top", - "teagan": "A FreeSewing pattern for a T-shirt", - "theo": "A FreeSewing pattern for classic trousers", - "tiberius": "A FreeSewing pattern for a tunica, a historical Roman tunic", - "titan": "A FreeSewing pattern for a unisex trouser block", - "trayvon": "A FreeSewing pattern for a tie", - "tutorial": "A FreeSewing pattern for a baby bib that's used in our tutorial", - "unice": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", - "ursula": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", - "wahid": "A FreeSewing pattern for a classic fitted waistcoat", - "walburga": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", - "waralee": "A FreeSewing pattern for wrap pants", - "yuri": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie" + "accessories": { + "benjamin": "A FreeSewing pattern for a bow tie", + "florence": "A FreeSewing pattern for a face mask", + "florent": "A FreeSewing pattern for a flat cap", + "hi": "A FreeSewing pattern for a shark plush toy", + "holmes": "A FreeSewing pattern for a Sherlock Holmes hat", + "hortensia": "A FreeSewing pattern for a handbag", + "trayvon": "A FreeSewing pattern for a tie" + }, + "blocks": { + "bella": "A FreeSewing pattern for a womenswear bodice block", + "bent": "A FreeSewing pattern for a menswear body block with a two-part sleeve", + "breanna": "A FreeSewing pattern for a basic body block for womenswear", + "brian": "A FreeSewing pattern for a basic body block for menswear", + "titan": "A FreeSewing pattern for a unisex trouser block" + }, + "garments": { + "aaron": "A FreeSewing pattern for a A-shirt or tank top", + "albert": "A FreeSewing pattern for an apron", + "bee": "A FreeSewing pattern for a bikini top", + "bruce": "A FreeSewing pattern for boxer briefs", + "carlita": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", + "carlton": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", + "cathrin": "A FreeSewing pattern for a underbust corset / waist trainer", + "charlie": "A FreeSewing pattern for chino trousers", + "cornelius": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", + "diana": "A FreeSewing pattern for a top with a draped neck", + "huey": "A FreeSewing pattern for a zip-up hoodie", + "hugo": "A FreeSewing pattern for a hooded jumper with raglan sleeves", + "jaeger": "A FreeSewing pattern for a sport coat style jacket", + "lucy": "A FreeSewing pattern for a historical tie-on pocket", + "lunetius": "A FreeSewing pattern for a lacerna, a historical Roman cloak", + "paco": "A FreeSewing pattern for summer pants", + "penelope": "A FreeSewing pattern for a pencil skirt", + "sandy": "A FreeSewing pattern for a circle skirt", + "shin": "A FreeSewing pattern for swim trunks", + "simon": "A FreeSewing pattern for a button down shirt", + "simone": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", + "sven": "A FreeSewing pattern for a straightforward sweater", + "tamiko": "A FreeSewing pattern for a zero-waste top", + "teagan": "A FreeSewing pattern for a T-shirt", + "theo": "A FreeSewing pattern for classic trousers", + "tiberius": "A FreeSewing pattern for a tunica, a historical Roman tunic", + "unice": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", + "ursula": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", + "wahid": "A FreeSewing pattern for a classic fitted waistcoat", + "walburga": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", + "waralee": "A FreeSewing pattern for wrap pants", + "yuri": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie" + }, + "utilities": { + "examples": "A FreeSewing pattern holding examples for our documentation", + "legend": "A FreeSewing pattern to document pattern notation", + "plugintest": "A FreeSewing pattern to test (y)our plugins", + "rendertest": "A FreeSewing pattern to test (y)our render engine our CSS", + "tutorial": "A FreeSewing pattern for a baby bib that's used in our tutorial" + } } diff --git a/config/software/index.mjs b/config/software/index.mjs index 361ae44baa1..305f002ccdb 100644 --- a/config/software/index.mjs +++ b/config/software/index.mjs @@ -1,4 +1,4 @@ -import designs from './designs.json' +import designsByType from './designs.json' import packages from './packages.json' import plugins from './plugins.json' import sites from './sites.json' @@ -8,8 +8,15 @@ const unpack = (obj, folder) => Object.fromEntries( Object.keys(obj).map(name => [name, { name, folder, description: obj[name], type: folder.slice(0, -1) } ]) ) +const designs = { + ...designsByType.accessories, + ...designsByType.blocks, + ...designsByType.garments, + ...designsByType.utilities, +} + // Re-Export imported JSON -export { designs, packages, plugins, sites } +export { designs, designsByType, packages, plugins, sites } // All software export const software = { diff --git a/config/software/sites.json b/config/software/sites.json index 876686b75b2..a6fca268b9f 100644 --- a/config/software/sites.json +++ b/config/software/sites.json @@ -1,9 +1,9 @@ { "backend": "FreeSewing backend", - "freesewing.dev": "FreeSewing website with documentation for contributors & developers", - "freesewing.lab": "FreeSewing website to test various patterns", - "freesewing.org": "FreeSewing website", - "freesewing.shared": "Shared code and React components for different websites", + "dev": "FreeSewing website with documentation for contributors & developers", + "lab": "FreeSewing website to test various patterns", + "org": "FreeSewing website", + "shared": "Shared code and React components for different websites", "strapi": "Freesewing's Strapi instance", "svgtopdf": "FreeSewing on-demand tiler" } diff --git a/scripts/reconfigure.mjs b/scripts/reconfigure.mjs index a4260648413..3d2cfdc1605 100644 --- a/scripts/reconfigure.mjs +++ b/scripts/reconfigure.mjs @@ -4,7 +4,7 @@ import glob from 'glob' import yaml from 'js-yaml' import chalk from 'chalk' import mustache from 'mustache' -import { capitalize } from '../sites/freesewing.shared/utils.mjs' +import { capitalize } from '../sites/shared/utils.mjs' import conf from '../lerna.json' const { version } = conf import { diff --git a/sites/freesewing.dev/.eslintrc.json b/sites/dev/.eslintrc.json similarity index 100% rename from sites/freesewing.dev/.eslintrc.json rename to sites/dev/.eslintrc.json diff --git a/sites/freesewing.dev/freesewing.config.js b/sites/dev/algolia.config.mjs similarity index 67% rename from sites/freesewing.dev/freesewing.config.js rename to sites/dev/algolia.config.mjs index 0644b927cbd..74bb12edb1b 100644 --- a/sites/freesewing.dev/freesewing.config.js +++ b/sites/dev/algolia.config.mjs @@ -4,8 +4,6 @@ const config = { index: 'freesewing.dev', key: '589c7a7e4d9c95a4f12868581259bf3a', // Search-only API key }, - strapi: 'https://posts.freesewing.org', - monorepo: 'https://github.com/freesewing/freesewing' } export default config diff --git a/sites/freesewing.org/components/feeds.js b/sites/dev/components/feeds.js similarity index 100% rename from sites/freesewing.org/components/feeds.js rename to sites/dev/components/feeds.js diff --git a/sites/freesewing.dev/components/footer.js b/sites/dev/components/footer.js similarity index 100% rename from sites/freesewing.dev/components/footer.js rename to sites/dev/components/footer.js diff --git a/sites/freesewing.dev/components/header.js b/sites/dev/components/header.js similarity index 100% rename from sites/freesewing.dev/components/header.js rename to sites/dev/components/header.js diff --git a/sites/freesewing.dev/components/help-us.js b/sites/dev/components/help-us.js similarity index 100% rename from sites/freesewing.dev/components/help-us.js rename to sites/dev/components/help-us.js diff --git a/sites/freesewing.dev/components/layouts/bare.js b/sites/dev/components/layouts/bare.js similarity index 100% rename from sites/freesewing.dev/components/layouts/bare.js rename to sites/dev/components/layouts/bare.js diff --git a/sites/dev/components/layouts/docs.js b/sites/dev/components/layouts/docs.js new file mode 100644 index 00000000000..1401d1f2985 --- /dev/null +++ b/sites/dev/components/layouts/docs.js @@ -0,0 +1,37 @@ +import { useRouter } from 'next/router' +import Link from 'next/link' +// Shared components +import Aside from 'shared/components/navigation/aside' +import ThemePicker from 'shared/components/theme-picker' +import Breadcrumbs from 'shared/components/breadcrumbs.js' +import { getCrumbs } from 'shared/utils' + +const DefaultLayout = ({ app, title=false, crumbs=false, children=[] }) => { + const router = useRouter() + const slug = router.asPath.slice(1) + const breadcrumbs = crumbs + ? crumbs + : getCrumbs(app, slug, title) + + return ( +
+
+ ) +} + +export default DefaultLayout diff --git a/sites/freesewing.org/components/search.js b/sites/dev/components/search.js similarity index 99% rename from sites/freesewing.org/components/search.js rename to sites/dev/components/search.js index 32f063c31cf..97d4557c52f 100644 --- a/sites/freesewing.org/components/search.js +++ b/sites/dev/components/search.js @@ -5,7 +5,7 @@ import { useRouter } from 'next/router' import algoliasearch from 'algoliasearch/lite'; import { useHotkeys } from 'react-hotkeys-hook' import { InstantSearch, connectHits, connectHighlight, connectSearchBox } from 'react-instantsearch-dom' -import config from 'site/freesewing.config.js' +import config from 'site/algolia.config.mjs' const searchClient = algoliasearch(config.algolia.app, config.algolia.key) diff --git a/sites/freesewing.org/components/wrappers/layout.js b/sites/dev/components/wrappers/layout.js similarity index 100% rename from sites/freesewing.org/components/wrappers/layout.js rename to sites/dev/components/wrappers/layout.js diff --git a/sites/freesewing.org/components/wrappers/page.js b/sites/dev/components/wrappers/page.js similarity index 100% rename from sites/freesewing.org/components/wrappers/page.js rename to sites/dev/components/wrappers/page.js diff --git a/sites/freesewing.dev/hooks/useApp.js b/sites/dev/hooks/useApp.js similarity index 100% rename from sites/freesewing.dev/hooks/useApp.js rename to sites/dev/hooks/useApp.js diff --git a/sites/dev/i18n.config.mjs b/sites/dev/i18n.config.mjs new file mode 100644 index 00000000000..2fb0ef074db --- /dev/null +++ b/sites/dev/i18n.config.mjs @@ -0,0 +1,3 @@ +import i18n from '../shared/config/i18n.config.mjs' + +export default i18n() diff --git a/sites/freesewing.dev/next-i18next.config.js b/sites/dev/next-i18next.config.js similarity index 100% rename from sites/freesewing.dev/next-i18next.config.js rename to sites/dev/next-i18next.config.js diff --git a/sites/freesewing.dev/next.config.mjs b/sites/dev/next.config.mjs similarity index 83% rename from sites/freesewing.dev/next.config.mjs rename to sites/dev/next.config.mjs index 559630746b6..5ffe6ced37e 100644 --- a/sites/freesewing.dev/next.config.mjs +++ b/sites/dev/next.config.mjs @@ -1,4 +1,4 @@ -import configBuilder from '../freesewing.shared/config/next.mjs' +import configBuilder from '../shared/config/next.mjs' import i18nConfig from './next-i18next.config.js' const config = configBuilder('dev') diff --git a/sites/freesewing.dev/package.json b/sites/dev/package.json similarity index 83% rename from sites/freesewing.dev/package.json rename to sites/dev/package.json index 0e688614ffc..b8540c7782c 100644 --- a/sites/freesewing.dev/package.json +++ b/sites/dev/package.json @@ -3,16 +3,14 @@ "version": "2.21.0-rc.0", "private": true, "scripts": { - "dev": "next dev -p 3002", + "dev": "node --experimental-json-modules ./node_modules/.bin/next dev -p 8000", "develop": "next dev -p 3002", - "prebuild": "SITE=dev node ../freesewing.shared/prebuild/index.mjs", + "prebuild": "SITE=dev node --experimental-json-modules ../shared/prebuild/index.mjs", "build": "next build", "export": "yarn prebuild && next build && next export && node scripts/algolia.mjs", "start": "next start -p 3002", "lint": "next lint", - "testdeploy": "next build && next export && netlify-cli deploy", - "deploy": "next build && next export && netlify-cli deploy --prod", - "serve": "pm2 start npm --name 'freesewing.dev' -- run start" + "serve": "pm2 start npm --name 'dev' -- run start" }, "dependencies": { "@heroicons/react": "^1.0.5", diff --git a/sites/freesewing.dev/pages/[...mdxslug].js b/sites/dev/pages/[...mdxslug].js similarity index 100% rename from sites/freesewing.dev/pages/[...mdxslug].js rename to sites/dev/pages/[...mdxslug].js diff --git a/sites/freesewing.dev/pages/_app.js b/sites/dev/pages/_app.js similarity index 100% rename from sites/freesewing.dev/pages/_app.js rename to sites/dev/pages/_app.js diff --git a/sites/freesewing.dev/pages/_document.js b/sites/dev/pages/_document.js similarity index 100% rename from sites/freesewing.dev/pages/_document.js rename to sites/dev/pages/_document.js diff --git a/sites/freesewing.org/pages/blog/[slug].js b/sites/dev/pages/blog/[slug].js similarity index 100% rename from sites/freesewing.org/pages/blog/[slug].js rename to sites/dev/pages/blog/[slug].js diff --git a/sites/dev/pages/blog/index.js b/sites/dev/pages/blog/index.js new file mode 100644 index 00000000000..97432a1b6b6 --- /dev/null +++ b/sites/dev/pages/blog/index.js @@ -0,0 +1,107 @@ +import Page from 'site/components/wrappers/page.js' +import useApp from 'site/hooks/useApp.js' +import Link from 'next/link' +import TimeAgo from 'react-timeago' +import { strapiHost } from 'shared/config/freesewing.mjs' +import { strapiImage } from 'shared/utils' +import { useTranslation } from 'next-i18next' +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' + +const strapi = "https://posts.freesewing.org" +const textShadow = { + style: { + textShadow: "1px 1px 1px #000000, -1px -1px 1px #000000, 1px -1px 1px #000000, -1px 1px 1px #000000, 2px 2px 1px #000000" + } +} + +const Preview = ({ app, post }) => ( +
+ + +
+
+
+
+
+ {post.title} +
+ +
+
+
+
+ +
+) + +const BlogIndexPage = (props) => { + const app = useApp() + const { t } = useTranslation() + + return ( + +
+ {props.posts.map(post => ) + } +
+
+ ) +} + +export default BlogIndexPage + +/* + * getStaticProps() is used to fetch data at build-time. + * + * On this page, it is loading the blog content from strapi. + * + * This, in combination with getStaticPaths() below means this + * page will be used to render/generate all blog content. + * + * To learn more, see: https://nextjs.org/docs/basic-features/data-fetching + */ +export async function getStaticProps({ params, locale }) { + + const posts = await fetch( + `${strapiHost}/blogposts?_locale=en&_sort=date:DESC&dev_eq=true` + ) + .then(response => response.json()) + .then(data => data) + .catch(err => console.log(err)) + + return { + props: { + posts: posts.map(post => ({ + slug: post.slug, + title: post.title, + date: post.date, + author: post.author.displayname, + image: strapiImage(post.image, ['medium']), + })), + ...(await serverSideTranslations(locale)), + } + } +} + diff --git a/sites/freesewing.dev/pages/index.js b/sites/dev/pages/index.js similarity index 100% rename from sites/freesewing.dev/pages/index.js rename to sites/dev/pages/index.js diff --git a/sites/dev/postcss.config.js b/sites/dev/postcss.config.js new file mode 100644 index 00000000000..75b2927bca8 --- /dev/null +++ b/sites/dev/postcss.config.js @@ -0,0 +1,5 @@ +// Can't seem to make this work as ESM +const config = require('../shared/config/postcss.config.js') + +module.exports = config + diff --git a/sites/freesewing.dev/prebuild/.gitkeep b/sites/dev/prebuild/.gitkeep similarity index 100% rename from sites/freesewing.dev/prebuild/.gitkeep rename to sites/dev/prebuild/.gitkeep diff --git a/sites/freesewing.dev/public/brands/algolia.svg b/sites/dev/public/brands/algolia.svg similarity index 100% rename from sites/freesewing.dev/public/brands/algolia.svg rename to sites/dev/public/brands/algolia.svg diff --git a/sites/freesewing.dev/public/brands/bugsnag.svg b/sites/dev/public/brands/bugsnag.svg similarity index 100% rename from sites/freesewing.dev/public/brands/bugsnag.svg rename to sites/dev/public/brands/bugsnag.svg diff --git a/sites/freesewing.dev/public/brands/crowdin.svg b/sites/dev/public/brands/crowdin.svg similarity index 100% rename from sites/freesewing.dev/public/brands/crowdin.svg rename to sites/dev/public/brands/crowdin.svg diff --git a/sites/freesewing.dev/public/brands/netlify.svg b/sites/dev/public/brands/netlify.svg similarity index 100% rename from sites/freesewing.dev/public/brands/netlify.svg rename to sites/dev/public/brands/netlify.svg diff --git a/sites/freesewing.dev/public/brands/vercel.svg b/sites/dev/public/brands/vercel.svg similarity index 100% rename from sites/freesewing.dev/public/brands/vercel.svg rename to sites/dev/public/brands/vercel.svg diff --git a/sites/freesewing.dev/public/favicon.ico b/sites/dev/public/favicon.ico similarity index 100% rename from sites/freesewing.dev/public/favicon.ico rename to sites/dev/public/favicon.ico diff --git a/sites/freesewing.dev/public/feeds/.gitkeep b/sites/dev/public/feeds/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/feeds/.gitkeep rename to sites/dev/public/feeds/.gitkeep diff --git a/sites/freesewing.dev/public/img/splash.jpg b/sites/dev/public/img/splash.jpg similarity index 100% rename from sites/freesewing.dev/public/img/splash.jpg rename to sites/dev/public/img/splash.jpg diff --git a/sites/freesewing.dev/public/locales/de/.gitkeep b/sites/dev/public/locales/de/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/locales/de/.gitkeep rename to sites/dev/public/locales/de/.gitkeep diff --git a/sites/freesewing.dev/public/locales/en/.gitkeep b/sites/dev/public/locales/en/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/locales/en/.gitkeep rename to sites/dev/public/locales/en/.gitkeep diff --git a/sites/freesewing.dev/public/locales/es/.gitkeep b/sites/dev/public/locales/es/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/locales/es/.gitkeep rename to sites/dev/public/locales/es/.gitkeep diff --git a/sites/freesewing.dev/public/locales/fr/.gitkeep b/sites/dev/public/locales/fr/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/locales/fr/.gitkeep rename to sites/dev/public/locales/fr/.gitkeep diff --git a/sites/freesewing.dev/public/locales/nl/.gitkeep b/sites/dev/public/locales/nl/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/locales/nl/.gitkeep rename to sites/dev/public/locales/nl/.gitkeep diff --git a/sites/freesewing.dev/public/mdx/.gitkeep b/sites/dev/public/mdx/.gitkeep similarity index 100% rename from sites/freesewing.dev/public/mdx/.gitkeep rename to sites/dev/public/mdx/.gitkeep diff --git a/sites/freesewing.dev/public/support.jpg b/sites/dev/public/support.jpg similarity index 100% rename from sites/freesewing.dev/public/support.jpg rename to sites/dev/public/support.jpg diff --git a/sites/freesewing.dev/scripts/algolia.mjs b/sites/dev/scripts/algolia.mjs similarity index 100% rename from sites/freesewing.dev/scripts/algolia.mjs rename to sites/dev/scripts/algolia.mjs diff --git a/sites/freesewing.dev/skip_build.sh b/sites/dev/skip_build.sh similarity index 100% rename from sites/freesewing.dev/skip_build.sh rename to sites/dev/skip_build.sh diff --git a/sites/dev/tailwind.config.js b/sites/dev/tailwind.config.js new file mode 100644 index 00000000000..c51437b8cb6 --- /dev/null +++ b/sites/dev/tailwind.config.js @@ -0,0 +1,4 @@ +// Can't seem to make this work as ESM +const config = require('../shared/config/tailwind.config.js') + +module.exports = config diff --git a/sites/freesewing.dev/components/layouts/docs.js b/sites/freesewing.dev/components/layouts/docs.js deleted file mode 100644 index 285e5a3c124..00000000000 --- a/sites/freesewing.dev/components/layouts/docs.js +++ /dev/null @@ -1,78 +0,0 @@ -import React from 'react' -import { useRouter } from 'next/router' -import Link from 'next/link' -// Shared components -import Logo from 'shared/components/logos/freesewing.js' -import Aside from 'shared/components/navigation/aside' -import get from 'lodash.get' - -const PageTitle = ({ app, slug, title }) => { - if (title) return

{title}

- if (slug) return

{get(app.navigation, slug.split('/')).__title}

- - return

FIXME: This page has no title

-} - -const Breadcrumbs = ({ app, slug=false, title }) => { - if (!slug) return null - const crumbs = [] - const chunks = slug.split('/') - for (const i in chunks) { - const j = parseInt(i)+parseInt(1) - const page = get(app.navigation, chunks.slice(0,j)) - if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) - } - - return ( - - ) -} - -const DefaultLayout = ({ app, title=false, children=[] }) => { - const router = useRouter() - const slug = router.asPath.slice(1) - - return ( -
-
- ) -} - -export default DefaultLayout diff --git a/sites/freesewing.dev/components/wrappers/layout.js b/sites/freesewing.dev/components/wrappers/layout.js deleted file mode 100644 index b928604121f..00000000000 --- a/sites/freesewing.dev/components/wrappers/layout.js +++ /dev/null @@ -1,115 +0,0 @@ -import React from 'react' -import { useState } from 'react' -import { useRouter } from 'next/router' -import Link from 'next/link' -// Shared components -import Logo from 'shared/components/logos/freesewing.js' -import PrimaryNavigation from 'shared/components/navigation/primary' -import get from 'lodash.get' -import Right from 'shared/components/icons/right.js' -import Left from 'shared/components/icons/left.js' -// Site components -import Header from 'site/components/header' -import Footer from 'site/components/footer' -import Search from 'site/components/search' - -const PageTitle = ({ app, slug, title }) => { - if (title) return

{title}

- if (slug) return

{get(app.navigation, slug.split('/')).__title}

- - return

FIXME: This page has no title

-} - -const Breadcrumbs = ({ app, slug=false, title }) => { - if (!slug) return null - const crumbs = [] - const chunks = slug.split('/') - for (const i in chunks) { - const j = parseInt(i)+parseInt(1) - const page = get(app.navigation, chunks.slice(0,j)) - if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) - } - - return ( - - ) -} - -const LayoutWrapper = ({ - app, - title=false, - children=[], - search, - setSearch, - noSearch=false, - workbench=false, - AltMenu=null, -}) => { - const startNavigation = () => { - app.startLoading() - // Force close of menu on mobile if it is open - if (app.primaryNavigation) app.setPrimaryNavigation(false) - // Force close of search modal if it is open - if (search) setSearch(false) - } - - const router = useRouter() - router.events?.on('routeChangeStart', startNavigation) - router.events?.on('routeChangeComplete', () => app.stopLoading()) - const slug = router.asPath.slice(1) - const [collapsePrimaryNav, setCollapsePrimaryNav] = useState(workbench || false) - const [collapseAltMenu, setCollapseAltMenu] = useState(false) - - return ( -
-
-
{children}
- {!noSearch && search && ( - <> -
- -
-
- - )} -
-
- ) -} - -export default LayoutWrapper diff --git a/sites/freesewing.dev/i18n.config.mjs b/sites/freesewing.dev/i18n.config.mjs deleted file mode 100644 index 2dec6ed7918..00000000000 --- a/sites/freesewing.dev/i18n.config.mjs +++ /dev/null @@ -1,3 +0,0 @@ -import i18n from '../freesewing.shared/config/i18n.config.mjs' - -export default i18n() diff --git a/sites/freesewing.dev/pages/blog/index.js b/sites/freesewing.dev/pages/blog/index.js deleted file mode 100644 index 93d9635d42d..00000000000 --- a/sites/freesewing.dev/pages/blog/index.js +++ /dev/null @@ -1,88 +0,0 @@ -import Page from 'shared/components/wrappers/page.js' -import useApp from 'site/hooks/useApp.js' -import Link from 'next/link' -import { posts } from 'site/prebuild/strapi.blog.en.js' -import orderBy from 'lodash.orderby' -import TimeAgo from 'react-timeago' -import Head from 'next/head' -import HelpUs from 'site/components/help-us.js' -import { serverSideTranslations } from 'next-i18next/serverSideTranslations' - -const strapi = "https://posts.freesewing.org" - -const Preview = ({ app, post }) => ( -
- - -
-
-
-
-
- {post.title} -
-

- by {post.author} -

-
-
-
-
- -
-) - -const BlogIndexPage = (props) => { - const app = useApp() - - return ( - - - - - - - - - - - - - - -
- {Object.values(orderBy(posts, ['date'], ['desc'])) - .map(post => ) - } -
- -
- ) -} - -export default BlogIndexPage - -export async function getStaticProps({ locale }) { - return { - props: { - ...(await serverSideTranslations('en')), - } - } -} - diff --git a/sites/freesewing.lab/i18n.config.mjs b/sites/freesewing.lab/i18n.config.mjs deleted file mode 100644 index 2dec6ed7918..00000000000 --- a/sites/freesewing.lab/i18n.config.mjs +++ /dev/null @@ -1,3 +0,0 @@ -import i18n from '../freesewing.shared/config/i18n.config.mjs' - -export default i18n() diff --git a/sites/freesewing.lab/next.config.mjs b/sites/freesewing.lab/next.config.mjs deleted file mode 100644 index 8216f2a7c8b..00000000000 --- a/sites/freesewing.lab/next.config.mjs +++ /dev/null @@ -1,46 +0,0 @@ -import path from 'path' -import { readdirSync } from 'fs' -import i18nConfig from './next-i18next.config.js' - -const getDirectories = source => - readdirSync(source, { withFileTypes: true }) - .filter(dirent => dirent.isDirectory()) - .map(dirent => dirent.name) - -const pkgs = getDirectories(path.resolve(`../`)) - -const config = { - experimental: { - externalDir: true, - }, - i18n: i18nConfig.i18n, - pageExtensions: [ 'js' ], - webpack: (config, options) => { - - // YAML support - config.module.rules.push({ - test: /\.ya?ml$/, - type: 'json', - use: 'yaml-loader' - }) - - // Suppress warnings about importing version from package.json - // We'll deal with it in v3 of FreeSewing - config.ignoreWarnings = [ - /only default export is available soon/ - ] - - // Aliases - config.resolve.alias.shared = path.resolve('../freesewing.shared/') - config.resolve.alias.site = path.resolve(`.`) - config.resolve.alias.lib = path.resolve(`./lib`) - config.resolve.alias.pkgs = path.resolve(`../`) - // This forces webpack to load the code from source, rather than compiled bundle - for (const pkg of pkgs) { - config.resolve.alias[`@freesewing/${pkg}$`] = path.resolve(`../${pkg}/src/index.js`) - } - - return config - } -} -export default config diff --git a/sites/freesewing.lab/postcss.config.js b/sites/freesewing.lab/postcss.config.js deleted file mode 100644 index 85bf46214ea..00000000000 --- a/sites/freesewing.lab/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -// Can't seem to make this work as ESM -const config = require('../freesewing.shared/config/postcss.config.js') - -module.exports = config - diff --git a/sites/freesewing.lab/public/img/splash.jpg b/sites/freesewing.lab/public/img/splash.jpg deleted file mode 120000 index 6de53397c7b..00000000000 --- a/sites/freesewing.lab/public/img/splash.jpg +++ /dev/null @@ -1 +0,0 @@ -../../../freesewing.dev/public/img/splash.jpg \ No newline at end of file diff --git a/sites/freesewing.lab/tailwind.config.js b/sites/freesewing.lab/tailwind.config.js deleted file mode 100644 index 3f664c97b59..00000000000 --- a/sites/freesewing.lab/tailwind.config.js +++ /dev/null @@ -1,4 +0,0 @@ -// Can't seem to make this work as ESM -const config = require('../freesewing.shared/config/tailwind.config.js') - -module.exports = config diff --git a/sites/freesewing.org/postcss.config.js b/sites/freesewing.org/postcss.config.js deleted file mode 100644 index 85bf46214ea..00000000000 --- a/sites/freesewing.org/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -// Can't seem to make this work as ESM -const config = require('../freesewing.shared/config/postcss.config.js') - -module.exports = config - diff --git a/sites/freesewing.org/tailwind.config.js b/sites/freesewing.org/tailwind.config.js deleted file mode 100644 index 3f664c97b59..00000000000 --- a/sites/freesewing.org/tailwind.config.js +++ /dev/null @@ -1,4 +0,0 @@ -// Can't seem to make this work as ESM -const config = require('../freesewing.shared/config/tailwind.config.js') - -module.exports = config diff --git a/sites/freesewing.shared/config/designs.json b/sites/freesewing.shared/config/designs.json deleted file mode 100644 index dd803a23e84..00000000000 --- a/sites/freesewing.shared/config/designs.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "accessories": [ - "florence", - "florent", - "hi", - "holmes", - "hortensia", - "lucy", - "trayvon" - ], - "blocks": [ - "bella", - "bent", - "brian", - "titan" - ], - "garments": [ - "aaron", - "albert", - "bee", - "benjamin", - "breanna", - "bruce", - "carlita", - "carlton", - "cathrin", - "charlie", - "cornelius", - "diana", - "huey", - "hugo", - "jaeger", - "lunetius", - "paco", - "penelope", - "sandy", - "shin", - "simon", - "simone", - "sven", - "tamiko", - "teagan", - "theo", - "tiberius", - "unice", - "ursula", - "wahid", - "walburga", - "waralee", - "yuri" - ], - "utilities": [ - "examples", - "legend", - "plugintest", - "rendertest", - "tutorial" - ] -} - diff --git a/sites/freesewing.shared/config/freesewing.mjs b/sites/freesewing.shared/config/freesewing.mjs deleted file mode 100644 index 485bdd6d68d..00000000000 --- a/sites/freesewing.shared/config/freesewing.mjs +++ /dev/null @@ -1,5 +0,0 @@ -export const strapiHost = 'https://posts.freesewing.org' - -export const monorepo = 'https://github.com/freesewing/freesewing' - - diff --git a/sites/freesewing.shared/config/pitches.js b/sites/freesewing.shared/config/pitches.js deleted file mode 100644 index 355971a003d..00000000000 --- a/sites/freesewing.shared/config/pitches.js +++ /dev/null @@ -1,7 +0,0 @@ -const pitches = [ - 'This website does not track you', - "Come in, we're open", - 'Made-to-measure sewing patterns', -] - -export default pitches diff --git a/sites/freesewing.lab/.eslintrc.json b/sites/lab/.eslintrc.json similarity index 100% rename from sites/freesewing.lab/.eslintrc.json rename to sites/lab/.eslintrc.json diff --git a/sites/freesewing.lab/CHANGELOG.md b/sites/lab/CHANGELOG.md similarity index 100% rename from sites/freesewing.lab/CHANGELOG.md rename to sites/lab/CHANGELOG.md diff --git a/sites/freesewing.lab/README.md b/sites/lab/README.md similarity index 100% rename from sites/freesewing.lab/README.md rename to sites/lab/README.md diff --git a/sites/freesewing.lab/available-versions.json b/sites/lab/available-versions.json similarity index 100% rename from sites/freesewing.lab/available-versions.json rename to sites/lab/available-versions.json diff --git a/sites/freesewing.lab/components/about.js b/sites/lab/components/about.js similarity index 100% rename from sites/freesewing.lab/components/about.js rename to sites/lab/components/about.js diff --git a/sites/freesewing.lab/components/footer.js b/sites/lab/components/footer.js similarity index 100% rename from sites/freesewing.lab/components/footer.js rename to sites/lab/components/footer.js diff --git a/sites/freesewing.lab/components/header.js b/sites/lab/components/header.js similarity index 100% rename from sites/freesewing.lab/components/header.js rename to sites/lab/components/header.js diff --git a/sites/freesewing.lab/components/help-us.js b/sites/lab/components/help-us.js similarity index 100% rename from sites/freesewing.lab/components/help-us.js rename to sites/lab/components/help-us.js diff --git a/sites/freesewing.lab/components/layouts/bare.js b/sites/lab/components/layouts/bare.js similarity index 100% rename from sites/freesewing.lab/components/layouts/bare.js rename to sites/lab/components/layouts/bare.js diff --git a/sites/freesewing.lab/components/layouts/lab.js b/sites/lab/components/layouts/lab.js similarity index 100% rename from sites/freesewing.lab/components/layouts/lab.js rename to sites/lab/components/layouts/lab.js diff --git a/sites/freesewing.lab/components/pattern-picker.js b/sites/lab/components/pattern-picker.js similarity index 100% rename from sites/freesewing.lab/components/pattern-picker.js rename to sites/lab/components/pattern-picker.js diff --git a/sites/freesewing.lab/components/search.js b/sites/lab/components/search.js similarity index 100% rename from sites/freesewing.lab/components/search.js rename to sites/lab/components/search.js diff --git a/sites/freesewing.lab/components/version-picker.js b/sites/lab/components/version-picker.js similarity index 100% rename from sites/freesewing.lab/components/version-picker.js rename to sites/lab/components/version-picker.js diff --git a/sites/freesewing.lab/components/wrappers/layout.js b/sites/lab/components/wrappers/layout.js similarity index 100% rename from sites/freesewing.lab/components/wrappers/layout.js rename to sites/lab/components/wrappers/layout.js diff --git a/sites/freesewing.lab/components/wrappers/page.js b/sites/lab/components/wrappers/page.js similarity index 100% rename from sites/freesewing.lab/components/wrappers/page.js rename to sites/lab/components/wrappers/page.js diff --git a/sites/freesewing.lab/hooks/useApp.js b/sites/lab/hooks/useApp.js similarity index 70% rename from sites/freesewing.lab/hooks/useApp.js rename to sites/lab/hooks/useApp.js index 2d9a93a4fde..44af0be6771 100644 --- a/sites/freesewing.lab/hooks/useApp.js +++ b/sites/lab/hooks/useApp.js @@ -1,11 +1,11 @@ import { useState } from 'react' // Stores state in local storage import useLocalStorage from 'shared/hooks/useLocalStorage.js' -// Patterns -import patterns from 'shared/config/designs.json' +// Designs +import { designsByType } from 'config/software/index.mjs' // Locale and translation import { useTranslation } from 'next-i18next' -import { capitalize } from 'shared/utils' +import { capitalize } from 'shared/utils.mjs' import { formatVersionUri } from '../components/version-picker.js' import useVersion from 'site/hooks/useVersion.js' import useTheme from 'shared/hooks/useTheme' @@ -14,44 +14,46 @@ import useTheme from 'shared/hooks/useTheme' const initialNavigation = (t, version) => { const base = { accessories: { - __title: t('accessoryPatterns'), - __order: t('accessoryPatterns'), - __linktitle: t('accessoryPatterns'), + __title: t('accessoryDesigns'), __slug: 'accessories', }, blocks: { - __title: t('blockPatterns'), - __order: t('blockPatterns'), - __linktitle: t('blockPatterns'), + __title: t('blockDesigns'), __slug: 'blocks', }, garments: { - __title: t('garmentPatterns'), - __order: t('garmentPatterns'), - __linktitle: t('garmentPatterns'), + __title: t('garmentDesigns'), __slug: t('garments'), }, utilities: { - __title: t('utilityPatterns'), - __order: t('utilityPatterns'), - __linktitle: t('utilityPatterns'), + __title: t('utilityDesigns'), __slug: 'utilities', }, } - for (const type in patterns) { - for (const design of patterns[type]) { + for (const type in designsByType) { + for (const design in designsByType[type]) { base[type][design] = { __title: capitalize(design), - __order: design, - __linktitle: capitalize(design), __slug: formatVersionUri(version,design) } } } + for (const key in base) { + base[key].__order = base[key].__title + base[key].__linktitle = base[key].__title + } return base } +const designs = {} +for (const type in designsByType) { + designs[type] = [] + for (const design in designsByType[type]) { + designs[type].push(design) + } +} + function useApp(full = true) { // Version @@ -68,7 +70,7 @@ function useApp(full = true) { const [primaryMenu, setPrimaryMenu] = useState(false) const [navigation, setNavigation] = useState(initialNavigation(t, version)) const [slug, setSlug] = useState('/') - const [pattern, setPattern] = useState(false) + const [design, setDesign] = useState(false) const [loading, setLoading] = useState(false) // State methods @@ -77,12 +79,12 @@ function useApp(full = true) { return { // Static vars site: 'lab', - patterns, + designs, // State loading, navigation, - pattern, + design, primaryMenu, slug, theme, @@ -90,7 +92,7 @@ function useApp(full = true) { // State setters setLoading, setNavigation, - setPattern, + setDesign, setPrimaryMenu, setSlug, setTheme, diff --git a/sites/freesewing.lab/hooks/useVersion.js b/sites/lab/hooks/useVersion.js similarity index 100% rename from sites/freesewing.lab/hooks/useVersion.js rename to sites/lab/hooks/useVersion.js diff --git a/sites/lab/i18n.config.mjs b/sites/lab/i18n.config.mjs new file mode 100644 index 00000000000..2fb0ef074db --- /dev/null +++ b/sites/lab/i18n.config.mjs @@ -0,0 +1,3 @@ +import i18n from '../shared/config/i18n.config.mjs' + +export default i18n() diff --git a/sites/freesewing.lab/lib/.gitkeep b/sites/lab/lib/.gitkeep similarity index 100% rename from sites/freesewing.lab/lib/.gitkeep rename to sites/lab/lib/.gitkeep diff --git a/sites/freesewing.lab/next-i18next.config.js b/sites/lab/next-i18next.config.js similarity index 100% rename from sites/freesewing.lab/next-i18next.config.js rename to sites/lab/next-i18next.config.js diff --git a/sites/lab/next.config.mjs b/sites/lab/next.config.mjs new file mode 100644 index 00000000000..5d16a6ff950 --- /dev/null +++ b/sites/lab/next.config.mjs @@ -0,0 +1,59 @@ +import path from 'path' +import { readdirSync } from 'fs' +import i18nConfig from './next-i18next.config.js' +import { designs, plugins, packages } from '../../config/software/index.mjs' + +const getDirectories = source => + readdirSync(source, { withFileTypes: true }) + .filter(dirent => dirent.isDirectory()) + .map(dirent => dirent.name) + +const pkgs = getDirectories(path.resolve(`../`)) + +const config = { + experimental: { + externalDir: true, + }, + i18n: i18nConfig.i18n, + pageExtensions: [ 'js' ], + webpack: (config, options) => { + + // YAML support + config.module.rules.push({ + test: /\.ya?ml$/, + type: 'json', + use: 'yaml-loader' + }) + + // Suppress warnings about importing version from package.json + // We'll deal with it in v3 of FreeSewing + config.ignoreWarnings = [ + /only default export is available soon/ + ] + + // Aliases + config.resolve.alias.shared = path.resolve('../shared/') + config.resolve.alias.site = path.resolve('.') + config.resolve.alias.lib = path.resolve('./lib') + config.resolve.alias.config = path.resolve('../../config/') + config.resolve.alias.designs = path.resolve('../../designs/') + config.resolve.alias.plugins = path.resolve('../../plugins/') + config.resolve.alias.pkgs = path.resolve('../../packages/') + + // Load designs from source, rather than compiled package + for (const design in designs) { + config.resolve.alias[`@freesewing/${design}$`] = path.resolve(`../../designs/${design}/src/index.js`) + } + // Load plugins from source, rather than compiled package + for (const plugin in plugins) { + config.resolve.alias[`@freesewing/${plugin}$`] = path.resolve(`../../plugins/${plugin}/src/index.js`) + } + // Load these from source, rather than compiled package + for (const pkg of ['core', 'config-helpers', 'i18n', 'models']) { + config.resolve.alias[`@freesewing/${pkg}$`] = path.resolve(`../../packages/${pkg}/src/index.js`) + } + + return config + } +} +export default config diff --git a/sites/freesewing.lab/package.json b/sites/lab/package.json similarity index 79% rename from sites/freesewing.lab/package.json rename to sites/lab/package.json index d088f382c24..80874c67402 100644 --- a/sites/freesewing.lab/package.json +++ b/sites/lab/package.json @@ -3,17 +3,15 @@ "version": "2.21.0-rc.0", "private": true, "scripts": { - "dev": "next dev -p 3002", - "develop": "next dev -p 3002", - "prebuild": "cd ../utils && npm run build && cd - && SITE=lab node ../freesewing.shared/prebuild/index.mjs", + "dev": "node --experimental-json-modules ./node_modules/.bin/next dev -p 8000", + "develop": "next dev -p 8000", + "prebuild": "SITE=lab node --experimental-json-modules ../shared/prebuild/index.mjs", "cibuild": "yarn prebuild && next build", "build": "next build", "export": "yarn prebuild && next build && next export", "start": "next start -p 3002", "lint": "next lint", - "testdeploy": "next build && next export && netlify-cli deploy", - "deploy": "next build && next export && netlify-cli deploy --prod", - "serve": "pm2 start npm --name 'freesewing.dev' -- run start" + "serve": "pm2 start npm --name 'dev' -- run start" }, "dependencies": { "@heroicons/react": "^1.0.5", diff --git a/sites/freesewing.lab/page-templates/pattern-list.js b/sites/lab/page-templates/design-list.js similarity index 100% rename from sites/freesewing.lab/page-templates/pattern-list.js rename to sites/lab/page-templates/design-list.js diff --git a/sites/freesewing.lab/page-templates/workbench.js b/sites/lab/page-templates/workbench.js similarity index 78% rename from sites/freesewing.lab/page-templates/workbench.js rename to sites/lab/page-templates/workbench.js index 706d32179c3..cce0452eac7 100644 --- a/sites/freesewing.lab/page-templates/workbench.js +++ b/sites/lab/page-templates/workbench.js @@ -4,14 +4,14 @@ import WorkbenchWrapper from 'shared/components/wrappers/workbench.js' import { useRouter } from 'next/router' import Layout from 'site/components/layouts/lab' -const WorkbenchPage = ({ pattern }) => { +const WorkbenchPage = ({ design }) => { const app = useApp() const router = useRouter() const { preload, from } = router.query return ( - + ) } diff --git a/sites/freesewing.lab/pages/_app.js b/sites/lab/pages/_app.js similarity index 100% rename from sites/freesewing.lab/pages/_app.js rename to sites/lab/pages/_app.js diff --git a/sites/freesewing.lab/pages/accessories/.gitkeep b/sites/lab/pages/accessories/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/accessories/.gitkeep rename to sites/lab/pages/accessories/.gitkeep diff --git a/sites/freesewing.lab/pages/accessories/index.js b/sites/lab/pages/accessories/index.js similarity index 100% rename from sites/freesewing.lab/pages/accessories/index.js rename to sites/lab/pages/accessories/index.js diff --git a/sites/freesewing.lab/pages/blocks/.gitkeep b/sites/lab/pages/blocks/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/blocks/.gitkeep rename to sites/lab/pages/blocks/.gitkeep diff --git a/sites/freesewing.lab/pages/blocks/index.js b/sites/lab/pages/blocks/index.js similarity index 100% rename from sites/freesewing.lab/pages/blocks/index.js rename to sites/lab/pages/blocks/index.js diff --git a/sites/freesewing.lab/pages/garments/.gitkeep b/sites/lab/pages/garments/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/garments/.gitkeep rename to sites/lab/pages/garments/.gitkeep diff --git a/sites/freesewing.lab/pages/garments/index.js b/sites/lab/pages/garments/index.js similarity index 100% rename from sites/freesewing.lab/pages/garments/index.js rename to sites/lab/pages/garments/index.js diff --git a/sites/freesewing.lab/pages/index.js b/sites/lab/pages/index.js similarity index 100% rename from sites/freesewing.lab/pages/index.js rename to sites/lab/pages/index.js diff --git a/sites/freesewing.lab/pages/utilities/.gitkeep b/sites/lab/pages/utilities/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/utilities/.gitkeep rename to sites/lab/pages/utilities/.gitkeep diff --git a/sites/freesewing.lab/pages/utilities/index.js b/sites/lab/pages/utilities/index.js similarity index 100% rename from sites/freesewing.lab/pages/utilities/index.js rename to sites/lab/pages/utilities/index.js diff --git a/sites/freesewing.lab/pages/v/.gitkeep b/sites/lab/pages/v/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/v/.gitkeep rename to sites/lab/pages/v/.gitkeep diff --git a/sites/freesewing.lab/pages/v/next/.gitkeep b/sites/lab/pages/v/next/.gitkeep similarity index 100% rename from sites/freesewing.lab/pages/v/next/.gitkeep rename to sites/lab/pages/v/next/.gitkeep diff --git a/sites/freesewing.lab/plugins.json b/sites/lab/plugins.json similarity index 100% rename from sites/freesewing.lab/plugins.json rename to sites/lab/plugins.json diff --git a/sites/lab/postcss.config.js b/sites/lab/postcss.config.js new file mode 100644 index 00000000000..75b2927bca8 --- /dev/null +++ b/sites/lab/postcss.config.js @@ -0,0 +1,5 @@ +// Can't seem to make this work as ESM +const config = require('../shared/config/postcss.config.js') + +module.exports = config + diff --git a/sites/freesewing.lab/prebuild/.gitkeep b/sites/lab/prebuild/.gitkeep similarity index 100% rename from sites/freesewing.lab/prebuild/.gitkeep rename to sites/lab/prebuild/.gitkeep diff --git a/sites/freesewing.lab/public/brands/algolia.svg b/sites/lab/public/brands/algolia.svg similarity index 100% rename from sites/freesewing.lab/public/brands/algolia.svg rename to sites/lab/public/brands/algolia.svg diff --git a/sites/freesewing.lab/public/brands/bugsnag.svg b/sites/lab/public/brands/bugsnag.svg similarity index 100% rename from sites/freesewing.lab/public/brands/bugsnag.svg rename to sites/lab/public/brands/bugsnag.svg diff --git a/sites/freesewing.lab/public/brands/crowdin.svg b/sites/lab/public/brands/crowdin.svg similarity index 100% rename from sites/freesewing.lab/public/brands/crowdin.svg rename to sites/lab/public/brands/crowdin.svg diff --git a/sites/freesewing.lab/public/brands/netlify.svg b/sites/lab/public/brands/netlify.svg similarity index 100% rename from sites/freesewing.lab/public/brands/netlify.svg rename to sites/lab/public/brands/netlify.svg diff --git a/sites/freesewing.lab/public/favicon.ico b/sites/lab/public/favicon.ico similarity index 100% rename from sites/freesewing.lab/public/favicon.ico rename to sites/lab/public/favicon.ico diff --git a/sites/lab/public/img/splash.jpg b/sites/lab/public/img/splash.jpg new file mode 120000 index 00000000000..ded0a9fdf2a --- /dev/null +++ b/sites/lab/public/img/splash.jpg @@ -0,0 +1 @@ +../../../dev/public/img/splash.jpg \ No newline at end of file diff --git a/sites/freesewing.lab/public/locales/de/.gitkeep b/sites/lab/public/locales/de/.gitkeep similarity index 100% rename from sites/freesewing.lab/public/locales/de/.gitkeep rename to sites/lab/public/locales/de/.gitkeep diff --git a/sites/freesewing.lab/public/locales/en/.gitkeep b/sites/lab/public/locales/en/.gitkeep similarity index 100% rename from sites/freesewing.lab/public/locales/en/.gitkeep rename to sites/lab/public/locales/en/.gitkeep diff --git a/sites/freesewing.lab/public/locales/es/.gitkeep b/sites/lab/public/locales/es/.gitkeep similarity index 100% rename from sites/freesewing.lab/public/locales/es/.gitkeep rename to sites/lab/public/locales/es/.gitkeep diff --git a/sites/freesewing.lab/public/locales/fr/.gitkeep b/sites/lab/public/locales/fr/.gitkeep similarity index 100% rename from sites/freesewing.lab/public/locales/fr/.gitkeep rename to sites/lab/public/locales/fr/.gitkeep diff --git a/sites/freesewing.lab/public/locales/nl/.gitkeep b/sites/lab/public/locales/nl/.gitkeep similarity index 100% rename from sites/freesewing.lab/public/locales/nl/.gitkeep rename to sites/lab/public/locales/nl/.gitkeep diff --git a/sites/freesewing.lab/public/support.jpg b/sites/lab/public/support.jpg similarity index 100% rename from sites/freesewing.lab/public/support.jpg rename to sites/lab/public/support.jpg diff --git a/sites/freesewing.org/scripts/algolia.mjs b/sites/lab/scripts/algolia.mjs similarity index 96% rename from sites/freesewing.org/scripts/algolia.mjs rename to sites/lab/scripts/algolia.mjs index ac8255068de..2d1b5effa8b 100644 --- a/sites/freesewing.org/scripts/algolia.mjs +++ b/sites/lab/scripts/algolia.mjs @@ -24,8 +24,8 @@ import remarkRehype from 'remark-rehype' import rehypeSanitize from 'rehype-sanitize' import rehypeStringify from 'rehype-stringify' import yaml from 'yaml' -import { getPosts } from '../../freesewing.shared/prebuild/strapi.mjs' -import { getMdxFileList } from '../../freesewing.shared/prebuild/mdx.mjs' +import { getPosts } from '../../shared/prebuild/strapi.mjs' +import { getMdxFileList } from '../../shared/prebuild/mdx.mjs' dotenv.config() /* diff --git a/sites/freesewing.lab/skip_build.sh b/sites/lab/skip_build.sh similarity index 100% rename from sites/freesewing.lab/skip_build.sh rename to sites/lab/skip_build.sh diff --git a/sites/lab/tailwind.config.js b/sites/lab/tailwind.config.js new file mode 100644 index 00000000000..c51437b8cb6 --- /dev/null +++ b/sites/lab/tailwind.config.js @@ -0,0 +1,4 @@ +// Can't seem to make this work as ESM +const config = require('../shared/config/tailwind.config.js') + +module.exports = config diff --git a/sites/freesewing.lab/versions.json b/sites/lab/versions.json similarity index 100% rename from sites/freesewing.lab/versions.json rename to sites/lab/versions.json diff --git a/sites/freesewing.org/.eslintrc.json b/sites/org/.eslintrc.json similarity index 100% rename from sites/freesewing.org/.eslintrc.json rename to sites/org/.eslintrc.json diff --git a/sites/freesewing.org/components/design.js b/sites/org/components/design.js similarity index 100% rename from sites/freesewing.org/components/design.js rename to sites/org/components/design.js diff --git a/sites/org/components/feeds.js b/sites/org/components/feeds.js new file mode 100644 index 00000000000..878e9a54a23 --- /dev/null +++ b/sites/org/components/feeds.js @@ -0,0 +1,70 @@ +import Head from 'next/head' + +const rss = (lang, type, title) => ({ + title, + type: "application/rss+xml", + href: `/feeds/${type}-${lang}.rss.xml` +}) +const atom = (lang, type, title) => ({ + title, + type: "application/rss+atom", + href: `/feeds/${type}-${lang}.atom.xml` +}) +const json = (lang, type, title) => ({ + title, + type: "application/json", + href: `/feeds/${type}-${lang}.json` +}) + + +const feeds = { + en: [ + atom('en', 'blog', "Atom feed of FreeSewing.org blog posts"), + json('en', 'blog', "JSON feed of FreeSewing.org blog posts"), + rss( 'en', 'blog', "RSS feed of FreeSewing.org blog posts"), + atom('en', 'showcase', "Atom feed of FreeSewing.org showcase posts"), + json('en', 'showcase', "JSON feed of FreeSewing.org showcase posts"), + rss( 'en', 'showcase', "RSS feed of FreeSewing.org showcase posts"), + ], + de: [ + atom('de', 'blog', "Atom-Feed von FreeSewing.org-Blogbeiträgen"), + json('de', 'blog', "JSON-Feed von FreeSewing.org-Blogbeiträgen"), + rss( 'de', 'blog', "RSS-Feed von FreeSewing.org-Blogbeiträgen"), + atom('de', 'showcase', "Atom-Feed von FreeSewing.org-Galeriebeiträgen"), + json('de', 'showcase', "JSON-Feed von FreeSewing.org-Galeriebeiträgen"), + rss( 'de', 'showcase', "RSS-Feed von FreeSewing.org-Galeriebeiträgen"), + ], + es: [ + atom('es', 'blog', "Fuente Atom de las publicaciones del blog FreeSewing.org"), + json('es', 'blog', "Fuente JSON de las publicaciones del blog FreeSewing.org"), + rss( 'es', 'blog', "Fuente RSS de las publicaciones del blog FreeSewing.org"), + atom('es', 'showcase', "Fuente Atom de publicaciones de exhibición de FreeSewing.org"), + json('es', 'showcase', "Fuente JSON de publicaciones de exhibición de FreeSewing.org"), + rss( 'es', 'showcase', "Fuente RSS de publicaciones de exhibición de FreeSewing.org"), + ], + fr: [ + atom('fr', 'blog', "Flux Atom des articles du blog FreeSewing.org"), + json('fr', 'blog', "Flux JSON des articles du blog FreeSewing.org"), + rss( 'fr', 'blog', "Flux RSS des articles du blog FreeSewing.org"), + atom('fr', 'showcase', "Flux Atom des articles du galerie FreeSewing.org"), + json('fr', 'showcase', "Flux JSON des articles du galerie FreeSewing.org"), + rss( 'fr', 'showcase', "Flux RSS des articles du galerie FreeSewing.org"), + ], + nl: [ + atom('nl', 'blog', "Atom feed van FreeSewing.org blog posts"), + json('nl', 'blog', "JSON feed van FreeSewing.org blog posts"), + rss( 'nl', 'blog', "RSS feed van FreeSewing.org blog posts"), + atom('nl', 'showcase', "Atom feed van FreeSewing.org voorbeelden"), + json('nl', 'showcase', "JSON feed van FreeSewing.org voorbeelden"), + rss( 'nl', 'showcase', "RSS feed van FreeSewing.org voorbeelden"), + ], +} + + +const Feeds = ({ lang='en' }) => ( + + {feeds[lang].map(feed => )} + +) + +export default Feeds diff --git a/sites/freesewing.org/components/footer.js b/sites/org/components/footer.js similarity index 100% rename from sites/freesewing.org/components/footer.js rename to sites/org/components/footer.js diff --git a/sites/freesewing.org/components/header.js b/sites/org/components/header.js similarity index 100% rename from sites/freesewing.org/components/header.js rename to sites/org/components/header.js diff --git a/sites/freesewing.org/components/help-us.js b/sites/org/components/help-us.js similarity index 100% rename from sites/freesewing.org/components/help-us.js rename to sites/org/components/help-us.js diff --git a/sites/freesewing.org/components/layouts/bare.js b/sites/org/components/layouts/bare.js similarity index 100% rename from sites/freesewing.org/components/layouts/bare.js rename to sites/org/components/layouts/bare.js diff --git a/sites/freesewing.org/components/layouts/docs.js b/sites/org/components/layouts/docs.js similarity index 100% rename from sites/freesewing.org/components/layouts/docs.js rename to sites/org/components/layouts/docs.js diff --git a/sites/freesewing.org/components/mdx/index.js b/sites/org/components/mdx/index.js similarity index 100% rename from sites/freesewing.org/components/mdx/index.js rename to sites/org/components/mdx/index.js diff --git a/sites/freesewing.org/components/mdx/pattern-docs.js b/sites/org/components/mdx/pattern-docs.js similarity index 100% rename from sites/freesewing.org/components/mdx/pattern-docs.js rename to sites/org/components/mdx/pattern-docs.js diff --git a/sites/freesewing.org/components/mdx/pattern-measurements.js b/sites/org/components/mdx/pattern-measurements.js similarity index 100% rename from sites/freesewing.org/components/mdx/pattern-measurements.js rename to sites/org/components/mdx/pattern-measurements.js diff --git a/sites/freesewing.org/components/mdx/pattern-options.js b/sites/org/components/mdx/pattern-options.js similarity index 100% rename from sites/freesewing.org/components/mdx/pattern-options.js rename to sites/org/components/mdx/pattern-options.js diff --git a/sites/freesewing.dev/components/search.js b/sites/org/components/search.js similarity index 100% rename from sites/freesewing.dev/components/search.js rename to sites/org/components/search.js diff --git a/sites/org/components/wrappers/layout.js b/sites/org/components/wrappers/layout.js new file mode 100644 index 00000000000..e60819d2ef8 --- /dev/null +++ b/sites/org/components/wrappers/layout.js @@ -0,0 +1,59 @@ +import { useState } from 'react' +import { useRouter } from 'next/router' +import Header from 'site/components/header' +import Footer from 'site/components/footer' +import Search from 'site/components/search' + +const LayoutWrapper = ({ + app, + title=false, + children=[], + search, + setSearch, + noSearch=false, + workbench=false, + AltMenu=null, +}) => { + const startNavigation = () => { + app.startLoading() + // Force close of menu on mobile if it is open + if (app.primaryNavigation) app.setPrimaryNavigation(false) + // Force close of search modal if it is open + if (search) setSearch(false) + } + + const router = useRouter() + router.events?.on('routeChangeStart', startNavigation) + router.events?.on('routeChangeComplete', () => app.stopLoading()) + const slug = router.asPath.slice(1) + const [collapsePrimaryNav, setCollapsePrimaryNav] = useState(workbench || false) + const [collapseAltMenu, setCollapseAltMenu] = useState(false) + + return ( +
+
+
{children}
+ {!noSearch && search && ( + <> +
+ +
+
+ + )} +
+
+ ) +} + +export default LayoutWrapper diff --git a/sites/freesewing.dev/components/wrappers/page.js b/sites/org/components/wrappers/page.js similarity index 89% rename from sites/freesewing.dev/components/wrappers/page.js rename to sites/org/components/wrappers/page.js index ae1a731df14..bd53d6ea597 100644 --- a/sites/freesewing.dev/components/wrappers/page.js +++ b/sites/org/components/wrappers/page.js @@ -5,6 +5,8 @@ import { useHotkeys } from 'react-hotkeys-hook' // Layouts components import LayoutWrapper from 'site/components/wrappers/layout' import Docs from 'site/components/layouts/docs' +// Add feeds +import Feeds from 'site/components/feeds.js' const layouts = { docs: Docs, @@ -16,6 +18,7 @@ const PageWrapper= ({ noSearch=false, app=false, layout=Docs, + crumbs=false, children=[] }) => { @@ -41,6 +44,7 @@ const PageWrapper= ({ const childProps = { app: app, title: title, + crumbs: crumbs, search, setSearch, toggleSearch: () => setSearch(!search), noSearch: noSearch, } @@ -52,8 +56,9 @@ const PageWrapper= ({ ref={swipeHandlers.ref} onMouseDown={swipeHandlers.onMouseDown} data-theme={app.theme} - key={app.theme} // Thiis forces the data-theme update + key={app.theme} // This forces the data-theme update > + {Layout ? {children} diff --git a/sites/freesewing.org/freesewing.config.js b/sites/org/freesewing.config.js similarity index 100% rename from sites/freesewing.org/freesewing.config.js rename to sites/org/freesewing.config.js diff --git a/sites/freesewing.org/hooks/useApp.js b/sites/org/hooks/useApp.js similarity index 100% rename from sites/freesewing.org/hooks/useApp.js rename to sites/org/hooks/useApp.js diff --git a/sites/freesewing.org/next-i18next.config.js b/sites/org/next-i18next.config.js similarity index 100% rename from sites/freesewing.org/next-i18next.config.js rename to sites/org/next-i18next.config.js diff --git a/sites/freesewing.org/next.config.mjs b/sites/org/next.config.mjs similarity index 100% rename from sites/freesewing.org/next.config.mjs rename to sites/org/next.config.mjs diff --git a/sites/freesewing.org/package.json b/sites/org/package.json similarity index 100% rename from sites/freesewing.org/package.json rename to sites/org/package.json diff --git a/sites/freesewing.org/pages/_app.js b/sites/org/pages/_app.js similarity index 100% rename from sites/freesewing.org/pages/_app.js rename to sites/org/pages/_app.js diff --git a/sites/freesewing.org/pages/_document.js b/sites/org/pages/_document.js similarity index 100% rename from sites/freesewing.org/pages/_document.js rename to sites/org/pages/_document.js diff --git a/sites/freesewing.dev/pages/blog/[slug].js b/sites/org/pages/blog/[slug].js similarity index 54% rename from sites/freesewing.dev/pages/blog/[slug].js rename to sites/org/pages/blog/[slug].js index 7030b37d8de..864928bd804 100644 --- a/sites/freesewing.dev/pages/blog/[slug].js +++ b/sites/org/pages/blog/[slug].js @@ -1,13 +1,16 @@ -import Page from 'shared/components/wrappers/page.js' +import Page from 'site/components/wrappers/page.js' import useApp from 'site/hooks/useApp.js' -import strapiLoader from 'shared/strapi/loader' -import { posts } from 'site/prebuild/strapi.blog.en.js' import TimeAgo from 'react-timeago' import MdxWrapper from 'shared/components/wrappers/mdx' +import mdxCompiler from 'shared/mdx/compiler' import Markdown from 'react-markdown' import Head from 'next/head' -import HelpUs from 'site/components/help-us.js' +import Lightbox from 'shared/components/lightbox.js' +import ImageWrapper from 'shared/components/wrappers/img.js' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { strapiHost } from 'shared/config/freesewing.mjs' +import { strapiImage } from 'shared/utils.js' +import { useTranslation } from 'next-i18next' const strapi = "https://posts.freesewing.org" @@ -19,7 +22,7 @@ const Author = ({ author }) => ( w-lg bg-cover bg-center rounded-full aspect-square hidden lg:block `} - style={{backgroundImage: `url(${strapi}${author?.img})`}} + style={{backgroundImage: `url(${strapiHost}${author?.image?.sizes?.small?.url})`}} > @@ -27,10 +30,10 @@ const Author = ({ author }) => (
{author?.displayname}
( Wrote this

- {author?.about} +
@@ -80,15 +83,19 @@ const PostPage = ({ post, author }) => {
- {post.caption} -
+ + + {post.caption} + +
+
@@ -96,33 +103,73 @@ const PostPage = ({ post, author }) => {
- ) } -export const getStaticProps = async (props) => { - const { post, author } = await strapiLoader('en', 'dev', 'blog', props.params.slug) +/* + * getStaticProps() is used to fetch data at build-time. + * + * On this page, it is loading the blog content from strapi. + * + * This, in combination with getStaticPaths() below means this + * page will be used to render/generate all blog content. + * + * To learn more, see: https://nextjs.org/docs/basic-features/data-fetching + */ +export async function getStaticProps({ params, locale }) { + + const { slug } = params + const post = await fetch( + `${strapiHost}/blogposts?_locale=${locale}&dev_ne=true&slug_eq=${slug}` + ) + .then(response => response.json()) + .then(data => data[0]) + .catch(err => console.log(err)) return { props: { - post, - author, - slug: `blog/${props.params.slug}`, - ...(await serverSideTranslations('en')), + post: { + slug, + ...(await mdxCompiler(post.body)), + title: post.title, + date: post.date, + caption: post.caption, + image: { + w: post.image.width, + h: post.image.height, + url: post.image.url + }, + }, + author: { + displayname: post.author.displayname, + slug: post.author.slug, + about: post.author.about, + image: strapiImage(post.author.picture, ['small']), + ...(await mdxCompiler(post.author.about)), + }, + ...(await serverSideTranslations(locale)), } } } export const getStaticPaths = async () => { - const paths = [] - for (const post of posts) paths.push({ - params: {slug: post.slug} - }) + const paths = await fetch( + `${strapiHost}/blogposts?_locale=en&dev_ne=true&_limit=-1` + ) + .then(response => response.json()) + .then(data => data.map(post => `/blog/${post.slug}`)) + .catch(err => console.log(err)) return { - paths, + paths: [ + ...paths, + ...paths.map(p => `/de${p}`), + ...paths.map(p => `/es${p}`), + ...paths.map(p => `/fr${p}`), + ...paths.map(p => `/nl${p}`), + ], fallback: false, } } diff --git a/sites/freesewing.org/pages/blog/index.js b/sites/org/pages/blog/index.js similarity index 98% rename from sites/freesewing.org/pages/blog/index.js rename to sites/org/pages/blog/index.js index df59cdbdb3e..43e03432010 100644 --- a/sites/freesewing.org/pages/blog/index.js +++ b/sites/org/pages/blog/index.js @@ -3,7 +3,7 @@ import useApp from 'site/hooks/useApp.js' import Link from 'next/link' import TimeAgo from 'react-timeago' import { strapiHost } from 'shared/config/freesewing.mjs' -import { strapiImage } from 'shared/utils.js' +import { strapiImage } from 'shared/utils' import { useTranslation } from 'next-i18next' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' diff --git a/sites/freesewing.org/pages/community/index.js b/sites/org/pages/community/index.js similarity index 100% rename from sites/freesewing.org/pages/community/index.js rename to sites/org/pages/community/index.js diff --git a/sites/freesewing.org/pages/designs/index.js b/sites/org/pages/designs/index.js similarity index 100% rename from sites/freesewing.org/pages/designs/index.js rename to sites/org/pages/designs/index.js diff --git a/sites/freesewing.org/pages/docs/[...mdxslug].js b/sites/org/pages/docs/[...mdxslug].js similarity index 100% rename from sites/freesewing.org/pages/docs/[...mdxslug].js rename to sites/org/pages/docs/[...mdxslug].js diff --git a/sites/freesewing.org/pages/docs/index.js b/sites/org/pages/docs/index.js similarity index 100% rename from sites/freesewing.org/pages/docs/index.js rename to sites/org/pages/docs/index.js diff --git a/sites/freesewing.org/pages/index.js b/sites/org/pages/index.js similarity index 100% rename from sites/freesewing.org/pages/index.js rename to sites/org/pages/index.js diff --git a/sites/freesewing.org/pages/showcase/[slug].js b/sites/org/pages/showcase/[slug].js similarity index 100% rename from sites/freesewing.org/pages/showcase/[slug].js rename to sites/org/pages/showcase/[slug].js diff --git a/sites/freesewing.org/pages/showcase/designs/[design].js b/sites/org/pages/showcase/designs/[design].js similarity index 100% rename from sites/freesewing.org/pages/showcase/designs/[design].js rename to sites/org/pages/showcase/designs/[design].js diff --git a/sites/freesewing.org/pages/showcase/designs/index.js b/sites/org/pages/showcase/designs/index.js similarity index 100% rename from sites/freesewing.org/pages/showcase/designs/index.js rename to sites/org/pages/showcase/designs/index.js diff --git a/sites/freesewing.org/pages/showcase/index.js b/sites/org/pages/showcase/index.js similarity index 100% rename from sites/freesewing.org/pages/showcase/index.js rename to sites/org/pages/showcase/index.js diff --git a/sites/freesewing.org/pages/typography.js b/sites/org/pages/typography.js similarity index 100% rename from sites/freesewing.org/pages/typography.js rename to sites/org/pages/typography.js diff --git a/sites/freesewing.dev/postcss.config.js b/sites/org/postcss.config.js similarity index 100% rename from sites/freesewing.dev/postcss.config.js rename to sites/org/postcss.config.js diff --git a/sites/freesewing.org/prebuild/.gitkeep b/sites/org/prebuild/.gitkeep similarity index 100% rename from sites/freesewing.org/prebuild/.gitkeep rename to sites/org/prebuild/.gitkeep diff --git a/sites/freesewing.org/public/brands/algolia.svg b/sites/org/public/brands/algolia.svg similarity index 100% rename from sites/freesewing.org/public/brands/algolia.svg rename to sites/org/public/brands/algolia.svg diff --git a/sites/freesewing.org/public/brands/bugsnag.svg b/sites/org/public/brands/bugsnag.svg similarity index 100% rename from sites/freesewing.org/public/brands/bugsnag.svg rename to sites/org/public/brands/bugsnag.svg diff --git a/sites/freesewing.org/public/brands/crowdin.svg b/sites/org/public/brands/crowdin.svg similarity index 100% rename from sites/freesewing.org/public/brands/crowdin.svg rename to sites/org/public/brands/crowdin.svg diff --git a/sites/freesewing.org/public/brands/netlify.svg b/sites/org/public/brands/netlify.svg similarity index 100% rename from sites/freesewing.org/public/brands/netlify.svg rename to sites/org/public/brands/netlify.svg diff --git a/sites/freesewing.org/public/brands/vercel.svg b/sites/org/public/brands/vercel.svg similarity index 100% rename from sites/freesewing.org/public/brands/vercel.svg rename to sites/org/public/brands/vercel.svg diff --git a/sites/freesewing.org/public/favicon.ico b/sites/org/public/favicon.ico similarity index 100% rename from sites/freesewing.org/public/favicon.ico rename to sites/org/public/favicon.ico diff --git a/sites/freesewing.org/public/feeds/.gitkeep b/sites/org/public/feeds/.gitkeep similarity index 100% rename from sites/freesewing.org/public/feeds/.gitkeep rename to sites/org/public/feeds/.gitkeep diff --git a/sites/freesewing.org/public/img/designs/aaron.png b/sites/org/public/img/designs/aaron.png similarity index 100% rename from sites/freesewing.org/public/img/designs/aaron.png rename to sites/org/public/img/designs/aaron.png diff --git a/sites/freesewing.org/public/img/designs/albert.png b/sites/org/public/img/designs/albert.png similarity index 100% rename from sites/freesewing.org/public/img/designs/albert.png rename to sites/org/public/img/designs/albert.png diff --git a/sites/freesewing.org/public/img/designs/benjamin.png b/sites/org/public/img/designs/benjamin.png similarity index 100% rename from sites/freesewing.org/public/img/designs/benjamin.png rename to sites/org/public/img/designs/benjamin.png diff --git a/sites/freesewing.org/public/img/designs/bruce.png b/sites/org/public/img/designs/bruce.png similarity index 100% rename from sites/freesewing.org/public/img/designs/bruce.png rename to sites/org/public/img/designs/bruce.png diff --git a/sites/freesewing.org/public/img/designs/cathrin.png b/sites/org/public/img/designs/cathrin.png similarity index 100% rename from sites/freesewing.org/public/img/designs/cathrin.png rename to sites/org/public/img/designs/cathrin.png diff --git a/sites/freesewing.org/public/img/designs/charlie.png b/sites/org/public/img/designs/charlie.png similarity index 100% rename from sites/freesewing.org/public/img/designs/charlie.png rename to sites/org/public/img/designs/charlie.png diff --git a/sites/freesewing.org/public/img/designs/cornelius.png b/sites/org/public/img/designs/cornelius.png similarity index 100% rename from sites/freesewing.org/public/img/designs/cornelius.png rename to sites/org/public/img/designs/cornelius.png diff --git a/sites/freesewing.org/public/img/designs/diana.png b/sites/org/public/img/designs/diana.png similarity index 100% rename from sites/freesewing.org/public/img/designs/diana.png rename to sites/org/public/img/designs/diana.png diff --git a/sites/freesewing.org/public/img/designs/florence.png b/sites/org/public/img/designs/florence.png similarity index 100% rename from sites/freesewing.org/public/img/designs/florence.png rename to sites/org/public/img/designs/florence.png diff --git a/sites/freesewing.org/public/img/designs/florent.png b/sites/org/public/img/designs/florent.png similarity index 100% rename from sites/freesewing.org/public/img/designs/florent.png rename to sites/org/public/img/designs/florent.png diff --git a/sites/freesewing.org/public/img/designs/huey.png b/sites/org/public/img/designs/huey.png similarity index 100% rename from sites/freesewing.org/public/img/designs/huey.png rename to sites/org/public/img/designs/huey.png diff --git a/sites/freesewing.org/public/img/designs/hugo.png b/sites/org/public/img/designs/hugo.png similarity index 100% rename from sites/freesewing.org/public/img/designs/hugo.png rename to sites/org/public/img/designs/hugo.png diff --git a/sites/freesewing.org/public/img/designs/jaeger.png b/sites/org/public/img/designs/jaeger.png similarity index 100% rename from sites/freesewing.org/public/img/designs/jaeger.png rename to sites/org/public/img/designs/jaeger.png diff --git a/sites/freesewing.org/public/img/designs/penelope.png b/sites/org/public/img/designs/penelope.png similarity index 100% rename from sites/freesewing.org/public/img/designs/penelope.png rename to sites/org/public/img/designs/penelope.png diff --git a/sites/freesewing.org/public/img/designs/sandy.png b/sites/org/public/img/designs/sandy.png similarity index 100% rename from sites/freesewing.org/public/img/designs/sandy.png rename to sites/org/public/img/designs/sandy.png diff --git a/sites/freesewing.org/public/img/designs/shin.png b/sites/org/public/img/designs/shin.png similarity index 100% rename from sites/freesewing.org/public/img/designs/shin.png rename to sites/org/public/img/designs/shin.png diff --git a/sites/freesewing.org/public/img/designs/simon.png b/sites/org/public/img/designs/simon.png similarity index 100% rename from sites/freesewing.org/public/img/designs/simon.png rename to sites/org/public/img/designs/simon.png diff --git a/sites/freesewing.org/public/img/designs/sven.png b/sites/org/public/img/designs/sven.png similarity index 100% rename from sites/freesewing.org/public/img/designs/sven.png rename to sites/org/public/img/designs/sven.png diff --git a/sites/freesewing.org/public/img/designs/tamiko.png b/sites/org/public/img/designs/tamiko.png similarity index 100% rename from sites/freesewing.org/public/img/designs/tamiko.png rename to sites/org/public/img/designs/tamiko.png diff --git a/sites/freesewing.org/public/img/designs/teagan.png b/sites/org/public/img/designs/teagan.png similarity index 100% rename from sites/freesewing.org/public/img/designs/teagan.png rename to sites/org/public/img/designs/teagan.png diff --git a/sites/freesewing.org/public/img/designs/theo.png b/sites/org/public/img/designs/theo.png similarity index 100% rename from sites/freesewing.org/public/img/designs/theo.png rename to sites/org/public/img/designs/theo.png diff --git a/sites/freesewing.org/public/img/designs/titan.png b/sites/org/public/img/designs/titan.png similarity index 100% rename from sites/freesewing.org/public/img/designs/titan.png rename to sites/org/public/img/designs/titan.png diff --git a/sites/freesewing.org/public/img/designs/trayvon.png b/sites/org/public/img/designs/trayvon.png similarity index 100% rename from sites/freesewing.org/public/img/designs/trayvon.png rename to sites/org/public/img/designs/trayvon.png diff --git a/sites/freesewing.org/public/img/designs/ursula.png b/sites/org/public/img/designs/ursula.png similarity index 100% rename from sites/freesewing.org/public/img/designs/ursula.png rename to sites/org/public/img/designs/ursula.png diff --git a/sites/freesewing.org/public/img/designs/wahid.png b/sites/org/public/img/designs/wahid.png similarity index 100% rename from sites/freesewing.org/public/img/designs/wahid.png rename to sites/org/public/img/designs/wahid.png diff --git a/sites/freesewing.org/public/img/designs/waralee.png b/sites/org/public/img/designs/waralee.png similarity index 100% rename from sites/freesewing.org/public/img/designs/waralee.png rename to sites/org/public/img/designs/waralee.png diff --git a/sites/freesewing.org/public/img/splash.jpg b/sites/org/public/img/splash.jpg similarity index 100% rename from sites/freesewing.org/public/img/splash.jpg rename to sites/org/public/img/splash.jpg diff --git a/sites/freesewing.org/public/locales/de/.gitkeep b/sites/org/public/locales/de/.gitkeep similarity index 100% rename from sites/freesewing.org/public/locales/de/.gitkeep rename to sites/org/public/locales/de/.gitkeep diff --git a/sites/freesewing.org/public/locales/en/.gitkeep b/sites/org/public/locales/en/.gitkeep similarity index 100% rename from sites/freesewing.org/public/locales/en/.gitkeep rename to sites/org/public/locales/en/.gitkeep diff --git a/sites/freesewing.org/public/locales/es/.gitkeep b/sites/org/public/locales/es/.gitkeep similarity index 100% rename from sites/freesewing.org/public/locales/es/.gitkeep rename to sites/org/public/locales/es/.gitkeep diff --git a/sites/freesewing.org/public/locales/fr/.gitkeep b/sites/org/public/locales/fr/.gitkeep similarity index 100% rename from sites/freesewing.org/public/locales/fr/.gitkeep rename to sites/org/public/locales/fr/.gitkeep diff --git a/sites/freesewing.org/public/locales/nl/.gitkeep b/sites/org/public/locales/nl/.gitkeep similarity index 100% rename from sites/freesewing.org/public/locales/nl/.gitkeep rename to sites/org/public/locales/nl/.gitkeep diff --git a/sites/freesewing.org/public/support.jpg b/sites/org/public/support.jpg similarity index 100% rename from sites/freesewing.org/public/support.jpg rename to sites/org/public/support.jpg diff --git a/sites/freesewing.lab/scripts/algolia.mjs b/sites/org/scripts/algolia.mjs similarity index 100% rename from sites/freesewing.lab/scripts/algolia.mjs rename to sites/org/scripts/algolia.mjs diff --git a/sites/freesewing.dev/tailwind.config.js b/sites/org/tailwind.config.js similarity index 100% rename from sites/freesewing.dev/tailwind.config.js rename to sites/org/tailwind.config.js diff --git a/sites/freesewing.shared/CHANGELOG.md b/sites/shared/CHANGELOG.md similarity index 100% rename from sites/freesewing.shared/CHANGELOG.md rename to sites/shared/CHANGELOG.md diff --git a/sites/freesewing.shared/components/breadcrumbs.js b/sites/shared/components/breadcrumbs.js similarity index 100% rename from sites/freesewing.shared/components/breadcrumbs.js rename to sites/shared/components/breadcrumbs.js diff --git a/sites/freesewing.shared/components/copy-to-clipboard.js b/sites/shared/components/copy-to-clipboard.js similarity index 100% rename from sites/freesewing.shared/components/copy-to-clipboard.js rename to sites/shared/components/copy-to-clipboard.js diff --git a/sites/freesewing.shared/components/docs-link.js b/sites/shared/components/docs-link.js similarity index 100% rename from sites/freesewing.shared/components/docs-link.js rename to sites/shared/components/docs-link.js diff --git a/sites/freesewing.shared/components/icons/box.js b/sites/shared/components/icons/box.js similarity index 100% rename from sites/freesewing.shared/components/icons/box.js rename to sites/shared/components/icons/box.js diff --git a/sites/freesewing.shared/components/icons/camera.js b/sites/shared/components/icons/camera.js similarity index 100% rename from sites/freesewing.shared/components/icons/camera.js rename to sites/shared/components/icons/camera.js diff --git a/sites/freesewing.shared/components/icons/clear.js b/sites/shared/components/icons/clear.js similarity index 100% rename from sites/freesewing.shared/components/icons/clear.js rename to sites/shared/components/icons/clear.js diff --git a/sites/freesewing.shared/components/icons/close.js b/sites/shared/components/icons/close.js similarity index 100% rename from sites/freesewing.shared/components/icons/close.js rename to sites/shared/components/icons/close.js diff --git a/sites/freesewing.shared/components/icons/cog.js b/sites/shared/components/icons/cog.js similarity index 100% rename from sites/freesewing.shared/components/icons/cog.js rename to sites/shared/components/icons/cog.js diff --git a/sites/freesewing.shared/components/icons/community.js b/sites/shared/components/icons/community.js similarity index 100% rename from sites/freesewing.shared/components/icons/community.js rename to sites/shared/components/icons/community.js diff --git a/sites/freesewing.shared/components/icons/copy.js b/sites/shared/components/icons/copy.js similarity index 100% rename from sites/freesewing.shared/components/icons/copy.js rename to sites/shared/components/icons/copy.js diff --git a/sites/freesewing.shared/components/icons/design.js b/sites/shared/components/icons/design.js similarity index 100% rename from sites/freesewing.shared/components/icons/design.js rename to sites/shared/components/icons/design.js diff --git a/sites/freesewing.shared/components/icons/discord.js b/sites/shared/components/icons/discord.js similarity index 100% rename from sites/freesewing.shared/components/icons/discord.js rename to sites/shared/components/icons/discord.js diff --git a/sites/freesewing.shared/components/icons/docs.js b/sites/shared/components/icons/docs.js similarity index 100% rename from sites/freesewing.shared/components/icons/docs.js rename to sites/shared/components/icons/docs.js diff --git a/sites/freesewing.shared/components/icons/down.js b/sites/shared/components/icons/down.js similarity index 100% rename from sites/freesewing.shared/components/icons/down.js rename to sites/shared/components/icons/down.js diff --git a/sites/freesewing.shared/components/icons/edit.js b/sites/shared/components/icons/edit.js similarity index 100% rename from sites/freesewing.shared/components/icons/edit.js rename to sites/shared/components/icons/edit.js diff --git a/sites/freesewing.shared/components/icons/export.js b/sites/shared/components/icons/export.js similarity index 100% rename from sites/freesewing.shared/components/icons/export.js rename to sites/shared/components/icons/export.js diff --git a/sites/freesewing.shared/components/icons/facebook.js b/sites/shared/components/icons/facebook.js similarity index 100% rename from sites/freesewing.shared/components/icons/facebook.js rename to sites/shared/components/icons/facebook.js diff --git a/sites/freesewing.shared/components/icons/filter.js b/sites/shared/components/icons/filter.js similarity index 100% rename from sites/freesewing.shared/components/icons/filter.js rename to sites/shared/components/icons/filter.js diff --git a/sites/freesewing.shared/components/icons/freesewing.js b/sites/shared/components/icons/freesewing.js similarity index 100% rename from sites/freesewing.shared/components/icons/freesewing.js rename to sites/shared/components/icons/freesewing.js diff --git a/sites/freesewing.shared/components/icons/github.js b/sites/shared/components/icons/github.js similarity index 100% rename from sites/freesewing.shared/components/icons/github.js rename to sites/shared/components/icons/github.js diff --git a/sites/freesewing.shared/components/icons/google.js b/sites/shared/components/icons/google.js similarity index 100% rename from sites/freesewing.shared/components/icons/google.js rename to sites/shared/components/icons/google.js diff --git a/sites/freesewing.shared/components/icons/guide.js b/sites/shared/components/icons/guide.js similarity index 100% rename from sites/freesewing.shared/components/icons/guide.js rename to sites/shared/components/icons/guide.js diff --git a/sites/freesewing.shared/components/icons/heart.js b/sites/shared/components/icons/heart.js similarity index 100% rename from sites/freesewing.shared/components/icons/heart.js rename to sites/shared/components/icons/heart.js diff --git a/sites/freesewing.shared/components/icons/help.js b/sites/shared/components/icons/help.js similarity index 100% rename from sites/freesewing.shared/components/icons/help.js rename to sites/shared/components/icons/help.js diff --git a/sites/freesewing.shared/components/icons/i18n.js b/sites/shared/components/icons/i18n.js similarity index 100% rename from sites/freesewing.shared/components/icons/i18n.js rename to sites/shared/components/icons/i18n.js diff --git a/sites/freesewing.shared/components/icons/instagram.js b/sites/shared/components/icons/instagram.js similarity index 100% rename from sites/freesewing.shared/components/icons/instagram.js rename to sites/shared/components/icons/instagram.js diff --git a/sites/freesewing.shared/components/icons/left.js b/sites/shared/components/icons/left.js similarity index 100% rename from sites/freesewing.shared/components/icons/left.js rename to sites/shared/components/icons/left.js diff --git a/sites/freesewing.shared/components/icons/menu.js b/sites/shared/components/icons/menu.js similarity index 100% rename from sites/freesewing.shared/components/icons/menu.js rename to sites/shared/components/icons/menu.js diff --git a/sites/freesewing.shared/components/icons/note.js b/sites/shared/components/icons/note.js similarity index 100% rename from sites/freesewing.shared/components/icons/note.js rename to sites/shared/components/icons/note.js diff --git a/sites/freesewing.shared/components/icons/options.js b/sites/shared/components/icons/options.js similarity index 100% rename from sites/freesewing.shared/components/icons/options.js rename to sites/shared/components/icons/options.js diff --git a/sites/freesewing.shared/components/icons/page-size.js b/sites/shared/components/icons/page-size.js similarity index 100% rename from sites/freesewing.shared/components/icons/page-size.js rename to sites/shared/components/icons/page-size.js diff --git a/sites/freesewing.shared/components/icons/page.js b/sites/shared/components/icons/page.js similarity index 100% rename from sites/freesewing.shared/components/icons/page.js rename to sites/shared/components/icons/page.js diff --git a/sites/freesewing.shared/components/icons/print.js b/sites/shared/components/icons/print.js similarity index 100% rename from sites/freesewing.shared/components/icons/print.js rename to sites/shared/components/icons/print.js diff --git a/sites/freesewing.shared/components/icons/reddit.js b/sites/shared/components/icons/reddit.js similarity index 100% rename from sites/freesewing.shared/components/icons/reddit.js rename to sites/shared/components/icons/reddit.js diff --git a/sites/freesewing.shared/components/icons/right.js b/sites/shared/components/icons/right.js similarity index 100% rename from sites/freesewing.shared/components/icons/right.js rename to sites/shared/components/icons/right.js diff --git a/sites/freesewing.shared/components/icons/rss.js b/sites/shared/components/icons/rss.js similarity index 100% rename from sites/freesewing.shared/components/icons/rss.js rename to sites/shared/components/icons/rss.js diff --git a/sites/freesewing.shared/components/icons/search.js b/sites/shared/components/icons/search.js similarity index 100% rename from sites/freesewing.shared/components/icons/search.js rename to sites/shared/components/icons/search.js diff --git a/sites/freesewing.shared/components/icons/settings.js b/sites/shared/components/icons/settings.js similarity index 100% rename from sites/freesewing.shared/components/icons/settings.js rename to sites/shared/components/icons/settings.js diff --git a/sites/freesewing.shared/components/icons/theme.js b/sites/shared/components/icons/theme.js similarity index 100% rename from sites/freesewing.shared/components/icons/theme.js rename to sites/shared/components/icons/theme.js diff --git a/sites/freesewing.shared/components/icons/tip.js b/sites/shared/components/icons/tip.js similarity index 100% rename from sites/freesewing.shared/components/icons/tip.js rename to sites/shared/components/icons/tip.js diff --git a/sites/freesewing.shared/components/icons/tutorial.js b/sites/shared/components/icons/tutorial.js similarity index 100% rename from sites/freesewing.shared/components/icons/tutorial.js rename to sites/shared/components/icons/tutorial.js diff --git a/sites/freesewing.shared/components/icons/twitter.js b/sites/shared/components/icons/twitter.js similarity index 100% rename from sites/freesewing.shared/components/icons/twitter.js rename to sites/shared/components/icons/twitter.js diff --git a/sites/freesewing.shared/components/icons/user.js b/sites/shared/components/icons/user.js similarity index 100% rename from sites/freesewing.shared/components/icons/user.js rename to sites/shared/components/icons/user.js diff --git a/sites/freesewing.shared/components/icons/versions.js b/sites/shared/components/icons/versions.js similarity index 100% rename from sites/freesewing.shared/components/icons/versions.js rename to sites/shared/components/icons/versions.js diff --git a/sites/freesewing.shared/components/icons/with-breasts.js b/sites/shared/components/icons/with-breasts.js similarity index 100% rename from sites/freesewing.shared/components/icons/with-breasts.js rename to sites/shared/components/icons/with-breasts.js diff --git a/sites/freesewing.shared/components/icons/without-breasts.js b/sites/shared/components/icons/without-breasts.js similarity index 100% rename from sites/freesewing.shared/components/icons/without-breasts.js rename to sites/shared/components/icons/without-breasts.js diff --git a/sites/freesewing.shared/components/icons/xray.js b/sites/shared/components/icons/xray.js similarity index 100% rename from sites/freesewing.shared/components/icons/xray.js rename to sites/shared/components/icons/xray.js diff --git a/sites/freesewing.shared/components/json.js b/sites/shared/components/json.js similarity index 100% rename from sites/freesewing.shared/components/json.js rename to sites/shared/components/json.js diff --git a/sites/freesewing.shared/components/layouts/default.js b/sites/shared/components/layouts/default.js similarity index 100% rename from sites/freesewing.shared/components/layouts/default.js rename to sites/shared/components/layouts/default.js diff --git a/sites/freesewing.shared/components/lightbox.js b/sites/shared/components/lightbox.js similarity index 100% rename from sites/freesewing.shared/components/lightbox.js rename to sites/shared/components/lightbox.js diff --git a/sites/freesewing.shared/components/locale-picker.js b/sites/shared/components/locale-picker.js similarity index 100% rename from sites/freesewing.shared/components/locale-picker.js rename to sites/shared/components/locale-picker.js diff --git a/sites/freesewing.shared/components/logos/cc-by.js b/sites/shared/components/logos/cc-by.js similarity index 100% rename from sites/freesewing.shared/components/logos/cc-by.js rename to sites/shared/components/logos/cc-by.js diff --git a/sites/freesewing.shared/components/logos/cc.js b/sites/shared/components/logos/cc.js similarity index 100% rename from sites/freesewing.shared/components/logos/cc.js rename to sites/shared/components/logos/cc.js diff --git a/sites/freesewing.shared/components/logos/freesewing.js b/sites/shared/components/logos/freesewing.js similarity index 100% rename from sites/freesewing.shared/components/logos/freesewing.js rename to sites/shared/components/logos/freesewing.js diff --git a/sites/freesewing.shared/components/logos/osi.js b/sites/shared/components/logos/osi.js similarity index 100% rename from sites/freesewing.shared/components/logos/osi.js rename to sites/shared/components/logos/osi.js diff --git a/sites/freesewing.shared/components/mdx/dot-rough.js b/sites/shared/components/mdx/dot-rough.js similarity index 100% rename from sites/freesewing.shared/components/mdx/dot-rough.js rename to sites/shared/components/mdx/dot-rough.js diff --git a/sites/freesewing.shared/components/mdx/dot.js b/sites/shared/components/mdx/dot.js similarity index 100% rename from sites/freesewing.shared/components/mdx/dot.js rename to sites/shared/components/mdx/dot.js diff --git a/sites/freesewing.shared/components/mdx/example/Circle/index.js b/sites/shared/components/mdx/example/Circle/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Circle/index.js rename to sites/shared/components/mdx/example/Circle/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Defs/index.js b/sites/shared/components/mdx/example/Defs/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Defs/index.js rename to sites/shared/components/mdx/example/Defs/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Develop.js b/sites/shared/components/mdx/example/Develop.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Develop.js rename to sites/shared/components/mdx/example/Develop.js diff --git a/sites/freesewing.shared/components/mdx/example/DevelopPath/index.js b/sites/shared/components/mdx/example/DevelopPath/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/DevelopPath/index.js rename to sites/shared/components/mdx/example/DevelopPath/index.js diff --git a/sites/freesewing.shared/components/mdx/example/DevelopPath/logo-path.js b/sites/shared/components/mdx/example/DevelopPath/logo-path.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/DevelopPath/logo-path.js rename to sites/shared/components/mdx/example/DevelopPath/logo-path.js diff --git a/sites/freesewing.shared/components/mdx/example/DevelopPoint/index.js b/sites/shared/components/mdx/example/DevelopPoint/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/DevelopPoint/index.js rename to sites/shared/components/mdx/example/DevelopPoint/index.js diff --git a/sites/freesewing.shared/components/mdx/example/DevelopPoint/logo-path.js b/sites/shared/components/mdx/example/DevelopPoint/logo-path.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/DevelopPoint/logo-path.js rename to sites/shared/components/mdx/example/DevelopPoint/logo-path.js diff --git a/sites/freesewing.shared/components/mdx/example/Part/index.js b/sites/shared/components/mdx/example/Part/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Part/index.js rename to sites/shared/components/mdx/example/Part/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Path/index.js b/sites/shared/components/mdx/example/Path/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Path/index.js rename to sites/shared/components/mdx/example/Path/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Point/index.js b/sites/shared/components/mdx/example/Point/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Point/index.js rename to sites/shared/components/mdx/example/Point/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Snippet/index.js b/sites/shared/components/mdx/example/Snippet/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Snippet/index.js rename to sites/shared/components/mdx/example/Snippet/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Svg/index.js b/sites/shared/components/mdx/example/Svg/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Svg/index.js rename to sites/shared/components/mdx/example/Svg/index.js diff --git a/sites/freesewing.shared/components/mdx/example/Text/index.js b/sites/shared/components/mdx/example/Text/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/Text/index.js rename to sites/shared/components/mdx/example/Text/index.js diff --git a/sites/freesewing.shared/components/mdx/example/TextOnPath/index.js b/sites/shared/components/mdx/example/TextOnPath/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/TextOnPath/index.js rename to sites/shared/components/mdx/example/TextOnPath/index.js diff --git a/sites/freesewing.shared/components/mdx/example/index.js b/sites/shared/components/mdx/example/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/index.js rename to sites/shared/components/mdx/example/index.js diff --git a/sites/freesewing.shared/components/mdx/example/utils.js b/sites/shared/components/mdx/example/utils.js similarity index 100% rename from sites/freesewing.shared/components/mdx/example/utils.js rename to sites/shared/components/mdx/example/utils.js diff --git a/sites/freesewing.shared/components/mdx/figure.js b/sites/shared/components/mdx/figure.js similarity index 100% rename from sites/freesewing.shared/components/mdx/figure.js rename to sites/shared/components/mdx/figure.js diff --git a/sites/freesewing.shared/components/mdx/highlight.js b/sites/shared/components/mdx/highlight.js similarity index 97% rename from sites/freesewing.shared/components/mdx/highlight.js rename to sites/shared/components/mdx/highlight.js index 7fce1a7fc28..875eabeff69 100644 --- a/sites/freesewing.shared/components/mdx/highlight.js +++ b/sites/shared/components/mdx/highlight.js @@ -19,7 +19,7 @@ const Highlight = (props) => { if (language === 'dot') return {props.children} const preProps = { - className: `language-${language} hljs text-base lg:text-lg whitespace-pre-wrap break-all` + className: `language-${language} hljs text-base lg:text-lg whitespace-pre overflow-scroll pr-4` } if (props.raw) preProps.dangerouslySetInnerHTML = { __html: props.raw } diff --git a/sites/freesewing.shared/components/mdx/index.js b/sites/shared/components/mdx/index.js similarity index 100% rename from sites/freesewing.shared/components/mdx/index.js rename to sites/shared/components/mdx/index.js diff --git a/sites/freesewing.shared/components/mdx/prev-next.js b/sites/shared/components/mdx/prev-next.js similarity index 100% rename from sites/freesewing.shared/components/mdx/prev-next.js rename to sites/shared/components/mdx/prev-next.js diff --git a/sites/freesewing.shared/components/mdx/read-more.js b/sites/shared/components/mdx/read-more.js similarity index 100% rename from sites/freesewing.shared/components/mdx/read-more.js rename to sites/shared/components/mdx/read-more.js diff --git a/sites/freesewing.shared/components/mdx/youtube.js b/sites/shared/components/mdx/youtube.js similarity index 100% rename from sites/freesewing.shared/components/mdx/youtube.js rename to sites/shared/components/mdx/youtube.js diff --git a/sites/freesewing.shared/components/navigation/aside.js b/sites/shared/components/navigation/aside.js similarity index 100% rename from sites/freesewing.shared/components/navigation/aside.js rename to sites/shared/components/navigation/aside.js diff --git a/sites/freesewing.shared/components/navigation/primary.js b/sites/shared/components/navigation/primary.js similarity index 100% rename from sites/freesewing.shared/components/navigation/primary.js rename to sites/shared/components/navigation/primary.js diff --git a/sites/freesewing.shared/components/page-link.js b/sites/shared/components/page-link.js similarity index 100% rename from sites/freesewing.shared/components/page-link.js rename to sites/shared/components/page-link.js diff --git a/sites/freesewing.shared/components/pinked-ribbon.js b/sites/shared/components/pinked-ribbon.js similarity index 100% rename from sites/freesewing.shared/components/pinked-ribbon.js rename to sites/shared/components/pinked-ribbon.js diff --git a/sites/freesewing.shared/components/popout.js b/sites/shared/components/popout.js similarity index 100% rename from sites/freesewing.shared/components/popout.js rename to sites/shared/components/popout.js diff --git a/sites/freesewing.shared/components/robot/index.js b/sites/shared/components/robot/index.js similarity index 100% rename from sites/freesewing.shared/components/robot/index.js rename to sites/shared/components/robot/index.js diff --git a/sites/freesewing.shared/components/robot/poses.js b/sites/shared/components/robot/poses.js similarity index 100% rename from sites/freesewing.shared/components/robot/poses.js rename to sites/shared/components/robot/poses.js diff --git a/sites/freesewing.shared/components/theme-picker.js b/sites/shared/components/theme-picker.js similarity index 100% rename from sites/freesewing.shared/components/theme-picker.js rename to sites/shared/components/theme-picker.js diff --git a/sites/freesewing.shared/components/web-link.js b/sites/shared/components/web-link.js similarity index 100% rename from sites/freesewing.shared/components/web-link.js rename to sites/shared/components/web-link.js diff --git a/sites/freesewing.shared/components/workbench/default-settings.js b/sites/shared/components/workbench/default-settings.js similarity index 100% rename from sites/freesewing.shared/components/workbench/default-settings.js rename to sites/shared/components/workbench/default-settings.js diff --git a/sites/freesewing.shared/components/workbench/draft/circle/index.js b/sites/shared/components/workbench/draft/circle/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/circle/index.js rename to sites/shared/components/workbench/draft/circle/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/defs/index.js b/sites/shared/components/workbench/draft/defs/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/defs/index.js rename to sites/shared/components/workbench/draft/defs/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/error.js b/sites/shared/components/workbench/draft/error.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/error.js rename to sites/shared/components/workbench/draft/error.js diff --git a/sites/freesewing.shared/components/workbench/draft/index.js b/sites/shared/components/workbench/draft/index.js similarity index 81% rename from sites/freesewing.shared/components/workbench/draft/index.js rename to sites/shared/components/workbench/draft/index.js index 4f1cf42b010..3089077bbed 100644 --- a/sites/freesewing.shared/components/workbench/draft/index.js +++ b/sites/shared/components/workbench/draft/index.js @@ -3,7 +3,7 @@ import Error from './error.js' import Robot from 'shared/components/robot/index.js' const LabDraft = props => { - const { app, draft, pattern, gist, updateGist, unsetGist, feedback } = props + const { app, draft, design, gist, updateGist, unsetGist, feedback } = props if (!draft) return null @@ -12,7 +12,7 @@ const LabDraft = props => { let svg try { svg = draft.render() } catch(error) { - console.log('Failed to render pattern', error) + console.log('Failed to render design', error) return } return
@@ -22,7 +22,7 @@ const LabDraft = props => { let patternProps = {} try { patternProps = draft.getRenderProps() } catch(error) { - console.log('Failed to get render props for pattern', error) + console.log('Failed to get render props for design', error) return } diff --git a/sites/freesewing.shared/components/workbench/draft/part/index.js b/sites/shared/components/workbench/draft/part/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/part/index.js rename to sites/shared/components/workbench/draft/part/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/path/index.js b/sites/shared/components/workbench/draft/path/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/path/index.js rename to sites/shared/components/workbench/draft/path/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/point/index.js b/sites/shared/components/workbench/draft/point/index.js similarity index 98% rename from sites/freesewing.shared/components/workbench/draft/point/index.js rename to sites/shared/components/workbench/draft/point/index.js index 07affd5502c..37a347e0c58 100644 --- a/sites/freesewing.shared/components/workbench/draft/point/index.js +++ b/sites/shared/components/workbench/draft/point/index.js @@ -1,6 +1,6 @@ import Text from '../text' import Circle from '../circle' -import { round, formatMm } from 'shared/utils.js' +import { round, formatMm } from 'shared/utils' const RevealPoint = props => { const r = 15 * props.gist.scale diff --git a/sites/freesewing.shared/components/workbench/draft/snippet/index.js b/sites/shared/components/workbench/draft/snippet/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/snippet/index.js rename to sites/shared/components/workbench/draft/snippet/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/svg-wrapper.js b/sites/shared/components/workbench/draft/svg-wrapper.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/svg-wrapper.js rename to sites/shared/components/workbench/draft/svg-wrapper.js diff --git a/sites/freesewing.shared/components/workbench/draft/svg/index.js b/sites/shared/components/workbench/draft/svg/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/svg/index.js rename to sites/shared/components/workbench/draft/svg/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/text-on-path/index.js b/sites/shared/components/workbench/draft/text-on-path/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/text-on-path/index.js rename to sites/shared/components/workbench/draft/text-on-path/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/text/index.js b/sites/shared/components/workbench/draft/text/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/text/index.js rename to sites/shared/components/workbench/draft/text/index.js diff --git a/sites/freesewing.shared/components/workbench/draft/utils.js b/sites/shared/components/workbench/draft/utils.js similarity index 100% rename from sites/freesewing.shared/components/workbench/draft/utils.js rename to sites/shared/components/workbench/draft/utils.js diff --git a/sites/freesewing.shared/components/workbench/events.js b/sites/shared/components/workbench/events.js similarity index 100% rename from sites/freesewing.shared/components/workbench/events.js rename to sites/shared/components/workbench/events.js diff --git a/sites/freesewing.shared/components/workbench/export.js b/sites/shared/components/workbench/export.js similarity index 91% rename from sites/freesewing.shared/components/workbench/export.js rename to sites/shared/components/workbench/export.js index 23847641cb8..db2d83dc8cf 100644 --- a/sites/freesewing.shared/components/workbench/export.js +++ b/sites/shared/components/workbench/export.js @@ -8,7 +8,7 @@ import yaml from 'js-yaml' import axios from 'axios' import Popout from 'shared/components/popout' import WebLink from 'shared/components/web-link' -import theme from 'pkgs/plugin-theme/src/index.js' +import theme from '@freesewing/plugin-theme' export const exports = { exportForPrinting: ['a4', 'a3', 'a2', 'a1', 'a0', 'letter', 'tabloid'], @@ -16,7 +16,7 @@ export const exports = { exportAsData: ['json', 'yaml', 'github gist'], } -const handleExport = (format, gist, pattern, app, setLink, setFormat) => { +const handleExport = (format, gist, design, app, setLink, setFormat) => { setLink(false) setFormat(format) if (exports.exportAsData.indexOf(format) !== -1) { @@ -28,7 +28,7 @@ const handleExport = (format, gist, pattern, app, setLink, setFormat) => { gist.embed=false let svg = '' try { - svg = new pattern(gist).use(theme).draft().render() + svg = new design(gist).use(theme).draft().render() } catch(err) { console.log(err) } @@ -75,7 +75,7 @@ const exportGithubGist = (data, app, setLink) => { .finally(() => app.stopLoading()) } -const ExportDraft = ({ gist, pattern, app }) => { +const ExportDraft = ({ gist, design, app }) => { const [link, setLink] = useState(false) const [format, setFormat] = useState(false) @@ -101,7 +101,7 @@ const ExportDraft = ({ gist, pattern, app }) => { {exports[type].map(format => ( diff --git a/sites/freesewing.shared/components/workbench/inputs/design-option-count.js b/sites/shared/components/workbench/inputs/design-option-count.js similarity index 97% rename from sites/freesewing.shared/components/workbench/inputs/design-option-count.js rename to sites/shared/components/workbench/inputs/design-option-count.js index bc62080ed13..16c2dc647a9 100644 --- a/sites/freesewing.shared/components/workbench/inputs/design-option-count.js +++ b/sites/shared/components/workbench/inputs/design-option-count.js @@ -27,7 +27,7 @@ const EditCount = props => ( const DesignOptionCount = props => { const { t } = useTranslation(['app']) - const { count, max, min } = props.pattern.config.options[props.option] + const { count, max, min } = props.design.config.options[props.option] const val = (typeof props.gist?.options?.[props.option] === 'undefined') ? count : props.gist.options[props.option] diff --git a/sites/freesewing.shared/components/workbench/inputs/design-option-list.js b/sites/shared/components/workbench/inputs/design-option-list.js similarity index 96% rename from sites/freesewing.shared/components/workbench/inputs/design-option-list.js rename to sites/shared/components/workbench/inputs/design-option-list.js index 746d0a4ebb7..ae9c2ab5df6 100644 --- a/sites/freesewing.shared/components/workbench/inputs/design-option-list.js +++ b/sites/shared/components/workbench/inputs/design-option-list.js @@ -4,7 +4,7 @@ import { useTranslation } from 'next-i18next' const DesignOptionList = props => { const { t } = useTranslation(['app']) - const { dflt, list } = props.pattern.config.options[props.option] + const { dflt, list } = props.design.config.options[props.option] const val = (typeof props.gist?.options?.[props.option] === 'undefined') ? dflt : props.gist.options[props.option] diff --git a/sites/freesewing.shared/components/workbench/inputs/design-option-pct-deg.js b/sites/shared/components/workbench/inputs/design-option-pct-deg.js similarity index 88% rename from sites/freesewing.shared/components/workbench/inputs/design-option-pct-deg.js rename to sites/shared/components/workbench/inputs/design-option-pct-deg.js index 53830a10d6f..1b6174956c0 100644 --- a/sites/freesewing.shared/components/workbench/inputs/design-option-pct-deg.js +++ b/sites/shared/components/workbench/inputs/design-option-pct-deg.js @@ -1,7 +1,7 @@ import { useState } from 'react' -import ClearIcon from 'shared/components/icons/clear.js' -import EditIcon from 'shared/components/icons/edit.js' -import { formatMm, round } from 'shared/utils.js' +import ClearIcon from 'shared/components/icons/clear' +import EditIcon from 'shared/components/icons/edit' +import { formatMm, round } from 'shared/utils' import { useTranslation } from 'next-i18next' const EditOption = props => ( @@ -30,8 +30,8 @@ const DesignOptionPctDeg = props => { const { t } = useTranslation(['app']) const suffix = props.type === 'deg' ? '°' : '%' const factor = props.type === 'deg' ? 1 : 100 - const { max, min } = props.pattern.config.options[props.option] - const dflt = props.pattern.config.options[props.option][props.type || 'pct'] + const { max, min } = props.design.config.options[props.option] + const dflt = props.design.config.options[props.option][props.type || 'pct'] const val = (typeof props.gist?.options?.[props.option] === 'undefined') ? dflt : props.gist.options[props.option] * factor @@ -92,8 +92,8 @@ const DesignOptionPctDeg = props => { />
- {props.pattern.config.options[props.option]?.toAbs - ? formatMm(props.pattern.config.options[props.option].toAbs(value/100, props.gist)) + {props.design.config.options[props.option]?.toAbs + ? formatMm(props.design.config.options[props.option].toAbs(value/100, props.gist)) : ' ' } diff --git a/sites/freesewing.shared/components/workbench/inputs/measurement.js b/sites/shared/components/workbench/inputs/measurement.js similarity index 100% rename from sites/freesewing.shared/components/workbench/inputs/measurement.js rename to sites/shared/components/workbench/inputs/measurement.js diff --git a/sites/freesewing.shared/components/workbench/json.js b/sites/shared/components/workbench/json.js similarity index 100% rename from sites/freesewing.shared/components/workbench/json.js rename to sites/shared/components/workbench/json.js diff --git a/sites/freesewing.shared/components/workbench/layout/cut/index.js b/sites/shared/components/workbench/layout/cut/index.js similarity index 84% rename from sites/freesewing.shared/components/workbench/layout/cut/index.js rename to sites/shared/components/workbench/layout/cut/index.js index 64b94163194..c31869875ac 100644 --- a/sites/freesewing.shared/components/workbench/layout/cut/index.js +++ b/sites/shared/components/workbench/layout/cut/index.js @@ -8,7 +8,7 @@ const CutLayout = props => {

{ - t('layoutThing', { thing: props.pattern.config.name }) + t('layoutThing', { thing: props.design.config.name }) + ': ' + t('forCutting') } diff --git a/sites/freesewing.shared/components/workbench/layout/cut/settings.js b/sites/shared/components/workbench/layout/cut/settings.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/cut/settings.js rename to sites/shared/components/workbench/layout/cut/settings.js diff --git a/sites/freesewing.shared/components/workbench/layout/draft.js b/sites/shared/components/workbench/layout/draft.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/draft.js rename to sites/shared/components/workbench/layout/draft.js diff --git a/sites/freesewing.shared/components/workbench/layout/print/index.js b/sites/shared/components/workbench/layout/print/index.js similarity index 89% rename from sites/freesewing.shared/components/workbench/layout/print/index.js rename to sites/shared/components/workbench/layout/print/index.js index 12235262b8a..8e045a21aba 100644 --- a/sites/freesewing.shared/components/workbench/layout/print/index.js +++ b/sites/shared/components/workbench/layout/print/index.js @@ -15,7 +15,7 @@ const PrintLayout = props => { const { t } = useTranslation(['workbench']) - const draft = new props.pattern(props.gist).use(pluginBuilder( + const draft = new props.design(props.gist).use(pluginBuilder( props.gist?._state?.layout?.forPrinting?.page?.size, props.gist?._state?.layout?.forPrinting?.page?.orientation, )) @@ -32,7 +32,7 @@ const PrintLayout = props => {

{ - t('layoutThing', { thing: props.pattern.config.name }) + t('layoutThing', { thing: props.design.config.name }) + ': ' + t('forPrinting') } diff --git a/sites/freesewing.shared/components/workbench/layout/print/orientation-picker.js b/sites/shared/components/workbench/layout/print/orientation-picker.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/print/orientation-picker.js rename to sites/shared/components/workbench/layout/print/orientation-picker.js diff --git a/sites/freesewing.shared/components/workbench/layout/print/pagesize-picker.js b/sites/shared/components/workbench/layout/print/pagesize-picker.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/print/pagesize-picker.js rename to sites/shared/components/workbench/layout/print/pagesize-picker.js diff --git a/sites/freesewing.shared/components/workbench/layout/print/plugin.js b/sites/shared/components/workbench/layout/print/plugin.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/print/plugin.js rename to sites/shared/components/workbench/layout/print/plugin.js diff --git a/sites/freesewing.shared/components/workbench/layout/print/settings.js b/sites/shared/components/workbench/layout/print/settings.js similarity index 100% rename from sites/freesewing.shared/components/workbench/layout/print/settings.js rename to sites/shared/components/workbench/layout/print/settings.js diff --git a/sites/freesewing.shared/components/workbench/measurements/index.js b/sites/shared/components/workbench/measurements/index.js similarity index 91% rename from sites/freesewing.shared/components/workbench/measurements/index.js rename to sites/shared/components/workbench/measurements/index.js index a370885b15f..244c03fbcaa 100644 --- a/sites/freesewing.shared/components/workbench/measurements/index.js +++ b/sites/shared/components/workbench/measurements/index.js @@ -25,7 +25,7 @@ const icons = { without: , } -const WorkbenchMeasurements = ({ app, pattern, gist, updateGist }) => { +const WorkbenchMeasurements = ({ app, design, gist, updateGist }) => { const { t } = useTranslation(['app', 'cfp']) // Method to handle measurement updates @@ -47,7 +47,7 @@ const WorkbenchMeasurements = ({ app, pattern, gist, updateGist }) => {

- {pattern.config.name}: + {design.config.name}: {t('measurements')}

@@ -88,18 +88,18 @@ const WorkbenchMeasurements = ({ app, pattern, gist, updateGist }) => {

{t('cfp:enterMeasurements')}

- {pattern.config.measurements && ( + {design.config.measurements && ( <>

{t('requiredMeasurements')}

- {pattern.config.measurements.map(m => ( + {design.config.measurements.map(m => ( ))} )} - {pattern.config.optionalMeasurements && ( + {design.config.optionalMeasurements && ( <>

{t('optionalMeasurements')}

- {pattern.config.optionalMeasurements.map(m => ( + {design.config.optionalMeasurements.map(m => ( ))} diff --git a/sites/freesewing.shared/components/workbench/measurements/non-human.js b/sites/shared/components/workbench/measurements/non-human.js similarity index 100% rename from sites/freesewing.shared/components/workbench/measurements/non-human.js rename to sites/shared/components/workbench/measurements/non-human.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-bool.js b/sites/shared/components/workbench/menu/core-settings/core-setting-bool.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-bool.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-bool.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-list.js b/sites/shared/components/workbench/menu/core-settings/core-setting-list.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-list.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-list.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-mm.js b/sites/shared/components/workbench/menu/core-settings/core-setting-mm.js similarity index 95% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-mm.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-mm.js index 9b8f012f882..3371044b03f 100644 --- a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-mm.js +++ b/sites/shared/components/workbench/menu/core-settings/core-setting-mm.js @@ -1,6 +1,6 @@ import { useState } from 'react' -import { formatMm } from 'shared/utils.js' -import ClearIcon from 'shared/components/icons/clear.js' +import { formatMm } from 'shared/utils' +import ClearIcon from 'shared/components/icons/clear' import { useTranslation } from 'next-i18next' const CoreSettingMm = props => { diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-nr.js b/sites/shared/components/workbench/menu/core-settings/core-setting-nr.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-nr.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-nr.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-only.js b/sites/shared/components/workbench/menu/core-settings/core-setting-only.js similarity index 97% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-only.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-only.js index a3b903ee34c..4c3d8baeef5 100644 --- a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-only.js +++ b/sites/shared/components/workbench/menu/core-settings/core-setting-only.js @@ -4,7 +4,7 @@ import { useTranslation } from 'next-i18next' const CoreSettingOnly = props => { const { t } = useTranslation(['app', 'parts', 'settings']) - const list = props.pattern.config.draftOrder + const list = props.design.config.draftOrder const partNames = list.map(part => ({ id: part, name: t(`parts:${part}`) })) const togglePart = part => { diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-sa-bool.js b/sites/shared/components/workbench/menu/core-settings/core-setting-sa-bool.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-sa-bool.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-sa-bool.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-sa-mm.js b/sites/shared/components/workbench/menu/core-settings/core-setting-sa-mm.js similarity index 95% rename from sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-sa-mm.js rename to sites/shared/components/workbench/menu/core-settings/core-setting-sa-mm.js index f4104c88fd8..8c0da90b45f 100644 --- a/sites/freesewing.shared/components/workbench/menu/core-settings/core-setting-sa-mm.js +++ b/sites/shared/components/workbench/menu/core-settings/core-setting-sa-mm.js @@ -1,6 +1,6 @@ import { useState } from 'react' -import { formatMm } from 'shared/utils.js' -import ClearIcon from 'shared/components/icons/clear.js' +import { formatMm } from 'shared/utils' +import ClearIcon from 'shared/components/icons/clear' import { useTranslation } from 'next-i18next' const CoreSettingMm = props => { diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/index.js b/sites/shared/components/workbench/menu/core-settings/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/core-settings/index.js rename to sites/shared/components/workbench/menu/core-settings/index.js diff --git a/sites/freesewing.shared/components/workbench/menu/core-settings/setting.js b/sites/shared/components/workbench/menu/core-settings/setting.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/core-settings/setting.js rename to sites/shared/components/workbench/menu/core-settings/setting.js index fe33a221193..d60a61c30fd 100644 --- a/sites/freesewing.shared/components/workbench/menu/core-settings/setting.js +++ b/sites/shared/components/workbench/menu/core-settings/setting.js @@ -1,14 +1,14 @@ -import { Chevron } from 'shared/components/navigation/primary.js' +import { Chevron } from 'shared/components/navigation/primary' import PctDegOption from 'shared/components/workbench/inputs/design-option-pct-deg' import ListSetting from './core-setting-list' import OnlySetting from './core-setting-only' import MmSetting from './core-setting-mm' import NrSetting from './core-setting-nr' -import BoolSetting from './core-setting-bool.js' -import SaBoolSetting from './core-setting-sa-bool.js' -import SaMmSetting from './core-setting-sa-mm.js' -import { formatMm } from 'shared/utils.js' -import { SecText, Li, Details, Summary, SumDiv, Deg } from 'shared/components/workbench/menu/index.js' +import BoolSetting from './core-setting-bool' +import SaBoolSetting from './core-setting-sa-bool' +import SaMmSetting from './core-setting-sa-mm' +import { formatMm } from 'shared/utils' +import { SecText, Li, Details, Summary, SumDiv, Deg } from 'shared/components/workbench/menu/index' import { useTranslation } from 'next-i18next' const settings = { diff --git a/sites/freesewing.shared/components/workbench/menu/design-options/index.js b/sites/shared/components/workbench/menu/design-options/index.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/design-options/index.js rename to sites/shared/components/workbench/menu/design-options/index.js index ee7a13ebb04..2a78ebcdd80 100644 --- a/sites/freesewing.shared/components/workbench/menu/design-options/index.js +++ b/sites/shared/components/workbench/menu/design-options/index.js @@ -14,7 +14,7 @@ const DesignOptions = props => {
    - {Object.keys(props.pattern.config.optionGroups).map(group => ( + {Object.keys(props.design.config.optionGroups).map(group => ( ))}
diff --git a/sites/freesewing.shared/components/workbench/menu/design-options/option-group.js b/sites/shared/components/workbench/menu/design-options/option-group.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/design-options/option-group.js rename to sites/shared/components/workbench/menu/design-options/option-group.js index d3c47e7aa18..71628691f77 100644 --- a/sites/freesewing.shared/components/workbench/menu/design-options/option-group.js +++ b/sites/shared/components/workbench/menu/design-options/option-group.js @@ -5,7 +5,7 @@ import { useTranslation } from 'next-i18next' const OptionGroup = props => { const { t } = useTranslation(['optiongroups']) - const config = props.config || props.pattern.config.optionGroups[props.group] + const config = props.config || props.design.config.optionGroups[props.group] return (
  • diff --git a/sites/freesewing.shared/components/workbench/menu/design-options/option-input.js b/sites/shared/components/workbench/menu/design-options/option-input.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/design-options/option-input.js rename to sites/shared/components/workbench/menu/design-options/option-input.js diff --git a/sites/freesewing.shared/components/workbench/menu/design-options/option-value.js b/sites/shared/components/workbench/menu/design-options/option-value.js similarity index 75% rename from sites/freesewing.shared/components/workbench/menu/design-options/option-value.js rename to sites/shared/components/workbench/menu/design-options/option-value.js index c0ab7cd160e..a92966dc535 100644 --- a/sites/freesewing.shared/components/workbench/menu/design-options/option-value.js +++ b/sites/shared/components/workbench/menu/design-options/option-value.js @@ -1,20 +1,20 @@ import { useTranslation } from 'next-i18next' -import { formatMm, formatPercentage} from 'shared/utils.js' +import { formatMm, formatPercentage} from 'shared/utils' export const values = { pct: props => { const val = (typeof props.gist?.options?.[props.option] === 'undefined') - ? props.pattern.config.options[props.option].pct/100 + ? props.design.config.options[props.option].pct/100 : props.gist.options[props.option] return ( {formatPercentage(val)} - {props.pattern.config.options[props.option]?.toAbs - ? ' | ' +formatMm(props.pattern.config.options[props.option]?.toAbs(val, props.gist)) + {props.design.config.options[props.option]?.toAbs + ? ' | ' +formatMm(props.design.config.options[props.option]?.toAbs(val, props.gist)) : null } @@ -22,7 +22,7 @@ export const values = { }, bool: props => { const { t } = useTranslation(['app']) - const dflt = props.pattern.config.options[props.option].bool + const dflt = props.design.config.options[props.option].bool let current = props.gist?.options?.[props.option] current = current === undefined ? dflt : current; return ( @@ -39,14 +39,14 @@ export const values = { ) }, count: props => { - const dflt = props.pattern.config.options[props.option].count + const dflt = props.design.config.options[props.option].count const current = props.gist?.options?.[props.option] return (dflt==current || typeof current === 'undefined') ? ({dflt}) : ({current}) }, list: props => { - const dflt = props.pattern.config.options[props.option].dflt + const dflt = props.design.config.options[props.option].dflt const current = props.gist?.options?.[props.option] const prefix = `${props.option}.o.` return (dflt==current || typeof current === 'undefined') @@ -54,7 +54,7 @@ export const values = { : ({props.t(prefix+current)}) }, deg: props => { - const dflt = props.pattern.config.options[props.option].deg + const dflt = props.design.config.options[props.option].deg const current = props.gist?.options?.[props.option] return (dflt==current || typeof current === 'undefined') ? ({dflt}°) diff --git a/sites/freesewing.shared/components/workbench/menu/design-options/option.js b/sites/shared/components/workbench/menu/design-options/option.js similarity index 83% rename from sites/freesewing.shared/components/workbench/menu/design-options/option.js rename to sites/shared/components/workbench/menu/design-options/option.js index 348866676b9..74d5ebd1ce9 100644 --- a/sites/freesewing.shared/components/workbench/menu/design-options/option.js +++ b/sites/shared/components/workbench/menu/design-options/option.js @@ -1,13 +1,13 @@ -import { Chevron } from 'shared/components/navigation/primary.js' -import { optionType } from 'shared/utils.js' +import { Chevron } from 'shared/components/navigation/primary' +import { optionType } from 'shared/utils' import { Li, Ul, Details, Summary, SumButton, SumDiv, Deg } from 'shared/components/workbench/menu' import { useTranslation } from 'next-i18next' -import {values} from 'shared/components/workbench/menu/design-options/option-value'; -import {inputs} from 'shared/components/workbench/menu/design-options/option-input'; +import {values} from 'shared/components/workbench/menu/design-options/option-value' +import {inputs} from 'shared/components/workbench/menu/design-options/option-input' const Option = props => { - const { t } = useTranslation([`o_${props.pattern.config.name}`]) - const opt = props.pattern.config.options[props.option]; + const { t } = useTranslation([`o_${props.design.config.name}`]) + const opt = props.design.config.options[props.option]; const type = optionType(opt) const Input = inputs[type] const Value = values[type] diff --git a/sites/freesewing.shared/components/workbench/menu/index.js b/sites/shared/components/workbench/menu/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/index.js rename to sites/shared/components/workbench/menu/index.js diff --git a/sites/freesewing.shared/components/workbench/menu/test-design-options/index.js b/sites/shared/components/workbench/menu/test-design-options/index.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/test-design-options/index.js rename to sites/shared/components/workbench/menu/test-design-options/index.js index 8d46c8f4eb2..499cc8a5590 100644 --- a/sites/freesewing.shared/components/workbench/menu/test-design-options/index.js +++ b/sites/shared/components/workbench/menu/test-design-options/index.js @@ -14,7 +14,7 @@ const DesignOptions = props => {
      - {Object.keys(props.pattern.config.optionGroups).map(group => ( + {Object.keys(props.design.config.optionGroups).map(group => ( ))}
    diff --git a/sites/freesewing.shared/components/workbench/menu/test-design-options/option-group.js b/sites/shared/components/workbench/menu/test-design-options/option-group.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/test-design-options/option-group.js rename to sites/shared/components/workbench/menu/test-design-options/option-group.js index 71250816236..ade29d4a2ed 100644 --- a/sites/freesewing.shared/components/workbench/menu/test-design-options/option-group.js +++ b/sites/shared/components/workbench/menu/test-design-options/option-group.js @@ -6,7 +6,7 @@ import { useTranslation } from 'next-i18next' const OptionGroup = props => { const { t } = useTranslation(['optiongroups']) - const config = props.config || props.pattern.config.optionGroups[props.group] + const config = props.config || props.design.config.optionGroups[props.group] return (
  • diff --git a/sites/freesewing.shared/components/workbench/menu/test-design-options/option-sub-group.js b/sites/shared/components/workbench/menu/test-design-options/option-sub-group.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/test-design-options/option-sub-group.js rename to sites/shared/components/workbench/menu/test-design-options/option-sub-group.js diff --git a/sites/freesewing.shared/components/workbench/menu/test-design-options/option.js b/sites/shared/components/workbench/menu/test-design-options/option.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/test-design-options/option.js rename to sites/shared/components/workbench/menu/test-design-options/option.js index 941e6888df9..1caacd6cbd7 100644 --- a/sites/freesewing.shared/components/workbench/menu/test-design-options/option.js +++ b/sites/shared/components/workbench/menu/test-design-options/option.js @@ -29,7 +29,7 @@ const SumDiv = (props) => ( ) const Option = props => { - const { t } = useTranslation([`o_${props.pattern.config.name}`, 'workbench']) + const { t } = useTranslation([`o_${props.design.config.name}`, 'workbench']) const active = ( props.gist.sample?.type === 'option' && props.gist.sample?.option === props.option @@ -56,7 +56,7 @@ const Option = props => { {active ? : °} - {t(`o_${props.pattern.config.name}:${props.option}.t`)} + {t(`o_${props.design.config.name}:${props.option}.t`)} diff --git a/sites/freesewing.shared/components/workbench/menu/view.js b/sites/shared/components/workbench/menu/view.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/view.js rename to sites/shared/components/workbench/menu/view.js index e83938b38c7..6a3b8fd05e8 100644 --- a/sites/freesewing.shared/components/workbench/menu/view.js +++ b/sites/shared/components/workbench/menu/view.js @@ -12,29 +12,29 @@ const View = props => { }, { name: 'draft', - title: t('draftPattern', { pattern: props.pattern.config.name }), + title: t('draftDesign', { design: props.design.config.name }), onClick: () => props.updateGist(['_state', 'view'], 'draft', true) }, { name: 'test', - title: t('testPattern', { pattern: props.pattern.config.name }), + title: t('testDesign', { design: props.design.config.name }), onClick: () => props.updateGist(['_state', 'view'], 'test', true) }, { name: 'printingLayout', - title: t('layoutThing', { thing: props.pattern.config.name }) + title: t('layoutThing', { thing: props.design.config.name }) + ': ' + t('forPrinting'), onClick: () => props.updateGist(['_state', 'view'], 'printingLayout', true) }, { name: 'cuttingLayout', - title: t('layoutThing', { thing: props.pattern.config.name }) + title: t('layoutThing', { thing: props.design.config.name }) + ': ' + t('forCutting'), onClick: () => props.updateGist(['_state', 'view'], 'cuttingLayout', true) }, { name: 'export', - title: t('exportThing', { thing: props.pattern.config.name }), + title: t('exportThing', { thing: props.design.config.name }), onClick: () => props.updateGist(['_state', 'view'], 'export', true) }, { diff --git a/sites/freesewing.shared/components/workbench/menu/xray/attributes.js b/sites/shared/components/workbench/menu/xray/attributes.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/xray/attributes.js rename to sites/shared/components/workbench/menu/xray/attributes.js index 92a1608f2aa..9503491e631 100644 --- a/sites/freesewing.shared/components/workbench/menu/xray/attributes.js +++ b/sites/shared/components/workbench/menu/xray/attributes.js @@ -1,6 +1,6 @@ -import { Chevron } from 'shared/components/navigation/primary.js' +import { Chevron } from 'shared/components/navigation/primary' import { Ul, Li, Details, Summary, SumDiv, NoSumDiv, Deg } from 'shared/components/workbench/menu' -import { round } from 'shared/utils.js' +import { round } from 'shared/utils' const XrayAttributes = ({ attr=false, t }) => { if (!attr || !attr.list || Object.keys(attr.list).length < 1) return null diff --git a/sites/freesewing.shared/components/workbench/menu/xray/disable.js b/sites/shared/components/workbench/menu/xray/disable.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/xray/disable.js rename to sites/shared/components/workbench/menu/xray/disable.js diff --git a/sites/freesewing.shared/components/workbench/menu/xray/index.js b/sites/shared/components/workbench/menu/xray/index.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/xray/index.js rename to sites/shared/components/workbench/menu/xray/index.js diff --git a/sites/freesewing.shared/components/workbench/menu/xray/list.js b/sites/shared/components/workbench/menu/xray/list.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/xray/list.js rename to sites/shared/components/workbench/menu/xray/list.js diff --git a/sites/freesewing.shared/components/workbench/menu/xray/log.js b/sites/shared/components/workbench/menu/xray/log.js similarity index 95% rename from sites/freesewing.shared/components/workbench/menu/xray/log.js rename to sites/shared/components/workbench/menu/xray/log.js index 00ac51d17a7..7b2430a1b5d 100644 --- a/sites/freesewing.shared/components/workbench/menu/xray/log.js +++ b/sites/shared/components/workbench/menu/xray/log.js @@ -15,7 +15,7 @@ const ConsoleLog = props => ( {['config', 'gist', 'draft'].map(it => (
  • console.log(it === 'config' - ? props.pattern.config + ? props.design.config : props[it] )}> diff --git a/sites/freesewing.shared/components/workbench/menu/xray/path-ops.js b/sites/shared/components/workbench/menu/xray/path-ops.js similarity index 91% rename from sites/freesewing.shared/components/workbench/menu/xray/path-ops.js rename to sites/shared/components/workbench/menu/xray/path-ops.js index 2b0399b404b..1710e3b01f4 100644 --- a/sites/freesewing.shared/components/workbench/menu/xray/path-ops.js +++ b/sites/shared/components/workbench/menu/xray/path-ops.js @@ -1,7 +1,7 @@ -import { Chevron } from 'shared/components/navigation/primary.js' +import { Chevron } from 'shared/components/navigation/primary' import { Ul, Li, Details, Summary, SumDiv, NoSumDiv, Deg } from 'shared/components/workbench/menu' -import { round } from 'shared/utils.js' -import Point from './point.js' +import { round } from 'shared/utils' +import Point from './point' const MoveLine = ({ op }) => const Curve = ({ op }) => ['cp1', 'cp2', 'to'].map(pnt => ( diff --git a/sites/freesewing.shared/components/workbench/menu/xray/path.js b/sites/shared/components/workbench/menu/xray/path.js similarity index 87% rename from sites/freesewing.shared/components/workbench/menu/xray/path.js rename to sites/shared/components/workbench/menu/xray/path.js index d62a4aaa012..dae5bddbce5 100644 --- a/sites/freesewing.shared/components/workbench/menu/xray/path.js +++ b/sites/shared/components/workbench/menu/xray/path.js @@ -1,7 +1,7 @@ import { Ul, Li, Details, Summary, NoSumDiv, Deg } from 'shared/components/workbench/menu' -import { formatMm } from 'shared/utils.js' -import Attributes from './attributes.js' -import Ops from './path-ops.js' +import { formatMm } from 'shared/utils' +import Attributes from './attributes' +import Ops from './path-ops' const XrayPath = ({ pathName, partName, draft, t, units }) => { const path = draft?.parts?.[partName]?.paths?.[pathName] diff --git a/sites/freesewing.shared/components/workbench/menu/xray/point.js b/sites/shared/components/workbench/menu/xray/point.js similarity index 88% rename from sites/freesewing.shared/components/workbench/menu/xray/point.js rename to sites/shared/components/workbench/menu/xray/point.js index 4b6c6345b77..19c35bd2432 100644 --- a/sites/freesewing.shared/components/workbench/menu/xray/point.js +++ b/sites/shared/components/workbench/menu/xray/point.js @@ -1,6 +1,6 @@ import { Ul, Li, Details, Summary, NoSumDiv, Deg } from 'shared/components/workbench/menu' -import { round } from 'shared/utils.js' -import Attributes from './attributes.js' +import { round } from 'shared/utils' +import Attributes from './attributes' const XrayPoint = ({ pointName, partName, draft, t }) => { const point = draft?.parts?.[partName]?.points?.[pointName] diff --git a/sites/freesewing.shared/components/workbench/menu/xray/reset.js b/sites/shared/components/workbench/menu/xray/reset.js similarity index 100% rename from sites/freesewing.shared/components/workbench/menu/xray/reset.js rename to sites/shared/components/workbench/menu/xray/reset.js diff --git a/sites/freesewing.shared/components/workbench/preload.js b/sites/shared/components/workbench/preload.js similarity index 100% rename from sites/freesewing.shared/components/workbench/preload.js rename to sites/shared/components/workbench/preload.js diff --git a/sites/freesewing.shared/components/workbench/sample.js b/sites/shared/components/workbench/sample.js similarity index 100% rename from sites/freesewing.shared/components/workbench/sample.js rename to sites/shared/components/workbench/sample.js diff --git a/sites/freesewing.shared/components/workbench/yaml.js b/sites/shared/components/workbench/yaml.js similarity index 100% rename from sites/freesewing.shared/components/workbench/yaml.js rename to sites/shared/components/workbench/yaml.js diff --git a/sites/freesewing.shared/components/worm.js b/sites/shared/components/worm.js similarity index 100% rename from sites/freesewing.shared/components/worm.js rename to sites/shared/components/worm.js diff --git a/sites/freesewing.shared/components/wrappers/img.js b/sites/shared/components/wrappers/img.js similarity index 100% rename from sites/freesewing.shared/components/wrappers/img.js rename to sites/shared/components/wrappers/img.js diff --git a/sites/freesewing.shared/components/wrappers/mdx.js b/sites/shared/components/wrappers/mdx.js similarity index 100% rename from sites/freesewing.shared/components/wrappers/mdx.js rename to sites/shared/components/wrappers/mdx.js diff --git a/sites/freesewing.shared/components/wrappers/page.js b/sites/shared/components/wrappers/page.js similarity index 100% rename from sites/freesewing.shared/components/wrappers/page.js rename to sites/shared/components/wrappers/page.js diff --git a/sites/freesewing.shared/components/wrappers/toc.js b/sites/shared/components/wrappers/toc.js similarity index 100% rename from sites/freesewing.shared/components/wrappers/toc.js rename to sites/shared/components/wrappers/toc.js diff --git a/sites/freesewing.shared/components/wrappers/workbench.js b/sites/shared/components/wrappers/workbench.js similarity index 82% rename from sites/freesewing.shared/components/wrappers/workbench.js rename to sites/shared/components/wrappers/workbench.js index 24594260cca..cbb33565890 100644 --- a/sites/freesewing.shared/components/wrappers/workbench.js +++ b/sites/shared/components/wrappers/workbench.js @@ -6,7 +6,7 @@ import set from 'lodash.set' import unset from 'lodash.unset' import defaultSettings from 'shared/components/workbench/default-settings.js' import DraftError from 'shared/components/workbench/draft/error.js' -import theme from 'pkgs/plugin-theme/src/index.js' +import theme from '@freesewing/plugin-theme' import preloaders from 'shared/components/workbench/preload.js' // Views @@ -33,11 +33,11 @@ const views = { welcome: () =>

    TODO

    , } -// Generates a default pattern gist to start from -const defaultGist = (pattern, locale='en') => { +// Generates a default design gist to start from +const defaultGist = (design, locale='en') => { const gist = { - design: pattern.config.name, - version: pattern.config.version, + design: design.config.name, + version: design.config.version, ...defaultSettings } if (locale) gist.locale = locale @@ -45,8 +45,8 @@ const defaultGist = (pattern, locale='en') => { return gist } -const hasRequiredMeasurements = (pattern, gist) => { - for (const m of pattern.config.measurements) { +const hasRequiredMeasurements = (design, gist) => { + for (const m of design.config.measurements) { if (!gist?.measurements?.[m]) return false } @@ -58,10 +58,10 @@ const hasRequiredMeasurements = (pattern, gist) => { * keeping the gist state, which will trickle down * to all workbench subcomponents */ -const WorkbenchWrapper = ({ app, pattern, preload=false, from=false, layout=false }) => { +const WorkbenchWrapper = ({ app, design, preload=false, from=false, layout=false }) => { // State for gist - const [gist, setGist, ready] = useLocalStorage(`${pattern.config.name}_gist`, defaultGist(pattern, app.locale)) + const [gist, setGist, ready] = useLocalStorage(`${design.config.name}_gist`, defaultGist(design, app.locale)) const [messages, setMessages] = useState([]) // If we don't have the required measurements, @@ -69,7 +69,7 @@ const WorkbenchWrapper = ({ app, pattern, preload=false, from=false, layout=fals useEffect(() => { if ( ready && gist?._state?.view !== 'measurements' - && !hasRequiredMeasurements(pattern, gist) + && !hasRequiredMeasurements(design, gist) ) updateGist(['_state', 'view'], 'measurements') }, [ready]) @@ -77,7 +77,7 @@ const WorkbenchWrapper = ({ app, pattern, preload=false, from=false, layout=fals useEffect(() => { const doPreload = async () => { if (preload && from && preloaders[from]) { - const g = await preloaders[from](preload, pattern) + const g = await preloaders[from](preload, design) setGist({ ...gist, ...g.settings }) } } @@ -112,19 +112,19 @@ const WorkbenchWrapper = ({ app, pattern, preload=false, from=false, layout=fals // Generate the draft here so we can pass it down let draft = false if (['draft', 'events', 'test'].indexOf(gist?._state?.view) !== -1) { - draft = new pattern(gist) + draft = new design(gist) if (gist.renderer === 'svg') draft.use(theme) try { if (gist._state.view !== 'test') draft.draft() } catch(error) { - console.log('Failed to draft pattern', error) + console.log('Failed to draft design', error) return } } // Props to pass down - const componentProps = { app, pattern, gist, updateGist, unsetGist, setGist, draft, feedback } + const componentProps = { app, design, gist, updateGist, unsetGist, setGist, draft, feedback } // Required props for layout const layoutProps = { app: app, diff --git a/sites/freesewing.shared/components/yaml.js b/sites/shared/components/yaml.js similarity index 100% rename from sites/freesewing.shared/components/yaml.js rename to sites/shared/components/yaml.js diff --git a/sites/shared/config/freesewing.mjs b/sites/shared/config/freesewing.mjs new file mode 100644 index 00000000000..5ed1f421f21 --- /dev/null +++ b/sites/shared/config/freesewing.mjs @@ -0,0 +1,58 @@ +/* URL to strapi for blog, showcase, and newsletter posts */ +export const strapiHost = 'https://posts.freesewing.org' + +/* URL to FreeSewing's monorepo on Github */ +export const monorepo = 'https://github.com/freesewing/freesewing' + +/* Default theme */ +export const defaultTheme = 'light' + +/* A list of all measurements used by FreeSewing */ +export const measurements = [ + 'ankle', + 'biceps', + 'bustFront', + 'bustPointToUnderbust', + 'bustSpan', + 'chest', + 'crossSeam', + 'crossSeamFront', + 'crotchDepth', + 'heel', + 'head', + 'highBust', + 'highBustFront', + 'hips', + 'hpsToBust', + 'hpsToWaistBack', + 'hpsToWaistFront', + 'inseam', + 'knee', + 'neck', + 'seat', + 'seatBack', + 'shoulderSlope', + 'shoulderToElbow', + 'shoulderToShoulder', + 'shoulderToWrist', + 'underbust', + 'upperLeg', + 'waist', + 'waistBack', + 'waistToArmhole', + 'waistToFloor', + 'waistToHips', + 'waistToKnee', + 'waistToSeat', + 'waistToUnderbust', + 'waistToUpperLeg', + 'wrist', +] + +/* A list of measurments that are degrees (rather than mm) */ +export const degreeMeasurements = ['shoulderSlope'] + +/* Helper method to determine whether a measurement uses degrees */ +export const isDegreeMeasurement = (measie) => degreeMeasurements.indexOf(measie) !== -1 + + diff --git a/sites/freesewing.shared/config/i18n.config.mjs b/sites/shared/config/i18n.config.mjs similarity index 100% rename from sites/freesewing.shared/config/i18n.config.mjs rename to sites/shared/config/i18n.config.mjs diff --git a/sites/shared/config/measurements.js b/sites/shared/config/measurements.js new file mode 100644 index 00000000000..5661ab1367e --- /dev/null +++ b/sites/shared/config/measurements.js @@ -0,0 +1,4 @@ +import { measurements, degreeMeasurements, isDegreeMeasurement } from '../../../config/measurements.mjs' + +// Just re-export config that's repo-wide +export { measurements, degreeMeasurements, isDegreeMeasurement } diff --git a/sites/freesewing.shared/config/next.mjs b/sites/shared/config/next.mjs similarity index 60% rename from sites/freesewing.shared/config/next.mjs rename to sites/shared/config/next.mjs index 063e9d46477..4719ea8394d 100644 --- a/sites/freesewing.shared/config/next.mjs +++ b/sites/shared/config/next.mjs @@ -1,6 +1,7 @@ import path from 'path' import { readdirSync } from 'fs' import remarkGfm from 'remark-gfm' +import { designs, plugins, packages } from '../../../config/software/index.mjs' const getDirectories = source => readdirSync(source, { withFileTypes: true }) @@ -64,14 +65,32 @@ const config = (site, remarkPlugins=[]) => ({ } }) + // Suppress warnings about importing version from package.json + // We'll deal with it in v3 of FreeSewing + config.ignoreWarnings = [ + /only default export is available soon/ + ] + // Aliases - config.resolve.alias.shared = path.resolve('../freesewing.shared/') - config.resolve.alias.site = path.resolve(`../freesewing.${site}/`) + config.resolve.alias.shared = path.resolve('../shared/') + config.resolve.alias.site = path.resolve(`../${site}/`) config.resolve.alias.markdown = path.resolve(`../../markdown/${site}/`) - config.resolve.alias.pkgs = path.resolve(`../`) - // This forces webpack to load the code from source, rather than compiled bundle - for (const pkg of pkgs) { - config.resolve.alias[`@freesewing/${pkg}$`] = path.resolve(`../${pkg}/src/index.js`) + config.resolve.alias.config = path.resolve('../../config/') + config.resolve.alias.designs = path.resolve('../../designs/') + config.resolve.alias.plugins = path.resolve('../../plugins/') + config.resolve.alias.pkgs = path.resolve('../../packages/') + + // Load designs from source, rather than compiled package + for (const design in designs) { + config.resolve.alias[`@freesewing/${design}$`] = path.resolve(`../../designs/${design}/src/index.js`) + } + // Load plugins from source, rather than compiled package + for (const plugin in plugins) { + config.resolve.alias[`@freesewing/${plugin}$`] = path.resolve(`../../plugins/${plugin}/src/index.js`) + } + // Load these from source, rather than compiled package + for (const pkg of ['core', 'config-helpers', 'i18n', 'models']) { + config.resolve.alias[`@freesewing/${pkg}$`] = path.resolve(`../../packages/${pkg}/src/index.js`) } return config diff --git a/sites/freesewing.shared/config/postcss.config.js b/sites/shared/config/postcss.config.js similarity index 100% rename from sites/freesewing.shared/config/postcss.config.js rename to sites/shared/config/postcss.config.js diff --git a/sites/freesewing.shared/config/tailwind.config.js b/sites/shared/config/tailwind.config.js similarity index 91% rename from sites/freesewing.shared/config/tailwind.config.js rename to sites/shared/config/tailwind.config.js index b39219adb80..b4e2cb31163 100644 --- a/sites/freesewing.shared/config/tailwind.config.js +++ b/sites/shared/config/tailwind.config.js @@ -8,7 +8,7 @@ module.exports = { './components/*.js', './components/**/*.js', './page-templates/*.js', - '../freesewing.shared/components/**/*.js', + '../shared/components/**/*.js', ], plugins: [require('daisyui'), require('tailwindcss/nesting')], daisyui: { diff --git a/sites/freesewing.shared/designs/index.js b/sites/shared/designs/index.js similarity index 100% rename from sites/freesewing.shared/designs/index.js rename to sites/shared/designs/index.js diff --git a/sites/freesewing.shared/hooks/useLocalStorage.js b/sites/shared/hooks/useLocalStorage.js similarity index 100% rename from sites/freesewing.shared/hooks/useLocalStorage.js rename to sites/shared/hooks/useLocalStorage.js diff --git a/sites/freesewing.shared/hooks/useTheme.js b/sites/shared/hooks/useTheme.js similarity index 100% rename from sites/freesewing.shared/hooks/useTheme.js rename to sites/shared/hooks/useTheme.js diff --git a/sites/freesewing.shared/mdx/compiler.js b/sites/shared/mdx/compiler.js similarity index 100% rename from sites/freesewing.shared/mdx/compiler.js rename to sites/shared/mdx/compiler.js diff --git a/sites/freesewing.shared/mdx/loader.js b/sites/shared/mdx/loader.js similarity index 96% rename from sites/freesewing.shared/mdx/loader.js rename to sites/shared/mdx/loader.js index d8583fe4f95..d217d58145a 100644 --- a/sites/freesewing.shared/mdx/loader.js +++ b/sites/shared/mdx/loader.js @@ -46,7 +46,7 @@ const mdxLoader = async (language, site, slug) => { [ remarkCopyLinkedFiles, { - destinationDir: path.resolve(`../freesewing.${site}/public/mdx`), + destinationDir: path.resolve(`../${site}/public/mdx`), sourceDir: path.resolve(`../../markdown/${site}/${slug}`), staticPath: '/mdx/', } diff --git a/sites/freesewing.shared/mdx/mdx-plugin-toc.mjs b/sites/shared/mdx/mdx-plugin-toc.mjs similarity index 100% rename from sites/freesewing.shared/mdx/mdx-plugin-toc.mjs rename to sites/shared/mdx/mdx-plugin-toc.mjs diff --git a/sites/freesewing.shared/mdx/remark-intro-plugin.mjs b/sites/shared/mdx/remark-intro-plugin.mjs similarity index 100% rename from sites/freesewing.shared/mdx/remark-intro-plugin.mjs rename to sites/shared/mdx/remark-intro-plugin.mjs diff --git a/sites/freesewing.shared/package.json b/sites/shared/package.json similarity index 94% rename from sites/freesewing.shared/package.json rename to sites/shared/package.json index 6c5bfb6e87b..483837f2751 100644 --- a/sites/freesewing.shared/package.json +++ b/sites/shared/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "next dev -p 3002", "develop": "next dev -p 3002", - "prebuild": "SITE=dev LANG=en node ../freesewing.shared/prebuild/index.mjs", + "prebuild": "SITE=dev LANG=en node ../shared/prebuild/index.mjs", "build": "next build", "export": "next build && next export", "start": "next start -p 3002", diff --git a/sites/freesewing.shared/prebuild/contributors.mjs b/sites/shared/prebuild/contributors.mjs similarity index 86% rename from sites/freesewing.shared/prebuild/contributors.mjs rename to sites/shared/prebuild/contributors.mjs index 743399747b7..fb73ffc83a3 100644 --- a/sites/freesewing.shared/prebuild/contributors.mjs +++ b/sites/shared/prebuild/contributors.mjs @@ -18,7 +18,7 @@ export const prebuildContributors = async(site) => { // Write to json fs.writeFileSync( - path.resolve('..', `freesewing.${site}`, 'prebuild', `allcontributors.js`), + path.resolve('..', site, 'prebuild', `allcontributors.js`), `export default ${JSON.stringify(contributors.contributors, null ,2)}` ) } diff --git a/sites/freesewing.shared/prebuild/feed.mjs b/sites/shared/prebuild/feed.mjs similarity index 91% rename from sites/freesewing.shared/prebuild/feed.mjs rename to sites/shared/prebuild/feed.mjs index 62492fe93b3..8ae31306113 100644 --- a/sites/freesewing.shared/prebuild/feed.mjs +++ b/sites/shared/prebuild/feed.mjs @@ -57,6 +57,18 @@ const i18n = { showcase: { } }, + dev: { + blog: { + en: { + title: "Feed Title", + description: "This is my personal feed!", + id: "http://example.com/", + link: "http://example.com/", + language: "en", + copyright: "All rights reserved 2013, John Doe", + }, + } + } } const postBody = async markdown => String(await unified() @@ -118,7 +130,7 @@ export const writeFeed = async (site, type, lang, posts) => { for (const [file, content] of Object.entries(files)) { console.log(`Writing feed: ${file}`) fs.writeFileSync( - path.resolve('..', `freesewing.${site}`, 'public', 'feeds', file), + path.resolve('..', site, 'public', 'feeds', file), content ) } diff --git a/sites/freesewing.shared/prebuild/i18n-only.mjs b/sites/shared/prebuild/i18n-only.mjs similarity index 100% rename from sites/freesewing.shared/prebuild/i18n-only.mjs rename to sites/shared/prebuild/i18n-only.mjs diff --git a/sites/freesewing.shared/prebuild/i18n.mjs b/sites/shared/prebuild/i18n.mjs similarity index 89% rename from sites/freesewing.shared/prebuild/i18n.mjs rename to sites/shared/prebuild/i18n.mjs index 44efaa601a5..c8363c75658 100644 --- a/sites/freesewing.shared/prebuild/i18n.mjs +++ b/sites/shared/prebuild/i18n.mjs @@ -1,13 +1,13 @@ import path from 'path' import fs from 'fs' -import { en, de, es, fr, nl, languages } from '../../i18n/src/next.mjs' +import { en, de, es, fr, nl, languages } from '../../../packages/i18n/src/next.mjs' const locales = { en, de, es, fr, nl } const writeJson = (site, locale, namespace, content) => fs.writeFileSync( path.resolve( '..', - `freesewing.${site}`, + site, 'public', 'locales', locale, diff --git a/sites/freesewing.shared/prebuild/index.mjs b/sites/shared/prebuild/index.mjs similarity index 100% rename from sites/freesewing.shared/prebuild/index.mjs rename to sites/shared/prebuild/index.mjs diff --git a/sites/freesewing.shared/prebuild/lab.mjs b/sites/shared/prebuild/lab.mjs similarity index 70% rename from sites/freesewing.shared/prebuild/lab.mjs rename to sites/shared/prebuild/lab.mjs index bc15aa829c5..10ab99e6ceb 100644 --- a/sites/freesewing.shared/prebuild/lab.mjs +++ b/sites/shared/prebuild/lab.mjs @@ -1,6 +1,7 @@ import fs_ from 'fs' import path from 'path' import axios from 'axios' +import { designsByType } from '../../../config/software/index.mjs' const fs = fs_.promises @@ -11,7 +12,7 @@ const header = `/* * * If you want to make changes, update the pageTemplate in: * - * packages/freesewing.shared/prebuild/lab.mjs + * sites/shared/prebuild/lab.mjs * */ ` @@ -30,11 +31,11 @@ const loadFromUnpkg = (design, version) => { } const pageTemplate = design => `${header} -import pattern from 'pkgs/${design}/src/index.js' +import design from 'designs/${design}/src/index.js' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import PageTemplate from 'site/page-templates/workbench.js' -const Page = (props) => +const Page = (props) => export default Page export async function getStaticProps({ locale }) { @@ -47,11 +48,11 @@ export async function getStaticProps({ locale }) { ` const versionedPageTemplate = (design, version) => `${header} -import pattern from 'lib/${version}/${design}.mjs' +import design from 'lib/${version}/${design}.mjs' import { serverSideTranslations } from 'next-i18next/serverSideTranslations' import PageTemplate from 'site/page-templates/workbench.js' -const Page = (props) => +const Page = (props) => export default Page export async function getStaticProps({ locale }) { @@ -65,7 +66,7 @@ export async function getStaticProps({ locale }) { const versionOverviewPage = (version) => `${header} import { serverSideTranslations } from 'next-i18next/serverSideTranslations' -import Template from 'site/page-templates/pattern-list.js' +import Template from 'site/page-templates/design-list.js' const Page = props =>