@jjlmoya/utils-textiles 1.12.0 → 1.14.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.
Files changed (244) hide show
  1. package/package.json +1 -1
  2. package/src/pages/[locale]/[slug].astro +30 -14
  3. package/src/tests/locale_completeness.test.ts +0 -33
  4. package/src/tests/shared-test-helpers.ts +56 -0
  5. package/src/tests/tool_exports.test.ts +34 -0
  6. package/src/tool/burnTest/bibliography.astro +2 -10
  7. package/src/tool/burnTest/bibliography.ts +16 -0
  8. package/src/tool/burnTest/i18n/de.ts +2 -16
  9. package/src/tool/burnTest/i18n/en.ts +2 -16
  10. package/src/tool/burnTest/i18n/es.ts +2 -16
  11. package/src/tool/burnTest/i18n/fr.ts +2 -16
  12. package/src/tool/burnTest/i18n/id.ts +2 -16
  13. package/src/tool/burnTest/i18n/it.ts +2 -16
  14. package/src/tool/burnTest/i18n/ja.ts +2 -16
  15. package/src/tool/burnTest/i18n/ko.ts +2 -16
  16. package/src/tool/burnTest/i18n/nl.ts +2 -16
  17. package/src/tool/burnTest/i18n/pl.ts +2 -16
  18. package/src/tool/burnTest/i18n/pt.ts +2 -16
  19. package/src/tool/burnTest/i18n/ru.ts +2 -16
  20. package/src/tool/burnTest/i18n/sv.ts +2 -16
  21. package/src/tool/burnTest/i18n/tr.ts +2 -16
  22. package/src/tool/burnTest/i18n/zh.ts +2 -16
  23. package/src/tool/burnTest/index.ts +1 -0
  24. package/src/tool/burnTest/seo.astro +2 -27
  25. package/src/tool/burnTest/textile-burn-test.css +11 -11
  26. package/src/tool/clothingSizeConverter/bibliography.astro +2 -10
  27. package/src/tool/clothingSizeConverter/bibliography.ts +10 -0
  28. package/src/tool/clothingSizeConverter/clothing-size-converter.css +13 -13
  29. package/src/tool/clothingSizeConverter/i18n/de.ts +2 -10
  30. package/src/tool/clothingSizeConverter/i18n/en.ts +2 -10
  31. package/src/tool/clothingSizeConverter/i18n/es.ts +2 -10
  32. package/src/tool/clothingSizeConverter/i18n/fr.ts +2 -10
  33. package/src/tool/clothingSizeConverter/i18n/id.ts +2 -10
  34. package/src/tool/clothingSizeConverter/i18n/it.ts +2 -10
  35. package/src/tool/clothingSizeConverter/i18n/ja.ts +2 -10
  36. package/src/tool/clothingSizeConverter/i18n/ko.ts +2 -10
  37. package/src/tool/clothingSizeConverter/i18n/nl.ts +2 -10
  38. package/src/tool/clothingSizeConverter/i18n/pl.ts +2 -10
  39. package/src/tool/clothingSizeConverter/i18n/pt.ts +2 -10
  40. package/src/tool/clothingSizeConverter/i18n/ru.ts +2 -10
  41. package/src/tool/clothingSizeConverter/i18n/sv.ts +2 -10
  42. package/src/tool/clothingSizeConverter/i18n/tr.ts +2 -10
  43. package/src/tool/clothingSizeConverter/i18n/zh.ts +2 -10
  44. package/src/tool/clothingSizeConverter/index.ts +1 -0
  45. package/src/tool/clothingSizeConverter/seo.astro +2 -27
  46. package/src/tool/fabricProjectCalculator/bibliography.astro +2 -10
  47. package/src/tool/fabricProjectCalculator/bibliography.ts +16 -0
  48. package/src/tool/fabricProjectCalculator/fabric-project-calculator.css +12 -12
  49. package/src/tool/fabricProjectCalculator/i18n/de.ts +2 -16
  50. package/src/tool/fabricProjectCalculator/i18n/en.ts +2 -16
  51. package/src/tool/fabricProjectCalculator/i18n/es.ts +2 -16
  52. package/src/tool/fabricProjectCalculator/i18n/fr.ts +2 -16
  53. package/src/tool/fabricProjectCalculator/i18n/id.ts +2 -16
  54. package/src/tool/fabricProjectCalculator/i18n/it.ts +2 -16
  55. package/src/tool/fabricProjectCalculator/i18n/ja.ts +2 -16
  56. package/src/tool/fabricProjectCalculator/i18n/ko.ts +2 -16
  57. package/src/tool/fabricProjectCalculator/i18n/nl.ts +2 -16
  58. package/src/tool/fabricProjectCalculator/i18n/pl.ts +2 -16
  59. package/src/tool/fabricProjectCalculator/i18n/pt.ts +2 -16
  60. package/src/tool/fabricProjectCalculator/i18n/ru.ts +2 -16
  61. package/src/tool/fabricProjectCalculator/i18n/sv.ts +2 -16
  62. package/src/tool/fabricProjectCalculator/i18n/tr.ts +2 -16
  63. package/src/tool/fabricProjectCalculator/i18n/zh.ts +2 -16
  64. package/src/tool/fabricProjectCalculator/index.ts +1 -0
  65. package/src/tool/fabricProjectCalculator/seo.astro +2 -27
  66. package/src/tool/fabricTruth/bibliography.astro +2 -10
  67. package/src/tool/fabricTruth/bibliography.ts +16 -0
  68. package/src/tool/fabricTruth/fabric-truthfulness.css +11 -11
  69. package/src/tool/fabricTruth/i18n/de.ts +2 -16
  70. package/src/tool/fabricTruth/i18n/en.ts +2 -16
  71. package/src/tool/fabricTruth/i18n/es.ts +2 -16
  72. package/src/tool/fabricTruth/i18n/fr.ts +2 -16
  73. package/src/tool/fabricTruth/i18n/id.ts +2 -16
  74. package/src/tool/fabricTruth/i18n/it.ts +2 -16
  75. package/src/tool/fabricTruth/i18n/ja.ts +2 -16
  76. package/src/tool/fabricTruth/i18n/ko.ts +2 -16
  77. package/src/tool/fabricTruth/i18n/nl.ts +2 -16
  78. package/src/tool/fabricTruth/i18n/pl.ts +2 -16
  79. package/src/tool/fabricTruth/i18n/pt.ts +2 -16
  80. package/src/tool/fabricTruth/i18n/ru.ts +2 -16
  81. package/src/tool/fabricTruth/i18n/sv.ts +2 -16
  82. package/src/tool/fabricTruth/i18n/tr.ts +2 -16
  83. package/src/tool/fabricTruth/i18n/zh.ts +2 -16
  84. package/src/tool/fabricTruth/index.ts +1 -0
  85. package/src/tool/fabricTruth/seo.astro +2 -27
  86. package/src/tool/fiberPrep/bibliography.astro +2 -10
  87. package/src/tool/fiberPrep/bibliography.ts +12 -0
  88. package/src/tool/fiberPrep/i18n/de.ts +2 -12
  89. package/src/tool/fiberPrep/i18n/en.ts +2 -12
  90. package/src/tool/fiberPrep/i18n/es.ts +2 -12
  91. package/src/tool/fiberPrep/i18n/fr.ts +2 -12
  92. package/src/tool/fiberPrep/i18n/id.ts +2 -12
  93. package/src/tool/fiberPrep/i18n/it.ts +2 -12
  94. package/src/tool/fiberPrep/i18n/ja.ts +2 -12
  95. package/src/tool/fiberPrep/i18n/ko.ts +2 -12
  96. package/src/tool/fiberPrep/i18n/nl.ts +2 -12
  97. package/src/tool/fiberPrep/i18n/pl.ts +2 -12
  98. package/src/tool/fiberPrep/i18n/pt.ts +2 -12
  99. package/src/tool/fiberPrep/i18n/ru.ts +2 -12
  100. package/src/tool/fiberPrep/i18n/sv.ts +2 -12
  101. package/src/tool/fiberPrep/i18n/tr.ts +2 -12
  102. package/src/tool/fiberPrep/i18n/zh.ts +2 -12
  103. package/src/tool/fiberPrep/index.ts +1 -0
  104. package/src/tool/fiberPrep/seo.astro +2 -27
  105. package/src/tool/knittingGauge/bibliography.astro +2 -10
  106. package/src/tool/knittingGauge/bibliography.ts +12 -0
  107. package/src/tool/knittingGauge/i18n/de.ts +2 -12
  108. package/src/tool/knittingGauge/i18n/en.ts +2 -12
  109. package/src/tool/knittingGauge/i18n/es.ts +2 -12
  110. package/src/tool/knittingGauge/i18n/fr.ts +2 -12
  111. package/src/tool/knittingGauge/i18n/id.ts +2 -12
  112. package/src/tool/knittingGauge/i18n/it.ts +2 -12
  113. package/src/tool/knittingGauge/i18n/ja.ts +2 -12
  114. package/src/tool/knittingGauge/i18n/ko.ts +2 -12
  115. package/src/tool/knittingGauge/i18n/nl.ts +2 -12
  116. package/src/tool/knittingGauge/i18n/pl.ts +2 -12
  117. package/src/tool/knittingGauge/i18n/pt.ts +2 -12
  118. package/src/tool/knittingGauge/i18n/ru.ts +2 -12
  119. package/src/tool/knittingGauge/i18n/sv.ts +2 -12
  120. package/src/tool/knittingGauge/i18n/tr.ts +2 -12
  121. package/src/tool/knittingGauge/i18n/zh.ts +2 -12
  122. package/src/tool/knittingGauge/index.ts +1 -0
  123. package/src/tool/knittingGauge/knitting-gauge-calculator.css +9 -9
  124. package/src/tool/knittingGauge/seo.astro +2 -27
  125. package/src/tool/laundryGuide/bibliography.astro +2 -10
  126. package/src/tool/laundryGuide/bibliography.ts +6 -0
  127. package/src/tool/laundryGuide/i18n/de.ts +2 -6
  128. package/src/tool/laundryGuide/i18n/en.ts +2 -6
  129. package/src/tool/laundryGuide/i18n/es.ts +2 -6
  130. package/src/tool/laundryGuide/i18n/fr.ts +2 -6
  131. package/src/tool/laundryGuide/i18n/id.ts +2 -6
  132. package/src/tool/laundryGuide/i18n/it.ts +2 -6
  133. package/src/tool/laundryGuide/i18n/ja.ts +2 -6
  134. package/src/tool/laundryGuide/i18n/ko.ts +2 -6
  135. package/src/tool/laundryGuide/i18n/nl.ts +2 -6
  136. package/src/tool/laundryGuide/i18n/pl.ts +2 -6
  137. package/src/tool/laundryGuide/i18n/pt.ts +2 -6
  138. package/src/tool/laundryGuide/i18n/ru.ts +2 -6
  139. package/src/tool/laundryGuide/i18n/sv.ts +2 -6
  140. package/src/tool/laundryGuide/i18n/tr.ts +2 -6
  141. package/src/tool/laundryGuide/i18n/zh.ts +2 -6
  142. package/src/tool/laundryGuide/index.ts +1 -0
  143. package/src/tool/laundryGuide/seo.astro +2 -27
  144. package/src/tool/needleConverter/bibliography.astro +2 -10
  145. package/src/tool/needleConverter/bibliography.ts +12 -0
  146. package/src/tool/needleConverter/i18n/de.ts +2 -12
  147. package/src/tool/needleConverter/i18n/en.ts +2 -12
  148. package/src/tool/needleConverter/i18n/es.ts +2 -12
  149. package/src/tool/needleConverter/i18n/fr.ts +2 -12
  150. package/src/tool/needleConverter/i18n/id.ts +2 -12
  151. package/src/tool/needleConverter/i18n/it.ts +2 -12
  152. package/src/tool/needleConverter/i18n/ja.ts +2 -12
  153. package/src/tool/needleConverter/i18n/ko.ts +2 -12
  154. package/src/tool/needleConverter/i18n/nl.ts +2 -12
  155. package/src/tool/needleConverter/i18n/pl.ts +2 -12
  156. package/src/tool/needleConverter/i18n/pt.ts +2 -12
  157. package/src/tool/needleConverter/i18n/ru.ts +2 -12
  158. package/src/tool/needleConverter/i18n/sv.ts +2 -12
  159. package/src/tool/needleConverter/i18n/tr.ts +2 -12
  160. package/src/tool/needleConverter/i18n/zh.ts +2 -12
  161. package/src/tool/needleConverter/index.ts +1 -0
  162. package/src/tool/needleConverter/knitting-needle-converter.css +13 -13
  163. package/src/tool/needleConverter/seo.astro +1 -1
  164. package/src/tool/sewingPatternScaler/bibliography.astro +2 -10
  165. package/src/tool/sewingPatternScaler/bibliography.ts +12 -0
  166. package/src/tool/sewingPatternScaler/i18n/de.ts +2 -12
  167. package/src/tool/sewingPatternScaler/i18n/en.ts +2 -12
  168. package/src/tool/sewingPatternScaler/i18n/es.ts +2 -12
  169. package/src/tool/sewingPatternScaler/i18n/fr.ts +2 -12
  170. package/src/tool/sewingPatternScaler/i18n/id.ts +2 -12
  171. package/src/tool/sewingPatternScaler/i18n/it.ts +2 -12
  172. package/src/tool/sewingPatternScaler/i18n/ja.ts +2 -12
  173. package/src/tool/sewingPatternScaler/i18n/ko.ts +2 -12
  174. package/src/tool/sewingPatternScaler/i18n/nl.ts +2 -12
  175. package/src/tool/sewingPatternScaler/i18n/pl.ts +2 -12
  176. package/src/tool/sewingPatternScaler/i18n/pt.ts +2 -12
  177. package/src/tool/sewingPatternScaler/i18n/ru.ts +2 -12
  178. package/src/tool/sewingPatternScaler/i18n/sv.ts +2 -12
  179. package/src/tool/sewingPatternScaler/i18n/tr.ts +2 -12
  180. package/src/tool/sewingPatternScaler/i18n/zh.ts +2 -12
  181. package/src/tool/sewingPatternScaler/index.ts +1 -0
  182. package/src/tool/sewingPatternScaler/seo.astro +2 -36
  183. package/src/tool/sewingPatternScaler/sewing-pattern-scaler.css +8 -8
  184. package/src/tool/shoeSizeConverter/bibliography.astro +2 -10
  185. package/src/tool/shoeSizeConverter/bibliography.ts +7 -0
  186. package/src/tool/shoeSizeConverter/i18n/de.ts +2 -7
  187. package/src/tool/shoeSizeConverter/i18n/en.ts +2 -7
  188. package/src/tool/shoeSizeConverter/i18n/es.ts +2 -7
  189. package/src/tool/shoeSizeConverter/i18n/fr.ts +2 -7
  190. package/src/tool/shoeSizeConverter/i18n/id.ts +2 -7
  191. package/src/tool/shoeSizeConverter/i18n/it.ts +2 -7
  192. package/src/tool/shoeSizeConverter/i18n/ja.ts +2 -7
  193. package/src/tool/shoeSizeConverter/i18n/ko.ts +2 -7
  194. package/src/tool/shoeSizeConverter/i18n/nl.ts +2 -7
  195. package/src/tool/shoeSizeConverter/i18n/pl.ts +2 -7
  196. package/src/tool/shoeSizeConverter/i18n/pt.ts +2 -7
  197. package/src/tool/shoeSizeConverter/i18n/ru.ts +2 -7
  198. package/src/tool/shoeSizeConverter/i18n/sv.ts +2 -7
  199. package/src/tool/shoeSizeConverter/i18n/tr.ts +2 -7
  200. package/src/tool/shoeSizeConverter/i18n/zh.ts +2 -7
  201. package/src/tool/shoeSizeConverter/index.ts +1 -0
  202. package/src/tool/shoeSizeConverter/seo.astro +2 -27
  203. package/src/tool/shoeSizeConverter/shoe-size-converter.css +3 -3
  204. package/src/tool/stainChemistry/bibliography.astro +2 -10
  205. package/src/tool/stainChemistry/bibliography.ts +16 -0
  206. package/src/tool/stainChemistry/i18n/de.ts +2 -16
  207. package/src/tool/stainChemistry/i18n/en.ts +2 -16
  208. package/src/tool/stainChemistry/i18n/es.ts +2 -16
  209. package/src/tool/stainChemistry/i18n/fr.ts +2 -16
  210. package/src/tool/stainChemistry/i18n/id.ts +2 -16
  211. package/src/tool/stainChemistry/i18n/it.ts +2 -16
  212. package/src/tool/stainChemistry/i18n/ja.ts +2 -16
  213. package/src/tool/stainChemistry/i18n/ko.ts +2 -16
  214. package/src/tool/stainChemistry/i18n/nl.ts +2 -16
  215. package/src/tool/stainChemistry/i18n/pl.ts +2 -16
  216. package/src/tool/stainChemistry/i18n/pt.ts +2 -16
  217. package/src/tool/stainChemistry/i18n/ru.ts +2 -16
  218. package/src/tool/stainChemistry/i18n/sv.ts +2 -16
  219. package/src/tool/stainChemistry/i18n/tr.ts +2 -16
  220. package/src/tool/stainChemistry/i18n/zh.ts +2 -16
  221. package/src/tool/stainChemistry/index.ts +1 -0
  222. package/src/tool/stainChemistry/seo.astro +2 -27
  223. package/src/tool/stainChemistry/stain-chemical-protocol.css +3 -3
  224. package/src/tool/yarnCalculator/bibliography.astro +2 -10
  225. package/src/tool/yarnCalculator/bibliography.ts +16 -0
  226. package/src/tool/yarnCalculator/i18n/de.ts +2 -16
  227. package/src/tool/yarnCalculator/i18n/en.ts +2 -16
  228. package/src/tool/yarnCalculator/i18n/es.ts +2 -16
  229. package/src/tool/yarnCalculator/i18n/fr.ts +2 -16
  230. package/src/tool/yarnCalculator/i18n/id.ts +2 -16
  231. package/src/tool/yarnCalculator/i18n/it.ts +2 -16
  232. package/src/tool/yarnCalculator/i18n/ja.ts +2 -16
  233. package/src/tool/yarnCalculator/i18n/ko.ts +2 -16
  234. package/src/tool/yarnCalculator/i18n/nl.ts +2 -16
  235. package/src/tool/yarnCalculator/i18n/pl.ts +2 -16
  236. package/src/tool/yarnCalculator/i18n/pt.ts +2 -16
  237. package/src/tool/yarnCalculator/i18n/ru.ts +2 -16
  238. package/src/tool/yarnCalculator/i18n/sv.ts +2 -16
  239. package/src/tool/yarnCalculator/i18n/tr.ts +2 -16
  240. package/src/tool/yarnCalculator/i18n/zh.ts +2 -16
  241. package/src/tool/yarnCalculator/index.ts +1 -0
  242. package/src/tool/yarnCalculator/seo.astro +2 -1
  243. package/src/tool/yarnCalculator/yarn-calculator.css +7 -7
  244. package/src/types.ts +2 -4
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { SewingPatternScalerUI } from '../ui';
4
5
 
5
6
  const slug = 'dikis-kalibi-olceklendirici';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Sıkça Sorulan Sorular',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Referanslar',
83
- bibliography: [
84
- {
85
- name: 'Patronaje: Las Bases - Teresa Gilewska',
86
- url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
87
- },
88
- {
89
- name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
90
- url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
91
- },
92
- ],
82
+ bibliography: bibliography,
93
83
  howTo: howToData,
94
84
  schemas: [faqSchema, howToSchema, appSchema],
95
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { SewingPatternScalerUI } from '../ui';
4
5
 
5
6
  const slug = 'sewing-pattern-scaler';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '常见问题',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考资料',
83
- bibliography: [
84
- {
85
- name: 'Patronaje: Las Bases - Teresa Gilewska',
86
- url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
87
- },
88
- {
89
- name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
90
- url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
91
- },
92
- ],
82
+ bibliography: bibliography,
93
83
  howTo: howToData,
94
84
  schemas: [faqSchema, howToSchema, appSchema],
95
85
  seo: [
@@ -1,3 +1,4 @@
1
+ import type { ToolDefinition } from '../../types';
1
2
  import { sewingPatternScaler } from './entry';
2
3
  export * from './entry';
3
4
  export const SEWING_PATTERN_SCALER_TOOL: ToolDefinition = {
@@ -1,14 +1,5 @@
1
1
  ---
2
- import {
3
- SEOTitle,
4
- SEOCard,
5
- SEOTip,
6
- SEOList,
7
- SEOArticle,
8
- SEOStats,
9
- SEOProsCons,
10
- SEOGlossary,
11
- } from '@jjlmoya/utils-shared';
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
12
3
  import { sewingPatternScaler } from './index';
13
4
  import type { KnownLocale } from '../../types';
14
5
 
@@ -19,31 +10,6 @@ interface Props {
19
10
  const { locale = 'es' } = Astro.props;
20
11
  const content = await sewingPatternScaler.i18n[locale]?.();
21
12
  if (!content) return null;
22
-
23
- const { seo } = content;
24
13
  ---
25
14
 
26
- <SEOArticle>
27
- {seo.map((section: any) => {
28
- switch (section.type) {
29
- case 'title':
30
- return <SEOTitle title={section.text} level={section.level || 2} />;
31
- case 'paragraph':
32
- return <p set:html={section.html} />;
33
- case 'list':
34
- return <SEOList items={section.items} />;
35
- case 'card':
36
- return <SEOCard title={section.title} icon={section.icon}><Fragment set:html={section.html} /></SEOCard>;
37
- case 'tip':
38
- return <SEOTip title={section.title}><Fragment set:html={section.html} /></SEOTip>;
39
- case 'stats':
40
- return <SEOStats stats={section.items} columns={section.columns} />;
41
- case 'proscons':
42
- return <SEOProsCons items={section.items} />;
43
- case 'glossary':
44
- return <SEOGlossary items={section.items} />;
45
- default:
46
- return null;
47
- }
48
- })}
49
- </SEOArticle>
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -205,7 +205,7 @@
205
205
  gap: 12px;
206
206
  }
207
207
 
208
- :global(.action-pill) {
208
+ .action-pill {
209
209
  background: var(--bg-surface);
210
210
  border: 1px solid var(--border-color);
211
211
  border-radius: 16px;
@@ -215,7 +215,7 @@
215
215
  gap: 16px;
216
216
  }
217
217
 
218
- :global(.icon-box) {
218
+ .icon-box {
219
219
  width: 44px;
220
220
  height: 44px;
221
221
  background: var(--bg-muted);
@@ -228,21 +228,21 @@
228
228
  flex-shrink: 0;
229
229
  }
230
230
 
231
- :global(.action-content) { flex: 1; }
231
+ .action-content { flex: 1; }
232
232
 
233
- :global(.action-text) {
233
+ .action-text {
234
234
  display: block;
235
235
  font-size: 14px;
236
236
  color: var(--text-muted);
237
237
  }
238
238
 
239
- :global(.action-text strong) { font-weight: 700; }
239
+ .action-text strong { font-weight: 700; }
240
240
 
241
- :global(.action-val-pos) { color: var(--sp-p); }
241
+ .action-val-pos { color: var(--sp-p); }
242
242
 
243
- :global(.action-val-neg) { color: #f87171; }
243
+ .action-val-neg { color: #f87171; }
244
244
 
245
- :global(.action-note) {
245
+ .action-note {
246
246
  display: block;
247
247
  font-size: 10px;
248
248
  color: var(--text-muted);
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { shoeSizeConverter } 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 shoeSizeConverter.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,7 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
5
+ { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
6
+ { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
7
+ ];
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'schuhgroessen-umrechner';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Häufig gestellte Fragen',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Literaturhinweise',
83
- bibliography: [
84
- { name: 'Schuhgröße - Wikipedia', url: 'https://de.wikipedia.org/wiki/Schuhgröße' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -81,14 +82,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Frequently Asked Questions',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliography',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'conversor-tallas-zapatos';
@@ -81,14 +82,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Preguntas Frecuentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliografía',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'convertisseur-pointures-chaussures';
@@ -81,14 +82,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Questions Fréquentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliographie',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Pointures - Système Mondopoint', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'konversi-ukuran-sepatu';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Pertanyaan yang Sering Diajukan',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Referensi',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'convertitore-taglie-scarpe';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Domande Frequenti',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'よくある質問',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考文献',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '자주 묻는 질문',
81
81
  faq: faqData,
82
- bibliographyTitle: '참고 문헌',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'schoenmaat-omrekenen';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Veelgestelde Vragen',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografie',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'przelicznik-rozmiarow-butow';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Najczęściej Zadawane Pytania',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'conversor-tamanhos-sapatos';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Perguntas Frequentes',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'tablica-razmerov-obuvi';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Часто задаваемые вопросы',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Источники',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'skostorleks-konverterare';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Vanliga frågor',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografi',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'ayakkabi-numarasi-donusturucu';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Sıkça Sorulan Sorular',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Referanslar',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '常见问题',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考资料',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,3 +1,4 @@
1
+ import type { ToolDefinition } from '../../types';
1
2
  import { shoeSizeConverter } from './entry';
2
3
  export * from './entry';
3
4
  export const SHOE_SIZE_CONVERTER_TOOL: ToolDefinition = {
@@ -1,11 +1,5 @@
1
1
  ---
2
- import {
3
- SEOTitle,
4
- SEOCard,
5
- SEOTip,
6
- SEOList,
7
- SEOArticle
8
- } from '@jjlmoya/utils-shared';
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
9
3
  import { shoeSizeConverter } from './index';
10
4
  import type { KnownLocale } from '../../types';
11
5
 
@@ -16,25 +10,6 @@ interface Props {
16
10
  const { locale = 'es' } = Astro.props;
17
11
  const content = await shoeSizeConverter.i18n[locale]?.();
18
12
  if (!content) return null;
19
-
20
- const { seo } = content;
21
13
  ---
22
14
 
23
- <SEOArticle>
24
- {seo.map((section: any) => {
25
- switch (section.type) {
26
- case 'title':
27
- return <SEOTitle title={section.text} level={section.level || 2} />;
28
- case 'paragraph':
29
- return <p set:html={section.html} />;
30
- case 'list':
31
- return <SEOList items={section.items} />;
32
- case 'card':
33
- return <SEOCard title={section.title} icon={section.icon}><Fragment set:html={section.html} /></SEOCard>;
34
- case 'tip':
35
- return <SEOTip title={section.title}><Fragment set:html={section.html} /></SEOTip>;
36
- default:
37
- return null;
38
- }
39
- })}
40
- </SEOArticle>
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -143,7 +143,7 @@
143
143
  gap: 0.75rem;
144
144
  }
145
145
 
146
- :global(.size-cell) {
146
+ .size-cell {
147
147
  aspect-ratio: 1;
148
148
  display: flex;
149
149
  align-items: center;
@@ -158,13 +158,13 @@
158
158
  transition: all 0.2s;
159
159
  }
160
160
 
161
- :global(.size-cell:hover) {
161
+ .size-cell:hover {
162
162
  border-color: #3b82f6;
163
163
  color: #3b82f6;
164
164
  transform: scale(1.05);
165
165
  }
166
166
 
167
- :global(.size-cell.active) {
167
+ .size-cell.active {
168
168
  background: #3b82f6;
169
169
  border-color: #3b82f6;
170
170
  color: white;
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { stainChemistry } 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 stainChemistry.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,16 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'AATCC - Association for Advancing Color Technology and Chemistry',
6
+ url: 'https://www.aatcc.org',
7
+ },
8
+ {
9
+ name: 'Kissa, E. — Textile Auxiliaries',
10
+ url: 'https://www.springer.com/gp/book/9783642057328',
11
+ },
12
+ {
13
+ name: 'ISO 105 — Textiles: Tests for Colour Fastness',
14
+ url: 'https://www.iso.org/standard/72682.html',
15
+ },
16
+ ];