Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A static blog compiler made purely in shell scripting, using Markdown as the source format and Pandoc as the backend, with the help of GNU Coreutils.

Directly inspired by Jilles van Gurp, who was the first (afaik) to use custom bash scripts to evoke Pandoc and build a static site from a set of Markdown files exported from Wordpress.

Implemented features

  • Posts (content sorted by date)
  • Pages (fixed content)
  • Feed (in Atom format)
  • Sitemap (in XML format)
  • Categories & Tags (with their respective index pages)
  • Archives page
  • "Before" and "After" links in post footer
  • Pinned post
  • Landing page with recent posts

Planned features

  • Use gpp to improve source processing
  • Build ebooks and printable books from anthologies of posts
  • Automated FTP upload
  • Code cleanup for speed
  • Makefile (for those of you who like automation, unlike me)
  • Comment system
  • Some kind of local post search
  • Better handling of figure environments and embedded video
  • Improving user experience with .htaccess
  • SEO using robots.txt

Design goals

  • Recreate the most usual (and useful) features of Wordpress;
  • Requiring the least possible amount of dependencies;
  • Relying as much as possible on packages expected to be present in an average Linux disto and on Pandoc;
  • The KISS principle;
  • POG (Programação Orientada a Gambiarras), also known as WOP if you are an English speaker.


  • A modern shell (developed in ZSH, known to work in BASH);
  • GNU Coreutils;
  • GNU Grep;
  • GNU SED;
  • Pandoc;
  • JQ;
  • GPP (only for documentation parsing, not actually required to build the website/blog).


Not required. Just download the files and put them in the right places. Start writing rightaway and build the blog in modules, by running each script separately and sequentially. Upload to server using an FTP client, like lftp.


See detailed information in the letmedoc file before you start. A five minute read that has everything you need to build yourself a [mostly] functional blog.


LEtmeblog is a static blog compiler made purely in shell scripting, using Pandoc as the backend.







No releases published


No packages published