feat: initial commit
This commit is contained in:
commit
e214116e40
253 changed files with 17406 additions and 0 deletions
33
config/plugins/css-config.js
Normal file
33
config/plugins/css-config.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import postcss from "postcss";
|
||||
import postcssImport from "postcss-import";
|
||||
import postcssImportExtGlob from "postcss-import-ext-glob";
|
||||
import autoprefixer from "autoprefixer";
|
||||
import cssnano from "cssnano";
|
||||
|
||||
export const cssConfig = (eleventyConfig) => {
|
||||
eleventyConfig.addTemplateFormats("css");
|
||||
eleventyConfig.addExtension("css", {
|
||||
outputFileExtension: "css",
|
||||
compile: async (inputContent, inputPath) => {
|
||||
const outputPath = "dist/assets/css/index.css";
|
||||
|
||||
if (inputPath.endsWith("index.css")) {
|
||||
return async () => {
|
||||
let result = await postcss([
|
||||
postcssImportExtGlob,
|
||||
postcssImport,
|
||||
autoprefixer,
|
||||
cssnano,
|
||||
]).process(inputContent, { from: inputPath });
|
||||
|
||||
await fs.mkdir(path.dirname(outputPath), { recursive: true });
|
||||
await fs.writeFile(outputPath, result.css);
|
||||
|
||||
return result.css;
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
4
config/plugins/index.js
Normal file
4
config/plugins/index.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
import { cssConfig } from "./css-config.js";
|
||||
import { markdownLib } from "./markdown.js";
|
||||
|
||||
export default { cssConfig, markdownLib };
|
25
config/plugins/markdown.js
Normal file
25
config/plugins/markdown.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
import markdownIt from "markdown-it";
|
||||
import markdownItAnchor from "markdown-it-anchor";
|
||||
import markdownItFootnote from "markdown-it-footnote";
|
||||
import markdownItLinkAttributes from "markdown-it-link-attributes";
|
||||
import markdownItPrism from "markdown-it-prism";
|
||||
|
||||
export const markdownLib = markdownIt({ html: true, linkify: true })
|
||||
.use(markdownItAnchor, {
|
||||
level: [1, 2],
|
||||
permalink: markdownItAnchor.permalink.headerLink({
|
||||
safariReaderFix: true,
|
||||
}),
|
||||
})
|
||||
.use(markdownItLinkAttributes, [
|
||||
{
|
||||
matcher(href) {
|
||||
return href.match(/^https?:\/\//);
|
||||
},
|
||||
attrs: {
|
||||
rel: "noopener",
|
||||
},
|
||||
},
|
||||
])
|
||||
.use(markdownItFootnote)
|
||||
.use(markdownItPrism);
|
Loading…
Add table
Add a link
Reference in a new issue