The Problem with Content Workflows
Most professionals publish content across multiple platforms — LinkedIn, a personal website, maybe Medium — and maintain each version separately. This leads to:
- Duplicated work: the same text is entered and formatted in multiple places
- Version drift: edits on one platform are not reflected on others
- No version control: unlike code, content changes are not tracked
- SEO dilution: search engines see multiple copies of the same content
Content as Code
At Cologne Lab IT, we apply the same engineering principles to content that we apply to software:
- Single source of truth: every article is a Markdown file in a Git repository
- Version-controlled: every change is tracked with full history
- Automated deployment:
git pushtriggers the entire publishing pipeline - Social distribution: LinkedIn teasers are generated automatically
How It Works
Step 1: Write in Markdown
Each article is a .md file with YAML front matter:
title: "My Article Title"
date: 2026-03-21
slug: my-article
summary: "A one-line description for social cards."
tags: [DevOps, Healthcare IT]
linkedin_teaser: |
The hook paragraph for LinkedIn.
The body is standard Markdown — headings, code blocks, links, images.
Step 2: Build
A Python script converts Markdown to HTML, injects it into the terminal-themed template, and generates:
/articles/<slug>/index.html— the full article page with Open Graph metadatalinkedin/<slug>.txt— a ready-to-paste LinkedIn teaser with UTM tracking
Step 3: Deploy
A GitHub Action triggers on every push to main:
- Builds the static site (including articles)
- Packages it into a Docker image with nginx
- Deploys to the production server via SSH
- Runs a health check to verify
Step 4: Distribute
After deployment, you get a LinkedIn-ready teaser text with the canonical URL and UTM parameters. Paste it into LinkedIn, and the Open Graph metadata ensures a clean preview card with title, description, and image.
Why This Matters
For technical professionals and founders, this approach offers:
- Consistency: one edit propagates everywhere
- Speed: from commit to live in under 2 minutes
- Ownership: your content lives on your domain, not locked in a platform
- Analytics: UTM parameters let you track where traffic comes from
- SEO: canonical URLs and proper metadata ensure search engines index the right version
What’s Next
We are exploring:
- Automated OG image generation per article (title + branding overlay)
- LinkedIn API integration for company page auto-posting
- RSS feed generation for subscribers
- Full-text search across all articles
The foundation is simple: treat content like code, and the rest follows from good engineering practices.