fyodorio / fyodorio-is-gridsome

Personal site and blog about problem solving in software engineering

Home Page:https://fyodor.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fyodor's digital shed

A personal blog based on customized Gridsome Blog Starter - a simple, hackable & minimalistic starter for Gridsome that uses Markdown for content.

Getting started

  • npm install*
  • npm start
  • Happy coding 🚀

*Because of the old npm supply chain versions (Gridsome is poorly maintained these days), older Node.js version needs to be used (v14.x.x) in order to make npm work here

Folder structure

./content/posts

Markdown files with blog posts. Files from this folder are accessible publicly. Images can be added to an internal folder here (for instance, ./content/posts/images).

./content/drafts

Markdown files with drafts for future blog posts (work in progress). These are intended to become new blog posts [soon]. Files from this folder are not accessible publicly.

./content/ideas

Markdown files with ideas for future blog posts. These might not make it to the eventual content but are nice to work on. Files from this folder are also not accessible publicly.

./content/deprecates

Old ideas, drafts, and whatnot marked for deletion.

./static

Add static files here. Files in this directory will be copied directly to dist folder during build. For example, /static/robots.txt will be located at https://yoursite.com/robots.txt.

./src/assets

Globally-accessed assets.

./src/components

Add components that will be imported to Pages and Layouts to this folder. Learn more about components here: https://gridsome.org/docs/components/.

./src/layouts

Layout components are used to wrap pages and templates. Layouts should contain components like headers, footers or sidebars that will be used across the site. Learn more about Layouts: https://gridsome.org/docs/layouts/.

./src/pages

Pages are usually used for normal pages or for listing items from a GraphQL collection. Add .vue files here to create pages. For example About.vue will be site.com/about. Learn more about pages: https://gridsome.org/docs/pages/.

./src/templates

Templates for GraphQL collections should be added here. To create a template for a collection called WordPressPost create a file named WordPressPost.vue in this folder. Learn more: https://gridsome.org/docs/templates/

Content population

The frontmatter for the posts of this blog follow closely the structure provided at dev.to blog editor interface, to improve compatibility and reposting. Here's what we have:

---
title: My awesome title
date: 2020-03-02 # which is YYYY-MM-DD
updatedOn: 2023-10-03 # which is also YYYY-MM-DD
published: true # not listed and shown at the compiled website if `false`
description: Sometimes we need that — as a details text for previews and such 
cover_image: # that should be a URL
tags: [webdev, angular, react, software, opinion] # up to five, the last is a category, and the last is not added on dev.to
canonical_url: https://fyodor.io/my-awesome-title/ # matches the file name
series: false # used on dev.to, not implemented here yet
---

About

Personal site and blog about problem solving in software engineering

https://fyodor.io


Languages

Language:Vue 56.7%Language:SCSS 30.6%Language:JavaScript 8.1%Language:HTML 4.6%