mirror of
https://github.com/tcsenpai/obsidiangarden_netlify.git
synced 2025-06-06 04:35:20 +00:00
Slugify all note URLS
This commit is contained in:
parent
406ae3de6b
commit
7113398174
18
.eleventy.js
18
.eleventy.js
@ -1,11 +1,11 @@
|
|||||||
|
module.exports = function(eleventyConfig) {
|
||||||
|
const slugify = require("@sindresorhus/slugify");
|
||||||
|
const markdownIt = require("markdown-it");
|
||||||
|
|
||||||
module.exports = function (eleventyConfig) {
|
|
||||||
|
|
||||||
let markdownIt = require("markdown-it");
|
|
||||||
let markdownLib = markdownIt({
|
let markdownLib = markdownIt({
|
||||||
breaks: true,
|
breaks: true,
|
||||||
html: true
|
html: true
|
||||||
}).use(function (md) {
|
}).use(function(md) {
|
||||||
//https://github.com/DCsunset/markdown-it-mermaid-plugin
|
//https://github.com/DCsunset/markdown-it-mermaid-plugin
|
||||||
const origRule = md.renderer.rules.fence.bind(md.renderer.rules);
|
const origRule = md.renderer.rules.fence.bind(md.renderer.rules);
|
||||||
md.renderer.rules.fence = (tokens, idx, options, env, slf) => {
|
md.renderer.rules.fence = (tokens, idx, options, env, slf) => {
|
||||||
@ -27,11 +27,11 @@ module.exports = function (eleventyConfig) {
|
|||||||
return origRule(tokens, idx, options, env, slf);
|
return origRule(tokens, idx, options, env, slf);
|
||||||
};
|
};
|
||||||
|
|
||||||
const defaultRender = md.renderer.rules.link_open || function (tokens, idx, options, env, self) {
|
const defaultRender = md.renderer.rules.link_open || function(tokens, idx, options, env, self) {
|
||||||
return self.renderToken(tokens, idx, options);
|
return self.renderToken(tokens, idx, options);
|
||||||
};
|
};
|
||||||
|
|
||||||
md.renderer.rules.link_open = function (tokens, idx, options, env, self) {
|
md.renderer.rules.link_open = function(tokens, idx, options, env, self) {
|
||||||
const aIndex = tokens[idx].attrIndex('target');
|
const aIndex = tokens[idx].attrIndex('target');
|
||||||
const classIndex = tokens[idx].attrIndex('class');
|
const classIndex = tokens[idx].attrIndex('class');
|
||||||
|
|
||||||
@ -57,8 +57,10 @@ module.exports = function (eleventyConfig) {
|
|||||||
eleventyConfig.setLibrary("md", markdownLib);
|
eleventyConfig.setLibrary("md", markdownLib);
|
||||||
|
|
||||||
|
|
||||||
eleventyConfig.addFilter('link', function (str) {
|
eleventyConfig.addFilter('link', function(str) {
|
||||||
return str && str.replace(/\[\[(.*?)\]\]/g, '<a class="internal-link" href="/notes/$1">$1</a>');
|
return str && str.replace(/\[\[(.*?)\]\]/g, function(match, p1) {
|
||||||
|
return `<a class="internal-link" href="/notes/${slugify(p1)}">${p1}</a>`;
|
||||||
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
19
package-lock.json
generated
19
package-lock.json
generated
@ -11,6 +11,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/storage-blob": "^12.8.0",
|
"@azure/storage-blob": "^12.8.0",
|
||||||
"@octokit/core": "^3.5.1",
|
"@octokit/core": "^3.5.1",
|
||||||
|
"@sindresorhus/slugify": "^1.1.0",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"markdown-it": "^12.3.2"
|
"markdown-it": "^12.3.2"
|
||||||
},
|
},
|
||||||
@ -363,7 +364,6 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz",
|
||||||
"integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==",
|
"integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sindresorhus/transliterate": "^0.1.1",
|
"@sindresorhus/transliterate": "^0.1.1",
|
||||||
"escape-string-regexp": "^4.0.0"
|
"escape-string-regexp": "^4.0.0"
|
||||||
@ -379,7 +379,6 @@
|
|||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz",
|
||||||
"integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==",
|
"integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"escape-string-regexp": "^2.0.0",
|
"escape-string-regexp": "^2.0.0",
|
||||||
"lodash.deburr": "^4.1.0"
|
"lodash.deburr": "^4.1.0"
|
||||||
@ -395,7 +394,6 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
||||||
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
@ -1361,7 +1359,6 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@ -2307,8 +2304,7 @@
|
|||||||
"node_modules/lodash.deburr": {
|
"node_modules/lodash.deburr": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
|
||||||
"integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=",
|
"integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/lodash.isfinite": {
|
"node_modules/lodash.isfinite": {
|
||||||
"version": "3.3.2",
|
"version": "3.3.2",
|
||||||
@ -4459,7 +4455,6 @@
|
|||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz",
|
||||||
"integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==",
|
"integrity": "sha512-V9nR/W0Xd9TSGXpZ4iFUcFGhuOJtZX82Fzxj1YISlbSgKvIiNa7eLEZrT0vAraPOt++KHauIVNYgGRgjc13dXA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@sindresorhus/transliterate": "^0.1.1",
|
"@sindresorhus/transliterate": "^0.1.1",
|
||||||
"escape-string-regexp": "^4.0.0"
|
"escape-string-regexp": "^4.0.0"
|
||||||
@ -4469,7 +4464,6 @@
|
|||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.2.tgz",
|
||||||
"integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==",
|
"integrity": "sha512-5/kmIOY9FF32nicXH+5yLNTX4NJ4atl7jRgqAJuIn/iyDFXBktOKDxCvyGE/EzmF4ngSUvjXxQUQlQiZ5lfw+w==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"escape-string-regexp": "^2.0.0",
|
"escape-string-regexp": "^2.0.0",
|
||||||
"lodash.deburr": "^4.1.0"
|
"lodash.deburr": "^4.1.0"
|
||||||
@ -4478,8 +4472,7 @@
|
|||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
|
||||||
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
|
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
|
||||||
"dev": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -5278,8 +5271,7 @@
|
|||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"esprima": {
|
"esprima": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
@ -5993,8 +5985,7 @@
|
|||||||
"lodash.deburr": {
|
"lodash.deburr": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
|
||||||
"integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=",
|
"integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"lodash.isfinite": {
|
"lodash.isfinite": {
|
||||||
"version": "3.3.2",
|
"version": "3.3.2",
|
||||||
|
@ -18,7 +18,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/storage-blob": "^12.8.0",
|
"@azure/storage-blob": "^12.8.0",
|
||||||
"@octokit/core": "^3.5.1",
|
"@octokit/core": "^3.5.1",
|
||||||
|
"@sindresorhus/slugify": "^1.1.0",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"markdown-it": "^12.3.2"
|
"markdown-it": "^12.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
title: "/{{ page.fileSlug }}/"
|
||||||
|
permalink: "notes/{{ page.fileSlug | slugify }}/"
|
||||||
|
---
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user