Librarian is a static site generator written in PHP on top of Minicli. It uses the same format as DEV.to for markdown files with a front matter and liquid tags for custom functionality. The front matter is fluid and doesn't have a fixed spec, meaning you can include any custom fields you want and fetch them from your templates.
Librarian aims to be a simple solution to document open source projects and for blogging. Inspired by Hugo, but written in PHP.
Librarian supports themes, and the default theme setup uses TailwindCSS.
Librarian doesn't use databases, sessions, or users. Administration is made from the command-line. It is also possible to write custom CLI commands to extend Librarian to your own needs. For multiple authors, author information must be defined as metadata within the front matter.
Liquid tags supported at the moment:
||embeds mp3 audio|
||embeds mp4 video|
||embeds a YouTube video|
||embeds File from GitHub (Gists aren't supported at the moment)|
Librarian can also serve a dynamic website from its
/web directory, and that was the former default way of using Librarian; Since version 4, however, we're favoring the static site build mechanism as new recommended default, while the dynamic setup can be used for development and preview.
- PHP 8.1+:
cliis enough to generate the static build; for development you can use the built-in PHP web server to get instant previews.
- Composer: for installing the PHP dependencies.
- NPM: recommended due to Tailwind, but only required if you're modifying templates.
Librarian uses Tailwind css for its front-end, but the pre-built
app.css is included to facilitate usage.
You are only required to run
npm if you make significant changes to the layout, or if you want to include additional CSS in the assets build pipeline.