Markdown extension library for Government editors
Ruby HTML Shell
Latest commit c74f386 Aug 16, 2016 @boffbowsh boffbowsh committed on GitHub Merge pull request #85 from alphagov/update-addressable-version
Update addressable version to 2.4.0
Failed to load latest commit information.
lib Update addressable version to 2.4.0 Aug 11, 2016
locales Add remaining non-en translations for contacts template Aug 10, 2016
.gitignore added coverage reporting Sep 13, 2011
.ruby-version Upgrade to ruby 2.3.1 Aug 3, 2016
.travis.yml update travis ruby versions Aug 4, 2016 Update addressable version to 2.4.0 Aug 11, 2016 Version bump for contribution guidelines Nov 29, 2013
Gemfile Move simplecov gem dependencies into gemspec Jul 18, 2012
LICENSE Simplify markdown to {stat-headline} Oct 8, 2015
govspeak.gemspec Update addressable version to 2.4.0 Aug 11, 2016 Run tests on multiple Rubies Nov 23, 2015

Govspeak is our markdown-derived mark-up language.


Install the gem

gem install govspeak

or add it to your Gemfile

gem "govspeak", "~> 3.4.0"

then create a new document

require 'rubygems'
require 'govspeak'

doc = "^Test^"
puts doc.to_html


In addition to the standard Markdown syntax, we have added our own extensions.


Information callouts

^This is an information callout^

creates a callout with an info (i) icon.

<div role="note" aria-label="Information" class="application-notice info-notice">
    <p>This is an information callout</p>

Warning callouts

%This is a warning callout%

creates a callout with a warning or alert (!) icon

<div role="note" aria-label="Help" class="application-notice help-notice">
    <p>This is a warning callout</p>

Example callout

**Example**: Open the pod bay doors

creates an example box

<div class="example">
<p><strong>Example:</strong> Open the pod bay doors</p>



@This is a very important message or warning@

highlights the enclosed text in yellow

<h3 role="note" aria-label="Important" class="advisory">
    <span>This is a very important message or warning</span>


The VAT rate is *20%*

creates a large highlight box with optional preamble text and giant text denoted with **

<div class="highlight-answer">
<p>The VAT rate is <em>20%</em></p>

Statistic headline

Used in HTML publications.

Statistic headlines highlight important numbers in content. Displays a statistic as a large number with a description. The statistic and description must make sense when read aloud. The important number must be wrapped in **.

*13.8bn* years since the big bang

Creates the following:

<aside class="stat-headline">
  <p><em>13.8bn</em> years since the big bang</p>

Points of Contact


**Student Finance England**
**Telephone:** 0845 300 50 90
**Minicom:** 0845 604 44 34

creates a contact box

<div class="contact">
<p><strong>Student Finance England</strong><br><strong>Telephone:</strong> 0845 300 50 90<br><strong>Minicom:</strong> 0845 604 44 34</p>


Hercules House
Hercules Road
London SE1 7DU

creates an address box

<div class="address"><div class="adr org fn"><p>
Hercules House
<br>Hercules Road
<br>London SE1 7DU


[An example form download link]( "Example form")

Something about this form download

creates a file download box

<div class="form-download">
<p><a href="" title="Example form" rel="external">An example form download link.</a></p>


Steps can be created similar to an ordered list:

s1. numbers
s2. to the start
s3. of your list

Note that steps need an extra line break after the final step (ie. two full blank lines) or other markdown directly afterwards won't work. If you have a subhead after - add a line break after this.

Legislative Lists

For lists where you want to specify the numbering and have multiple indent levels.

* 1. Item 1
* 2. Item 2
  * a) Item 2a
  * b) Item 2b
    * i. Item 2 b i
    * ii. Item 2 b ii
* 3. Item 3
(to indent, add 2 spaces)


Abbreviations can be defined at the end of the document, and any occurrences elswhere in the document will wrapped in an <abbr> tag. They are parsed in the order in which they are defined, so PCSOs should be defined before PCSO, for example.

Special rules apply if you’re exporting a vehicle outside the EU.

*[EU]:European Union


<p>Special rules apply if you’re exporting a vehicle outside the <abbr title="European Union">EU</abbr>.</p>

Devolved content

:england:content goes here:england:
:scotland:content goes here:scotland:
:london:content goes here:london:
:wales:content goes here:wales:
:northern-ireland:content goes here:northern-ireland:
:england-wales:content goes here:england-wales: