From a6ce2d299ba24d9d9581d08f108aea78b8210956 Mon Sep 17 00:00:00 2001 From: Reboot-Codes Date: Fri, 18 Oct 2024 17:15:16 -0700 Subject: [PATCH] Finish up migration(-ish) --- .gitignore | 2 + eleventy.config.js | 21 +- package.json | 5 + src/_data/footerLinks.json | 14 + src/_data/generalData.json | 88 +- src/_includes/components/footer.njk | 24 +- src/_includes/components/navigation.njk | 8 +- src/_includes/layouts/base.njk | 6 + src/_includes/layouts/post.njk | 4 + src/_includes/layouts/project.njk | 29 +- src/contact.njk | 17 +- src/index.njk | 61 +- src/posts.njk | 8 +- src/posts/adding-rss-and-fixing-hosting.md | 21 + ...-custom-email-with-cloudflare-and-gmail.md | 48 + ...tting-rid-of-floating-point-math-errors.md | 6 + src/posts/hello-world.md | 25 + ...ogseq-the-knowledge-graph-for-meatsacks.md | 6 + .../making-a-better-cyberpunk-dystopia.md | 6 + src/posts/post-1.md | 9 - src/posts/post-2.md | 5 - src/posts/post-3.md | 5 - src/posts/post-4.md | 5 - src/posts/post-5.md | 5 - src/posts/rewriting-rcgi.md | 22 +- src/posts/starting-to-learn-hacking.md | 57 + src/posts/why-is-machine-learning-so-hard.md | 6 + src/projects.njk | 14 +- src/projects/clover.njk | 13 + src/projects/oxifluxion.njk | 13 + src/projects/rcgi.njk | 4 + src/projects/taurus.njk | 13 + src/public/NotFound.svg | 60 + ...flare-email-forwarding-beta-2022-08-02.png | Bin 0 -> 5240 bytes src/public/favicon.png | Bin 0 -> 8497 bytes src/public/profile.png | Bin 0 -> 5694 bytes src/public/starting-hacking-2022-11-20.png | Bin 0 -> 568364 bytes src/styles/global.scss | 109 +- src/styles/home.scss | 48 + src/styles/post.scss | 40 + src/styles/prism-dark.scss | 213 + src/styles/prism-light.scss | 218 + src/tags.njk | 4 +- yarn.lock | 3923 +++++++---------- 44 files changed, 2743 insertions(+), 2442 deletions(-) create mode 100644 src/_data/footerLinks.json create mode 100644 src/posts/adding-rss-and-fixing-hosting.md create mode 100644 src/posts/free-ish-custom-email-with-cloudflare-and-gmail.md create mode 100644 src/posts/getting-rid-of-floating-point-math-errors.md create mode 100644 src/posts/hello-world.md create mode 100644 src/posts/logseq-the-knowledge-graph-for-meatsacks.md create mode 100644 src/posts/making-a-better-cyberpunk-dystopia.md delete mode 100644 src/posts/post-1.md delete mode 100644 src/posts/post-2.md delete mode 100644 src/posts/post-3.md delete mode 100644 src/posts/post-4.md delete mode 100644 src/posts/post-5.md create mode 100644 src/posts/starting-to-learn-hacking.md create mode 100644 src/posts/why-is-machine-learning-so-hard.md create mode 100644 src/projects/clover.njk create mode 100644 src/projects/oxifluxion.njk create mode 100644 src/projects/taurus.njk create mode 100644 src/public/NotFound.svg create mode 100644 src/public/cloudflare-email-forwarding-beta-2022-08-02.png create mode 100644 src/public/favicon.png create mode 100644 src/public/profile.png create mode 100644 src/public/starting-hacking-2022-11-20.png create mode 100644 src/styles/home.scss create mode 100644 src/styles/prism-dark.scss create mode 100644 src/styles/prism-light.scss diff --git a/.gitignore b/.gitignore index fd72422..dd3740e 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,5 @@ dist .yarn/install-state.gz .pnp.* +dist + diff --git a/eleventy.config.js b/eleventy.config.js index d085787..4f0ca61 100644 --- a/eleventy.config.js +++ b/eleventy.config.js @@ -3,12 +3,25 @@ const { feedPlugin } = require("@11ty/eleventy-plugin-rss"); const markdownIt = require("markdown-it"); const markdownItAnchor = require("markdown-it-anchor"); const timeToRead = require('eleventy-plugin-time-to-read'); +const markdownItExternalAnchor = require('markdown-it-external-anchor'); +const prism = require('markdown-it-prism'); module.exports = function (eleventyConfig) { const md = markdownIt({ "html": true }).use(markdownItAnchor, { "level": 2, permalink: markdownItAnchor.permalink.headerLink() + }).use(markdownItExternalAnchor, { + class: "link-external" + }).use(prism, { + highlightInlineCode: true, + plugins: [ + "copy-to-clipboard", + "show-language", + "inline-color", + "toolbar" + ] }); + eleventyConfig.setLibrary("md", md); eleventyConfig.addTemplateFormats("scss"); @@ -34,7 +47,9 @@ module.exports = function (eleventyConfig) { eleventyConfig.addCollection( "allPosts", function (collectionApi) { - return collectionApi.getFilteredByTags("post").sort((a, b) => (b.date - a.date)); + return collectionApi.getFilteredByTags("post").sort((a, b) => (b.date - a.date)).filter((a) => { + return a.data.published != false; + }); } ); @@ -82,7 +97,7 @@ module.exports = function (eleventyConfig) { }); eleventyConfig.addFilter("filterTagList", function filterTagList(tags) { - return (tags || []).filter(tag => ["all", "post", "allPosts", "project", "allProjects"].indexOf(tag) === -1).filter((tag) => (!(tag.startsWith("project:")))); + return (tags || []).filter(tag => ["all", "post", "allPosts", "project", "allProjects", "featuredProject"].indexOf(tag) === -1).filter((tag) => (!(tag.startsWith("project:")))); }); const parseDate = (str) => { @@ -114,6 +129,8 @@ module.exports = function (eleventyConfig) { return `${month} ${day}, ${year}`; }); + eleventyConfig.addPassthroughCopy({"src/public": "/"}); + return { dir: { input: "src", diff --git a/package.json b/package.json index 4c32189..e773c72 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,11 @@ "eleventy-plugin-time-to-read": "^1.3.0", "markdown-it": "^14.1.0", "markdown-it-anchor": "^9.0.1", + "markdown-it-external-anchor": "^1.0.0", + "markdown-it-prism": "^2.3.0", "sass": "^1.77.8" + }, + "devDependencies": { + "@types/markdown-it": "^14.1.2" } } diff --git a/src/_data/footerLinks.json b/src/_data/footerLinks.json new file mode 100644 index 0000000..d6e927b --- /dev/null +++ b/src/_data/footerLinks.json @@ -0,0 +1,14 @@ +[ + { + "title": "Github", + "href": "https://github.com/Reboot-Codes" + }, + { + "title": "Source", + "href": "https://github.com/Reboot-Codes/reboot-codes.github.io" + }, + { + "title": "RSS Feed", + "href": "/feed.xml" + } +] diff --git a/src/_data/generalData.json b/src/_data/generalData.json index 56c7b64..a32f8ce 100644 --- a/src/_data/generalData.json +++ b/src/_data/generalData.json @@ -20,11 +20,10 @@ "they/them/theirs" ], "discouragedPronouns": [ - "he/him/his" - ], - "unacceptablePronouns": [ + "he/him/his", "she/her/hers" - ] + ], + "unacceptablePronouns": [] }, "gh0st": { "name": "Hunter", @@ -49,6 +48,87 @@ "discouragedPronouns": [], "unacceptablePronouns": [] } + }, + "contactMethods": [ + { + "title": "Using Email", + "description": "A tried and true (to the golden age of self-hosted websites) method of communication.", + "url": "mailto:hello@reboot-codes.com" + }, + { + "title": "Using Matrix", + "description": "A new way of instant messaging, quite similar to email actually.", + "url": "https://matrix.to/#/@reboot-hasmatrix:matrix.org" + }, + { + "title": "Using GitHub", + "description": "Not really a way to contact me, but you might just want to checkout the source for something.", + "url": "https://github.com/Reboot-Codes" + } + ], + "experience": { + "technologies": [ + { + "title": "Node.js", + "description": "The first solution to use JavaScript server-side. It powers this site; and many others like Apple, Twitter, and more.", + "url": "https://nodejs.org/en/" + }, + { + "title": "TypeScript", + "description": "My favorite language to write code in. It's type safe and can be compiled into JavaScript to be used anywhere.", + "url": "https://www.typescriptlang.org/" + }, + { + "title": "React", + "description": "React is a frontend JavaScript library that allows for very flexible and extendable web apps. It runs this site with it's reusable components and advanced features.", + "url": "https://reactjs.org/" + }, + { + "title": "Next.js", + "description": "A framework to use React for high traffic, production web applications. It powers this site with it's use of server side rendering.", + "url": "https://nextjs.org/" + }, + { + "title": "PostgreSQL", + "description": "A very popular and powerful relational database, that's been tried and tested since 1996.", + "url": "https://www.postgresql.org/" + }, + { + "title": "MongoDB", + "description": "A document-based, no-SQL database for modern applications.", + "url": "https://www.mongodb.com/" + }, + { + "title": "Deno", + "description": "A next generation JavaScript and TypeScript interpreter like Node.js, but written in rust using the V8 engine. It aims to be fully compatible with browsers and Node.", + "url": "https://deno.land/" + }, + { + "title": "Web Sockets", + "description": "A web standard that allows for instantaneous delivery of data to and from clients and servers.", + "url": "https://developer.mozilla.org/en-US/docs/Web/API/WebSocket" + }, + { + "title": "Redis", + "description": "A fast, extendable, in memory, database. Mainly used as a cache; but can be used as a primary database.", + "url": "https://redis.io/" + }, + { + "title": "Raspberry Pi", + "description": "A credit card sized, ARM based computer for low power, mobile computing.", + "url": "https://www.raspberrypi.com/" + }, + { + "title": "Python", + "description": "Really fast and powerful interpreted programming/scripting language", + "url": "https://www.python.org/" + }, + { + "title": "Rust", + "description": "Memory-safe, low-level programming language with FFI support and a great compiler and community.", + "url": "https://www.rust-lang.org/" + } + ] } } } diff --git a/src/_includes/components/footer.njk b/src/_includes/components/footer.njk index 75f2908..cc12808 100644 --- a/src/_includes/components/footer.njk +++ b/src/_includes/components/footer.njk @@ -1,3 +1,23 @@ -