Greetings from NYC
Looking forward to seeing the back of PHP asap.
Fixing up the older posts
Now that the internal representation of posts (i.e. in the database) is SXML, there needs to be some provision for what happens when the system encounters invalid SXML in the database. Such an example appears below. Note that in order to create that example I had to go into the database to manually create an invalid entry - it should not be possible to observe such behavior with a post created by Schwordpress itself. Some of the older posts were causing rendering errors, because their content was present in the database as bare strings containing characters such as '(' and ')' that were causing problems with parsing. The solution was to quote the entire string, making it valid SXML.
A broken post
* Problem with this post *
This post's content:
this is a (broken post) because it isn't valid SXML
Could not be rendered correctly:
(misc-error #f ~A ~S (write-shtml-as-html - invalid SHTML thing post) #f)
Now supporting HTML markup
New posts can now be authored using HTML markup. This means you can include:
Currently HTML is the only markup supported for new post entry, but it should be quite doable to write extensions that accept input in other formats e.g. Savannah's
nack on git for storage
Although i am a fan of git for version control purposes, i don't think it makes as good a storage backend as a proper SQL database. It's true some features are easily mapped (e.g., tags), and maybe that's all you really want, but thinking ahead to more sophisticated features, having to call out to git for every little thing strikes me as somewhat suboptimal.
I learned today that, not surprisingly, this particular wheel has been invented at least once before: http://wingolog.org/software/tekuti/ Tekuti is a much more complete blogging platform than this currently is. It implements standard blog features such as tags and an admin panel. One feature it does not seem to have (as far as I can tell) is an equivalent to Wordpress's "plugins", which could be useful. Another difference is that tekuti uses git rather than a relational database as the persistent store... I have to say that is sounding like a much better approach.
Greetings! It's nice to see Scheme on the web. I suppose the most important TODO item is input validation. Perhaps that can be combined w/ simple markup. Next would be tags and other index-ish stuff, i suppose. A preview facility would be nice, too. I see in the source GUILE_WARN_DEPRECATED=no, and am curious to know what would happen if this variable were set to some value other than no. Specifically, what is Guile-WWW's contribution to the confusion?
A weblog, implemented in Scheme
I implemented this blog to demonstrate web application development in Scheme (specifically, guile). It uses MySQL as the backend for storing content. It supports of course basic posting and viewing, but also simple user authentication and a plugins mechanism, which was used to add the descriptive paragraph in the header.