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 @@ -