Writing a blog article
- Read
docs/blog-guidelines.mdcompletely. Its rules are binding. - Copy
docs/blog-template.mdtosrc/content/blog/en/<slug>.mdand write the English version. - Write the German version in
src/content/blog/de/<german-slug>.mdwith the sametranslationKey. Localise, use "Sie". - Only use experience and examples Fabian has confirmed (briefing, project memory, his messages). Ask him when an example is missing instead of inventing one.
- Do a slop review of both versions (see "No AI slop" in the guidelines): delete every sentence that would fit any article, replace generic claims with Fabian's concrete facts, read it out loud once.
- Draw the card image for the blog overview: add an entry for the article's
translationKeytosrc/lib/card-drawings.ts(light technical drawing, EN/DE labels with facts from the article, see "Card image" in the guidelines). Every article gets one; the build fails without it. - Set
draft: falsewhen the article is ready, then runnpm run build. Fix every message fromcheck-blog.mjsor the content schema. - Look at the built article page once, and the card on
/blog/with its drawing (takeaways box at the top, collapsible FAQ, author box, contact section with "Book a call" and the contact form at the bottom) and the generated preview image indist/og/<lang>/<slug>.png. Suggest an explanatory graphic when the topic benefits from one (see Images in the guidelines). - Open the pull request and add 2–3 LinkedIn teaser drafts for Fabian to the PR or the thread.
Do not change the template components (src/components/BlogPost.astro, BlogIndex.astro) for a single article. Layout changes apply to all articles.