@jjlmoya/utils-cooking 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +60 -0
- package/src/category/i18n/en.ts +24 -0
- package/src/category/i18n/es.ts +208 -0
- package/src/category/i18n/fr.ts +24 -0
- package/src/category/index.ts +37 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +11 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +32 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +146 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n-titles.test.ts +66 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/seo_length.test.ts +22 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tool/american-kitchen-converter/AmericanKitchenEngine.ts +259 -0
- package/src/tool/american-kitchen-converter/bibliography.astro +6 -0
- package/src/tool/american-kitchen-converter/component.astro +838 -0
- package/src/tool/american-kitchen-converter/i18n/en.ts +282 -0
- package/src/tool/american-kitchen-converter/i18n/es.ts +281 -0
- package/src/tool/american-kitchen-converter/i18n/fr.ts +292 -0
- package/src/tool/american-kitchen-converter/index.ts +24 -0
- package/src/tool/american-kitchen-converter/seo.astro +8 -0
- package/src/tool/banana-ripeness/BananaCare.css +587 -0
- package/src/tool/banana-ripeness/BananaEngine.ts +79 -0
- package/src/tool/banana-ripeness/bibliography.astro +6 -0
- package/src/tool/banana-ripeness/component.astro +285 -0
- package/src/tool/banana-ripeness/i18n/en.ts +177 -0
- package/src/tool/banana-ripeness/i18n/es.ts +177 -0
- package/src/tool/banana-ripeness/i18n/fr.ts +177 -0
- package/src/tool/banana-ripeness/index.ts +24 -0
- package/src/tool/banana-ripeness/seo.astro +8 -0
- package/src/tool/brine/bibliography.astro +6 -0
- package/src/tool/brine/component.astro +884 -0
- package/src/tool/brine/i18n/en.ts +221 -0
- package/src/tool/brine/i18n/es.ts +222 -0
- package/src/tool/brine/i18n/fr.ts +221 -0
- package/src/tool/brine/index.ts +26 -0
- package/src/tool/brine/seo.astro +8 -0
- package/src/tool/cookware-guide/CookwareGuide.css +487 -0
- package/src/tool/cookware-guide/bibliography.astro +6 -0
- package/src/tool/cookware-guide/component.astro +164 -0
- package/src/tool/cookware-guide/i18n/en.ts +163 -0
- package/src/tool/cookware-guide/i18n/es.ts +163 -0
- package/src/tool/cookware-guide/i18n/fr.ts +164 -0
- package/src/tool/cookware-guide/index.ts +24 -0
- package/src/tool/cookware-guide/init.ts +174 -0
- package/src/tool/cookware-guide/seo.astro +8 -0
- package/src/tool/egg-timer/EggTimer.css +503 -0
- package/src/tool/egg-timer/bibliography.astro +14 -0
- package/src/tool/egg-timer/component.astro +281 -0
- package/src/tool/egg-timer/i18n/en.ts +230 -0
- package/src/tool/egg-timer/i18n/es.ts +222 -0
- package/src/tool/egg-timer/i18n/fr.ts +121 -0
- package/src/tool/egg-timer/index.ts +27 -0
- package/src/tool/egg-timer/seo.astro +39 -0
- package/src/tool/ingredient-rescaler/IngredientRescaler.css +308 -0
- package/src/tool/ingredient-rescaler/bibliography.astro +6 -0
- package/src/tool/ingredient-rescaler/component.astro +107 -0
- package/src/tool/ingredient-rescaler/i18n/en.ts +265 -0
- package/src/tool/ingredient-rescaler/i18n/es.ts +268 -0
- package/src/tool/ingredient-rescaler/i18n/fr.ts +207 -0
- package/src/tool/ingredient-rescaler/index.ts +24 -0
- package/src/tool/ingredient-rescaler/init.ts +200 -0
- package/src/tool/ingredient-rescaler/seo.astro +8 -0
- package/src/tool/kitchen-timer/KitchenTimer.css +325 -0
- package/src/tool/kitchen-timer/bibliography.astro +6 -0
- package/src/tool/kitchen-timer/component.astro +341 -0
- package/src/tool/kitchen-timer/i18n/en.ts +154 -0
- package/src/tool/kitchen-timer/i18n/es.ts +154 -0
- package/src/tool/kitchen-timer/i18n/fr.ts +154 -0
- package/src/tool/kitchen-timer/index.ts +26 -0
- package/src/tool/kitchen-timer/init.ts +55 -0
- package/src/tool/kitchen-timer/lib/AudioHelper.ts +27 -0
- package/src/tool/kitchen-timer/lib/DockManager.ts +97 -0
- package/src/tool/kitchen-timer/lib/KitchenTimer.ts +264 -0
- package/src/tool/kitchen-timer/seo.astro +8 -0
- package/src/tool/meringue-peak/MeringueCalculator.css +298 -0
- package/src/tool/meringue-peak/bibliography.astro +6 -0
- package/src/tool/meringue-peak/component.astro +169 -0
- package/src/tool/meringue-peak/i18n/en.ts +257 -0
- package/src/tool/meringue-peak/i18n/es.ts +234 -0
- package/src/tool/meringue-peak/i18n/fr.ts +234 -0
- package/src/tool/meringue-peak/index.ts +24 -0
- package/src/tool/meringue-peak/seo.astro +8 -0
- package/src/tool/mold-scaler/MoldScaler.css +406 -0
- package/src/tool/mold-scaler/bibliography.astro +6 -0
- package/src/tool/mold-scaler/component.astro +126 -0
- package/src/tool/mold-scaler/i18n/en.ts +268 -0
- package/src/tool/mold-scaler/i18n/es.ts +269 -0
- package/src/tool/mold-scaler/i18n/fr.ts +276 -0
- package/src/tool/mold-scaler/index.ts +26 -0
- package/src/tool/mold-scaler/init.ts +264 -0
- package/src/tool/mold-scaler/seo.astro +8 -0
- package/src/tool/pizza/Pizza.css +569 -0
- package/src/tool/pizza/bibliography.astro +6 -0
- package/src/tool/pizza/calculator.ts +143 -0
- package/src/tool/pizza/component.astro +237 -0
- package/src/tool/pizza/i18n/en.ts +288 -0
- package/src/tool/pizza/i18n/es.ts +289 -0
- package/src/tool/pizza/i18n/fr.ts +288 -0
- package/src/tool/pizza/index.ts +27 -0
- package/src/tool/pizza/seo.astro +8 -0
- package/src/tool/roux-guide/RouxGuide.css +483 -0
- package/src/tool/roux-guide/bibliography.astro +6 -0
- package/src/tool/roux-guide/component.astro +194 -0
- package/src/tool/roux-guide/i18n/en.ts +233 -0
- package/src/tool/roux-guide/i18n/es.ts +225 -0
- package/src/tool/roux-guide/i18n/fr.ts +225 -0
- package/src/tool/roux-guide/index.ts +24 -0
- package/src/tool/roux-guide/init.ts +187 -0
- package/src/tool/roux-guide/seo.astro +8 -0
- package/src/tool/sourdough-calculator/SourdoughCalculator.css +369 -0
- package/src/tool/sourdough-calculator/bibliography.astro +6 -0
- package/src/tool/sourdough-calculator/component.astro +198 -0
- package/src/tool/sourdough-calculator/i18n/en.ts +242 -0
- package/src/tool/sourdough-calculator/i18n/es.ts +243 -0
- package/src/tool/sourdough-calculator/i18n/fr.ts +248 -0
- package/src/tool/sourdough-calculator/index.ts +24 -0
- package/src/tool/sourdough-calculator/init.ts +131 -0
- package/src/tool/sourdough-calculator/seo.astro +8 -0
- package/src/tools.ts +29 -0
- package/src/types.ts +73 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from "../../../types";
|
|
2
|
+
|
|
3
|
+
export const content: ToolLocaleContent = {
|
|
4
|
+
slug: "huevos",
|
|
5
|
+
title: "Cronómetro de Huevos Científico",
|
|
6
|
+
description:
|
|
7
|
+
"Calculadora termodinámica para la cocción perfecta de huevos según altitud, temperatura y tamaño.",
|
|
8
|
+
faqTitle: "Preguntas Frecuentes",
|
|
9
|
+
bibliographyTitle: "Referencias Científicas",
|
|
10
|
+
ui: {
|
|
11
|
+
parameters: "Parámetros",
|
|
12
|
+
initial_temperature: "Temperatura Inicial",
|
|
13
|
+
fridge: "Nevera",
|
|
14
|
+
ambient: "Ambiente",
|
|
15
|
+
egg_size: "Tamaño del Huevo",
|
|
16
|
+
altitude: "Altitud",
|
|
17
|
+
use_location: "Usar mi ubicación",
|
|
18
|
+
altitude_help:
|
|
19
|
+
"El agua hierve a menor temperatura a mayor altitud, afectando el tiempo de cocción.",
|
|
20
|
+
sea_level: "Mar",
|
|
21
|
+
soft_cooked: "Clara Cuajada",
|
|
22
|
+
soft_description: "Yema líquida, clara blanca y suave.",
|
|
23
|
+
mollet: "Mollet",
|
|
24
|
+
mollet_description: "Yema cremosa, clara firme.",
|
|
25
|
+
hard_cooked: "Duro",
|
|
26
|
+
hard_description: "Totalmente cocido, yema firme.",
|
|
27
|
+
},
|
|
28
|
+
faq: [
|
|
29
|
+
{
|
|
30
|
+
question: "¿Por qué importa la altitud al cocer huevos?",
|
|
31
|
+
answer:
|
|
32
|
+
"El agua no siempre hierve a 100°C. A mayor altitud, menor presión atmosférica, y el agua hierve a menor temperatura. En Madrid (600m) hierve a 98°C, requiriendo más tiempo que a nivel del mar. En el Everest (70°C) es imposible cocer un huevo duro.",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: "¿Huevo de nevera o temperatura ambiente?",
|
|
36
|
+
answer:
|
|
37
|
+
"Huevo de nevera (4°C) necesita más tiempo que uno a temperatura ambiente (20°C). La diferencia puede ser de 2-3 minutos. Esta calculadora ajusta el tiempo automáticamente según la temperatura inicial.",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
question: "¿Por qué aparece un anillo verde en la yema?",
|
|
41
|
+
answer:
|
|
42
|
+
"Es sulfuro ferroso, resultado de sobrecocción. Cuando superas 80°C por mucho tiempo, el azufre de la clara reacciona con el hierro de la yema. No es tóxico, pero indica que te pasaste de tiempo. Usa baño de hielo inmediato para evitarlo.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: "¿Cómo pelo un huevo fácilmente?",
|
|
46
|
+
answer:
|
|
47
|
+
"Usa huevos de 1-2 semanas (no frescos del día), empieza con agua hirviendo (no fría), y sumerge en agua helada inmediatamente al terminar. El choque térmico contrae el huevo y facilita el pelado.",
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
bibliography: [
|
|
51
|
+
{
|
|
52
|
+
name: "The Science of Boiling an Egg - Charles D. H. Williams",
|
|
53
|
+
url: "https://newton.ex.ac.uk/teaching/CDHW/Egg/",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "The Food Lab: The Science of the Best Hard Boiled Eggs - J. Kenji López-Alt",
|
|
57
|
+
url: "https://www.seriouseats.com/the-food-lab-hard-boiled-eggs-recipe",
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "The Food Lab: Perfect Soft Boiled Eggs",
|
|
61
|
+
url: "https://www.seriouseats.com/soft-boiled-eggs-recipe",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
howTo: [
|
|
65
|
+
{
|
|
66
|
+
name: "Selecciona la temperatura inicial",
|
|
67
|
+
text: "Elige si tu huevo está en nevera (4°C) o a temperatura ambiente (20°C). Esta es la temperatura interna del huevo, no la del aire.",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "Elige el tamaño del huevo",
|
|
71
|
+
text: "S (pequeño, 53g), M (mediano, 58g), L (grande, 63g), o XL (muy grande, 73g). El tamaño determina cuánto tiempo tarda el calor en alcanzar el centro.",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "Especifica tu altitud",
|
|
75
|
+
text: "Introduce manualmente, usa el botón Mar para nivel del mar (0m), Madrid para 600m, o geoposiciona tu ubicación. Cada 300m baja 1°C el punto de ebullición del agua.",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "Aplica choque térmico",
|
|
79
|
+
text: "Cuando el temporizador suene, sumerge inmediatamente en agua con hielo. Esto detiene la cocción y facilita el pelado. El choque térmico es crítico para la precisión.",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
seo: [
|
|
83
|
+
{
|
|
84
|
+
type: 'title',
|
|
85
|
+
text: 'Guía Maestro para la Cocción Perfecta del Huevo',
|
|
86
|
+
level: 2,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'Cocer un huevo es un ejercicio de <strong>termodinámica aplicada</strong>. La precisión en la temperatura inicial, el tamaño del huevo y la altitud geográfica determina si obtendrás una yema líquida sedosa o un sólido sobrecocido con el indeseado anillo verde.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'stats',
|
|
94
|
+
columns: 4,
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
value: '62°C',
|
|
98
|
+
label: 'Coagulación Clara',
|
|
99
|
+
icon: 'mdi:egg-outline',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
value: '68°C',
|
|
103
|
+
label: 'Coagulación Yema',
|
|
104
|
+
icon: 'mdi:egg-fried',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
value: '-1°C',
|
|
108
|
+
label: 'Ebullición / 300m',
|
|
109
|
+
icon: 'mdi:mountain',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
value: '0s',
|
|
113
|
+
label: 'Error Tolerado',
|
|
114
|
+
icon: 'mdi:timer-check-outline',
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
text: 'Comparativa de Estados de Cocción',
|
|
121
|
+
level: 3,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'comparative',
|
|
125
|
+
columns: 3,
|
|
126
|
+
items: [
|
|
127
|
+
{
|
|
128
|
+
title: 'Huevo Pasado por Agua',
|
|
129
|
+
icon: 'mdi:coffee-outline',
|
|
130
|
+
description: 'Clara parcialmente cuajada y yema totalmente líquida.',
|
|
131
|
+
points: [
|
|
132
|
+
'Textura muy delicada',
|
|
133
|
+
'Ideal para mojar pan',
|
|
134
|
+
'Cocción rápida (3-4 min)',
|
|
135
|
+
'Difícil de pelar',
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
title: 'Huevo Mollet / Ceroso',
|
|
140
|
+
icon: 'mdi:water-percent',
|
|
141
|
+
description: 'Clara firme y yema cremosa, densa pero no sólida.',
|
|
142
|
+
highlight: true,
|
|
143
|
+
points: [
|
|
144
|
+
'El estándar gourmet',
|
|
145
|
+
'Yema con textura de miel',
|
|
146
|
+
'Piel elástica y firme',
|
|
147
|
+
'Perfecto para ensaladas',
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
title: 'Huevo Duro / Cocido',
|
|
152
|
+
icon: 'mdi:circle-slice-8',
|
|
153
|
+
description: 'Totalmente sólido pero tierno, sin anillo verde.',
|
|
154
|
+
points: [
|
|
155
|
+
'Yema opaca y firme',
|
|
156
|
+
'Fácil transporte y pelado',
|
|
157
|
+
'Ideal para rellenar',
|
|
158
|
+
'Requiere enfriado rápido',
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'title',
|
|
165
|
+
text: 'Punto de Ebullición según la Altitud',
|
|
166
|
+
level: 3,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'table',
|
|
170
|
+
headers: ['Ciudad / Altitud', 'Metros (msnm)', 'Ebullición (°C)', 'Tiempo Extra'],
|
|
171
|
+
rows: [
|
|
172
|
+
['Nivel del Mar (Cádiz)', '0m', '100°C', '0s'],
|
|
173
|
+
['Madrid', '650m', '97.8°C', '+25s'],
|
|
174
|
+
['Ciudad de México', '2240m', '92.6°C', '+75s'],
|
|
175
|
+
['La Paz (Bolivia)', '3640m', '88.1°C', '+140s'],
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: 'diagnostic',
|
|
180
|
+
variant: 'warning',
|
|
181
|
+
title: '¿Yema con Anillo Verde o Difícil de Pelar?',
|
|
182
|
+
html: 'El anillo verde es <strong>sulfuro ferroso</strong> caused por sobrecocción (reacción del azufre de la clara con el hierro de la yema). Si el huevo no se pela bien, es por ser demasiado fresco; el pH bajo hace que la clara se pegue a la membrana. Usa huevos de 1 semana y choque térmico en hielo.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'title',
|
|
186
|
+
text: 'Glosario de Ciencias del Huevo',
|
|
187
|
+
level: 3,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
type: 'glossary',
|
|
191
|
+
items: [
|
|
192
|
+
{
|
|
193
|
+
term: 'Ovotransferrina',
|
|
194
|
+
definition: 'Proteína de la clara que coagula primero (62°C), dando la estructura blanca inicial.',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
term: 'Ovalbúmina',
|
|
198
|
+
definition: 'Proteína mayoritaria que requiere más calor (80°C) para una firmeza total.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
term: 'Presión Atmosférica',
|
|
202
|
+
definition: 'Factor que determina la temperatura del agua hirviendo; a menor presión, menor temperatura.',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
term: 'Choque Térmico',
|
|
206
|
+
definition: 'Inmersión en agua helada para detener la cocción residual de forma instantánea.',
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
type: 'tip',
|
|
212
|
+
title: 'El truco del Vinagre',
|
|
213
|
+
html: 'Añade un chorro de vinagre al agua. Si la cáscara se agrieta, el ácido ayudará a coagular la clara que escape rápidamente, sellando la grieta y salvando el huevo.',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
type: 'paragraph',
|
|
217
|
+
html: 'Nuestra calculadora utiliza la ecuación de Charles Williams para ajustar cada segundo según tu ubicación exacta y el estado de tu nevera.',
|
|
218
|
+
},
|
|
219
|
+
],
|
|
220
|
+
|
|
221
|
+
schemas: [],
|
|
222
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from "../../../types";
|
|
2
|
+
|
|
3
|
+
export const content: ToolLocaleContent = {
|
|
4
|
+
slug: "minuteur-oeuf-parfait-calculatrice-altitude",
|
|
5
|
+
title: "Minuteur Scientifique Précis pour Œufs et Calculatrice d'Altitude",
|
|
6
|
+
description:
|
|
7
|
+
"Maîtrisez la thermodynamique de l'œuf parfait. Calculez le temps d'ébullition exact en fonction de votre altitude, de la taille de l'œuf et de la température initiale.",
|
|
8
|
+
ui: {
|
|
9
|
+
parameters: "Paramètres de Cuisson",
|
|
10
|
+
initial_temperature: "Température Initiale",
|
|
11
|
+
fridge: "Frigo (4°C)",
|
|
12
|
+
ambient: "Ambiante (20°C)",
|
|
13
|
+
egg_size: "Taille de l'Œuf",
|
|
14
|
+
altitude: "Votre Altitude",
|
|
15
|
+
use_location: "Détecter la Localisation",
|
|
16
|
+
altitude_help:
|
|
17
|
+
"La pression atmosphérique plus basse en altitude réduit le point d'ébullition de l'eau.",
|
|
18
|
+
sea_level: "0m",
|
|
19
|
+
soft_cooked: "Œuf Mollet",
|
|
20
|
+
soft_description: "Jaune coulant, blancs juste figés.",
|
|
21
|
+
mollet: "Mollet (Crémeuse)",
|
|
22
|
+
mollet_description: "Jaune crémeux, blancs fermes.",
|
|
23
|
+
hard_cooked: "Œuf Dur",
|
|
24
|
+
hard_description: "Jaune solide, blancs entièrement figés.",
|
|
25
|
+
},
|
|
26
|
+
faqTitle: "Questions Fréquemment Posées",
|
|
27
|
+
faq: [
|
|
28
|
+
{
|
|
29
|
+
question: "Pourquoi l'altitude affecte-t-elle le temps de cuisson des œufs?",
|
|
30
|
+
answer:
|
|
31
|
+
"À une altitude plus élevée, la pression atmosphérique est plus basse, ce qui réduit le point d'ébullition de l'eau. Par exemple, au niveau de la mer, l'eau bout à 100°C, mais à 1500m d'altitude, elle bout à seulement 95°C. Cela signifie que la cuisson prend plus de temps.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "Quelle est la différence entre un œuf mollet et un œuf dur?",
|
|
35
|
+
answer:
|
|
36
|
+
"Un œuf mollet a un jaune crémeux et coulant au centre, tandis que les blancs sont fermes. Un œuf dur a complètement cuit le jaune et les blancs. La différence réside principalement dans le temps de cuisson et la température atteinte.",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
question: "Comment puis-je obtenir des œufs durs parfaits?",
|
|
40
|
+
answer:
|
|
41
|
+
"Utilisez des œufs à température ambiante si possible, portez l'eau à ébullition, puis plongez les œufs et laissez-les cuire selon votre altitude. Refroidissez-les immédiatement dans de l'eau glacée pour arrêter la cuisson. Notre calculateur vous donne le temps exact pour votre localisation.",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
question: "Pourquoi dois-je refroidir les œufs après la cuisson?",
|
|
45
|
+
answer:
|
|
46
|
+
"Refroidir les œufs rapidement dans de l'eau glacée arrête le processus de cuisson et facilite l'épluchage. Cela empêche la cuisson excessive du jaune qui pourrait créer une bordure grisâtre.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
question: "Quel est l'âge idéal des œufs pour les faire bouillir?",
|
|
50
|
+
answer:
|
|
51
|
+
"Les œufs plus anciens (au moins une semaine) sont plus faciles à éplucher car l'albumine se sépare plus facilement de la coquille. Les œufs très frais peuvent être plus difficiles à éplucher.",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
bibliographyTitle: "Bibliographie",
|
|
55
|
+
bibliography: [
|
|
56
|
+
{
|
|
57
|
+
name: "The Science of Boiling an Egg - Charles D. H. Williams",
|
|
58
|
+
url: "https://newton.ex.ac.uk/teaching/CDHW/Egg/",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "The Food Lab: The Science of the Best Hard Boiled Eggs - J. Kenji López-Alt",
|
|
62
|
+
url: "https://www.seriouseats.com/",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "The Food Lab: Perfect Soft Boiled Eggs",
|
|
66
|
+
url: "https://www.seriouseats.com/",
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
howTo: [
|
|
70
|
+
{
|
|
71
|
+
name: "Sélectionnez Vos Paramètres",
|
|
72
|
+
text: "Choisissez la température initiale de l'œuf, sa taille, et votre altitude. Notre calculateur déterminera automatiquement le temps de cuisson optimal.",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "Portez l'Eau à Ébullition",
|
|
76
|
+
text: "Utilisez une casserole avec suffisamment d'eau pour couvrir les œufs d'environ 2-3cm. Portez à ébullition complète.",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "Plongez et Laissez Cuire",
|
|
80
|
+
text: "Plongez délicatement les œufs dans l'eau bouillante et commencez le minuteur selon le temps recommandé. La précision est essentielle pour le résultat parfait.",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "Refroidissez Immédiatement",
|
|
84
|
+
text: "Quand le temps est écoulé, plongez les œufs dans de l'eau glacée pendant au moins 5 minutes pour arrêter la cuisson et faciliter l'épluchage.",
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
seo: [
|
|
88
|
+
{
|
|
89
|
+
type: "title",
|
|
90
|
+
text: "Thermodynamique de la Cuisson Parfaite d'Œufs",
|
|
91
|
+
level: 2,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: "paragraph",
|
|
95
|
+
text: "La cuisson d'un œuf est un processus thermodynamique délicat. Les protéines se dénaturent à différentes températures, créant des textures distinctes du blanc et du jaune.",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: "title",
|
|
99
|
+
text: "Impact de l'Altitude sur la Cuisson",
|
|
100
|
+
level: 3,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: "paragraph",
|
|
104
|
+
text: "Au niveau de la mer, l'eau bout à 100°C. À 1000m d'altitude, elle bout à 96°C. À 2000m, à seulement 93°C. Cette différence affecte significativement les temps de cuisson.",
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: "title",
|
|
108
|
+
text: "Types d'Œufs Cuits",
|
|
109
|
+
level: 3,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: "list",
|
|
113
|
+
items: [
|
|
114
|
+
"Mollet (6-7 minutes): Jaune crémeux, blancs fermes",
|
|
115
|
+
"Dur (10-12 minutes): Complètement cuit, légèrement collet gris si non refroidi",
|
|
116
|
+
"Jammy (8-9 minutes): Équilibre parfait entre coulant et figé",
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
schemas: [],
|
|
121
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CookingToolEntry, ToolDefinition } from "../../types";
|
|
2
|
+
import EggTimerComponent from "./component.astro";
|
|
3
|
+
import EggTimerSEO from "./seo.astro";
|
|
4
|
+
import EggTimerBibliography from "./bibliography.astro";
|
|
5
|
+
|
|
6
|
+
export const eggTimer: CookingToolEntry = {
|
|
7
|
+
id: "egg-timer",
|
|
8
|
+
icons: {
|
|
9
|
+
bg: "mdi:chef-hat",
|
|
10
|
+
fg: "mdi:egg",
|
|
11
|
+
},
|
|
12
|
+
appSlug: "egg-timer",
|
|
13
|
+
i18n: {
|
|
14
|
+
es: () => import("./i18n/es").then((m) => m.content),
|
|
15
|
+
en: () => import("./i18n/en").then((m) => m.content),
|
|
16
|
+
fr: () => import("./i18n/fr").then((m) => m.content),
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { EggTimerComponent, EggTimerSEO, EggTimerBibliography };
|
|
21
|
+
|
|
22
|
+
export const EGG_TIMER_TOOL: ToolDefinition = {
|
|
23
|
+
entry: eggTimer,
|
|
24
|
+
Component: EggTimerComponent,
|
|
25
|
+
SEOComponent: EggTimerSEO,
|
|
26
|
+
BibliographyComponent: EggTimerBibliography,
|
|
27
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEOArticle, SEOTitle, SEOList, SEOTip, SEOTable } from "@jjlmoya/utils-shared";
|
|
3
|
+
import { eggTimer } from "./index";
|
|
4
|
+
import type { KnownLocale } from "../../types";
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = "es" } = Astro.props;
|
|
11
|
+
const content = await eggTimer.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<SEOArticle>
|
|
16
|
+
{content.seo.map((section: any) => {
|
|
17
|
+
if (section.type === "title") {
|
|
18
|
+
return <SEOTitle title={section.text} level={section.level || 2} />;
|
|
19
|
+
}
|
|
20
|
+
if (section.type === "paragraph") {
|
|
21
|
+
return <p set:html={section.html} />;
|
|
22
|
+
}
|
|
23
|
+
if (section.type === "list") {
|
|
24
|
+
return <SEOList items={section.items} />;
|
|
25
|
+
}
|
|
26
|
+
if (section.type === "code") {
|
|
27
|
+
return <pre><code set:text={section.text} /></pre>;
|
|
28
|
+
}
|
|
29
|
+
if (section.type === "table") {
|
|
30
|
+
return (
|
|
31
|
+
<SEOTable headers={section.headers} rows={section.rows} />
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
if (section.type === "tip") {
|
|
35
|
+
return <SEOTip title="Consejos">{section.html}</SEOTip>;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
})}
|
|
39
|
+
</SEOArticle>
|