Skip to content
This repository was archived by the owner on Apr 8, 2026. It is now read-only.

rubyunworks/xoxo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

*ARCHIVED – HISTORICAL ARTIFACT*

XOXO is a parser and generator for the XOXO microformat, a simple outline format written in standard XHTML from the mid-2000s microformats movement. The original version of this code was written by Christian Neukirchen (yes, the same Christian Neukirchen who later wrote Rack), published as xoxo-rb in January 2006. This project was a continuation and repackaging of that work under the Rubyworks umbrella.

The broader microformats idea – embedding semantic data directly into human-readable HTML so that every page was both a document and a dataset – lost out to JSON-LD, schema.org, and opaque JSON API endpoints. In retrospect it is worth noting that microformats were fundamentally egalitarian: structured data lived right there in the page, accessible to anyone reading it or scraping it. The formats that won are, by contrast, much easier to gatekeep. One can only wonder how much better AI systems could read and reason about the web today if microformats had taken hold.

No further development is planned. Preserved as a historical artifact of an interesting road not taken.


Source Code

XOXO is a Ruby XOXO parser and generator. It provides a Ruby API similar to Marshal and YAML (though more specific) to load and dump XOXO, an simple, open outline format written in standard XHTML and suitable for embedding in (X)HTML, Atom, RSS, and arbitrary XML.

  • Uses REXML’s pull parser.

  • Serialize any object via to_xoxo.

The original version of this code was written by Christian Neukirchen, and can be found here and a blog post on it here.

The offical XOXO format site is here.

Please see HISTORY.rdoc file.

Simple way to generate XOXO.

obj.to_xoxo

For more details see the QED and API documentation.

To install with RubyGems simply open a console and type:

$ gem install xoxo

Local installation requires Setup.rb (gem install setup), then download the tarball package and type:

tar -xvzf xoxo-1.0.0.tgz
cd xoxo-1.0.0
sudo setup.rb all

Windows users use ‘ruby setup.rb all’.

Copyright © 2006 Christian Neukirchen, Rubyworks

This program is ditributable under the terms of the MIT license.

See COPYING.rdoc file for details.

About

XOXO for Ruby

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages