Merge branch 'main' of github.com:jcalixte/blog into main
This commit is contained in:
12
__unconfig_iles.config.ts
Normal file
12
__unconfig_iles.config.ts
Normal file
@@ -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;
|
||||
2
components.d.ts
vendored
2
components.d.ts
vendored
@@ -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']
|
||||
|
||||
@@ -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",
|
||||
|
||||
25
pnpm-lock.yaml
generated
25
pnpm-lock.yaml
generated
@@ -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==}
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
39
src/pages/posts/feature-factory.mdx
Normal file
39
src/pages/posts/feature-factory.mdx
Normal file
@@ -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?
|
||||
|
||||
<ProductionFlow client:visible />
|
||||
@@ -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?
|
||||
|
||||
<ProductionFlow client:visible />
|
||||
@@ -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!')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user