Documentation

Guides

Everything from your first post to running postline on your own server. The same guides live in the repository under docs/guides.

  1. 01Getting startedThis walks through setting up postline for one brand and one channel, then turning on scheduled publishing.
  2. 02Content formatOne post per Markdown file anywhere under posts/. Files and folders starting with or . are ignored, so posts/ideas/ is a safe place for scraps.
  3. 03Configurationpostline reads postline.config.yaml from the project root. Every key except brand.name has a default.
  4. 04Design systemspostline ships three layouts (rows, grid, statement) that take your colours, font and logo. When that isn't enough, you can bring your own design system in three steps, each optional and independent:
  5. 05Graphics libraryout/cards/ is a working folder: it is overwritten every time a card changes and is usually not committed. So postline also keeps a library: a folder on your own computer with a full-quality copy of every card it renders, ready to reuse in a deck, a website or print.
  6. 06ChannelsChannels are named in the config. The name is what posts reference in channels:; type picks the adapter. You can have two channels of the same type, for example two LinkedIn pages.
  7. 07SchedulingGitHub Actions is optional. Postline is a one-shot CLI with a built-in daemon, so publishing can run on your laptop, a small VPS, a home server, a container, or any job scheduler. No GitHub Actions minutes or credits are required.
  8. 08Self-hosted schedulingPostline does not need GitHub Actions, a hosted scheduler, or usage credits. It can stay running on any machine with Node.js 20 or newer and persistent storage.
  9. 09PreviewsSee a post the way each network will show it before it goes out: locally while you write, and on every pull request.
  10. 10Health checks and alertsMost publishing failures are known in advance: a LinkedIn token that runs out, an API version LinkedIn is about to retire, a missing secret, a post still marked as a draft the day before it's due. postline doctor finds these, and alerts tell you about anything that goes wrong while you're not watching.

Why postline works the way it does: architecture decision records on GitHub.