+```markdown
+
+[Link button](http://example.com/){: .btn }
+
+[Link button](http://example.com/){: .btn .btn-purple }
+[Link button](http://example.com/){: .btn .btn-blue }
+[Link button](http://example.com/){: .btn .btn-green }
+
+[Link button](http://example.com/){: .btn .btn-outline }
+```
+
+### Button element
+
+GitHub flavored markdown does not support the `button` element, so you'll have to use inline HTML for this:
+
+
+
+
+
+
+
+```html
+
+```
+
+---
+
+## Using utilities with buttons
+
+### Button size
+
+Wrap the button in container that uses the [font-size utility classes]({{ site.baseurl }}{% link docs/utilities.md %}#typography) to scale buttons:
+
+
+
+
+[Big ass button](http://example.com/){: .btn }
+
+
+
+[Tiny ass button](http://example.com/){: .btn }
+
+
+
+```markdown
+
+[Link button](http://example.com/){: .btn }
+
+
+
+[Tiny ass button](http://example.com/){: .btn }
+
+```
+
+### Spacing between buttons
+
+Use the [margin utility classes]({{ site.baseurl }}{% link docs/utilities.md %}#spacing) to add spacing between two buttons in the same block.
+
+
+
+[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
+[Button ](http://example.com/){: .btn .btn-blue .mr-2}
+
+[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
+[Button ](http://example.com/){: .btn .btn-blue }
+
+```markdown
+[Button with space](http://example.com/){: .btn .btn-purple .mr-2}
+[Button ](http://example.com/){: .btn .btn-blue }
+
+[Button with more space](http://example.com/){: .btn .btn-green .mr-4}
+[Button ](http://example.com/){: .btn .btn-blue }
+```
diff --git a/docs/ui-components/code.md b/docs/ui-components/code.md
index daf5ec4..bc1baf2 100644
--- a/docs/ui-components/code.md
+++ b/docs/ui-components/code.md
@@ -2,5 +2,83 @@
layout: default
title: Code
parent: UI Components
-nav_order: 3
+nav_order: 4
---
+
+# Code
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Inline code
+
+Code can be rendered inline using single ticks by wrapping your code in single back ticks.
+
+
+
+Lorem ipsum dolor sit amet, `` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+```markdown
+Lorem ipsum dolor sit amet, `` adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+```
+
+---
+
+## Syntax highlighted code blocks
+
+Use Jekyll's built in syntax highlighting with Rouge for code blocks by using three backticks, followed by the language name:
+
+
+```js
+// Javascript code with syntax highlighting.
+var fun = function lang(l) {
+ dateformat.i18n = require('./lang/' + l)
+ return true;
+}
+```
+
+{% highlight markdown %}
+```js
+// Javascript code with syntax highlighting.
+var fun = function lang(l) {
+ dateformat.i18n = require('./lang/' + l)
+ return true;
+}
+```
+{% endhighlight %}
+
+---
+
+## Code blocks with rendered examples
+
+To demonstrate front end code, sometimes it useful to show a rendered example of that code. After including the styles from your project that you'll need to show the rendering, you can use a div with the `code-example` class, followed by the code block syntax. If you want to render your output with Markdown instead of HTML, use the `markdown="1"` attribute to tell Jekyll that the code you are rendering will be in Markdown format... This is about to get meta...
+
+
+```markdown
+[Link button](http://example.com/){: .btn }
+```
+{% endhighlight %}
diff --git a/docs/ui-components/tables.md b/docs/ui-components/tables.md
new file mode 100644
index 0000000..a26082d
--- /dev/null
+++ b/docs/ui-components/tables.md
@@ -0,0 +1,40 @@
+---
+layout: default
+title: Tables
+parent: UI Components
+nav_order: 3
+---
+
+# Tables
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc }
+
+---
+
+## Default tables
+
+Tables are responsive by default, allowing wide tables to have a horizontal scroll to access columns outside of the normal viewport.
+
+
+
+| head1 | head two | three |
+|:-------------|:------------------|:------|
+| ok | good swedish fish | nice |
+| out of stock | good and plenty | nice |
+| ok | good `oreos` | hmm |
+| ok | good `zoute` drop | yumm |
+
+
+```markdown
+| head1 | head two | three |
+|:-------------|:------------------|:------|
+| ok | good swedish fish | nice |
+| out of stock | good and plenty | nice |
+| ok | good `oreos` | hmm |
+| ok | good `zoute` drop | yumm |
+```
diff --git a/docs/ui-components/typography.md b/docs/ui-components/typography.md
index 8fa122f..5b434d5 100644
--- a/docs/ui-components/typography.md
+++ b/docs/ui-components/typography.md
@@ -4,3 +4,111 @@ title: Typography
parent: UI Components
nav_order: 1
---
+
+# Typography
+{:.no_toc}
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Font stack
+
+By default, Just the Docs uses a native system font stack for sans-serif fonts:
+
+```scss
+-apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif
+```
+
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+abcdefghijklmnopqrstuvwxyz
+{: .fs-5 .ls-10 .code-example }
+
+For monospace type, like code snippets or the pre `
` element, Just the Docs uses a native system font stack for monospace fonts:
+
+```scss
+"SFMono-Regular", Menlo, Consolas, Monospace
+```
+
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+abcdefghijklmnopqrstuvwxyz
+{: .fs-5 .ls-10 .text-mono .code-example }
+
+---
+
+## Responsive type scale
+
+Just the docs uses a responsive type scale that shifts depending on the viewport size. Common elements text elements rendered from markdown use a
+
+| Selector | Small screen size `font-size` | Large screen size `font-size` |
+|:----------------------|:---------------------------------|:------------------------------|
+| `h1`, `.text-alpha` | 32px | 36px |
+| `h2`, `.text-beta` | 18px | 24px |
+| `h3`, `.text-gamma` | 16px | 18px |
+| `h4`, `.text-delta` | 14px | 16px |
+| `h5`, `.text-epsilon` | 16px | 18px |
+| `h6`, `.text-zeta ` | 18px | 24px |
+| `body` | 14px | 16px |
+
+---
+
+## Headings
+
+Headings are rendered like this:
+
+
+
Heading 1
+
Heading 2
+
Heading 3
+
Heading 4
+
Heading 5
+
Heading 6
+
+```markdown
+# Heading 1
+## Heading 2
+### Heading 3
+#### Heading 4
+##### Heading 5
+###### Heading 6
+```
+
+---
+
+## Body text
+
+Default body text is rendered like this:
+
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+```markdown
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+```
+
+---
+
+## Inline elements
+
+
+Text can be **bold**, _italic_, or ~~strikethrough~~.
+
+[Link to another page](another-page).
+
+```markdown
+Text can be **bold**, _italic_, or ~~strikethrough~~.
+
+[Link to another page](another-page).
+```
+
+---
+
+## Typographic Utilities
+
+There are a number of specific typographic CSS classes that allow you to do override default styling for font size, font-weight, line height, and capitalization.
+
+[View typography utilities]({{ site.base_url }}{% link docs/utilities.md %}#typography){: .btn .btn-outline }
diff --git a/docs/ui-components/ui-components.md b/docs/ui-components/ui-components.md
index 49e6812..96088a8 100644
--- a/docs/ui-components/ui-components.md
+++ b/docs/ui-components/ui-components.md
@@ -9,4 +9,5 @@ permalink: /ui-components
# UI Components
-Just the Docs includes styles for displaying clear and readable typography, nicely formatted code, and easily identifiable buttons. The goal of this theme is to make it as easy as possible to write code documentation in markdown and have the Just the Docs take care of the rest, so very few CSS classes are required to render commonly used UI elements.
+Just the Docs includes all the CSS you need to create structured documentation for your next project. To make it as easy as possible to write documentation in plain Markdown, most styles will require no additional CSS classes.
+{: .fs-6 .fw-300 }
diff --git a/docs/utilities.md b/docs/utilities.md
new file mode 100644
index 0000000..384820a
--- /dev/null
+++ b/docs/utilities.md
@@ -0,0 +1,259 @@
+---
+layout: default
+title: Utilities
+nav_order: 3
+---
+
+# Utilities
+{:.no_toc}
+
+CSS utility classes come in handy when you to want to override default styles to give create additional whitespace (margins/padding), unexpected shifts in font-size or weight, add color, or to hide (or show) something a specific screen size.
+{: .fs-6 .fw-300 }
+
+## Table of contents
+{: .no_toc .text-delta }
+
+1. TOC
+{:toc}
+
+---
+
+## Responsive modifiers
+
+Just the Docs spacing works in conjunction with a variety of modifiers that allow you to target specific screen sizes responsively. Use these in conjunction with spacing and display prexix and suffix classes. For example `prefix-modifier-suffix`
+
+| Modifier | Screen size |
+|:----------|:-------------------------------------|
+| (none) | All screens until the next modifier |
+| `xs` | 320px (20rem) and up |
+| `sm` | 500px (31.25rem) and up |
+| `md` | 740px (46.25rem) and up |
+| `lg` | 1120px (70rem) and up |
+| `xl` | 1400px (87.5rem) and up |
+
+## Layout Utilities
+
+### Spacing
+
+These spacers are available to use for margins and padding with responsive utility classes. Combine these prefixes with a screen size and spacing scale to use them responsively.
+
+| Classname prefix | What it does |
+|:-----------------|:------------------------------|
+| `.m-` | `margin` |
+| `.mx-` | `margin-left`, `margin-right` |
+| `.my-` | `margin top`, `margin bottom` |
+| `.mt-` | `margin-top` |
+| `.mr-` | `margin-right` |
+| `.mb-` | `margin-bottom` |
+| `.ml-` | `margin-left` |
+
+| Classname prefix | What it does |
+|:-----------------|:--------------------------------|
+| `.p-` | `padding` |
+| `.px-` | `padding-left`, `padding-right` |
+| `.py-` | `padding top`, `padding bottom` |
+| `.pt-` | `padding-top` |
+| `.pr-` | `padding-right` |
+| `.pb-` | `padding-bottom` |
+| `.pl-` | `padding-left` |
+
+Spacing values are based on a `1rem = 16px` spacing scale, broken down into these units:
+
+| Spacer/suffix | Size in rems | Rem converted to px |
+|:---------------|:--------------|:--------------------|
+| `1` | 0.25rem | 4px |
+| `2` | 0.5rem | 8px |
+| `3` | 0.75rem | 12px |
+| `4` | 1rem | 16px |
+| `5` | 1.5rem | 24px |
+| `6` | 2rem | 32px |
+| `7` | 2.5rem | 40px |
+| `8` | 3rem | 48px |
+
+#### Examples
+{: .no_toc }
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+This paragraph will have a margin bottom of 1rem/16px at large screens.
+{: .mb-lg-4 }
+
+This paragraph will have 2rem/32px of padding on the right and left at all screen sizes.
+{: .px-6 }
+
+```
+
+### Display
+
+Display classes aid in adapting the layout of the elements on a page:
+
+| Class | |
+|:------------------|:------------------------|
+| `.d-block` | `display: block` |
+| `.d-flex` | `display: flex` |
+| `.d-inline` | `display: inline` |
+| `.d-inline-block` | `display: inline-block` |
+| `.d-none` | `display: none` |
+
+Use these classes in conjunction with the responsive modifiers.
+
+#### Examples
+{: .no_toc }
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+This button will be hidden until medium screen sizes:
+
+[ A button ](#url)
+{: .d-none .d-md-inline-block }
+
+These headings will be `inline-block`:
+
+### heading 3
+{ .d-inline-block }
+
+### heading 3
+{ .d-inline-block }
+
+```
+
+---
+## Typography
+
+### Font size
+
+Use the `.fs-1` - `.fs-10` to set an explicit font-size.
+
+| Class | Small screen size `font-size` | Large screen size `font-size` |
+|:--------|:-------------------------------|:------------------------------|
+| `.fs-1` | 9px | 10px |
+| `.fs-2` | 11px | 12px |
+| `.fs-3` | 12px | 14px |
+| `.fs-4` | 14px | 16px |
+| `.fs-5` | 16px | 18px |
+| `.fs-6` | 18px | 24px |
+| `.fs-7` | 24px | 32px |
+| `.fs-8` | 32px | 38px |
+| `.fs-9` | 38px | 42px |
+| `.fs-10`| 42px | 48px |
+
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+Font weight 300
+{: .fw-300 }
+Font weight 400
+{: .fw-400 }
+Font weight 500
+{: .fw-500 }
+Font weight 700
+{: .fw-700 }
+```
+
+### Line height
+
+Use the `lh-` classes to explicitly apply line height to text.
+
+| Class | `line-height` value | Notes |
+|:--------------|:---------------------|:------------------------------|
+| `.lh-0` | 0 | |
+| `.lh-tight` | 1.1 | Default for headings |
+| `.lh-default` | 1.4 | Default for body (paragraphs) |
+
+
+
+
+No Line height
+No Line height
+{: .lh-0 }
+
+Tight line height
+Tight line height
+{: .lh-tight }
+
+Default line height
+Default line height
+{: .fh-default }
+
+```markdown
+In Markdown, use the `{: }` wrapper to apply custom classes:
+
+No Line height
+No Line height
+{: .lh-0 }
+
+Tight line height
+Tight line height
+{: .lh-tight }
+
+Default line height
+Default line height
+{: .fh-default }
+```
+---
+## Color
+### Font color
+### Background color
diff --git a/index.md b/index.md
index c978ace..703b0c9 100644
--- a/index.md
+++ b/index.md
@@ -4,12 +4,21 @@ title: Home
nav_order: 1
---
-{:.img-logo}
-# A Jekyll theme for documentation
+# Focus on writing documentation, not building a website for it.
+{: .mt-4 .mt-md-0 :}
-Focus on writing good docs, not building a site for it. Just the docs allows you to create your documentation site with a Jekyll theme that is easily hosted on GitHub pages.
-{: .fs-6 .fw-300 }
+
+
+
+
+
+ Just the Docs gives your documentation a home with a responsive Jekyll theme that is easily customizable and hosted on GitHub pages.
+ {: .fs-6 .fw-300 }
+
+ [Get Started](#getting-started){: .btn .btn-purple .mr-2 } [View GitHub](https://github.com/pmarsceill/just-the-docs){: .btn }
+