|
| 1 | +# New Blog Article |
| 2 | + |
| 3 | +Initialize a new blog article for TechWatching.dev with frontmatter and placeholder content. |
| 4 | + |
| 5 | +## Instructions |
| 6 | + |
| 7 | +1. **Determine the next article number** by checking the files in `content/1.posts/` directory. The new article should have the next sequential number. |
| 8 | + |
| 9 | +2. **Create the article file** with the naming convention: `{number}.{slug}.md` |
| 10 | + - The slug should be lowercase, hyphen-separated, and derived from the title |
| 11 | + - Example: `77.my-new-topic.md` |
| 12 | + |
| 13 | +3. **Categories for the badge label** (choose based on topic): |
| 14 | + - `Tooling` - Tools, extensions, CLI utilities, developer productivity |
| 15 | + - `DevOps` - CI/CD, infrastructure, cloud platforms, deployment |
| 16 | + - `Development` - Programming concepts, frameworks, coding practices |
| 17 | + - `Essay` - Thoughts, retrospectives, career advice, learning |
| 18 | + - `Tips` - Weekly tips posts |
| 19 | + |
| 20 | +4. **Tags** should be relevant to the content. Use proper casing for technologies: |
| 21 | + - Proper casing: `.NET`, `ASP.NET Core`, `Nuxt`, `Vue.js`, `TypeScript`, `OpenTelemetry` |
| 22 | + - Lowercase for concepts: `tooling`, `learning`, `thoughts`, `devops`, `api` |
| 23 | + - For weekly tips: include `tips learned this week` tag |
| 24 | + |
| 25 | +5. **Frontmatter fields**: |
| 26 | + - `title`: Can use quotes for titles with colons or special characters |
| 27 | + - `description`: Brief summary (can also use quotes) |
| 28 | + - `date`: Today's date in YYYY-MM-DD format |
| 29 | + - `image.src`: Cover image path |
| 30 | + - `badge.label`: Category |
| 31 | + - `tags`: Array of relevant tags |
| 32 | + - `canonical`: (optional) URL if cross-posted from another site |
| 33 | + - `ImageAttribution`: (optional) Credit for stock photos |
| 34 | + |
| 35 | +6. **Code blocks with filenames**: Use `[filename]` syntax after the language: |
| 36 | + ```typescript [nuxt.config.ts] |
| 37 | + // code here |
| 38 | + ``` |
| 39 | + |
| 40 | +## User Request |
| 41 | + |
| 42 | +Topic: $ARGUMENTS |
| 43 | + |
| 44 | +## Template |
| 45 | + |
| 46 | +Create the file with this exact structure (fill in frontmatter based on the topic): |
| 47 | + |
| 48 | +```markdown |
| 49 | +--- |
| 50 | +title: {Title based on topic} |
| 51 | +description: {Brief description} |
| 52 | +date: {Today's date YYYY-MM-DD} |
| 53 | +image: |
| 54 | + src: /images/placeholder_1.jpg |
| 55 | +badge: |
| 56 | + label: {Category} |
| 57 | +tags: |
| 58 | + - {tag1} |
| 59 | + - {tag2} |
| 60 | +--- |
| 61 | + |
| 62 | +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. |
| 63 | + |
| 64 | +## Section Title |
| 65 | + |
| 66 | +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. |
| 67 | + |
| 68 | +{.rounded-lg .mx-auto} |
| 69 | + |
| 70 | +Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. |
| 71 | + |
| 72 | +```typescript [example.ts] |
| 73 | +// Sample code block |
| 74 | +const example = "Hello World"; |
| 75 | +console.log(example); |
| 76 | +``` |
| 77 | + |
| 78 | +## Another Section |
| 79 | + |
| 80 | +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. |
| 81 | + |
| 82 | +### Subsection |
| 83 | + |
| 84 | +Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium. |
| 85 | + |
| 86 | +::callout{icon="i-heroicons-light-bulb"} |
| 87 | +This is a callout for tips or important notes. |
| 88 | +:: |
| 89 | +``` |
| 90 | + |
| 91 | +## Output |
| 92 | + |
| 93 | +Create only the initialized article file in `content/1.posts/` with frontmatter filled based on the topic and the placeholder structure above. Do NOT write actual article content. |
0 commit comments