init
This commit is contained in:
5
.markdownlint.json
Normal file
5
.markdownlint.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"MD013": false,
|
||||||
|
"MD025": false,
|
||||||
|
"MD033": false
|
||||||
|
}
|
||||||
11
components.d.ts
vendored
11
components.d.ts
vendored
@@ -4,16 +4,9 @@
|
|||||||
|
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
CommunityIcon: typeof import('./src/components/icons/CommunityIcon.vue')['default']
|
Island: typeof import("./node_modules/.pnpm/iles@0.7.32/node_modules/iles/dist/client/app/components/Island.vue")["default"];
|
||||||
DocumentationIcon: typeof import('./src/components/icons/DocumentationIcon.vue')['default']
|
ProductionFlow: typeof import('./src/components/flow/ProductionFlow.vue')['default']
|
||||||
EcosystemIcon: typeof import('./src/components/icons/EcosystemIcon.vue')['default']
|
|
||||||
FrameworkLink: typeof import('./src/components/FrameworkLink.vue')['default']
|
|
||||||
HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
|
|
||||||
Island: typeof import('./node_modules/.pnpm/iles@0.7.32/node_modules/iles/dist/client/app/components/Island.vue')['default']
|
|
||||||
SupportIcon: typeof import('./src/components/icons/SupportIcon.vue')['default']
|
|
||||||
ToolingIcon: typeof import('./src/components/icons/ToolingIcon.vue')['default']
|
|
||||||
Welcome: typeof import('./src/components/Welcome.vue')['default']
|
Welcome: typeof import('./src/components/Welcome.vue')['default']
|
||||||
WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default']
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
import { defineConfig } from 'iles'
|
import { defineConfig } from "iles";
|
||||||
|
|
||||||
export default defineConfig({})
|
export default defineConfig({
|
||||||
|
modules: ["@islands/headings"],
|
||||||
|
});
|
||||||
|
|||||||
6
netlify.toml
Normal file
6
netlify.toml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[build]
|
||||||
|
publish = "dist"
|
||||||
|
command = "npm run build"
|
||||||
|
|
||||||
|
[build.environment]
|
||||||
|
NODE_VERSION = "16"
|
||||||
@@ -12,9 +12,15 @@
|
|||||||
"node": "^14.18 || >= 16.0.0"
|
"node": "^14.18 || >= 16.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@islands/headings": "^0.1.1",
|
||||||
|
"@islands/prism": "^0.1.1",
|
||||||
"iles": "^0.7.19",
|
"iles": "^0.7.19",
|
||||||
|
"sass": "^1.49.9",
|
||||||
"typescript": "^4.5",
|
"typescript": "^4.5",
|
||||||
"vitest": "*",
|
"vitest": "*",
|
||||||
"vue-tsc": "^0.29"
|
"vue-tsc": "^0.29"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"pinia": "^2.0.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
118
pnpm-lock.yaml
generated
118
pnpm-lock.yaml
generated
@@ -1,15 +1,25 @@
|
|||||||
lockfileVersion: 5.3
|
lockfileVersion: 5.3
|
||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
|
'@islands/headings': ^0.1.1
|
||||||
|
'@islands/prism': ^0.1.1
|
||||||
iles: ^0.7.19
|
iles: ^0.7.19
|
||||||
|
pinia: ^2.0.11
|
||||||
|
sass: ^1.49.9
|
||||||
typescript: ^4.5
|
typescript: ^4.5
|
||||||
vitest: '*'
|
vitest: '*'
|
||||||
vue-tsc: ^0.29
|
vue-tsc: ^0.29
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
pinia: 2.0.11_typescript@4.5.5
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
iles: 0.7.32
|
'@islands/headings': 0.1.1
|
||||||
|
'@islands/prism': 0.1.1
|
||||||
|
iles: 0.7.32_sass@1.49.9
|
||||||
|
sass: 1.49.9
|
||||||
typescript: 4.5.5
|
typescript: 4.5.5
|
||||||
vitest: 0.5.5
|
vitest: 0.5.5_sass@1.49.9
|
||||||
vue-tsc: 0.29.8_typescript@4.5.5
|
vue-tsc: 0.29.8_typescript@4.5.5
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
@@ -86,6 +96,14 @@ packages:
|
|||||||
- webpack
|
- webpack
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@islands/headings/0.1.1:
|
||||||
|
resolution: {integrity: sha512-sDMDQD6b9d48psagYBt5MbWm0wonJ4t7BJV/hzln45Xg+h4RxBUT9d/R66UaAmHiPx5b/Q+4c3VvXq9HYciMvg==}
|
||||||
|
dependencies:
|
||||||
|
estree-util-value-to-estree: 1.3.0
|
||||||
|
hast-util-heading-rank: 2.1.0
|
||||||
|
hast-util-to-string: 2.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@islands/hydration/0.3.8:
|
/@islands/hydration/0.3.8:
|
||||||
resolution: {integrity: sha512-3cjMM0Zk/AiBq0uPc2rjUsT2qNrsAvdS8MJvLHqNAnKf0BdWrqesdOJLCUHmqFqR1GmIElzUN+MoS7+9VPTr8A==}
|
resolution: {integrity: sha512-3cjMM0Zk/AiBq0uPc2rjUsT2qNrsAvdS8MJvLHqNAnKf0BdWrqesdOJLCUHmqFqR1GmIElzUN+MoS7+9VPTr8A==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -125,6 +143,13 @@ packages:
|
|||||||
'@islands/hydration': 0.3.8
|
'@islands/hydration': 0.3.8
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@islands/prism/0.1.1:
|
||||||
|
resolution: {integrity: sha512-kTkQo/qBfgIXeb0unuEazCZEVyWnuIJX81j/QSqjQliX5MAlg/f6THJUJVyQvgKcXipR/TkQutiBXoGXRz208w==}
|
||||||
|
dependencies:
|
||||||
|
prismjs: 1.27.0
|
||||||
|
unist-util-visit: 4.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@nodelib/fs.scandir/2.1.5:
|
/@nodelib/fs.scandir/2.1.5:
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
@@ -278,7 +303,7 @@ packages:
|
|||||||
vite: ^2.5.10
|
vite: ^2.5.10
|
||||||
vue: ^3.2.25
|
vue: ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 2.8.4
|
vite: 2.8.4_sass@1.49.9
|
||||||
vue: 3.2.31
|
vue: 3.2.31
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -382,7 +407,6 @@ packages:
|
|||||||
|
|
||||||
/@vue/devtools-api/6.0.12:
|
/@vue/devtools-api/6.0.12:
|
||||||
resolution: {integrity: sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==}
|
resolution: {integrity: sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/reactivity-transform/3.2.31:
|
/@vue/reactivity-transform/3.2.31:
|
||||||
resolution: {integrity: sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==}
|
resolution: {integrity: sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==}
|
||||||
@@ -1059,6 +1083,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-aXXZFVMnBBDRP81vS4YtAYJ0hUkgEsXea7lNKWCOeaAquGb1Jm2rcONPB5fpzwgbNxulTvrWuKnp9UElUGAKeQ==}
|
resolution: {integrity: sha512-aXXZFVMnBBDRP81vS4YtAYJ0hUkgEsXea7lNKWCOeaAquGb1Jm2rcONPB5fpzwgbNxulTvrWuKnp9UElUGAKeQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/estree-util-value-to-estree/1.3.0:
|
||||||
|
resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
is-plain-obj: 3.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/estree-util-visit/1.1.0:
|
/estree-util-visit/1.1.0:
|
||||||
resolution: {integrity: sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==}
|
resolution: {integrity: sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1229,6 +1260,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
|
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/hast-util-heading-rank/2.1.0:
|
||||||
|
resolution: {integrity: sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ==}
|
||||||
|
dependencies:
|
||||||
|
'@types/hast': 2.3.4
|
||||||
|
dev: true
|
||||||
|
|
||||||
/hast-util-is-element/2.1.2:
|
/hast-util-is-element/2.1.2:
|
||||||
resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==}
|
resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1272,6 +1309,12 @@ packages:
|
|||||||
unist-util-is: 5.1.1
|
unist-util-is: 5.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/hast-util-to-string/2.0.0:
|
||||||
|
resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==}
|
||||||
|
dependencies:
|
||||||
|
'@types/hast': 2.3.4
|
||||||
|
dev: true
|
||||||
|
|
||||||
/hast-util-whitespace/2.0.0:
|
/hast-util-whitespace/2.0.0:
|
||||||
resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==}
|
resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -1301,7 +1344,7 @@ packages:
|
|||||||
resolve-alpn: 1.2.1
|
resolve-alpn: 1.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/iles/0.7.32:
|
/iles/0.7.32_sass@1.49.9:
|
||||||
resolution: {integrity: sha512-mXN+Phm2krOBk1jvSxFfRdL3lIVelcoBXuRm7z5W0GLr/0oyzBAtZAfnD/DPY1UnLDcJPCXBH5dDEP/lrzjVpA==}
|
resolution: {integrity: sha512-mXN+Phm2krOBk1jvSxFfRdL3lIVelcoBXuRm7z5W0GLr/0oyzBAtZAfnD/DPY1UnLDcJPCXBH5dDEP/lrzjVpA==}
|
||||||
engines: {node: ^14.18 || >= 16.0.0}
|
engines: {node: ^14.18 || >= 16.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -1325,7 +1368,7 @@ packages:
|
|||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
unist-util-visit: 4.1.0
|
unist-util-visit: 4.1.0
|
||||||
unplugin-vue-components: /@islands/components/0.17.0_vite@2.8.4+vue@3.2.31
|
unplugin-vue-components: /@islands/components/0.17.0_vite@2.8.4+vue@3.2.31
|
||||||
vite: 2.8.4
|
vite: 2.8.4_sass@1.49.9
|
||||||
vue: 3.2.31
|
vue: 3.2.31
|
||||||
vue-router: 4.0.12_vue@3.2.31
|
vue-router: 4.0.12_vue@3.2.31
|
||||||
xdm: 3.3.1
|
xdm: 3.3.1
|
||||||
@@ -1340,6 +1383,10 @@ packages:
|
|||||||
- webpack
|
- webpack
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/immutable/4.0.0:
|
||||||
|
resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/import-meta-resolve/1.1.1:
|
/import-meta-resolve/1.1.1:
|
||||||
resolution: {integrity: sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==}
|
resolution: {integrity: sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1475,6 +1522,11 @@ packages:
|
|||||||
engines: {node: '>=0.12.0'}
|
engines: {node: '>=0.12.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/is-plain-obj/3.0.0:
|
||||||
|
resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/is-plain-obj/4.0.0:
|
/is-plain-obj/4.0.0:
|
||||||
resolution: {integrity: sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==}
|
resolution: {integrity: sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -2187,6 +2239,23 @@ packages:
|
|||||||
engines: {node: '>=8.6'}
|
engines: {node: '>=8.6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/pinia/2.0.11_typescript@4.5.5:
|
||||||
|
resolution: {integrity: sha512-JzcmnMqu28PNWOjDgEDK6fTrIzX8eQZKPPKvu/fpHdpXARUj1xeVdFi3YFIMOWswqaBd589cpmAMdSSTryI9iw==}
|
||||||
|
peerDependencies:
|
||||||
|
'@vue/composition-api': ^1.4.0
|
||||||
|
typescript: '>=4.4.4'
|
||||||
|
vue: ^2.6.14 || ^3.2.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@vue/composition-api':
|
||||||
|
optional: true
|
||||||
|
typescript:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@vue/devtools-api': 6.0.12
|
||||||
|
typescript: 4.5.5
|
||||||
|
vue-demi: 0.12.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/postcss/8.4.7:
|
/postcss/8.4.7:
|
||||||
resolution: {integrity: sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==}
|
resolution: {integrity: sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==}
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
@@ -2196,6 +2265,11 @@ packages:
|
|||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/prismjs/1.27.0:
|
||||||
|
resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/promise/7.3.1:
|
/promise/7.3.1:
|
||||||
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
|
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2405,6 +2479,16 @@ packages:
|
|||||||
mri: 1.2.0
|
mri: 1.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/sass/1.49.9:
|
||||||
|
resolution: {integrity: sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
chokidar: 3.5.3
|
||||||
|
immutable: 4.0.0
|
||||||
|
source-map-js: 1.0.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/section-matter/1.0.0:
|
/section-matter/1.0.0:
|
||||||
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
|
resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -2636,7 +2720,7 @@ packages:
|
|||||||
webpack:
|
webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 2.8.4
|
vite: 2.8.4_sass@1.49.9
|
||||||
webpack-virtual-modules: 0.4.3
|
webpack-virtual-modules: 0.4.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -2672,7 +2756,7 @@ packages:
|
|||||||
vfile-message: 3.1.0
|
vfile-message: 3.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/2.8.4:
|
/vite/2.8.4_sass@1.49.9:
|
||||||
resolution: {integrity: sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==}
|
resolution: {integrity: sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==}
|
||||||
engines: {node: '>=12.2.0'}
|
engines: {node: '>=12.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -2692,11 +2776,12 @@ packages:
|
|||||||
postcss: 8.4.7
|
postcss: 8.4.7
|
||||||
resolve: 1.22.0
|
resolve: 1.22.0
|
||||||
rollup: 2.68.0
|
rollup: 2.68.0
|
||||||
|
sass: 1.49.9
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitest/0.5.5:
|
/vitest/0.5.5_sass@1.49.9:
|
||||||
resolution: {integrity: sha512-oBKIXpFOGN7jDdK0MO4uWcB+UOPRyEJveB8XDx74XsFNbjGF7vHmHqwAomNE8MGtDW8hBKvSSbr58hibFiQc5Q==}
|
resolution: {integrity: sha512-oBKIXpFOGN7jDdK0MO4uWcB+UOPRyEJveB8XDx74XsFNbjGF7vHmHqwAomNE8MGtDW8hBKvSSbr58hibFiQc5Q==}
|
||||||
engines: {node: '>=14.14.0'}
|
engines: {node: '>=14.14.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -2721,7 +2806,7 @@ packages:
|
|||||||
local-pkg: 0.4.1
|
local-pkg: 0.4.1
|
||||||
tinypool: 0.1.2
|
tinypool: 0.1.2
|
||||||
tinyspy: 0.3.0
|
tinyspy: 0.3.0
|
||||||
vite: 2.8.4
|
vite: 2.8.4_sass@1.49.9
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- less
|
- less
|
||||||
- sass
|
- sass
|
||||||
@@ -2849,6 +2934,19 @@ packages:
|
|||||||
vscode-typescript-languageservice: 0.29.8
|
vscode-typescript-languageservice: 0.29.8
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/vue-demi/0.12.1:
|
||||||
|
resolution: {integrity: sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
hasBin: true
|
||||||
|
requiresBuild: true
|
||||||
|
peerDependencies:
|
||||||
|
'@vue/composition-api': ^1.0.0-rc.1
|
||||||
|
vue: ^3.0.0-0 || ^2.6.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@vue/composition-api':
|
||||||
|
optional: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/vue-router/4.0.12_vue@3.2.31:
|
/vue-router/4.0.12_vue@3.2.31:
|
||||||
resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==}
|
resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|||||||
BIN
public/favicon.ico
Normal file → Executable file
BIN
public/favicon.ico
Normal file → Executable file
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +1,8 @@
|
|||||||
import { defineApp } from 'iles'
|
import { defineApp } from "iles";
|
||||||
|
import { createPinia } from "pinia";
|
||||||
|
|
||||||
export default defineApp({})
|
export default defineApp({
|
||||||
|
enhanceApp({ app }) {
|
||||||
|
app.use(createPinia());
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
/* color palette from <https://github.com/vuejs/theme> */
|
/* color palette from <https://github.com/vuejs/theme> */
|
||||||
|
@import url("https://fonts.googleapis.com/css2?family=Courier+Prime&family=Fenix&display=swap");
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--vt-c-white: #ffffff;
|
--vt-c-white: #ffffff;
|
||||||
--vt-c-white-soft: #f8f8f8;
|
--vt-c-white-soft: #f8f8f8;
|
||||||
@@ -36,7 +38,7 @@
|
|||||||
--section-gap: 160px;
|
--section-gap: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
/* @media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
--color-background: var(--vt-c-black);
|
--color-background: var(--vt-c-black);
|
||||||
--color-background-soft: var(--vt-c-black-soft);
|
--color-background-soft: var(--vt-c-black-soft);
|
||||||
@@ -48,7 +50,7 @@
|
|||||||
--color-heading: var(--vt-c-text-dark-1);
|
--color-heading: var(--vt-c-text-dark-1);
|
||||||
--color-text: var(--vt-c-text-dark-2);
|
--color-text: var(--vt-c-text-dark-2);
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
@@ -65,8 +67,8 @@ body {
|
|||||||
background: var(--color-background);
|
background: var(--color-background);
|
||||||
transition: color 0.5s, background-color 0.5s;
|
transition: color 0.5s, background-color 0.5s;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
|
font-family: "Fenix", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
|
||||||
Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
serif;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
text-rendering: optimizeLegibility;
|
text-rendering: optimizeLegibility;
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 5.1 KiB |
@@ -1,6 +0,0 @@
|
|||||||
<template>
|
|
||||||
<a target="_blank" href="https://v3.vuejs.org/">
|
|
||||||
Vue 3
|
|
||||||
<slot />
|
|
||||||
</a>
|
|
||||||
</template>
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
defineProps<{
|
|
||||||
msg: String
|
|
||||||
}>()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="greetings">
|
|
||||||
<h1 class="green">{{ msg }}</h1>
|
|
||||||
<h3>
|
|
||||||
You’ve successfully created a project with
|
|
||||||
<a target="_blank" href="https://iles-docs.netlify.app/">îles</a> +
|
|
||||||
<a target="_blank" href="https://vitejs.dev/">Vite</a> + <FrameworkLink client:none />. What's
|
|
||||||
next?
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
h1 {
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 2.6rem;
|
|
||||||
top: -10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
font-size: 1.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.greetings h1,
|
|
||||||
.greetings h3 {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 1024px) {
|
|
||||||
.greetings h1,
|
|
||||||
.greetings h3 {
|
|
||||||
display: block;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1 +1,23 @@
|
|||||||
<template>Home</template>
|
<script setup lang="ts">
|
||||||
|
import { usePosts } from "@/hooks/usePosts.hook";
|
||||||
|
|
||||||
|
const posts = usePosts();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<h1>Hi! I'm Julien. A mobile & web developer.</h1>
|
||||||
|
<p>
|
||||||
|
I am into building things with code. I love creating offline first
|
||||||
|
Progressive Web Apps. I've been doing programmation for 5 years and lead
|
||||||
|
dev/technical architecture for 1 year now.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h2>My blog posts</h2>
|
||||||
|
<ul>
|
||||||
|
<li v-for="post in posts" :key="post.href">
|
||||||
|
<a :href="post.href">{{ post.title }}</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|||||||
26
src/components/flow/ProductionFlow.vue
Normal file
26
src/components/flow/ProductionFlow.vue
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { useProductionFlow } from "@/modules/flow/store/useProductionFlow.store";
|
||||||
|
import AddFlow from "@/modules/flow/components/AddFlow.vue";
|
||||||
|
|
||||||
|
const store = useProductionFlow();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<section class="production-flow">
|
||||||
|
<add-flow />
|
||||||
|
<ul>
|
||||||
|
<li :key="step.name" v-for="step in store.$state.steps">
|
||||||
|
{{ step.name }}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.production-flow {
|
||||||
|
ul {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
35
src/hooks/usePosts.hook.ts
Normal file
35
src/hooks/usePosts.hook.ts
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
import { computed } from "vue";
|
||||||
|
|
||||||
|
interface Post {
|
||||||
|
filename: string;
|
||||||
|
lastUpdated: Date;
|
||||||
|
href: string;
|
||||||
|
title: string;
|
||||||
|
meta: {
|
||||||
|
filename: string;
|
||||||
|
lastUpdated: Date;
|
||||||
|
href: string;
|
||||||
|
};
|
||||||
|
frontmatter: {
|
||||||
|
title: string;
|
||||||
|
publishedAt?: Date;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const byDate = (a: Post, b: Post) => {
|
||||||
|
if (!b.frontmatter.publishedAt) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!a.frontmatter.publishedAt) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return a.frontmatter.publishedAt <= b.frontmatter.publishedAt ? -1 : 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const usePosts = () => {
|
||||||
|
const posts = $(useDocuments<Post>("@/pages/posts"));
|
||||||
|
|
||||||
|
return computed(() => posts.sort(byDate));
|
||||||
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="default">
|
||||||
<header>
|
<header>
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div id="nav">
|
<div id="nav">
|
||||||
@@ -14,28 +14,18 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@import "~/assets/base.css";
|
@import "@/assets/base.css";
|
||||||
|
|
||||||
.logo {
|
/* #nav a.router-link-exact-active {
|
||||||
display: block;
|
background-color: var(--color-text);
|
||||||
margin: 0 auto 2rem;
|
} */
|
||||||
}
|
|
||||||
|
|
||||||
#nav a.router-link-exact-active {
|
|
||||||
color: var(--color-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav a.router-link-exact-active:hover {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav a {
|
#nav a {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
border-left: 1px solid var(--color-border);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav a:first-of-type {
|
.default {
|
||||||
border: 0;
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
23
src/modules/flow/components/AddFlow.vue
Normal file
23
src/modules/flow/components/AddFlow.vue
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { useProductionFlow } from "@/modules/flow/store/useProductionFlow.store";
|
||||||
|
|
||||||
|
const store = useProductionFlow();
|
||||||
|
const addStep = () => {
|
||||||
|
store.addStep({
|
||||||
|
name: "Recette",
|
||||||
|
outputs: ["Go production"],
|
||||||
|
prerequisites: ["app in staging"],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<form class="add-flow" @submit.prevent>
|
||||||
|
<button @click="addStep">Add a step</button>
|
||||||
|
</form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.add-flow {
|
||||||
|
}
|
||||||
|
</style>
|
||||||
10
src/modules/flow/components/FlowStep.vue
Normal file
10
src/modules/flow/components/FlowStep.vue
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="flow-step"></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.flow-step {
|
||||||
|
}
|
||||||
|
</style>
|
||||||
30
src/modules/flow/store/useProductionFlow.store.ts
Normal file
30
src/modules/flow/store/useProductionFlow.store.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
import { defineStore } from "pinia";
|
||||||
|
|
||||||
|
interface Step {
|
||||||
|
name: string;
|
||||||
|
prerequisites: string[];
|
||||||
|
outputs: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
interface State {
|
||||||
|
steps: Step[];
|
||||||
|
}
|
||||||
|
|
||||||
|
const initialState: State = {
|
||||||
|
steps: [
|
||||||
|
{
|
||||||
|
name: "In production",
|
||||||
|
prerequisites: [],
|
||||||
|
outputs: ["Users can use the app"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useProductionFlow = defineStore("production-flow", {
|
||||||
|
state: () => ({ ...initialState }),
|
||||||
|
actions: {
|
||||||
|
addStep(step: Step) {
|
||||||
|
this.$state.steps = [step, ...this.$state.steps];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Julien Calixte
|
title: Hi!
|
||||||
---
|
---
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
|
|||||||
24
src/pages/posts/production-flow.mdx
Normal file
24
src/pages/posts/production-flow.mdx
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
title: An introduction to production flow
|
||||||
|
---
|
||||||
|
|
||||||
|
# {title}
|
||||||
|
|
||||||
|
Dear developers, how clear is it for you the way you build an app?
|
||||||
|
|
||||||
|
You may answer "Easy! There are few steps:"
|
||||||
|
|
||||||
|
1. Talking to the client
|
||||||
|
2. Getting the design
|
||||||
|
3. Coding
|
||||||
|
4. deploying to users
|
||||||
|
|
||||||
|
But how exactly? What does "talking to the client" really mean? And "coding" ?
|
||||||
|
|
||||||
|
In lean, one particular important concept is **Visual Management**: *doing by seeing*. For that, we want to be clear on how we work.
|
||||||
|
|
||||||
|
May I ask you some questions?
|
||||||
|
|
||||||
|
First, can you name your different step before having your app in production?
|
||||||
|
|
||||||
|
<ProductionFlow />
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
export default {
|
export default {
|
||||||
title: 'îles',
|
title: "Julien Calixte",
|
||||||
description: 'Islands of interactivity with Vue in Vite.js'
|
description: `Julien Calixte's blog`,
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -12,8 +12,7 @@
|
|||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"paths": {
|
"paths": {
|
||||||
"@/*": ["src/*"],
|
"@/*": ["src/*"]
|
||||||
"~/*": ["src/*"]
|
|
||||||
},
|
},
|
||||||
"lib": ["esnext", "dom", "dom.iterable", "scripthost"],
|
"lib": ["esnext", "dom", "dom.iterable", "scripthost"],
|
||||||
"skipLibCheck": true
|
"skipLibCheck": true
|
||||||
|
|||||||
Reference in New Issue
Block a user