Skip to content
Render text into markup through local and zeromq endpoints
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Markup Cloud

Spin up a markup rendering cluster, in the cloud!

This is simply an experiment in breaking the github/markup up into smaller pieces. Formats without a good Ruby library are now accessed through remote ZeroMQ sockets instead of shelling out with new processes.

This is considered alpha code until it's been pushed to a gem. Anything can change!


It's very similar to github/markup. First. setup a MarkupCloud and add some renderers:

require 'markup_cloud'
cloud =
cloud.local_markup :md, :redcarpet do |content|

You can get going with a standard set of local Ruby libraries (provided you have the necessary gems installed).

require 'markup_cloud/clients'
cloud =

cloud.render '','')

You can setup remote renderers that access a ZeroMQ REP server.

require 'markup_cloud'
cloud =
cloud.remote_markup :rst, 'tcp://'

cloud.render "README.rst","README.rst")

Responding to these ZeroMQ messages is simple:

require 'ffi-rzmq'
context =
rep = context.socket ZMQ::REP
rep.bind 'tcp://'

while rep.recv_strings(list = [])
  name, content = list
  rep.send_string Something.render(content)
import zmq
context = zmq.Context()
rep = context.socket(zmq.REP)

while True:
  (name, content) = rep.recv_multipart()


  • Write solid ZeroMQ Python/Perl servers for ReST, POD, etc.
  • Add bulk ZeroMQ API for remote markups.
  • Figure out if any of this is worth the hassle.
Something went wrong with that request. Please try again.