@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 { NeedleConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'conversor-agulhas-tricot';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<NeedleConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Perguntas Frequentes',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- {
85
- name: 'Craft Yarn Council: Needle and Hook Size Chart',
86
- url: 'https://www.craftyarncouncil.com/standards/hooks-and-needles',
87
- },
88
- {
89
- name: 'British Standards Institution: Textiles - Marking of Knitting Needles',
90
- url: 'https://knowledge.bsigroup.com/products/textile-machinery-knitting-machines-number-of-needles-for-circular-knitting-machines-of-large-nominal-diameter',
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 { NeedleConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'konverter-razmerov-spic';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<NeedleConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Часто задаваемые вопросы',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Источники',
83
- bibliography: [
84
- {
85
- name: 'Craft Yarn Council: Needle and Hook Size Chart',
86
- url: 'https://www.craftyarncouncil.com/standards/hooks-and-needles',
87
- },
88
- {
89
- name: 'British Standards Institution: Textiles - Marking of Knitting Needles',
90
- url: 'https://knowledge.bsigroup.com/products/textile-machinery-knitting-machines-number-of-needles-for-circular-knitting-machines-of-large-nominal-diameter',
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 { NeedleConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'stick-virknals-konverterare';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<NeedleConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Vanliga frågor',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografi',
83
- bibliography: [
84
- {
85
- name: 'Craft Yarn Council: Needle and Hook Size Chart',
86
- url: 'https://www.craftyarncouncil.com/standards/hooks-and-needles',
87
- },
88
- {
89
- name: 'British Standards Institution: Textiles - Marking of Knitting Needles',
90
- url: 'https://knowledge.bsigroup.com/products/textile-machinery-knitting-machines-number-of-needles-for-circular-knitting-machines-of-large-nominal-diameter',
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 { NeedleConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'orgu-sisi-tig-donusturucu';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<NeedleConverterUI> = {
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: 'Craft Yarn Council: Needle and Hook Size Chart',
86
- url: 'https://www.craftyarncouncil.com/standards/hooks-and-needles',
87
- },
88
- {
89
- name: 'British Standards Institution: Textiles - Marking of Knitting Needles',
90
- url: 'https://knowledge.bsigroup.com/products/textile-machinery-knitting-machines-number-of-needles-for-circular-knitting-machines-of-large-nominal-diameter',
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 { NeedleConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'knitting-needle-converter';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<NeedleConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '常见问题',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考资料',
83
- bibliography: [
84
- {
85
- name: 'Craft Yarn Council: Needle and Hook Size Chart',
86
- url: 'https://www.craftyarncouncil.com/standards/hooks-and-needles',
87
- },
88
- {
89
- name: 'British Standards Institution: Textiles - Marking of Knitting Needles',
90
- url: 'https://knowledge.bsigroup.com/products/textile-machinery-knitting-machines-number-of-needles-for-circular-knitting-machines-of-large-nominal-diameter',
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 { needleConverter } from './entry';
2
3
  export * from './entry';
3
4
  export const NEEDLE_CONVERTER_TOOL: ToolDefinition = {
@@ -119,7 +119,7 @@
119
119
  display: none;
120
120
  }
121
121
 
122
- :global(.needle-hole) {
122
+ .needle-hole {
123
123
  flex: 0 0 auto;
124
124
  width: 64px;
125
125
  height: 64px;
@@ -135,7 +135,7 @@
135
135
  scroll-snap-align: center;
136
136
  }
137
137
 
138
- :global(.needle-hole::after) {
138
+ .needle-hole::after {
139
139
  content: '';
140
140
  position: absolute;
141
141
  width: var(--size-px);
@@ -146,20 +146,20 @@
146
146
  transition: transform 0.3s ease;
147
147
  }
148
148
 
149
- :global(.needle-hole.active) {
149
+ .needle-hole.active {
150
150
  border-color: var(--nc-p);
151
151
  background: rgba(59, 130, 246, 0.08);
152
152
  transform: scale(1.15);
153
153
  box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.15);
154
154
  }
155
155
 
156
- :global(.needle-hole.active::after) {
156
+ .needle-hole.active::after {
157
157
  opacity: 1;
158
158
  background: var(--nc-p);
159
159
  transform: scale(1.05);
160
160
  }
161
161
 
162
- :global(.hole-label) {
162
+ .hole-label {
163
163
  position: absolute;
164
164
  bottom: -28px;
165
165
  font-size: 11px;
@@ -168,7 +168,7 @@
168
168
  transition: color 0.2s;
169
169
  }
170
170
 
171
- :global(.needle-hole.active .hole-label) {
171
+ .needle-hole.active .hole-label {
172
172
  color: var(--nc-p);
173
173
  }
174
174
 
@@ -308,35 +308,35 @@
308
308
  border-bottom: 1px solid var(--border-color);
309
309
  }
310
310
 
311
- .needle-table :global(td) {
311
+ .needle-table td {
312
312
  padding: 16px;
313
313
  border-bottom: 1px solid var(--border-color);
314
314
  color: var(--text-muted);
315
315
  transition: all 0.2s;
316
316
  }
317
317
 
318
- .needle-table :global(tbody tr:nth-child(even) td) {
318
+ .needle-table tbody tr:nth-child(even td) {
319
319
  background: rgba(0, 0, 0, 0.02);
320
320
  }
321
321
 
322
- .theme-dark .needle-table :global(tbody tr:nth-child(even) td) {
322
+ .theme-dark .needle-table tbody tr:nth-child(even td) {
323
323
  background: rgba(255, 255, 255, 0.02);
324
324
  }
325
325
 
326
- .needle-table :global(tr:hover td) {
326
+ .needle-table tr:hover td {
327
327
  background: var(--bg-muted);
328
328
  }
329
329
 
330
- .needle-table :global(tr.active td) {
330
+ .needle-table tr.active td {
331
331
  background: rgba(59, 130, 246, 0.05);
332
332
  color: var(--nc-p);
333
333
  font-weight: 700;
334
334
  }
335
335
 
336
- .needle-table :global(tr.active td:first-child) {
336
+ .needle-table tr.active td:first-child {
337
337
  box-shadow: inset 4px 0 0 var(--nc-p);
338
338
  }
339
339
 
340
- .theme-dark .needle-table :global(tr.active td) {
340
+ .theme-dark .needle-table tr.active td {
341
341
  background: rgba(59, 130, 246, 0.1);
342
342
  }
@@ -12,4 +12,4 @@ const content = await needleConverter.i18n[locale]?.();
12
12
  if (!content) return null;
13
13
  ---
14
14
 
15
- <SEORenderer content={{ locale: locale as string, sections: content.seo }} />
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { sewingPatternScaler } 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 sewingPatternScaler.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,12 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'Patronaje: Las Bases - Teresa Gilewska',
6
+ url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
7
+ },
8
+ {
9
+ name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
10
+ url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
11
+ },
12
+ ];
@@ -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 = 'schnittmuster-skalierer';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
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
- {
85
- name: 'Schnittkonstruktion in der Mode: Grundmengen - 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';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Frequently Asked Questions',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliography',
87
- bibliography: [
88
- {
89
- name: 'Patronaje: Las Bases - Teresa Gilewska',
90
- url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
91
- },
92
- {
93
- name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
94
- url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
95
- },
96
- ],
86
+ bibliography: bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
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 { SewingPatternScalerUI } from '../ui';
4
5
 
5
6
  const slug = 'escalador-patron-costura';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Preguntas Frecuentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliografía',
87
- bibliography: [
88
- {
89
- name: 'Patronaje: Las Bases - Teresa Gilewska',
90
- url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
91
- },
92
- {
93
- name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
94
- url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
95
- },
96
- ],
86
+ bibliography: bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
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 { SewingPatternScalerUI } from '../ui';
4
5
 
5
6
  const slug = 'dimensionneur-patron-couture';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Questions Fréquentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliographie',
87
- bibliography: [
88
- {
89
- name: 'Patronaje: Las Bases - Teresa Gilewska',
90
- url: 'https://www.scribd.com/document/696165843/patronaje-las-bases-by-teresa-gilewska',
91
- },
92
- {
93
- name: 'Metric Pattern Cutting for Women\'s Wear - Winifred Aldrich',
94
- url: 'https://download.e-bookshelf.de/download/0000/5989/88/L-G-0000598988-0002339537.pdf',
95
- },
96
- ],
86
+ bibliography: bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
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 { SewingPatternScalerUI } from '../ui';
4
5
 
5
6
  const slug = 'pengubah-skala-pola-jahit';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
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
- {
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 = 'sviluppo-taglie-cartamodelli';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Domande Frequenti',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
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,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,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 = 'naaipatroon-skalierer';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Veelgestelde Vragen',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografie',
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 = 'skalowanie-wykrojow-krawieckich';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
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
- {
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 = 'escalador-molde-costura';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Perguntas Frequentes',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
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 = 'skalirovaniye-vykroyki-shit-ye';
@@ -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,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 = 'skalning-symonster';
@@ -77,19 +78,8 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Vanliga frågor',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografi',
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: [