feat(new-design): Added template specific for tutorial
This commit is contained in:
parent
857695445e
commit
b9a46e9763
4 changed files with 155 additions and 11 deletions
|
@ -58,6 +58,7 @@ export const getChoices = async () => {
|
|||
name: 'template',
|
||||
message: 'What template would you like to use? 📑',
|
||||
choices: [
|
||||
{ title: 'Tutorial', value: 'tutorial', description: 'Setup the pattern design tutorial' },
|
||||
{ title: 'From Scratch', value: 'scratch', description: 'Create a design from scratch' },
|
||||
{
|
||||
title: 'Extend Brian',
|
||||
|
@ -88,7 +89,10 @@ export const getChoices = async () => {
|
|||
initial: 0,
|
||||
})
|
||||
|
||||
const { name } = await prompts({
|
||||
const { name } =
|
||||
template === 'tutorial'
|
||||
? { name: 'tutorial' }
|
||||
: await prompts({
|
||||
type: 'text',
|
||||
name: 'name',
|
||||
message: 'What name would you like the design to have? 🏷️ ([a-z] only)',
|
||||
|
@ -98,7 +102,7 @@ export const getChoices = async () => {
|
|||
const { manager } = await prompts({
|
||||
type: 'select',
|
||||
name: 'manager',
|
||||
message: 'Last but not least, what package manager do you use? 📦',
|
||||
message: 'What package manager should we use? 📦',
|
||||
choices: [
|
||||
{ title: 'yarn', value: 'yarn', description: 'Yarn - Nice if you have it' },
|
||||
{ title: 'npm', value: 'npm', description: 'NPM - Comes with NodeJS' },
|
||||
|
@ -193,7 +197,7 @@ const initGitRepo = async (config, choices) => {
|
|||
}
|
||||
|
||||
// Tips
|
||||
const showTips = (config, choices) =>
|
||||
const showTips = (config, choices) => {
|
||||
console.log(`
|
||||
All done 🤓 Your new design ${chalk.yellow.bold(
|
||||
choices.name
|
||||
|
@ -211,7 +215,29 @@ const showTips = (config, choices) =>
|
|||
3) Now open your browser and navigate to ${chalk.green('http://localhost:8000/')}
|
||||
|
||||
${chalk.bold.yellow('🤔 More info & help')}
|
||||
${chalk.gray('≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡')}
|
||||
${chalk.gray('≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡')}`)
|
||||
|
||||
if (choices.template === 'tutorial')
|
||||
console.log(`
|
||||
Our pattern design tutorial is available at: ${chalk.green(
|
||||
'https://freesewing.dev/tutorials/pattern-design'
|
||||
)}
|
||||
|
||||
It will walk your through the process step by step.
|
||||
If you get stuck, reach out to our community on Discord: ${chalk.green(
|
||||
'https://discord.freesewing.dev/'
|
||||
)}
|
||||
The ${chalk.bold('development-help')} channel is a good place to ask questions
|
||||
|
||||
Don't be shy to reach out. If something is not clear, that's on us, not on you.
|
||||
So your feedback really helps us improve our tutorial/documentation.
|
||||
|
||||
Thanks for giving FreeSewing a shot. We hope you'll 💜 it.
|
||||
|
||||
Have fun 🤓
|
||||
`)
|
||||
else
|
||||
console.log(`
|
||||
|
||||
FreeSewing's documentation for developers is available at: ${chalk.green(
|
||||
'https://freesewing.dev/'
|
||||
|
@ -220,9 +246,9 @@ const showTips = (config, choices) =>
|
|||
Our community is on Discord: ${chalk.green('https://discord.freesewing.dev/')}
|
||||
The ${chalk.bold('development-help')} channel is a good place to ask for help if you get stuck
|
||||
|
||||
|
||||
Happy hacking 🤓
|
||||
`)
|
||||
}
|
||||
|
||||
// Creates the environment based on the user's choices
|
||||
export const createEnvironment = async (choices) => {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
function draftBib({ part }) {
|
||||
|
||||
return part
|
||||
}
|
||||
|
||||
export const bib = {
|
||||
name: 'tutorial.bib',
|
||||
draft: draftBib,
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import { Design } from '@freesewing/core'
|
||||
import { bib } from './bib.mjs'
|
||||
|
||||
const Pattern = new Design({
|
||||
data: {
|
||||
version: "0.0.1",
|
||||
name: "Tutorial",
|
||||
},
|
||||
parts: [ bib ],
|
||||
})
|
||||
|
||||
export { bib, Pattern }
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"name": "@freesewing/{{name}}",
|
||||
"version": "0.0.1",
|
||||
"description": "A new FreeSewing design",
|
||||
"author": "Joost De Cock <joost@joost.at> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
"repository": "github:freesewing/freesewing",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/freesewing/freesewing/issues"
|
||||
},
|
||||
"funding": {
|
||||
"type": "individual",
|
||||
"url": "https://freesewing.org/patrons/join"
|
||||
},
|
||||
"keywords": [
|
||||
"freesewing",
|
||||
"design",
|
||||
"diy",
|
||||
"fashion",
|
||||
"parametric design",
|
||||
"sewing",
|
||||
"sewing pattern"
|
||||
],
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"dev": "node --experimental-json-modules ./node_modules/.bin/next dev -p 8000",
|
||||
"build": "node build.js",
|
||||
"clean": "rimraf dist",
|
||||
"mbuild": "NO_MINIFY=1 node build.js",
|
||||
"test": "BABEL_ENV=production npx mocha tests/*.test.mjs --require @babel/register",
|
||||
"vbuild": "VERBOSE=1 node build.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@freesewing/core": "{{ tag }}",
|
||||
"@freesewing/plugin-bundle": "{{ tag }}"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@freesewing/plugin-svgattr": "{{ tag }}",
|
||||
"@freesewing/plugin-theme": "{{ tag }}",
|
||||
"@freesewing/plugin-i18n": "{{ tag }}",
|
||||
"@freesewing/models": "{{ tag }}",
|
||||
"@headlessui/react": "^1.6.5",
|
||||
"js-yaml": "^4.1.0",
|
||||
"file-saver": "^2.0.5",
|
||||
"axios": "^0.27.2",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-sizeme": "^3.0.2",
|
||||
"react-zoom-pan-pinch": "^2.1.3",
|
||||
"react-markdown": "^8.0.3",
|
||||
"roughjs": "^4.5.2",
|
||||
"@tailwindcss/typography": "^0.5.2",
|
||||
"d3-dispatch": "^3.0.1",
|
||||
"d3-drag": "^3.0.0",
|
||||
"d3-selection": "^3.0.0",
|
||||
"daisyui": "^2.0.6",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.orderby": "^4.6.0",
|
||||
"lodash.set": "^4.3.2",
|
||||
"lodash.unset": "^4.5.2",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"next": "latest",
|
||||
"next-i18next": "^11.0.0",
|
||||
"pdfkit": "^0.13.0",
|
||||
"react-copy-to-clipboard": "^5.0.4",
|
||||
"react-hotkeys-hook": "^3.4.4",
|
||||
"react-swipeable": "^6.2.0",
|
||||
"react-timeago": "^6.2.1",
|
||||
"mocha": "^9.1.1",
|
||||
"chai": "^4.2.0",
|
||||
"autoprefixer": "^10.4.0",
|
||||
"eslint-config-next": "12.1.6",
|
||||
"highlight.js": "^11.5.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"postcss": "^8.4.14",
|
||||
"postcss-for": "^2.1.1",
|
||||
"svg-to-pdfkit": "^0.1.8",
|
||||
"tailwindcss": "^3.1.3",
|
||||
"tailwindcss-open-variant": "^1.0.0",
|
||||
"web-worker": "^1.2.0"
|
||||
},
|
||||
"files": [
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"tag": "next"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0",
|
||||
"npm": ">=6"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue