@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,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
import './MoldScaler.css';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
ui: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const { ui } = Astro.props;
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<div class="mold-scaler-container">
|
|
12
|
+
<div class="ms-card">
|
|
13
|
+
<aside class="ms-sidebar">
|
|
14
|
+
<section class="ms-section">
|
|
15
|
+
<h2 class="ms-section-title">
|
|
16
|
+
<span class="ms-section-badge">1</span>
|
|
17
|
+
{ui.originalRecipe}
|
|
18
|
+
</h2>
|
|
19
|
+
|
|
20
|
+
<div class="ms-shape-selector">
|
|
21
|
+
<button class="ms-shape-btn active" data-target="original" data-shape="round" title={ui.round}>
|
|
22
|
+
<div class="ms-shape-icon"></div>
|
|
23
|
+
<span>{ui.round}</span>
|
|
24
|
+
</button>
|
|
25
|
+
<button class="ms-shape-btn" data-target="original" data-shape="square" title={ui.square}>
|
|
26
|
+
<div class="ms-shape-icon"></div>
|
|
27
|
+
<span>{ui.square}</span>
|
|
28
|
+
</button>
|
|
29
|
+
<button class="ms-shape-btn" data-target="original" data-shape="rectangular" title={ui.rectangular}>
|
|
30
|
+
<div class="ms-shape-icon"></div>
|
|
31
|
+
<span>{ui.rectangular}</span>
|
|
32
|
+
</button>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="original-inputs" class="ms-inputs-container"></div>
|
|
36
|
+
</section>
|
|
37
|
+
|
|
38
|
+
<section class="ms-section">
|
|
39
|
+
<h2 class="ms-section-title">
|
|
40
|
+
<span class="ms-section-badge">2</span>
|
|
41
|
+
{ui.yourMold}
|
|
42
|
+
</h2>
|
|
43
|
+
|
|
44
|
+
<div class="ms-shape-selector">
|
|
45
|
+
<button class="ms-shape-btn active" data-target="target" data-shape="round" title={ui.round}>
|
|
46
|
+
<div class="ms-shape-icon"></div>
|
|
47
|
+
<span>{ui.round}</span>
|
|
48
|
+
</button>
|
|
49
|
+
<button class="ms-shape-btn" data-target="target" data-shape="square" title={ui.square}>
|
|
50
|
+
<div class="ms-shape-icon"></div>
|
|
51
|
+
<span>{ui.square}</span>
|
|
52
|
+
</button>
|
|
53
|
+
<button class="ms-shape-btn" data-target="target" data-shape="rectangular" title={ui.rectangular}>
|
|
54
|
+
<div class="ms-shape-icon"></div>
|
|
55
|
+
<span>{ui.rectangular}</span>
|
|
56
|
+
</button>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div id="target-inputs" class="ms-inputs-container"></div>
|
|
60
|
+
</section>
|
|
61
|
+
|
|
62
|
+
<div class="ms-viz-container">
|
|
63
|
+
<svg id="visualizer" class="ms-viz-svg" viewBox="0 0 400 300">
|
|
64
|
+
<g transform="translate(200, 150)">
|
|
65
|
+
<path id="shape-original" fill="hsla(262, 83%, 58%, 0.15)" stroke="var(--ms-primary)" stroke-width="2" stroke-dasharray="4 4" />
|
|
66
|
+
<path id="shape-target" fill="hsla(150, 80%, 40%, 0.15)" stroke="var(--ms-success)" stroke-width="2" />
|
|
67
|
+
</g>
|
|
68
|
+
</svg>
|
|
69
|
+
<div class="ms-viz-legend">
|
|
70
|
+
<div class="ms-legend-item">
|
|
71
|
+
<span class="ms-dot original"></span>
|
|
72
|
+
<span>{ui.originalVisualization}</span>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="ms-legend-item">
|
|
75
|
+
<span class="ms-dot target"></span>
|
|
76
|
+
<span>{ui.yourVisualization}</span>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</aside>
|
|
81
|
+
|
|
82
|
+
<main class="ms-main">
|
|
83
|
+
<div class="ms-hero-result">
|
|
84
|
+
<div class="ms-result-label">{ui.multiplyingFactor}</div>
|
|
85
|
+
<div class="ms-result-value" id="result-factor">x1.00</div>
|
|
86
|
+
<div class="ms-result-text" id="result-text">{ui.equivalentMolds}</div>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<section class="ms-ingredients-section">
|
|
90
|
+
<h3 class="ms-section-title">
|
|
91
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5"/><path d="M16 19h6"/><path d="M19 16v6"/><circle cx="8" cy="12" r="2"/><circle cx="15" cy="12" r="2"/></svg>
|
|
92
|
+
{ui.ingredientCalculator}
|
|
93
|
+
</h3>
|
|
94
|
+
|
|
95
|
+
<div class="ms-ingredients-card">
|
|
96
|
+
<div id="ingredients-list" class="ms-ingredients-list"></div>
|
|
97
|
+
|
|
98
|
+
<button id="add-ingredient-btn" class="ms-add-btn">
|
|
99
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
|
|
100
|
+
{ui.addIngredient}
|
|
101
|
+
</button>
|
|
102
|
+
</div>
|
|
103
|
+
</section>
|
|
104
|
+
</main>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<script>
|
|
109
|
+
import { initMoldScaler } from './init';
|
|
110
|
+
window.__initMoldScaler = initMoldScaler;
|
|
111
|
+
</script>
|
|
112
|
+
|
|
113
|
+
<script define:vars={{ ui }}>
|
|
114
|
+
const init = () => {
|
|
115
|
+
if (window.__initMoldScaler) {
|
|
116
|
+
window.__initMoldScaler(ui);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (document.readyState === 'loading') {
|
|
121
|
+
document.addEventListener('DOMContentLoaded', init);
|
|
122
|
+
} else {
|
|
123
|
+
init();
|
|
124
|
+
}
|
|
125
|
+
</script>
|
|
126
|
+
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
export const content: ToolLocaleContent = {
|
|
4
|
+
slug: 'cake-pan-size-converter-calculator',
|
|
5
|
+
title: 'Cake Pan Size Converter and Baking Scaler',
|
|
6
|
+
description:
|
|
7
|
+
'Scale any baking recipe to your pans instantly. Calculate the conversion factor for round, square, and rectangular molds with professional precision.',
|
|
8
|
+
faqTitle: 'Baking Scaling Frequently Asked Questions',
|
|
9
|
+
bibliographyTitle: 'Scientific Baking Resources and References',
|
|
10
|
+
|
|
11
|
+
ui: {
|
|
12
|
+
originalRecipe: 'Original Recipe',
|
|
13
|
+
yourMold: 'Your Pan',
|
|
14
|
+
round: 'Round',
|
|
15
|
+
square: 'Square',
|
|
16
|
+
rectangular: 'Rectangular',
|
|
17
|
+
diameter: 'Diameter (cm)',
|
|
18
|
+
side: 'Side (cm)',
|
|
19
|
+
width: 'Width (cm)',
|
|
20
|
+
length: 'Length (cm)',
|
|
21
|
+
multiplyingFactor: 'Scaling Factor',
|
|
22
|
+
equivalentMolds: 'The pans are equivalent. Use the same amounts.',
|
|
23
|
+
smallerMold: 'Your pan is smaller. Reduce ingredients by multiplying them by',
|
|
24
|
+
largerMold: 'Your pan is larger. Increase ingredients by multiplying them by',
|
|
25
|
+
ingredientCalculator: 'Ingredient Weight Scaler',
|
|
26
|
+
addIngredient: 'Add Ingredient',
|
|
27
|
+
ingredient: 'Ingredient',
|
|
28
|
+
original: 'Original',
|
|
29
|
+
final: 'Final',
|
|
30
|
+
exampleIngredient: 'e.g. Flour',
|
|
31
|
+
delete: 'Delete',
|
|
32
|
+
originalVisualization: 'Original',
|
|
33
|
+
yourVisualization: 'Yours',
|
|
34
|
+
defaultIngredient1: 'Flour',
|
|
35
|
+
defaultIngredient2: 'Sugar',
|
|
36
|
+
reduce: 'Reduce',
|
|
37
|
+
increase: 'Increase',
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
faq: [
|
|
41
|
+
{
|
|
42
|
+
question: 'How exactly is the multiplying factor calculated?',
|
|
43
|
+
answer:
|
|
44
|
+
'The factor is derived by dividing the surface area of your target pan by the surface area of the original pan mentioned in the recipe. If the result is 1.5, you multiply every ingredient weight by 1.5.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: 'Can I convert a round cake pan to a square one?',
|
|
48
|
+
answer:
|
|
49
|
+
'Yes, our tool uses geometric formulas to compare surface areas regardless of shape. Simply enter the dimensions and the system handles the area equivalence automatically.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Does pan height affect the calculation?',
|
|
53
|
+
answer:
|
|
54
|
+
'This tool focuses on the base area, which is the most critical factor for most cakes. If your pan is significantly taller or shorter than the original, you might need additional timing adjustments during baking.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
question: 'How do I add multiple ingredients to my list?',
|
|
58
|
+
answer:
|
|
59
|
+
'Click the "Add Ingredient" button to create a new row. Type the name and original weight; the final column updates instantly with the scaled amount based on the current factor.',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
question: 'Is scaling reliable for very large sheet pans?',
|
|
63
|
+
answer:
|
|
64
|
+
'Mathematically yes, but keep in mind that very large cakes take much longer to cook in the center. You may need to lower the oven temperature slightly to prevent the edges from over-baking.',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
|
|
68
|
+
bibliography: [
|
|
69
|
+
{
|
|
70
|
+
name: 'Baking Science and Technology - E.J. Pyler',
|
|
71
|
+
url: 'https://www.bakingbusiness.com/',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'The Professional Pastry Chef - Bo Friberg',
|
|
75
|
+
url: 'https://www.wiley.com/',
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
|
|
79
|
+
howTo: [
|
|
80
|
+
{
|
|
81
|
+
name: 'Define the original recipe pan',
|
|
82
|
+
text: 'Select the shape and dimensions of the cake pan the recipe was originally designed for.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Input your target pan measurements',
|
|
86
|
+
text: 'Select your pan shape and enter its dimensions. The system will calculate the scaling factor immediately.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Use the ingredient weight converter',
|
|
90
|
+
text: 'Add your recipe ingredients to see exactly how much of each you need for the new pan size.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Monitor bake times',
|
|
94
|
+
text: 'Remember that changing pan size usually requires timing adjustments even if the temperature remains the same.',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Advanced Guide to Scaling Baking Recipes for Different Pans',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Converting cake recipe amounts for different pan sizes is a fundamental skill in professional baking. It is not just about adding more ingredients by eye; it requires respecting <strong>geometric proportions</strong> to maintain the same cake height, texture, and moisture levels.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
title: 'The Surface Area Secret',
|
|
112
|
+
html: 'The secret to proper scaling lies in surface area, not diameter. A 25% increase in diameter for a round pan nearly doubles the total surface area and ingredient requirements.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'stats',
|
|
116
|
+
columns: 4,
|
|
117
|
+
items: [
|
|
118
|
+
{
|
|
119
|
+
value: 'x1.56',
|
|
120
|
+
label: 'Factor 20cm to 25cm',
|
|
121
|
+
icon: 'mdi:resize',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
value: 'x2.25',
|
|
125
|
+
label: 'Factor 15cm to 22.5cm',
|
|
126
|
+
icon: 'mdi:arrow-up-bold-outline',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
value: '0.64',
|
|
130
|
+
label: 'Factor 25cm to 20cm',
|
|
131
|
+
icon: 'mdi:arrow-down-bold-outline',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
value: 'πr²',
|
|
135
|
+
label: 'Circular Area Formula',
|
|
136
|
+
icon: 'mdi:math-compass',
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Shape Comparison and Oven Efficiency',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'comparative',
|
|
147
|
+
columns: 3,
|
|
148
|
+
items: [
|
|
149
|
+
{
|
|
150
|
+
title: 'Round Pans',
|
|
151
|
+
icon: 'mdi:circle-outline',
|
|
152
|
+
description: 'The standard of baking. They offer very even cooking from the periphery toward the center.',
|
|
153
|
+
points: [
|
|
154
|
+
'Optimal heat distribution',
|
|
155
|
+
'Ideal for tall sponges',
|
|
156
|
+
'Calculated using radius',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
title: 'Square Pans',
|
|
161
|
+
icon: 'mdi:square-outline',
|
|
162
|
+
description: 'Allows for maximum use of oven space. Ideal for brownies and perfect clean individual cuts.',
|
|
163
|
+
highlight: true,
|
|
164
|
+
points: [
|
|
165
|
+
'Faster corner cooking',
|
|
166
|
+
'Easy to portion out',
|
|
167
|
+
'Calculated Side x Side',
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
title: 'Rectangular Pans',
|
|
172
|
+
icon: 'mdi:rectangle-outline',
|
|
173
|
+
description: 'Perfect for large traybakes and sheet cakes. Requires monitoring the center for doneness.',
|
|
174
|
+
points: [
|
|
175
|
+
'Highest total capacity',
|
|
176
|
+
'Multi-purpose use',
|
|
177
|
+
'Calculated Width x Length',
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'title',
|
|
184
|
+
text: 'Mathematics Behind Surface Area Scaling',
|
|
185
|
+
level: 3,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'To calculate the correct scaling factor, we must compare the base surface areas using these standard geometric formulas:',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'table',
|
|
193
|
+
headers: ['Pan Shape', 'Area Formula', 'Key Consideration'],
|
|
194
|
+
rows: [
|
|
195
|
+
['Circular', 'π × Radius²', 'Radius is half of the diameter'],
|
|
196
|
+
['Square', 'Side × Side', 'Internal measurements only'],
|
|
197
|
+
['Rectangular', 'Width × Length', 'Standard for sheet cakes and brownies'],
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'title',
|
|
202
|
+
text: 'Common Errors When Changing Pan Sizes',
|
|
203
|
+
level: 3,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: 'list',
|
|
207
|
+
items: [
|
|
208
|
+
'<strong>Linear scaling:</strong> Doubling the diameter does not double the ingredients; it quadruples them.',
|
|
209
|
+
'<strong>Ignoring pan depth:</strong> Deep pans require longer baking at lower temperatures to reach the center.',
|
|
210
|
+
'<strong>Leavening agents:</strong> Baking powder and yeast sometimes do not require a perfectly linear scaling.',
|
|
211
|
+
'<strong>Surface tension:</strong> Smaller batches might dry out faster due to higher surface-to-volume ratios.',
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
type: 'diagnostic',
|
|
216
|
+
variant: 'warning',
|
|
217
|
+
title: 'Pan Capacity Limit',
|
|
218
|
+
html: 'Never fill a pan more than 2/3 full, regardless of the scaling factor you have calculated, to allow for proper expansion.',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
type: 'title',
|
|
222
|
+
text: 'Scaling and Geometric Terms Glossary',
|
|
223
|
+
level: 3,
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
type: 'glossary',
|
|
227
|
+
items: [
|
|
228
|
+
{
|
|
229
|
+
term: 'Scaling Factor',
|
|
230
|
+
definition: ' The number you must multiply all ingredients by to adapt the recipe to the new pan.',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
term: 'Surface Area',
|
|
234
|
+
definition: ' The measurement of the pan base. In baking, this is the most relevant data for cake volume.',
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
term: 'Radius',
|
|
238
|
+
definition: ' The distance from the center to the edge of a circle. Critical for the πr² formula.',
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
term: 'Heat Transfer',
|
|
242
|
+
definition: ' How thermal energy moves through the pan. Changes drastically based on shape and material.',
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
type: 'tip',
|
|
248
|
+
html: 'When moving to a much larger pan, use bake-even strips or a heating core in the center to ensure even heat distribution without drying out the edges.',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
type: 'paragraph',
|
|
252
|
+
html: 'Mastering pan scaling gives you total creative freedom in the kitchen. Use this calculator to eliminate guesswork and achieve consistent professional results in every bake.',
|
|
253
|
+
},
|
|
254
|
+
],
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
schemas: [
|
|
258
|
+
{
|
|
259
|
+
'@context': 'https://schema.org',
|
|
260
|
+
'@type': 'WebApplication',
|
|
261
|
+
'name': 'JJLMoya Cake Pan Scaler',
|
|
262
|
+
'url': 'https://utils.jjlmoya.com/en/cake-pan-size-converter-calculator',
|
|
263
|
+
'description': 'Professional tool to convert ingredient weights between different baking pan sizes and shapes.',
|
|
264
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
265
|
+
'operatingSystem': 'All',
|
|
266
|
+
},
|
|
267
|
+
],
|
|
268
|
+
};
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
export const content: ToolLocaleContent = {
|
|
4
|
+
slug: 'escalador-moldes',
|
|
5
|
+
title: 'Calculadora para Escalar Moldes de Repostería',
|
|
6
|
+
description:
|
|
7
|
+
'Adapta cualquier receta de repostería a tus moldes. Calcula automáticamente el factor de conversión para moldes redondos, cuadrados y rectangulares con precisión profesional.',
|
|
8
|
+
faqTitle: 'Preguntas Frecuentes sobre el Escalado',
|
|
9
|
+
bibliographyTitle: 'Fuentes y Referencias Científicas',
|
|
10
|
+
|
|
11
|
+
ui: {
|
|
12
|
+
originalRecipe: 'Receta Original',
|
|
13
|
+
yourMold: 'Tu Molde',
|
|
14
|
+
round: 'Redondo',
|
|
15
|
+
square: 'Cuadrado',
|
|
16
|
+
rectangular: 'Rectangular',
|
|
17
|
+
diameter: 'Diámetro (cm)',
|
|
18
|
+
side: 'Lado (cm)',
|
|
19
|
+
width: 'Ancho (cm)',
|
|
20
|
+
length: 'Largo (cm)',
|
|
21
|
+
multiplyingFactor: 'Factor Multiplicador',
|
|
22
|
+
equivalentMolds: 'Los moldes son equivalentes. Usa las mismas cantidades.',
|
|
23
|
+
smallerMold: 'Tu molde es más pequeño. Reduce los ingredientes multiplicándolos por',
|
|
24
|
+
largerMold: 'Tu molde es más grande. Aumenta los ingredientes multiplicándolos por',
|
|
25
|
+
ingredientCalculator: 'Calculadora de Ingredientes',
|
|
26
|
+
addIngredient: 'Añadir Ingrediente',
|
|
27
|
+
ingredient: 'Ingrediente',
|
|
28
|
+
original: 'Original',
|
|
29
|
+
final: 'Final',
|
|
30
|
+
exampleIngredient: 'Ej. Harina',
|
|
31
|
+
delete: 'Eliminar',
|
|
32
|
+
originalVisualization: 'Original',
|
|
33
|
+
yourVisualization: 'Tuyo',
|
|
34
|
+
defaultIngredient1: 'Harina',
|
|
35
|
+
defaultIngredient2: 'Azúcar',
|
|
36
|
+
reduce: 'Reduce',
|
|
37
|
+
increase: 'Aumenta',
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
faq: [
|
|
41
|
+
{
|
|
42
|
+
question: '¿Cómo funciona exactamente el factor multiplicador?',
|
|
43
|
+
answer:
|
|
44
|
+
'El factor se obtiene dividiendo el área de tu molde objetivo entre el área del molde de la receta original. Si el resultado es 1.5, significa que debes multiplicar cada ingrediente por esa cifra para obtener el volumen correcto.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: '¿Puedo convertir un molde redondo a uno cuadrado?',
|
|
48
|
+
answer:
|
|
49
|
+
'Sí, la herramienta utiliza fórmulas geométricas precisas para comparar superficies sin importar la forma. Solo introduce las medidas y el sistema hará la equivalencia de áreas automáticamente.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: '¿Qué ocurre con la altura de los moldes?',
|
|
53
|
+
answer:
|
|
54
|
+
'Esta herramienta se centra en el área de la base, que es el factor más crítico. Si tu molde es significativamente más alto o bajo que el original, podrías necesitar un pequeño ajuste adicional en el tiempo de horneado.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
question: '¿Cómo añado ingredientes a la lista?',
|
|
58
|
+
answer:
|
|
59
|
+
'Haz clic en el botón inferior para añadir una nueva fila. Escribe el nombre y el peso original; la columna final se actualizará instantáneamente con la cantidad escalada.',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
question: '¿Es fiable el escalado para moldes muy grandes?',
|
|
63
|
+
answer:
|
|
64
|
+
'Matemáticamente es exacto, pero ten en cuenta que los pasteles muy grandes tardan más en cocinarse en el centro y pueden necesitar una temperatura ligeramente inferior para evitar que se quemen los bordes.',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
|
|
68
|
+
bibliography: [
|
|
69
|
+
{
|
|
70
|
+
name: 'Baking Science and Technology - E.J. Pyler',
|
|
71
|
+
url: 'https://www.bakingbusiness.com/',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: 'The Professional Pastry Chef - Bo Friberg',
|
|
75
|
+
url: 'https://www.wiley.com/',
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
|
|
79
|
+
howTo: [
|
|
80
|
+
{
|
|
81
|
+
name: 'Define el molde de la receta',
|
|
82
|
+
text: 'Selecciona la forma y dimensiones del molde para el que está diseñada originalmente la receta que quieres preparar.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Configura tu propio molde',
|
|
86
|
+
text: 'Introduce las medidas del molde que tienes en casa. El sistema calculará el factor de conversión inmediatamente.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Utiliza la calculadora de ingredientes',
|
|
90
|
+
text: 'Añade los ingredientes de tu receta para ver las cantidades exactas que necesitas para que el pastel tenga el mismo grosor.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Ajusta el horneado',
|
|
94
|
+
text: 'Recuerda que un cambio de tamaño suele implicar una variación en el tiempo de horno aunque la temperatura sea la misma.',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Guía Avanzada para Escalar Recetas según el Molde',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Convertir las cantidades de una receta para un molde diferente es una de las tareas más comunes y, a la vez, más propensas a errores en la repostería profesional. No se trata simplemente de sumar un poco más de cada cosa, sino de respetar las <strong>proporciones geométricas</strong> para mantener la textura y el punto de cocción ideales.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
title: 'El Secreto del Área',
|
|
112
|
+
html: 'El secreto de un buen escalado reside en el área, no en el diámetro. Un aumento del 25% en el diámetro de un molde redondo casi duplica su superficie total.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'stats',
|
|
116
|
+
columns: 4,
|
|
117
|
+
items: [
|
|
118
|
+
{
|
|
119
|
+
value: 'x1.56',
|
|
120
|
+
label: 'Factor de 20cm a 25cm',
|
|
121
|
+
icon: 'mdi:resize',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
value: 'x2.25',
|
|
125
|
+
label: 'Factor de 15cm a 22.5cm',
|
|
126
|
+
icon: 'mdi:arrow-up-bold-outline',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
value: '0.64',
|
|
130
|
+
label: 'Factor de 25cm a 20cm',
|
|
131
|
+
icon: 'mdi:arrow-down-bold-outline',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
value: 'πr²',
|
|
135
|
+
label: 'Fórmula de área circular',
|
|
136
|
+
icon: 'mdi:math-compass',
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Comparativa de Formas y su Eficiencia en el Horno',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'comparative',
|
|
147
|
+
columns: 3,
|
|
148
|
+
items: [
|
|
149
|
+
{
|
|
150
|
+
title: 'Moldes Redondos',
|
|
151
|
+
icon: 'mdi:circle-outline',
|
|
152
|
+
description: 'El estándar de la repostería. Ofrecen una cocción muy uniforme desde los bordes hacia el centro.',
|
|
153
|
+
points: [
|
|
154
|
+
'Distribución de calor óptima',
|
|
155
|
+
'Ideal para bizcochos altos',
|
|
156
|
+
'Cálculo basado en el radio',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
title: 'Moldes Cuadrados',
|
|
161
|
+
icon: 'mdi:square-outline',
|
|
162
|
+
description: 'Permiten un aprovechamiento total del espacio. Ideales para brownies y cortes individuales perfectos.',
|
|
163
|
+
highlight: true,
|
|
164
|
+
points: [
|
|
165
|
+
'Esquinas con cocción rápida',
|
|
166
|
+
'Fácil de porcionar',
|
|
167
|
+
'Cálculo Lado x Lado',
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
title: 'Moldes Rectangulares',
|
|
172
|
+
icon: 'mdi:rectangle-outline',
|
|
173
|
+
description: 'Perfectos para tartas grandes y bandejas de horno. Requieren vigilar los tiempos en el centro.',
|
|
174
|
+
points: [
|
|
175
|
+
'Gran capacidad total',
|
|
176
|
+
'Versatilidad de uso',
|
|
177
|
+
'Cálculo Ancho x Largo',
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'title',
|
|
184
|
+
text: 'Fundamentos Matemáticos del Escalado de Superficies',
|
|
185
|
+
level: 3,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Para calcular el factor de conversión adecuado, debemos comparar las áreas de la base de ambos moldes siguiendo estas fórmulas estándar:',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'table',
|
|
193
|
+
headers: ['Forma de Molde', 'Fórmula de Área', 'Consideración Clave'],
|
|
194
|
+
rows: [
|
|
195
|
+
['Circular', 'π × Radio²', 'El radio es la mitad del diámetro'],
|
|
196
|
+
['Cuadrado', 'Lado × Lado', 'Misma medida para ambos ejes'],
|
|
197
|
+
['Rectangular', 'Ancho × Largo', 'Ideal para bandejas y brownies'],
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'title',
|
|
202
|
+
text: 'Errores Comunes al Cambiar el Tamaño de un Pastel',
|
|
203
|
+
level: 3,
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: 'list',
|
|
207
|
+
items: [
|
|
208
|
+
'<strong>Escalado lineal:</strong> Doblar el diámetro no dobla los ingredientes, los cuadruplica.',
|
|
209
|
+
'<strong>Ignorar la altura:</strong> Si el molde es más profundo, el centro tardará mucho más en cocinarse.',
|
|
210
|
+
'<strong>No ajustar agentes leudantes:</strong> A veces, la levadura química no necesita un escalado estrictamente lineal.',
|
|
211
|
+
'<strong>Temperatura constante:</strong> En moldes masivos, es mejor bajar 10 grados y hornear más tiempo.',
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
type: 'diagnostic',
|
|
216
|
+
variant: 'warning',
|
|
217
|
+
title: 'Límite de Capacidad',
|
|
218
|
+
html: 'Nunca llenes un molde más de 2/3 de su capacidad total, independientemente del factor de conversión que hayas calculado.',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
type: 'title',
|
|
222
|
+
text: 'Glosario de Términos para el Escalado',
|
|
223
|
+
level: 3,
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
type: 'glossary',
|
|
227
|
+
items: [
|
|
228
|
+
{
|
|
229
|
+
term: 'Factor de Escalado',
|
|
230
|
+
definition: 'Número por el cual se deben multiplicar todos los ingredientes para adaptar la receta al nuevo molde.',
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
term: 'Área Superficial',
|
|
234
|
+
definition: 'La medida de la base del molde. En repostería, es el dato más relevante para el volumen del bizcocho.',
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
term: 'Radio',
|
|
238
|
+
definition: 'Distancia desde el centro hasta el borde de un círculo. Crucial para la fórmula πr².',
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
term: 'Transferencia de Calor',
|
|
242
|
+
definition: 'Cómo viaja la energía térmica en el molde. Cambia drásticamente según la forma y material.',
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
type: 'tip',
|
|
248
|
+
html: 'Si pasas a un molde mucho más grande, utiliza tiras de horneado o un núcleo de calor en el centro para asegurar que el calor se distribuya uniformemente sin secar los bordes.',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
type: 'paragraph',
|
|
252
|
+
html: 'Dominar el escalado de moldes te permite libertad creativa total en la cocina. Usa esta calculadora para eliminar las suposiciones y obtener resultados profesionales consistentes en cada horneado.',
|
|
253
|
+
},
|
|
254
|
+
],
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
schemas: [
|
|
258
|
+
{
|
|
259
|
+
'@context': 'https://schema.org',
|
|
260
|
+
'@type': 'WebApplication',
|
|
261
|
+
'name': 'Escalador de Moldes JJLMoya',
|
|
262
|
+
'url': 'https://utils.jjlmoya.com/es/escalador-moldes',
|
|
263
|
+
'description': 'Herramienta profesional para convertir cantidades de ingredientes entre diferentes tamaños de moldes de repostería.',
|
|
264
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
265
|
+
'operatingSystem': 'All',
|
|
266
|
+
},
|
|
267
|
+
],
|
|
268
|
+
};
|
|
269
|
+
|