Skip to content

Commit 2712f79

Browse files
ramgopalsiddhindiVar0508
authored andcommitted
Add guide for creating blog posts in the Community Blog
1 parent 0d385a9 commit 2712f79

1 file changed

Lines changed: 129 additions & 0 deletions

File tree

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
layout: post
3+
title: "How to Create a Blog Post for the Community Blog"
4+
date: 2026-04-20
5+
authors:
6+
- ramgopalsiddh
7+
categories: [ community ]
8+
description: "A comprehensive guide on how to create and contribute blog posts to the BangPypers Community Blog."
9+
featured: false
10+
---
11+
12+
## How to Create a Blog Post for the Community Blog
13+
14+
Welcome to the BangPypers Community Blog! This guide will walk you through the process of creating and publishing your own blog post.
15+
16+
### Getting Started
17+
18+
The Community Blog uses GitHub and Jekyll to publish content. All blog posts are written in Markdown format and stored in the `_posts/community/` directory of our repository. This is separate from the main blog posts in `_posts/`, which are typically written by core organizers.
19+
20+
### Step-by-Step Guide to Creating a Blog Post
21+
22+
#### 1. **Fork the Repository**
23+
24+
First, fork the BangPypers repository from our GitHub page to your own account. This allows you to make changes without affecting the main content.
25+
26+
#### 2. **Create a New File**
27+
28+
Create a new Markdown file in the `_posts/community/` directory with the following naming convention:
29+
30+
```
31+
YYYY-MM-DD-post-title.md
32+
```
33+
34+
Example: `2025-02-21-my-first-post.md`
35+
36+
#### 3. **Add Front Matter**
37+
38+
Every blog post must start with YAML front matter that looks like this:
39+
40+
```yaml
41+
---
42+
layout: post
43+
title: "Your Blog Post Title"
44+
date: YYYY-MM-DD
45+
authors:
46+
- your-username
47+
categories: [ community, python, tutorial ]
48+
description: "A brief description of your blog post (appears in previews)."
49+
featured: false
50+
---
51+
```
52+
53+
- **title**: The title of your blog post
54+
- **date**: Publication date in YYYY-MM-DD format
55+
- **authors**: List your author handle (add yourself in `_authors/` directory if new)
56+
- **categories**: Relevant tags for your post (available: community, python, tutorial, workshop etc.)
57+
- **description**: A short summary for social sharing
58+
- **featured**: Set to `true` to highlight your post on the homepage
59+
- **image**: Optional URL to a featured image for social sharing
60+
61+
#### Author Registration
62+
63+
If you're a new author, create a profile in the `_authors/` directory. Create a file named `your-username.md` with YAML front matter like:
64+
65+
```yaml
66+
---
67+
username: your-username
68+
name: "Your Full Name"
69+
logo: https://example.com/avatar.jpg
70+
email: your-email@example.com
71+
twitter: https://twitter.com/yourhandle
72+
web: https://yourwebsite.com
73+
description: "A short bio about yourself."
74+
---
75+
```
76+
77+
This profile will appear with your posts.
78+
```
79+
80+
81+
#### 4. **Write Your Content**
82+
83+
Use Markdown formatting to write your blog post. Here are some useful formatting tips:
84+
85+
86+
#### 5. **Preview Your Post Locally**
87+
88+
Before submitting, preview your post to ensure it renders correctly:
89+
90+
1. Install Jekyll and dependencies: `bundle install`
91+
2. Run the site locally: `bundle exec jekyll serve`
92+
3. Open http://localhost:4000 to view your post
93+
4. Check formatting, links, and images
94+
95+
#### 6. **Submit Your Post**
96+
97+
Once your post is ready:
98+
99+
1. Commit your changes to your fork
100+
2. Create a pull request to the main repository with a clear title.
101+
3. Our team will review your post.
102+
4. Reviewers check for: adherence to guidelines, quality, relevance, and technical accuracy
103+
5. If changes are requested, update your PR accordingly
104+
6. Once approved, it will be published to the community blog
105+
106+
107+
### Content Guidelines
108+
109+
- Posts should be Python or community-related
110+
- Be respectful and follow our [Code of Conduct](/coc.html)
111+
- Avoid promotional or overly commercial content
112+
- Attribution is important—cite your sources
113+
- Posts should be original or properly attributed if previously published elsewhere
114+
115+
### Need Help?
116+
117+
If you have questions about creating a blog post, feel free to:
118+
- Ask on our [Discord server](https://discord.gg/Tnhbqh33zd)
119+
- Open an issue on [GitHub](https://github.com/bangpypers/bangalore.python.org.in)
120+
- Join our [mailing list](http://mail.python.org/mailman/listinfo/bangpypers)
121+
122+
### Troubleshooting
123+
124+
- **Jekyll won't build?** Ensure you have Ruby and Bundler installed. Run `bundle install` to install dependencies.
125+
- **Images not appearing?** Check the URL is correct and accessible. For local images, ensure they're in the right path.
126+
- **Front matter errors?** Validate your YAML syntax—use a YAML validator online.
127+
- **Post not showing?** Check the date is not in the future and `hidden` is `false`.
128+
129+
We look forward to your contributions!

0 commit comments

Comments
 (0)