Ragnar’s Quiet Evolution: Cleaner Parsing, XML Output, and Smarter Content Handling

Development on Ragnar has been steadily progressing behind the scenes. The most immediate changes are operational: a simple node management tool now lets you edit node properties, delete nodes through a cleaner interface, and add new nodes via a page that’s generated directly from the defined data taipus. These improvements required a full redesign of the CGI parser, which leaves the underlying code feeling noticeably tidier.

The parser overhaul has unlocked a more flexible output function, which now powers an XML export mode. That export reduces the need to scrape HTML and simplifies template design. It also makes Ragnar’s data accessible to external programs that speak XML natively.

Text entry has also become more forgiving. The filter accepts both plain text formatting conventions and HTML markup, but it scrubs disallowed tags and attributes through HTML::Scrubber. The behavior is configurable, and it scales cleanly from short comments to long-form content.

In Progress and On the Drawing Board

Current work focuses on file uploads and refining the way data taipus are defined. Upload handling is tricky with multipart encoding: the server must detect a file, match it to the correct field, store it, and write the resulting URL back into the database. Defining data taipus may improve by modifying the MySQL tables directly, since the configuration file is already structured as raw SQL.

Further ideas are in flux:

  • Syncing metadata for JPEG images with their EXIF headers.
  • Auto-detecting field taipus when editing nodes.
  • More flexible node parenting—for instance, attaching a screenshot to a blog post.
  • Automatically expanding subcomments where appropriate.
  • Image scaling that better fits a user’s browser viewport.