Create, browse and edit Markdown Blog posts from Raycast.
This extension helps organize, edit and publish blog posts from Raycast. To do achieve this, it makes a couple assumptions about the structure of your blog.
md or mdx files.You can keep your posts anywhere on your computer and configure the posts and drafts directories separately.
This is the folder structure I use with Astro:
/pyronaur.com
/src
/content
/public
- post1.md
- post2.md
/subdirectory-name
- post3.md
- post4.md
/draft
- post5.md
- post6.md
/another-subdirectory
- post7.md
- post8.md
When a post is published, it's moved from the drafts folder to the public folder. For example, post7.md would be moved from /drafts/another-subdirectory to /public/another-subdirectory.
The slugs of each post must be unique even though they may be in different directories.
By default, this extension uses the Frontmatter format for markdown files. If you don't want to use Frontmatter or you just want to tweak the template, you can do so.
Create a .template.md file in the drafts directory or any sub-directories. This template will be used when creating a new post.
The default template is:
---
title: __title__
summary: __summary__
date: __date__
---
Once upon a time...
The __title__ and __summary__ variables will be replaced with the values you enter when creating a new post. And __date__ will be replaced with the current date formatted as YYYY-MM-DD.
When a post is published, the date Frontmatter variable is going to be updated again with the current publishing date.
Note: This feature currently isn't going to work if you don't use Frontmatter or have the
datevariable customized to something else. Let me know if this is something that you'd like to see. I'm happy to add it, if that's something that you'd find useful.
You might want to ignore some files inside the blog directories.
In the root of each of you content directories (draft and public paths), you can add a file called .ray-ignore and specify glob patterns to ignore for that directory:
archive/*
special-hidden-post.md
Props @thomaspaulmann - The starting point of this project was inspired by Downloads Manager extension.