diff --git a/docs/.gitignore b/docs/.gitignore
index 3fa29d683d..6217c58a25 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1,2 +1,3 @@
-/Gemfile.lock
+/.sass-cache/
/_site/
+/Gemfile.lock
\ No newline at end of file
diff --git a/docs/404.md b/docs/404.md
new file mode 100644
index 0000000000..aa65c1c3db
--- /dev/null
+++ b/docs/404.md
@@ -0,0 +1,7 @@
+---
+title: Not Found
+permalink: /404.html
+sitemap: false
+---
+
+This page doesn't exist!
diff --git a/docs/Gemfile b/docs/Gemfile
index bbb65e14f6..2520cb5eb8 100644
--- a/docs/Gemfile
+++ b/docs/Gemfile
@@ -1,11 +1,11 @@
-source "https://rubygems.org"
+source 'https://rubygems.org'
-gem "jekyll"
-gem "jekyll-remote-theme"
+gem 'jekyll', '3.7.2'
-gem "github-pages", group: :jekyll_plugins
+group :jekyll_plugins do
+ gem 'jekyll-feed', '0.9.3'
+ gem 'jekyll-seo-tag', '2.4.0'
+ gem 'jekyll-sitemap', '1.2.0'
+end
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
-
-gem "html-proofer"
+gem "html-proofer"
\ No newline at end of file
diff --git a/docs/LICENSE b/docs/LICENSE
new file mode 100644
index 0000000000..3a4a2fb870
--- /dev/null
+++ b/docs/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 CloudCannon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/docs/_config.yml b/docs/_config.yml
index f44cf19cc7..7a25c19d7d 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,51 +1,71 @@
-title : Phoenicis Scripts Documentation
-name : phoenicis.org
-description : The documentation for Phoenicis scripts.
-repository : PhoenicisOrg/scripts
+title: Phoenicis Scripts Documentation
+baseurl:
+google_analytics_key:
+show_full_navigation: true
-remote_theme : mmistakes/minimal-mistakes
-minimal_mistakes_skin : air
+# Values for the jekyll-seo-tag gem (https://github.com/jekyll/jekyll-seo-tag)
+logo: /siteicon.png
+description: The documentation for Phoenicis scripts.
+author:
+ name:
+ email:
+ twitter: # twitter username without the @ symbol
+social:
+ name: Phoenicis Scripts Documentation
+ links:
+ - https://github.com/PhoenicisOrg/scripts
+
+# -----
+# Build
+
+timezone: Etc/UTC
-markdown : kramdown
-permalink : /:categories/:title/
+permalink: pretty
plugins:
- - jekyll-paginate
- jekyll-sitemap
- - jekyll-gist
+ - jekyll-seo-tag
- jekyll-feed
- - jemoji
- - jekyll-remote-theme
-# mimic GitHub Pages with --safe
-whitelist:
- - jekyll-paginate
- - jekyll-sitemap
- - jekyll-gist
- - jekyll-feed
- - jemoji
+exclude:
+ - Gemfile
+ - Gemfile.lock
+ - LICENCE
-include:
- - _pages
+collections:
+ docs:
+ title: Documentation
+ permalink: /:path/
+ output: true
-encoding: "utf-8"
-markdown_ext: "markdown,mkdown,mkdn,mkd,md"
-
defaults:
- # _pages
- - scope:
- path: "_pages"
- type: pages
+ -
+ scope:
+ path: ""
values:
- layout: single
- author_profile: false
- sidebar:
- nav: "docs"
-
-author:
- name: Phoenicis
- github: PhoenicisOrg
+ layout: default
+ -
+ scope:
+ path: ""
+ type: "docs"
+ values:
+ seo:
+ type: Article
+ _comments:
+ category: Group navigation links with this field
+ order: Used to sort links in the navigation
+ _options:
+ content:
+ width: 800
+ height: 2000
+ -
+ scope:
+ path: ""
+ type: "posts"
+ values:
+ _comments:
+ type: Marks the impact of this release
-# HTML Compression
-compress_html:
- clippings: all
+types:
+ - minor
+ - major
diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml
deleted file mode 100644
index 6eede0e1de..0000000000
--- a/docs/_data/navigation.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-docs:
- - title: "Develop"
- children:
- - title: "application.json"
- url: /application-json/
- - title: "script.json"
- url: /script-json/
- - title: "script.js"
- url: /script-js/
- - title: "Utils"
- url: /utils/
- - title: "Verbs"
- url: /verbs/
- - title: "SetupWizard"
- url: /setup-wizard/
- - title: "JSDoc"
- url: /jsdoc/
- - title: "General"
- children:
- - title: "Tools"
- url: /tools/
- - title: "Translation"
- url: /translation/
- - title: "Best practices"
- url: /best-practices/
diff --git a/docs/_pages/application-json.md b/docs/_docs/Develop/application-json.md
similarity index 93%
rename from docs/_pages/application-json.md
rename to docs/_docs/Develop/application-json.md
index be5086b27f..524ad49b27 100644
--- a/docs/_pages/application-json.md
+++ b/docs/_docs/Develop/application-json.md
@@ -1,6 +1,7 @@
---
title: "application.json"
-permalink: /application-json/
+category: Develop
+order: 1
toc: false
---
diff --git a/docs/_docs/Develop/jsdoc.md b/docs/_docs/Develop/jsdoc.md
new file mode 100644
index 0000000000..78462ad2e4
--- /dev/null
+++ b/docs/_docs/Develop/jsdoc.md
@@ -0,0 +1,8 @@
+---
+title: "JSDoc"
+category: Develop
+order: 7
+toc: true
+---
+
+The Javascript documentation can be found [here]({{ site.baseurl }}{% link jsdoc/index.html %}).
diff --git a/docs/_pages/script-js.md b/docs/_docs/Develop/script-js.md
similarity index 97%
rename from docs/_pages/script-js.md
rename to docs/_docs/Develop/script-js.md
index 1db873c8fd..42015fc177 100644
--- a/docs/_pages/script-js.md
+++ b/docs/_docs/Develop/script-js.md
@@ -1,6 +1,7 @@
---
title: "script.js"
-permalink: /script-js/
+category: Develop
+order: 3
toc: true
---
@@ -62,7 +63,7 @@ new UplayScript()
You can determine the app ID by starting the download and checking the folders in `Ubisoft/Ubisoft Game Launcher/data/`.
### LocalInstallerScript
-Installs a local Windows executable. Shows a setup window browse step (see [SetupWizard]({{ site.baseurl }}{% link _pages/setup-wizard.md %})) to query the executable.
+Installs a local Windows executable. Shows a setup window browse step (see [SetupWizard]({{ site.baseurl }}{% link _docs/Develop/setup-wizard.md %})) to query the executable.
A basic script looks like:
@@ -147,7 +148,7 @@ For example, for a steam game:
```
#### Pre/Post install hooks
-With the pre/post install hooks, you can specify a function which is executed before/after the installation. The function receives a wine object and the [SetupWizard]({{ site.baseurl }}{% link _pages/setup-wizard.md %}). By default, the pre/post install hooks do nothing.
+With the pre/post install hooks, you can specify a function which is executed before/after the installation. The function receives a wine object and the [SetupWizard]({{ site.baseurl }}{% link _docs/Develop/setup-wizard.md %}). By default, the pre/post install hooks do nothing.
These hooks are especially useful to set DLL overrides.
You can find the complete list of available verbs [here](https://github.com/PhoenicisOrg/scripts/tree/master/Engines/Wine/Verbs).
diff --git a/docs/_pages/script-json.md b/docs/_docs/Develop/script-json.md
similarity index 98%
rename from docs/_pages/script-json.md
rename to docs/_docs/Develop/script-json.md
index 36c606c1cd..2c694f81b2 100644
--- a/docs/_pages/script-json.md
+++ b/docs/_docs/Develop/script-json.md
@@ -1,6 +1,7 @@
---
title: "script.json"
-permalink: /script-json/
+category: Develop
+order: 2
toc: false
---
diff --git a/docs/_pages/setup-wizard.md b/docs/_docs/Develop/setup-wizard.md
similarity index 98%
rename from docs/_pages/setup-wizard.md
rename to docs/_docs/Develop/setup-wizard.md
index a1cf5acf6d..9a1223a838 100644
--- a/docs/_pages/setup-wizard.md
+++ b/docs/_docs/Develop/setup-wizard.md
@@ -1,6 +1,7 @@
---
title: "SetupWizard"
-permalink: /setup-wizard/
+category: Develop
+order: 6
toc: true
---
diff --git a/docs/_pages/utils.md b/docs/_docs/Develop/utils.md
similarity index 93%
rename from docs/_pages/utils.md
rename to docs/_docs/Develop/utils.md
index dedb0077bc..acf5799fad 100644
--- a/docs/_pages/utils.md
+++ b/docs/_docs/Develop/utils.md
@@ -1,6 +1,7 @@
---
title: "Utils"
-permalink: /utils/
+category: Develop
+order: 4
toc: false
---
diff --git a/docs/_pages/verbs.md b/docs/_docs/Develop/verbs.md
similarity index 98%
rename from docs/_pages/verbs.md
rename to docs/_docs/Develop/verbs.md
index 13f50f76e8..7ddc24876b 100644
--- a/docs/_pages/verbs.md
+++ b/docs/_docs/Develop/verbs.md
@@ -1,6 +1,7 @@
---
title: "Verbs"
-permalink: /verbs/
+category: Develop
+order: 5
toc: true
---
diff --git a/docs/_pages/best-practices.md b/docs/_docs/General/best-practices.md
similarity index 96%
rename from docs/_pages/best-practices.md
rename to docs/_docs/General/best-practices.md
index 2f4be93c37..7b2f14c329 100644
--- a/docs/_pages/best-practices.md
+++ b/docs/_docs/General/best-practices.md
@@ -1,6 +1,7 @@
---
title: "Best practices"
-permalink: /best-practices/
+category: General
+order: 3
toc: false
---
diff --git a/docs/_pages/tools.md b/docs/_docs/General/tools.md
similarity index 95%
rename from docs/_pages/tools.md
rename to docs/_docs/General/tools.md
index bda9d93296..ffdf8ade61 100644
--- a/docs/_pages/tools.md
+++ b/docs/_docs/General/tools.md
@@ -1,6 +1,7 @@
---
title: "Tools"
-permalink: /tools/
+category: General
+order: 1
toc: true
---
diff --git a/docs/_pages/translation.md b/docs/_docs/General/translation.md
similarity index 88%
rename from docs/_pages/translation.md
rename to docs/_docs/General/translation.md
index 3ae0af9305..ae60306c80 100644
--- a/docs/_pages/translation.md
+++ b/docs/_docs/General/translation.md
@@ -1,6 +1,7 @@
---
title: "Translation"
-permalink: /translation/
+category: General
+order: 2
toc: false
---
diff --git a/docs/_docs/_defaults.md b/docs/_docs/_defaults.md
new file mode 100644
index 0000000000..f392ebd98a
--- /dev/null
+++ b/docs/_docs/_defaults.md
@@ -0,0 +1,6 @@
+---
+title:
+category:
+order: 1
+toc: false
+---
diff --git a/docs/_includes/head/custom.html b/docs/_includes/head/custom.html
deleted file mode 100644
index a04d93809d..0000000000
--- a/docs/_includes/head/custom.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/docs/_includes/toc.html b/docs/_includes/toc.html
new file mode 100644
index 0000000000..b222dda483
--- /dev/null
+++ b/docs/_includes/toc.html
@@ -0,0 +1,85 @@
+{% capture tocWorkspace %}
+{% comment %}
+Version 1.0.4
+https://github.com/allejo/jekyll-toc
+
+"...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe
+
+Usage:
+{% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %}
+
+Parameters:
+* html (string) - the HTML of compiled markdown generated by kramdown in Jekyll
+
+Optional Parameters:
+* sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC
+* class (string) : '' - a CSS class assigned to the TOC
+* id (string) : '' - an ID to assigned to the TOC
+* h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored
+* h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored
+* ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list
+* item_class (string) : '' - add custom class for each list item; has support for '%level%' placeholder, which is the current heading level
+
+Output:
+An ordered or unordered list representing the table of contents of a markdown block. This snippet will only generate the table of contents and will NOT output the markdown given to it
+{% endcomment %}
+
+{% capture my_toc %}{% endcapture %}
+{% assign orderedList = include.ordered | default: false %}
+{% assign minHeader = include.h_min | default: 1 %}
+{% assign maxHeader = include.h_max | default: 6 %}
+{% assign nodes = include.html | split: ' maxHeader %}
+{% continue %}
+{% endif %}
+
+{% if firstHeader %}
+{% assign firstHeader = false %}
+{% assign minHeader = headerLevel %}
+{% endif %}
+
+{% assign indentAmount = headerLevel | minus: minHeader | add: 1 %}
+{% assign _workspace = node | split: '' | first }}>{% endcapture %}
+{% assign header = _workspace[0] | replace: _hAttrToStrip, '' %}
+
+{% assign space = '' %}
+{% for i in (1..indentAmount) %}
+{% assign space = space | prepend: ' ' %}
+{% endfor %}
+
+{% unless include.item_class == blank %}
+{% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %}
+{% endunless %}
+
+{% capture my_toc %}{{ my_toc }}
+{{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}](#{{ html_id }}){% endcapture %}
+
+{% endfor %}
+
+{% if include.class %}
+{% capture my_toc %}{:.{{ include.class }}}
+{{ my_toc | lstrip }}{% endcapture %}
+{% endif %}
+
+{% if include.id %}
+{% capture my_toc %}{: #{{ include.id }}}
+{{ my_toc | lstrip }}{% endcapture %}
+{% endif %}
+{% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }}
\ No newline at end of file
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
new file mode 100755
index 0000000000..6407083de6
--- /dev/null
+++ b/docs/_layouts/default.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+ {% seo %}
+ {% feed_meta %}
+
+
+
+
+
+
+
+ {% if jekyll.environment == 'production' and site.google_analytics_key != '' %}
+
+
+ {% endif %}
+
+
+
+
+
+
+ {{ site.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {% if page.toc %}{% include toc.html html=content %}{% endif %}
+ {{ content }}
+
+
+
+
+
+
diff --git a/docs/_plugins/replace-regex.rb b/docs/_plugins/replace-regex.rb
new file mode 100644
index 0000000000..9a5b404736
--- /dev/null
+++ b/docs/_plugins/replace-regex.rb
@@ -0,0 +1,10 @@
+module Jekyll
+ module RegexFilter
+ def replace_regex(input, regex_string, replace_string)
+ regex = Regexp.new regex_string
+ input.gsub regex, replace_string
+ end
+ end
+end
+
+Liquid::Template.register_filter(Jekyll::RegexFilter)
diff --git a/docs/_posts/_defaults.md b/docs/_posts/_defaults.md
new file mode 100644
index 0000000000..806ca97d24
--- /dev/null
+++ b/docs/_posts/_defaults.md
@@ -0,0 +1,14 @@
+---
+title:
+type: major
+---
+
+This release introduces
+
+**Features:**
+
+*
+
+**Fixes:**
+
+*
diff --git a/docs/_sass/_code.scss b/docs/_sass/_code.scss
new file mode 100644
index 0000000000..bec7db62ac
--- /dev/null
+++ b/docs/_sass/_code.scss
@@ -0,0 +1,37 @@
+pre, code, tt {
+ font-family: Inconsolata, Consolas, Courier, "Courier New", "Liberation Mono", monospace;
+ font-size: 0.85em;
+ white-space: pre-wrap;
+ border-radius: 2px;
+ line-height: 1.4;
+ font-weight: 400;
+ background-color: #404145;
+ color: #FAFAFA;
+ border-radius: 2px;
+}
+
+pre {
+ box-sizing: border-box;
+ margin: 0 0 1.75em 0;
+ width: 100%;
+ padding: 10px;
+ font-size: 0.9em;
+ white-space: pre;
+ overflow: auto;
+ border-radius: 3px;
+
+ code, tt {
+ font-size: inherit;
+ white-space: pre-wrap;
+ background: transparent;
+ border: none;
+ padding: 0
+ }
+}
+
+blockquote > code,
+li > code,
+p > code {
+ padding: 4px 6px;
+ white-space: nowrap;
+}
diff --git a/docs/_sass/_layout.scss b/docs/_sass/_layout.scss
new file mode 100644
index 0000000000..7a538482d4
--- /dev/null
+++ b/docs/_sass/_layout.scss
@@ -0,0 +1,466 @@
+input::-ms-clear,
+input::-ms-reveal {
+ display: none !important;
+}
+
+body {
+ height: auto;
+ overflow-x: hidden;
+ background-color: $body-background-color;
+
+ &.nav-open {
+ overflow: hidden;
+
+ nav,
+ header > form {
+ display: block;
+ }
+
+ header {
+ bottom: 0;
+ }
+ }
+
+ &::before {
+ content: "";
+ background-color: $content-background-color;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: -1;
+ }
+
+ @media (min-width: $mobile-break) {
+ padding: 0 0 0 $nav-width;
+
+ &.nav-open {
+ overflow: auto;
+ }
+
+ &::after,
+ &::before {
+ content: "";
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ z-index: -1;
+ }
+
+ &::after {
+ left: 0;
+ width: $nav-width;
+ background-color: $nav-background-color;
+ }
+
+ #search-input,
+ &::after {
+ box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.1);
+ }
+
+ &::before {
+ left: $nav-width;
+ right: 0;
+ background-color: $content-background-color;
+ }
+ }
+}
+
+.main {
+ margin-top: $space + $nav-header-height;
+
+ @media (min-width: $mobile-break) {
+ margin-top: 0;
+ }
+}
+
+header {
+ $emblem-size: 35px;
+ $emblem-vertical-padding: ($nav-header-height - $emblem-size) / 2;
+ $emblem-horizontal-padding: $space;
+
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ overflow-x: hidden;
+ z-index: 1;
+ background-color: $nav-background-color;
+
+ ul {
+ padding: 0;
+ margin: 0;
+ }
+
+ h1 {
+ padding: $emblem-vertical-padding $emblem-horizontal-padding;
+ height: $nav-header-height;
+ box-sizing: border-box;
+ background-color: $brand-colour;
+ color: #fff;
+ margin: 0;
+ font-size: 1.7rem;
+ line-height: 0.8;
+ letter-spacing: 0;
+ font-weight: 600;
+ text-indent: 0;
+ @include display-flex();
+ @include flex-direction(row);
+ @include align-items(center);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.075);
+
+ img {
+ height: $emblem-size;
+ width: $emblem-size;
+ margin-right: $space - 5;
+ }
+ }
+
+$nav-image: $baseurl + "/images/menu.svg";
+ .open-nav {
+ background-image: url($nav-image);
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-size: 100%;
+ width: $emblem-size;
+ height: $emblem-size;
+ border: 0;
+ position: absolute;
+ top: $emblem-vertical-padding;
+ right: $emblem-horizontal-padding;
+ border-radius: 2px;
+
+ &:focus {
+ outline: none;
+ background-color: rgba(0, 0, 0, 0.05);
+ }
+
+ &:hover {
+ background-color: rgba(0, 0, 0, 0.1);
+ }
+ }
+
+ @media (min-width: $mobile-break) {
+ background-color: transparent;
+ width: $nav-width;
+ right: auto;
+ bottom: auto;
+
+ .open-nav {
+ display: none;
+ }
+
+ h1 {
+ box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, 0.1);
+ }
+ }
+}
+
+.content {
+ position: relative;
+ background-color: $content-background-color;
+ color: $content-color;
+
+ h3::before {
+ content: "";
+ @extend hr;
+ margin: 60px 0;
+ }
+}
+
+.content,
+.page-header {
+ max-width: $content-max-width;
+ padding: 0 ($space + 5) $space;
+ margin: $space auto 0 auto;
+}
+
+.page-header {
+ h2,
+ h3 {
+ margin: 0;
+ line-height: 1.2;
+ letter-spacing: -1px;
+ }
+
+ h2 {
+ font-size: 2rem;
+ margin-left: -1px;
+ color: #888;
+ letter-spacing: 0;
+ }
+
+ h3 {
+ font-size: 4rem;
+ margin-left: -4px;
+ }
+
+ @media (min-width: $mobile-break) {
+ h2 {
+ font-size: 2.65rem;
+ }
+
+ h3 {
+ font-size: 5.4rem;
+ }
+ }
+
+ @media (min-width: $full-width-break) {
+ margin-top: 55px;
+ }
+}
+
+nav,
+header > form {
+ display: none;
+
+ @media (min-width: $mobile-break) {
+ display: block;
+ }
+}
+
+nav > ul {
+ padding: $space / 2 0;
+
+ & + ul {
+ border-top: 1px solid rgba(0, 0, 0, 0.075);
+ }
+}
+
+.nav-item {
+ display: block;
+ font-family: "Open Sans", sans-serif;
+ line-height: 1;
+ margin: 0;
+
+ nav:not(.full-navigation) & > ul {
+ display: none;
+ }
+
+ nav:not(.full-navigation) &.current > ul {
+ display: block;
+ }
+
+ > a {
+ color: #666;
+ text-decoration: none;
+ font-size: 1.4rem;
+ padding: $space / 2 0 $space / 2 $space * 2;
+ display: block;
+ }
+
+ &.current > a,
+ > a:active,
+ > a:hover {
+ color: #111;
+ }
+
+ &.top-level > a {
+ line-height: 1.5;
+ font-weight: 600;
+ padding-left: $space;
+ }
+}
+
+.settings-panel-example {
+ @extend p;
+ @include display-flex();
+ @include flex-direction(column);
+
+ .example {
+ max-width: 300px;
+ background-color: #fafafa;
+ margin: 0;
+ padding: 0;
+ font-size: 0;
+ line-height: 1;
+ border-radius: 2px;
+ overflow: hidden;
+ }
+
+ @media (min-width: 960px) {
+ @include flex-direction(row);
+
+ .details {
+ @include flex(1);
+ margin-right: 20px;
+ }
+
+ p + .highlight > pre {
+ margin-bottom: 0;
+ }
+
+ .example {
+ @include flex(0 0 300px);
+ max-width: 100%;
+ }
+ }
+}
+
+.highlight {
+ margin-left: 0;
+ margin-right: 0;
+}
+
+h3 + .warning {
+ margin-top: 1.75em;
+}
+
+
+h4 code {
+ background: $nav-background-color;
+ color: $content-color;
+ background-color: transparent;
+ font-weight: 700;
+ padding: 0;
+ font-size: 1.1em;
+ line-height: 1;
+}
+
+h4 svg {
+ vertical-align: middle;
+ margin-right: 6px;
+ position: relative;
+ top: -2px;
+ fill: #2E2E2E;
+ height: 23px;
+}
+
+.required {
+ position: relative;
+}
+
+.required::after {
+ content: "REQUIRED";
+ font-size: 12px;
+ position: absolute;
+ top: 5px;
+ line-height: 1;
+ color: $brand-colour;
+ padding-left: 5px;
+}
+
+#search-results {
+ margin: 0;
+ padding: 0;
+
+ li {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ h4 {
+ font-size: 2rem;
+ }
+
+ p {
+ line-height: 1.5;
+ }
+ }
+}
+
+
+#search-input {
+ -webkit-appearance: none;
+ display: block;
+ margin: 0;
+ padding: 10px 20px 10px 15px;
+ width: 100%;
+ box-sizing: border-box;
+ border: 0;
+ border-bottom: 1px solid rgba(0, 0, 0, 0.075);
+ border-left: 5px solid transparent;
+ font-size: 1.5rem;
+ font-weight: 600;
+ line-height: 1.8;
+
+ &:focus {
+ outline: none;
+ border-left-color: $brand-colour;
+ }
+}
+
+.changelog {
+ &,
+ > div {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ }
+
+ .date {
+ color: #888;
+ font-style: italic;
+ }
+}
+
+.badge {
+ font-family: "Open Sans", sans-serif;
+ padding: 2px 5px;
+ text-transform: uppercase;
+ font-size: 0.8rem;
+ border-radius: 2px;
+ background: #eee;
+ font-weight: bold;
+
+ &.major {
+ background: $brand-colour;
+ color: #fff;
+ }
+}
+
+blockquote {
+ border-left: 5px solid #FD0;
+ padding: 10px 15px;
+ margin-left: -15px;
+ margin-right: -10px;
+ background-color: $brand-colour-light;
+ border-color: $brand-colour;
+
+ p:last-child {
+ margin-bottom: 0;
+ }
+
+ @media (max-width: $full-width-break) {
+ margin-left: 0;
+ margin-right: 0;
+ }
+}
+
+img {
+ max-width: 100%;
+ height: auto;
+}
+
+.editor-link {
+ display: none;
+ margin-top: 0;
+
+ .btn {
+ border: 0;
+ border-radius: 2px;
+ width: 100%;
+ max-width: 500px;
+ box-sizing: border-box;
+ font-size: 2rem;
+ text-decoration: none;
+ padding: 10px 15px;
+ margin: 0;
+ font-size: 18px;
+ cursor: pointer;
+ background-color: #f7e064;
+ color: #333;
+ box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.2);
+
+ &:hover {
+ background-color: #f4d525;
+ color: #333;
+ }
+ }
+
+}
+
+.cms-editor-active .editor-link {
+ display: block;
+}
diff --git a/docs/_sass/_mixins.scss b/docs/_sass/_mixins.scss
new file mode 100755
index 0000000000..e60b23610b
--- /dev/null
+++ b/docs/_sass/_mixins.scss
@@ -0,0 +1,34 @@
+@mixin flex-direction($values) {
+ -webkit-flex-direction: $values;
+ flex-direction: $values;
+}
+
+@mixin flex-flow($values) {
+ -webkit-flex-flow: $values;
+ flex-flow: $values;
+}
+
+@mixin align-items($values) {
+ -webkit-align-items: $values;
+ align-items: $values;
+}
+
+@mixin justify-content($values) {
+ -webkit-justify-content: $values;
+ justify-content: $values;
+}
+
+@mixin flex($values) {
+ -webkit-flex: $values;
+ flex: $values;
+}
+
+@mixin display-flex() {
+ display: -webkit-flex;
+ display: flex;
+}
+
+@mixin display-inline-flex() {
+ display: -webkit-inline-flex;
+ display: inline-flex;
+}
diff --git a/docs/_sass/_normalize.scss b/docs/_sass/_normalize.scss
new file mode 100755
index 0000000000..458eea1ea3
--- /dev/null
+++ b/docs/_sass/_normalize.scss
@@ -0,0 +1,427 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
diff --git a/docs/_sass/_pygments.scss b/docs/_sass/_pygments.scss
new file mode 100755
index 0000000000..e7e4ec7c5b
--- /dev/null
+++ b/docs/_sass/_pygments.scss
@@ -0,0 +1,81 @@
+.highlight {
+ .hll { background-color: #ffffcc }
+ .c { color: #87ceeb} /* Comment */
+ .err { color: #ffffff} /* Error */
+ .g { color: #ffffff} /* Generic */
+ .k { color: #f0e68c} /* Keyword */
+ .l { color: #ffffff} /* Literal */
+ .n { color: #ffffff} /* Name */
+ .o { color: #ffffff} /* Operator */
+ .x { color: #ffffff} /* Other */
+ .p { color: #ffffff} /* Punctuation */
+ .cm { color: #87ceeb} /* Comment.Multiline */
+ .cp { color: #cd5c5c} /* Comment.Preproc */
+ .c1 { color: #87ceeb} /* Comment.Single */
+ .cs { color: #87ceeb} /* Comment.Special */
+ .gd { color: #0000c0; font-weight: bold; background-color: #008080 } /* Generic.Deleted */
+ .ge { color: #c000c0; text-decoration: underline} /* Generic.Emph */
+ .gr { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Error */
+ .gh { color: #cd5c5c} /* Generic.Heading */
+ .gi { color: #ffffff; background-color: #0000c0 } /* Generic.Inserted */
+ span.go { color: #add8e6; font-weight: bold; background-color: #4d4d4d } /* Generic.Output, qualified with span to prevent applying this style to the Go language, see #1153. */
+ .gp { color: #ffffff} /* Generic.Prompt */
+ .gs { color: #ffffff} /* Generic.Strong */
+ .gu { color: #cd5c5c} /* Generic.Subheading */
+ .gt { color: #c0c0c0; font-weight: bold; background-color: #c00000 } /* Generic.Traceback */
+ .kc { color: #f0e68c} /* Keyword.Constant */
+ .kd { color: #f0e68c} /* Keyword.Declaration */
+ .kn { color: #f0e68c} /* Keyword.Namespace */
+ .kp { color: #f0e68c} /* Keyword.Pseudo */
+ .kr { color: #f0e68c} /* Keyword.Reserved */
+ .kt { color: #bdb76b} /* Keyword.Type */
+ .ld { color: #ffffff} /* Literal.Date */
+ .m { color: #EAB289} /* Literal.Number */
+ .s { color: #EAB289} /* Literal.String */
+ .na { color: #8CF0E8} /* Name.Attribute */
+ .nb { color: #ffffff} /* Name.Builtin */
+ .nc { color: #ffffff} /* Name.Class */
+ .no { color: #ffa0a0} /* Name.Constant */
+ .nd { color: #ffffff} /* Name.Decorator */
+ .ni { color: #ffdead} /* Name.Entity */
+ .ne { color: #ffffff} /* Name.Exception */
+ .nf { color: #ffffff} /* Name.Function */
+ .nl { color: #ffffff} /* Name.Label */
+ .nn { color: #ffffff} /* Name.Namespace */
+ .nx { color: #ffffff} /* Name.Other */
+ .py { color: #ffffff} /* Name.Property */
+ .nt { color: #f0e68c} /* Name.Tag */
+ .nv { color: #98fb98} /* Name.Variable */
+ .ow { color: #ffffff} /* Operator.Word */
+ .w { color: #ffffff} /* Text.Whitespace */
+ .mf { color: #ffffff} /* Literal.Number.Float */
+ .mh { color: #ffffff} /* Literal.Number.Hex */
+ .mi { color: #ffffff} /* Literal.Number.Integer */
+ .mo { color: #ffffff} /* Literal.Number.Oct */
+ .sb { color: #ffffff} /* Literal.String.Backtick */
+ .sc { color: #ffffff} /* Literal.String.Char */
+ .sd { color: #ffffff} /* Literal.String.Doc */
+ .s2 { color: #ffffff} /* Literal.String.Double */
+ .se { color: #ffffff} /* Literal.String.Escape */
+ .sh { color: #ffffff} /* Literal.String.Heredoc */
+ .si { color: #ffffff} /* Literal.String.Interpol */
+ .sx { color: #ffffff} /* Literal.String.Other */
+ .sr { color: #ffffff} /* Literal.String.Regex */
+ .s1 { color: #ffffff} /* Literal.String.Single */
+ .ss { color: #ffffff} /* Literal.String.Symbol */
+ .bp { color: #ffffff} /* Name.Builtin.Pseudo */
+ .vc { color: #98fb98} /* Name.Variable.Class */
+ .vg { color: #98fb98} /* Name.Variable.Global */
+ .vi { color: #98fb98} /* Name.Variable.Instance */
+ .il { color: #ffffff} /* Literal.Number.Integer.Long */
+ .bash .nv {
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+ }
+ .language-bash & .nb {
+ color: #99D4FF;
+ }
+}
diff --git a/docs/_sass/_tables.scss b/docs/_sass/_tables.scss
new file mode 100644
index 0000000000..8a50538ea1
--- /dev/null
+++ b/docs/_sass/_tables.scss
@@ -0,0 +1,21 @@
+table {
+ width: 100%;
+ margin-bottom: 1.75em;
+}
+
+tr {
+ border-bottom: 1px solid #EEE;
+}
+
+tr:nth-child(even) {
+ background: #fcfcfc;
+}
+
+td, th {
+ padding: 8px;
+ text-align: left;
+}
+
+th {
+ padding-bottom: 4px;
+}
diff --git a/docs/_sass/_typography.scss b/docs/_sass/_typography.scss
new file mode 100644
index 0000000000..38e5c97334
--- /dev/null
+++ b/docs/_sass/_typography.scss
@@ -0,0 +1,253 @@
+html {
+ height: 100%;
+ max-height: 100%;
+ font-size: 10px;
+ -webkit-tap-highlight-color: transparent;
+}
+
+body {
+ height: 100%;
+ max-height: 100%;
+ font-family: "Merriweather", serif;
+ letter-spacing: 0.01rem;
+ font-size: 1.8em;
+ line-height: 1.75em;
+ color: #3A4145;
+ font-weight: 400;
+ -webkit-font-feature-settings: 'kern' 1;
+ -moz-font-feature-settings: 'kern' 1;
+ -o-font-feature-settings: 'kern' 1;
+ text-rendering: geometricPrecision;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+input,
+label,
+select,
+textarea,
+table {
+ -webkit-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
+ -moz-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
+ -o-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
+ font-family: "Open Sans", sans-serif;
+ text-rendering: geometricPrecision;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: #2E2E2E;
+ line-height: 1.15em;
+ margin: 0 0 0.4em 0;
+ font-weight: 600;
+}
+
+h1 {
+ font-size: 5rem;
+ letter-spacing: -2px;
+ text-indent: -3px;
+}
+
+h2 {
+ font-size: 3.6rem;
+ letter-spacing: -1px;
+}
+
+h3 {
+ font-size: 3rem;
+}
+
+h4 {
+ font-size: 2.3rem;
+}
+
+h5 {
+ font-size: 2rem;
+}
+
+h6 {
+ font-size: 2rem;
+}
+
+a {
+ color: #4A4A4A;
+ transition: color 0.2s ease;
+}
+
+a:hover {
+ color: #111;
+}
+
+p,
+ul,
+ol,
+dl,
+figure {
+ -webkit-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
+ -moz-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
+ -o-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
+ margin: 0 0 1.75em 0;
+ text-rendering: geometricPrecision;
+}
+
+ol,
+ul {
+ padding-left: 3rem;
+}
+
+ol ol,
+ul ul,
+ul ol,
+ol ul {
+ margin: 0 0 0.4em 0;
+ padding-left: 2em;
+}
+
+dl dt {
+ float: left;
+ width: 180px;
+ overflow: hidden;
+ clear: left;
+ text-align: right;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ font-weight: 700;
+ margin-bottom: 1em;
+}
+
+dl dd {
+ margin-left: 200px;
+ margin-bottom: 1em;
+}
+
+li {
+ margin: 0.4em 0;
+}
+
+li li {
+ margin: 0;
+}
+
+hr {
+ display: block;
+ height: 1px;
+ border: 0;
+ border-top: #eee 1px solid;
+ margin: 3.2em 0;
+ padding: 0;
+}
+
+mark {
+ background-color: #fdffb6
+}
+
+kbd {
+ display: inline-block;
+ margin-bottom: 0.4em;
+ padding: 1px 8px;
+ border: #CCC 1px solid;
+ color: #666;
+ text-shadow: #FFF 0 1px 0;
+ font-size: 0.9em;
+ font-weight: 700;
+ background: #F4F4F4;
+ border-radius: 4px;
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 1px 0 0 #fff inset;
+}
+
+@media only screen and (max-width: 900px) {
+ blockquote {
+ margin-left: 0;
+ }
+
+ hr {
+ margin: 2.4em 0;
+ }
+
+ ol,
+ ul {
+ padding-left: 2em;
+ }
+
+ h1 {
+ font-size: 4.5rem;
+ text-indent: -2px;
+ }
+
+ h2 {
+ font-size: 3.6rem;
+ }
+
+ h3 {
+ font-size: 3.1rem;
+ }
+
+ h4 {
+ font-size: 2.5rem;
+ }
+
+ h5 {
+ font-size: 2.2rem;
+ }
+
+ h6 {
+ font-size: 1.8rem;
+ }
+}
+
+@media only screen and (max-width: 500px) {
+ hr {
+ margin: 1.75em 0;
+ }
+
+ p,
+ ul,
+ ol,
+ dl {
+ font-size: 0.95em;
+ margin: 0 0 2.5rem 0;
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ margin: 0 0 0.3em 0;
+ }
+
+ h1 {
+ font-size: 2.8rem;
+ letter-spacing: -1px;
+ }
+
+ h2 {
+ font-size: 2.4rem;
+ letter-spacing: 0;
+ }
+
+ h3 {
+ font-size: 2.1rem;
+ }
+
+ h4 {
+ font-size: 1.9rem;
+ }
+
+ h5 {
+ font-size: 1.8rem;
+ }
+
+ h6 {
+ font-size: 1.8rem;
+ }
+}
diff --git a/docs/apple-touch-icon.png b/docs/apple-touch-icon.png
new file mode 100644
index 0000000000..7760c09328
Binary files /dev/null and b/docs/apple-touch-icon.png differ
diff --git a/docs/assets/images/android-chrome-192x192.png b/docs/assets/images/android-chrome-192x192.png
deleted file mode 100644
index 984b1cc9ea..0000000000
Binary files a/docs/assets/images/android-chrome-192x192.png and /dev/null differ
diff --git a/docs/assets/images/android-chrome-384x384.png b/docs/assets/images/android-chrome-384x384.png
deleted file mode 100644
index 0a2303286a..0000000000
Binary files a/docs/assets/images/android-chrome-384x384.png and /dev/null differ
diff --git a/docs/assets/images/apple-touch-icon.png b/docs/assets/images/apple-touch-icon.png
deleted file mode 100644
index 8113b7e486..0000000000
Binary files a/docs/assets/images/apple-touch-icon.png and /dev/null differ
diff --git a/docs/assets/images/browserconfig.xml b/docs/assets/images/browserconfig.xml
deleted file mode 100644
index 3baac445c3..0000000000
--- a/docs/assets/images/browserconfig.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- #da532c
-
-
-
diff --git a/docs/assets/images/favicon-16x16.png b/docs/assets/images/favicon-16x16.png
deleted file mode 100644
index e45f6df988..0000000000
Binary files a/docs/assets/images/favicon-16x16.png and /dev/null differ
diff --git a/docs/assets/images/favicon-32x32.png b/docs/assets/images/favicon-32x32.png
deleted file mode 100644
index 42f831bf2a..0000000000
Binary files a/docs/assets/images/favicon-32x32.png and /dev/null differ
diff --git a/docs/assets/images/favicon.ico b/docs/assets/images/favicon.ico
deleted file mode 100644
index 4e2cbaaaf9..0000000000
Binary files a/docs/assets/images/favicon.ico and /dev/null differ
diff --git a/docs/assets/images/mstile-150x150.png b/docs/assets/images/mstile-150x150.png
deleted file mode 100644
index 886ba3c216..0000000000
Binary files a/docs/assets/images/mstile-150x150.png and /dev/null differ
diff --git a/docs/assets/images/phoenicis.png b/docs/assets/images/phoenicis.png
deleted file mode 100644
index 0c306a04d9..0000000000
Binary files a/docs/assets/images/phoenicis.png and /dev/null differ
diff --git a/docs/assets/images/safari-pinned-tab.svg b/docs/assets/images/safari-pinned-tab.svg
deleted file mode 100644
index 13c6c73cfb..0000000000
--- a/docs/assets/images/safari-pinned-tab.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
diff --git a/docs/assets/images/site.webmanifest b/docs/assets/images/site.webmanifest
deleted file mode 100644
index be4117cf98..0000000000
--- a/docs/assets/images/site.webmanifest
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "Phoenicis Scripts",
- "short_name": "Phoenicis Scripts",
- "icons": [
- {
- "src": "android-chrome-192x192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "android-chrome-384x384.png",
- "sizes": "384x384",
- "type": "image/png"
- }
- ],
- "theme_color": "#ffffff",
- "background_color": "#ffffff",
- "display": "standalone"
-}
diff --git a/docs/changelog.html b/docs/changelog.html
new file mode 100644
index 0000000000..111342ca54
--- /dev/null
+++ b/docs/changelog.html
@@ -0,0 +1,21 @@
+---
+title: Change Log
+toc: false
+---
+
+Subscribe with RSS to keep up with the latest changes.
+
+✎ Update Change Log
+
+
+ {% for change in site.posts %}
+
+
{{ change.title }}
+
{{ change.date | date: "%B %d, %Y" }} {{ change.type }}
+
+ {{ change.content }}
+
+
✎ Update Entry
+
+ {% endfor %}
+
diff --git a/docs/css/main.scss b/docs/css/main.scss
new file mode 100755
index 0000000000..11494d6ec8
--- /dev/null
+++ b/docs/css/main.scss
@@ -0,0 +1,32 @@
+---
+layout: null
+sitemap: false
+---
+
+$baseurl: "{{ site.baseurl }}";
+$body-background-color: #2B2E31;
+
+$content-max-width: 800px;
+$content-color: #222;
+$content-background-color: #fff;
+
+$brand-colour: #3583d6;
+$brand-colour-light: mix($brand-colour, $content-background-color, 10%);
+
+$nav-header-background-color: $brand-colour;
+$nav-header-height: 60px;
+$nav-background-color: #f5f5f5;
+$nav-width: 300px;
+
+$space: 20px;
+
+$mobile-break: 700px;
+$full-width-break: $nav-width + ($space * 4) + $content-max-width;
+
+@import "mixins";
+@import "normalize";
+@import "pygments";
+@import "typography";
+@import "code";
+@import "tables";
+@import "layout";
diff --git a/docs/images/emblem.svg b/docs/images/emblem.svg
new file mode 100644
index 0000000000..3d0e63be73
--- /dev/null
+++ b/docs/images/emblem.svg
@@ -0,0 +1,325 @@
+
+
+
+
diff --git a/docs/images/favicon.png b/docs/images/favicon.png
new file mode 100644
index 0000000000..e7002918c2
Binary files /dev/null and b/docs/images/favicon.png differ
diff --git a/docs/images/menu.svg b/docs/images/menu.svg
new file mode 100644
index 0000000000..f468dc479f
--- /dev/null
+++ b/docs/images/menu.svg
@@ -0,0 +1,4 @@
+
diff --git a/docs/_pages/home.md b/docs/index.md
similarity index 57%
rename from docs/_pages/home.md
rename to docs/index.md
index 136e1d8411..c2c386a2f7 100644
--- a/docs/_pages/home.md
+++ b/docs/index.md
@@ -1,6 +1,5 @@
---
-permalink: /
+title: Welcome
---
-This is the documentation for the scripts for [Phoenicis](https://github.com/PhoenicisOrg/phoenicis).
-
+This is the documentation for the scripts for [Phoenicis](https://github.com/PhoenicisOrg/phoenicis).
\ No newline at end of file
diff --git a/docs/robots.txt b/docs/robots.txt
new file mode 100644
index 0000000000..e31728c87c
--- /dev/null
+++ b/docs/robots.txt
@@ -0,0 +1,7 @@
+---
+layout: null
+sitemap: false
+---
+User-agent: *
+Sitemap: {{ site.url }}/sitemap.xml
+Disallow: /search/
\ No newline at end of file
diff --git a/docs/scripts/lunr.min.js b/docs/scripts/lunr.min.js
new file mode 100644
index 0000000000..884d1f2a8d
--- /dev/null
+++ b/docs/scripts/lunr.min.js
@@ -0,0 +1,7 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.7.0
+ * Copyright (C) 2016 Oliver Nightingale
+ * MIT Licensed
+ * @license
+ */
+!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.7.0",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return void 0===t||null===t?"":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(e){return arguments.length&&null!=e&&void 0!=e?Array.isArray(e)?e.map(function(e){return t.utils.asString(e).toLowerCase()}):e.toString().trim().toLowerCase().split(t.tokenizer.seperator):[]},t.tokenizer.seperator=/[\s\-]+/,t.tokenizer.load=function(t){var e=this.registeredFunctions[t];if(!e)throw new Error("Cannot load un-registered function: "+t);return e},t.tokenizer.label="default",t.tokenizer.registeredFunctions={"default":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing tokenizer: "+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&""!==o);s++);void 0!==o&&""!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();rp;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",r=n+"[^aeiouy]*",o=i+"[aeiou]*",s="^("+r+")?"+o+r,a="^("+r+")?"+o+r+"("+o+")?$",h="^("+r+")?"+o+r+o+r,u="^("+r+")?"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),k=new RegExp("^"+r+i+"[^aeiouwxy]$"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp("^"+r+i+"[^aeiouwxy]$"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),"y"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+="e":h.test(n)?(s=y,n=n.replace(s,"")):u.test(n)&&(n+="e"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,"")),"y"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){return t.replace(/^\W+/,"").replace(/\W+$/,"")},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n= 0) {
+ break;
+ }
+
+ match = content.toLowerCase().indexOf(parts[i].toLowerCase());
+ matchLength = parts[i].length;
+ }
+
+ // Create preview
+ if (match >= 0) {
+ var start = match - (previewLength / 2),
+ end = start > 0 ? match + matchLength + (previewLength / 2) : previewLength;
+
+ preview = content.substring(start, end).trim();
+
+ if (start > 0) {
+ preview = "..." + preview;
+ }
+
+ if (end < content.length) {
+ preview = preview + "...";
+ }
+
+ // Highlight query parts
+ preview = preview.replace(new RegExp("(" + parts.join("|") + ")", "gi"), "$1");
+ } else {
+ // Use start of content if no match found
+ preview = content.substring(0, previewLength).trim() + (content.length > previewLength ? "..." : "");
+ }
+
+ return preview;
+ }
+
+ function displaySearchResults(results, query) {
+ var searchResultsEl = document.getElementById("search-results"),
+ searchProcessEl = document.getElementById("search-process");
+
+ if (results.length) {
+ var resultsHTML = "";
+ results.forEach(function (result) {
+ var item = window.data[result.ref],
+ contentPreview = getPreview(query, item.content, 170),
+ titlePreview = getPreview(query, item.title);
+
+ resultsHTML += "" + contentPreview + "
";
+ });
+
+ searchResultsEl.innerHTML = resultsHTML;
+ searchProcessEl.innerText = "Showing";
+ } else {
+ searchResultsEl.style.display = "none";
+ searchProcessEl.innerText = "No";
+ }
+ }
+
+ window.index = lunr(function () {
+ this.field("id");
+ this.field("title", {boost: 10});
+ this.field("category");
+ this.field("url");
+ this.field("content");
+ });
+
+ var query = decodeURIComponent((getQueryVariable("q") || "").replace(/\+/g, "%20")),
+ searchQueryContainerEl = document.getElementById("search-query-container"),
+ searchQueryEl = document.getElementById("search-query"),
+ searchInputEl = document.getElementById("search-input");
+
+ searchInputEl.value = query;
+ searchQueryEl.innerText = query;
+ searchQueryContainerEl.style.display = "inline";
+
+ for (var key in window.data) {
+ window.index.add(window.data[key]);
+ }
+
+ displaySearchResults(window.index.search(query), query); // Hand the results off to be displayed
+})();
\ No newline at end of file
diff --git a/docs/search.html b/docs/search.html
new file mode 100644
index 0000000000..833d5597cc
--- /dev/null
+++ b/docs/search.html
@@ -0,0 +1,32 @@
+---
+title: Search
+sitemap: false
+---
+
+Loading results for ""
+
+
+
+
+
diff --git a/docs/siteicon.png b/docs/siteicon.png
new file mode 100644
index 0000000000..4c0372ff68
Binary files /dev/null and b/docs/siteicon.png differ
diff --git a/docs/touch-icon.png b/docs/touch-icon.png
new file mode 100644
index 0000000000..0f556e0d0c
Binary files /dev/null and b/docs/touch-icon.png differ