Skip to content

jggouvea/letmeblog

main
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?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

letmeblog

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.

Dependencies

  • 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).

Installation

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.

Usage

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published