Status of eatStatic December 2014

This post was written 2 years ago.
Fri, 19 Dec 2014
Looking at this blog and the github repo, you'd be forgiven for thinking that I have given up on eatStatic. It's true to say that i'm not really pushing or promoting it for other people, but I still use it on my own stuff. In fact, having now seperated the core functionality into a drop-in library "eatStaticLib" and included it as a submodule, I tend to drop this library into most PHP projects that I work on so that I can take advantage of helpers such as:

echo eatStatic::block("about");

To render a block of markdown text as HTML, and other bits and pieces like that.

I haven't started any new blogs or websites recently, so i'm not even sure if i'd use eatStaticBlog myself for a new website, as there are so many excellent alternatives out there now (look at the grey ones, which are filesystem based dynamic systems rather then static file generators), though not all of them are open source.

I'll continue to use it for existing stuff for the foreseable future - there's a rudimentary admin interface in there now, allowing posts to be added and edited via the web if you don't want to or can't compose them in a text editor. No intructions how to set this up, in fact i'm not even sure myself (TODO: installation instructions).!

I'm also planning a system of invite-only posts/ topics - e.g. a way of using eatStaticBlog for a private travel blog for friends and family so that you can invite them via email to view your protected blog using a revokeable token (no conventional username/password without publishing your every movement to the public. But maybe this would be better as an add-on for another CMS?
Tags: project update /

Rick on the road blog back on the road

This post was written 4 years ago.
Mon, 04 Feb 2013
This software was originally written for my "on the road" travel blog, which I later took offline and incorporated the content into my main blog. I've now reversed that and reinstated On the road (largely due to the recent purchase of another VW T25 campervan, which I hope to be the catalyst for some more travel blogging!).

There are currently a few enhancements in the backontheroad branch that drives the travel blog that haven't been merged back into master - for example the pagination. I'm also planning on replacing lightbox used for the gallery with something responsive so that they work better on mobile.
Tags: project update /

Current Roadmap

This post was written 4 years ago.
Mon, 12 Nov 2012
Here are my current plans for eatStatic blog software, in the order I hope to carry them out:-

Improve Caching

The option currently exists to cache arrays of all "all posts", "recent posts" and tags, to improve performance when the amount of posts grow. I've noticed some weaknesses in the way the caching is handled - currently json files are written and read directly on the filesystem. I haven't done much testing as to the efficiency of this, but I have noticed a bug on my personal blog, which has over 600 posts, where sometimes the cache refresh fails. I'm assuming that this is due to some read/write blocking. I never intended to invent my own database system, as this problem has already been solved, but ideally, I do want to keep this software as free from dependencies as possible, but not if that means creating an inferior product. I will be experimenting with switchable alternatives for the caching - memcache, mysql, sqlite, to make sure that it can scale and performance is maximised. This will still make use of json as a data format, but written to memory or into a db rather then the file system.

Improve cache refreshing

This currently involves calling a couple of URLs to run a couple of seperate scripts in the scripts directory, which is a bit clunky. I'd like to make this into a single URL and CLI command, so that it can be run more conveniently on demand and/or via cron. I'll also add some rudimentary security so that a user can specify a "secret" URL if they want to run it manually.

Add a "main image" tag

I want to add a tag to specify a main image to be added to the blog post, rather than adding an HTML tag. This paves the way to add a blog by email feature

Blog by email

In keeping with the emphasis on offline blogging, and travel blogging - by far the most convenient way to create a blog post with a featured image, is by sending an email with an attached image from a smartphone. I intend to create a system for picking up emails from a secret email address, probably via POP. The system will add a text file and image so the post can still be edited in the normal way.

Beginnings of online admin

This will become increasingly important once the blog by email feature is added, in case a blog post needs deleting or editing after mistaken or broken posting, but without access to FTP/SCP/SSH/GIT or however the data files are usually maintained. This will be added in order of necessity :-
  • a login system (maybe oauth, to avoid storing encrypted passwords on the server?)
  • Post list with delete and basic edit (i.e. to correct typos) options

I could get seriously sidetracked by building a full online admin, so i'm leaving this list here at the moment!

Support of markdown and other formats

I didn't bother with markdown support initially, as being a web developer i'm happy to write plain text with a few HTML tags where needed. Also the format proved handy when porting my personal blog from wordpress, which stored content in this format. However, I think there are a number of benefits for supporting markdown, so this is next on the list.

Better draft/ live handling

I currently handle drafts by composing in the draft folder and them moving into the main folder when ready, but previewing stuff is really clunky, so I want to devise a more convenient way to handle this, which also ties into the blog by email feature.

Other stuff

There's plenty above to keep me going, but other things I have thought about are:-

  • Full online admin for posting blog content, and updating text blocks, and basic page creation (without getting distracted by turning this into a CMS
  • Improved Photoblogging/ gallery features
  • More travel blogging features, maybe containing GPS recording for each post/ photo and optionally-private maps
  • Non-techie friendly installation process
  • Invite only blogs - so people can keep private travel blogs for friends and family
  • Comment system

Some of the above ideas are replicating what you can already do with posterous and tumblr, but I still like to be able to run my own privately hosted sites, and especially to be able to take and modify software to integrate with other sites and systems.

Thumbnail Gallery added to example site

This post was written 4 years ago.
Sun, 04 Nov 2012
To add a thumbnail gallery to a blog post, create a folder win the images folder with the same name as the blog post. By default this will give you thumbnails linking through to a larger version of the image. These can be used with lightbox, or similar plugin.

Previous and Next links

This post was written 5 years ago.
Mon, 07 May 2012
When viewing a post directly, the "previous" and "next" links now show in the post template (if applicable). Theoretically there is a slight performance hit, because the previous and next links need to be looked up by getting all the post file names, either from cache or by reading from the filesystem.
This post was written 5 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

eatStatic Image Cache working

This post was written 5 years ago.
Sun, 29 Apr 2012
As eatStatic was set up as a travel blog, I wanted a convenient way to include photos in blog posts at a sensible size (e.g. 600 pixels wide), without having to manually resize images uploaded from my camera. Also I wanted to be able to upload images which were already at the right size, without having to upload them via any kind of image library. Any image uploaded to a subfolder (e.g. "misc/sunset.jpg") of your data/images folder can be included in a post by referencing it as e.g. /images/misc/filename_600.jpg.

This uses PHP GD module to create a resized version of the image on demand and copy it to a corresponding subfolder in your images folder, including creating a subdirectory if necessary. This means that subsequent requests for the image are served up directly as a static file (delete it if you change the original and want it re-cached).

There is no special image tag available - use a standard HTML image tag to include an image in a post e.g:-

<img src="/images/misc/sunset_600.jpg" alt="sunset" />


There is also a gallery system available which will render a set of thumbnails for each image found in a sub folder named the same as the blog post - i'll document that seperately in another post.
This post was written 5 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

Demo site online!

This post was written 5 years ago.
Sat, 28 Apr 2012
The eatStatic demo site is now running as an unmodified clone of the master branch of the github repo. To install (full instructions to follow):-

  1. Download or clone the code
  2. Take a look at eatStatic_config.php - in particular you will need to change the host name, used to detect whether the site is in production or development mode
  3. Make sure the "data" folder is writable, then run /scripts/setup.php to check and create the cache folders

This post was written 5 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)

This is a post - the title is the first line of the text file

This post was written 6 years ago.
Mon, 05 Sep 2011
This is the body of the post HTML is allowed. Line breaks are retained, so you can mostly add content without any HTML if you like.

Post files are saved using the naming convention YYYY-MM-DD-post-slug.txt, e.g This file is named 2011-09-05-example-post.txt

Using the WP_URLS setting, this can then be found at URL /2011/09/05/example-post
This post was written 6 years ago, which in internet time is really, really old. This means that what is written above, and the links contained within, may now be obsolete, inaccurate or wildly out of context, so please bear that in mind :)
Tags: example / foo / bar /

About eatStatic

eatStatic is a text file driven blog engine written by veteran blogger Rick Hurst, which allows you to write blog posts as text files on your computer, then post to your blog using either FTP, sFTP, GIT, SVN or any other mechanism that allows you to upload files to a server.

It was originally written as a means of maintaining a travel blog offline with limited internet connectivity, but it has since proved to be an attractive alternative to wordpress, powering Rick's personal blog, with 600+ posts spanning a decade.

This site serves as a demo site, documentation site and progress blog

Read More