|
| 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 | +  |
| 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