diff --git a/.npmrc b/.npmrc
index bf2e764..cf04042 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,2 @@
shamefully-hoist=true
+strict-peer-dependencies=false
diff --git a/__unconfig_iles.config.ts b/__unconfig_iles.config.ts
new file mode 100644
index 0000000..74007d8
--- /dev/null
+++ b/__unconfig_iles.config.ts
@@ -0,0 +1,12 @@
+
+let __unconfig_data;
+let __unconfig_stub = function (data = {}) { __unconfig_data = data };
+__unconfig_stub.default = (data = {}) => { __unconfig_data = data };
+import { defineConfig } from "iles";
+
+const __unconfig_default = defineConfig({
+ siteUrl: "https://juliencalixte.eu",
+ modules: ["@islands/headings"],
+});
+
+if (typeof __unconfig_default === "function") __unconfig_default(...[{"command":"serve","mode":"development"}]);export default __unconfig_data;
\ No newline at end of file
diff --git a/components.d.ts b/components.d.ts
index 6bd5a9a..37170b2 100644
--- a/components.d.ts
+++ b/components.d.ts
@@ -7,7 +7,7 @@ declare module 'vue' {
AboutMe: typeof import('./src/components/presentation/AboutMe.vue')['default']
AppHeader: typeof import('./src/components/AppHeader.vue')['default']
BlogPosts: typeof import('./src/components/posts/BlogPosts.vue')['default']
- Island: typeof import('./node_modules/.pnpm/iles@0.7.38_sass@1.51.0/node_modules/iles/dist/client/app/components/Island.vue')['default']
+ Island: typeof import('./node_modules/.pnpm/iles@0.7.40_sass@1.53.0/node_modules/iles/dist/client/app/components/Island.vue')['default']
JulienCalixte: typeof import('./src/components/core/JulienCalixte.vue')['default']
ProductionFlow: typeof import('./src/components/flow/ProductionFlow.vue')['default']
Welcome: typeof import('./src/components/Welcome.vue')['default']
diff --git a/package.json b/package.json
index b512302..bd2aa69 100644
--- a/package.json
+++ b/package.json
@@ -1,15 +1,14 @@
{
- "name": "iles-app",
- "version": "0.0.0",
+ "name": "jcalixte-blog",
+ "version": "1.0.0",
"scripts": {
"dev": "iles dev",
"build": "iles build",
"preview": "iles preview --port 5050",
- "test": "iles test",
"typecheck": "vue-tsc --noEmit"
},
"engines": {
- "node": "^14.18 || >= 16.0.0"
+ "node": ">= 16.0.0"
},
"devDependencies": {
"@islands/headings": "^0.8.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index afbd6b3..f4e275d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -40,7 +40,6 @@ packages:
/@babel/helper-validator-identifier/7.16.7:
resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
engines: {node: '>=6.9.0'}
- dev: true
/@babel/parser/7.17.3:
resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==}
@@ -48,7 +47,6 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.17.0
- dev: true
/@babel/types/7.17.0:
resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
@@ -56,7 +54,6 @@ packages:
dependencies:
'@babel/helper-validator-identifier': 7.16.7
to-fast-properties: 2.0.0
- dev: true
/@esbuild/linux-loong64/0.15.7:
resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==}
@@ -311,14 +308,12 @@ packages:
'@vue/shared': 3.2.39
estree-walker: 2.0.2
source-map: 0.6.1
- dev: true
/@vue/compiler-dom/3.2.39:
resolution: {integrity: sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw==}
dependencies:
'@vue/compiler-core': 3.2.39
'@vue/shared': 3.2.39
- dev: true
/@vue/compiler-sfc/3.2.39:
resolution: {integrity: sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA==}
@@ -333,14 +328,12 @@ packages:
magic-string: 0.25.7
postcss: 8.4.13
source-map: 0.6.1
- dev: true
/@vue/compiler-ssr/3.2.39:
resolution: {integrity: sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ==}
dependencies:
'@vue/compiler-dom': 3.2.39
'@vue/shared': 3.2.39
- dev: true
/@vue/devtools-api/6.2.1:
resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==}
@@ -353,7 +346,6 @@ packages:
'@vue/shared': 3.2.39
estree-walker: 2.0.2
magic-string: 0.25.7
- dev: true
/@vue/reactivity/3.2.38:
resolution: {integrity: sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==}
@@ -365,14 +357,12 @@ packages:
resolution: {integrity: sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ==}
dependencies:
'@vue/shared': 3.2.39
- dev: true
/@vue/runtime-core/3.2.39:
resolution: {integrity: sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g==}
dependencies:
'@vue/reactivity': 3.2.39
'@vue/shared': 3.2.39
- dev: true
/@vue/runtime-dom/3.2.39:
resolution: {integrity: sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA==}
@@ -380,7 +370,6 @@ packages:
'@vue/runtime-core': 3.2.39
'@vue/shared': 3.2.39
csstype: 2.6.19
- dev: true
/@vue/server-renderer/3.2.39_vue@3.2.39:
resolution: {integrity: sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ==}
@@ -390,7 +379,6 @@ packages:
'@vue/compiler-ssr': 3.2.39
'@vue/shared': 3.2.39
vue: 3.2.39
- dev: true
/@vue/shared/3.2.38:
resolution: {integrity: sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==}
@@ -398,7 +386,6 @@ packages:
/@vue/shared/3.2.39:
resolution: {integrity: sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==}
- dev: true
/@vueuse/head/0.7.5_vue@3.2.39:
resolution: {integrity: sha512-L+XQ5Act0nT/ZyO8Qo10J4FyM1qPOyQb6MT4MMn6+AITzrStpmKs/nUDDLJKD/rCcNWl/65XbdQm4T2vKp3VOQ==}
@@ -550,7 +537,6 @@ packages:
/csstype/2.6.19:
resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==}
- dev: true
/debug/4.3.3:
resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
@@ -920,7 +906,6 @@ packages:
/estree-walker/2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
- dev: true
/estree-walker/3.0.1:
resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==}
@@ -1454,7 +1439,6 @@ packages:
resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
dependencies:
sourcemap-codec: 1.4.8
- dev: true
/magic-string/0.26.2:
resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==}
@@ -1903,7 +1887,6 @@ packages:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: true
/normalize-path/3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -2013,7 +1996,6 @@ packages:
/picocolors/1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
/picomatch/2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -2045,7 +2027,6 @@ packages:
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
- dev: true
/postcss/8.4.16:
resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
@@ -2209,12 +2190,10 @@ packages:
/source-map-js/1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
- dev: true
/source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
- dev: true
/source-map/0.7.3:
resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
@@ -2223,7 +2202,6 @@ packages:
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- dev: true
/space-separated-tokens/2.0.1:
resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==}
@@ -2298,7 +2276,6 @@ packages:
/to-fast-properties/2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
- dev: true
/to-regex-range/5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
@@ -2320,7 +2297,6 @@ packages:
resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==}
engines: {node: '>=4.2.0'}
hasBin: true
- dev: true
/unbox-primitive/1.0.1:
resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==}
@@ -2602,7 +2578,6 @@ packages:
'@vue/runtime-dom': 3.2.39
'@vue/server-renderer': 3.2.39_vue@3.2.39
'@vue/shared': 3.2.39
- dev: true
/webpack-sources/3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
diff --git a/src/app.ts b/src/app.ts
index e54b490..9031913 100644
--- a/src/app.ts
+++ b/src/app.ts
@@ -11,7 +11,7 @@ export default defineApp({
link: [
{
rel: "stylesheet",
- href: "https://fonts.googleapis.com/css2?family=Fenix&family=Meow+Script&display=swap",
+ href: "https://fonts.googleapis.com/css2?family=Gulzar&family=Meow+Script&display=swap",
},
],
};
diff --git a/src/assets/base.scss b/src/assets/base.scss
index 63a7cca..8dc49b3 100644
--- a/src/assets/base.scss
+++ b/src/assets/base.scss
@@ -66,7 +66,7 @@ body {
background: var(--color-background);
transition: color 0.5s, background-color 0.5s;
line-height: 1.6;
- font-family: "Fenix", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
+ font-family: "Gulzar", BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
serif;
font-size: 22px;
text-rendering: optimizeLegibility;
@@ -88,7 +88,18 @@ h6 {
color: var(--primary);
}
-.julien-calixte {
- font-family: "Meow Script", "Lucida Sans", "Lucida Sans Regular",
- "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif;
+h1 {
+ font-size: 1.8em;
}
+
+h2 {
+ font-size: 1.2em;
+}
+
+.julien-calixte {
+ font-family: "Meow Script", "Lucida Sans", "Lucida Sans Regular", Geneva, Verdana, sans-serif;
+}
+
+strong {
+ font-weight: bold;
+}
\ No newline at end of file
diff --git a/src/pages/posts/feature-factory.mdx b/src/pages/posts/feature-factory.mdx
new file mode 100644
index 0000000..2d68dfe
--- /dev/null
+++ b/src/pages/posts/feature-factory.mdx
@@ -0,0 +1,39 @@
+---
+title: An introduction to feature factory
+layout: post
+---
+
+# {title}
+
+From my experience, project failures mainly come by having mistrust between teams. Lead time due to team availability to solve dependencies increases.
+
+In this post, I would like to tell you what helped me, how we succeed to engage all the skills needed to develop a product. We will talk about agility, lean.
+
+## It always comes to **showing**
+
+## Showing where we are
+
+## Showing where are the problems
+
+## Showing what next the team has to do
+
+Talking is hard, comprehension between two people is hard. How many times a developper came back to the product owner to ask a few questions left in his ticket? How many times a designer was asked to update a design to see how the app will react in case of an edge case?
+
+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?
+
+
diff --git a/src/pages/posts/production-flow.mdx b/src/pages/posts/production-flow.mdx
deleted file mode 100644
index 1efdeea..0000000
--- a/src/pages/posts/production-flow.mdx
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title: An introduction to production flow
-layout: post
----
-
-# {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?
-
-
diff --git a/tests/example.spec.ts b/tests/example.spec.ts
deleted file mode 100644
index 7a13604..0000000
--- a/tests/example.spec.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { test, describe, expect } from 'vitest'
-
-import Index from '../src/pages/index.mdx'
-
-describe('example test', () => {
- test('stub default layout', () => {
- expect(Index.title).toEqual('You did it!')
- })
-})