module Content

Builds middleware for serving filesystem-backed dynamic content.

Classes and Modules

class Builder < XRB::Builder

A builder for rendering Utopia content that extends XRB::Builder with Utopia-specific functionality.

class UnbalancedTagError < StandardError

This error is raised if a tag doesn't match up when parsing.

class Document < Response

A single request through content middleware. We use a struct to hide instance varibles since we instance_exec within this context.

class Link

Represents a link to some content with associated metadata.

class Links

A collection of links resolved from the filesystem content hierarchy.

class SymbolicHash < Hash

A hash which forces all keys to be symbols and fails with KeyError when strings are used.

class MarkupParser

Provides a high level interface for parsing markup.

class Middleware < Protocol::HTTP::Middleware

A middleware which serves dynamically generated content based on markup files.

Provider
module Namespace

A namespace which contains tags which can be rendered within a class Utopia::Content::Document.

class Node

Represents an immutable node within the content hierarchy.

class Response

A basic content response, including useful defaults for typical HTML5 content.

module Tags

Tags which provide intrinsic behaviour within the content middleware.

Definitions

XNODE_EXTENSION = ".xnode"

The file extension for markup nodes on disk.

def self.new(...)

Construct content middleware.

Signature

returns Content::Middleware

The content middleware.

Implementation

def self.new(...)
	Middleware.new(...)
end