BoltWire is a content management system developed by Dan Vis.

Welcome Tour
Mailing List

Popular Posts

Version 5.11 Released
May 26, 2016

Big Changes Coming Soon...
April 28, 2016

Catching Up
April 6, 2016

Other Sites

Here's some other sites by Dan Vis:

Alexa Echoes
Join my adventures developing for Amazons exciting new voice platform.

Firefly Spot
Personal rambling about new gadgets, technology news, and space travel.

FAST Missions
My ministry hub, with news and updates about our online school.

You can follow him at www.danvis.info.

Advanced Features

Documentation > Getting Started > Advanced Features

The power of BoltWire goes far beyond using simple markup to display basic html tags. It also can generate highly dynamic content based on variables, conditionals, and functions. What's more, all three work together to create even more exciting possibilities.

Listed below are just a few examples of how each of these advanced markups work. To learn more about the many variables, conditions, and functions available in BoltWire, please see the appropriate pages in our Handbook.


Variables are little bits of data you can retrieve and insert wherever you want. For example, suppose you wanted to display the version of BoltWire you are using. Just do this:

This is BoltWire versions {version}

This is BoltWire versions 5.11

Suppose you wanted to display a link to your current page. You could just use this markup:


Or suppose you want to create a link that takes a user to their individual member page. That can easily be done using the {id} variable. In this case, let's assume they are logged in as Bob.

[[member.{id}|My Member Page]]

Suppose you had stored a user's address, city, state, and zip as data variables on some.page. You could retrieve them using this syntax:

{some.page:city}, {some.page:state}  {some.page:zip}

123 Some Street
New City, OK 73045

There are scores of variables in BoltWire of many different types. They can be set and retrieved in various ways, giving you nearly limitless options for managing and processing information in your site. For more information about BoltWire variables, click here.


Conditionals allow you to only display content when a certain condition is met. For example, this markup will only display a greeting if someone is logged in:

[if login]Hello {member}![if]

You can insert an else markup if you want to display something different based on the answer to the condition. Notice the following example:

[if editor]
You are authorized to edit this page
You are NOT authorized to edit this page

You can also use boolean operators to create more complex conditionals:

[if ! exists some.page && (print || mobile)]
This will only display if the specified page does not exist and either the mobile or print skin is being used.

And yes, you can nest conditionals:

[if login]
You are logged in [if editor]as an editor[if]

Variables and functions can be included in your conditional expressions, and many conditions accept various parameters to control how they work.

BoltWire comes with more than 20 powerful conditionals. For more information about BoltWire conditionals, click here.


Functions tap into special bits of PHP code to generate various kinds of output dynamically. Here's one example using the breadcrumb function:

[(breadcrumb {p})]

Documentation > Getting Started > Advanced Features

Here's another example tapping into BoltWire's math function:

[(math 2+3)]


Here's one using the time function, which taps into PHP's strftime function. There, the %x parameter indicates the current time should be formatted as a date:

Today is [(time %x)]

Today is 12/14/17

Other functions can be used to include markup (or source code) from another page, generate searches or lists, log information, embed javascript, and much more. You can even forward the user to another page, or send them an email! Most accept various parameters to control how they work.

There are currently well over 20 different functions in BoltWire. For more information about BoltWire functions, click here.

By combining variables, conditions, and functions with our basic wiki markup, you can display your content in virtually limitless ways. And if some capability is missing, it is a snap to add custom extensions with even a minimal understanding of PHP.