diff --git a/config/plugins/markdown.js b/config/plugins/markdown.js index 4dccfa2..45bc300 100644 --- a/config/plugins/markdown.js +++ b/config/plugins/markdown.js @@ -1,8 +1,20 @@ const markdownIt = require("markdown-it"); +const markdownItFootnote = require("markdown-it-footnote"); +const markdownItPrism = require("markdown-it-prism"); +const markdownItAbbr = require("markdown-it-abbr"); +const markdownItAnchor = require("markdown-it-anchor"); -module.exports = markdownIt({ +const markdown = markdownIt({ html: true, breaks: true, linkify: true, typographer: true, -}); +}) + .use(markdownItFootnote) + .use(markdownItAbbr) + .use(markdownItAnchor) + .use(markdownItPrism, { + defaultLanguage: "plaintext", + }); + +module.exports = markdown; diff --git a/package.json b/package.json index 5d94cd2..7ef9ca9 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,10 @@ "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "markdown-it": "^14.0.0", + "markdown-it-abbr": "^2.0.0", + "markdown-it-anchor": "^8.6.7", + "markdown-it-footnote": "^4.0.0", + "markdown-it-prism": "^2.3.0", "postcss": "^8.4.33", "postcss-import": "^16.0.0", "postcss-import-ext-glob": "^2.1.1", diff --git a/src/pages/index.md b/src/pages/index.md index 264cbab..b0a3c52 100644 --- a/src/pages/index.md +++ b/src/pages/index.md @@ -248,7 +248,7 @@ This is HTML abbreviation example. It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on. -\*[HTML]: Hyper Text Markup Language +*[HTML]: Hyper Text Markup Language ### [Custom containers](https://github.com/markdown-it/markdown-it-container) diff --git a/yarn.lock b/yarn.lock index 81a5a5e..f3c464e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1459,6 +1459,28 @@ luxon@^3.3.0: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af" integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== +markdown-it-abbr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-it-abbr/-/markdown-it-abbr-2.0.0.tgz#aa01d8ff23ebf672f9a7db02a974e59254ce7acb" + integrity sha512-of7C8pXSjXjDojW4neNP+jD7inUYH/DO0Ca+K/4FUEccg0oHAEX/nfscw0jfz66PJbYWOAT9U8mjO21X5p6aAw== + +markdown-it-anchor@^8.6.7: + version "8.6.7" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz#ee6926daf3ad1ed5e4e3968b1740eef1c6399634" + integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== + +markdown-it-footnote@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/markdown-it-footnote/-/markdown-it-footnote-4.0.0.tgz#02ede0cb68a42d7e7774c3abdc72d77aaa24c531" + integrity sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ== + +markdown-it-prism@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/markdown-it-prism/-/markdown-it-prism-2.3.0.tgz#8b3ca2105e665ca20f62b2dc2b81f9393660a5af" + integrity sha512-ePtHY80gZyeje4bn3R3SL0jpd1C9HFaYffJW2Ma0YD+tspqa2v9TuVwUyFwboFu4jnFNcO8oPQROgbcYJbmBvw== + dependencies: + prismjs "1.29.0" + markdown-it@^13.0.1: version "13.0.2" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.2.tgz#1bc22e23379a6952e5d56217fbed881e0c94d536" @@ -2039,6 +2061,11 @@ prettier@3.2.4: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283" integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== +prismjs@1.29.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + promise-each@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/promise-each/-/promise-each-2.2.0.tgz#3353174eff2694481037e04e01f77aa0fb6d1b60"