Compare commits

...

1 commit

Author SHA1 Message Date
150ce4b733 initial commit for learn2 with Disroot colors 2024-09-01 08:33:33 +02:00
1343 changed files with 11137 additions and 259 deletions

13
.editorconfig Normal file
View file

@ -0,0 +1,13 @@
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.sass-cache
.DS_Store

View file

@ -1,5 +1,121 @@
# v0.1.0 # v1.8.2
## 05/12/2019 ## 02/25/2021
1. [](#bugfix)
* Fixed bad tab causing invalid blueprint [#91](https://github.com/getgrav/grav-theme-learn2/pull/91)
# v1.8.1
## 01/15/2021
1. [](#improved)
* Fixed autoescaping in preparation for Grav 1.7
# v1.8.0
## 03/21/2019
1. [](#new)
* Set Dependency of Grav 1.5.10+ which has support for new **Deferred Block** Twig extension
* Implement assets rendering using **Deferred Block** Twig extension
# v1.7.0
## 08/23/2017
1. [](#improved)
* Added default page template.
* Added blueprints for docs and chapter pages
# v1.6.3
## 01/31/2017
1. [](#bugfix)
* Fixed changelog date
# v1.6.2
## 01/31/2017
1. [](#bugfix)
* Fixed a PHP 7.1 issue
# v1.6.1
## 01/24/2017
1. [](#new)
* Updated to FontAwesome 4.7.0 with [Grav icon](http://fontawesome.io/icon/grav/)
# v1.6.0
## 07/14/2016
1. [](#new)
* Added the spanish language
1. [](#improved)
* Remove unneeded streams from Theme YAML
* Set the page language from Grav's Language configuration. Default to english.
1. [](#bugfix)
* Fix an issue on iOS 9+ Safari scaling
# v1.5.0
## 01/06/2016
1. [](#new)
* Added keyboard prev/next navigation
1. [](#improved)
* Various language updates
1. [](#bugfix)
* Fixed a typo in CSS
# v1.4.2
## 12/18/2015
1. [](#bugfix)
* Fixed clipboard for Safari
# v1.4.1
## 12/11/2015
1. [](#new)
* Support new sidebar scrollbar
* New subtle `subtitle` styling
# v1.4.0
## 10/07/2015
1. [](#new)
* Added 1-click copy-to-clipboard feature for `code` and `pre` tags
* Added German translations
* Configurable root page
1. [](#improved)
* Wrapped topbar to remove it from error pages
1. [](#bugfix)
* Fix for bad YAML
* Fix for bad HTML in github note
# v1.3.0
## 09/11/2015
1. [](#new)
* Added configurable Google analytics code
# v1.2.0
## 08/25/2015
1. [](#improved)
* Added blueprints for Grav Admin plugin
# v1.1.0
## 07/19/2015
1. [](#new)
* Added search highlight support
* Added a footer
# v1.0.1
## 06/2/2015
1. [](#new)
* Added support for 2+ page levels
# v1.0.0
## 06/17/2015
1. [](#new) 1. [](#new)
* ChangeLog started... * ChangeLog started...

View file

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2019 Disroot Copyright (c) 2014 Grav
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View file

@ -1,7 +1,79 @@
# Howto Theme # Learn2
The **Howto** Theme is for [Grav CMS](http://github.com/getgrav/grav). This README.md file should be modified to describe the features, installation, configuration, and general usage of this theme. ![Learn2](screenshot.jpg)
## Description Learn2 is the default [Grav Learn](http://learn.getgrav.org) theme. Simple, fast and modern.
A theme design for tutorials and guides, designed for Disroot.org's howto collection. # Installation
Installing the Learn2 theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file.
The theme is designed to be used to provide a documentation site. You can see this in action at [](http://learn.getgrav.org)
## GPM Installation (Preferred)
The simplest way to install this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type:
bin/gpm install learn2
This will install the Learn2 theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/learn2`.
## Manual Installation
To install this theme, just download the zip version of this repository and unzip it under `/your/site/grav/user/themes`. Then, rename the folder to `learn2`. You can find these files either on [GitHub](https://github.com/getgrav/grav-theme-learn2) or via [GetGrav.org](http://getgrav.org/downloads/themes).
You should now have all the theme files under
/your/site/grav/user/themes/learn2
>> NOTE: This theme is a modular component for Grav which requires the [Grav](http://github.com/getgrav/grav), [Error](https://github.com/getgrav/grav-theme-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins.
# Updating
As development for the Learn2 theme continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Learn2 is easy, and can be done through Grav's GPM system, as well as manually.
## GPM Update (Preferred)
The simplest way to update this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following:
bin/gpm update learn2
This command will check your Grav install to see if your Learn2 theme is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The theme will automatically update and clear Grav's cache.
## Manual Update
Manually updating Learn2 is pretty simple. Here is what you will need to do to get this done:
* Delete the `your/site/user/themes/learn2` directory.
* Download the new version of the Learn2 theme from either [GitHub](https://github.com/getgrav/grav-theme-learn2) or [GetGrav.org](http://getgrav.org/downloads/themes#extras).
* Unzip the zip file in `your/site/user/themes` and rename the resulting folder to `learn2`.
* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`.
> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/themes`) will remain intact.
## Features
* Lightweight and minimal for optimal performance
* Fully responsive with off-page mobile navigation
* SCSS based CSS source files for easy customization
* Built specifically for providing easy to read documentation
* Fontawesome icon support
### Supported Page Templates
* "Docs" template
* "Chapter" template
* Error view template
## Setup
If you want to set Learn2 as the default theme, you can do so by following these steps:
* Navigate to `/your/site/grav/user/config`.
* Open the **system.yaml** file.
* Change the `theme:` setting to `theme: learn2`.
* Save your changes.
* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in Terminal and typing `bin/grav clear-cache`.
Once this is done, you should be able to see the new theme on the frontend. Keep in mind any customizations made to the previous theme will not be reflected as all of the theme and templating information is now being pulled from the **learn2** folder.

View file

@ -1,27 +1,66 @@
name: Howto name: Learn2
version: 0.1.0 slug: learn2
description: A theme design for tutorials and guides, designed for Disroot.org's howto collection. type: theme
icon: rebel version: 1.8.2
description: "Learn2 is a new modern documentation theme for Grav"
icon: book
author: author:
name: Disroot name: Team Grav
email: support@disroot.org email: devs@getgrav.org
homepage: https://github.com/disroot/grav-theme-howto url: http://getgrav.org
demo: http://demo.yoursite.com homepage: https://github.com/getgrav/grav-theme-learn2
keywords: grav, theme, etc demo: http://learn.getgrav.org
bugs: https://github.com/disroot/grav-theme-howto/issues keywords: heme, docs, modern, fast, responsive, html5, css3
readme: https://github.com/disroot/grav-theme-howto/blob/develop/README.md bugs: https://github.com/getgrav/grav-theme-learn2/issues
license: MIT license: MIT
dependencies:
- { name: grav, version: '>=1.5.10' }
form: form:
validation: loose validation: loose
fields: fields:
dropdown.enabled: top_level_version:
type: toggle type: toggle
label: Dropdown in Menu label: Top Level Version
highlight: 1 highlight: 1
default: 1 default: 0
options: options:
1: PLUGIN_ADMIN.ENABLED 1: Enabled
0: PLUGIN_ADMIN.DISABLED 0: Disabled
validate: validate:
type: bool type: bool
home_url:
type: text
label: Home URL
placeholder: http://getgrav.org
validate:
type: text
google_analytics_code:
type: text
label: Google Analytics Code
placeholder: UA-XXXXXXXX-X
validate:
type: text
github.position:
type: select
size: medium
classes: fancy
label: GitHub Position
options:
top: Top
bottom: Bottom
off: Off
github.tree:
type: text
label: GitHub Tree
default: https://github.com/getgrav/grav-skeleton-rtfm-site/blob/develop/
github.commits:
type: text
label: GitHub Commits
default: https://github.com/getgrav/grav-skeleton-rtfm-site/commits/develop/

4
blueprints/chapter.yaml Normal file
View file

@ -0,0 +1,4 @@
title: Chapter
'@extends':
type: default
context: blueprints://pages

4
blueprints/docs.yaml Normal file
View file

@ -0,0 +1,4 @@
title: Docs
'@extends':
type: default
context: blueprints://pages

617
css-compiled/nucleus.css Normal file
View file

@ -0,0 +1,617 @@
*, *::before, *::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
@-webkit-viewport {
width: device-width; }
@-moz-viewport {
width: device-width; }
@-ms-viewport {
width: device-width; }
@-o-viewport {
width: device-width; }
@viewport {
width: device-width; }
html {
font-size: 100%;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%; }
body {
margin: 0; }
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block; }
audio,
canvas,
progress,
video {
display: inline-block;
vertical-align: baseline; }
audio:not([controls]) {
display: none;
height: 0; }
[hidden],
template {
display: none; }
a {
background: transparent;
text-decoration: none; }
a:active,
a:hover {
outline: 0; }
abbr[title] {
border-bottom: 1px dotted; }
b,
strong {
font-weight: bold; }
dfn {
font-style: italic; }
mark {
background: #FFFF27;
color: #333; }
sub,
sup {
font-size: 0.8rem;
line-height: 0;
position: relative;
vertical-align: baseline; }
sup {
top: -0.5em; }
sub {
bottom: -0.25em; }
img {
border: 0;
max-width: 100%; }
svg:not(:root) {
overflow: hidden; }
figure {
margin: 1em 40px; }
hr {
height: 0; }
pre {
overflow: auto; }
button,
input,
optgroup,
select,
textarea {
color: inherit;
font: inherit;
margin: 0; }
button {
overflow: visible; }
button,
select {
text-transform: none; }
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button;
cursor: pointer; }
button[disabled],
html input[disabled] {
cursor: default; }
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0; }
input {
line-height: normal; }
input[type="checkbox"],
input[type="radio"] {
padding: 0; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto; }
input[type="search"] {
-webkit-appearance: textfield; }
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none; }
legend {
border: 0;
padding: 0; }
textarea {
overflow: auto; }
optgroup {
font-weight: bold; }
table {
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
width: 100%; }
tr, td, th {
vertical-align: middle; }
th, td {
padding: 0.425rem 0; }
th {
text-align: left; }
.container {
width: 75em;
margin: 0 auto;
padding: 0; }
@media only all and (min-width: 60em) and (max-width: 74.938em) {
.container {
width: 60em; } }
@media only all and (min-width: 48em) and (max-width: 59.938em) {
.container {
width: 48em; } }
@media only all and (min-width: 30.063em) and (max-width: 47.938em) {
.container {
width: 30em; } }
@media only all and (max-width: 30em) {
.container {
width: 100%; } }
.grid {
display: -webkit-box;
display: -moz-box;
display: box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row;
-moz-flex-flow: row;
flex-flow: row;
list-style: none;
margin: 0;
padding: 0; }
@media only all and (max-width: 47.938em) {
.grid {
-webkit-flex-flow: row wrap;
-moz-flex-flow: row wrap;
flex-flow: row wrap; } }
.block {
-webkit-box-flex: 1;
-moz-box-flex: 1;
box-flex: 1;
-webkit-flex: 1;
-moz-flex: 1;
-ms-flex: 1;
flex: 1;
min-width: 0;
min-height: 0; }
@media only all and (max-width: 47.938em) {
.block {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 100%;
-moz-flex: 0 100%;
-ms-flex: 0 100%;
flex: 0 100%; } }
.content {
margin: 0.625rem;
padding: 0.938rem; }
@media only all and (max-width: 47.938em) {
body [class*="size-"] {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 100%;
-moz-flex: 0 100%;
-ms-flex: 0 100%;
flex: 0 100%; } }
.size-1-2 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 50%;
-moz-flex: 0 50%;
-ms-flex: 0 50%;
flex: 0 50%; }
.size-1-3 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 33.33333%;
-moz-flex: 0 33.33333%;
-ms-flex: 0 33.33333%;
flex: 0 33.33333%; }
.size-1-4 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 25%;
-moz-flex: 0 25%;
-ms-flex: 0 25%;
flex: 0 25%; }
.size-1-5 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 20%;
-moz-flex: 0 20%;
-ms-flex: 0 20%;
flex: 0 20%; }
.size-1-6 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 16.66667%;
-moz-flex: 0 16.66667%;
-ms-flex: 0 16.66667%;
flex: 0 16.66667%; }
.size-1-7 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 14.28571%;
-moz-flex: 0 14.28571%;
-ms-flex: 0 14.28571%;
flex: 0 14.28571%; }
.size-1-8 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 12.5%;
-moz-flex: 0 12.5%;
-ms-flex: 0 12.5%;
flex: 0 12.5%; }
.size-1-9 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 11.11111%;
-moz-flex: 0 11.11111%;
-ms-flex: 0 11.11111%;
flex: 0 11.11111%; }
.size-1-10 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 10%;
-moz-flex: 0 10%;
-ms-flex: 0 10%;
flex: 0 10%; }
.size-1-11 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 9.09091%;
-moz-flex: 0 9.09091%;
-ms-flex: 0 9.09091%;
flex: 0 9.09091%; }
.size-1-12 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 8.33333%;
-moz-flex: 0 8.33333%;
-ms-flex: 0 8.33333%;
flex: 0 8.33333%; }
@media only all and (min-width: 48em) and (max-width: 59.938em) {
.size-tablet-1-2 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 50%;
-moz-flex: 0 50%;
-ms-flex: 0 50%;
flex: 0 50%; }
.size-tablet-1-3 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 33.33333%;
-moz-flex: 0 33.33333%;
-ms-flex: 0 33.33333%;
flex: 0 33.33333%; }
.size-tablet-1-4 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 25%;
-moz-flex: 0 25%;
-ms-flex: 0 25%;
flex: 0 25%; }
.size-tablet-1-5 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 20%;
-moz-flex: 0 20%;
-ms-flex: 0 20%;
flex: 0 20%; }
.size-tablet-1-6 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 16.66667%;
-moz-flex: 0 16.66667%;
-ms-flex: 0 16.66667%;
flex: 0 16.66667%; }
.size-tablet-1-7 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 14.28571%;
-moz-flex: 0 14.28571%;
-ms-flex: 0 14.28571%;
flex: 0 14.28571%; }
.size-tablet-1-8 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 12.5%;
-moz-flex: 0 12.5%;
-ms-flex: 0 12.5%;
flex: 0 12.5%; }
.size-tablet-1-9 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 11.11111%;
-moz-flex: 0 11.11111%;
-ms-flex: 0 11.11111%;
flex: 0 11.11111%; }
.size-tablet-1-10 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 10%;
-moz-flex: 0 10%;
-ms-flex: 0 10%;
flex: 0 10%; }
.size-tablet-1-11 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 9.09091%;
-moz-flex: 0 9.09091%;
-ms-flex: 0 9.09091%;
flex: 0 9.09091%; }
.size-tablet-1-12 {
-webkit-box-flex: 0;
-moz-box-flex: 0;
box-flex: 0;
-webkit-flex: 0 8.33333%;
-moz-flex: 0 8.33333%;
-ms-flex: 0 8.33333%;
flex: 0 8.33333%; } }
@media only all and (max-width: 47.938em) {
@supports not (flex-wrap: wrap) {
.grid {
display: block;
-webkit-box-lines: inherit;
-moz-box-lines: inherit;
box-lines: inherit;
-webkit-flex-wrap: inherit;
-moz-flex-wrap: inherit;
-ms-flex-wrap: inherit;
flex-wrap: inherit; }
.block {
display: block;
-webkit-box-flex: inherit;
-moz-box-flex: inherit;
box-flex: inherit;
-webkit-flex: inherit;
-moz-flex: inherit;
-ms-flex: inherit;
flex: inherit; } } }
.first-block {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1; }
.last-block {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1; }
.fixed-blocks {
-webkit-flex-flow: row wrap;
-moz-flex-flow: row wrap;
flex-flow: row wrap; }
.fixed-blocks .block {
-webkit-box-flex: inherit;
-moz-box-flex: inherit;
box-flex: inherit;
-webkit-flex: inherit;
-moz-flex: inherit;
-ms-flex: inherit;
flex: inherit;
width: 25%; }
@media only all and (min-width: 60em) and (max-width: 74.938em) {
.fixed-blocks .block {
width: 33.33333%; } }
@media only all and (min-width: 48em) and (max-width: 59.938em) {
.fixed-blocks .block {
width: 50%; } }
@media only all and (max-width: 47.938em) {
.fixed-blocks .block {
width: 100%; } }
body {
font-size: 1.05rem;
line-height: 1.7; }
h1, h2, h3, h4, h5, h6 {
margin: 0.85rem 0 1.7rem 0;
text-rendering: optimizeLegibility; }
h1 {
font-size: 3.25rem; }
h2 {
font-size: 2.55rem; }
h3 {
font-size: 2.15rem; }
h4 {
font-size: 1.8rem; }
h5 {
font-size: 1.4rem; }
h6 {
font-size: 0.9rem; }
p {
margin: 1.7rem 0; }
ul, ol {
margin-top: 1.7rem;
margin-bottom: 1.7rem; }
ul ul, ul ol, ol ul, ol ol {
margin-top: 0;
margin-bottom: 0; }
blockquote {
margin: 1.7rem 0;
padding-left: 0.85rem; }
cite {
display: block;
font-size: 0.925rem; }
cite:before {
content: "\2014 \0020"; }
pre {
margin: 1.7rem 0;
padding: 0.938rem; }
code {
vertical-align: bottom; }
small {
font-size: 0.925rem; }
hr {
border-left: none;
border-right: none;
border-top: none;
margin: 1.7rem 0; }
fieldset {
border: 0;
padding: 0.938rem;
margin: 0 0 1.7rem 0; }
input,
label,
select {
display: block; }
label {
margin-bottom: 0.425rem; }
label.required:after {
content: "*"; }
label abbr {
display: none; }
textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] {
-webkit-transition: border-color;
-moz-transition: border-color;
transition: border-color;
border-radius: 0.1875rem;
margin-bottom: 0.85rem;
padding: 0.425rem 0.425rem;
width: 100%; }
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
outline: none; }
textarea {
resize: vertical; }
input[type="checkbox"], input[type="radio"] {
display: inline;
margin-right: 0.425rem; }
input[type="file"] {
width: 100%; }
select {
width: auto;
max-width: 100%;
margin-bottom: 1.7rem; }
button,
input[type="submit"] {
cursor: pointer;
user-select: none;
vertical-align: middle;
white-space: nowrap;
border: inherit; }
/*# sourceMappingURL=nucleus.css.map */

File diff suppressed because one or more lines are too long

940
css-compiled/theme.css Normal file
View file

@ -0,0 +1,940 @@
@charset "UTF-8";
@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata);
#top-github-link, #body #breadcrumbs {
position: relative;
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%); }
.button, .button-secondary {
display: inline-block;
padding: 7px 12px; }
.button:active, .button-secondary:active {
margin: 2px 0 -2px 0; }
body {
background: #fff;
color: #555;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }
a {
color: #1694CA; }
a:hover {
color: #0e6185; }
pre {
position: relative; }
.bg {
background: #fff;
border: 1px solid #eaeaea; }
b, strong, label, th {
font-weight: 600; }
.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav {
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
transition: all 0.5s ease; }
fieldset {
border: 1px solid #ddd; }
textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] {
background-color: white;
border: 1px solid #ddd;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); }
textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover {
border-color: #c4c4c4; }
textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus {
border-color: #1694CA;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); }
#header {
background: #1694CA;
color: #fff;
text-align: center;
padding: 1rem; }
#header a {
display: inline-block; }
#header #logo-svg {
width: 8rem;
height: 2rem; }
#header #logo-svg path {
fill: #fff; }
.searchbox {
margin-top: 0.5rem;
position: relative;
border: 1px solid #19a5e1;
background: #1383b3;
border-radius: 4px; }
.searchbox label {
color: rgba(255, 255, 255, 0.8);
position: absolute;
left: 10px;
top: 3px; }
.searchbox span {
color: rgba(255, 255, 255, 0.6);
position: absolute;
right: 10px;
top: 3px;
cursor: pointer; }
.searchbox span:hover {
color: rgba(255, 255, 255, 0.9); }
.searchbox input {
display: inline-block;
color: #fff;
width: 100%;
height: 30px;
background: transparent;
border: 0;
padding: 0 25px 0 30px;
margin: 0;
font-weight: 400; }
.searchbox input::-webkit-input-placeholder {
color: rgba(255, 255, 255, 0.6); }
.searchbox input::-moz-placeholder {
color: rgba(255, 255, 255, 0.6); }
.searchbox input:-moz-placeholder {
color: rgba(255, 255, 255, 0.6); }
.searchbox input:-ms-input-placeholder {
color: rgba(255, 255, 255, 0.6); }
#sidebar-toggle {
display: none; }
@media only all and (max-width: 47.938em) {
#sidebar-toggle {
display: inline-block; } }
#sidebar {
background-color: #38424D;
position: fixed;
top: 0;
width: 300px;
bottom: 0;
left: 0;
font-weight: 500;
font-size: 15px; }
#sidebar a {
color: #bbbbbb; }
#sidebar a:hover {
color: #d5d5d5; }
#sidebar a.subtitle {
color: rgba(187, 187, 187, 0.6); }
#sidebar hr {
border-bottom: 1px solid #323a44; }
#sidebar a.padding {
padding: 0 1rem; }
#sidebar h5 {
margin: 2rem 0 0;
position: relative;
line-height: 2; }
#sidebar h5 a {
display: block;
margin-left: 0;
margin-right: 0;
padding-left: 1rem;
padding-right: 1rem; }
#sidebar h5 i {
color: rgba(187, 187, 187, 0.6);
position: absolute;
right: 0.6rem;
top: 0.7rem;
font-size: 80%; }
#sidebar h5.parent a {
background: #293038;
color: #c8c8c8 !important; }
#sidebar h5.active a {
background: #fff;
color: #555 !important; }
#sidebar h5.active i {
color: #555 !important; }
#sidebar h5 + ul.topics {
display: none;
margin-top: 0; }
#sidebar h5.parent + ul.topics, #sidebar h5.active + ul.topics {
display: block; }
#sidebar ul {
list-style: none;
padding: 0;
margin: 0; }
#sidebar ul.searched a {
color: #888888; }
#sidebar ul.searched .search-match a {
color: #d5d5d5; }
#sidebar ul.searched .search-match a:hover {
color: #eeeeee; }
#sidebar ul.topics {
margin: 0 1rem; }
#sidebar ul.topics.searched ul {
display: block; }
#sidebar ul.topics ul {
display: none;
padding-bottom: 1rem; }
#sidebar ul.topics ul ul {
padding-bottom: 0; }
#sidebar ul.topics li.parent ul, #sidebar ul.topics > li.active ul {
display: block; }
#sidebar ul.topics > li > a {
line-height: 2rem;
font-size: 1.1rem; }
#sidebar ul.topics > li > a b {
opacity: 0.5;
font-weight: normal; }
#sidebar ul.topics > li > a .fa {
margin-top: 9px; }
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: #2d353e;
margin-left: -1rem;
margin-right: -1rem;
padding-left: 1rem;
padding-right: 1rem; }
#sidebar ul li.active > a {
background: #fff;
color: #055 !important;
margin-left: -1rem;
margin-right: -1rem;
padding-left: 1rem;
padding-right: 1rem; }
#sidebar ul li {
padding: 0; }
#sidebar ul li.visited + span {
margin-right: 16px; }
#sidebar ul li a {
display: block;
padding: 2px 0; }
#sidebar ul li a span {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
display: block; }
#sidebar ul li > a {
padding: 4px 0; }
#sidebar ul li .fa {
display: none;
float: right;
font-size: 13px;
min-width: 16px;
margin: 4px 0 0 0;
text-align: right; }
#sidebar ul li.visited > a .read-icon {
color: #1694CA;
display: inline; }
#sidebar ul li li {
padding-left: 1rem;
text-indent: 0.2rem; }
#main {
background: #f7f7f7;
margin: 0 0 1.563rem 0; }
#body {
position: relative;
margin-left: 300px;
min-height: 100%; }
#body img, #body .video-container {
margin: 3rem auto;
display: block;
text-align: center; }
#body img.border, #body .video-container.border {
border: 2px solid #e6e6e6 !important;
padding: 2px; }
#body img.shadow, #body .video-container.shadow {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
#body .bordered {
border: 1px solid #ccc; }
#body .padding {
padding: 3rem 6rem; }
@media only all and (max-width: 59.938em) {
#body .padding {
position: static;
padding: 15px 3rem; } }
@media only all and (max-width: 47.938em) {
#body .padding {
padding: 5px 1rem; } }
#body h1 + hr {
margin-top: -1.7rem;
margin-bottom: 3rem; }
@media only all and (max-width: 59.938em) {
#body #navigation {
position: static;
margin-right: 0 !important;
width: 100%;
display: table; } }
#body .nav {
position: fixed;
top: 0;
bottom: 0;
width: 4rem;
font-size: 50px;
height: 100%;
cursor: pointer;
display: table;
text-align: center; }
#body .nav > i {
display: table-cell;
vertical-align: middle;
text-align: center; }
@media only all and (max-width: 59.938em) {
#body .nav {
display: table-cell;
position: static;
top: auto;
width: 50%;
text-align: center;
height: 100px;
line-height: 100px;
padding-top: 0; }
#body .nav > i {
display: inline-block; } }
#body .nav:hover {
background: #F6F6F6; }
#body .nav.nav-pref {
left: 0; }
#body .nav.nav-next {
right: 0; }
#body-inner {
margin-bottom: 5rem; }
#chapter {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
padding: 2rem 0; }
#chapter #body-inner {
padding-bottom: 3rem;
max-width: 80%; }
#chapter h3 {
font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
font-weight: 400;
text-align: center; }
#chapter h1 {
font-size: 5rem;
border-bottom: 4px solid #F0F2F4; }
#chapter p {
text-align: center;
font-size: 1.2rem; }
#footer {
padding: 3rem 1rem;
color: #a2a2a2;
font-size: 13px; }
#footer p {
margin: 0; }
body {
font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
letter-spacing: -0.03rem;
font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
font-weight: 400;
text-rendering: optimizeLegibility;
line-height: 150%;
letter-spacing: -0px; }
h1 {
text-align: center;
letter-spacing: -3px; }
h2 {
letter-spacing: -2px; }
h3 {
letter-spacing: -1px; }
blockquote {
border-left: 10px solid #F0F2F4; }
blockquote p {
font-size: 1.1rem;
color: #999; }
blockquote cite {
display: block;
text-align: right;
color: #666;
font-size: 1.2rem; }
blockquote {
position: relative; }
blockquote blockquote {
position: static; }
blockquote > blockquote > blockquote {
margin: 0; }
blockquote > blockquote > blockquote p {
padding: 15px;
display: block;
font-size: 1rem;
margin-top: 0rem;
margin-bottom: 0rem;
color: #666; }
blockquote > blockquote > blockquote p:first-child:before {
position: absolute;
top: 2px;
color: #fff;
font-family: FontAwesome;
content: '';
left: 10px; }
blockquote > blockquote > blockquote p:first-child:after {
position: absolute;
top: 2px;
color: #fff;
left: 2rem;
font-weight: bold;
content: 'Info'; }
blockquote > blockquote > blockquote > p {
margin-left: -71px;
border-top: 30px solid #F0B37E;
background: #FFF2DB; }
blockquote > blockquote > blockquote > blockquote > p {
margin-left: -94px;
border-top: 30px solid rgba(217, 83, 79, 0.8);
background: #FAE2E2; }
blockquote > blockquote > blockquote > blockquote > p:first-child:after {
content: 'Warning'; }
blockquote > blockquote > blockquote > blockquote > blockquote > p {
margin-left: -118px;
border-top: 30px solid #6AB0DE;
background: #E7F2FA; }
blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after {
content: 'Note'; }
blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p {
margin-left: -142px;
border-top: 30px solid rgba(92, 184, 92, 0.8);
background: #E6F9E6; }
blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after {
content: 'Tip'; }
code,
kbd,
pre,
samp {
font-family: "Inconsolata", monospace; }
code {
background: #f9f2f4;
color: #9c1d3d;
padding: .2rem .4rem;
border-radius: 3px; }
pre {
padding: 1rem;
margin: 2rem 0;
background: #f6f6f6;
border: 1px solid #ddd;
border-radius: 2px;
line-height: 1.15;
font-size: 1rem; }
pre code {
color: #237794;
background: inherit;
font-size: 1rem; }
hr {
border-bottom: 4px solid #F0F2F4; }
.page-title {
margin-top: -25px;
padding: 25px;
float: left;
clear: both;
background: #1694CA;
color: #fff; }
#body a.anchor-link {
color: #ccc; }
#body a.anchor-link:hover {
color: #1694CA; }
.scrollbar-inner > .scroll-element .scroll-element_track {
background-color: rgba(255, 255, 255, 0.3); }
.scrollbar-inner > .scroll-element .scroll-bar {
background-color: #b5d1eb; }
.scrollbar-inner > .scroll-element:hover .scroll-bar {
background-color: #ccc; }
.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar {
background-color: #ccc; }
table {
border: 1px solid #eaeaea;
table-layout: auto; }
th {
background: #f7f7f7;
padding: 0.5rem; }
td {
padding: 0.5rem;
border: 1px solid #eaeaea; }
.button {
background: #1694CA;
color: #fff;
box-shadow: 0 3px 0 #1380ae; }
.button:hover {
background: #1380ae;
box-shadow: 0 3px 0 #106c93;
color: #fff; }
.button:active {
box-shadow: 0 1px 0 #106c93; }
.button-secondary {
background: #F8B450;
color: #fff;
box-shadow: 0 3px 0 #f7a733; }
.button-secondary:hover {
background: #f7a733;
box-shadow: 0 3px 0 #f69b15;
color: #fff; }
.button-secondary:active {
box-shadow: 0 1px 0 #f69b15; }
.bullets {
margin: 1.7rem 0;
margin-left: -0.85rem;
margin-right: -0.85rem;
overflow: auto; }
.bullet {
float: left;
padding: 0 0.85rem; }
.two-column-bullet {
width: 50%; }
@media only all and (max-width: 47.938em) {
.two-column-bullet {
width: 100%; } }
.three-column-bullet {
width: 33.33333%; }
@media only all and (max-width: 47.938em) {
.three-column-bullet {
width: 100%; } }
.four-column-bullet {
width: 25%; }
@media only all and (max-width: 47.938em) {
.four-column-bullet {
width: 100%; } }
.bullet-icon {
float: left;
background: #1694CA;
padding: 0.875rem;
width: 3.5rem;
height: 3.5rem;
border-radius: 50%;
color: #fff;
font-size: 1.75rem;
text-align: center; }
.bullet-icon-1 {
background: #1694CA; }
.bullet-icon-2 {
background: #16cac4; }
.bullet-icon-3 {
background: #b2ca16; }
.bullet-content {
margin-left: 4.55rem; }
.tooltipped {
position: relative; }
.tooltipped:after {
position: absolute;
z-index: 1000000;
display: none;
padding: 5px 8px;
font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif;
color: #fff;
text-align: center;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-wrap: break-word;
white-space: pre;
pointer-events: none;
content: attr(aria-label);
background: rgba(0, 0, 0, 0.8);
border-radius: 3px;
-webkit-font-smoothing: subpixel-antialiased; }
.tooltipped:before {
position: absolute;
z-index: 1000001;
display: none;
width: 0;
height: 0;
color: rgba(0, 0, 0, 0.8);
pointer-events: none;
content: "";
border: 5px solid transparent; }
.tooltipped:hover:before, .tooltipped:hover:after,
.tooltipped:active:before,
.tooltipped:active:after,
.tooltipped:focus:before,
.tooltipped:focus:after {
display: inline-block;
text-decoration: none; }
.tooltipped-s:after,
.tooltipped-se:after,
.tooltipped-sw:after {
top: 100%;
right: 50%;
margin-top: 5px; }
.tooltipped-s:before,
.tooltipped-se:before,
.tooltipped-sw:before {
top: auto;
right: 50%;
bottom: -5px;
margin-right: -5px;
border-bottom-color: rgba(0, 0, 0, 0.8); }
.tooltipped-se:after {
right: auto;
left: 50%;
margin-left: -15px; }
.tooltipped-sw:after {
margin-right: -15px; }
.tooltipped-n:after,
.tooltipped-ne:after,
.tooltipped-nw:after {
right: 50%;
bottom: 100%;
margin-bottom: 5px; }
.tooltipped-n:before,
.tooltipped-ne:before,
.tooltipped-nw:before {
top: -5px;
right: 50%;
bottom: auto;
margin-right: -5px;
border-top-color: rgba(0, 0, 0, 0.8); }
.tooltipped-ne:after {
right: auto;
left: 50%;
margin-left: -15px; }
.tooltipped-nw:after {
margin-right: -15px; }
.tooltipped-s:after,
.tooltipped-n:after {
transform: translateX(50%); }
.tooltipped-w:after {
right: 100%;
bottom: 50%;
margin-right: 5px;
transform: translateY(50%); }
.tooltipped-w:before {
top: 50%;
bottom: 50%;
left: -5px;
margin-top: -5px;
border-left-color: rgba(0, 0, 0, 0.8); }
.tooltipped-e:after {
bottom: 50%;
left: 100%;
margin-left: 5px;
transform: translateY(50%); }
.tooltipped-e:before {
top: 50%;
right: -5px;
bottom: 50%;
margin-top: -5px;
border-right-color: rgba(0, 0, 0, 0.8); }
/*************** SCROLLBAR BASE CSS ***************/
.highlightable {
padding: 25px 0 15px; }
.scroll-wrapper {
overflow: hidden !important;
padding: 0 !important;
position: relative; }
.scroll-wrapper > .scroll-content {
border: none !important;
box-sizing: content-box !important;
height: auto;
left: 0;
margin: 0;
max-height: none;
max-width: none !important;
overflow: scroll !important;
padding: 0;
position: relative !important;
top: 0;
width: auto !important; }
.scroll-wrapper > .scroll-content::-webkit-scrollbar {
height: 0;
width: 0; }
.scroll-element {
display: none; }
.scroll-element, .scroll-element div {
box-sizing: content-box; }
.scroll-element.scroll-x.scroll-scrollx_visible,
.scroll-element.scroll-y.scroll-scrolly_visible {
display: block; }
.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
cursor: default; }
.scroll-textarea > .scroll-content {
overflow: hidden !important; }
.scroll-textarea > .scroll-content > textarea {
border: none !important;
box-sizing: border-box;
height: 100% !important;
margin: 0;
max-height: none !important;
max-width: none !important;
overflow: scroll !important;
outline: none;
padding: 2px;
position: relative !important;
top: 0;
width: 100% !important; }
.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar {
height: 0;
width: 0; }
/*************** SIMPLE INNER SCROLLBAR ***************/
.scrollbar-inner > .scroll-element,
.scrollbar-inner > .scroll-element div {
border: none;
margin: 0;
padding: 0;
position: absolute;
z-index: 10; }
.scrollbar-inner > .scroll-element div {
display: block;
height: 100%;
left: 0;
top: 0;
width: 100%; }
.scrollbar-inner > .scroll-element.scroll-x {
bottom: 2px;
height: 8px;
left: 0;
width: 100%; }
.scrollbar-inner > .scroll-element.scroll-y {
height: 100%;
right: 2px;
top: 0;
width: 8px; }
.scrollbar-inner > .scroll-element .scroll-element_outer {
overflow: hidden; }
.scrollbar-inner > .scroll-element .scroll-element_outer,
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px; }
.scrollbar-inner > .scroll-element .scroll-element_track,
.scrollbar-inner > .scroll-element .scroll-bar {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity=30);
opacity: 0.3; }
/* update scrollbar offset if both scrolls are visible */
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track {
left: -12px; }
.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track {
top: -12px; }
.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size {
left: -12px; }
.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size {
top: -12px; }
.lightbox-active #body {
overflow: visible; }
.lightbox-active #body .padding {
overflow: visible; }
#github-contrib i {
vertical-align: middle; }
.featherlight img {
margin: 0 !important; }
.lifecycle #body-inner ul {
list-style: none;
margin: 0;
padding: 2rem 0 0;
position: relative; }
.lifecycle #body-inner ol {
margin: 1rem 0 1rem 0;
padding: 2rem;
position: relative; }
.lifecycle #body-inner ol li {
margin-left: 1rem; }
.lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th {
text-decoration: underline; }
.lifecycle #body-inner ol ol {
margin-left: -1rem; }
.lifecycle #body-inner h3[class*='level'] {
font-size: 20px;
position: absolute;
margin: 0;
padding: 4px 10px;
right: 0;
z-index: 1000;
color: #fff;
background: #1ABC9C; }
.lifecycle #body-inner ol h3 {
margin-top: 1rem !important;
right: 2rem !important; }
.lifecycle #body-inner .level-1 + ol {
background: #f6fefc;
border: 4px solid #1ABC9C;
color: #16A085; }
.lifecycle #body-inner .level-1 + ol h3 {
background: #2ECC71; }
.lifecycle #body-inner .level-2 + ol {
background: #f7fdf9;
border: 4px solid #2ECC71;
color: #27AE60; }
.lifecycle #body-inner .level-2 + ol h3 {
background: #3498DB; }
.lifecycle #body-inner .level-3 + ol {
background: #f3f9fd;
border: 4px solid #3498DB;
color: #2980B9; }
.lifecycle #body-inner .level-3 + ol h3 {
background: #34495E; }
.lifecycle #body-inner .level-4 + ol {
background: #e4eaf0;
border: 4px solid #34495E;
color: #2C3E50; }
.lifecycle #body-inner .level-4 + ol h3 {
background: #34495E; }
#top-bar {
background: #F6F6F6;
border-radius: 2px;
margin: 0rem -1rem 2rem;
padding: 0 1rem;
height: 0;
min-height: 3rem; }
#top-github-link {
position: relative;
z-index: 1;
float: right;
display: block; }
#body #breadcrumbs {
height: auto;
display: block;
margin-bottom: 0;
padding-left: 0;
line-height: 1.4; }
#body #breadcrumbs span {
padding: 0 0.1rem; }
@media only all and (max-width: 59.938em) {
#sidebar {
width: 230px; }
#body {
margin-left: 230px; } }
@media only all and (max-width: 47.938em) {
#sidebar {
width: 230px;
left: -230px; }
#body {
margin-left: 0;
width: 100%; }
.sidebar-hidden {
overflow: hidden; }
.sidebar-hidden #sidebar {
left: 0; }
.sidebar-hidden #body {
margin-left: 230px;
overflow: hidden; }
.sidebar-hidden #overlay {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 10;
background: rgba(255, 255, 255, 0.5);
cursor: pointer; } }
.copy-to-clipboard {
background-image: url(../images/clippy.svg);
background-position: 50% 50%;
background-size: 16px 16px;
background-repeat: no-repeat;
width: 27px;
height: 1.45rem;
top: -1px;
display: inline-block;
vertical-align: middle;
position: relative;
color: #3c3c3c;
background-color: #f9f2f4;
margin-left: -.2rem;
cursor: pointer;
border-radius: 0 2px 2px 0; }
.copy-to-clipboard:hover {
background-color: #f1e1e5; }
pre .copy-to-clipboard {
position: absolute;
right: 4px;
top: 4px;
background-color: #eee;
border-color: #ddd;
border-radius: 2px; }
pre .copy-to-clipboard:hover {
background-color: #d9d9d9; }
.parent-element {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d; }
/*# sourceMappingURL=theme.css.map */

File diff suppressed because one or more lines are too long

57
css/custom.css Normal file
View file

@ -0,0 +1,57 @@
/* General
------------------------------------*/
:root{
--main: #50162D;
--secondary: #1F5C60;
--highlight: #C2CFB7;
--main-light: #B9A2AB;
--white: #FFF;
--black: #333;
}
a {
color: var(--secondary);
}
/* sidebar
------------------------------------*/
#header {
background: var(--highlight);
}
.searchbox {
background: var(--highlight);
border: 1px solid var(--secondary);
}
.searchbox i.fa {
color: var(--secondary);
}
.searchbox input {
color: var(--secondary);
}
.searchbox input::-webkit-input-placeholder {
color: rgba(31, 92, 96, 0.6); }
.searchbox input::-moz-placeholder {
color: rgba(31, 92, 96, 0.6); }
.searchbox input:-moz-placeholder {
color: rgba(31, 92, 96, 0.6); }
.searchbox input:-ms-input-placeholder {
color: rgba(31, 92, 96, 0.6); }
#sidebar {
background: var(--secondary);
}
#sidebar ul li.active > a {
background: var(--white);
color: var(--secondary); !important
}
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: var(--white);
}

8
css/featherlight.min.css vendored Executable file
View file

@ -0,0 +1,8 @@
/**
* Featherlight - ultra slim jQuery lightbox
* Version 1.2.3 - http://noelboss.github.io/featherlight/
*
* Copyright 2015, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;min-width:30%;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0}.featherlight iframe{border:0}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:10px;margin-right:10px;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}

4
css/font-awesome.min.css vendored Normal file

File diff suppressed because one or more lines are too long

9
css/nucleus-ie10.css Executable file
View file

@ -0,0 +1,9 @@
button {
overflow: visible;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}

62
css/nucleus-ie9.css Executable file
View file

@ -0,0 +1,62 @@
/* IE9 Resets and Normalization */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
}
[hidden],
template {
display: none;
}
abbr[title] {
border-bottom: 1px dotted;
}
img {
border: 0;
}
svg:not(:root) {
overflow: hidden;
}
figure {
margin: 1em 40px;
}
button {
overflow: visible;
}
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
padding: 0;
}
legend {
border: 0;
padding: 0;
}
textarea {
overflow: auto;
}

15
css/pure-0.5.0/grids-min.css vendored Executable file
View file

@ -0,0 +1,15 @@
/*!
Pure v0.5.0-rc-1
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
https://github.com/yui/pure/blob/master/LICENSE.md
*/
.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}
/* Custom */
[class *="pure-u"] {display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto;}
.pure-u-1-7 {width: 14.285%;}.pure-u-2-7 {width: 28.571%;}.pure-u-3-7 {width: 42.857%;}.pure-u-4-7 {width: 57.142%;}.pure-u-5-7 {width: 71.428%;}.pure-u-6-7 {width: 85.714%;}
.pure-u-1-9 {width: 11.111%;}.pure-u-2-9 {width: 22.222%;}.pure-u-3-9 {width: 33.333%;}.pure-u-4-9 {width: 44.444%;}.pure-u-5-9 {width: 55.555%;}.pure-u-6-9 {width: 66.666%;}.pure-u-7-9 {width: 77.777%;}.pure-u-8-9 {width: 88.888%;}
.pure-u-1-10 {width: 10%;}.pure-u-2-10 {width: 20%;}.pure-u-3-10 {width: 30%;}.pure-u-4-10 {width: 40%;}.pure-u-5-10 {width: 50%;}.pure-u-6-10 {width: 60%;}.pure-u-7-10 {width: 70%;}.pure-u-8-10 {width: 80%;}.pure-u-9-10 {width: 90%;}
.pure-u-1-11 {width: 9.090%;}.pure-u-2-11 {width: 18.181%;}.pure-u-3-11 {width: 27.272%;}.pure-u-4-11 {width: 36.363%;}.pure-u-5-11 {width: 45.454%;}.pure-u-6-11 {width: 54.545%;}.pure-u-7-11 {width: 63.636%;}.pure-u-8-11 {width: 72.727%;}.pure-u-9-11 {width: 81.818%;}.pure-u-10-11 {width: 90.909%;}

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

3
images/clippy.svg Normal file
View file

@ -0,0 +1,3 @@
<svg height="1024" width="896" xmlns="http://www.w3.org/2000/svg">
<path d="M128 768h256v64H128v-64z m320-384H128v64h320v-64z m128 192V448L384 640l192 192V704h320V576H576z m-288-64H128v64h160v-64zM128 704h160v-64H128v64z m576 64h64v128c-1 18-7 33-19 45s-27 18-45 19H64c-35 0-64-29-64-64V192c0-35 29-64 64-64h192C256 57 313 0 384 0s128 57 128 128h192c35 0 64 29 64 64v320h-64V320H64v576h640V768zM128 256h512c0-35-29-64-64-64h-64c-35 0-64-29-64-64s-29-64-64-64-64 29-64 64-29 64-64 64h-64c-35 0-64 29-64 64z" />
</svg>

After

Width:  |  Height:  |  Size: 519 B

BIN
images/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

7
js/clipboard.min.js vendored Normal file

File diff suppressed because one or more lines are too long

8
js/featherlight.min.js vendored Executable file

File diff suppressed because one or more lines are too long

4
js/html5shiv-printshiv.min.js vendored Executable file
View file

@ -0,0 +1,4 @@
/**
* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=x.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=w[a[u]];return b||(b={},v++,a[u]=v,w[v]=b),b}function f(a,c,d){if(c||(c=b),p)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():t.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||s.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),p)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return x.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(x,b.frag)}function i(a){a||(a=b);var d=e(a);return!x.shivCSS||o||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),p||h(a,d),a}function j(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(k(b)));return g}function k(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(z+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function l(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+z+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function m(a){for(var b=a.length;b--;)a[b].removeNode()}function n(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,f,g=e(a),h=a.namespaces,i=a.parentWindow;return!A||a.printShived?a:("undefined"==typeof h[z]&&h.add(z),i.attachEvent("onbeforeprint",function(){b();for(var e,g,h,i=a.styleSheets,k=[],m=i.length,n=Array(m);m--;)n[m]=i[m];for(;h=n.pop();)if(!h.disabled&&y.test(h.media)){try{e=h.imports,g=e.length}catch(o){g=0}for(m=0;g>m;m++)n.push(e[m]);try{k.push(h.cssText)}catch(o){}}k=l(k.reverse().join("")),f=j(a),d=c(a,k)}),i.attachEvent("onafterprint",function(){m(f),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var o,p,q="3.7.0",r=a.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,t=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",v=0,w={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",o="hidden"in a,p=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){o=!0,p=!0}}();var x={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:q,shivCSS:r.shivCSS!==!1,supportsUnknownElements:p,shivMethods:r.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=x,i(b);var y=/^$|\b(?:all|print)\b/,z="html5shiv",A=!p&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();x.type+=" print",x.shivPrint=n,n(b)}(this,document);

16
js/jquery.scrollbar.min.js vendored Executable file

File diff suppressed because one or more lines are too long

342
js/learn.js Normal file
View file

@ -0,0 +1,342 @@
// Scrollbar Width function
function getScrollBarWidth() {
var inner = document.createElement('p');
inner.style.width = "100%";
inner.style.height = "200px";
var outer = document.createElement('div');
outer.style.position = "absolute";
outer.style.top = "0px";
outer.style.left = "0px";
outer.style.visibility = "hidden";
outer.style.width = "200px";
outer.style.height = "150px";
outer.style.overflow = "hidden";
outer.appendChild(inner);
document.body.appendChild(outer);
var w1 = inner.offsetWidth;
outer.style.overflow = 'scroll';
var w2 = inner.offsetWidth;
if (w1 == w2) w2 = outer.clientWidth;
document.body.removeChild(outer);
return (w1 - w2);
};
function setMenuHeight() {
$('#sidebar .highlightable').height($('#sidebar').innerHeight() - $('#header-wrapper').height() - 40);
}
function fallbackMessage(action) {
var actionMsg = '';
var actionKey = (action === 'cut' ? 'X' : 'C');
if (/iPhone|iPad/i.test(navigator.userAgent)) {
actionMsg = 'No support :(';
}
else if (/Mac/i.test(navigator.userAgent)) {
actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
}
else {
actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
}
return actionMsg;
}
// for the window resize
$(window).resize(function() {
setMenuHeight();
});
// debouncing function from John Hann
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
(function($, sr) {
var debounce = function(func, threshold, execAsap) {
var timeout;
return function debounced() {
var obj = this, args = arguments;
function delayed() {
if (!execAsap)
func.apply(obj, args);
timeout = null;
};
if (timeout)
clearTimeout(timeout);
else if (execAsap)
func.apply(obj, args);
timeout = setTimeout(delayed, threshold || 100);
};
}
// smartresize
jQuery.fn[sr] = function(fn) { return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
})(jQuery, 'smartresize');
jQuery(document).ready(function() {
var sidebarStatus = searchStatus = 'open';
// set the menu height
setMenuHeight();
jQuery('#overlay').on('click', function() {
jQuery(document.body).toggleClass('sidebar-hidden');
sidebarStatus = (jQuery(document.body).hasClass('sidebar-hidden') ? 'closed' : 'open');
return false;
});
jQuery('.scrollbar-inner').scrollbar();
jQuery('[data-sidebar-toggle]').on('click', function() {
jQuery(document.body).toggleClass('sidebar-hidden');
sidebarStatus = (jQuery(document.body).hasClass('sidebar-hidden') ? 'closed' : 'open');
return false;
});
jQuery('[data-clear-history-toggle]').on('click', function() {
sessionStorage.clear();
location.reload();
return false;
});
jQuery('[data-search-toggle]').on('click', function() {
if (sidebarStatus == 'closed') {
jQuery('[data-sidebar-toggle]').trigger('click');
jQuery(document.body).removeClass('searchbox-hidden');
searchStatus = 'open';
return false;
}
jQuery(document.body).toggleClass('searchbox-hidden');
searchStatus = (jQuery(document.body).hasClass('searchbox-hidden') ? 'closed' : 'open');
return false;
});
var ajax;
jQuery('[data-search-input]').on('input', function() {
var input = jQuery(this),
value = input.val(),
items = jQuery('[data-nav-id]');
items.removeClass('search-match');
if (!value.length) {
$('ul.topics').removeClass('searched');
items.css('display', 'block');
sessionStorage.removeItem('search-value');
$(".highlightable").unhighlight({ element: 'mark' })
return;
}
sessionStorage.setItem('search-value', value);
$(".highlightable").unhighlight({ element: 'mark' }).highlight(value, { element: 'mark' });
if (ajax && ajax.abort) ajax.abort();
ajax = jQuery.ajax({
url: input.data('search-input') + ':' + value
}).done(function(data) {
if (data && data.results && data.results.length) {
items.css('display', 'none');
$('ul.topics').addClass('searched');
data.results.forEach(function(navitem) {
jQuery('[data-nav-id="' + navitem + '"]').css('display', 'block').addClass('search-match');
jQuery('[data-nav-id="' + navitem + '"]').parents('li').css('display', 'block');
});
}
;
});
jQuery('[data-search-clear]').on('click', function() {
jQuery('[data-search-input]').val('').trigger('input');
sessionStorage.removeItem('search-input');
$(".highlightable").unhighlight({ element: 'mark' })
});
});
if (sessionStorage.getItem('search-value')) {
jQuery(document.body).removeClass('searchbox-hidden');
jQuery('[data-search-input]').val(sessionStorage.getItem('search-value'));
jQuery('[data-search-input]').trigger('input');
}
// clipboard
var clipInit = false;
$('code').each(function() {
var code = $(this),
text = code.text();
if (text.length > 5) {
if (!clipInit) {
var text, clip = new Clipboard('.copy-to-clipboard', {
text: function(trigger) {
text = $(trigger).prev('code').text();
return text.replace(/^\$\s/gm, '');
}
});
var inPre;
clip.on('success', function(e) {
e.clearSelection();
inPre = $(e.trigger).parent().prop('tagName') == 'PRE';
$(e.trigger).attr('aria-label', 'Copied to clipboard!').addClass('tooltipped tooltipped-' + (inPre ? 'w' : 's'));
});
clip.on('error', function(e) {
inPre = $(e.trigger).parent().prop('tagName') == 'PRE';
$(e.trigger).attr('aria-label', fallbackMessage(e.action)).addClass('tooltipped tooltipped-' + (inPre ? 'w' : 's'));
$(document).one('copy', function(){
$(e.trigger).attr('aria-label', 'Copied to clipboard!').addClass('tooltipped tooltipped-' + (inPre ? 'w' : 's'));
});
});
clipInit = true;
}
code.after('<span class="copy-to-clipboard" title="Copy to clipboard" />');
code.next('.copy-to-clipboard').on('mouseleave', function() {
$(this).attr('aria-label', null).removeClass('tooltipped tooltipped-s tooltipped-w');
});
}
});
// allow keyboard control for prev/next links
jQuery(function() {
jQuery('.nav-prev').click(function(){
location.href = jQuery(this).attr('href');
});
jQuery('.nav-next').click(function() {
location.href = jQuery(this).attr('href');
});
});
jQuery(document).keydown(function(e) {
// prev links - left arrow key
if(e.which == '37') {
jQuery('.nav.nav-prev').click();
}
// next links - right arrow key
if(e.which == '39') {
jQuery('.nav.nav-next').click();
}
});
});
jQuery(window).on('load', function() {
function adjustForScrollbar() {
if ((parseInt(jQuery('#body-inner').height()) + 83) >= jQuery('#body').height()) {
jQuery('.nav.nav-next').css({ 'margin-right': getScrollBarWidth() });
} else {
jQuery('.nav.nav-next').css({ 'margin-right': 0 });
}
}
// adjust sidebar for scrollbar
adjustForScrollbar();
jQuery(window).smartresize(function() {
adjustForScrollbar();
});
// store this page in session
sessionStorage.setItem(jQuery('body').data('url'), 1);
// loop through the sessionStorage and see if something should be marked as visited
for (var url in sessionStorage) {
if (sessionStorage.getItem(url) == 1) jQuery('[data-nav-id="' + url + '"]').addClass('visited');
}
$(".highlightable").highlight(sessionStorage.getItem('search-value'), { element: 'mark' });
});
$(function() {
$('a[rel="lightbox"]').featherlight({
root: 'section#body'
});
});
jQuery.extend({
highlight: function(node, re, nodeName, className) {
if (node.nodeType === 3) {
var match = node.data.match(re);
if (match) {
var highlight = document.createElement(nodeName || 'span');
highlight.className = className || 'highlight';
var wordNode = node.splitText(match.index);
wordNode.splitText(match[0].length);
var wordClone = wordNode.cloneNode(true);
highlight.appendChild(wordClone);
wordNode.parentNode.replaceChild(highlight, wordNode);
return 1; //skip added node in parent
}
} else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
!/(script|style)/i.test(node.tagName) && // ignore script and style nodes
!(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
for (var i = 0; i < node.childNodes.length; i++) {
i += jQuery.highlight(node.childNodes[i], re, nodeName, className);
}
}
return 0;
}
});
jQuery.fn.unhighlight = function(options) {
var settings = {
className: 'highlight',
element: 'span'
};
jQuery.extend(settings, options);
return this.find(settings.element + "." + settings.className).each(function() {
var parent = this.parentNode;
parent.replaceChild(this.firstChild, this);
parent.normalize();
}).end();
};
jQuery.fn.highlight = function(words, options) {
var settings = {
className: 'highlight',
element: 'span',
caseSensitive: false,
wordsOnly: false
};
jQuery.extend(settings, options);
if (!words) { return; }
if (words.constructor === String) {
words = [words];
}
words = jQuery.grep(words, function(word, i) {
return word != '';
});
words = jQuery.map(words, function(word, i) {
return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
});
if (words.length == 0) { return this; }
;
var flag = settings.caseSensitive ? "" : "i";
var pattern = "(" + words.join("|") + ")";
if (settings.wordsOnly) {
pattern = "\\b" + pattern + "\\b";
}
var re = new RegExp(pattern, flag);
return this.each(function() {
jQuery.highlight(this, re, settings.element, settings.className);
});
};

4
js/modernizr.custom.71422.js vendored Executable file

File diff suppressed because one or more lines are too long

View file

@ -1,96 +1,48 @@
en: en:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">This theme</a> was <i class="fa fa-code"></i> with <i class="fa fa-heart"></i> by <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p> THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: edit this page
CATEGORIES: Categories THEME_LEARN2_GITHUB_NOTE: Found errors? Think you can improve this documentation?
POPULAR_ARTICLES: Popular Articles THEME_LEARN2_CLEAR_HISTORY: Clear History
LATEST_ARTICLES: Latest Articles THEME_LEARN2_BUILT_WITH_GRAV: Built with <a href="http://getgrav.org">Grav</a> - The Modern Flat File CMS
AUTHOR: "Author:" THEME_LEARN2_SEARCH_DOCUMENTATION: Search Documentation
ALL_AUTHOR_POSTS: All posts by this author cn:
ERROR: Error! THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: 编辑此页
ARTICLE_CATEGORIES: Article Categories THEME_LEARN2_GITHUB_NOTE: 发现错误?请帮忙改进,谢谢!
RELATED_ARTICLES: Related Articles THEME_LEARN2_CLEAR_HISTORY: 清除历史
COMMENTS: Comments THEME_LEARN2_BUILT_WITH_GRAV: Built with <a href="http://getgrav.org">Grav</a> - The Modern Flat File CMS
CATEGORY: "Category:" THEME_LEARN2_SEARCH_DOCUMENTATION: 搜索文档
fr:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Ce thème</a> à été <i class="fa fa-code"></i> avec <i class="fa fa-heart"></i> par <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p>
CATEGORIES: Catégories
POPULAR_ARTICLES: Articles Populaires
LATEST_ARTICLES: Derniers Articles
AUTHOR: "Auteur : "
ALL_AUTHOR_POSTS: Tous les articles par cet auteur
ERROR: Erreur!
ARTICLE_CATEGORIES: Catégories d'article
RELATED_ARTICLES: Articles similaires
COMMENTS: Commentaires
CATEGORY: "Catégorie : "
cs: cs:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Tento motiv</a> byl <i class="fa fa-code"></i>-án s <i class="fa fa-heart"></i> uživatelem <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p> THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: Upravte tuto stránku
CATEGORIES: Kategorie THEME_LEARN2_GITHUB_NOTE: Našli jste chybu? Myslíte, že můžete vylepšit tuto dokumentaci?
POPULAR_ARTICLES: Oblíbené články THEME_LEARN2_CLEAR_HISTORY: Smazat historii
LATEST_ARTICLES: Poslední články THEME_LEARN2_BUILT_WITH_GRAV: Postaveno na <a href="http://getgrav.org">Grav</a> - Moderní správce obsahu pomocí souborů prostých textů
AUTHOR: "Autor:" THEME_LEARN2_SEARCH_DOCUMENTATION: Vyhledat v dokumentaci
ALL_AUTHOR_POSTS: Všechny autorovy články de:
ERROR: Chyba! THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: diese Seite bearbeiten
ARTICLE_CATEGORIES: Kategorie článků THEME_LEARN2_GITHUB_NOTE: Fehler gefunden? Möchten Sie diese Seite verbessern?
RELATED_ARTICLES: Související články THEME_LEARN2_CLEAR_HISTORY: Verlauf löschen
COMMENTS: Komentáře THEME_LEARN2_BUILT_WITH_GRAV: Seite erstellt mit <a href="http://getgrav.org">Grav</a> - The Modern Flat File CMS
CATEGORY: "Kategorie:" THEME_LEARN2_SEARCH_DOCUMENTATION: Dokumentation durchsuchen
zh-CN:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">This theme</a> was <i class="fa fa-code"></i> with <i class="fa fa-heart"></i> by <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p>
CATEGORIES: 分类
POPULAR_ARTICLES: 热门文章
LATEST_ARTICLES: 最新文章
AUTHOR: "作者:"
ALL_AUTHOR_POSTS: 该作者所有文章
ERROR: 错误!
ARTICLE_CATEGORIES: 文章分类
RELATED_ARTICLES: 相关文章
COMMENTS: 评论
CATEGORY: "分类:"
pl:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Ten szablon</a> został <i class="fa fa-code"></i> z <i class="fa fa-heart"></i> przez <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p>
CATEGORIES: Kategorie
POPULAR_ARTICLES: Popularne artykuły
LATEST_ARTICLES: Ostatnie artykuły
AUTHOR: "Autor:"
ALL_AUTHOR_POSTS: Wszystkie posty tego autora
ERROR: Błąd!
ARTICLE_CATEGORIES: Kategorie artykułów
RELATED_ARTICLES: Powiązane artykuły
COMMENTS: Komentarze
CATEGORY: "Kategoria:"
es: es:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Este tema</a> ha sido <i class="fa fa-code"></i> con <i class="fa fa-heart"></i> por <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p> THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: editar esta página
CATEGORIES: Categorías THEME_LEARN2_GITHUB_NOTE: ¿Encontraste errores? ¿Crees que puedes mejorar esta documentación?
POPULAR_ARTICLES: Artículos THEME_LEARN2_CLEAR_HISTORY: Limpiar historial
LATEST_ARTICLES: Artículos más nuevos THEME_LEARN2_BUILT_WITH_GRAV: Hecho con <a href="http://getgrav.org">Grav</a> - El CMS moderno de archivos planos
AUTHOR: "Autor:" THEME_LEARN2_SEARCH_DOCUMENTATION: Buscar en la documentación
ALL_AUTHOR_POSTS: Todos los artículos de este autor fr:
ERROR: Error! THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: modifier cette page
ARTICLE_CATEGORIES: Categorías de artículos THEME_LEARN2_GITHUB_NOTE: Vous avez découvert des erreurs ? Vous pensez pouvoir améliorer cette documentation ?
RELATED_ARTICLES: Artículos relacionados THEME_LEARN2_CLEAR_HISTORY: Effacer l'historique
COMMENTS: Comentarios THEME_LEARN2_BUILT_WITH_GRAV: Créé avec <a href="http://getgrav.org">Grav</a> - Le CMS moderne sans base de données
CATEGORY: "Categoría:" THEME_LEARN2_SEARCH_DOCUMENTATION: Rechercher dans la documentation
gl: it:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Este tema</a> foi <i class="fa fa-code"></i> con <i class="fa fa-heart"></i> por <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p> THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: modifica pagina
CATEGORIES: Categorías THEME_LEARN2_GITHUB_NOTE: Hai trovato degli errori? Pensi di poter migliorare questa documentazione?
POPULAR_ARTICLES: Artigos THEME_LEARN2_CLEAR_HISTORY: Cancella Cronologia
LATEST_ARTICLES: Artigos máis novos THEME_LEARN2_BUILT_WITH_GRAV: Built with <a href="http://getgrav.org">Grav</a> - The Modern Flat File CMS
AUTHOR: "Autor:" THEME_LEARN2_SEARCH_DOCUMENTATION: Cerca nella Documentatione
ALL_AUTHOR_POSTS: Tódolos artigos deste autor ru:
ERROR: Erro! THEME_LEARN2_GITHUB_EDIT_THIS_PAGE: редактировать эту страницу
ARTICLE_CATEGORIES: Categorías de artigos THEME_LEARN2_GITHUB_NOTE: Нашли ошибки? Думаете, что можете улучшить документацию?
RELATED_ARTICLES: Artigos relacionados THEME_LEARN2_CLEAR_HISTORY: Очистить историю
COMMENTS: Comentarios THEME_LEARN2_BUILT_WITH_GRAV: Сделано на <a href="http://getgrav.org">Grav</a> — современной файловой CMS
CATEGORY: "Categoría:" THEME_LEARN2_SEARCH_DOCUMENTATION: Поиск по документации
nl:
FOOTER_TEXT: <p><a href="https://github.com/Perlkonig/grav-theme-knowledge-base">Dit thema</a> was <i class="fa fa-code"></i> met <i class="fa fa-heart"></i> door <a href="http://perlkonig.com">Perlk&ouml;nig</a>.</p>
CATEGORIES: Categorieën
POPULAR_ARTICLES: Populaire artikelen
LATEST_ARTICLES: Recente artikelen
AUTHOR: "Auteur:"
ALL_AUTHOR_POSTS: Alle artikelen van deze auteur
ERROR: Fout!
ARTICLE_CATEGORIES: Artikelcategorieën
RELATED_ARTICLES: Zie ook
COMMENTS: Commentaren
CATEGORY: "Categorie:"

9
learn2.php Normal file
View file

@ -0,0 +1,9 @@
<?php
namespace Grav\Theme;
use Grav\Common\Theme;
class Learn2 extends Theme
{
}

10
learn2.yaml Normal file
View file

@ -0,0 +1,10 @@
enabled: true
root_page: # optional: set root page of documentation
top_level_version: false # Use versions for top level navigation
show_all_pages: false # Show all pages without having to 'open' them
google_analytics_code: # Enter your `UA-XXXXXXXX-X` code here
home_url: # http://getgrav.org
github:
position: top # top | bottom | off
tree: https://github.com/getgrav/grav-skeleton-rtfm-site/blob/develop/
commits: https://github.com/getgrav/grav-skeleton-rtfm-site/commits/develop/

5
old/CHANGELOG.md Normal file
View file

@ -0,0 +1,5 @@
# v0.1.0
## 05/12/2019
1. [](#new)
* ChangeLog started...

21
old/LICENSE Normal file
View file

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2019 Disroot
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.

7
old/README.md Normal file
View file

@ -0,0 +1,7 @@
# Howto Theme
The **Howto** Theme is for [Grav CMS](http://github.com/getgrav/grav). This README.md file should be modified to describe the features, installation, configuration, and general usage of this theme.
## Description
A theme design for tutorials and guides, designed for Disroot.org's howto collection.

27
old/blueprints.yaml Normal file
View file

@ -0,0 +1,27 @@
name: Howto
version: 0.1.0
description: A theme design for tutorials and guides, designed for Disroot.org's howto collection.
icon: rebel
author:
name: Disroot
email: support@disroot.org
homepage: https://github.com/disroot/grav-theme-howto
demo: http://demo.yoursite.com
keywords: grav, theme, etc
bugs: https://github.com/disroot/grav-theme-howto/issues
readme: https://github.com/disroot/grav-theme-howto/blob/develop/README.md
license: MIT
form:
validation: loose
fields:
dropdown.enabled:
type: toggle
label: Dropdown in Menu
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool

View file

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 118 KiB

View file

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View file

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View file

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View file

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View file

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View file

Before

Width:  |  Height:  |  Size: 508 KiB

After

Width:  |  Height:  |  Size: 508 KiB

View file

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB

Some files were not shown because too many files have changed in this diff Show more