feat: Updated project config/setup

Added eleventy config to add public folder passthrough, updated pack.json to serve content instead of compile, added plugins/metadata to rendering engine
This commit is contained in:
2025-07-02 21:42:48 -04:00
parent 2b99f7b3e9
commit f5f43578ec
4 changed files with 40 additions and 2 deletions

6
eleventy.config.js Normal file
View File

@ -0,0 +1,6 @@
/** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */
export default async function(eleventyConfig) {
eleventyConfig.addPassthroughCopy(
{'./public/': '/'}
)
}

View File

@ -3,7 +3,8 @@
"version": "1.0.0",
"description": "My personal blog",
"scripts": {
"start": "npx @11ty/eleventy --input ./src",
"start": "npx @11ty/eleventy --input ./src --serve",
"build": "npx @11ty/eleventy --input .src",
"clean": "rm -rf {_site,./src/_site}"
},
"repository": {
@ -13,5 +14,5 @@
"keywords": ["blog", "@11ty/eleventy", "eleventy"],
"author": "Cyper",
"license": "ISC",
"type": "commonjs"
"type": "module"
}

20
src/_data/metadata.js Normal file
View File

@ -0,0 +1,20 @@
const date = new Date();
const formattedDate = date.toLocaleDateString('en-GB', {
day: '2-digit',
month: 'short',
year: 'numeric'
});
export default {
author: {
name: "Cyper",
url: "https://cyper.cc"
},
title: "Cy by Side!",
url: "https://cy.cyper.cc/",
language: "en",
description: "Cy by Side with Cyper: Tangents, Tech, and Thoughtful Takes.",
date: formattedDate,
year: date.getFullYear()
}

11
src/_data/wordCount.js Normal file
View File

@ -0,0 +1,11 @@
export default function (data) {
if (typeof data.content === 'string') {
const words = data.content.trim().split(/\s+/).length;
const minutes = Math.ceil(words / 200); // avg reading speed
data.wordCount = words;
data.readingTime = `${minutes} min read`;
data.readingTimeMinutes = minutes;
}
return data;
}