Skip to content

Commit a31d728

Browse files
authored
automate contributions (#318)
* automate contributions * add image functionality * fix issues * fix issues
1 parent f733c58 commit a31d728

5 files changed

Lines changed: 1511 additions & 24 deletions

File tree

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
name: 📝 Blog Post Submission
2+
description: Submit a new blog post or article to the site.
3+
title: "[Blog Post]: "
4+
labels: ["blog-post"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for contributing a blog post! Fill in the fields below and a PR will be created automatically.
11+
12+
> ⚠️ If you've contributed before and your author details are already in `.authors.yml`, you can leave the author section blank — just make sure your **Author ID** matches exactly.
13+
14+
# ── Post metadata ──────────────────────────────────────────────────────────
15+
16+
- type: input
17+
id: title
18+
attributes:
19+
label: Post title
20+
validations:
21+
required: true
22+
23+
- type: input
24+
id: slug
25+
attributes:
26+
label: Slug (URL-friendly identifier)
27+
description: Lowercase, hyphens only. This becomes the page URL.
28+
validations:
29+
required: true
30+
31+
- type: input
32+
id: date
33+
attributes:
34+
label: Publication date
35+
description: Format — YYYY-MM-DD
36+
validations:
37+
required: true
38+
39+
- type: input
40+
id: categories
41+
attributes:
42+
label: Categories
43+
description: Comma-separated list.
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: description
49+
attributes:
50+
label: Short description
51+
description: A one or two sentence summary shown in the blog index.
52+
validations:
53+
required: true
54+
55+
- type: textarea
56+
id: body
57+
attributes:
58+
label: Post body
59+
description: Full content of your post in Markdown.
60+
validations:
61+
required: true
62+
63+
- type: textarea
64+
id: links
65+
attributes:
66+
label: Links (optional)
67+
description: |
68+
Optional. Add related links in the format below — one per line.
69+
Leave blank if you have no links (including this section with no content will cause a build error).
70+
71+
Format:
72+
```
73+
Link Name: https://example.com
74+
Another Link: https://example.com/page
75+
```
76+
validations:
77+
required: false
78+
79+
# ── Author details ──────────────────────────────────────────────────────────
80+
81+
- type: markdown
82+
attributes:
83+
value: |
84+
---
85+
### Your author details
86+
Your **Author ID** is how you're referenced in the post frontmatter (e.g. `SamHollings`).
87+
If you've submitted before, just fill in the Author ID and leave the rest blank.
88+
89+
- type: input
90+
id: author_id
91+
attributes:
92+
label: Author ID
93+
description: A short unique identifier — no spaces. Usually FirstnameLastname.
94+
validations:
95+
required: true
96+
97+
- type: input
98+
id: author_name
99+
attributes:
100+
label: Your full name
101+
description: Leave blank if you're already in the authors file.
102+
validations:
103+
required: false
104+
105+
- type: input
106+
id: author_description
107+
attributes:
108+
label: Job title / bio
109+
description: Shown beneath your name on the post. Leave blank if already registered.
110+
validations:
111+
required: false
112+
113+
- type: input
114+
id: author_avatar
115+
attributes:
116+
label: Avatar URL
117+
description: A direct link to a profile image. Your GitHub avatar works well — https://avatars.githubusercontent.com/u/YOUR_ID?v=4
118+
validations:
119+
required: false
120+
121+
- type: input
122+
id: author_url
123+
attributes:
124+
label: Profile URL
125+
description: Your GitHub profile or personal site.
126+
validations:
127+
required: false
128+
129+
# ── Images (optional) ──────────────────────────────────────────────────────
130+
131+
- type: markdown
132+
attributes:
133+
value: |
134+
---
135+
### Images for your blog post (optional)
136+
You can include images in your blog post by uploading them after creating this issue.
137+
138+
**Instructions:**
139+
1. After submitting this form, look for the comment box below
140+
2. Click "Upload files" and select your images
141+
3. Supported formats: PNG, JPG, JPEG, GIF
142+
4. Images will be placed in `docs/images/blogs/[slug]/` automatically
143+
5. Use markdown syntax in your post body to reference them:
144+
```markdown
145+
![Image description](../images/blogs/[slug]/image-filename.png)
146+
```
147+
148+
- type: textarea
149+
id: images_info
150+
attributes:
151+
label: Image Filenames (if applicable)
152+
description: |
153+
If you're uploading images, list the filenames you'll use so the workflow knows what to expect.
154+
Leave blank if not using images.
155+
156+
Example:
157+
```
158+
cover.png
159+
diagram1.jpg
160+
```
161+
validations:
162+
required: false

0 commit comments

Comments
 (0)