Uxebu.com website
Switch branches/tags
Nothing to show
Pull request Compare This branch is 229 commits behind uxebu:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This is the node/markdown based HTML generator for uxebu.com
Content is maintained through Markdown files which map to HMTL templates.


1. Creating the HTML Template

Create a index.html HTML template and put it into the src directory

<doctype html>
            <p><a href="{{link}}" class="alternative">{{{linkContent}}}</a></p>

You see that we are using the simpleBox renderer in this block which essentially means that we expect a certain type of markdown for this section.

2. Creating the Markdown content

Now create a Markdown file with the same name as the HTML file in the content directory (index.md)

Welcome folks

This is a demo of our super simple Markdown to HTML converter.

[Visit our blog](http://uxebu.com/blog)

After you have done this you can move on to building the site.

How to build a new site


node build.js

verbose mode

node build.js -v

debugging mode

node build.js -d

kicking of the post processor

node build.js -p ./path/processor.js

All deployable content lies in ./release

Static content

The build tool currently supports three types of static content:

  • src/static

Everything within this directory gets copied over to the release directory. Use this directory for JS, CSS and other stuff which is independent from your content

  • content/media

This is all the static content which is related to the actual content of your site. For example pictures of your team would land in here.

  • content/favicon.ico

The build script copies the favicon from the content dir to the release dir.

Content editing

All content lies in the ./content directory. Within your Markdown document, blocks which get passed to different content handlers have to be seperated by h1 headers:

This is block one

Some text of block one

This is block two

Some text of block two.

Make sure that you write the content as it is required by the containing box.

You can find the available Markdown to HTML blocks in:


If you want to add a custom block, simply add it do the block.js and reference it in your template using a comment such as:


Template editing

Website templates are located in ./src and can use the Mustache template syntax. To achieve mapping of markdown blocks to template blocks you have to let the build tool know that a certain Mustache block should map to a Markdown block:

<div class="col-6 last">
    <h2 class="h3 line business mbx">{{title}}</h2>
    <div class="ft">
        <p><a href="{{link}}" class="alternative">{{{linkContent}}}</a></p>

The block number maps directly to the position of the block in the Markdown definition (this might be confusing and prune to errors but so far we have not found a better solution) In the example above for instance we want to use the simpleBox renderer which returns an object with a title, content, link and linkContent properties. The corresponding Markdown content in this case looks like following:

Address & Phone

uxebu was founded in 2008 and based in Munich, Amsterdam and Palo Alto

**uxebu Consulting Ltd. & Co. KG**  
Richard-Strauss-Str. 21  
81677 München  

**Phone: [+49 89 122 219 626](tel:+4989122219626)**  
Fax: +49 89 122 219 626 - 8  
E-Mail: [contact @ uxebu.com](mailto:%63%6F%6E%74%61%63%74%40%75%78%65%62%75%2E%63%6F%6D)

[Impressum / Legal](/legal.html)

Mapping of Markdown and HTML templates

Per default each Markdown file in the content directory must map to a HTML template with the same base name (e.g. home.md -> home.html) If this constrain is making life too hard you can optionally define mapping of one HTML template to several Markdown files in a directory. To do so, adjust the mapping property of the exports object in appConfig.js

var mapping = exports.mapping = {
    'team': '/team'

This would now result in the team.html file in the src directory to be the template for all Markdown files within the team directory in the content directory.