What does a blog engine look like if you write it in logic?
Yes, you can write a web server with Prolog.
Plog is a blog engine written in pure Prolog that dynamically reads Markdown files, parses them at request time, and serves clean HTML using a minimal prolog HTTP server.
No frameworks. No dependencies. No JavaScript. Just Prolog.
To add a new blog entry, simply write it in markdown and add it as prolog file to the contents folder. The prolog engine will dynamically parse the markdown into html recursively for display.
Check the site live: https://blauanarchy.org
![]() |
![]() |
![]() |
![]() |
-
Dynamically reads and parses Markdown on every request.
-
Pure Prolog: no external libraries or framework (except the standard HTTP package).
-
Prolog HTTP server: routing + rendering.
-
Prolog markdown parser supports: All headings, paragraphs, links,
code block, bold, italic, blockquote, images, horizontal rule.
Run the server
swipl -s main.pl -g server(YOUR_PORT)Then open:
http://localhost:YOUR_PORT, which contains the index page for the blogs and links to each individual blog page.
Add your own posts: wrap your own markdown file like this:
content("your content in markdown").Each file can use:
# Heading
## Subheading
### Sub-subheading
plain paragraphs
bold
italic
links
images
horizontal rule
code block
That's it!
This project intentionally avoids complexity. No abstractions unless justified. Everything is visible and understandable at a glance.
- Static site generation (export/0)
- Support more Markdown features
- RSS
If you find it interesting, feel free to ⭐ the repo.



