Skip to content

Work in progress porting my blog software to Common Lisp

Notifications You must be signed in to change notification settings

eigenhombre/weeds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weeds

./weeds.png

I’m rewriting my blog software for the fifth or sixth time, this time in Common Lisp … am I in the weeds yet?

OK, so my existing blog software is working well enough.

But, it’s kind of slow to run, with >100 blog posts. I could probably optimize it… but… lately I’m getting interested in Common Lisp, so what you’ll find here is an in-progress rewrite of Organa in Common Lisp

Why? For one thing, Common Lisp is fast. It’s a great horrid gorgeous ancient fire-breathing beast of a language, but damn, it smokes compared to Clojure, Python, …. Plus, this. And this, and this.

Objectives

Current

I want to keep some principles from Organa:

  • statically generated site; no database
  • posts written in Emacs Org Mode and exported using that tool to HTML, then knitted and massaged by the blog software into a coherent, inter-linked whole;
  • categories / tags
  • support for drafts, static files, etc.
  • facilities for images, with captions, etc.

New

  • better support for short posts and images (use cases from Twitter, Tumblr, and Instagram, none of which I really want to use anymore)
  • redesigned home page
  • way faster execution

Building

Do you really want to get lost in the weeds? I didn’t think so. Currently this software won’t work anywhere but on my personal laptop, though I may generalize it if I’m happy enough with it.

If decide to wade in, you might want to set up Common Lisp first (if you’re on a Mac, this repo might be helpful).

To build the binary for the program, I run ./build.sh and to run it, I run ./weeds. This currently takes less than a second, as compared to nearly 30 seconds for Organa (not counting roughly the same amount of time to build the überjar).

Stuff to do next

  • Add / adapt CSS styling from Organa
  • Fix / adapt images
  • Make postcard summaries for front page view
  • Image-only (or mostly image) posts
  • Make a new home page
  • Extract and show post tags
  • Make an index page with every post on it
  • Determine and save post dates
  • Determine and save post titles
  • Figure out how to break up large file
  • Figure out how to auto-evaluate multiple dependencies at the REPL

See this question. Solution is a little hack-y but OK for now.

About

Work in progress porting my blog software to Common Lisp

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages