diff --git a/src/steps/render.js b/src/steps/render.js
index 4a612b79..2624c13a 100644
--- a/src/steps/render.js
+++ b/src/steps/render.js
@@ -17,11 +17,9 @@ import rehypeParse from 'rehype-parse';
import { cleanupHeaderValue } from '@adobe/helix-shared-utils';
import { contentSecurityPolicyOnAST } from './csp.js';
-const LANG_REGEX = /^[a-z]{2}(?:[-_][a-z]{2})?$/i;
-
function formatLang(lang) {
return lang
- .replace('_', '-')
+ .replaceAll('_', '-')
.toLowerCase();
}
@@ -84,7 +82,7 @@ export default async function render(state, req, res) {
continue;
}
if (name.toLowerCase() === 'html-lang') {
- if (LANG_REGEX.test(value)) {
+ if (value) {
htmlLang = formatLang(value);
}
// eslint-disable-next-line no-continue
@@ -92,7 +90,7 @@ export default async function render(state, req, res) {
}
if (name.toLowerCase().startsWith('hreflang-')) {
const lang = name.substring(9);
- if (LANG_REGEX.test(lang)) {
+ if (lang) {
appendElement(
$head,
createElement('link', 'rel', 'alternate', 'hreflang', formatLang(lang), 'href', value),
diff --git a/test/fixtures/content/page-metadata-hreflang-invalid.html b/test/fixtures/content/page-metadata-hreflang-invalid.html
deleted file mode 100644
index 71fe8436..00000000
--- a/test/fixtures/content/page-metadata-hreflang-invalid.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- Home | Helix Project Boilerplate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
HTML lang test
-
This is great.
-
-
-
-
-
\ No newline at end of file
diff --git a/test/fixtures/content/page-metadata-hreflang-invalid.md b/test/fixtures/content/page-metadata-hreflang-invalid.md
deleted file mode 100644
index 7a9744f3..00000000
--- a/test/fixtures/content/page-metadata-hreflang-invalid.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# HTML lang test
-
-This is great.
-
-+-------------------------------------------------------------------------------------------+
-| Metadata |
-+================+==========================================================================+
-| title | Home \| Helix Project Boilerplate |
-+----------------+--------------------------------------------------------------------------|
-| hreflang-x | https://helix-pages.com/x/page-metadata-hreflang |
-+----------------+--------------------------------------------------------------------------+
diff --git a/test/fixtures/content/page-metadata-hreflang.html b/test/fixtures/content/page-metadata-hreflang.html
index 90afa22d..76b5d01f 100644
--- a/test/fixtures/content/page-metadata-hreflang.html
+++ b/test/fixtures/content/page-metadata-hreflang.html
@@ -11,6 +11,7 @@
+
diff --git a/test/fixtures/content/page-metadata-hreflang.md b/test/fixtures/content/page-metadata-hreflang.md
index 801e59be..37301674 100644
--- a/test/fixtures/content/page-metadata-hreflang.md
+++ b/test/fixtures/content/page-metadata-hreflang.md
@@ -2,12 +2,14 @@
This is great.
-+-------------------------------------------------------------------------------------------+
-| Metadata |
-+================+==========================================================================+
-| title | Home \| Helix Project Boilerplate |
-+----------------+--------------------------------------------------------------------------|
-| hreflang-de | |
-+----------------+--------------------------------------------------------------------------+
-| hreflang-fr-FR | |
-+----------------+--------------------------------------------------------------------------+
++-----------------------------------------------------------------------------------------------+
+| Metadata |
++====================+==========================================================================+
+| title | Home \| Helix Project Boilerplate |
++--------------------+--------------------------------------------------------------------------|
+| hreflang-de | |
++--------------------+--------------------------------------------------------------------------+
+| hreflang-fr-FR | |
++--------------------+--------------------------------------------------------------------------+
+| hreflang-x-default | |
++--------------------+--------------------------------------------------------------------------+
diff --git a/test/fixtures/content/page-metadata-htmllang-invalid.html b/test/fixtures/content/page-metadata-htmllang-invalid.html
deleted file mode 100644
index 352407aa..00000000
--- a/test/fixtures/content/page-metadata-htmllang-invalid.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
- Home | Helix Project Boilerplate
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
HTML lang test
-
This is great.
-
-
-
-
-
\ No newline at end of file
diff --git a/test/fixtures/content/page-metadata-htmllang-invalid.md b/test/fixtures/content/page-metadata-htmllang-invalid.md
deleted file mode 100644
index 9c63440c..00000000
--- a/test/fixtures/content/page-metadata-htmllang-invalid.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# HTML lang test
-
-This is great.
-
-+-------------------------------------------------------------------------------------------+
-| Metadata |
-+================+==========================================================================+
-| title | Home \| Helix Project Boilerplate |
-+----------------+--------------------------------------------------------------------------|
-| html-lang | something |
-+----------------+--------------------------------------------------------------------------+
diff --git a/test/rendering.test.js b/test/rendering.test.js
index a998d814..455b6e5d 100644
--- a/test/rendering.test.js
+++ b/test/rendering.test.js
@@ -531,20 +531,10 @@ describe('Rendering', () => {
await testRender('page-metadata-htmllang-short', ':scope');
});
- it('rejects invalid html lang', async () => {
- config = DEFAULT_CONFIG_EMPTY;
- await testRender('page-metadata-htmllang-invalid', ':scope');
- });
-
it('injects hreflang link', async () => {
config = DEFAULT_CONFIG_EMPTY;
await testRender('page-metadata-hreflang', ':scope');
});
-
- it('rejects invalid hreflang', async () => {
- config = DEFAULT_CONFIG_EMPTY;
- await testRender('page-metadata-hreflang-invalid', ':scope');
- });
});
describe('Miscellaneous', () => {