BlogLiterately 0.4 release

I have just released version 0.4 of BlogLiterately, a tool for authoring and uploading blog posts (especially Haskelly ones). Rob Greayer authored the first few versions of this useful tool, for which I’m very thankful. However, he doesn’t have the time or interest to maintain it anymore, and I had a few ideas for extending and improving it, so I offered to take over as the maintainer.

The full (dog-fooded) documentation can be found here. This blog post is just to announce the release and show off a few capabilities.

Posts are written in Markdown format (as recognized by pandoc), and BlogLiterately handles converting them to HTML and uploading them to any blog that supports the MetaWeblog API (such as WordPress). Haskell code can be syntax highlighted using hscolour (and any code can be syntax highlighted using highlighting-kate):

> -- An awesome Haskell function
> fib :: Integer -> Integer
> fib 0 = 0
> fib 1 = 1
> fib n = fib (n-1) + fib (n-2)

Special support for WordPress LaTeX is built in: \pi^2 / 6. ghci sessions can be automatically generated from a list of inputs:

ghci> fib 20  

ghci> [1..10]  

The one major planned feature that is still missing is uploading of embedded images. Sadly, this feature ran into a major roadblock in the form of inexplicably closed HTTP connections (can you help answer my StackOverflow question?). Ultimately my goal is to have completely automated support for writing blog posts with inline diagrams code.


About Brent

Assistant Professor of Computer Science at Hendrix College. Functional programmer, mathematician, teacher, pianist, follower of Jesus.
This entry was posted in haskell, writing and tagged , , , . Bookmark the permalink.

9 Responses to BlogLiterately 0.4 release

  1. Harley says:

    There are so many extension to this I would love to see.

    A lot of my blogposts are written using images, because I use a lot of LaTex which WordPress doesn’t support. So as you said above image support would be amazing.

    Another extension that might be nice is Ott support. It would be nice to be able to preprocess the markdown files using Ott and then creating an HTML file from that. Not sure if this can be easily done using Ott or if that might be a large extension.

    Anyway great stuff!


    • Brent says:

      Yeah, I really really want image support too — but right now I am completely stuck. I don’t even know what I can do to help figure out what the problem is. Staring at TCP packets is definitely not where I envisioned ending up when I started adding image uploads…

      As for Ott, can’t you just pass arbitrary files through Ott and have it process any [[stuff]] it sees? So just using Ott as a preprocessing step before BlogLiterately sounds like the easiest way to go. Or is there something specific you have in mind where BlogLiterately/Ott integration would be helpful?

      I could also easily add a way to specify “hooks” to be used to process blocks with certain tags. Basically that’s what’s already done for ghci sessions, I would just need to expose it as a library.

    • Brent says:

      Good news! The image problem has been solved. However, I’ll have to wait to make a release until a new version of haxr is released including my patch.

      • Harley says:

        That is good news! I will officially use this as soon as you get the next version out. :-)

        How did you end up adding image uploads?

        • Brent says:

          I will probably write another blog post explaining the problem and solution. In a nutshell, due to laziness it was opening a connection to the server before actually preparing the data to send, but preparing the data was taking too long and so the server closed the connection after a timeout.

  2. Pingback: New haxr release | blog :: Brent -> [String]

  3. Pingback: BlogLiterately 0.5 release | blog :: Brent -> [String]

  4. Pingback: Hello world! | Unknown Parallel

  5. Pingback: BlogLiterately 0.5.2 release, with improved image uploading | blog :: Brent -> [String]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.