librarianphp / librarian

A static site generator and markdown indexer inspired by Hugo and DEV, written in PHP
https://librarianphp.dev/
MIT License
134 stars 11 forks source link
blog builder cli cms command-line devto markdown php static
Librarian

Librarian

Static site builder and Markdown document indexer inspired by Hugo but written in PHP.

Packagist PHP from Packagist GitHub Workflow Status (main)

About

Librarian is a static site builder and Markdown document indexer inspired by Hugo but written in PHP. 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.

---
title: This Is My About Page
published: true
created_at: 2023-04-01
description: Hey there! I'm Librarian, a small file-based CMS and static site generator created in PHP, on top of Minicli.
cover_image: https://picsum.photos/780/300?r=8
---

Hey there! I'm Librarian, a small file-based CMS and static site generator created in PHP, on top of Minicli. I don't use a database, I don't have a control panel, or users. Everything is pulled from static content in my content dir.
...

Librarian default index page screenshot

Librarian doesn't use databases, sessions, or users. Administration is made from the command-line. For multiple authors, author information must be defined as metadata within the front matter.

Liquid tags supported at the moment:

Tag Example Description
audio {% audio path_to_mp3.mp3 %} embeds mp3 audio
video {% video path_to_mp4.mp4 %} embeds mp4 video
youtube {% youtube video_ID %} embeds a YouTube video
github {% github file_url %} embeds File from Github (Gists aren't supported at the moment)

Check the doc page on how to create your own custom liquid tags.

Documentation

The official documentation is available at https://librarianphp.dev. You can contribute to Librarian's documentation via GitHub.

Projects Using Librarian

Contributing

Check the Contributing Guide.