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