fix(products): restore NA low-voltage cables broken by flattened frontmatter
Commit 76cbdaa3 destroyed the YAML indentation of NAYY, NAYCWY, NAY2Y,
NA2XY and NA2X2Y, silently dropping them from the catalog (404 detail
pages, missing from category listing and sitemap). Restored the valid
frontmatter from 76cbdaa3~1 (whitespace-only diff, content unchanged)
and added a content contract spec guarding parseability and catalog
visibility.
This commit is contained in:
+105
-105
@@ -3,115 +3,115 @@ title: NA2X2Y
|
||||
sku: NA2X2Y-low-voltage-cables
|
||||
slug: na2x2y
|
||||
description: >
|
||||
Das NA2X2Y Kabel ist ein strapazierfähiges Niederspannungskabel mit
|
||||
Aluminiumleiter, PE-Isolation und HDPE-Mantel. Es wurde für feste Verlegungen
|
||||
unter erhöhter mechanischer Beanspruchung entwickelt und eignet sich besonders
|
||||
für anspruchsvolle industrielle und energietechnische Infrastrukturen.
|
||||
Das NA2X2Y Kabel ist ein strapazierfähiges Niederspannungskabel mit
|
||||
Aluminiumleiter, PE-Isolation und HDPE-Mantel. Es wurde für feste Verlegungen
|
||||
unter erhöhter mechanischer Beanspruchung entwickelt und eignet sich besonders
|
||||
für anspruchsvolle industrielle und energietechnische Infrastrukturen.
|
||||
categories:
|
||||
- id: 699de42ead0808777d11abcd
|
||||
category: Niederspannungskabel
|
||||
- id: 699de42ead0808777d11abcd
|
||||
category: Niederspannungskabel
|
||||
featuredImage:
|
||||
id: 34
|
||||
alt: NA2X2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.448Z'
|
||||
createdAt: '2026-02-24T17:47:26.448Z'
|
||||
url: /media/NA2X2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
filename: NA2X2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28770
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3776
|
||||
filename: NA2X2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2X2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5246
|
||||
filename: NA2X2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2X2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7364
|
||||
filename: NA2X2Y-scaled-5-1024x213.webp
|
||||
id: 34
|
||||
alt: NA2X2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.448Z'
|
||||
createdAt: '2026-02-24T17:47:26.448Z'
|
||||
url: /media/NA2X2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
filename: NA2X2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28770
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3776
|
||||
filename: NA2X2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2X2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5246
|
||||
filename: NA2X2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2X2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7364
|
||||
filename: NA2X2Y-scaled-5-1024x213.webp
|
||||
images:
|
||||
- id: 34
|
||||
alt: NA2X2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.448Z'
|
||||
createdAt: '2026-02-24T17:47:26.448Z'
|
||||
url: /media/NA2X2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
filename: NA2X2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28770
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3776
|
||||
filename: NA2X2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2X2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5246
|
||||
filename: NA2X2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2X2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7364
|
||||
filename: NA2X2Y-scaled-5-1024x213.webp
|
||||
- id: 34
|
||||
alt: NA2X2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.448Z'
|
||||
createdAt: '2026-02-24T17:47:26.448Z'
|
||||
url: /media/NA2X2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
filename: NA2X2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28770
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2X2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3776
|
||||
filename: NA2X2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2X2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5246
|
||||
filename: NA2X2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2X2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7364
|
||||
filename: NA2X2Y-scaled-5-1024x213.webp
|
||||
application:
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NA2X2Y entspricht der Norm DIN VDE 0276-603 (HD 603) und ist
|
||||
ausgelegt für die feste Verlegung in Innenräumen, Kabelkanälen, im
|
||||
Erdreich, im Wasser oder im Freien. Es kommt bevorzugt in
|
||||
Kraftwerken, Industrieanlagen, Schaltanlagen und Ortsnetzen zum
|
||||
Einsatz – überall dort, wo robuste Kabel gefragt sind, die im
|
||||
Betrieb und bei der Verlegung hohen mechanischen Belastungen
|
||||
standhalten.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NA2X2Y entspricht der Norm DIN VDE 0276-603 (HD 603) und ist
|
||||
ausgelegt für die feste Verlegung in Innenräumen, Kabelkanälen, im
|
||||
Erdreich, im Wasser oder im Freien. Es kommt bevorzugt in
|
||||
Kraftwerken, Industrieanlagen, Schaltanlagen und Ortsnetzen zum
|
||||
Einsatz – überall dort, wo robuste Kabel gefragt sind, die im
|
||||
Betrieb und bei der Verlegung hohen mechanischen Belastungen
|
||||
standhalten.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
_status: published
|
||||
---
|
||||
|
||||
|
||||
+104
-104
@@ -3,114 +3,114 @@ title: NA2XY
|
||||
sku: NA2XY-low-voltage-cables
|
||||
slug: na2xy
|
||||
description: >
|
||||
Das NA2XY Kabel ist ein robustes Niederspannungskabel mit Aluminiumleiter,
|
||||
PE-Isolation und PVC-Mantel. Es ist für feste Verlegung unter erhöhter
|
||||
mechanischer Belastung konzipiert und eignet sich besonders für
|
||||
Energieverteilungen in industriellen und öffentlichen Versorgungsnetzen.
|
||||
Das NA2XY Kabel ist ein robustes Niederspannungskabel mit Aluminiumleiter,
|
||||
PE-Isolation und PVC-Mantel. Es ist für feste Verlegung unter erhöhter
|
||||
mechanischer Belastung konzipiert und eignet sich besonders für
|
||||
Energieverteilungen in industriellen und öffentlichen Versorgungsnetzen.
|
||||
categories:
|
||||
- id: 699de42ead0808777d11ada5
|
||||
category: Niederspannungskabel
|
||||
- id: 699de42ead0808777d11ada5
|
||||
category: Niederspannungskabel
|
||||
featuredImage:
|
||||
id: 35
|
||||
alt: NA2XY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.753Z'
|
||||
createdAt: '2026-02-24T17:47:26.753Z'
|
||||
url: /media/NA2XY-scaled-5.webp
|
||||
thumbnailURL: /media/NA2XY-scaled-5-600x125.webp
|
||||
filename: NA2XY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 30046
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2XY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3770
|
||||
filename: NA2XY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2XY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5216
|
||||
filename: NA2XY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2XY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7478
|
||||
filename: NA2XY-scaled-5-1024x213.webp
|
||||
id: 35
|
||||
alt: NA2XY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.753Z'
|
||||
createdAt: '2026-02-24T17:47:26.753Z'
|
||||
url: /media/NA2XY-scaled-5.webp
|
||||
thumbnailURL: /media/NA2XY-scaled-5-600x125.webp
|
||||
filename: NA2XY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 30046
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2XY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3770
|
||||
filename: NA2XY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2XY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5216
|
||||
filename: NA2XY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2XY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7478
|
||||
filename: NA2XY-scaled-5-1024x213.webp
|
||||
images:
|
||||
- id: 35
|
||||
alt: NA2XY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.753Z'
|
||||
createdAt: '2026-02-24T17:47:26.753Z'
|
||||
url: /media/NA2XY-scaled-5.webp
|
||||
thumbnailURL: /media/NA2XY-scaled-5-600x125.webp
|
||||
filename: NA2XY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 30046
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2XY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3770
|
||||
filename: NA2XY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2XY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5216
|
||||
filename: NA2XY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2XY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7478
|
||||
filename: NA2XY-scaled-5-1024x213.webp
|
||||
- id: 35
|
||||
alt: NA2XY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:26.753Z'
|
||||
createdAt: '2026-02-24T17:47:26.753Z'
|
||||
url: /media/NA2XY-scaled-5.webp
|
||||
thumbnailURL: /media/NA2XY-scaled-5-600x125.webp
|
||||
filename: NA2XY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 30046
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NA2XY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3770
|
||||
filename: NA2XY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NA2XY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5216
|
||||
filename: NA2XY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NA2XY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7478
|
||||
filename: NA2XY-scaled-5-1024x213.webp
|
||||
application:
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NA2XY entspricht der Norm DIN VDE 0276-603 (HD 603) und ist
|
||||
ideal für die feste Verlegung in Innenräumen, Kabelkanälen, im
|
||||
Freien, im Wasser oder im Erdreich geeignet. Typische Einsatzorte
|
||||
sind Kraftwerke, Industrieanlagen, Schaltanlagen sowie Ortsnetze,
|
||||
bei denen mechanische Belastung im Betrieb berücksichtigt werden
|
||||
muss.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NA2XY entspricht der Norm DIN VDE 0276-603 (HD 603) und ist
|
||||
ideal für die feste Verlegung in Innenräumen, Kabelkanälen, im
|
||||
Freien, im Wasser oder im Erdreich geeignet. Typische Einsatzorte
|
||||
sind Kraftwerke, Industrieanlagen, Schaltanlagen sowie Ortsnetze,
|
||||
bei denen mechanische Belastung im Betrieb berücksichtigt werden
|
||||
muss.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
_status: published
|
||||
---
|
||||
|
||||
|
||||
+106
-106
@@ -3,116 +3,116 @@ title: NAY2Y
|
||||
sku: NAY2Y-low-voltage-cables
|
||||
slug: nay2y
|
||||
description: >
|
||||
Das NAY2Y Kabel ist ein besonders robustes Niederspannungskabel mit
|
||||
Aluminiumleiter und HDPE-Mantel, das speziell für Installationen mit hoher
|
||||
mechanischer Beanspruchung entwickelt wurde. Es überzeugt durch seine
|
||||
Widerstandsfähigkeit in anspruchsvollen Umgebungen – ob in Industrieanlagen,
|
||||
Trafostationen oder Ortsnetzen.
|
||||
Das NAY2Y Kabel ist ein besonders robustes Niederspannungskabel mit
|
||||
Aluminiumleiter und HDPE-Mantel, das speziell für Installationen mit hoher
|
||||
mechanischer Beanspruchung entwickelt wurde. Es überzeugt durch seine
|
||||
Widerstandsfähigkeit in anspruchsvollen Umgebungen – ob in Industrieanlagen,
|
||||
Trafostationen oder Ortsnetzen.
|
||||
categories:
|
||||
- id: 699de42fad0808777d11afb3
|
||||
category: Niederspannungskabel
|
||||
- id: 699de42fad0808777d11afb3
|
||||
category: Niederspannungskabel
|
||||
featuredImage:
|
||||
id: 36
|
||||
alt: NAY2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.071Z'
|
||||
createdAt: '2026-02-24T17:47:27.071Z'
|
||||
url: /media/NAY2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NAY2Y-scaled-5-600x125.webp
|
||||
filename: NAY2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28684
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAY2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3778
|
||||
filename: NAY2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAY2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5234
|
||||
filename: NAY2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAY2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7562
|
||||
filename: NAY2Y-scaled-5-1024x213.webp
|
||||
id: 36
|
||||
alt: NAY2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.071Z'
|
||||
createdAt: '2026-02-24T17:47:27.071Z'
|
||||
url: /media/NAY2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NAY2Y-scaled-5-600x125.webp
|
||||
filename: NAY2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28684
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAY2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3778
|
||||
filename: NAY2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAY2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5234
|
||||
filename: NAY2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAY2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7562
|
||||
filename: NAY2Y-scaled-5-1024x213.webp
|
||||
images:
|
||||
- id: 36
|
||||
alt: NAY2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.071Z'
|
||||
createdAt: '2026-02-24T17:47:27.071Z'
|
||||
url: /media/NAY2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NAY2Y-scaled-5-600x125.webp
|
||||
filename: NAY2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28684
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAY2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3778
|
||||
filename: NAY2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAY2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5234
|
||||
filename: NAY2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAY2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7562
|
||||
filename: NAY2Y-scaled-5-1024x213.webp
|
||||
- id: 36
|
||||
alt: NAY2Y scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.071Z'
|
||||
createdAt: '2026-02-24T17:47:27.071Z'
|
||||
url: /media/NAY2Y-scaled-5.webp
|
||||
thumbnailURL: /media/NAY2Y-scaled-5-600x125.webp
|
||||
filename: NAY2Y-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 28684
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAY2Y-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3778
|
||||
filename: NAY2Y-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAY2Y-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 5234
|
||||
filename: NAY2Y-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAY2Y-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 7562
|
||||
filename: NAY2Y-scaled-5-1024x213.webp
|
||||
application:
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAY2Y erfüllt die Anforderungen der Norm TP PRAKAB 12/03 in
|
||||
Anlehnung an VDE 0276-603 und eignet sich für die feste Verlegung
|
||||
in Innenräumen, Kabelkanälen, im Erdreich, im Wasser und im
|
||||
Außenbereich. Es ist ideal für Anwendungen in Kraftwerken,
|
||||
Industrie- und Schaltanlagen sowie in lokalen Versorgungsnetzen –
|
||||
überall dort, wo mechanische Belastung im Betrieb oder bei der
|
||||
Verlegung eine Rolle spielt.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAY2Y erfüllt die Anforderungen der Norm TP PRAKAB 12/03 in
|
||||
Anlehnung an VDE 0276-603 und eignet sich für die feste Verlegung
|
||||
in Innenräumen, Kabelkanälen, im Erdreich, im Wasser und im
|
||||
Außenbereich. Es ist ideal für Anwendungen in Kraftwerken,
|
||||
Industrie- und Schaltanlagen sowie in lokalen Versorgungsnetzen –
|
||||
überall dort, wo mechanische Belastung im Betrieb oder bei der
|
||||
Verlegung eine Rolle spielt.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
_status: published
|
||||
---
|
||||
|
||||
|
||||
+105
-105
@@ -3,115 +3,115 @@ title: NAYCWY
|
||||
sku: NAYCWY-low-voltage-cables
|
||||
slug: naycwy
|
||||
description: >
|
||||
Das NAYCWY Kabel ist ein geschirmtes Niederspannungskabel mit Aluminiumleiter
|
||||
und konzentrischem Leiter aus Kupfer. Es wurde speziell für Anwendungen
|
||||
entwickelt, bei denen zusätzlicher Schutz gegen Berührungsspannungen gefordert
|
||||
ist – etwa in industriellen Netzen, Ortsnetzen oder Energieverteilanlagen.
|
||||
Das NAYCWY Kabel ist ein geschirmtes Niederspannungskabel mit Aluminiumleiter
|
||||
und konzentrischem Leiter aus Kupfer. Es wurde speziell für Anwendungen
|
||||
entwickelt, bei denen zusätzlicher Schutz gegen Berührungsspannungen gefordert
|
||||
ist – etwa in industriellen Netzen, Ortsnetzen oder Energieverteilanlagen.
|
||||
categories:
|
||||
- id: 699de42fad0808777d11b1c1
|
||||
category: Niederspannungskabel
|
||||
- id: 699de42fad0808777d11b1c1
|
||||
category: Niederspannungskabel
|
||||
featuredImage:
|
||||
id: 37
|
||||
alt: NAYCWY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.449Z'
|
||||
createdAt: '2026-02-24T17:47:27.449Z'
|
||||
url: /media/NAYCWY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYCWY-scaled-5-600x125.webp
|
||||
filename: NAYCWY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 37252
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYCWY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 4644
|
||||
filename: NAYCWY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYCWY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 6858
|
||||
filename: NAYCWY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYCWY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 10136
|
||||
filename: NAYCWY-scaled-5-1024x213.webp
|
||||
id: 37
|
||||
alt: NAYCWY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.449Z'
|
||||
createdAt: '2026-02-24T17:47:27.449Z'
|
||||
url: /media/NAYCWY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYCWY-scaled-5-600x125.webp
|
||||
filename: NAYCWY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 37252
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYCWY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 4644
|
||||
filename: NAYCWY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYCWY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 6858
|
||||
filename: NAYCWY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYCWY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 10136
|
||||
filename: NAYCWY-scaled-5-1024x213.webp
|
||||
images:
|
||||
- id: 37
|
||||
alt: NAYCWY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.449Z'
|
||||
createdAt: '2026-02-24T17:47:27.449Z'
|
||||
url: /media/NAYCWY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYCWY-scaled-5-600x125.webp
|
||||
filename: NAYCWY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 37252
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYCWY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 4644
|
||||
filename: NAYCWY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYCWY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 6858
|
||||
filename: NAYCWY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYCWY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 10136
|
||||
filename: NAYCWY-scaled-5-1024x213.webp
|
||||
- id: 37
|
||||
alt: NAYCWY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.449Z'
|
||||
createdAt: '2026-02-24T17:47:27.449Z'
|
||||
url: /media/NAYCWY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYCWY-scaled-5-600x125.webp
|
||||
filename: NAYCWY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 37252
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYCWY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 4644
|
||||
filename: NAYCWY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYCWY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 6858
|
||||
filename: NAYCWY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYCWY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 10136
|
||||
filename: NAYCWY-scaled-5-1024x213.webp
|
||||
application:
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAYCWY entspricht der Norm DIN VDE 0276-603 (HD 603) und
|
||||
eignet sich für den Einsatz in Kraftwerken, Industrieanlagen,
|
||||
Schaltanlagen und Ortsnetzen. Es lässt sich fest verlegen – in
|
||||
Innenräumen, Kabelkanälen, im Freien, im Erdreich oder in Wasser.
|
||||
Dank des konzentrischen Leiters bietet es zusätzlichen Schutz bei
|
||||
mechanischer Beschädigung und ermöglicht eine sichere
|
||||
Potenzialführung.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAYCWY entspricht der Norm DIN VDE 0276-603 (HD 603) und
|
||||
eignet sich für den Einsatz in Kraftwerken, Industrieanlagen,
|
||||
Schaltanlagen und Ortsnetzen. Es lässt sich fest verlegen – in
|
||||
Innenräumen, Kabelkanälen, im Freien, im Erdreich oder in Wasser.
|
||||
Dank des konzentrischen Leiters bietet es zusätzlichen Schutz bei
|
||||
mechanischer Beschädigung und ermöglicht eine sichere
|
||||
Potenzialführung.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
_status: published
|
||||
---
|
||||
|
||||
|
||||
+105
-105
@@ -3,115 +3,115 @@ title: NAYY
|
||||
sku: NAYY-low-voltage-cables
|
||||
slug: nayy
|
||||
description: >
|
||||
Das NAYY Kabel ist ein vielseitiges Niederspannungskabel mit Aluminiumleiter,
|
||||
das für die feste Verlegung in Gebäuden, im Erdreich, im Wasser oder im Freien
|
||||
konzipiert ist. Es bietet eine wirtschaftliche Lösung für Energieverteilungen
|
||||
unter normalen mechanischen Anforderungen – ideal für Ortsnetze,
|
||||
Industrieanlagen und Energieversorgungen.
|
||||
Das NAYY Kabel ist ein vielseitiges Niederspannungskabel mit Aluminiumleiter,
|
||||
das für die feste Verlegung in Gebäuden, im Erdreich, im Wasser oder im Freien
|
||||
konzipiert ist. Es bietet eine wirtschaftliche Lösung für Energieverteilungen
|
||||
unter normalen mechanischen Anforderungen – ideal für Ortsnetze,
|
||||
Industrieanlagen und Energieversorgungen.
|
||||
categories:
|
||||
- id: 699de42fad0808777d11b399
|
||||
category: Niederspannungskabel
|
||||
- id: 699de42fad0808777d11b399
|
||||
category: Niederspannungskabel
|
||||
featuredImage:
|
||||
id: 38
|
||||
alt: NAYY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.714Z'
|
||||
createdAt: '2026-02-24T17:47:27.714Z'
|
||||
url: /media/NAYY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYY-scaled-5-600x125.webp
|
||||
filename: NAYY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 26492
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3594
|
||||
filename: NAYY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 4990
|
||||
filename: NAYY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 6974
|
||||
filename: NAYY-scaled-5-1024x213.webp
|
||||
id: 38
|
||||
alt: NAYY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.714Z'
|
||||
createdAt: '2026-02-24T17:47:27.714Z'
|
||||
url: /media/NAYY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYY-scaled-5-600x125.webp
|
||||
filename: NAYY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 26492
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3594
|
||||
filename: NAYY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 4990
|
||||
filename: NAYY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 6974
|
||||
filename: NAYY-scaled-5-1024x213.webp
|
||||
images:
|
||||
- id: 38
|
||||
alt: NAYY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.714Z'
|
||||
createdAt: '2026-02-24T17:47:27.714Z'
|
||||
url: /media/NAYY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYY-scaled-5-600x125.webp
|
||||
filename: NAYY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 26492
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3594
|
||||
filename: NAYY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 4990
|
||||
filename: NAYY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 6974
|
||||
filename: NAYY-scaled-5-1024x213.webp
|
||||
- id: 38
|
||||
alt: NAYY scaled
|
||||
caption: null
|
||||
updatedAt: '2026-02-24T17:47:27.714Z'
|
||||
createdAt: '2026-02-24T17:47:27.714Z'
|
||||
url: /media/NAYY-scaled-5.webp
|
||||
thumbnailURL: /media/NAYY-scaled-5-600x125.webp
|
||||
filename: NAYY-scaled-5.webp
|
||||
mimeType: image/webp
|
||||
filesize: 26492
|
||||
width: 2560
|
||||
height: 533
|
||||
focalX: 50
|
||||
focalY: 50
|
||||
sizes:
|
||||
thumbnail:
|
||||
url: /media/NAYY-scaled-5-600x125.webp
|
||||
width: 600
|
||||
height: 125
|
||||
mimeType: image/webp
|
||||
filesize: 3594
|
||||
filename: NAYY-scaled-5-600x125.webp
|
||||
card:
|
||||
url: /media/NAYY-scaled-5-768x160.webp
|
||||
width: 768
|
||||
height: 160
|
||||
mimeType: image/webp
|
||||
filesize: 4990
|
||||
filename: NAYY-scaled-5-768x160.webp
|
||||
tablet:
|
||||
url: /media/NAYY-scaled-5-1024x213.webp
|
||||
width: 1024
|
||||
height: 213
|
||||
mimeType: image/webp
|
||||
filesize: 6974
|
||||
filename: NAYY-scaled-5-1024x213.webp
|
||||
application:
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAYY ist ein Energieverteilungskabel nach VDE 0276-603, das
|
||||
sich besonders für Anwendungen in Kraftwerken, Ortsnetzen,
|
||||
Industrie- und Schaltanlagen eignet. Dank seiner robusten
|
||||
Konstruktion lässt es sich fest verlegen – sei es im Innenraum, im
|
||||
Kabelkanal, im Freien oder im Erdreich. Auch bei Installation in
|
||||
Wasser bleibt das Kabel zuverlässig im Betrieb.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
root:
|
||||
type: root
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- type: paragraph
|
||||
format: ''
|
||||
indent: 0
|
||||
version: 1
|
||||
children:
|
||||
- mode: normal
|
||||
text: >-
|
||||
Das NAYY ist ein Energieverteilungskabel nach VDE 0276-603, das
|
||||
sich besonders für Anwendungen in Kraftwerken, Ortsnetzen,
|
||||
Industrie- und Schaltanlagen eignet. Dank seiner robusten
|
||||
Konstruktion lässt es sich fest verlegen – sei es im Innenraum, im
|
||||
Kabelkanal, im Freien oder im Erdreich. Auch bei Installation in
|
||||
Wasser bleibt das Kabel zuverlässig im Betrieb.
|
||||
type: text
|
||||
style: ''
|
||||
detail: 0
|
||||
format: 0
|
||||
version: 1
|
||||
direction: ltr
|
||||
direction: ltr
|
||||
_status: published
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
# Incident Ledger
|
||||
|
||||
One appended line per real incident. Never rewritten.
|
||||
|
||||
| Date | Area | Mechanism | Root cause | Remedy | Tier |
|
||||
| :--------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--- |
|
||||
| 2026-10-09 | Products / Niederspannungskabel | Five aluminium low-voltage products (NAYY, NAYCWY, NAY2Y, NA2XY, NA2X2Y) silently invisible on the site: dropped from category listing, 404 on detail pages, absent from sitemap | Commit 76cbdaa3 (2026-08-07, release 2.3.33 "NA Kabel Leiterklassen Fix") flattened frontmatter indentation of exactly these five files while removing RE/SE conductor shapes; broken YAML made the product loader return null and the site dropped them without any error | Restored valid frontmatter from 76cbdaa3~1 (content verified identical modulo indentation, whitespace-only diff), kept current markdown body incl. the RE/SE fix; regression spec tests/products-content.test.ts guards parseability and catalog visibility | M |
|
||||
@@ -0,0 +1,71 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import matter from 'gray-matter';
|
||||
import { getAllProducts } from '../lib/products';
|
||||
|
||||
const productsDir = path.join(process.cwd(), 'content', 'products');
|
||||
const productFiles = fs.readdirSync(productsDir).filter((f) => f.endsWith('.mdx'));
|
||||
|
||||
interface CatalogEntry {
|
||||
slug: string;
|
||||
parseable: boolean;
|
||||
error?: string;
|
||||
declaresImages: boolean;
|
||||
}
|
||||
|
||||
// Single parse pass at module load, mirroring the production loader's first
|
||||
// touch of each file (gray-matter caches per input string, so re-parsing the
|
||||
// same file inside individual tests would not re-throw parse errors).
|
||||
const catalog: CatalogEntry[] = productFiles.map((file) => {
|
||||
const raw = fs.readFileSync(path.join(productsDir, file), 'utf-8');
|
||||
try {
|
||||
const { data } = matter(raw);
|
||||
return {
|
||||
slug: file.replace('.mdx', ''),
|
||||
parseable: true,
|
||||
declaresImages: Array.isArray(data.images) && data.images.length > 0,
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
slug: file.replace('.mdx', ''),
|
||||
parseable: false,
|
||||
error: `${file}: ${(error as Error).message.split('\n')[0]}`,
|
||||
// An unparseable file cannot declare anything and must never silently
|
||||
// shrink the expected catalog — require it to be listed.
|
||||
declaresImages: true,
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
const ALUMINIUM_LOW_VOLTAGE_SLUGS = ['nayy', 'naycwy', 'nay2y', 'na2xy', 'na2x2y'];
|
||||
|
||||
describe('Product catalog content contract', () => {
|
||||
it('every product file has parseable frontmatter', () => {
|
||||
expect(catalog.filter((entry) => !entry.parseable).map((e) => e.error)).toEqual([]);
|
||||
});
|
||||
|
||||
it('exposes every product that declares images in the catalog listing', async () => {
|
||||
const expected = catalog
|
||||
.filter((entry) => entry.declaresImages)
|
||||
.map((e) => e.slug)
|
||||
.sort();
|
||||
const actual = (await getAllProducts('de')).map((p) => p.slug).sort();
|
||||
expect(actual).toEqual(expected);
|
||||
});
|
||||
|
||||
it('lists all aluminium low-voltage cable types (NAYY, NAYCWY, NAY2Y, NA2XY, NA2X2Y)', async () => {
|
||||
const slugs = (await getAllProducts('de')).map((p) => p.slug);
|
||||
for (const slug of ALUMINIUM_LOW_VOLTAGE_SLUGS) {
|
||||
expect(slugs).toContain(slug);
|
||||
}
|
||||
});
|
||||
|
||||
it('categorizes the aluminium low-voltage types as Niederspannungskabel', async () => {
|
||||
const products = await getAllProducts('de');
|
||||
for (const slug of ALUMINIUM_LOW_VOLTAGE_SLUGS) {
|
||||
const product = products.find((p) => p.slug === slug);
|
||||
expect(product?.frontmatter.categories[0]).toBe('Niederspannungskabel');
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user