Cleanup some more(html entities)

pull/8286/head
Puru Vijay 4 years ago
parent 786c84028c
commit 9dd2aa9ea0

@ -15,7 +15,6 @@
"do-not-zip": "^1.0.0", "do-not-zip": "^1.0.0",
"flexsearch": "^0.7.31", "flexsearch": "^0.7.31",
"flru": "^1.0.2", "flru": "^1.0.2",
"slugify": "^1.6.5",
"sourcemap-codec": "^1.4.8", "sourcemap-codec": "^1.4.8",
"svelte-local-storage-store": "^0.4.0" "svelte-local-storage-store": "^0.4.0"
}, },
@ -3454,14 +3453,6 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/slugify": {
"version": "1.6.5",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
"integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==",
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/sorcery": { "node_modules/sorcery": {
"version": "0.11.0", "version": "0.11.0",
"resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",
@ -6529,11 +6520,6 @@
"totalist": "^3.0.0" "totalist": "^3.0.0"
} }
}, },
"slugify": {
"version": "1.6.5",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz",
"integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ=="
},
"sorcery": { "sorcery": {
"version": "0.11.0", "version": "0.11.0",
"resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",

@ -23,7 +23,6 @@
"do-not-zip": "^1.0.0", "do-not-zip": "^1.0.0",
"flexsearch": "^0.7.31", "flexsearch": "^0.7.31",
"flru": "^1.0.2", "flru": "^1.0.2",
"slugify": "^1.6.5",
"sourcemap-codec": "^1.4.8", "sourcemap-codec": "^1.4.8",
"svelte-local-storage-store": "^0.4.0" "svelte-local-storage-store": "^0.4.0"
}, },

@ -62,6 +62,7 @@ export function content() {
const intro = subsections.shift().trim(); const intro = subsections.shift().trim();
console.log(normalizeSlugify(h3));
blocks.push({ blocks.push({
breadcrumbs: [...breadcrumbs, removeMarkdown(metadata.title), removeMarkdown(h3)], breadcrumbs: [...breadcrumbs, removeMarkdown(metadata.title), removeMarkdown(h3)],
href: category.href([slug, normalizeSlugify(h3)]), href: category.href([slug, normalizeSlugify(h3)]),

@ -13,7 +13,19 @@ import ts, { ScriptTarget } from 'typescript';
import MagicString from 'magic-string'; import MagicString from 'magic-string';
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
import { createHash } from 'crypto'; import { createHash } from 'crypto';
import slugify from 'slugify';
/** @param {string} title */
export function slugify(title) {
return title
.toLowerCase()
.replace(/'/g, '')
.replace(/</g, '')
.replace(/>/g, '')
.replace(/[^a-z0-9-$]/g, '-')
.replace(/-{2,}/g, '-')
.replace(/^-/, '')
.replace(/-$/, '');
}
/** @param {string} markdown */ /** @param {string} markdown */
export function removeMarkdown(markdown) { export function removeMarkdown(markdown) {
@ -28,9 +40,14 @@ export function removeMarkdown(markdown) {
.trim(); .trim();
} }
/** @param {string} html */
export function removeHTMLEntities(html) {
return html.replace(/&.+?;/g, '');
}
/** @param {string} str */ /** @param {string} str */
export const normalizeSlugify = (str) => { export const normalizeSlugify = (str) => {
return slugify(removeMarkdown(str)); return slugify(removeHTMLEntities(removeMarkdown(str))).replace(/(<([^>]+)>)/gi, '');
}; };
const base = '../../site/content/docs/'; const base = '../../site/content/docs/';
@ -341,7 +358,7 @@ function parse({ file, body, code, codespan }) {
current = title; current = title;
const normalized = normalizeSlugify(raw).replace(/(<([^>]+)>)/gi, ''); const normalized = normalizeSlugify(raw);
headings[level - 1] = normalized; headings[level - 1] = normalized;
headings.length = level; headings.length = level;

Loading…
Cancel
Save