We love having people contribute to the blog and it's our job to make this experience as pleasant as possible. Starting today, writing blog posts just got a little easier because you get to start using the tools you know and love: **Markdown and GitHub**. ## Old process Before today, blog posts written and reviewed in the [existing `blog` repo](https://github.com/planetscale/blog/pulls) had to be manually copied over to Sanity. This was a lengthy process, as images had to be manually downloaded from the repo and re-uploaded one-by-one into Sanity. Blog posts that were written in GDocs also had the extra step of converting them to Markdown before staging them in Sanity. ## Updated process With this update, you can now open your PRs directly in the [`website` repo](https://github.com/planetscale/website/pulls), and to publish them, all you have to do is merge the PR :) Individual blog posts live under [`/pages/blog` in the `website` repo](https://github.com/planetscale/website/tree/main/pages/blog) and look like this: ``` import { ayrton } from '@/authors' import { tutorials } from '@/blogCategories' export const meta = { title: 'Writing blog posts in Markdown', authors: [ayrton], readDuration: 2, publishDate: '2021-12-30', snippet: 'Writing blog posts gotten a little easier.', slug: 'writing-blog-posts-in-markdown', categories: [tutorials] } ## MDX MDX is a [standard file format](https://mdxjs.com/) that combines Markdown’s terse syntax with JSX component blocks. <Youtube url='https://www.youtube.com/watch?v=e-ORhEE9VVg' /> ``` ## Repo for tracking and knowledge base One thing that will remain the same is the use of the [`blog` repo for tracking](https://github.com/planetscale/blog). This is how the Developer Education team knows what's in flight so they can organize the blog publication schedule to ensure we always hit our 2 blog posts per week goal. ![](https://i.imgur.com/5uTyVKI.png) From now on, you should regard that `blog` repo as the project management tool and knowledge base for blogging at PS (writing tips, style guide, etc. coming soon). ## How to write a blog post So if you want to contribute to the blog (please do!) or even just contribute an idea, here's how you do it: 1. [Open an issue](https://github.com/planetscale/blog/issues/new/choose) on the `blog` repo to let us know something is in-flight. 2. Once you have a draft (WIP is fine), [open a PR on the `website` repo](https://github.com/planetscale/website/pulls). 3. Reference the PR on the issue from step 1. 4. Once ready for review or if you want early feedback, request a review from `hollylawly` on the PR. 5. We'll work together to get it ready, request header images from Brand team, and get it scheduled for publication. > For more in-depth instructions, see the [`blog` README](https://github.com/planetscale/blog#how-to-add-a-blog-post). P.S. While we strongly prefer you follow this process, we understand some people aren't comfortable with GitHub PRs. If want to contribute to the blog, but not sure how, message Holly and she can help :) ## Benefits - Saves Holly at least 1 hour on blog publishing days - If we ever need to bulk-update something, for example, documentation links in blog posts from `docs.planetscale.com` to `planetscale.com/docs`, it's much easier to do in GitHub than one-by-one in a CMS -