Your Guide to Publishing on the Python Insider Blog (New Home)

<h2>Introduction</h2> <p>The Python Insider Blog has relocated to <a href="https://blog.python.org" target="_blank">blog.python.org</a>, and with the move comes a streamlined contribution process. No longer do you need a Google account or the Blogger editor—now <strong>anyone</strong> with GitHub skills can submit a post. All 307 previous entries have been migrated, old URLs redirect seamlessly, and your RSS feed still works (<a href="https://blog.python.org/rss.xml" target="_blank">new feed URL</a>). This guide walks you through the exact steps to write and publish your own article on the official Python blog.</p><figure style="margin:20px 0"><img src="https://picsum.photos/seed/3827424789/800/450" alt="Your Guide to Publishing on the Python Insider Blog (New Home)" style="width:100%;height:auto;border-radius:8px" loading="lazy"><figcaption style="font-size:12px;color:#666;margin-top:5px"></figcaption></figure> <h2 id="what-you-need">What You Need</h2> <p>Before you start, make sure you have these prerequisites ready:</p> <ul> <li>A <strong>GitHub account</strong> (free tier works).</li> <li>Basic understanding of <strong>Markdown</strong> (headings, lists, links, etc.).</li> <li>A <strong>text editor</strong> – any plain-text editor will do (like VS Code, Notepad++, or even a simple text editor).</li> <li>Familiarity with <strong>pull requests</strong> on GitHub (optional but helpful).</li> <li>Optional: <strong>Git</strong> installed locally for previewing your post.</li> </ul> <h2 id="steps">Step-by-Step Guide</h2> <h3>Step 1: Fork the Repository</h3> <p>Go to the official repository: <a href="https://github.com/python/python-insider-blog" target="_blank">python/python-insider-blog</a>. Click the <strong>Fork</strong> button at the top-right to create your own copy under your GitHub account. This is where you'll make all your changes.</p> <h3>Step 2: Create Your Post Directory</h3> <p>Inside the <code>content/posts/</code> directory, create a new folder named with a short, descriptive slug for your post (e.g., <code>my-article-slug</code>). This folder will hold your Markdown file and any images. The slug will become part of the final URL, so choose something clear and without spaces.</p> <h3>Step 3: Write Your Blog Post in Markdown</h3> <p>Inside your slug folder, create a file called <code>index.md</code>. Open it in your text editor and start with the required <strong>YAML frontmatter</strong> at the very top. The frontmatter fields are:</p> <ul> <li><code>title</code>: Your post title (use quotes if it contains special characters).</li> <li><code>date</code>: The publication date in <code>YYYY-MM-DD</code> format.</li> <li><code>authors</code>: A list of author GitHub usernames (e.g., <code>['ghuser1', 'ghuser2']</code>).</li> <li><code>tags</code>: A list of tags, like <code>['release', 'news']</code>.</li> </ul> <p>After the frontmatter, write your content in Markdown. Use headings, paragraphs, lists, code blocks, and links just like any Markdown document. Refer to the <a href="https://github.com/python/python-insider-blog/blob/main/README.md#frontmatter" target="_blank">README on the repo</a> for a complete list of optional fields and formatting tips.</p> <h3>Step 4: Add Images (Optional)</h3> <p>If your post includes images, place them in the same directory as your <code>index.md</code> file. Use relative paths in your Markdown, such as <code>![alt text](image.png)</code>. The build system will handle the rest. No special tooling required.</p> <h3>Step 5: Open a Pull Request</h3> <p>Once your markdown file is ready, commit your changes to your forked repository (or work directly on the GitHub web interface if you prefer). Navigate back to the original repository—it will show a banner offering to compare & pull request. Click that button, write a brief description of your post (e.g., 'New article about Python 3.13'), and submit the PR. The blog maintainers will review and merge it.</p> <h4>Optional: Preview Locally</h4> <p>If you want to see how your post will look before submitting, you can run the site locally. The blog is built with <strong>Astro</strong> and deployed as static HTML. Clone your fork, install dependencies (<code>npm install</code>), then run <code>npm run dev</code> to start a local server. There's also a <strong>Keystatic CMS</strong> available in development mode for a visual editor—check the <a href="https://github.com/python/python-insider-blog/blob/main/README.md#local-development" target="_blank">local development section</a> in the README for instructions.</p> <h2 id="tips">Tips for a Successful Contribution</h2> <ul> <li><strong>Keep it relevant:</strong> The blog covers Python releases, core sprints, governance updates, and community news. Avoid generic tutorials unless they relate directly to Python’s development.</li> <li><strong>Use plain language:</strong> Write for a broad audience of Python enthusiasts. Explain acronyms and avoid unnecessary jargon.</li> <li><strong>Check your images:</strong> Make sure file names match and that images are properly sized (use responsive images if needed—Astro handles optimization).</li> <li><strong>Test your links:</strong> Verify that any external URLs work and that internal references (like anchor links) are correct.</li> <li><strong>Respect the community guidelines:</strong> Follow Python’s <a href="https://www.python.org/psf/conduct/" target="_blank">Code of Conduct</a> in your writing and comments.</li> <li><strong>Be patient:</strong> The blog team will review your PR. If they suggest changes, they’ll provide feedback—it’s all part of the collaborative process.</li> <li><strong>Use the RSS feed:</strong> Once your post is live, subscribers using the feed <a href="https://blog.python.org/rss.xml" target="_blank">https://blog.python.org/rss.xml</a> will see it automatically. No action needed on your part.</li> <li><strong>Report issues:</strong> If you spot broken links, missing images, or formatting problems from the migration, <a href="https://github.com/python/python-insider-blog/issues" target="_blank">file an issue on the repo</a>. Pull requests are welcome too.</li> </ul> <p>Now you have everything you need to contribute to the Python Insider Blog. Happy writing!</p>
Tags: