A personal blog based on customized Gridsome Blog Starter - a simple, hackable & minimalistic starter for Gridsome that uses Markdown for content.
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
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
).
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.
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.
Planned posts or pages about side projects.
Old ideas, drafts, and whatnot marked for deletion.
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. (Not used, removed now.)
Globally-accessed assets.
Add components that will be imported to Pages and Layouts to this folder. Learn more about components here: https://gridsome.org/docs/components/.
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/.
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/.
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/
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
---