@jjlmoya/utils-diy 1.10.0 → 1.12.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 +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +3 -1
- package/src/index.ts +2 -0
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/locale_completeness.test.ts +7 -9
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/balusterCalculator/baluster-calculator.css +9 -9
- package/src/tool/balusterCalculator/bibliography.astro +2 -10
- package/src/tool/balusterCalculator/bibliography.ts +16 -0
- package/src/tool/balusterCalculator/i18n/de.ts +2 -15
- package/src/tool/balusterCalculator/i18n/en.ts +2 -15
- package/src/tool/balusterCalculator/i18n/es.ts +2 -15
- package/src/tool/balusterCalculator/i18n/fr.ts +2 -15
- package/src/tool/balusterCalculator/i18n/id.ts +2 -15
- package/src/tool/balusterCalculator/i18n/it.ts +2 -15
- package/src/tool/balusterCalculator/i18n/ja.ts +2 -15
- package/src/tool/balusterCalculator/i18n/ko.ts +2 -15
- package/src/tool/balusterCalculator/i18n/nl.ts +2 -15
- package/src/tool/balusterCalculator/i18n/pl.ts +2 -15
- package/src/tool/balusterCalculator/i18n/pt.ts +2 -15
- package/src/tool/balusterCalculator/i18n/ru.ts +2 -15
- package/src/tool/balusterCalculator/i18n/sv.ts +2 -15
- package/src/tool/balusterCalculator/i18n/tr.ts +2 -15
- package/src/tool/balusterCalculator/i18n/zh.ts +2 -15
- package/src/tool/balusterCalculator/seo.astro +1 -1
- package/src/tool/clayCalculator/bibliography.astro +2 -10
- package/src/tool/clayCalculator/bibliography.ts +12 -0
- package/src/tool/clayCalculator/clay-shrinkage-calculator.css +30 -30
- package/src/tool/clayCalculator/i18n/de.ts +2 -11
- package/src/tool/clayCalculator/i18n/en.ts +2 -11
- package/src/tool/clayCalculator/i18n/es.ts +2 -11
- package/src/tool/clayCalculator/i18n/fr.ts +2 -11
- package/src/tool/clayCalculator/i18n/id.ts +2 -11
- package/src/tool/clayCalculator/i18n/it.ts +2 -11
- package/src/tool/clayCalculator/i18n/ja.ts +2 -11
- package/src/tool/clayCalculator/i18n/ko.ts +2 -11
- package/src/tool/clayCalculator/i18n/nl.ts +2 -11
- package/src/tool/clayCalculator/i18n/pl.ts +2 -11
- package/src/tool/clayCalculator/i18n/pt.ts +2 -11
- package/src/tool/clayCalculator/i18n/ru.ts +2 -11
- package/src/tool/clayCalculator/i18n/sv.ts +2 -11
- package/src/tool/clayCalculator/i18n/tr.ts +2 -11
- package/src/tool/clayCalculator/i18n/zh.ts +2 -11
- package/src/tool/clayCalculator/seo.astro +1 -1
- package/src/tool/concreteCalculator/bibliography.astro +2 -9
- package/src/tool/concreteCalculator/bibliography.ts +7 -0
- package/src/tool/concreteCalculator/concrete-mortar-calculator.css +18 -18
- package/src/tool/concreteCalculator/i18n/de.ts +2 -15
- package/src/tool/concreteCalculator/i18n/en.ts +2 -15
- package/src/tool/concreteCalculator/i18n/es.ts +2 -15
- package/src/tool/concreteCalculator/i18n/fr.ts +2 -15
- package/src/tool/concreteCalculator/i18n/id.ts +2 -15
- package/src/tool/concreteCalculator/i18n/it.ts +2 -15
- package/src/tool/concreteCalculator/i18n/ja.ts +2 -15
- package/src/tool/concreteCalculator/i18n/ko.ts +2 -15
- package/src/tool/concreteCalculator/i18n/nl.ts +2 -15
- package/src/tool/concreteCalculator/i18n/pl.ts +2 -15
- package/src/tool/concreteCalculator/i18n/pt.ts +2 -15
- package/src/tool/concreteCalculator/i18n/ru.ts +2 -15
- package/src/tool/concreteCalculator/i18n/sv.ts +2 -15
- package/src/tool/concreteCalculator/i18n/tr.ts +2 -15
- package/src/tool/concreteCalculator/i18n/zh.ts +2 -15
- package/src/tool/concreteCalculator/seo.astro +2 -1
- package/src/tool/cutOptimizer/bibliography.astro +2 -9
- package/src/tool/cutOptimizer/bibliography.ts +12 -0
- package/src/tool/cutOptimizer/cut-optimizer.css +25 -25
- package/src/tool/cutOptimizer/i18n/de.ts +2 -11
- package/src/tool/cutOptimizer/i18n/en.ts +2 -11
- package/src/tool/cutOptimizer/i18n/es.ts +2 -11
- package/src/tool/cutOptimizer/i18n/fr.ts +2 -11
- package/src/tool/cutOptimizer/i18n/id.ts +2 -11
- package/src/tool/cutOptimizer/i18n/it.ts +2 -11
- package/src/tool/cutOptimizer/i18n/ja.ts +2 -11
- package/src/tool/cutOptimizer/i18n/ko.ts +2 -11
- package/src/tool/cutOptimizer/i18n/nl.ts +2 -11
- package/src/tool/cutOptimizer/i18n/pl.ts +2 -11
- package/src/tool/cutOptimizer/i18n/pt.ts +2 -11
- package/src/tool/cutOptimizer/i18n/ru.ts +2 -11
- package/src/tool/cutOptimizer/i18n/sv.ts +2 -11
- package/src/tool/cutOptimizer/i18n/tr.ts +2 -11
- package/src/tool/cutOptimizer/i18n/zh.ts +2 -11
- package/src/tool/cutOptimizer/seo.astro +2 -1
- package/src/tool/drillCalculator/bibliography.astro +2 -9
- package/src/tool/drillCalculator/bibliography.ts +12 -0
- package/src/tool/drillCalculator/drill-rpm-calculator.css +57 -57
- package/src/tool/drillCalculator/i18n/de.ts +2 -5
- package/src/tool/drillCalculator/i18n/en.ts +2 -5
- package/src/tool/drillCalculator/i18n/es.ts +2 -5
- package/src/tool/drillCalculator/i18n/fr.ts +2 -5
- package/src/tool/drillCalculator/i18n/id.ts +2 -5
- package/src/tool/drillCalculator/i18n/it.ts +2 -5
- package/src/tool/drillCalculator/i18n/ja.ts +2 -5
- package/src/tool/drillCalculator/i18n/ko.ts +2 -5
- package/src/tool/drillCalculator/i18n/nl.ts +2 -5
- package/src/tool/drillCalculator/i18n/pl.ts +2 -5
- package/src/tool/drillCalculator/i18n/pt.ts +2 -5
- package/src/tool/drillCalculator/i18n/ru.ts +2 -5
- package/src/tool/drillCalculator/i18n/sv.ts +2 -5
- package/src/tool/drillCalculator/i18n/tr.ts +2 -5
- package/src/tool/drillCalculator/i18n/zh.ts +2 -5
- package/src/tool/drillCalculator/seo.astro +2 -1
- package/src/tool/drillSharpener/bibliography.astro +2 -9
- package/src/tool/drillSharpener/bibliography.ts +16 -0
- package/src/tool/drillSharpener/drill-sharpening-master.css +1 -1
- package/src/tool/drillSharpener/i18n/de.ts +2 -5
- package/src/tool/drillSharpener/i18n/en.ts +2 -6
- package/src/tool/drillSharpener/i18n/es.ts +2 -6
- package/src/tool/drillSharpener/i18n/fr.ts +2 -6
- package/src/tool/drillSharpener/i18n/id.ts +2 -5
- package/src/tool/drillSharpener/i18n/it.ts +2 -5
- package/src/tool/drillSharpener/i18n/ja.ts +2 -5
- package/src/tool/drillSharpener/i18n/ko.ts +2 -5
- package/src/tool/drillSharpener/i18n/nl.ts +2 -5
- package/src/tool/drillSharpener/i18n/pl.ts +2 -5
- package/src/tool/drillSharpener/i18n/pt.ts +2 -5
- package/src/tool/drillSharpener/i18n/ru.ts +2 -5
- package/src/tool/drillSharpener/i18n/sv.ts +2 -5
- package/src/tool/drillSharpener/i18n/tr.ts +2 -5
- package/src/tool/drillSharpener/i18n/zh.ts +2 -5
- package/src/tool/drillSharpener/seo.astro +2 -1
- package/src/tool/epoxyCalculator/bibliography.astro +2 -10
- package/src/tool/epoxyCalculator/bibliography.ts +20 -0
- package/src/tool/epoxyCalculator/epoxy-resin-calculator.css +13 -13
- package/src/tool/epoxyCalculator/i18n/de.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/en.ts +2 -19
- package/src/tool/epoxyCalculator/i18n/es.ts +2 -19
- package/src/tool/epoxyCalculator/i18n/fr.ts +2 -19
- package/src/tool/epoxyCalculator/i18n/id.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/it.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/ja.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/ko.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/nl.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/pl.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/pt.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/ru.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/sv.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/tr.ts +2 -5
- package/src/tool/epoxyCalculator/i18n/zh.ts +2 -5
- package/src/tool/epoxyCalculator/seo.astro +1 -1
- package/src/tool/furnitureFit/bibliography.astro +2 -9
- package/src/tool/furnitureFit/bibliography.ts +12 -0
- package/src/tool/furnitureFit/furniture-fit-calculator.css +7 -7
- package/src/tool/furnitureFit/i18n/de.ts +2 -5
- package/src/tool/furnitureFit/i18n/en.ts +2 -5
- package/src/tool/furnitureFit/i18n/es.ts +2 -5
- package/src/tool/furnitureFit/i18n/fr.ts +2 -5
- package/src/tool/furnitureFit/i18n/id.ts +2 -5
- package/src/tool/furnitureFit/i18n/it.ts +2 -5
- package/src/tool/furnitureFit/i18n/ja.ts +2 -5
- package/src/tool/furnitureFit/i18n/ko.ts +2 -5
- package/src/tool/furnitureFit/i18n/nl.ts +2 -5
- package/src/tool/furnitureFit/i18n/pl.ts +2 -5
- package/src/tool/furnitureFit/i18n/pt.ts +2 -5
- package/src/tool/furnitureFit/i18n/ru.ts +2 -5
- package/src/tool/furnitureFit/i18n/sv.ts +2 -5
- package/src/tool/furnitureFit/i18n/tr.ts +2 -5
- package/src/tool/furnitureFit/i18n/zh.ts +2 -5
- package/src/tool/furnitureFit/seo.astro +2 -1
- package/src/tool/mortarCalculator/bibliography.astro +2 -9
- package/src/tool/mortarCalculator/bibliography.ts +20 -0
- package/src/tool/mortarCalculator/i18n/de.ts +2 -5
- package/src/tool/mortarCalculator/i18n/en.ts +2 -19
- package/src/tool/mortarCalculator/i18n/es.ts +2 -19
- package/src/tool/mortarCalculator/i18n/fr.ts +2 -19
- package/src/tool/mortarCalculator/i18n/id.ts +2 -5
- package/src/tool/mortarCalculator/i18n/it.ts +2 -5
- package/src/tool/mortarCalculator/i18n/ja.ts +2 -5
- package/src/tool/mortarCalculator/i18n/ko.ts +2 -5
- package/src/tool/mortarCalculator/i18n/nl.ts +2 -5
- package/src/tool/mortarCalculator/i18n/pl.ts +2 -5
- package/src/tool/mortarCalculator/i18n/pt.ts +2 -5
- package/src/tool/mortarCalculator/i18n/ru.ts +2 -5
- package/src/tool/mortarCalculator/i18n/sv.ts +2 -5
- package/src/tool/mortarCalculator/i18n/tr.ts +2 -5
- package/src/tool/mortarCalculator/i18n/zh.ts +2 -5
- package/src/tool/mortarCalculator/lime-mortar-calculator.css +30 -30
- package/src/tool/mortarCalculator/seo.astro +2 -1
- package/src/tool/passepartoutCalculator/bibliography.astro +2 -9
- package/src/tool/passepartoutCalculator/bibliography.ts +16 -0
- package/src/tool/passepartoutCalculator/i18n/de.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/en.ts +2 -15
- package/src/tool/passepartoutCalculator/i18n/es.ts +2 -15
- package/src/tool/passepartoutCalculator/i18n/fr.ts +2 -15
- package/src/tool/passepartoutCalculator/i18n/id.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/it.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/ja.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/ko.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/nl.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/pl.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/pt.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/ru.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/sv.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/tr.ts +2 -6
- package/src/tool/passepartoutCalculator/i18n/zh.ts +2 -6
- package/src/tool/passepartoutCalculator/passepartout-calculator.css +26 -26
- package/src/tool/passepartoutCalculator/seo.astro +2 -1
- package/src/tool/stairCalculator/bibliography.astro +2 -9
- package/src/tool/stairCalculator/bibliography.ts +16 -0
- package/src/tool/stairCalculator/i18n/de.ts +2 -5
- package/src/tool/stairCalculator/i18n/en.ts +2 -6
- package/src/tool/stairCalculator/i18n/es.ts +2 -6
- package/src/tool/stairCalculator/i18n/fr.ts +2 -6
- package/src/tool/stairCalculator/i18n/id.ts +2 -5
- package/src/tool/stairCalculator/i18n/it.ts +2 -5
- package/src/tool/stairCalculator/i18n/ja.ts +2 -5
- package/src/tool/stairCalculator/i18n/ko.ts +2 -5
- package/src/tool/stairCalculator/i18n/nl.ts +2 -5
- package/src/tool/stairCalculator/i18n/pl.ts +2 -5
- package/src/tool/stairCalculator/i18n/pt.ts +2 -5
- package/src/tool/stairCalculator/i18n/ru.ts +2 -5
- package/src/tool/stairCalculator/i18n/sv.ts +2 -5
- package/src/tool/stairCalculator/i18n/tr.ts +2 -5
- package/src/tool/stairCalculator/i18n/zh.ts +2 -5
- package/src/tool/stairCalculator/seo.astro +2 -1
- package/src/tool/stairCalculator/stair-calculator.css +10 -10
- package/src/tool/thermalExpansionCalculator/bibliography.astro +2 -9
- package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -0
- package/src/tool/thermalExpansionCalculator/i18n/de.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/en.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/es.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/fr.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/id.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/it.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/ja.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/ko.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/nl.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/pl.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/pt.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/ru.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/sv.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/tr.ts +2 -6
- package/src/tool/thermalExpansionCalculator/i18n/zh.ts +2 -6
- package/src/tool/thermalExpansionCalculator/seo.astro +2 -1
- package/src/tool/thermalExpansionCalculator/thermal-expansion-calculator.css +19 -19
- package/src/tool/voltageDropCalculator/bibliography.astro +2 -9
- package/src/tool/voltageDropCalculator/bibliography.ts +16 -0
- package/src/tool/voltageDropCalculator/i18n/de.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/en.ts +2 -6
- package/src/tool/voltageDropCalculator/i18n/es.ts +2 -6
- package/src/tool/voltageDropCalculator/i18n/fr.ts +2 -6
- package/src/tool/voltageDropCalculator/i18n/id.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/it.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/ja.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/ko.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/nl.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/pl.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/pt.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/ru.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/sv.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/tr.ts +2 -5
- package/src/tool/voltageDropCalculator/i18n/zh.ts +2 -5
- package/src/tool/voltageDropCalculator/seo.astro +2 -1
- package/src/tool/voltageDropCalculator/voltage-drop-calculator.css +24 -24
- package/src/tool/workshopFractionConverter/bibliography.astro +6 -0
- package/src/tool/workshopFractionConverter/bibliography.ts +12 -0
- package/src/tool/workshopFractionConverter/client.ts +183 -0
- package/src/tool/workshopFractionConverter/component.astro +226 -0
- package/src/tool/workshopFractionConverter/converter.ts +110 -0
- package/src/tool/workshopFractionConverter/engine.ts +223 -0
- package/src/tool/workshopFractionConverter/entry.ts +24 -0
- package/src/tool/workshopFractionConverter/i18n/de.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/en.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/es.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/fr.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/id.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/it.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/ja.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/ko.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/nl.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/pl.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/pt.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/ru.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/sv.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/tr.ts +141 -0
- package/src/tool/workshopFractionConverter/i18n/zh.ts +141 -0
- package/src/tool/workshopFractionConverter/index.ts +11 -0
- package/src/tool/workshopFractionConverter/seo.astro +15 -0
- package/src/tool/workshopFractionConverter/types-client.ts +89 -0
- package/src/tool/workshopFractionConverter/ui-updater.ts +94 -0
- package/src/tool/workshopFractionConverter/ui.ts +38 -0
- package/src/tool/workshopFractionConverter/workshop-fraction-converter.css +563 -0
- package/src/tools.ts +2 -1
- package/src/types.ts +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { ConcreteCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'betong-bruk-kalkylator';
|
|
6
7
|
const title = 'Betong och brukskalkylator: Exakta mängder cement, sand och vatten';
|
|
@@ -94,21 +95,7 @@ export const content: ToolLocaleContent<ConcreteCalculatorUI> = {
|
|
|
94
95
|
description,
|
|
95
96
|
faqTitle: 'Vanliga frågor',
|
|
96
97
|
faq: faqData,
|
|
97
|
-
|
|
98
|
-
bibliography: [
|
|
99
|
-
{
|
|
100
|
-
name: 'Boverkets konstruktionsregler (EKS) - Sverige',
|
|
101
|
-
url: 'https://www.boverket.se/',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Concrete Mix Proportioning Standards (ASTM)',
|
|
105
|
-
url: 'https://store.astm.org/astm-bos-04.02.html',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'Guide för dosering av cementbruk',
|
|
109
|
-
url: 'https://sv.wikipedia.org/wiki/Murbruk',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
98
|
+
bibliography,
|
|
112
99
|
howTo: howToData,
|
|
113
100
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
114
101
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { ConcreteCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'beton-harc-hesaplama';
|
|
6
7
|
const title = 'Beton ve Harç Hesaplayıcı: Tam Çimento, Kum ve Su Miktarları';
|
|
@@ -94,21 +95,7 @@ export const content: ToolLocaleContent<ConcreteCalculatorUI> = {
|
|
|
94
95
|
description,
|
|
95
96
|
faqTitle: 'Sıkça Sorulan Sorular',
|
|
96
97
|
faq: faqData,
|
|
97
|
-
|
|
98
|
-
bibliography: [
|
|
99
|
-
{
|
|
100
|
-
name: 'TS EN 206 - Beton - Özellik, performans, imalat ve uygunluk',
|
|
101
|
-
url: 'https://www.tse.org.tr/',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Concrete Mix Proportioning Standards (ASTM)',
|
|
105
|
-
url: 'https://store.astm.org/astm-bos-04.02.html',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: 'Çimento Harçları Dozaj Kılavuzu',
|
|
109
|
-
url: 'https://tr.wikipedia.org/wiki/Har%C3%A7_(in%C5%9Faat)',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
98
|
+
bibliography,
|
|
112
99
|
howTo: howToData,
|
|
113
100
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
114
101
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { ConcreteCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'concrete-mortar-calculator';
|
|
6
7
|
const title = '混凝土与砂浆计算器:水泥、沙子和水的精确用量';
|
|
@@ -94,21 +95,7 @@ export const content: ToolLocaleContent<ConcreteCalculatorUI> = {
|
|
|
94
95
|
description,
|
|
95
96
|
faqTitle: '常见问题',
|
|
96
97
|
faq: faqData,
|
|
97
|
-
|
|
98
|
-
bibliography: [
|
|
99
|
-
{
|
|
100
|
-
name: 'GB 50204-2015 混凝土结构工程施工质量验收规范 (中国)',
|
|
101
|
-
url: 'http://www.mohurd.gov.cn/',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Concrete Mix Proportioning Standards (ASTM)',
|
|
105
|
-
url: 'https://store.astm.org/astm-bos-04.02.html',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: '水泥砂浆配比百科',
|
|
109
|
-
url: 'https://zh.wikipedia.org/wiki/砂浆',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
98
|
+
bibliography,
|
|
112
99
|
howTo: howToData,
|
|
113
100
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
114
101
|
seo: [
|
|
@@ -6,9 +6,10 @@ import type { KnownLocale } from '../../types';
|
|
|
6
6
|
interface Props {
|
|
7
7
|
locale?: KnownLocale;
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
const { locale = 'es' } = Astro.props;
|
|
10
11
|
const content = await concreteCalculator.i18n[locale]?.();
|
|
11
12
|
if (!content) return null;
|
|
12
13
|
---
|
|
13
14
|
|
|
14
|
-
<SEORenderer content={{ locale
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
const { locale = 'es' } = Astro.props;
|
|
10
|
-
const content = await cutOptimizer.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
11
4
|
---
|
|
12
5
|
|
|
13
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'Cutting Stock Problem: Wikipedia',
|
|
6
|
+
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
10
|
+
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
11
|
+
},
|
|
12
|
+
];
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
border: 1px solid #f1f5f9;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
.theme-dark .co-card {
|
|
38
38
|
background: #1e293b;
|
|
39
39
|
border-color: #334155;
|
|
40
40
|
}
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
margin: 0 0 1rem;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
.theme-dark .co-card-title {
|
|
53
53
|
color: #fff;
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
margin-bottom: 1.5rem;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
.theme-dark .co-mode-toggle {
|
|
83
83
|
background: rgba(30, 41, 59, 0.8);
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -102,11 +102,11 @@
|
|
|
102
102
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
.theme-dark .co-mode-btn {
|
|
106
106
|
color: #94a3b8;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
.theme-dark .co-mode-btn.co-mode-active {
|
|
110
110
|
color: #fff;
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
.theme-dark .co-input {
|
|
152
152
|
background: #0f172a;
|
|
153
153
|
border-color: #334155;
|
|
154
154
|
color: #fff;
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
height: 1.25rem;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
.theme-dark .co-btn-add {
|
|
180
180
|
background: rgba(249, 115, 22, 0.15);
|
|
181
181
|
color: #fb923c;
|
|
182
182
|
}
|
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
text-align: center;
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
.theme-dark .co-row-input {
|
|
253
253
|
background: #0f172a;
|
|
254
254
|
border-color: #334155;
|
|
255
255
|
color: #fff;
|
|
@@ -300,7 +300,7 @@
|
|
|
300
300
|
border: 1px solid #f1f5f9;
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
.theme-dark .co-stat-card {
|
|
304
304
|
background: #1e293b;
|
|
305
305
|
border-color: #334155;
|
|
306
306
|
}
|
|
@@ -321,7 +321,7 @@
|
|
|
321
321
|
line-height: 1;
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
-
|
|
324
|
+
.theme-dark .co-stat-value {
|
|
325
325
|
color: #fff;
|
|
326
326
|
}
|
|
327
327
|
|
|
@@ -329,7 +329,7 @@
|
|
|
329
329
|
color: #ef4444;
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
|
|
332
|
+
.theme-dark .co-stat-red {
|
|
333
333
|
color: #f87171;
|
|
334
334
|
}
|
|
335
335
|
|
|
@@ -337,7 +337,7 @@
|
|
|
337
337
|
color: #22c55e;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
|
|
340
|
+
.theme-dark .co-stat-green {
|
|
341
341
|
color: #4ade80;
|
|
342
342
|
}
|
|
343
343
|
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
min-height: 16rem;
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
|
|
355
|
+
.co-empty-state {
|
|
356
356
|
display: flex;
|
|
357
357
|
align-items: center;
|
|
358
358
|
justify-content: center;
|
|
@@ -363,19 +363,19 @@
|
|
|
363
363
|
text-align: center;
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
-
|
|
366
|
+
.co-bar-wrap {
|
|
367
367
|
background: #f8fafc;
|
|
368
368
|
border-radius: 0.5rem;
|
|
369
369
|
padding: 0.75rem;
|
|
370
370
|
border: 1px solid #f1f5f9;
|
|
371
371
|
}
|
|
372
372
|
|
|
373
|
-
|
|
373
|
+
.theme-dark .co-bar-wrap {
|
|
374
374
|
background: rgba(15, 23, 42, 0.5);
|
|
375
375
|
border-color: #1e293b;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
|
|
378
|
+
.co-bar-hdr {
|
|
379
379
|
display: flex;
|
|
380
380
|
justify-content: space-between;
|
|
381
381
|
font-size: 0.7rem;
|
|
@@ -384,7 +384,7 @@
|
|
|
384
384
|
margin-bottom: 0.5rem;
|
|
385
385
|
}
|
|
386
386
|
|
|
387
|
-
|
|
387
|
+
.co-bar {
|
|
388
388
|
height: 3rem;
|
|
389
389
|
background: #e2e8f0;
|
|
390
390
|
border-radius: 0.25rem;
|
|
@@ -393,11 +393,11 @@
|
|
|
393
393
|
position: relative;
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
-
|
|
396
|
+
.theme-dark .co-bar {
|
|
397
397
|
background: #334155;
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
-
|
|
400
|
+
.co-seg {
|
|
401
401
|
height: 100%;
|
|
402
402
|
background: linear-gradient(to bottom, #fb923c, #ea580c);
|
|
403
403
|
border-right: 1px solid rgba(255, 255, 255, 0.2);
|
|
@@ -411,31 +411,31 @@
|
|
|
411
411
|
cursor: default;
|
|
412
412
|
}
|
|
413
413
|
|
|
414
|
-
|
|
414
|
+
.co-panel-wrap {
|
|
415
415
|
background: #f8fafc;
|
|
416
416
|
border-radius: 0.5rem;
|
|
417
417
|
padding: 0.75rem;
|
|
418
418
|
border: 1px solid #f1f5f9;
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
|
|
421
|
+
.theme-dark .co-panel-wrap {
|
|
422
422
|
background: rgba(15, 23, 42, 0.5);
|
|
423
423
|
border-color: #1e293b;
|
|
424
424
|
}
|
|
425
425
|
|
|
426
|
-
|
|
426
|
+
.co-sheet {
|
|
427
427
|
position: relative;
|
|
428
428
|
background: #e2e8f0;
|
|
429
429
|
width: 100%;
|
|
430
430
|
border: 1px solid #cbd5e1;
|
|
431
431
|
}
|
|
432
432
|
|
|
433
|
-
|
|
433
|
+
.theme-dark .co-sheet {
|
|
434
434
|
background: #334155;
|
|
435
435
|
border-color: #475569;
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
-
|
|
438
|
+
.co-rect {
|
|
439
439
|
position: absolute;
|
|
440
440
|
background: linear-gradient(135deg, #3b82f6, #1d4ed8);
|
|
441
441
|
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
@@ -450,7 +450,7 @@
|
|
|
450
450
|
transition: filter 0.15s ease;
|
|
451
451
|
}
|
|
452
452
|
|
|
453
|
-
|
|
453
|
+
.co-rect:hover {
|
|
454
454
|
filter: brightness(1.1);
|
|
455
455
|
}
|
|
456
456
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'schnittoptimierung';
|
|
6
7
|
const title = 'Schnittoptimierung für Leisten und Platten';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Häufig gestellte Fragen',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'cut-optimizer';
|
|
6
7
|
const title = '1D and 2D Cut Optimizer: Minimize Material Waste for Wood and Metal';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Frequently Asked Questions',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'optimizador-corte';
|
|
6
7
|
const title = 'Optimizador de Cortes de Listones y Tableros';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Preguntas Frecuentes',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'optimiseur-decoupe';
|
|
6
7
|
const title = 'Optimiseur de Découpe 1D et 2D: Réduire les Chutes de Matériaux';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Questions Fréquentes',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Problème de découpe de stock: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Problème de bin packing: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'pengoptimal-potongan';
|
|
6
7
|
const title = 'Pengoptimal Potongan Kayu dan Papan';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Pertanyaan Umum',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'ottimizzatore-taglio';
|
|
6
7
|
const title = 'Ottimizzatore di Taglio per Listelli e Pannelli';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Domande Frequenti',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'cut-optimizer';
|
|
6
7
|
const title = '木材・板材カット最適化計算機';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'よくある質問',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'cut-optimizer';
|
|
6
7
|
const title = '목재 및 판재 절단 최적화 계산기';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: '자주 묻는 질문',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'zaagplan-optimalisatie';
|
|
6
7
|
const title = 'Zaagplan Optimalisatie voor Latten en Platen';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Veelgestelde Vragen',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'optymalizator-ciecia';
|
|
6
7
|
const title = 'Optymalizator Cięcia Listew i Płyt';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Często Zadawane Pytania',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'otimizador-corte';
|
|
6
7
|
const title = 'Otimizador de Cortes de Ripas e Painéis';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Perguntas Frequentes',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
4
5
|
|
|
5
6
|
const slug = 'optimizator-raskroya';
|
|
6
7
|
const title = 'Оптимизатор раскроя полотна и досок';
|
|
@@ -89,17 +90,7 @@ export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
|
89
90
|
description,
|
|
90
91
|
faqTitle: 'Часто задаваемые вопросы',
|
|
91
92
|
faq: faqData,
|
|
92
|
-
|
|
93
|
-
bibliography: [
|
|
94
|
-
{
|
|
95
|
-
name: 'Cutting Stock Problem: Wikipedia',
|
|
96
|
-
url: 'https://en.wikipedia.org/wiki/Cutting_stock_problem',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: 'Bin Packing Problem: Wolfram MathWorld',
|
|
100
|
-
url: 'https://mathworld.wolfram.com/BinPackingProblem.html',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
93
|
+
bibliography,
|
|
103
94
|
howTo: howToData,
|
|
104
95
|
schemas: [faqSchema, howToSchema, appSchema],
|
|
105
96
|
seo: [
|