diff --git a/.gitignore b/.gitignore
index 219e5e3..007888d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@ dist
npm-debug.log
.env
.DS_Store
-.vscode
\ No newline at end of file
+.vscode
+public
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0f9eaf6..ed8921b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
# Changelog
All notable changes to this project will be documented in this file.
+## [0.4.0] - 2019-01-28
+### Added
+- Use static site generator for docs
+
## [0.3.1] - 2019-01-27
### Added
- Add option to style text selection colors
diff --git a/README.md b/README.md
index a0d44da..cb7dd01 100644
--- a/README.md
+++ b/README.md
@@ -1,33 +1,35 @@
# Terminal CSS
-Modern and minimalistic CSS framework for *terminal* lovers ❤️.
+Modern and minimal CSS framework for terminal lovers.
Visit the website [terminalcss.xyz](https://terminalcss.xyz/)
-## Goal
+## Project Goals
-There are so many CSS frameworks out there with great features but most of them come at the cost of *bloated* html code. **Terminal CSS** is here for purists who want minimal overhead and maximal control.
+Terminal CSS has no overhead and is lightweight **(<= 2.9k gzip)**.
+The source is written in **pure css** to be accessible for everybody and easy to contribute.
-## Credits
+## Markdown ❤️ Terminal CSS
-This project is heavily inspired by [@egoist's](https://egoist.sh/) work - [hack.css](https://hackcss.egoist.moe/)
+It's perfect for your *personal website*, *blog*, or *side project*.
-## Usage
+## How to use
-#### NPM
-
-Install with `npm i terminal.css`.
+When using something like Webpack just install with `npm i terminal.css`.
```js
import 'terminal.css'
```
-#### UNPKG CDN
+Terminal CSS is also available via [CDN](https://unpkg.com/terminal.css@0.4.0/dist/terminal.min.css)
-The css is available via [CDN](https://unpkg.com/terminal.css@0.3.2/dist/terminal.min.css)
```html
-
+
```
+## Themes
+
+To create your own theme just open the dev-tools and edit the CSS Variables. Copy and paste it to your website. Done!
+
## Development
- `npm install`
diff --git a/docs/dark/index.html b/docs/dark/index.html
deleted file mode 100644
index 1eb1672..0000000
--- a/docs/dark/index.html
+++ /dev/null
@@ -1,648 +0,0 @@
-
-
-
-
-
-
- Terminal CSS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Modern and minimalistic CSS framework for terminal lovers ❤️
-
-
- Goal
-
- There are so many CSS frameworks out there with great features but
- most of them come at the cost of bloated html code.
- Terminal CSS is here for purists who want minimal overhead and
- maximal control.
-
-
-
- Dark Version
- To create your own Terminal CSS theme just edit the `:root` CSS Variables
-
-
- Credits
-
- This project is heavily inspired by
- @egoist's
- work -
- hack.css
-
-
-
-
-
-
- Grid System
-
- Terminal CSS doens't come with a build in grid system. It encourages
- you to use your own - whether it's Flexbox or CSS Grid.
-
-
-
-
-
-
-
-
- Lists
-
-
- This is a list item
- So is this - there could be more
-
- Make sure to style list items to:
-
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
-
-
- A couple more
- top level list items
-
- Don't forget Ordered lists :
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
- Aliquam tincidunt mauris eu risus.
-
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
- Aliquam tincidunt mauris eu risus.
-
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
-
- Description lists are also included.
-
- Description list title 01
- Description list description 01
- Description list title 02
- Description list description 02
- Description list description 03
-
-
-
-
- Typography
- Level 1 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 2 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 3 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 4 Heading
- Level 5 Heading
- Level 5 Heading
-
-
-
- Tables
-
-
- Most Downloaded Movies on BitTorrent, 2011
-
-
-
- Rank
- Movie
- Downloads
- Grosses
-
-
-
-
- torrentfreak.com
-
-
-
-
- 1
- Fast Five
- 9,260,000
- $626,137,675
-
-
- 2
- The Hangover II
- 8,840,000
- $581,464,305
-
-
- 3
- Thor
- 8,330,000
- $449,326,618
-
-
- 4
- Source Code
- 7,910,000
- $123,278,618
-
-
- 5
- I Am Number Four
- 7,670,000
- $144,500,437
-
-
- 6
- Sucker Punch
- 7,200,000
- $89,792,502
-
-
- 7
- 127 Hours
- 6,910,000
- $60,738,797
-
-
- 8
- Rango
- 6,480,000
- $245,155,348
-
-
- 9
- The King’s Speech
- 6,250,000
- $414,211,549
-
-
- 10
- Harry Potter and the Deathly Hallows Part 2
- 6,030,000
- $1,328,111,219
-
-
-
-
-
- Special Elements
- Terminal CSS also supports a range of special elements.
-
- Blockquote
-
-
- This is a properly formatted blockquote, btw. Measuring
- programming progress by lines of code is like measuring aircraft
- building progress by weight.
-
-
-
-
- Code Blocks
-
-
- :root {
- --global-font-size: 14px;
- --global-line-height: 1.4rem;
- --global-space: 10px;
- --font-stack: 'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
- --background-color: #fff;
- --page-width: 70em;
- --primary-color: rgb(206, 4, 105);
- --font-color: #151513;
- --tertiary-color: #727680;
- --grid-gap: 1em;
- }
-
-
-
- Misc
-
- I am the a tag example
- I am the abbr tag example
- I am the acronym tag example
- I am the b tag example
- I am the big tag example
- I am the cite tag example
- I am the code tag
example
- I am the del tag example
- I am the dfn tag example
- I am the em tag example
- I am the i tag example
- I am the ins tag example
- I am the kbd tag example
- I am the q tag example
- I am the samp tag example
- I am the small tag example
- I am the span tag example
- I am the strong tag example
- I am the sub tag example
- I am the sup tag example
- I am the tt tag example
- I am the var tag example
- I am the small class example
- I am the large class example
- I am the quiet class example
-
-
-
- Address
-
-
- Mozilla Foundation
- 1981 Landings Drive
- Building K
- Mountain View, CA 94043-0801
- USA
-
-
-
-
-
-
- Progress Bar
- With only an arrow
-
-
- With a percentage showing above the arrow
-
-
- Without arrow
-
-
-
-
- Default
- Primary
- Error
- Ghost Button
- Ghost Button
- Ghost Button
- Block Level Button
- Button Group
-
- Left
- Middle
- Right
-
-
-
- Cards
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita, quas ex vero enim in doloribus officiis ullam vel nam esse sapiente velit incidunt. Eaque quod et, aut maiores excepturi sint.
-
-
-
- Alerts
- Default message
- Primary message
- Error message
-
-
-
-
-
- Image with caption
-
-
-
- Image with caption
-
-
-
- Version: 0.3.2 Top
-
-
-
-
-
-
-
-
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index b5482de..0000000
--- a/docs/index.html
+++ /dev/null
@@ -1,627 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Terminal CSS
-
-
-
-
-
-
-
-
-
-
-
-
- Modern and minimalistic CSS framework for terminal lovers ❤️
-
-
- Goal
-
- There are so many CSS frameworks out there with great features but
- most of them come at the cost of bloated html code.
- Terminal CSS is here for purists who want minimal overhead and
- maximal control.
-
-
-
- Credits
-
- This project is heavily inspired by
- @egoist's
- work -
- hack.css
-
-
-
-
-
-
- Grid System
-
- Terminal CSS doens't come with a build in grid system. It encourages
- you to use your own - whether it's Flexbox or CSS Grid.
-
-
-
-
-
-
-
-
- Lists
-
-
- This is a list item
- So is this - there could be more
-
- Make sure to style list items to:
-
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
-
-
- A couple more
- top level list items
-
- Don't forget Ordered lists :
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
- Aliquam tincidunt mauris eu risus.
-
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-
- Aliquam tincidunt mauris eu risus.
-
-
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
-
- Description lists are also included.
-
- Description list title 01
- Description list description 01
- Description list title 02
- Description list description 02
- Description list description 03
-
-
-
-
- Typography
- Level 1 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 2 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 3 Heading
-
- Pellentesque habitant morbi tristique senectus et netus et
- malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat
- vitae, ultricies eget, tempor sit amet, ante.
-
- Level 4 Heading
- Level 5 Heading
- Level 5 Heading
-
-
-
- Tables
-
-
- Most Downloaded Movies on BitTorrent, 2011
-
-
-
- Rank
- Movie
- Downloads
- Grosses
-
-
-
-
- torrentfreak.com
-
-
-
-
- 1
- Fast Five
- 9,260,000
- $626,137,675
-
-
- 2
- The Hangover II
- 8,840,000
- $581,464,305
-
-
- 3
- Thor
- 8,330,000
- $449,326,618
-
-
- 4
- Source Code
- 7,910,000
- $123,278,618
-
-
- 5
- I Am Number Four
- 7,670,000
- $144,500,437
-
-
- 6
- Sucker Punch
- 7,200,000
- $89,792,502
-
-
- 7
- 127 Hours
- 6,910,000
- $60,738,797
-
-
- 8
- Rango
- 6,480,000
- $245,155,348
-
-
- 9
- The King’s Speech
- 6,250,000
- $414,211,549
-
-
- 10
- Harry Potter and the Deathly Hallows Part 2
- 6,030,000
- $1,328,111,219
-
-
-
-
-
- Special Elements
- Terminal CSS also supports a range of special elements.
-
- Blockquote
-
-
- This is a properly formatted blockquote, btw. Measuring
- programming progress by lines of code is like measuring aircraft
- building progress by weight.
-
-
-
-
- Code Blocks
-
-
- :root {
- --global-font-size: 14px;
- --global-line-height: 1.4rem;
- --global-space: 10px;
- --font-stack: 'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
- --background-color: #fff;
- --page-width: 70em;
- --primary-color: rgb(206, 4, 105);
- --font-color: #151513;
- --tertiary-color: #727680;
- --grid-gap: 1em;
- }
-
-
-
- Misc
-
- I am the a tag example
- I am the abbr tag example
- I am the acronym tag example
- I am the b tag example
- I am the big tag example
- I am the cite tag example
- I am the code tag
example
- I am the del tag example
- I am the dfn tag example
- I am the em tag example
- I am the i tag example
- I am the ins tag example
- I am the kbd tag example
- I am the q tag example
- I am the samp tag example
- I am the small tag example
- I am the span tag example
- I am the strong tag example
- I am the sub tag example
- I am the sup tag example
- I am the tt tag example
- I am the var tag example
- I am the small class example
- I am the large class example
- I am the quiet class example
-
-
-
- Address
-
-
- Mozilla Foundation
- 1981 Landings Drive
- Building K
- Mountain View, CA 94043-0801
- USA
-
-
-
-
-
- Form legend
-
- Email input:
-
-
-
- Text input:
-
-
-
- Invalid input (min-length 10):
-
-
-
- Password input:
-
-
-
- Radio input:
-
-
-
- Checkbox input:
-
-
-
- Select field:
-
- Option 01
- Option 02
-
-
-
- Textarea:
- Textarea text
-
-
- Input Button:
- Submit
-
-
-
-
-
- Progress Bar
- With only an arrow
-
-
- With a percentage showing above the arrow
-
-
- Without arrow
-
-
-
-
- Default
- Primary
- Error
- Ghost Button
- Ghost Button
- Ghost Button
- Block Level Button
- Button Group
-
- Left
- Middle
- Right
-
-
-
- Cards
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita, quas ex vero enim in doloribus officiis ullam vel nam esse sapiente velit incidunt. Eaque quod et, aut maiores excepturi sint.
-
-
-
- Alerts
- Default message
- Primary message
- Error message
-
-
-
-
-
- Image with caption
-
-
-
- Image with caption
-
-
-
- Version: 0.3.2 Top
-
-
-
-
-
-
-
-
diff --git a/docs/terminal.min.css b/docs/terminal.min.css
deleted file mode 100644
index 951d68d..0000000
--- a/docs/terminal.min.css
+++ /dev/null
@@ -1 +0,0 @@
-:root{--global-font-size:14px;--global-line-height:1.4em;--global-space:10px;--font-stack:'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;--background-color:#fff;--page-width:60em;--font-color:#151515;--invert-font-color:#fff;--secondary-color:#6a737b;--tertiary-color:#6a737b;--primary-color:#511378;--error-color:#d20962;--progress-bar-background:#6a737b;--progress-bar-fill:#151515}*{-webkit-box-sizing:border-box;box-sizing:border-box;text-rendering:geometricPrecision}::-moz-selection{background:var(--primary-color);color:var(--invert-font-color)}::selection{background:var(--primary-color);color:var(--invert-font-color)}body{font-size:var(--global-font-size);color:var(--font-color);line-height:var(--global-line-height);margin:0;font-family:var(--font-stack);word-wrap:break-word;background-color:var(--background-color)}.logo,h1,h2,h3,h4,h5,h6{line-height:var(--global-line-height)}fieldset{border:none;padding:0;margin:0}pre{display:block;word-break:break-all;word-wrap:break-word;color:var(--secondary-color);background-color:var(--background-color);border:1px solid var(--secondary-color);padding:var(--global-space);white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}pre code{overflow-x:scroll;padding:0;margin:0;display:inline-block;min-width:100%}a{cursor:pointer;color:var(--primary-color);text-decoration:none;border-bottom:1px solid var(--primary-color)}a:hover{background-color:var(--primary-color);color:var(--invert-font-color)}.logo,blockquote,code,em,h1,h2,h3,h4,h5,h6,strong{font-size:var(--global-font-size);font-style:normal;font-family:var(--font-stack);color:var(--font-color)}blockquote,code,em,strong{line-height:var(--global-line-height)}.logo,blockquote,code,footer,h1,h2,h3,h4,h5,h6,header,li,ol,p,section,ul{float:none;margin:0;padding:0}.logo,blockquote,h1,ol,p,ul{margin-top:calc(var(--global-space) * 2);margin-bottom:calc(var(--global-space) * 2)}ul ul{margin-top:0;margin-bottom:0}ol ol{margin-top:0;margin-bottom:0}.logo,h1{position:relative;display:inline-block;display:table-cell;padding:calc(var(--global-space) * 2) 0 calc(var(--global-space) * 2);margin:0;overflow:hidden;font-weight:600}h1:after{content:"====================================================================================================";position:absolute;bottom:5px;left:0}.logo+*,h1+*{margin-top:0}h2,h3,h4,h5,h6{position:relative;margin-bottom:var(--global-line-height);font-weight:600}li{position:relative;display:block;padding-left:calc(var(--global-space) * 2)}li:after{position:absolute;top:0;left:0}ul>li:after{content:"-"}ol{counter-reset:item}ol li:before{content:counters(item, ".") ". ";counter-increment:item}ol ol li:before{content:counters(item, ".") " ";counter-increment:item}ol li:nth-child(n+10):after{left:-7px}blockquote{position:relative;padding-left:calc(var(--global-space) * 2);padding-left:2ch;overflow:hidden}blockquote:after{content:">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";white-space:pre;position:absolute;top:0;left:0;line-height:var(--global-line-height);color:#9ca2ab}pre code:after,pre code:before{content:""}code{font-weight:inherit}code:after,code:before{content:"`";display:inline}hr{position:relative;height:calc(var(--global-space) * 2);overflow:hidden;border:0;margin:calc(var(--global-space) * 2) 0}hr:after{content:"--------------------------------------------------------------------------------------------------------------------";position:absolute;top:0;left:0;line-height:calc(var(--global-space) * 2);width:100%;word-wrap:break-word}-ones ol>li:after{content:"1."}p{margin:0 0 var(--global-line-height);color:var(--global-font-color)}.container{max-width:var(--page-width)}.container,.container-fluid{margin:0 auto;padding:0 calc(var(--global-space) * 2)}img{width:100%}.progress-bar{height:8px;background-color:var(--progress-bar-background);margin:12px 0}.progress-bar.progress-bar-show-percent{margin-top:38px}.progress-bar-filled{background-color:var(--progress-bar-fill);height:100%;-webkit-transition:width .3s ease;-o-transition:width .3s ease;transition:width .3s ease;position:relative;width:0}.progress-bar-filled:before{content:"";border:6px solid transparent;border-top-color:var(--progress-bar-fill);position:absolute;top:-12px;right:-6px}.progress-bar-filled:after{color:var(--progress-bar-fill);content:attr(data-filled);display:block;font-size:12px;white-space:nowrap;position:absolute;border:6px solid transparent;top:-38px;right:0;-ms-transform:translateX(50%);-webkit-transform:translateX(50%);transform:translateX(50%)}.progress-bar-no-arrow>.progress-bar-filled:after,.progress-bar-no-arrow>.progress-bar-filled:before{content:"";display:none;visibility:hidden;opacity:0}table{width:100%;border-collapse:collapse;margin:var(--global-line-height) 0;color:var(--font-color);font-size:var(--global-font-size)}table tfoot tr th{font-weight:500}table caption{font-size:1em;margin:0 0 1em 0}table td,table th{vertical-align:top;border:1px solid var(--font-color);line-height:var(--global-line-height);padding:calc(var(--global-space)/ 2);font-size:1em}table thead th{font-size:1em}table tbody td:first-child{font-weight:700;color:var(var(--secondary-color))}.form{width:100%}fieldset{border:1px solid var(--font-color);padding:1em}label{font-size:1em;color:var(--font-color)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{border:1px dashed var(--font-color);width:100%;padding:.5em;font-size:1em;font-family:var(--font-stack)}input[type=email]:active,input[type=number]:active,input[type=number]:focus,input[type=password]:active,input[type=password]:focus,input[type=search]:active input[type=email]:focus,input[type=search]:focus,input[type=text]:active,input[type=text]:focus{outline:0;-webkit-appearance:none;border:1px solid var(--font-color)}input[type=email]:not(:placeholder-shown):invalid,input[type=number]:not(:placeholder-shown):invalid,input[type=password]:not(:placeholder-shown):invalid,input[type=search]:not(:placeholder-shown):invalid,input[type=text]:not(:placeholder-shown):invalid{border-color:var(--error-color)}.form-group{margin-bottom:var(--global-line-height);overflow:auto}textarea{height:auto;width:100%;resize:none;border:1px dashed var(--font-color);width:100%;padding:.5em;font-size:1em;font-family:var(--font-stack)}textarea:focus{outline:0;-webkit-appearance:none;border:1px solid var(--font-color)}textarea:not(:placeholder-shown):invalid{border-color:var(--error-color)}input,textarea{color:var(--font-color);background-color:var(--background-color);-webkit-appearance:none;border-radius:0}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--secondary-color)!important;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--secondary-color)!important;opacity:1}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--secondary-color)!important;opacity:1}input::placeholder,textarea::placeholder{color:var(--secondary-color)!important;opacity:1}.btn{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;outline:0;padding:.65em 2em;font-size:1em;font-family:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;z-index:1}.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn.btn-ghost{border-color:var(--font-color);color:var(--font-color);background-color:transparent}.btn.btn-ghost:focus,.btn.btn-ghost:hover{border-color:var(--tertiary-color);color:var(--tertiary-color);z-index:2}.btn.btn-ghost:hover{background-color:transparent}.btn-block{width:100%;display:-ms-flexbox;display:flex}.btn-default{background-color:var(--font-color);border-color:var(--invert-font-color);color:var(--invert-font-color)}.btn-default:focus:not(.btn-ghost),.btn-default:hover{background-color:var(--secondary-color);color:var(--invert-font-color)}.btn-default.btn-ghost:focus,.btn-default.btn-ghost:hover{border-color:var(--secondary-color);color:var(--secondary-color);z-index:2}.btn-error{color:var(--invert-font-color);background-color:var(--error-color);border:1px solid var(--error-color)}.btn-error:focus:not(.btn-ghost),.btn-error:hover{background-color:var(--error-color);border-color:var(--error-color)}.btn-error.btn-ghost{border-color:var(--error-color);color:var(--error-color)}.btn-error.btn-ghost:focus,.btn-error.btn-ghost:hover{border-color:var(--error-color);color:var(--error-color);z-index:2}.btn-primary{color:var(--invert-font-color);background-color:var(--primary-color);border:1px solid var(--primary-color)}.btn-primary:focus:not(.btn-ghost),.btn-primary:hover{background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary.btn-ghost{border-color:var(--primary-color);color:var(--primary-color)}.btn-primary.btn-ghost:focus,.btn-primary.btn-ghost:hover{border-color:var(--primary-color);color:var(--primary-color);z-index:2}.btn-group{overflow:auto}.btn-group .btn{float:left}.btn-group .btn-ghost:not(:first-child){margin-left:-1px}.card{border:1px solid var(--secondary-color)}.card>header{color:var(--font-color);text-align:center;background-color:var(--secondary-color);padding:.5em 0}.card>div:first-of-type{padding:var(--global-space)}.alert{color:var(--font-color);padding:1em;border:1px solid var(--font-color);margin-bottom:var(--global-space)}.alert-error{color:var(--error-color);border-color:var(--error-color)}.alert-primary{color:var(--primary-color);border-color:var(--primary-color)}.terminal-menu{width:100%}.terminal-header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.terminal-logo{-ms-flex-negative:1;flex-shrink:1;margin-right:20px;white-space:nowrap}.terminal-logo a{color:var(--font-color);text-decoration:none;font-weight:600;border:none}.terminal-logo a:active,.terminal-logo a:hover,.terminal-logo a:visited{background:0 0;border:none;color:var(--font-color)}.terminal-menu ul{list-style-type:none;padding:0!important;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;-ms-flex-positive:1;flex-grow:1;font-size:var(--global-font-size)}.terminal-menu li{display:-ms-flexbox;display:flex;margin:0 0 .5em 0;padding:0}.terminal-menu li:last-child{margin-bottom:0}.terminal-menu li::after,.terminal-menu li::before{display:none}.terminal-menu li a{text-decoration:none;display:block;width:100%;border:none}.terminal-menu li a.active{font-weight:600}@media screen and (max-width:960px){label{display:block;width:100%}pre::-webkit-scrollbar{height:3px}}@media screen and (max-width:480px){form{width:100%}}@media only screen and (min-width:30em){.terminal-header{-ms-flex-direction:row;flex-direction:row}.terminal-menu ul{-ms-flex-direction:row;flex-direction:row;justify-items:flex-end;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.terminal-menu li{margin:0;margin-right:2em}.terminal-menu li:last-child{margin-right:0}}.terminal-media:not(:last-child){margin-bottom:1.25rem}.terminal-media-left{padding-right:var(--global-space)}.terminal-media-left,.terminal-media-right{display:table-cell;vertical-align:top}.terminal-media-right{padding-left:var(--global-space)}.terminal-media-body{display:table-cell;vertical-align:top}.terminal-media-heading{font-size:1em;font-weight:700}.terminal-media-content{margin-top:.3rem}.terminal-placeholder{background-color:var(--secondary-color);text-align:center;color:var(--font-color);font-size:1rem;border:1px solid var(--secondary-color)}.terminal-avatarholder{width:calc(var(--global-space) * 5);height:calc(var(--global-space) * 5)}.terminal-avatarholder img{padding:0}figure{margin:0}figure>img{padding:0}figure>figcaption{color:var(--tertiary-color);text-align:center}.hljs{display:block;overflow-x:auto;padding:.5em;background:var(--block-background-color);color:var(--font-color)}.hljs-comment,.hljs-quote{color:var(--secondary-color)}.hljs-variable{color:var(--font-color)}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:var(--primary-color)}.hljs-addition,.hljs-attribute,.hljs-literal,.hljs-section,.hljs-string,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type{color:var(--secondary-color)}.hljs-string{color:var(--secondary-color)}.hljs-deletion,.hljs-meta,.hljs-selector-attr,.hljs-selector-pseudo{color:var(--primary-color)}.hljs-doctag{color:var(--secondary-color)}.hljs-attr{color:var(--primary-color)}.hljs-bullet,.hljs-link,.hljs-symbol{color:var(--primary-color)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
\ No newline at end of file
diff --git a/src/terminal.css b/lib/terminal.css
similarity index 95%
rename from src/terminal.css
rename to lib/terminal.css
index 33b0957..cf24ef8 100644
--- a/src/terminal.css
+++ b/lib/terminal.css
@@ -3,8 +3,9 @@
--global-line-height: 1.4em;
--global-space: 10px;
--font-stack: 'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
+ --mono-font-stack: 'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
--background-color: #fff;
- --page-width: 60em;
+ --page-width: 65em;
--font-color: #151515;
--invert-font-color: #fff;
--secondary-color: #6a737b;
@@ -13,12 +14,13 @@
--error-color: #d20962;
--progress-bar-background: #6a737b;
--progress-bar-fill: #151515;
+ --code-bg-color: #dce2e7;
}
* {
box-sizing: border-box;
text-rendering: geometricPrecision;
-}
+}
*::-moz-selection { background: var(--primary-color); color: var(--invert-font-color); }
*::selection { background: var(--primary-color); color: var(--invert-font-color); }
@@ -64,6 +66,7 @@ pre code {
margin: 0;
display: inline-block;
min-width: 100%;
+ font-family: var(--mono-font-stack);
}
a {
@@ -78,7 +81,14 @@ a:hover {
color: var(--invert-font-color);
}
-blockquote, code, em, h1, h2, h3, h4, h5, h6, strong, .logo {
+em {
+ font-size: var(--global-font-size);
+ font-style: italic;
+ font-family: var(--font-stack);
+ color: var(--font-color);
+}
+
+blockquote, code, h1, h2, h3, h4, h5, h6, strong, .logo {
font-size: var(--global-font-size);
font-style: normal;
font-family: var(--font-stack);
@@ -194,6 +204,8 @@ pre code:after, pre code:before {
code {
font-weight: inherit;
+ background-color: var(--code-bg-color);
+ font-family: var(--mono-font-stack);
}
code:after, code:before {
@@ -519,34 +531,34 @@ input::placeholder, textarea::placeholder {
margin-left: -1px;
}
-.card {
+.terminal-card {
border: 1px solid var(--secondary-color);
}
-.card > header {
+.terminal-card > header {
color: var(--font-color);
text-align: center;
background-color: var(--secondary-color);
padding: .5em 0;
}
-.card > div:first-of-type {
+.terminal-card > div:first-of-type {
padding: var(--global-space);
}
-.alert {
+.terminal-alert {
color: var(--font-color);
padding: 1em;
border: 1px solid var(--font-color);
margin-bottom: var(--global-space);
}
-.alert-error {
+.terminal-alert-error {
color: var(--error-color);
border-color: var(--error-color);
}
-.alert-primary {
+.terminal-alert-primary {
color: var(--primary-color);
border-color: var(--primary-color);
}
@@ -555,7 +567,7 @@ input::placeholder, textarea::placeholder {
width: 100%;
}
-.terminal-header {
+.terminal-nav {
display: flex;
flex-direction: column;
}
@@ -632,7 +644,7 @@ input::placeholder, textarea::placeholder {
}
@media only screen and (min-width: 30em) {
- .terminal-header {
+ .terminal-nav {
flex-direction: row;
}
.terminal-menu ul {
diff --git a/package-lock.json b/package-lock.json
index 2c8b15c..0af7096 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -93,6 +93,15 @@
"integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==",
"dev": true
},
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -111,12 +120,24 @@
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -302,6 +323,12 @@
"node-releases": "^1.1.3"
}
},
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -331,6 +358,17 @@
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true
},
+ "camelcase-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
+ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0",
+ "map-obj": "^2.0.0",
+ "quick-lru": "^1.0.0"
+ }
+ },
"caniuse-lite": {
"version": "1.0.30000932",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000932.tgz",
@@ -407,6 +445,21 @@
"integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
"dev": true
},
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
+ "dev": true
+ },
"clipboardy": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz",
@@ -434,6 +487,12 @@
}
}
},
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+ "dev": true
+ },
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
@@ -541,6 +600,18 @@
"vary": "^1"
}
},
+ "cp-file": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.0.0.tgz",
+ "integrity": "sha512-OtHMgPugkgwHlbph25wlMKd358lZNhX1Y2viUpPoFmlBPlEiPIRhztYWha11grbGPnlM+urp5saVmwsChCIOEg==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "nested-error-stacks": "^2.0.0",
+ "pify": "^3.0.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -552,6 +623,15 @@
"which": "^1.2.9"
}
},
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -561,6 +641,30 @@
"ms": "2.0.0"
}
},
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
@@ -573,6 +677,15 @@
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true
},
+ "defaults": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+ "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "dev": true,
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
@@ -638,6 +751,12 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
+ "ejs": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
+ "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
+ "dev": true
+ },
"electron-to-chromium": {
"version": "1.3.108",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.108.tgz",
@@ -650,6 +769,15 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -662,6 +790,12 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -895,6 +1029,15 @@
"unpipe": "~1.0.0"
}
},
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -922,6 +1065,32 @@
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
+ "front-matter": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-2.3.0.tgz",
+ "integrity": "sha1-cgOviWzjV+4E4qpFFp6pHtf2dQQ=",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.10.0"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
"fsevents": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
@@ -1463,6 +1632,20 @@
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -1487,8 +1670,7 @@
"graceful-fs": {
"version": "4.1.15",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
},
"has-flag": {
"version": "3.0.0",
@@ -1528,6 +1710,12 @@
}
}
},
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
"http-auth": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/http-auth/-/http-auth-3.1.3.tgz",
@@ -1566,6 +1754,22 @@
"integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
"dev": true
},
+ "indent-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
@@ -1598,6 +1802,12 @@
}
}
},
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
"is-binary-path": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
@@ -1613,6 +1823,15 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "^1.0.0"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -1699,6 +1918,12 @@
}
}
},
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ },
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
@@ -1744,12 +1969,37 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
+ "js-yaml": {
+ "version": "3.12.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz",
+ "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
@@ -1777,12 +2027,53 @@
"serve-index": "^1.9.1"
}
},
+ "load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -1793,12 +2084,26 @@
"yallist": "^2.1.2"
}
},
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
+ "map-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
+ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+ "dev": true
+ },
"map-stream": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
@@ -1814,6 +2119,29 @@
"object-visit": "^1.0.0"
}
},
+ "marked": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.2.tgz",
+ "integrity": "sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA==",
+ "dev": true
+ },
+ "meow": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
+ "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^4.0.0",
+ "decamelize-keys": "^1.0.0",
+ "loud-rejection": "^1.0.0",
+ "minimist-options": "^3.0.1",
+ "normalize-package-data": "^2.3.4",
+ "read-pkg-up": "^3.0.0",
+ "redent": "^2.0.0",
+ "trim-newlines": "^2.0.0",
+ "yargs-parser": "^10.0.0"
+ }
+ },
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
@@ -1856,6 +2184,12 @@
"mime-db": "~1.37.0"
}
},
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -1871,6 +2205,16 @@
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
+ "minimist-options": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
+ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0"
+ }
+ },
"mixin-deep": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
@@ -1935,6 +2279,25 @@
"dev": true,
"optional": true
},
+ "nanogen": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/nanogen/-/nanogen-0.4.2.tgz",
+ "integrity": "sha512-UCoso7CDgAJF1H6NbQsf6NXu//HvA95aapgfwy3BCLpSRUmmDXinP7a/Iv5nzNnOSinTO1kR/UqL+DMqH6GE8w==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "chokidar": "^2.0.4",
+ "ejs": "^2.6.1",
+ "front-matter": "^2.3.0",
+ "fs-extra": "^7.0.0",
+ "glob": "^7.1.3",
+ "live-server": "^1.2.0",
+ "lodash.debounce": "^4.0.8",
+ "marked": "^0.5.1",
+ "meow": "^5.0.0",
+ "ora": "^3.0.0"
+ }
+ },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -1960,6 +2323,11 @@
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
"dev": true
},
+ "nested-error-stacks": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz",
+ "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug=="
+ },
"node-releases": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.3.tgz",
@@ -1969,6 +2337,18 @@
"semver": "^5.3.0"
}
},
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -2069,6 +2449,24 @@
"integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=",
"dev": true
},
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
"opn": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
@@ -2078,12 +2476,60 @@
"is-wsl": "^1.1.0"
}
},
+ "ora": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz",
+ "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.3.1",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^1.1.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^4.0.0",
+ "wcwidth": "^1.0.1"
+ }
+ },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
"dev": true
},
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ }
+ },
"parseurl": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
@@ -2102,6 +2548,12 @@
"integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
"dev": true
},
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -2126,6 +2578,15 @@
"integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==",
"dev": true
},
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
+ "pify": "^3.0.0"
+ }
+ },
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
@@ -2135,6 +2596,11 @@
"through": "~2.3"
}
},
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -2215,6 +2681,12 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
+ "quick-lru": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
+ "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "dev": true
+ },
"range-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
@@ -2233,6 +2705,27 @@
"strip-json-comments": "~2.0.1"
}
},
+ "read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
+ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^3.0.0"
+ }
+ },
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
@@ -2259,6 +2752,16 @@
"readable-stream": "^2.0.2"
}
},
+ "redent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
+ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^3.0.0",
+ "strip-indent": "^2.0.0"
+ }
+ },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -2312,6 +2815,16 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -2321,8 +2834,7 @@
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-regex": {
"version": "1.1.0",
@@ -2621,6 +3133,38 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
+ "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
+ "dev": true
+ },
"split": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
@@ -2639,6 +3183,12 @@
"extend-shallow": "^3.0.0"
}
},
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@@ -2703,12 +3253,24 @@
"ansi-regex": "^3.0.0"
}
},
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
"dev": true
},
+ "strip-indent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
+ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+ "dev": true
+ },
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
@@ -2781,6 +3343,12 @@
"repeat-string": "^1.6.1"
}
},
+ "trim-newlines": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
+ "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "dev": true
+ },
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -2816,6 +3384,12 @@
}
}
},
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ },
"unix-crypt-td-js": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz",
@@ -2923,12 +3497,31 @@
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true
},
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
},
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+ "dev": true,
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
"websocket-driver": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
@@ -2963,11 +3556,26 @@
"string-width": "^2.1.1"
}
},
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^4.1.0"
+ }
}
}
}
diff --git a/package.json b/package.json
index 39ebbe1..4d26adb 100644
--- a/package.json
+++ b/package.json
@@ -1,15 +1,14 @@
{
"name": "terminal.css",
"version": "0.3.2",
- "description": "Modern and minimalistic CSS framework for terminal enthusiasts",
+ "description": "Modern and minimal CSS framework for terminal lovers.",
"main": "dist/terminal.min.css",
"directories": {
- "docs": "docs",
- "dist": "dist"
+ "doc": "docs"
},
"scripts": {
"start": "node ./scripts/start.js",
- "build": "node ./scripts/build.js",
+ "build": "node ./scripts/build.js && node ./scripts/copyFiles.js",
"test": "echo \"Error: no test specified\" && exit 1",
"prepublish": "npm run build"
},
@@ -36,7 +35,11 @@
"clean-css": "^4.2.1",
"live-server": "^1.2.1",
"mkdirp": "^0.5.1",
+ "nanogen": "^0.4.2",
"postcss": "^7.0.14",
"serve": "^10.1.1"
+ },
+ "dependencies": {
+ "cp-file": "^6.0.0"
}
}
diff --git a/scripts/build.js b/scripts/build.js
index 66029a4..f41bec2 100644
--- a/scripts/build.js
+++ b/scripts/build.js
@@ -1,8 +1,14 @@
const build = require('./utils/build-fn')
const path = require('path')
+const nanogen = require('nanogen')
+const staticSiteOptions = require('../site.config');
-build.run({
- sourceFile: path.resolve(__dirname, '../src/terminal.css'),
- distFolder: path.resolve(__dirname, '../dist'),
- docsFolder: path.resolve(__dirname, '../docs'),
-})
\ No newline at end of file
+const options = {
+ sourceFile: path.resolve(__dirname, '../lib/terminal.css'),
+ distFolder: path.resolve(__dirname, '../dist'),
+ docsFolder: path.resolve(__dirname, '../public'),
+ docsSrcFolder: path.resolve(__dirname, '../src')
+ }
+
+build.run(options);
+nanogen.build({ site: staticSiteOptions.site })
diff --git a/scripts/copyFiles.js b/scripts/copyFiles.js
new file mode 100644
index 0000000..1c83e0b
--- /dev/null
+++ b/scripts/copyFiles.js
@@ -0,0 +1,8 @@
+const cpFile = require('cp-file');
+const path = require('path');
+
+(async () => {
+ await cpFile(path.resolve(__dirname, '../src/browserconfig.xml'), './public/browserconfig.xml');
+ await cpFile(path.resolve(__dirname, '../src/manifest.json'), './public/manifest.json');
+ console.log('browserconfig and manifest copied');
+})();
\ No newline at end of file
diff --git a/scripts/start.js b/scripts/start.js
index 0c77215..f604ad0 100644
--- a/scripts/start.js
+++ b/scripts/start.js
@@ -2,6 +2,8 @@ const chokidar = require('chokidar');
const liveServer = require('live-server');
const build = require('./utils/build-fn');
const path = require('path');
+const nanogen = require('nanogen')
+const staticSiteOptions = require('../site.config');
function debounce(func, wait, immediate) {
var timeout;
@@ -25,12 +27,14 @@ const serve = (flags) => {
console.log(`Starting local server at http://localhost:${flags.port}`);
const options = {
- sourceFile: path.resolve(__dirname, '../src/terminal.css'),
+ sourceFile: path.resolve(__dirname, '../lib/terminal.css'),
distFolder: path.resolve(__dirname, '../dist'),
- docsFolder: path.resolve(__dirname, '../docs')
+ docsFolder: path.resolve(__dirname, '../public'),
+ docsSrcFolder: path.resolve(__dirname, '../src')
}
build.run(options);
+ nanogen.build({ site: staticSiteOptions.site })
liveServer.start({
port: flags.port,
root: options.docsFolder,
@@ -38,10 +42,11 @@ const serve = (flags) => {
logLevel: 0
});
- chokidar.watch(options.sourceFile, { ignoreInitial: true }).on(
+ chokidar.watch([options.sourceFile, options.docsSrcFolder], { ignoreInitial: true }).on(
'all',
debounce(() => {
build.run(options);
+ nanogen.build({ site: staticSiteOptions.site })
console.log('Waiting for changes...');
}, 500)
);
diff --git a/site.config.js b/site.config.js
new file mode 100755
index 0000000..2400779
--- /dev/null
+++ b/site.config.js
@@ -0,0 +1,14 @@
+const pkg = require('./package.json')
+
+module.exports = {
+ build: {
+ srcPath: './src',
+ outputPath: './public'
+ },
+ site: {
+ title: 'Terminal CSS',
+ libVersion: pkg.version,
+ description: pkg.description,
+ keywords: pkg.keywords
+ }
+};
diff --git a/docs/favicon/android-icon-144x144.png b/src/assets/favicon/android-icon-144x144.png
similarity index 100%
rename from docs/favicon/android-icon-144x144.png
rename to src/assets/favicon/android-icon-144x144.png
diff --git a/docs/favicon/android-icon-192x192.png b/src/assets/favicon/android-icon-192x192.png
similarity index 100%
rename from docs/favicon/android-icon-192x192.png
rename to src/assets/favicon/android-icon-192x192.png
diff --git a/docs/favicon/android-icon-36x36.png b/src/assets/favicon/android-icon-36x36.png
similarity index 100%
rename from docs/favicon/android-icon-36x36.png
rename to src/assets/favicon/android-icon-36x36.png
diff --git a/docs/favicon/android-icon-48x48.png b/src/assets/favicon/android-icon-48x48.png
similarity index 100%
rename from docs/favicon/android-icon-48x48.png
rename to src/assets/favicon/android-icon-48x48.png
diff --git a/docs/favicon/android-icon-72x72.png b/src/assets/favicon/android-icon-72x72.png
similarity index 100%
rename from docs/favicon/android-icon-72x72.png
rename to src/assets/favicon/android-icon-72x72.png
diff --git a/docs/favicon/android-icon-96x96.png b/src/assets/favicon/android-icon-96x96.png
similarity index 100%
rename from docs/favicon/android-icon-96x96.png
rename to src/assets/favicon/android-icon-96x96.png
diff --git a/docs/favicon/apple-icon-114x114.png b/src/assets/favicon/apple-icon-114x114.png
similarity index 100%
rename from docs/favicon/apple-icon-114x114.png
rename to src/assets/favicon/apple-icon-114x114.png
diff --git a/docs/favicon/apple-icon-120x120.png b/src/assets/favicon/apple-icon-120x120.png
similarity index 100%
rename from docs/favicon/apple-icon-120x120.png
rename to src/assets/favicon/apple-icon-120x120.png
diff --git a/docs/favicon/apple-icon-144x144.png b/src/assets/favicon/apple-icon-144x144.png
similarity index 100%
rename from docs/favicon/apple-icon-144x144.png
rename to src/assets/favicon/apple-icon-144x144.png
diff --git a/docs/favicon/apple-icon-152x152.png b/src/assets/favicon/apple-icon-152x152.png
similarity index 100%
rename from docs/favicon/apple-icon-152x152.png
rename to src/assets/favicon/apple-icon-152x152.png
diff --git a/docs/favicon/apple-icon-180x180.png b/src/assets/favicon/apple-icon-180x180.png
similarity index 100%
rename from docs/favicon/apple-icon-180x180.png
rename to src/assets/favicon/apple-icon-180x180.png
diff --git a/docs/favicon/apple-icon-57x57.png b/src/assets/favicon/apple-icon-57x57.png
similarity index 100%
rename from docs/favicon/apple-icon-57x57.png
rename to src/assets/favicon/apple-icon-57x57.png
diff --git a/docs/favicon/apple-icon-60x60.png b/src/assets/favicon/apple-icon-60x60.png
similarity index 100%
rename from docs/favicon/apple-icon-60x60.png
rename to src/assets/favicon/apple-icon-60x60.png
diff --git a/docs/favicon/apple-icon-72x72.png b/src/assets/favicon/apple-icon-72x72.png
similarity index 100%
rename from docs/favicon/apple-icon-72x72.png
rename to src/assets/favicon/apple-icon-72x72.png
diff --git a/docs/favicon/apple-icon-76x76.png b/src/assets/favicon/apple-icon-76x76.png
similarity index 100%
rename from docs/favicon/apple-icon-76x76.png
rename to src/assets/favicon/apple-icon-76x76.png
diff --git a/docs/favicon/apple-icon-precomposed.png b/src/assets/favicon/apple-icon-precomposed.png
similarity index 100%
rename from docs/favicon/apple-icon-precomposed.png
rename to src/assets/favicon/apple-icon-precomposed.png
diff --git a/docs/favicon/apple-icon.png b/src/assets/favicon/apple-icon.png
similarity index 100%
rename from docs/favicon/apple-icon.png
rename to src/assets/favicon/apple-icon.png
diff --git a/docs/favicon/favicon-16x16.png b/src/assets/favicon/favicon-16x16.png
similarity index 100%
rename from docs/favicon/favicon-16x16.png
rename to src/assets/favicon/favicon-16x16.png
diff --git a/docs/favicon/favicon-32x32.png b/src/assets/favicon/favicon-32x32.png
similarity index 100%
rename from docs/favicon/favicon-32x32.png
rename to src/assets/favicon/favicon-32x32.png
diff --git a/docs/favicon/favicon-96x96.png b/src/assets/favicon/favicon-96x96.png
similarity index 100%
rename from docs/favicon/favicon-96x96.png
rename to src/assets/favicon/favicon-96x96.png
diff --git a/docs/favicon/favicon.ico b/src/assets/favicon/favicon.ico
similarity index 100%
rename from docs/favicon/favicon.ico
rename to src/assets/favicon/favicon.ico
diff --git a/docs/favicon/ms-icon-144x144.png b/src/assets/favicon/ms-icon-144x144.png
similarity index 100%
rename from docs/favicon/ms-icon-144x144.png
rename to src/assets/favicon/ms-icon-144x144.png
diff --git a/docs/favicon/ms-icon-150x150.png b/src/assets/favicon/ms-icon-150x150.png
similarity index 100%
rename from docs/favicon/ms-icon-150x150.png
rename to src/assets/favicon/ms-icon-150x150.png
diff --git a/docs/favicon/ms-icon-310x310.png b/src/assets/favicon/ms-icon-310x310.png
similarity index 100%
rename from docs/favicon/ms-icon-310x310.png
rename to src/assets/favicon/ms-icon-310x310.png
diff --git a/docs/favicon/ms-icon-70x70.png b/src/assets/favicon/ms-icon-70x70.png
similarity index 100%
rename from docs/favicon/ms-icon-70x70.png
rename to src/assets/favicon/ms-icon-70x70.png
diff --git a/docs/fonts/eot/FiraCode-Bold.eot b/src/assets/fonts/eot/FiraCode-Bold.eot
similarity index 100%
rename from docs/fonts/eot/FiraCode-Bold.eot
rename to src/assets/fonts/eot/FiraCode-Bold.eot
diff --git a/docs/fonts/eot/FiraCode-Light.eot b/src/assets/fonts/eot/FiraCode-Light.eot
similarity index 100%
rename from docs/fonts/eot/FiraCode-Light.eot
rename to src/assets/fonts/eot/FiraCode-Light.eot
diff --git a/docs/fonts/eot/FiraCode-Medium.eot b/src/assets/fonts/eot/FiraCode-Medium.eot
similarity index 100%
rename from docs/fonts/eot/FiraCode-Medium.eot
rename to src/assets/fonts/eot/FiraCode-Medium.eot
diff --git a/docs/fonts/eot/FiraCode-Regular.eot b/src/assets/fonts/eot/FiraCode-Regular.eot
similarity index 100%
rename from docs/fonts/eot/FiraCode-Regular.eot
rename to src/assets/fonts/eot/FiraCode-Regular.eot
diff --git a/docs/fonts/otf/FiraCode-Bold.otf b/src/assets/fonts/otf/FiraCode-Bold.otf
similarity index 100%
rename from docs/fonts/otf/FiraCode-Bold.otf
rename to src/assets/fonts/otf/FiraCode-Bold.otf
diff --git a/docs/fonts/otf/FiraCode-Light.otf b/src/assets/fonts/otf/FiraCode-Light.otf
similarity index 100%
rename from docs/fonts/otf/FiraCode-Light.otf
rename to src/assets/fonts/otf/FiraCode-Light.otf
diff --git a/docs/fonts/otf/FiraCode-Medium.otf b/src/assets/fonts/otf/FiraCode-Medium.otf
similarity index 100%
rename from docs/fonts/otf/FiraCode-Medium.otf
rename to src/assets/fonts/otf/FiraCode-Medium.otf
diff --git a/docs/fonts/otf/FiraCode-Regular.otf b/src/assets/fonts/otf/FiraCode-Regular.otf
similarity index 100%
rename from docs/fonts/otf/FiraCode-Regular.otf
rename to src/assets/fonts/otf/FiraCode-Regular.otf
diff --git a/docs/fonts/otf/FiraCode-Retina.otf b/src/assets/fonts/otf/FiraCode-Retina.otf
similarity index 100%
rename from docs/fonts/otf/FiraCode-Retina.otf
rename to src/assets/fonts/otf/FiraCode-Retina.otf
diff --git a/docs/fonts/ttf/FiraCode-Bold.ttf b/src/assets/fonts/ttf/FiraCode-Bold.ttf
similarity index 100%
rename from docs/fonts/ttf/FiraCode-Bold.ttf
rename to src/assets/fonts/ttf/FiraCode-Bold.ttf
diff --git a/docs/fonts/ttf/FiraCode-Light.ttf b/src/assets/fonts/ttf/FiraCode-Light.ttf
similarity index 100%
rename from docs/fonts/ttf/FiraCode-Light.ttf
rename to src/assets/fonts/ttf/FiraCode-Light.ttf
diff --git a/docs/fonts/ttf/FiraCode-Medium.ttf b/src/assets/fonts/ttf/FiraCode-Medium.ttf
similarity index 100%
rename from docs/fonts/ttf/FiraCode-Medium.ttf
rename to src/assets/fonts/ttf/FiraCode-Medium.ttf
diff --git a/docs/fonts/ttf/FiraCode-Regular.ttf b/src/assets/fonts/ttf/FiraCode-Regular.ttf
similarity index 100%
rename from docs/fonts/ttf/FiraCode-Regular.ttf
rename to src/assets/fonts/ttf/FiraCode-Regular.ttf
diff --git a/docs/fonts/ttf/FiraCode-Retina.ttf b/src/assets/fonts/ttf/FiraCode-Retina.ttf
similarity index 100%
rename from docs/fonts/ttf/FiraCode-Retina.ttf
rename to src/assets/fonts/ttf/FiraCode-Retina.ttf
diff --git a/docs/fonts/woff/FiraCode-Bold.woff b/src/assets/fonts/woff/FiraCode-Bold.woff
similarity index 100%
rename from docs/fonts/woff/FiraCode-Bold.woff
rename to src/assets/fonts/woff/FiraCode-Bold.woff
diff --git a/docs/fonts/woff/FiraCode-Light.woff b/src/assets/fonts/woff/FiraCode-Light.woff
similarity index 100%
rename from docs/fonts/woff/FiraCode-Light.woff
rename to src/assets/fonts/woff/FiraCode-Light.woff
diff --git a/docs/fonts/woff/FiraCode-Medium.woff b/src/assets/fonts/woff/FiraCode-Medium.woff
similarity index 100%
rename from docs/fonts/woff/FiraCode-Medium.woff
rename to src/assets/fonts/woff/FiraCode-Medium.woff
diff --git a/docs/fonts/woff/FiraCode-Regular.woff b/src/assets/fonts/woff/FiraCode-Regular.woff
similarity index 100%
rename from docs/fonts/woff/FiraCode-Regular.woff
rename to src/assets/fonts/woff/FiraCode-Regular.woff
diff --git a/docs/fonts/woff2/FiraCode-Bold.woff2 b/src/assets/fonts/woff2/FiraCode-Bold.woff2
similarity index 100%
rename from docs/fonts/woff2/FiraCode-Bold.woff2
rename to src/assets/fonts/woff2/FiraCode-Bold.woff2
diff --git a/docs/fonts/woff2/FiraCode-Light.woff2 b/src/assets/fonts/woff2/FiraCode-Light.woff2
similarity index 100%
rename from docs/fonts/woff2/FiraCode-Light.woff2
rename to src/assets/fonts/woff2/FiraCode-Light.woff2
diff --git a/docs/fonts/woff2/FiraCode-Medium.woff2 b/src/assets/fonts/woff2/FiraCode-Medium.woff2
similarity index 100%
rename from docs/fonts/woff2/FiraCode-Medium.woff2
rename to src/assets/fonts/woff2/FiraCode-Medium.woff2
diff --git a/docs/fonts/woff2/FiraCode-Regular.woff2 b/src/assets/fonts/woff2/FiraCode-Regular.woff2
similarity index 100%
rename from docs/fonts/woff2/FiraCode-Regular.woff2
rename to src/assets/fonts/woff2/FiraCode-Regular.woff2
diff --git a/docs/browserconfig.xml b/src/browserconfig.xml
similarity index 100%
rename from docs/browserconfig.xml
rename to src/browserconfig.xml
diff --git a/src/dark.css b/src/dark.css
deleted file mode 100644
index 7ea78b1..0000000
--- a/src/dark.css
+++ /dev/null
@@ -1,16 +0,0 @@
-:root {
- --global-font-size: 14px;
- --global-line-height: 1.4em;
- --global-space: 10px;
- --font-stack: 'Fira Code',Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;
- --background-color: #14171a;
- --page-width: 70em;
- --font-color: #d9e0e2;
- --invert-font-color: #131719;
- --secondary-color: #657786;
- --tertiary-color: #14171a;
- --primary-color: #1da1f2;
- --error-color: rgb(224, 36, 94);
- --progress-bar-background: #e1e8ed;
- --progress-bar-fill: #aab8c2;
-}
\ No newline at end of file
diff --git a/src/layouts/dark.ejs b/src/layouts/dark.ejs
new file mode 100644
index 0000000..b257fce
--- /dev/null
+++ b/src/layouts/dark.ejs
@@ -0,0 +1,42 @@
+
+
+
+ <%- include('partials/head') %>
+
+
+
+ <%- include('partials/git-corner') %>
+ <%- include('partials/navigation', { "page": "dark" }) %>
+
+
+ <%- site.description %>
+
+
+ <%- body %>
+
+
+ <%- include('partials/aside') %>
+ <%- include('partials/components') %>
+
+
+ <%- include('partials/bottom-scripts') %>
+
+
diff --git a/src/layouts/default.ejs b/src/layouts/default.ejs
new file mode 100644
index 0000000..d519357
--- /dev/null
+++ b/src/layouts/default.ejs
@@ -0,0 +1,23 @@
+
+
+
+ <%- include('partials/head') %>
+
+
+ <%- include('partials/git-corner') %>
+ <%- include('partials/navigation', { "page": "main" }) %>
+
+
+ <%- site.description %>
+
+
+ <%- body %>
+
+
+ <%- include('partials/aside') %>
+ <%- include('partials/components') %>
+
+
+ <%- include('partials/bottom-scripts') %>
+
+
diff --git a/src/layouts/sans.ejs b/src/layouts/sans.ejs
new file mode 100644
index 0000000..a97f7ca
--- /dev/null
+++ b/src/layouts/sans.ejs
@@ -0,0 +1,30 @@
+
+
+
+ <%- include('partials/head') %>
+
+
+
+ <%- include('partials/git-corner') %>
+ <%- include('partials/navigation', { "page": "sans" }) %>
+
+
+ <%- site.description %>
+
+
+ <%- body %>
+
+
+ <%- include('partials/aside') %>
+ <%- include('partials/components') %>
+
+
+ <%- include('partials/bottom-scripts') %>
+
+
diff --git a/docs/manifest.json b/src/manifest.json
similarity index 100%
rename from docs/manifest.json
rename to src/manifest.json
diff --git a/src/pages/dark.md b/src/pages/dark.md
new file mode 100644
index 0000000..a66178d
--- /dev/null
+++ b/src/pages/dark.md
@@ -0,0 +1,31 @@
+---
+title: Terminal CSS - Dark
+layout: dark
+---
+
+## Project Goals
+
+Terminal CSS has no overhead and is lightweight **(<= 2.9k gzip)**.
+The source is written in **pure css** to be accessible for everybody and easy to contribute.
+
+## Markdown ❤️ Terminal CSS
+
+It's perfect for your *personal website*, *blog*, or *side project*.
+
+## How to use
+
+When using something like Webpack just install with `npm i terminal.css`.
+
+```js
+import 'terminal.css'
+```
+
+Terminal CSS is also available via [CDN](https://unpkg.com/terminal.css@0.4.0/dist/terminal.min.css)
+
+```html
+
+```
+
+## Themes
+
+To create your own theme just open the dev-tools and edit the CSS Variables. Copy and paste it to your website. Done!
\ No newline at end of file
diff --git a/src/pages/index.md b/src/pages/index.md
new file mode 100644
index 0000000..8e1e204
--- /dev/null
+++ b/src/pages/index.md
@@ -0,0 +1,31 @@
+---
+title: Terminal CSS
+layout: default
+---
+
+## Project Goals
+
+Terminal CSS has no overhead and is lightweight **(<= 2.9k gzip)**.
+The source is written in **pure css** to be accessible for everybody and easy to contribute.
+
+## Markdown ❤️ Terminal CSS
+
+It's perfect for your *personal website*, *blog*, or *side project*.
+
+## How to use
+
+When using something like Webpack just install with `npm i terminal.css`.
+
+```js
+import 'terminal.css'
+```
+
+Terminal CSS is also available via [CDN](https://unpkg.com/terminal.css@0.4.0/dist/terminal.min.css)
+
+```html
+
+```
+
+## Themes
+
+To create your own theme just open the dev-tools and edit the CSS Variables. Copy and paste it to your website. Done!
\ No newline at end of file
diff --git a/src/pages/sans-serif.md b/src/pages/sans-serif.md
new file mode 100644
index 0000000..528d935
--- /dev/null
+++ b/src/pages/sans-serif.md
@@ -0,0 +1,31 @@
+---
+title: Terminal CSS
+layout: sans
+---
+
+## Project Goals
+
+Terminal CSS has no overhead and is lightweight **(<= 2.9k gzip)**.
+The source is written in **pure css** to be accessible for everybody and easy to contribute.
+
+## Markdown ❤️ Terminal CSS
+
+It's perfect for your *personal website*, *blog*, or *side project*.
+
+## How to use
+
+When using something like Webpack just install with `npm i terminal.css`.
+
+```js
+import 'terminal.css'
+```
+
+Terminal CSS is also available via [CDN](https://unpkg.com/terminal.css@0.4.0/dist/terminal.min.css)
+
+```html
+
+```
+
+## Themes
+
+To create your own theme just open the dev-tools and edit the CSS Variables. Copy and paste it to your website. Done!
\ No newline at end of file
diff --git a/src/partials/aside.ejs b/src/partials/aside.ejs
new file mode 100644
index 0000000..9e95584
--- /dev/null
+++ b/src/partials/aside.ejs
@@ -0,0 +1,26 @@
+
diff --git a/src/partials/bottom-scripts.ejs b/src/partials/bottom-scripts.ejs
new file mode 100644
index 0000000..534fadb
--- /dev/null
+++ b/src/partials/bottom-scripts.ejs
@@ -0,0 +1,8 @@
+
+
diff --git a/src/partials/components.ejs b/src/partials/components.ejs
new file mode 100644
index 0000000..f150047
--- /dev/null
+++ b/src/partials/components.ejs
@@ -0,0 +1,31 @@
+
+ <%- include('components/grid') %>
+
+ <%- include('components/nav') %>
+
+ <%- include('components/lists') %>
+
+ <%- include('components/typography') %>
+
+ <%- include('components/tables') %>
+
+ <%- include('components/special-elements') %>
+
+ <%- include('components/forms') %>
+
+ <%- include('components/progress') %>
+
+ <%- include('components/buttons') %>
+
+ <%- include('components/card') %>
+
+ <%- include('components/alerts') %>
+
+ <%- include('components/figure') %>
+
+ <%- include('components/highlight-js.ejs') %>
+
+ <%- include('footer') %>
+
+ <%- include('version') %>
+
\ No newline at end of file
diff --git a/src/partials/components/alerts.ejs b/src/partials/components/alerts.ejs
new file mode 100644
index 0000000..8d301df
--- /dev/null
+++ b/src/partials/components/alerts.ejs
@@ -0,0 +1,6 @@
+
+
+ Default message
+ Primary message
+ Error message
+
\ No newline at end of file
diff --git a/src/partials/components/buttons.ejs b/src/partials/components/buttons.ejs
new file mode 100644
index 0000000..ccd1cc5
--- /dev/null
+++ b/src/partials/components/buttons.ejs
@@ -0,0 +1,18 @@
+
+
+ Default
+ Primary
+ Error
+ Ghost Button
+ Ghost Button
+ Ghost Button
+ Block Level Button
+ Button Group
+
+ Left
+ Middle
+ Right
+
+
+
diff --git a/src/partials/components/card.ejs b/src/partials/components/card.ejs
new file mode 100644
index 0000000..860be34
--- /dev/null
+++ b/src/partials/components/card.ejs
@@ -0,0 +1,12 @@
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Expedita, quas
+ ex vero enim in doloribus officiis ullam vel nam esse sapiente velit
+ incidunt. Eaque quod et, aut maiores excepturi sint.
+
+
+
+
diff --git a/src/partials/components/figure.ejs b/src/partials/components/figure.ejs
new file mode 100644
index 0000000..2c694ab
--- /dev/null
+++ b/src/partials/components/figure.ejs
@@ -0,0 +1,11 @@
+
+
+
+
+ Image with caption
+
+
diff --git a/src/partials/components/forms.ejs b/src/partials/components/forms.ejs
new file mode 100644
index 0000000..9645b12
--- /dev/null
+++ b/src/partials/components/forms.ejs
@@ -0,0 +1,47 @@
+
\ No newline at end of file
diff --git a/src/partials/components/grid.ejs b/src/partials/components/grid.ejs
new file mode 100644
index 0000000..31e0c42
--- /dev/null
+++ b/src/partials/components/grid.ejs
@@ -0,0 +1,59 @@
+
+
+ Grid System
+
+ Terminal CSS has no build in grid system, however, you can roll your own with Flexbox or CSS Grid.
+
+
+
+
\ No newline at end of file
diff --git a/src/partials/components/highlight-js.ejs b/src/partials/components/highlight-js.ejs
new file mode 100644
index 0000000..a570fdc
--- /dev/null
+++ b/src/partials/components/highlight-js.ejs
@@ -0,0 +1,80 @@
+
+
+
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ padding: 0.5em;
+ background: var(--block-background-color);
+ color: var(--font-color);
+}
+
+.hljs-comment,
+.hljs-quote {
+ color: var(--secondary-color);
+}
+
+.hljs-variable {
+ color: var(--font-color);
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-built_in,
+.hljs-name,
+.hljs-tag {
+ color: var(--primary-color);
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-section,
+.hljs-attribute,
+.hljs-literal,
+.hljs-template-tag,
+.hljs-template-variable,
+.hljs-type,
+.hljs-addition {
+ color: var(--secondary-color);
+}
+
+.hljs-string {
+ color: var(--secondary-color);
+}
+
+.hljs-deletion,
+.hljs-selector-attr,
+.hljs-selector-pseudo,
+.hljs-meta {
+ color: var(--primary-color);
+}
+
+.hljs-doctag {
+ color: var(--secondary-color);
+}
+
+.hljs-attr {
+ color: var(--primary-color);
+}
+
+.hljs-symbol,
+.hljs-bullet,
+.hljs-link {
+ color: var(--primary-color);
+}
+
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+
+
\ No newline at end of file
diff --git a/src/partials/components/lists.ejs b/src/partials/components/lists.ejs
new file mode 100644
index 0000000..cf8fa4e
--- /dev/null
+++ b/src/partials/components/lists.ejs
@@ -0,0 +1,39 @@
+
+
+
+ Thisisalistitem
+ Soisthis-therecouldbemore
+
+ Makesuretostylelistitemsto:
+
+ Notforgettingchildlistitems
+ Notforgettingchildlistitems
+ Notforgettingchildlistitems
+ Notforgettingchildlistitems
+
+
+ Acouplemore
+ toplevellistitems
+
+ Don'tforgetOrderedlists :
+
+ Loremipsumdolorsitamet,consectetueradipiscingelit.
+
+ Aliquamtinciduntmauriseurisus.
+
+ Loremipsumdolorsitamet,consectetueradipiscingelit.
+ Aliquamtinciduntmauriseurisus.
+
+
+ Loremipsumdolorsitamet,consectetueradipiscingelit.
+ Aliquamtinciduntmauriseurisus.
+
+ Descriptionlists arealsoincluded.
+
+ Descriptionlisttitle01
+ Descriptionlistdescription01
+ Descriptionlisttitle02
+ Descriptionlistdescription02
+ Descriptionlistdescription03
+
+
diff --git a/src/partials/components/nav.ejs b/src/partials/components/nav.ejs
new file mode 100644
index 0000000..d91e2b9
--- /dev/null
+++ b/src/partials/components/nav.ejs
@@ -0,0 +1,15 @@
+
diff --git a/src/partials/components/progress.ejs b/src/partials/components/progress.ejs
new file mode 100644
index 0000000..2bc0c40
--- /dev/null
+++ b/src/partials/components/progress.ejs
@@ -0,0 +1,25 @@
+
+
+
+ With only an arrow
+
+ With a percentage showing above the arrow
+
+ Without arrow
+
+
+
diff --git a/src/partials/components/special-elements.ejs b/src/partials/components/special-elements.ejs
new file mode 100644
index 0000000..e941a02
--- /dev/null
+++ b/src/partials/components/special-elements.ejs
@@ -0,0 +1,48 @@
+
+
+ Terminal CSS also supports a range of special elements.
+
+ Blockquote
+
+
+ This is a properly formatted blockquote, btw. Measuring
+ programming progress by lines of code is like measuring aircraft building
+ progress by weight.
+
+
+
+ Misc
+
+ I am the a tag example
+ I am the abbr tag example
+ I am the b tag example
+ I am the cite tag example
+ I am the code tag
example
+ I am the del tag example
+ I am the dfn tag example
+ I am the em tag example
+ I am the i tag example
+ I am the ins tag example
+ I am the kbd tag example
+ I am the q tag example
+ I am the samp tag example
+ I am the small tag example
+ I am the span tag example
+ I am the strong tag example
+ I am the sub tag example
+ I am the sup tag example
+ I am the var tag example
+
+
+ Address
+
+ Mozilla Foundation
+ 1981 Landings Drive
+ Building K
+ Mountain View, CA 94043-0801
+ USA
+
+
+
diff --git a/src/partials/components/tables.ejs b/src/partials/components/tables.ejs
new file mode 100644
index 0000000..d17a2e9
--- /dev/null
+++ b/src/partials/components/tables.ejs
@@ -0,0 +1,85 @@
+
+
+
+
+ Most Downloaded Movies on BitTorrent, 2011
+
+
+
+ Rank
+ Movie
+ Downloads
+ Grosses
+
+
+
+
+ torrentfreak.com
+
+
+
+
+ 1
+ Fast Five
+ 9,260,000
+ $626,137,675
+
+
+ 2
+ The Hangover II
+ 8,840,000
+ $581,464,305
+
+
+ 3
+ Thor
+ 8,330,000
+ $449,326,618
+
+
+ 4
+ Source Code
+ 7,910,000
+ $123,278,618
+
+
+ 5
+ I Am Number Four
+ 7,670,000
+ $144,500,437
+
+
+ 6
+ Sucker Punch
+ 7,200,000
+ $89,792,502
+
+
+ 7
+ 127 Hours
+ 6,910,000
+ $60,738,797
+
+
+ 8
+ Rango
+ 6,480,000
+ $245,155,348
+
+
+ 9
+ The King’s Speech
+ 6,250,000
+ $414,211,549
+
+
+ 10
+ Harry Potter and the Deathly Hallows Part 2
+ 6,030,000
+ $1,328,111,219
+
+
+
+
\ No newline at end of file
diff --git a/src/partials/components/typography.ejs b/src/partials/components/typography.ejs
new file mode 100644
index 0000000..c4a1ff7
--- /dev/null
+++ b/src/partials/components/typography.ejs
@@ -0,0 +1,26 @@
+
+
+ Typography
+ Level 1 Heading
+
+ Pellentesque habitant morbi tristique senectus et netus et malesuada fames
+ ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget,
+ tempor sit amet, ante.
+
+ Level 2 Heading
+
+ Pellentesque habitant morbi tristique senectus et netus et malesuada fames
+ ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget,
+ tempor sit amet, ante.
+
+ Level 3 Heading
+
+ Pellentesque habitant morbi tristique senectus et netus et malesuada fames
+ ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget,
+ tempor sit amet, ante.
+
+ Level 4 Heading
+ Level 5 Heading
+ Level 5 Heading
+
+
diff --git a/src/partials/footer.ejs b/src/partials/footer.ejs
new file mode 100644
index 0000000..d01d5c9
--- /dev/null
+++ b/src/partials/footer.ejs
@@ -0,0 +1,10 @@
+
diff --git a/src/partials/git-corner.ejs b/src/partials/git-corner.ejs
new file mode 100644
index 0000000..8a61334
--- /dev/null
+++ b/src/partials/git-corner.ejs
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
diff --git a/src/partials/head.ejs b/src/partials/head.ejs
new file mode 100644
index 0000000..cfbcd35
--- /dev/null
+++ b/src/partials/head.ejs
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+ <%- site.title %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/partials/navigation.ejs b/src/partials/navigation.ejs
new file mode 100644
index 0000000..60ac8bf
--- /dev/null
+++ b/src/partials/navigation.ejs
@@ -0,0 +1,24 @@
+
diff --git a/src/partials/version.ejs b/src/partials/version.ejs
new file mode 100644
index 0000000..435c53d
--- /dev/null
+++ b/src/partials/version.ejs
@@ -0,0 +1,4 @@
+
+
+ Version: <%- site.libVersion %> Top
+
\ No newline at end of file