diff --git a/.drone.yml b/.drone.yml
index 589b578..a556a8a 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -4,14 +4,9 @@ name: default
steps:
- name: build
- image: node:lts-alpine
- environment:
- GHOST_API_URL: https://admin.walkah.blog
- GHOST_CONTENT_API_KEY:
- from_secret: GHOST_CONTENT_API_KEY
+ image: denoland/deno
commands:
- - npm install
- - npm run build
+ - deno task build
- name: publish
image: walkah.dev/walkah/drone-ipfs-cluster
settings:
diff --git a/.eleventy.js b/.eleventy.js
deleted file mode 100644
index 64098b8..0000000
--- a/.eleventy.js
+++ /dev/null
@@ -1,70 +0,0 @@
-require("dotenv").config();
-
-const GhostContentAPI = require("@tryghost/content-api");
-const pluginNavigation = require("@11ty/eleventy-navigation");
-const pluginRss = require("@11ty/eleventy-plugin-rss");
-const localImages = require('eleventy-plugin-local-images');
-const path = require("path");
-
-const api = new GhostContentAPI({
- url: process.env.GHOST_API_URL,
- key: process.env.GHOST_CONTENT_API_KEY,
- version: "v3.0"
-});
-
-const stripDomain = url => {
- return url.replace(process.env.GHOST_API_URL, "");
-};
-
-module.exports = function (eleventyConfig) {
- eleventyConfig.addPlugin(pluginNavigation);
- eleventyConfig.addPlugin(pluginRss);
-
- eleventyConfig.addPassthroughCopy("css");
- eleventyConfig.addPassthroughCopy("images");
-
- eleventyConfig.addPlugin(localImages, {
- distPath: '_site',
- assetPath: '/assets/images',
- selector: 'img',
- verbose: false
- });
-
- eleventyConfig.addFilter("dateString", (dateObj) => {
- return new Date(dateObj).toISOString().split("T")[0];
- });
-
- eleventyConfig.addFilter("relativePath", (pathToFilter, page) => {
- if (!pathToFilter.startsWith("/")) {
- return pathToFilter;
- }
-
- return path.relative(page.url, pathToFilter);
- })
-
- eleventyConfig.addCollection("posts", async function (collection) {
- collection = await api.posts
- .browse({
- include: "tags,authors",
- limit: "all",
- })
- .catch((err) => {
- console.error(err);
- });
-
- collection.forEach((post) => {
- post.url = stripDomain(post.url);
- post.primary_author.url = stripDomain(post.primary_author.url);
-
- // Convert publish date into a Date object
- post.date = new Date(post.published_at);
- post.published_at = new Date(post.published_at);
- post.updated_at = new Date(post.updated_at);
- });
-
- // Bring featured post to the top of the list
- collection.sort((post, nextPost) => nextPost.featured - post.featured);
-
- return collection;
- });
-}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index e5dd449..47c9002 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
+_site
+_cache
+.DS_Store
/node_modules
-/_site
-/.env
/.direnv
\ No newline at end of file
diff --git a/_config.ts b/_config.ts
new file mode 100644
index 0000000..f08ff65
--- /dev/null
+++ b/_config.ts
@@ -0,0 +1,39 @@
+import lume from "lume/mod.ts";
+import date from "lume/plugins/date.ts";
+import feed from "lume/plugins/feed.ts";
+import metas from "lume/plugins/metas.ts";
+import nunjucks from "lume/plugins/nunjucks.ts";
+import postcss from "lume/plugins/postcss.ts";
+import relativeUrls from "lume/plugins/relative_urls.ts";
+import tailwindcss from "lume/plugins/tailwindcss.ts";
+import terser from "lume/plugins/terser.ts";
+
+import tailwindConfig from "./tailwind.config.js";
+
+const site = lume();
+
+site.copy("images");
+
+site.use(date());
+site.use(feed({
+ output: ["/feed.rss", "/feed.json"],
+ info: {
+ title: "=site.title",
+ description: "=site.description",
+ },
+ items: {
+ title: "=title",
+ description: "=excerpt",
+ },
+ query: "type=post"
+}));
+site.use(metas());
+site.use(nunjucks());
+site.use(tailwindcss({
+ options: tailwindConfig,
+}));
+site.use(postcss());
+site.use(relativeUrls());
+site.use(terser());
+
+export default site;
diff --git a/_data.yml b/_data.yml
new file mode 100644
index 0000000..b8d7787
--- /dev/null
+++ b/_data.yml
@@ -0,0 +1,6 @@
+metas:
+ site: walkah.blog
+ description: James Walker has a blog
+ title: "=title"
+ image: "=image"
+ lang: en
\ No newline at end of file
diff --git a/_data/metadata.json b/_data/metadata.json
deleted file mode 100644
index f5ce671..0000000
--- a/_data/metadata.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "title": "walkah",
- "url": "https://walkah.blog/",
- "description": "It's a new blog, just like the old blog.",
- "feed": {
- "filename": "feed.xml",
- "path": "/feed.xml",
- "id": "https://walkah.blog/feed.xml"
- },
- "jsonfeed": {
- "path": "/feed.json",
- "url": "https://walkah.blog/feed.json"
- },
- "author": {
- "name": "James Walker",
- "email": "walkah@walkah.net",
- "url": "https://walkah.net/"
- }
-}
\ No newline at end of file
diff --git a/_includes/layouts/default.njk b/_includes/layouts/default.njk
index aedc323..dabaf2d 100644
--- a/_includes/layouts/default.njk
+++ b/_includes/layouts/default.njk
@@ -1,21 +1,21 @@
-
+
- {{ title or metadata.title }}
-
-
-
-
+ {{ title or metas.site }}
+
+
+
+
diff --git a/_includes/layouts/post.njk b/_includes/layouts/post.njk
index 8a18264..1041cdd 100644
--- a/_includes/layouts/post.njk
+++ b/_includes/layouts/post.njk
@@ -1,9 +1,5 @@
{% extends 'layouts/default.njk' %}
-{% set title = post.title %}
-{% set codeinjection_head = post.codeinjection_head %}
-{% set codeinjection_foot = post.codeinjection_foot %}
-
{% block content %}
@@ -23,14 +19,11 @@
{{ content | safe }}