Skip to content

Commit 36b8200

Browse files
cmaureirgeorgicallyMariattaegeakman
authored
Website blogpost and documentation workflow (#224)
* approve dependencies- @parcel/watcher, esbuild, sharp. Most likely needed later. * Add workflow for blog posts * Apply suggestions from code review Co-authored-by: Mariatta <[email protected]> * Explain author page creation * make doc inception visible on the website * add description --------- Co-authored-by: georgically <[email protected]> Co-authored-by: Mariatta <[email protected]> Co-authored-by: Ege Akman <[email protected]>
1 parent 3da9ff0 commit 36b8200

File tree

3 files changed

+125
-5
lines changed

3 files changed

+125
-5
lines changed

src/content/docs/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
2-
draft: true
3-
title: "Documentation Inception"
2+
draft: false
3+
title: "Documentation Inception: How to Create and Manage Docs"
4+
description: "A guide on how to create and manage documentation within the project"
5+
section: "website"
46
---
57

68
# Documentation
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: "Workflow: Blog posts"
3+
meta_title: "Workflow: Blog posts"
4+
description: "Workflow for requesting and submiting a blog post"
5+
section: "website"
6+
draft: false
7+
---
8+
9+
## Request Blog Post Workflow
10+
11+
**For the communications team**
12+
13+
### 1. Blog Post Request Initiation
14+
15+
* **Who:** Any team member
16+
* **Where:** GitHub ([PyLadiesCon repo](https://github.com/global-conference) – Pull request)
17+
18+
Create a Pull Request with the title: `Blog Post: [Proposed Title]`
19+
and assign to: Denny (Communications Lead).
20+
21+
The content should be in a markdown file in the
22+
[src/content/posts](https://github.com/pyladies/global-conference/tree/main/src/content/posts)
23+
directory.
24+
25+
You can see other files in the directory as an example,
26+
but the most important thing is to include the following information
27+
at the beginning of the file:
28+
29+
```
30+
---
31+
title: "Your title"
32+
meta_title: "Your meta title"
33+
description: "Short description of the post"
34+
date: 2025-06-02T05:00:00Z
35+
categories: ["Blog Post",]
36+
image: "/images/posts/default2025.png"
37+
authors: ["YourName"]
38+
tags: ["the", "tags", "of", "your", "posts"]
39+
draft: false
40+
---
41+
42+
Here you start writing your post
43+
44+
```
45+
46+
Please be mindful that the `date` needs to be updated,
47+
and an optional header can also be updated in the
48+
[public/images/posts](https://github.com/pyladies/global-conference/tree/main/public/images/posts)
49+
directory, or you can request it in the next step.
50+
51+
Please indicate if the content is ready or needs to be finished.
52+
53+
#### Add or update your Author page (one-time)
54+
55+
To display your name, avatar, and bio on blog posts and your author profile page, create your author file in the authors collection. You only need to do this once per author.
56+
57+
* Where: `src/content/authors/`
58+
* Filename: use a lowercase, kebab-case slug of your name, for example: `lais.md`, `cheuk.md`
59+
* Image: add your photo to `public/images/authors/` and reference it in the frontmatter
60+
61+
Example author file (`src/content/authors/your-slug.md`):
62+
63+
```
64+
---
65+
title: "Your Name"
66+
meta_title: "About Your Name"
67+
image: "/images/authors/your-slug.jpg"
68+
description: "Short bio, 1–2 sentences."
69+
social:
70+
github: "https://github.com/yourhandle"
71+
linkedin: "https://www.linkedin.com/in/yourhandle/"
72+
twitter: "https://twitter.com/yourhandle"
73+
mastodon: "https://mastodon.social/@yourhandle"
74+
instagram: "https://instagram.com/yourhandle"
75+
bluesky: "https://bsky.app/profile/yourhandle.bsky.social"
76+
---
77+
78+
Your longer bio can go here!
79+
```
80+
81+
Important:
82+
83+
- The value you put in `authors` in your blog post frontmatter must match this author page’s `title` (case-insensitive). For example:
84+
85+
```
86+
authors: ["Your Name"]
87+
```
88+
89+
- Place your image under `public/images/authors/` and reference it with an absolute path like `/images/authors/your-slug.jpg`.
90+
- Supported social keys are: `github`, `linkedin`, `twitter`, `mastodon`, `instagram`, and `bluesky`.
91+
92+
You can see existing author pages here for reference:
93+
https://github.com/pyladies/global-conference/tree/main/src/content/authors
94+
95+
### 2. Header design request (optional)
96+
97+
98+
* **Who:** Communications Lead
99+
* In the same GitHub Pull Request, tag the Design Lead (Georgi) to request the blog post header.
100+
Include in the comment:
101+
* Suggested idea
102+
* Deadline for design delivery
103+
104+
### 3. Review and Merge
105+
106+
* **Who:** Organizers reviewers
107+
108+
* Review the blog post by leaving comments in the Pull Request
109+
* Request edits if needed
110+
* Approve and merge the PR when ready
111+
112+
### 4. Publish & Share
113+
114+
* **Who:** Communications or Social Media Lead
115+
116+
* Confirm the blog post is live on the website
117+
* Share the link in the communications or social media channel

src/lib/utils/docsHelpers.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ export type DocsSection = {
1111
const SECTION_LABELS: Record<string, string> = {
1212
volunteers: "Volunteer Guides",
1313
speakers: "Speaker Guides",
14-
resources: "Resources",
15-
sponsorship: "Sponsorship Guides"
14+
sponsorship: "Sponsorship Guides",
15+
website: "Website Guides",
16+
resources: "Resources"
1617
};
1718

18-
const SECTION_ORDER = ["speakers", "volunteers", "sponsorship", "resources"] as const;
19+
const SECTION_ORDER = ["speakers", "volunteers", "sponsorship", "website", "resources"] as const;
1920

2021
const resolveSectionKey = (doc: CollectionEntry<"docs">): string => {
2122
// use explicit section if available

0 commit comments

Comments
 (0)