Initial Setup - ma9y/ma9y.github.io GitHub Wiki
npm init -y
npm pkg set type="module"
npm install @11ty/eleventy
echo '# My Eleventy Project' > index.md
/.gitignore
# Dependencies
node_modules
# VS Code
.history
.vscode
# Environment Variables
.env
# Eleventy output
dist
# Other
.DS_Store
# Obsidian
.obsidian
/eleventy.config.js
export default function(eleventyConfig) {
// Configure Eleventy
};
/package.json
"scripts": {
"start": "eleventy --serve",
"build": "eleventy"
}
/eleventy.config.js
export default function(eleventyConfig) {
// Configure Eleventy
};
export const config = {
dir: {
input: "views",
layouts: "_layouts",
output: "dist"
}
};
/eleventy.config.js
export default function(eleventyConfig) {
// Configure Eleventy
};
export const config = {
markdownTemplateEngine: "njk",
htmlTemplateEngine: "njk",
};
├── views // custom override of default folder
│ ├── _data // global data folder
│ │ └── site.js
│ ├── _includes
│ │ └── partials
│ ├── _layouts // custom override of default folder
│ │ └── base.njk // base layout
│ ├── assets // custom folder
│ │ ├── css
│ │ ├── img
│ │ └── js
│ ├── note // custom folder
│ │ └── note.json // default Front Matter Data
│ ├── post // custom folder
│ │ └── post.json // default Front Matter Data
│ └── index.md
├── .eleventy.config.js
├── .gitignore
├── package.json
└── package-lock.json
/eleventy.config.js
export default function(eleventyConfig) {
// method creates a file/folder copy in the output directory
eleventyConfig.addPassthroughCopy("views/assets/css");
eleventyConfig.addPassthroughCopy("views/assets/img");
eleventyConfig.addPassthroughCopy("views/assets/js");
};
/views/_layouts/base.njk
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ title }}</title>
</head>
<body>
<main>
{% block content %}
{{ content | safe }}
{% endblock %}
</main>
</body>
</html>
/views/notes/notes.json
{
"layout": "base"
}
<head>
<link href="/assets/css/style.css" rel="stylesheet">
</head>
---
permalink: "/index.html"
---