(Grav GitSync) Automatic Commit from RealStickman

This commit is contained in:
RealStickman 2022-06-28 13:15:01 +02:00 committed by GitSync
parent 0d5bc7eda7
commit 75e4904884
259 changed files with 0 additions and 26734 deletions

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,65 +0,0 @@
# v1.6.0
## 11/24/2021
1. [](#new)
* Added new option `copy_to_clipboard` to automatically copy the link to clipboard
2. [](#improved)
* Removed reliance on `JQuery` for DOM ready check
* Updated `anchors.js` to version 4.3.1
# v1.5.4
## 12/02/2020
1. [](#improved)
* Updated `anchors.js` to version 4.3.0
* Requires Grav 1.6
# v1.5.3
## 03/30/2019
1. [](#improved)
* Updated `anchors.js` to version 4.2.0
* Improved documentation
# v1.5.2
## 09/28/2017
1. [](#improved)
* Updated `anchors.js` to version 4.1.0
# v1.5.1
## 07/14/2016
1. [](#improved)
* Translate some blueprint options
# v1.5.0
## 01/06/2016
1. [](#improved)
* Disable anchors in Admin
# v1.4.0
## 08/25/2015
1. [](#improved)
* Added blueprints for Grav Admin plugin
# v1.3.0
## 07/20/2015
1. [](#new)
* Updated `anchors.js` to version 1.2.1
* Added new options such as 'placement', 'visible', 'icon' and 'class'
# v1.2.0
## 03/01/2015
1. [](#new)
* Updated `anchors.js` to version 0.3.0
# v1.1.0
## 11/30/2014
1. [](#new)
* ChangeLog started...

View File

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

View File

@ -1,106 +0,0 @@
# Grav Anchors Plugin
`anchors` is a [Grav](http://github.com/getgrav/grav) plugin that provides automatic header anchors via the [anchorjs](http://bryanbraun.github.io/anchorjs) Vanilla JS plugin.
# Installation
## GPM Installation (Preferred)
The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). From the root of your Grav install type:
bin/gpm install anchors
## Manual Installation
If for some reason you can't use GPM you can manually install this plugin. Download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `anchors`.
You should now have all the plugin files under
/your/site/grav/user/plugins/anchors
# Usage
To best understand how Anchors works, you should read through the original [project documentation](https://github.com/bryanbraun/anchorjs).
## Show Menu of Anchors
If you want to use the generated links to also generate a menu from these anchors, just put the function below in the template file Twig:
```
{{ anchors(content, tag, terms) }}
```
The function accepts 3 parameters:
* **content:** this parameter is the content of the page in which the function will search for all content and separate only the tags and their contents defined by the second parameter. E.g. `page.content`
* **tag:** this parameter will be the string of the tag used to make the menu. E.g. `h2`
* **terms:** this parameter is to exclude terms that you do not wish to include in the menu formation that is between the tag passed in the second parameter. The value passed is a string separated by comma to identify each term. Ex: `title 01, title 02`
For example:
```
{{ anchors(page.content, 'h2') }}
```
When rendered the function will return a formed HTML with `<ul>` and the links of the anchors in each `<li>`.
## Configuration:
Simply copy the `user/plugins/breadcrumbs/anchors.yaml` into `user/config/plugins/anchors.yaml` and make your modifications.
enabled: true # enable or disable the plugin
active: true # active by default, if false then you must activate per-page
selectors: 'h1,h2,h3,h4' # css elements to activate on. Uses jQuery style selectors
placement: right # either "left" or "right"
visible: hover # Active on "hover" or "always" visible
icon: # default link or a specific character like: #, ¶, ❡, and §.
class: # adds the provided class to the anchor html
truncate: 64 # truncates the generated ID to the specified character length
You can override any default settings from the page headers:
eg:
---
title: Sample Code With Custom Theme
anchors:
active: true
selectors: .blog h1, .blog h2
---
# Header
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas accumsan porta diam,
nec sagittis odio euismod nec. Etiam eu rutrum eros.
## Sub Header
Proin commodo lobortis elementum.
Integer vel ultrices massa, nec ornare urna. Phasellus tincidunt rutrum dolor, vestibulum
faucibus ligula laoreet id. Donec hendrerit arcu vitae lacus mattis facilisis. Praesent
tortor nibh, pulvinar nec orci ac, rhoncus pharetra nunc.
You can also disable anchors for a particular page if causes issues:
---
title: Sample Code with Highlight disabled
anchors:
active: false
---
# Header
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas accumsan porta diam,
nec sagittis odio euismod nec. Etiam eu rutrum eros.
## Sub Header
Proin commodo lobortis elementum.
Integer vel ultrices massa, nec ornare urna. Phasellus tincidunt rutrum dolor, vestibulum
faucibus ligula laoreet id. Donec hendrerit arcu vitae lacus mattis facilisis. Praesent
tortor nibh, pulvinar nec orci ac, rhoncus pharetra nunc.
> Note: If you want to see this plugin in action, have a look at [Grav Learn Site](http://learn.getgrav.org)

View File

@ -1,109 +0,0 @@
<?php
namespace Grav\Plugin;
use \Grav\Common\Plugin;
use \Grav\Common\Grav;
use \Grav\Common\Page\Page;
class AnchorsPlugin extends Plugin
{
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
'onPluginsInitialized' => ['onPluginsInitialized', 0]
];
}
/**
* Initialize configuration
*/
public function onPluginsInitialized()
{
if ($this->isAdmin()) {
$this->active = false;
} else {
$this->enable([
'onPageInitialized' => ['onPageInitialized', 0],
'onTwigSiteVariables' => ['onTwigSiteVariables', 0],
'onTwigExtensions' => ['onTwigExtensions', 0]
]);
}
}
public function onTwigExtensions()
{
$config = $this->config->get('plugins.anchors.selectors');
require_once(__DIR__ . '/twig/AnchorsTwigExtension.php');
$this->grav['twig']->twig->addExtension(new AnchorsTwigExtension($config));
}
/**
* Initialize configuration
*/
public function onPageInitialized()
{
$defaults = (array) $this->config->get('plugins.anchors');
/** @var Page $page */
$page = $this->grav['page'];
if (isset($page->header()->anchors)) {
$this->config->set('plugins.anchors', array_merge($defaults, $page->header()->anchors));
}
}
/**
* if enabled on this page, load the JS + CSS and set the selectors.
*/
public function onTwigSiteVariables()
{
if ($this->config->get('plugins.anchors.active')) {
$selectors = $this->config->get('plugins.anchors.selectors', 'h1,h2,h3,h4');
$visible = "visible: '{$this->config->get('plugins.anchors.visible', 'hover')}',";
$placement = "placement: '{$this->config->get('plugins.anchors.placement', 'right')}',";
$icon = $this->config->get('plugins.anchors.icon') ? "icon: '{$this->config->get('plugins.anchors.icon')}'," : '';
$class = $this->config->get('plugins.anchors.class') ? "class: '{$this->config->get('plugins.anchors.class')}'," : '';
$truncate = "truncate: {$this->config->get('plugins.anchors.truncate', 64)}";
$this->grav['assets']->addJs('plugin://anchors/js/anchor.min.js');
$anchors_init =
"document.addEventListener('DOMContentLoaded', function() {
anchors.options = {
$visible
$placement
$icon
$class
$truncate
};
anchors.add('$selectors');
});";
$this->grav['assets']->addInlineJs($anchors_init);
if ($this->config->get('plugins.anchors.copy_to_clipboard')) {
$clipboard_init =
'document.addEventListener("DOMContentLoaded", function() {
for (var r=0; r < document.getElementsByClassName("anchorjs-link").length; r++) {
var danchors = document.getElementsByClassName("anchorjs-link");
var danchorshref = danchors[r].href;
danchors[r].setAttribute("data-clipboard-text",danchorshref);
}
let anchorjsLinks = document.querySelectorAll(".anchorjs-link");
anchorjsLinks.forEach(el => {
el.addEventListener("click", event => {
event.preventDefault();
// add custom "copy to clipboard" code
new ClipboardJS(".anchorjs-link");
});
});
});';
$this->grav['assets']->addJs('plugin://anchors/js/clipboard.min.js');
$this->grav['assets']->addInlineJs($clipboard_init);
}
}
}
}

View File

@ -1,9 +0,0 @@
enabled: true # enable or disable the plugin
active: true # active by default, if false then you must activate per-page
selectors: 'h1,h2,h3,h4' # css elements to activate on. Uses jQuery style selectors
placement: right # either "left" or "right"
visible: hover # Active on "hover" or "always" visible
icon: # default link or a specific character like: #, ¶, ❡, and §.
class: # adds the provided class to the anchor html
truncate: 64 # truncates the generated ID to the specified character length
copy_to_clipboard: false # copies the link to clipboard when clicking

View File

@ -1,107 +0,0 @@
name: Anchors
type: plugin
slug: anchors
version: 1.6.0
description: "This plugin provides automatic header anchors via the [anchorjs](http://bryanbraun.github.io/anchorjs) jQuery plugin."
icon: anchor
author:
name: Team Grav
email: devs@getgrav.org
url: http://getgrav.org
homepage: https://github.com/getgrav/grav-plugin-anchors
demo: http://learn.getgrav.org
keywords: anchor, header, plugin, code
bugs: https://github.com/getgrav/grav-plugin-anchors/issues
license: MIT
dependencies:
- { name: grav, version: '>=1.6.0' }
form:
validation: strict
fields:
enabled:
type: toggle
label: PLUGIN_ADMIN.PLUGIN_STATUS
highlight: 1
default: 0
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
active:
type: toggle
label: Active
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
help: Activate for all pages. If disabled then you must activate per-page
selectors:
type: text
label: Selectors
size: large
default: 'h1,h2,h3,h4'
placeholder: "Anchor Selectors"
help: Comma separated list of header selectors to activate on
placement:
type: select
label: Placement
classes: fancy
help: "Either `left` or `right`"
default: 'right'
options:
'left': 'left'
'right': 'right'
visible:
type: select
label: Visible
classes: fancy
help: "Hover activates on `hover` else will always display"
default: 'hover'
options:
'hover': 'hover'
'always': 'always'
icon:
type: text
label: Icon
size: medium
default: ''
help: "Replace the default link icon with the character(s) provided, e.g. #, ¶, ❡ or §"
class:
type: text
label: Class
size: medium
default: ''
help: "Adds the provided class to the anchor html"
truncate:
type: text
size: x-small
label: Truncate
help: "Truncates the generated ID to the specified character length"
default: 64
validate:
type: number
min: 0
copy_to_clipboard:
type: toggle
label: Copy to clipboard
highlight: 0
default: 0
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
help: Instead of scrolling to the item when clicking, you can enabled this option to copy the link to the clipboard automatically

View File

@ -1,15 +0,0 @@
{
"project":"grav-plugin-anchors",
"platforms":{
"grav":{
"nodes":{
"plugin":[
{
"source":"/",
"destination":"/user/plugins/anchors"
}
]
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,142 +0,0 @@
<?php
namespace Grav\Plugin;
class AnchorsTwigExtension extends \Twig_Extension
{
private $config;
public function __construct($config)
{
$this->config = $config;
}
public function getName()
{
return 'AnchorsTwigExtension';
}
public function getFunctions()
{
return [
new \Twig_SimpleFunction('anchors', [$this, 'anchorsFunction'])
];
}
/**
* Get a list of anchors link
*
* @param $content
* @param $tag
* @return string
*/
public function anchorsFunction($content, $tag = 'h2', $terms = null)
{
$configTags = array_map('trim', explode(',',$this->config));
if (in_array($tag, $configTags)){
$textMenu = [];
$rx = '/<'.$tag.'>(.*)<\/'.$tag.'>/';
preg_match_all($rx, $content, $group);
if (!empty($group[1])){
if (!empty($terms)){
$termsArray = array_map('trim', explode(',',$terms));
$elements = array_diff($group[1],$termsArray);
}else{
$elements = $group[1];
}
foreach($elements as $element){
$textMenu[] = $element;
}
$html = $this->getHtmlTag($textMenu);
}else{
$html = '';
}
}else{
$tag = current($configTags);
$html = $this->anchorsFunction($tag, $content);
}
return $html;
}
/**
* Mount the html of anchors link
*
* @param $itens
* @return string
*/
private function getHtmlTag($itens)
{
$html = '';
$html .= '<ul class="items-menus-page">';
foreach($itens as $item){
$html .= '<li><a href="#'.$this->getUrl($item).'">'.$this->textLimit($item, 50, false).'</a></li>';
}
$html .= '</ul>';
return $html;
}
/**
* Get url whithout special characters
*
* @param $text
* @return string
*/
private function getUrl($text)
{
$rx1 = array('ä','ã','à','á','â','ê','ë','è','é','ï','ì','í','ö','õ','ò','ó','ô','ü','ù','ú','û','À','Á','Â','Ã','É','Ê','Ô','Í','Ó','Õ','Ú','ñ','Ñ','ç','Ç');
$rx2 = '/\'/';
$rx3 = '/[& \+\$,:;=\?@"#\{\}\|\^~\[`%!\'<>\]\.\/\(\)\*ºª]/';
$rx4 = '/-{2,}/';
$rx5 = '/\^-+|-+$/';
$urlAnchor1 = str_replace('', '-', str_replace($rx1, '', $text));
$urlAnchor2 = preg_replace($rx2, '', $urlAnchor1);
$urlAnchor3 = preg_replace($rx3, '-', $urlAnchor2);
$urlAnchor4 = $this->textLimit(preg_replace($rx4, '-', $urlAnchor3), 64);
$urlAnchor5 = preg_replace($rx5, '', $urlAnchor4);
$urlAnchorFinal = strtolower($urlAnchor5);
return $urlAnchorFinal;
}
/**
* It limit characters total in exit
*
* @param $text
* @param $limit
* @param bool|true $url //verify if type content is url or title
* @return string
*/
private function textLimit($text, $limit, $url = true)
{
$count = strlen($text);
if ( $count >= $limit ) {
if ($url){
$text = substr($text, 0, $limit);
return $text;
}else {
$text = substr($text, 0, strrpos(substr($text, 0, $limit), ' ')) . '...';
return $text;
}
}
else{
return $text;
}
}
}

View File

@ -1,67 +0,0 @@
# v1.6.1
## 12/02/2020
1. [](#improved)
* Minor default template improvements
# v1.6.0
## 04/22/2020
1. [](#new)
* Added `schema.org/BreadcrumbList` [#29]
* Added per-page option to control breadcrumbs [#20]
* Added various translations [#17][#18][#19]
* Pass phpstan level 1 tests
* Require Grav v1.6
# v1.5.1
## 10/24/2017
1. [](#improved)
* Add option to ignore current page [#11]
* Removed Grav trait in favor of `Grav::instance()`
# v1.5.0
## 07/14/2016
1. [](#improved)
* non-routable pages are not linked
# v1.4.0
## 08/25/2015
1. [](#improved)
* Added blueprints for Grav Admin plugin
# v1.3.0
## 03/06/2015
1. [](#new)
* Added toggle for showing home item
* Added configurable home icon
* Added configurable divider icon
* Added toggle to link trailing item
# v1.2.3
## 02/05/2015
2. [](#improved)
* Added support for HHVM
# v1.2.2
## 01/23/2015
2. [](#improved)
* Added microdata information
# v1.2.1
## 01/09/2015
2. [](#improved)
* NOTE: BREAKING CHANGE: Moved templates into `partials/` subfolder for consistency.
# v1.2.0
## 11/30/2014
1. [](#new)
* ChangeLog started...

View File

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

View File

@ -1,101 +0,0 @@
# Grav Breadcrumbs Plugin
![Breadcrumbs](assets/readme_1.png)
`Breadcrumbs` is a [Grav](http://github.com/getgrav/grav) plugin that adds links to the previous pages (following the hierarchical structure).
It is particularly useful if you are using Grav to run a blog.
# Installation
Installing the Breadcrumbs plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file.
## GPM Installation (Preferred)
The simplest way to install this plugin 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 breadcrumbs
This will install the Breadcrumbs plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/breadcrumbs`.
## Manual Installation
To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `breadcrumbs`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-breadcrumbs) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras).
You should now have all the plugin files under
/your/site/grav/user/plugins/breadcrumbs
>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins, and a theme to be installed in order to operate.
# Usage
The `breadcrumbs` plugin doesn't require any configuration. The moment you install it, it is ready to use.
Something you might want to do is to override the look and feel of the breadcrumbs, and with Grav it is super easy.
Copy the template file [breadcrumbs.html.twig](templates/partials/breadcrumbs.html.twig) into the `templates` folder of your custom theme, and that is it.
```
/your/site/grav/user/themes/custom-theme/templates/partials/breadcrumbs.html.twig
```
You can now edit the override and tweak it however you prefer.
## Per-page Settings
The following options are available for use in a page's YAML frontmatter, placed within the `breadcrumbs` mapping:
| Option | Default | Values | Description |
|-------------|---------|-------------------|--------------------------------------------------------------------------------------|
| `max_depth` | `true` | `true` or `false` | Determines whether breadcrumbs for pages beneath the current page will be generated. |
### Example Per-page Settings
```yaml
---
title: Some page you wrote
breadcrumbs:
may_descend: false # Breadcrumbs will not be generated for pages underneath this one.
---
```
# Updating
As development for the Breadcrumbs plugin 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 Breadcrumbs is easy, and can be done through Grav's GPM system, as well as manually.
## GPM Update (Preferred)
The simplest way to update this plugin 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 breadcrumbs
This command will check your Grav install to see if your Breadcrumbs plugin 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 plugin will automatically update and clear Grav's cache.
## Manual Update
Manually updating Breadcrumbs is pretty simple. Here is what you will need to do to get this done:
* Delete the `your/site/user/plugins/breadcrumbs` directory.
* Download the new version of the Breadcrumbs plugin from either [GitHub](https://github.com/getgrav/grav-plugin-breadcrumbs) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras).
* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `breadcrumbs`.
* 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/plugins`) will remain intact.
## Configuration
Simply copy the `user/plugins/breadcrumbs/breadcrumbs.yaml` into `user/config/plugins/breadcrumbs.yaml` and make your modifications.
```
enabled: true
show_all: true
built_in_css: true
include_home: true
include_current: true
icon_home: ''
icon_divider_classes: 'fa fa-angle-right'
link_trailing: false
```
Options are pretty self explanatory.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

View File

@ -1,99 +0,0 @@
name: Breadcrumbs
type: plugin
slug: breadcrumbs
version: 1.6.1
description: The **Breadcrumbs** plugin provides a simple method to display the depth of your content/navigation structure.
icon: caret-square-o-right
author:
name: Team Grav
email: devs@getgrav.org
url: http://getgrav.org
homepage: https://github.com/getgrav/grav-plugin-breadcrumbs
demo: http://demo.getgrav.org/blog-skeleton
keywords: breadcrumbs, plugin, navigation, depth
bugs: https://github.com/getgrav/grav-plugin-breadcrumbs/issues
license: MIT
dependencies:
- { name: grav, version: '>=1.6.0' }
form:
validation: strict
fields:
enabled:
type: toggle
label: PLUGIN_ADMIN.PLUGIN_STATUS
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
show_all:
type: toggle
label: PLUGIN_BREADCRUMBS.SHOW_WITH_ONE_ITEM
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
built_in_css:
type: toggle
label: PLUGIN_BREADCRUMBS.BUILTIN_CSS
highlight: 1
default: 1
help: PLUGIN_BREADCRUMBS.BUILTIN_CSS_HELP
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
include_home:
type: toggle
label: PLUGIN_BREADCRUMBS.INCLUDE_HOME
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
include_current:
type: toggle
label: PLUGIN_BREADCRUMBS.INCLUDE_CURRENT_PAGE
highlight: 1
default: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
icon_home:
type: text
size: medium
label: PLUGIN_BREADCRUMBS.ICON_HOME
default: ''
icon_divider_classes:
type: text
size: medium
label: PLUGIN_BREADCRUMBS.ICON_DIVIDER_CLASSES
default: 'fa fa-angle-right'
link_trailing:
type: toggle
label: PLUGIN_BREADCRUMBS.LINK_TRAILING
highlight: 1
default: 0
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool

View File

@ -1,70 +0,0 @@
<?php
namespace Grav\Plugin;
use Composer\Autoload\ClassLoader;
use Grav\Common\Plugin;
use Grav\Plugin\Breadcrumbs\Breadcrumbs;
class BreadcrumbsPlugin extends Plugin
{
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
'onPluginsInitialized' => [
['autoload', 100001],
['onPluginsInitialized', 0]
]
];
}
/**
* [onPluginsInitialized:100000] Composer autoload.
*
* @return ClassLoader
*/
public function autoload()
{
return require __DIR__ . '/vendor/autoload.php';
}
/**
* Initialize configuration
*/
public function onPluginsInitialized()
{
if ($this->isAdmin()) {
$this->active = false;
return;
}
class_alias(Breadcrumbs::class, 'Grav\\Plugin\\Breadcrumbs');
$this->enable([
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0],
'onTwigSiteVariables' => ['onTwigSiteVariables', 0]
]);
}
/**
* Add current directory to twig lookup paths.
*/
public function onTwigTemplatePaths()
{
$this->grav['twig']->twig_paths[] = __DIR__ . '/templates';
}
/**
* Set needed variables to display breadcrumbs.
*/
public function onTwigSiteVariables()
{
$this->grav['twig']->twig_vars['breadcrumbs'] = new Breadcrumbs($this->config->get('plugins.breadcrumbs'));
if ($this->config->get('plugins.breadcrumbs.built_in_css')) {
$this->grav['assets']->add('plugin://breadcrumbs/css/breadcrumbs.css');
}
}
}

View File

@ -1,8 +0,0 @@
enabled: true
show_all: true
built_in_css: true
include_home: true
include_current: true
icon_home: ''
icon_divider_classes: 'fa fa-angle-right'
link_trailing: false

View File

@ -1,123 +0,0 @@
<?php
namespace Grav\Plugin\Breadcrumbs;
use Grav\Common\Grav;
class Breadcrumbs
{
/**
* @var array
*/
protected $breadcrumbs;
/**
* @var array
*/
protected $config;
/**
* @param $config
*/
public function __construct($config)
{
$this->config = $config;
}
/**
* Return an array of breadcrumbs for the current page.
*
* @return array An array of breadcrumbs.
*/
public function get()
{
// If the breadcrumbs have not yet been generated...
if (!$this->breadcrumbs) {
// Generate them now.
$this->build();
}
return $this->breadcrumbs;
}
/**
* Build the array of breadcrumbs.
*
* The array is generated by starting at the current page and then climbing
* the hierarchy until the root is reached. The resulting crumbs are then
* stored in the $breadcrumbs instance variable.
*
* @internal
*/
protected function build()
{
// Used to hold the breadcrumbs as they are being generated.
$hierarchy = array();
$grav = Grav::instance();
$current = $grav['page'];
// If the page is not routable...
if (!$current) {
// Set up an empty array of crumbs.
$this->breadcrumbs = array();
return;
}
// If we are not at the root page...
if (!$current->root()) {
// If we are configured to include the current page...
if ($this->config['include_current']) {
// Place the current page in the hierarchy.
$hierarchy[$current->url()] = $current;
}
$current = $current->parent();
// As long as $current does not contain the root page...
while ($current && !$current->root()) {
// Get the frontmatter of the page.
$header = $current->header();
// Assume we may descend unless otherwise told.
$may_descend = true;
// If the frontmatter contains a value for $may_descend...
if(isset(
$header->breadcrumbs,
$header->breadcrumbs['may_descend']
)) {
// Get that value.
$may_descend = $header->breadcrumbs['may_descend'];
}
// Then, if breadcrumbs should stop at this page...
if ($may_descend === false) {
// Empty the $hierarchy.
$hierarchy = [];
}
// Place the current page in the hierarchy.
$hierarchy[$current->url()] = $current;
// Get the parent of the current page.
$current = $current->parent();
}
}
// If we are configured to include the home page...
if ($this->config['include_home']) {
// Get the home page.
$home = $grav['pages']->dispatch('/');
// If the home page isn't already in the hierarchy...
if ($home && !array_key_exists($home->url(), $hierarchy)) {
// Place the home page in the hierarchy.
$hierarchy[] = $home;
}
}
// Reverse the array of breadcrumbs, so that they are in descending
// order.
$this->breadcrumbs = array_reverse($hierarchy);
}
}

View File

@ -1,32 +0,0 @@
{
"name": "grav-plugin-breadcrumbs",
"type": "grav-plugin",
"description": "Breadcrumbs plugin for Grav CMS",
"keywords": ["breadcrumbs"],
"homepage": "https://github.com/getgrav/grav-plugin-breadcrumbs/",
"license": "MIT",
"authors": [
{
"name": "Team Grav",
"email": "devs@getgrav.org",
"homepage": "http://getgrav.org",
"role": "Developer"
}
],
"require": {
"php": ">=7.1.3",
"ext-json": "*",
"ext-mbstring": "*"
},
"autoload": {
"psr-4": {
"Grav\\Plugin\\Breadcrumbs\\": "classes/plugin"
},
"classmap": ["breadcrumbs.php"]
},
"config": {
"platform": {
"php": "7.1.3"
}
}
}

View File

@ -1,24 +0,0 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "df6ebb29e1322fb9746644198a99943b",
"packages": [],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": ">=7.1.3",
"ext-json": "*",
"ext-mbstring": "*"
},
"platform-dev": [],
"platform-overrides": {
"php": "7.1.3"
}
}

View File

@ -1,18 +0,0 @@
#breadcrumbs {
height: 3rem;
line-height: 3rem;
padding-left: 3rem;
}
#breadcrumbs span {
display: inline-block;
padding: 0 1rem;
}
#breadcrumbs span:first-child {
padding-left: 0;
}
#breadcrumbs i {
display: inline-block;
width: 20px;
text-align: center;
}

View File

@ -1,15 +0,0 @@
{
"project":"grav-plugin-breadcrumbs",
"platforms":{
"grav":{
"nodes":{
"plugin":[
{
"source":"/",
"destination":"/user/plugins/breadcrumbs"
}
]
}
}
}
}

View File

@ -1,32 +0,0 @@
en:
PLUGIN_BREADCRUMBS:
SHOW_WITH_ONE_ITEM: 'Show even with one item'
BUILTIN_CSS: 'Use built in CSS'
BUILTIN_CSS_HELP: 'Include the CSS provided by the plugin'
INCLUDE_HOME: 'Include Home'
INCLUDE_CURRENT_PAGE: 'Include Current Page'
ICON_HOME: 'Icon home'
ICON_DIVIDER_CLASSES: 'Icon Divider Classes'
LINK_TRAILING: 'Link Trailing'
uk:
PLUGIN_BREADCRUMBS:
SHOW_WITH_ONE_ITEM: 'Показувати навіть з одним елементом'
BUILTIN_CSS: 'Використовувати вбудований CSS'
BUILTIN_CSS_HELP: 'Включити CSS, що надається плагіном'
INCLUDE_HOME: 'Включити головну сторінку'
INCLUDE_CURRENT_PAGE: 'Включати активну сторінку'
ICON_HOME: 'Іконка головної сторінки'
ICON_DIVIDER_CLASSES: 'Клас іконки розділювача'
LINK_TRAILING: 'Трейлінг посилання'
ru:
PLUGIN_BREADCRUMBS:
SHOW_WITH_ONE_ITEM: 'Показывать даже с одним элементом'
BUILTIN_CSS: 'Использовать встроенный CSS'
BUILTIN_CSS_HELP: 'Включить CSS, предоставляемый плагином'
INCLUDE_HOME: 'Включить главную страницу'
INCLUDE_CURRENT_PAGE: 'Включать текущую страницу'
ICON_HOME: 'Иконка главной страницы'
ICON_DIVIDER_CLASSES: 'Класс иконки разделителя'
LINK_TRAILING: 'Трейлинг ссылки'

View File

@ -1,38 +0,0 @@
{% set crumbs = breadcrumbs.get() %}
{% set breadcrumbs_config = config.plugins.breadcrumbs %}
{% set divider = breadcrumbs_config.icon_divider_classes %}
{% if crumbs|length > 1 or breadcrumbs_config.show_all %}
<div id="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList">
{% if breadcrumbs_config.icon_home %}
<i class="{{ breadcrumbs_config.icon_home }}"></i>
{% endif %}
{% for crumb in crumbs %}
<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
{% if not loop.last %}
{% if crumb.routable %}
<a itemscope itemtype="http://schema.org/Thing" itemprop="item" href="{{ crumb.url|e }}" itemid="{{ crumb.url|e }}">
<span itemprop="name">{{ crumb.menu|e }}</span>
</a>
{% else %}
<span itemscope itemtype="http://schema.org/Thing" itemprop="item" itemid="{{ crumb.url|e }}">
<span itemprop="name">{{ crumb.menu|e }}</span>
</span>
{% endif %}
<i class="{{ divider }}"></i>
{% else %}
{% if breadcrumbs_config.link_trailing %}
<a itemscope itemtype="http://schema.org/Thing" itemprop="item" href="{{ crumb.url|e }}" itemid="{{ crumb.url|e }}">
<span itemprop="name">{{ crumb.menu|e }}</span>
</a>
{% else %}
<span itemscope itemtype="http://schema.org/Thing" itemprop="item" itemid="{{ crumb.url|e }}">
<span itemprop="name">{{ crumb.menu|e }}</span>
</span>
{% endif %}
{% endif %}
<meta itemprop="position" content="{{ loop.index }}" />
</span>
{% endfor %}
</div>
{% endif %}

View File

@ -1,7 +0,0 @@
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit3ccdcd6f1ac1044c32372e7c5a66846a::getLoader();

View File

@ -1,445 +0,0 @@
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Composer\Autoload;
/**
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
*
* $loader = new \Composer\Autoload\ClassLoader();
*
* // register classes with namespaces
* $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework');
*
* // activate the autoloader
* $loader->register();
*
* // to enable searching the include path (eg. for PEAR packages)
* $loader->setUseIncludePath(true);
*
* In this example, if you try to use a class in the Symfony\Component
* namespace or one of its children (Symfony\Component\Console for instance),
* the autoloader will first look for the class under the component/
* directory, and it will then fallback to the framework/ directory if not
* found before giving up.
*
* This class is loosely based on the Symfony UniversalClassLoader.
*
* @author Fabien Potencier <fabien@symfony.com>
* @author Jordi Boggiano <j.boggiano@seld.be>
* @see http://www.php-fig.org/psr/psr-0/
* @see http://www.php-fig.org/psr/psr-4/
*/
class ClassLoader
{
// PSR-4
private $prefixLengthsPsr4 = array();
private $prefixDirsPsr4 = array();
private $fallbackDirsPsr4 = array();
// PSR-0
private $prefixesPsr0 = array();
private $fallbackDirsPsr0 = array();
private $useIncludePath = false;
private $classMap = array();
private $classMapAuthoritative = false;
private $missingClasses = array();
private $apcuPrefix;
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
}
return array();
}
public function getPrefixesPsr4()
{
return $this->prefixDirsPsr4;
}
public function getFallbackDirs()
{
return $this->fallbackDirsPsr0;
}
public function getFallbackDirsPsr4()
{
return $this->fallbackDirsPsr4;
}
public function getClassMap()
{
return $this->classMap;
}
/**
* @param array $classMap Class to filename map
*/
public function addClassMap(array $classMap)
{
if ($this->classMap) {
$this->classMap = array_merge($this->classMap, $classMap);
} else {
$this->classMap = $classMap;
}
}
/**
* Registers a set of PSR-0 directories for a given prefix, either
* appending or prepending to the ones previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 root directories
* @param bool $prepend Whether to prepend the directories
*/
public function add($prefix, $paths, $prepend = false)
{
if (!$prefix) {
if ($prepend) {
$this->fallbackDirsPsr0 = array_merge(
(array) $paths,
$this->fallbackDirsPsr0
);
} else {
$this->fallbackDirsPsr0 = array_merge(
$this->fallbackDirsPsr0,
(array) $paths
);
}
return;
}
$first = $prefix[0];
if (!isset($this->prefixesPsr0[$first][$prefix])) {
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
return;
}
if ($prepend) {
$this->prefixesPsr0[$first][$prefix] = array_merge(
(array) $paths,
$this->prefixesPsr0[$first][$prefix]
);
} else {
$this->prefixesPsr0[$first][$prefix] = array_merge(
$this->prefixesPsr0[$first][$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-4 directories for a given namespace, either
* appending or prepending to the ones previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
* @param bool $prepend Whether to prepend the directories
*
* @throws \InvalidArgumentException
*/
public function addPsr4($prefix, $paths, $prepend = false)
{
if (!$prefix) {
// Register directories for the root namespace.
if ($prepend) {
$this->fallbackDirsPsr4 = array_merge(
(array) $paths,
$this->fallbackDirsPsr4
);
} else {
$this->fallbackDirsPsr4 = array_merge(
$this->fallbackDirsPsr4,
(array) $paths
);
}
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
// Register directories for a new namespace.
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
} elseif ($prepend) {
// Prepend directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
(array) $paths,
$this->prefixDirsPsr4[$prefix]
);
} else {
// Append directories for an already registered namespace.
$this->prefixDirsPsr4[$prefix] = array_merge(
$this->prefixDirsPsr4[$prefix],
(array) $paths
);
}
}
/**
* Registers a set of PSR-0 directories for a given prefix,
* replacing any others previously set for this prefix.
*
* @param string $prefix The prefix
* @param array|string $paths The PSR-0 base directories
*/
public function set($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr0 = (array) $paths;
} else {
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
}
}
/**
* Registers a set of PSR-4 directories for a given namespace,
* replacing any others previously set for this namespace.
*
* @param string $prefix The prefix/namespace, with trailing '\\'
* @param array|string $paths The PSR-4 base directories
*
* @throws \InvalidArgumentException
*/
public function setPsr4($prefix, $paths)
{
if (!$prefix) {
$this->fallbackDirsPsr4 = (array) $paths;
} else {
$length = strlen($prefix);
if ('\\' !== $prefix[$length - 1]) {
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
}
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
$this->prefixDirsPsr4[$prefix] = (array) $paths;
}
}
/**
* Turns on searching the include path for class files.
*
* @param bool $useIncludePath
*/
public function setUseIncludePath($useIncludePath)
{
$this->useIncludePath = $useIncludePath;
}
/**
* Can be used to check if the autoloader uses the include path to check
* for classes.
*
* @return bool
*/
public function getUseIncludePath()
{
return $this->useIncludePath;
}
/**
* Turns off searching the prefix and fallback directories for classes
* that have not been registered with the class map.
*
* @param bool $classMapAuthoritative
*/
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = $classMapAuthoritative;
}
/**
* Should class lookup fail if not found in the current class map?
*
* @return bool
*/
public function isClassMapAuthoritative()
{
return $this->classMapAuthoritative;
}
/**
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
*
* @param string|null $apcuPrefix
*/
public function setApcuPrefix($apcuPrefix)
{
$this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
}
/**
* The APCu prefix in use, or null if APCu caching is not enabled.
*
* @return string|null
*/
public function getApcuPrefix()
{
return $this->apcuPrefix;
}
/**
* Registers this instance as an autoloader.
*
* @param bool $prepend Whether to prepend the autoloader or not
*/
public function register($prepend = false)
{
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
}
/**
* Unregisters this instance as an autoloader.
*/
public function unregister()
{
spl_autoload_unregister(array($this, 'loadClass'));
}
/**
* Loads the given class or interface.
*
* @param string $class The name of the class
* @return bool|null True if loaded, null otherwise
*/
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
includeFile($file);
return true;
}
}
/**
* Finds the path to the file where the class is defined.
*
* @param string $class The name of the class
*
* @return string|false The path if found, false otherwise
*/
public function findFile($class)
{
// class map lookup
if (isset($this->classMap[$class])) {
return $this->classMap[$class];
}
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
return false;
}
if (null !== $this->apcuPrefix) {
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
if ($hit) {
return $file;
}
}
$file = $this->findFileWithExtension($class, '.php');
// Search for Hack files if we are running on HHVM
if (false === $file && defined('HHVM_VERSION')) {
$file = $this->findFileWithExtension($class, '.hh');
}
if (null !== $this->apcuPrefix) {
apcu_add($this->apcuPrefix.$class, $file);
}
if (false === $file) {
// Remember that this class does not exist.
$this->missingClasses[$class] = true;
}
return $file;
}
private function findFileWithExtension($class, $ext)
{
// PSR-4 lookup
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
$first = $class[0];
if (isset($this->prefixLengthsPsr4[$first])) {
$subPath = $class;
while (false !== $lastPos = strrpos($subPath, '\\')) {
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath.'\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {
if (file_exists($file = $dir . $pathEnd)) {
return $file;
}
}
}
}
}
// PSR-4 fallback dirs
foreach ($this->fallbackDirsPsr4 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
return $file;
}
}
// PSR-0 lookup
if (false !== $pos = strrpos($class, '\\')) {
// namespaced class name
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
} else {
// PEAR-like class name
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
}
if (isset($this->prefixesPsr0[$first])) {
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
if (0 === strpos($class, $prefix)) {
foreach ($dirs as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
}
}
}
// PSR-0 fallback dirs
foreach ($this->fallbackDirsPsr0 as $dir) {
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
return $file;
}
}
// PSR-0 include paths.
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
return $file;
}
return false;
}
}
/**
* Scope isolated include.
*
* Prevents access to $this/self from included files.
*/
function includeFile($file)
{
include $file;
}

View File

@ -1,21 +0,0 @@
Copyright (c) Nils Adermann, Jordi Boggiano
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.

View File

@ -1,10 +0,0 @@
<?php
// autoload_classmap.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Grav\\Plugin\\BreadcrumbsPlugin' => $baseDir . '/breadcrumbs.php',
);

View File

@ -1,9 +0,0 @@
<?php
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
);

View File

@ -1,10 +0,0 @@
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Grav\\Plugin\\Breadcrumbs\\' => array($baseDir . '/classes/plugin'),
);

View File

@ -1,52 +0,0 @@
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit3ccdcd6f1ac1044c32372e7c5a66846a
{
private static $loader;
public static function loadClassLoader($class)
{
if ('Composer\Autoload\ClassLoader' === $class) {
require __DIR__ . '/ClassLoader.php';
}
}
public static function getLoader()
{
if (null !== self::$loader) {
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit3ccdcd6f1ac1044c32372e7c5a66846a', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit3ccdcd6f1ac1044c32372e7c5a66846a', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit3ccdcd6f1ac1044c32372e7c5a66846a::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
}
$loader->register(true);
return $loader;
}
}

View File

@ -1,36 +0,0 @@
<?php
// autoload_static.php @generated by Composer
namespace Composer\Autoload;
class ComposerStaticInit3ccdcd6f1ac1044c32372e7c5a66846a
{
public static $prefixLengthsPsr4 = array (
'G' =>
array (
'Grav\\Plugin\\Breadcrumbs\\' => 24,
),
);
public static $prefixDirsPsr4 = array (
'Grav\\Plugin\\Breadcrumbs\\' =>
array (
0 => __DIR__ . '/../..' . '/classes/plugin',
),
);
public static $classMap = array (
'Grav\\Plugin\\BreadcrumbsPlugin' => __DIR__ . '/../..' . '/breadcrumbs.php',
);
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit3ccdcd6f1ac1044c32372e7c5a66846a::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit3ccdcd6f1ac1044c32372e7c5a66846a::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit3ccdcd6f1ac1044c32372e7c5a66846a::$classMap;
}, null, ClassLoader::class);
}
}

View File

@ -1 +0,0 @@
[]

View File

@ -1,5 +0,0 @@
git:
learn2:
url: https://github.com/getgrav/grav-theme-learn2
path: user/themes/learn2
branch: master

View File

@ -1,6 +0,0 @@
# OS Generated
.DS_Store*
thumbs.db
Icon?
Thumbs.db
*.swp

View File

@ -1,321 +0,0 @@
# v1.6.6
## 03/08/2022
1. [](#bugfix)
* Fixed getgrav.org link at the bottom of the sidebar (thanks @timinator2020)
# v1.6.5
## 03/21/2021
1. [](#improved)
* Updated demo pages in theme '_demo' folder
# v1.6.4
## 02/28/2021
1. [](#improved)
* Reduced plugin dependencies, thanks to the new Grav Skeleton build process
# v1.6.3
## 02/15/2021
1. [](#bugfix)
* Removed tab characters from comment indent (thanks @holehan)
# v1.6.2
## 01/26/2021
1. [](#improved)
* Updated theme blueprints for Grav 1.7
# v1.6.1
## 01/15/2021
1. [](#new)
* GoogleSlides shortcode updated to handle double `_` characters in URL (thanks @GeorgesPapas)
# v1.6.0
## 01/05/2021
1. [](#new)
* Initial NextGen Editor support for GoogleSlides, H5P and PDF shortcodes
# v1.5.9
## 05/19/2020
1. [](#improved)
* Updated inherited theme file paths for multisite compatibility (thanks to @tituspijean for the PR and @mahagr for the debugging!)
# v1.5.8
## 12/05/2019
1. [](#bugfix)
* Do not display the SimpleSearch field when the SimpleSearch plugin is disabled
# v1.5.7
## 11/25/2019
1. [](#improved)
* 'Top Level Version' theme option now only displays visible pages (thanks @awrog for reporting this issue)
# v1.5.6
## 08/16/2019
1. [](#improved)
* Twig 2.0 compatibility
# v1.5.5
## 06/03/2019
1. [](#improved)
* Updated demo pages in theme '_demo' folder
# v1.5.4
## 05/05/2019
1. [](#improved)
* Updated demo pages in theme '_demo' folder
# v1.5.3
## 05/04/2019
1. [](#improved)
* Updated demo pages in theme '_demo' folder
# v1.5.2
## 05/01/2019
1. [](#bugfix)
* Added missing images folder with clippy.svg and default favicons
# v1.5.1
## 04/12/2019
1. [](#new)
* Added insert Presentation Shortcode button into Editor toolbar
# v1.5.0
## 04/11/2019
1. [](#new)
* Set Grav dependency to 1.6+
* Twig 2.0 compatibility
* Added scripts.html.twig file to hold global JavaScript code
* Added support for document versioning using Grav's multi-language feature (thanks @rhuk)
* Added 'version' alias to 'language' shortcode, for example `[version=20]...[/version]` (thanks @rhuk)
* Added taxonomy 'tag' to default TNTSearch index
* Added Presentation Plugin as dependency
* Added insert Presentation Shortcode button into Editor toolbar
* Added example pages in theme '_demo' folder to include use of the Presentation Plugin
* Implement assets rendering using **Deferred Block** Twig extension
1. [](#improved)
* Improved appearance of versions dropdown menu with custom themes
# v1.3.3
## 04/02/2019
1. [](#new)
* Added scripts.html.twig file to hold global JavaScript code
# v1.3.2
## 03/22/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.3.1
## 03/10/2019
1. [](#bugfix)
* Restored needed 'RocketTheme\Toolbox\Event\Event;' instance
# v1.3.0
## 03/10/2019
1. [](#new)
* Added taxonomy 'tag' to default TNTSearch index
# v1.2.3
## 11/23/2018
1. [](#new)
* Added custom styles 'Spitsbergen' and 'Longyearbyen' (thanks @olevik)
# v1.2.2
## 10/17/2018
1. [](#improved)
* Updated ReadMe, theme description and screenshots
# v1.2.1
## 10/16/2018
1. [](#bugfix)
* Restored CSS styling for display of site title
# v1.2.0
## 10/16/2018
1. [](#new)
* Added custom styles (thanks @olevik)
* Added option to show or hide site title
1. [](#bugfix)
* Fixed issue with default taxonomy categories
# v1.1.0
## 08/25/2018
1. [](#improved)
* Initial multi-language support for Advanced Full-text Search
# v1.0.9
## 08/23/2018
1. [](#bugfix)
* Restored missing Error and Problems Plugin dependencies
# v1.0.8
## 08/22/2018
1. [](#improved)
* Updated screenshots
# v1.0.7
## 08/21/2018
1. [](#improved)
* Added SimpleSearch plugin to theme dependencies
# v1.0.6
## 08/21/2018
1. [](#bugfix)
* Updated URL for Advanced Full-text Search link
# v1.0.5
## 08/21/2018
1. [](#improved)
* Updated TNTSearch box label
1. [](#new)
* Added TNTSearch (full-text search engine) plugin to theme dependencies
# v1.0.4
## 08/21/2018
1. [](#improved)
* Updated theme dependencies
# v1.0.3
## 08/20/2018
1. [](#bugfix)
* Fixed URL for Advanced Full-text Search link
# v1.0.2
## 08/20/2018
1. [](#new)
* Added experimental support for TNTSearch plugin
# v1.0.1
## 08/20/2018
1. [](#new)
* Added configuration for default taxonomy category in theme setting
1. [](#improved)
* Updated theme blueprints
# v1.0.0
## 03/15/2018
1. [](#improved)
* Changed theme author information to Hibbitts Design
# v0.9.84
## 03/01/2018
1. [](#improved)
* Better aligned Git Sync Link Twig code with other Git Sync themes
# v0.9.83
## 02/13/2018
1. [](#bugfix)
* Fixed trailing slash issue with "Edit this page" link (thanks Amiram Korach)
# v0.9.82
## 01/23/2018
1. [](#new)
* Added default content for pages created using Admin Panel button bar
# v0.9.81
## 01/14/2018
1. [](#improved)
* Changed default size of site title to h5 (from h4) to reduce vertical space
# v0.9.8
## 10/23/2017
1. [](#improved)
* Added Highlight plugin as a dependency
1. [](#bugfix)
* Removed unneeded theme default for custom icon in Git Sync link
# v0.9.7
## 10/22/2017
1. [](#new)
* Further streamlined Git Sync setup step by automating 'Edit in Git' tree URL calculation
# v0.9.6
## 07/12/2017
1. [](#bugfix)
* Removed Author field within Page Options (Author taxonomy tag added to Learn2 with Git Sync Skeleton)
# v0.9.5
## 07/11/2017
1. [](#new)
* Added support for RSS feed
* Added Author field within Page Options
1. [](#improved)
* Improved accessibility of sidebar and body link appearance
1. [](#bugfix)
* Removed problematic CSS class for Git Sync note area
# v0.9.4
## 05/30/2017
1. [](#improved)
* Improved wording for 'Git Repository Tree URL' theme config option
# v0.9.3
## 04/18/2017
1. [](#bugfix)
* Fixed theme setup link to work with an inherited theme
# v0.9.2
## 04/10/2017
1. [](#bugfix)
* Fixed Git Sync setup link
# v0.9.1
## 04/10/2017
1. [](#improved)
* Updated dependencies
1. [](#bugfix)
* Fixed twig template URL
# v0.9.0
## 04/03/2017
1. [](#new)
* ChangeLog started...

View File

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

View File

@ -1,90 +0,0 @@
# Learn2 with Git Sync
Learn2 with Git Sync is a customized version of the default [Grav Learn](http://learn.getgrav.org) theme. Includes selectable visual styles.
Want to quickly try out this theme? The [Learn2 with Git Sync Skeleton](https://getgrav.org/downloads/skeletons) is a ready-to-run site with the Learn2 with Git Sync Theme, which also includes the Admin Panel and example content already installed.
![Learn2 with Git Sync](screenshot.jpg)
# Installation
Installing the Learn2 with Git Sync 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 [learn.hibbittsdesign.org](http://learn.hibbittsdesign.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-git-sync
This will install the Learn2 with Git Sync theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/learn2-git-sync`.
## 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-git-sync`.
You should now have all the theme files under
/your/site/grav/user/themes/learn2-git-sync
>> 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 with Git Sync 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 with Git Sync 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-git-sync
This command will check your Grav install to see if your Learn2 with Git Sync 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 with Git Sync is pretty simple. Here is what you will need to do to get this done:
* Delete the `your/site/user/themes/learn2-git-sync` directory.
* Download the new version of the Learn2 with Git Sync theme from either [GitHub](https://github.com/hibbitts-design/grav-theme-learn2-git-sync) 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-git-sync`.
* 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.
### Recompile CSS from SCSS
To recompile default style using a Sass-compiler, run it on /scss/theme.scss and output to /css-compiled/theme.css, like `node-sass --watch --source-map true scss/theme.scss css-compiled/theme.css`. To do the same for custom styles, run it on /scss/custom and output to /css-compiled/custom, like `node-sass --watch --source-map true scss/custom/ css-compiled/custom`.
## 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
🚨Before setting up Git Sync, please make sure to remove the `ReadMe.md` file in your Grav site `user` folder (if one exists). This will prevent a possible sync issue when creating a default `ReadMe.md` file in your new Git repository.🚨
If you want to set Learn2 with Git Sync 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-git-sync`.
* 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-git-sync** folder.
### TNTSearch Configuration
The default search route for the TNTSearch plugin (used for the 'Advanced Search' feature) is set to `/tntsearch`

View File

@ -1,716 +0,0 @@
---
title: Overview
taxonomy:
category: docs
---
Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages.
**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it.
Some of the key benefits are:
1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content.
2. Less chance of errors when writing in markdown.
3. Produces valid XHTML output.
4. Keeps the content and the visual display separate, so you cannot mess up the look of your site.
5. Write in any text editor or Markdown application you like.
6. Markdown is a joy to use!
John Gruber, the author of Markdown, puts it like this:
> The overriding design goal for Markdowns formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like its been marked up with tags or formatting instructions. While Markdowns syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdowns syntax is the format of plain text email.
> -- <cite>John Gruber</cite>
Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file
Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like:
>>> <i class="fa fa-bookmark"></i> Bookmark this page for easy future reference!
## Headings
Headings from `h1` through `h6` are constructed with a `#` for each level:
```markdown
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
```
Renders to:
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
HTML:
```html
<h1>h1 Heading</h1>
<h2>h2 Heading</h2>
<h3>h3 Heading</h3>
<h4>h4 Heading</h4>
<h5>h5 Heading</h5>
<h6>h6 Heading</h6>
```
<br>
<br>
<br>
## Comments
Comments should be HTML compatible
```html
<!--
This is a comment
-->
```
Comment below should **NOT** be seen:
<!--
This is a comment
-->
<br>
<br>
<br>
## Horizontal Rules
The HTML `<hr>` element is for creating a "thematic break" between paragraph-level elements. In markdown, you can create a `<hr>` with any of the following:
* `___`: three consecutive underscores
* `---`: three consecutive dashes
* `***`: three consecutive asterisks
renders to:
___
---
***
<br>
<br>
<br>
## Body Copy
Body copy written as normal, plain text will be wrapped with `<p></p>` tags in the rendered HTML.
So this body copy:
```markdown
Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.
```
renders to this HTML:
```html
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
```
<br>
<br>
<br>
## Emphasis
### Bold
For emphasizing a snippet of text with a heavier font-weight.
The following snippet of text is **rendered as bold text**.
```markdown
**rendered as bold text**
```
renders to:
**rendered as bold text**
and this HTML
```html
<strong>rendered as bold text</strong>
```
### Italics
For emphasizing a snippet of text with italics.
The following snippet of text is _rendered as italicized text_.
```markdown
_rendered as italicized text_
```
renders to:
_rendered as italicized text_
and this HTML:
```html
<em>rendered as italicized text</em>
```
### strikethrough
In GFM (GitHub flavored Markdown) you can do strikethroughs.
```markdown
~~Strike through this text.~~
```
Which renders to:
~~Strike through this text.~~
HTML:
```html
<del>Strike through this text.</del>
```
<br>
<br>
<br>
## Blockquotes
For quoting blocks of content from another source within your document.
Add `>` before any text you want to quote.
```markdown
> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.
```
Renders to:
> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.
and this HTML:
```html
<blockquote>
<p><strong>Fusion Drive</strong> combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.</p>
</blockquote>
```
Blockquotes can also be nested:
```markdown
> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue.
Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue.
Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
<br>
<br>
<br>
## Notices
We have four notice styles and they extend the standard markdown syntax for block quotes. Basically levels of 3 block quote or greater produce notices in 4 colors:
### Yellow
```markdown
>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Red
```markdown
>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Blue
```markdown
>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Green
```markdown
>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
<br>
<br>
<br>
## Lists
### Unordered
A list of items in which the order of the items does not explicitly matter.
You may use any of the following symbols to denote bullets for each list item:
```markdown
* valid bullet
- valid bullet
+ valid bullet
```
For example
```markdown
+ Lorem ipsum dolor sit amet
+ Consectetur adipiscing elit
+ Integer molestie lorem at massa
+ Facilisis in pretium nisl aliquet
+ Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat at
+ Faucibus porta lacus fringilla vel
+ Aenean sit amet erat nunc
+ Eget porttitor lorem
```
Renders to:
+ Lorem ipsum dolor sit amet
+ Consectetur adipiscing elit
+ Integer molestie lorem at massa
+ Facilisis in pretium nisl aliquet
+ Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat at
+ Faucibus porta lacus fringilla vel
+ Aenean sit amet erat nunc
+ Eget porttitor lorem
And this HTML
```html
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit
<ul>
<li>Phasellus iaculis neque</li>
<li>Purus sodales ultricies</li>
<li>Vestibulum laoreet porttitor sem</li>
<li>Ac tristique libero volutpat at</li>
</ul>
</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ul>
```
### Ordered
A list of items in which the order of items does explicitly matter.
```markdown
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
```
Renders to:
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
And this HTML:
```html
<ol>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ol>
```
**TIP**: If you just use `1.` for each number, Markdown will automatically number each item. For example:
```markdown
1. Lorem ipsum dolor sit amet
1. Consectetur adipiscing elit
1. Integer molestie lorem at massa
1. Facilisis in pretium nisl aliquet
1. Nulla volutpat aliquam velit
1. Faucibus porta lacus fringilla vel
1. Aenean sit amet erat nunc
1. Eget porttitor lorem
```
Renders to:
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
<br>
<br>
<br>
## Code
### Inline code
Wrap inline snippets of code with `` ` ``.
```markdown
In this example, `<section></section>` should be wrapped as **code**.
```
Renders to:
In this example, `<section></section>` should be wrapped with **code**.
HTML:
```html
<p>In this example, <code>&lt;section&gt;&lt;/section&gt;</code> should be wrapped with <strong>code</strong>.</p>
```
### Indented code
Or indent several lines of code by at least four spaces, as in:
<pre>
// Some comments
line 1 of code
line 2 of code
line 3 of code
</pre>
Renders to:
// Some comments
line 1 of code
line 2 of code
line 3 of code
HTML:
```html
<pre>
<code>
// Some comments
line 1 of code
line 2 of code
line 3 of code
</code>
</pre>
```
### Block code "fences"
Use "fences" ```` ``` ```` to block in multiple lines of code.
<pre>
``` markup
Sample text here...
```
</pre>
```
Sample text here...
```
HTML:
```html
<pre>
<code>Sample text here...</code>
</pre>
```
### Syntax highlighting
GFM, or "GitHub Flavored Markdown" also supports syntax highlighting. To activate it, simply add the file extension of the language you want to use directly after the first code "fence", ` ```js `, and syntax highlighting will automatically be applied in the rendered HTML. For example, to apply syntax highlighting to JavaScript code:
<pre>
```js
grunt.initConfig({
assemble: {
options: {
assets: 'docs/assets',
data: 'src/data/*.{json,yml}',
helpers: 'src/custom-helpers.js',
partials: ['src/partials/**/*.{hbs,md}']
},
pages: {
options: {
layout: 'default.hbs'
},
files: {
'./': ['src/templates/pages/index.hbs']
}
}
}
};
```
</pre>
Renders to:
```js
grunt.initConfig({
assemble: {
options: {
assets: 'docs/assets',
data: 'src/data/*.{json,yml}',
helpers: 'src/custom-helpers.js',
partials: ['src/partials/**/*.{hbs,md}']
},
pages: {
options: {
layout: 'default.hbs'
},
files: {
'./': ['src/templates/pages/index.hbs']
}
}
}
};
```
<br>
<br>
<br>
## Tables
Tables are created by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned.
```markdown
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
```
Renders to:
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
And this HTML:
```html
<table>
<tr>
<th>Option</th>
<th>Description</th>
</tr>
<tr>
<td>data</td>
<td>path to data files to supply the data that will be passed into templates.</td>
</tr>
<tr>
<td>engine</td>
<td>engine to be used for processing templates. Handlebars is the default.</td>
</tr>
<tr>
<td>ext</td>
<td>extension to be used for dest files.</td>
</tr>
</table>
```
### Right aligned text
Adding a colon on the right side of the dashes below any heading will right align text for that column.
```markdown
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
```
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
<br>
<br>
<br>
## Links
### Basic link
```markdown
[Assemble](http://assemble.io)
```
Renders to (hover over the link, there is no tooltip):
[Assemble](http://assemble.io)
HTML:
```html
<a href="http://assemble.io">Assemble</a>
```
### Add a title
```markdown
[Upstage](https://github.com/upstage/ "Visit Upstage!")
```
Renders to (hover over the link, there should be a tooltip):
[Upstage](https://github.com/upstage/ "Visit Upstage!")
HTML:
```html
<a href="https://github.com/upstage/" title="Visit Upstage!">Upstage</a>
```
### Named Anchors
Named anchors enable you to jump to the specified anchor point on the same page. For example, each of these chapters:
```markdown
# Table of Contents
* [Chapter 1](#chapter-1)
* [Chapter 2](#chapter-2)
* [Chapter 3](#chapter-3)
```
will jump to these sections:
```markdown
## Chapter 1 <a id="chapter-1"></a>
Content for chapter one.
## Chapter 2 <a id="chapter-2"></a>
Content for chapter one.
## Chapter 3 <a id="chapter-3"></a>
Content for chapter one.
```
**NOTE** that specific placement of the anchor tag seems to be arbitrary. They are placed inline here since it seems to be unobtrusive, and it works.
<br>
<br>
<br>
## Images
Images have a similar syntax to links but include a preceding exclamation point.
```markdown
![Minion](http://octodex.github.com/images/minion.png)
```
![Minion](http://octodex.github.com/images/minion.png)
or
```markdown
![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
```
![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
Like links, Images also have a footnote style syntax
```markdown
![Alt text][id]
```
![Alt text][id]
With a reference later in the document defining the URL location:
[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat"
[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat"

View File

@ -1,58 +0,0 @@
---
title: Sub-Sub-Topic
taxonomy:
category: docs
---
Lorem markdownum profundo et [bellum sonarent](http://omfgdogs.com/), est cum
Circes nisi quoque pulchra demersit et! Habebas manuque tamen, innumeras solis
successurumque Horis superare Cepheusque pars pericula [vultus
hanc](http://html9responsiveboilerstrapjs.com/), dextera esse fronti. Sedes
lumina!
host_icmp_dfs = hostMysqlIt(port_portal_boolean, -1 / rateXml, dvd);
vleCrossplatformWins = barUddi + keystroke_im + adc + kilobyte_cdma(99,
fpuDiskDynamic);
signature_dns_aix -= cpu_scalable_web(memorySpyware);
Corpus nam sensit onerataque crinem imitatus nostris, adsternunturque retro nec
consumpta inponit. Fessa dubium longi. Cuncta visis caput ultra quantaque
incursant cupressus secundo posses. Nudumque bracchia canamus: ingratus dabitur
ligari dixerat tempora; **iuppiter est enim**. Ostendunt ab genitor profectu
pestiferos sed, [nondum frugilegas Libycas](http://heeeeeeeey.com/).
var malware_qwerty = ram + backlinkNewbieCard + formula + management(25);
publishing(softwareAssociationSaas, integer_row_sequence + linkLog);
var menu = autoresponder_servlet;
file_personal_proxy(fileImpression / rdfKilobitManet(task_multi_desktop,
file, 2));
domain_big.rdram(rom);
## Laniata iam Saturnia
Antium tela, matris deam, postquam et [gnatae](http://www.uselessaccount.com/)
metuit felix maestis! Esse et mente clamavit *sive fuit*? Ego et sitim.
metal = multiSubnet(disk_recycle.piracySwipeHome(core_expansion,
inboxSdk.staticPop(controlCps)), cellWheel + css(
coreAutoresponderCyberspace),
officeDatabaseProgram.bespokeHypermediaNamespace(homeTutorial,
windows, fiber_dlc_host - mmsTag));
apple_oop += vaporware_trash_wireless + d_syn(cable_memory - on,
phreaking_hypertext(arraySdkHorse, shellGigabyte));
java_blacklist_reader(screenshot_meta_crm);
var clobRepeater = memory_runtime_gui;
if (515890 - slashdot_rj * powerCybersquatter) {
sourceBoxSkyscraper(ssid_ethics / seoChip);
defragment -= configurationFileNoc(2);
real_digital.unmountNullBare += 5;
}
Summo qui deum, **referunt renascitur contra**, fortibus venabula temptat
contigit columnae sacra terga membra naides soporis **meus** corpus. Munere et
una matre arbore potest tabulas, loca tamen cuncta at locum, sua aut Pentheus,
*penates*. Puellae altera simulac, gaudia dum officium truncoque pruinae
contigit ambos Maera esset virga se, vertunt requiemque etenim, in.
Ne Priamus temptemus silvarum. Opem Pittheus monitae amplexumque rogis, inter
aut convulso videt in Cypro his Tisiphone geminae, foret!

View File

@ -1,63 +0,0 @@
---
title: Sub-Topic
taxonomy:
category: docs
---
Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum
surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa.
- Laevum ritusque
- Ponat dea fuit mollitaque
- Saepe tempora miserrima late duxerat quoque coniugialia
- Corpore sua iam reversurum agros visa peregrina
## Praesentia duobus si inplicuit sternebat aguntur urbes
Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis.
Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat
*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari
volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona
fertilis; iubet Canentem Phaethon saxumque, alte volucres!
rw_horizontal.osd_stack_eide -= device(engineConstant);
urlCell(fileDdr);
if (textControlPppoe(text_petaflops_error) - -1) {
rootkit *= ping_firewire + access;
system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk,
storageAppUrl), file + active);
queue.bar += 3;
} else {
copyrightArchitectureLion = hard_typeface + surgeDisplay *
asp_pim_scroll;
thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl,
hubIcq(1));
dragFloppy += botMacWavelength.protector_wavelength(d_youtube);
}
var number = key.png_uat.systemFirmware(fpuModemPerl + -4) -
promptDriveDrive.hardDomain(cardVariableMini);
## Pelagi illa est et et quod
Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus
gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus
experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem
iubenti **me latet**; dei cauda Atlante frugum.
1. Viso cum
2. Manant diris
3. Enim adverso Talia et interea iurares
4. Hoc iussit meruisse suum e gerit sub
5. Sicelidas ait
Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix
induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit
adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec;
remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat
iamiam reverti. Sed hic aut Phorbantis
[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur
qui sumpto, subit.
Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc
eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes,
nova percutiens confertque Minyis?

View File

@ -1,42 +0,0 @@
---
title: Requirements
taxonomy:
category: docs
---
Lorem markdownum pius. Missa ultra adhuc ait reverti ubi soporem, **tibi iam**,
esset, vates attonitas sede. Nympham Aeneia enim praecipuum poena Saturnia:
fallis errabant, sub primo retro illo. Caesariem tincta natam contineat demens.
*Si sed* ardescunt Delphice quasque alteraque servant.
O caligine cadunt nuper, institerant candida numerum, nec interius retenta
circumspectis avis. Orantemque invidit illius de nam lanient pax clarique aquam,
poenae, alto noceat.
## Percussae oculos
Defendentia **flammas mundi salutem** fraudate, non munus revirescere tamen,
imago? Ad sit festumque [super](http://hipstermerkel.tumblr.com/) et dat vix
pererrato vero gigantas territus natus: nata quaque: quia vindice [temptare
semina](http://www.lipsum.com/)! Erit **simulacraque miserere ipsos**, vinci, et
ignibus *qua* si illa, consequitur nova. Constitit habet coniugis; coegit nostri
in fuissem!
Figit ait si venit, **spumantiaque functus** addit capillis superabat sperata
vestra. In nymphas cervus eram feret lingua, hunc, nulla quae. Gens *artisque*
ad peregit nitido cursu pondere. Petitur ex virtus, terrae infesto Circen: voce
roganti latet. Exit hydrae, expellitur onerosa gratissima iniustum Clytii
crimen.
## Pactique in quibus pariterque praebebat mare dapes
Sonat timeam furori non Sigei furiali os ut, orbe! Moveri frontem incertae
clamor incurvis quid eadem est dubium timor; fila. Suos *trepidaeque* cornua
sparsus.
Mihi [aut palustribus](http://www.billmays.net/), natus semilacerque audito
Enaesimus, fuerat refert. Aevi et evadere potentior Pergama sis.
Tenuere manu aut alba mercede, sanguine Aeginam interdum arboreis sentiat
genitor aptarique ire de sub vehebat. Aspera sedesque, et tempus deseruere
contenta, rex interea nisi arma.

View File

@ -1,64 +0,0 @@
---
title: Installation
taxonomy:
category: docs
---
Lorem markdownum fama iusserat **sit trunca**, isto et quid dolens Aeetias.
Indice [pater in](http://www.mozilla.org/) constitit *munus* voces bidentum
officium te utrique animaeque multum dedit. Coimus premens? Flet hospes ad
nequeunt uti; sacerdotis gestit. Dis comas meum texerat frustra, saniemque
restituit ullus, vox.
Atque et [quoque](http://www.youtube.com/watch?v=MghiBW3r65M): nec **ales
aspicis** ille honorem! Et novissima facinus cursum, futura acutis. Funereum cur
guttura servati. Aberat [mersa acta](http://www.wedrinkwater.com/) primi, sed
superum.
## Agros aut
Tum limen malo tibi, corporeusque sine *Caphereus dissimiles* tecta demittit
fletus: duritia prior, amici! Terrae furibunda vini stetit illius temptamina
virtus sagacior et nunc vidi. Telae morata nulla. Quid femina Iovi bella, *in*
memorante sublimis.
## Dubita qui messoris pudet spectat inbutam est
Quoque quantum manebat huc fuerim dabimus socium in, illi fibris ore error
murmure primis, natis nunc dixi occupat. Dea rogantem fugit audet, quantoque
praeteriti illis, quamlibet teneo, ora agmen desinite, deum, desistere. Frustra
ferunt fiunt, pellem, qua saepe variarum. *Non quam* quae monte, addita
hominumque hic tenentes [praelate](http://www.metafilter.com/) venturi florentis
videtur. Est Caucason nostros *iubent serpentibus* posuit Mnemonidas ducere
cecidit flumina.
1. Sit bis ipse in ossa vocavit status
2. Et defendere
3. Quod Pallas ilia Amphrisia caecus procubuisse dixit
4. Lumina qua negaverit vaga facit gelidae forma
5. Sic decepto recordor arboris ducentem poena
6. Dea patre lacrimas quamquam
## Sed ut Nape quid coniunx oscula
Ratus quoque nostrae invenies adspiciam data Eurytidae et mora ense
[cognitus](http://landyachtz.com/): meae pariterque, **fraude pro**. In illi
aetherias quarum. Habendus medioque exponit cornua, clarum nuncupat inquit! Tuum
denique: undis pete vitamque montes, vertitur, est tibi pectus [volenti
amorem](http://news.ycombinator.com/), indicat mirum. Gangetica pennas suaque
quo vultus iter miratus conubio heros est extrahit.
> Moras hospitio, et fugit macies, locorum? A ira requievit inmani coronatis
> quis mensis: rite quater per; esse timor Pittheus traiecit colebas, nervis
> longam. Est [corpora enim ponit](http://www.billmays.net/), capillos esses.
> Anum fortis tremulis nunc infracto frontem nec. Draconum iamque *alto*, his
> ubique mox matrum demisit suo optet ad!
## Sensit multis
Ipse hic nutritaque etiam pedibus formae cernes. Nunc bibes sed pro
[ipse](http://haskell.org/), et operum et victus maneas, distincta.
Eo doluit obliquantem Phoebus amat iam fumantiaque et sidera cadet captatam
marmoris. Conantem cursuque crudelibus velut, penitusque est sinu sola fuerat
est.

View File

@ -1,12 +0,0 @@
---
title: Basics
taxonomy:
category: docs
child_type: docs
---
### Chapter 1
# Basics
Discover the **basic** principles

View File

@ -1,51 +0,0 @@
---
title: Topic 1
taxonomy:
category: docs
process:
twig: true
---
Lorem markdownum murmure fidissime suumque. Nivea agris, duarum longaeque Ide
rugis Bacchum patria tuus dea, sum Thyneius liquor, undique. **Nimium** nostri
vidisset fluctibus **mansit** limite rigebant; enim satis exaudi attulit tot
lanificae [indice](http://www.mozilla.org/) Tridentifer laesum. Movebo et fugit,
limenque per ferre graves causa neque credi epulasque isque celebravit pisces.
- Iasone filum nam rogat
- Effugere modo esse
- Comminus ecce nec manibus verba Persephonen taxo
- Viribus Mater
- Bello coeperunt viribus ultima fodiebant volentem spectat
- Pallae tempora
## Fuit tela Caesareos tamen per balatum
De obstruat, cautes captare Iovem dixit gloria barba statque. Purpureum quid
puerum dolosae excute, debere prodest **ignes**, per Zanclen pedes! *Ipsa ea
tepebat*, fiunt, Actoridaeque super perterrita pulverulenta. Quem ira gemit
hastarum sucoque, idem invidet qui possim mactatur insidiosa recentis, **res
te** totumque [Capysque](http://tumblr.com/)! Modo suos, cum parvo coniuge, iam
sceleris inquit operatus, abundet **excipit has**.
In locumque *perque* infelix hospite parente adducto aequora Ismarios,
feritatis. Nomine amantem nexibus te *secum*, genitor est nervo! Putes
similisque festumque. Dira custodia nec antro inornatos nota aris, ducere nam
genero, virtus rite.
- Citius chlamydis saepe colorem paludosa territaque amoris
- Hippolytus interdum
- Ego uterque tibi canis
- Tamen arbore trepidosque
## Colit potiora ungues plumeus de glomerari num
Conlapsa tamen innectens spes, in Tydides studio in puerili quod. Ab natis non
**est aevi** esse riget agmenque nutrit fugacis.
- Coortis vox Pylius namque herbosas tuae excedere
- Tellus terribilem saetae Echinadas arbore digna
- Erraverit lectusque teste fecerat
Suoque descenderat illi; quaeritur ingens cum periclo quondam flaventibus onus
caelum fecit bello naides ceciderunt cladis, enim. Sunt aliquis.

View File

@ -1,49 +0,0 @@
---
title: Topic 2
taxonomy:
category: docs
---
Lorem *markdownum saxum et* telum revellere in victus vultus cogamque ut quoque
spectat pestiferaque siquid me molibus, mihi. Terret hinc quem Phoebus? Modo se
cunctatus sidera. Erat avidas tamen antiquam; ignes igne Pelates
[morte](http://www.youtube.com/watch?v=MghiBW3r65M) non caecaque canam Ancaeo
contingat militis concitus, ad!
## Et omnis blanda fetum ortum levatus altoque
Totos utinamque nutricis. Lycaona cum non sine vocatur tellus campus insignia et
absumere pennas Cythereiadasque pericula meritumque Martem longius ait moras
aspiciunt fatorum. Famulumque volvitur vultu terrae ut querellas hosti deponere
et dixit est; in pondus fonte desertum. Condidit moras, Carpathius viros, tuta
metum aethera occuluit merito mente tenebrosa et videtur ut Amor et una
sonantia. Fuit quoque victa et, dum ora rapinae nec ipsa avertere lata, profugum
*hectora candidus*!
## Et hanc
Quo sic duae oculorum indignos pater, vis non veni arma pericli! Ita illos
nitidique! Ignavo tibi in perdam, est tu precantia fuerat
[revelli](http://jaspervdj.be/).
Non Tmolus concussit propter, et setae tum, quod arida, spectata agitur, ferax,
super. Lucemque adempto, et At tulit navem blandas, et quid rex, inducere? Plebe
plus *cum ignes nondum*, fata sum arcus lustraverat tantis!
## Adulterium tamen instantiaque puniceum et formae patitur
Sit paene [iactantem suos](http://www.metafilter.com/) turbineo Dorylas heros,
triumphos aquis pavit. Formatae res Aeolidae nomen. Nolet avum quique summa
cacumine dei malum solus.
1. Mansit post ambrosiae terras
2. Est habet formidatis grandior promissa femur nympharum
3. Maestae flumina
4. Sit more Trinacris vitasset tergo domoque
5. Anxia tota tria
6. Est quo faece nostri in fretum gurgite
Themis susurro tura collo: cunas setius *norat*, Calydon. Hyaenam terret credens
habenas communia causas vocat fugamque roganti Eleis illa ipsa id est madentis
loca: Ampyx si quis. Videri grates trifida letum talia pectus sequeretur erat
ignescere eburno e decolor terga.

View File

@ -1,46 +0,0 @@
---
title: Topic 3
taxonomy:
category: docs
---
Lorem markdownum in maior in corpore ingeniis: causa clivo est. Rogata Veneri
terrebant habentem et oculos fornace primusque et pomaria et videri putri,
levibus. Sati est novi tenens aut nitidum pars, spectabere favistis prima et
capillis in candida spicis; sub tempora, aliquo.
- Esse sermone terram longe date nisi coniuge
- Revocamina lacrimas virginitate deae loquendi
- Parili me coma gestu opis trabes tu
- Deum vidi est voveas laurus magniloquo tuaque
Nempe nec sonat Farfarus Charybdis elementa. Quam contemptaque vocis damnandus
corpore, merui, nata nititur.
## Nubibus ferunt
Una Minos. Opem saepe quodsi Peneia; tanto quas procul sanctis viribus. Secuta
et nisi **alii lanas**, post fila, *non et* viscere hausit orbe faciat vasta.
var window = maximize_sample_youtube;
yobibyte *= point + dns;
if (sdkCloud(2) < agp(shareware)) {
www_eps_oasis.epsCcPayload = remote_jsf;
functionViewCard += filename_bin - tagPrimaryVeronica;
} else {
clickPageIsdn += virtual_hard;
smart_interlaced(docking);
matrix = northbridgeMatrixDegauss(deprecatedOnSidebar / left_cut);
}
Nunc nec *huic digna forsitan* in iubent mens, muneris quoque? Comas in quasque
verba tota [Graiorum](http://www.thesecretofinvisibility.com/) fuerunt
[quatiatur Chrysenque oculis](http://omgcatsinspace.tumblr.com/) perque ea
quoque quae. Forent adspicit natam; staret fortissimus patre Cephenum armaque.
Dilapsa carminibus domitis, corpora sub huc strepitum montano hanc illa Hypseus
inposito do ignes intextum post arma.
Superem venit turba sulcavitque morae. Suppositosque unam comitantibus Olympus
ille hostibus inmensum captis senectae exstinctum lunaria. Dura ille quoque,
maiora neu coniunx. **Successu foret lemnius** tamen illis **do concipit
deerat**!

View File

@ -1,61 +0,0 @@
---
title: Topic 4
taxonomy:
category: docs
---
Lorem markdownum scire deposito manumque facinus. Opprobria sic Iris vimque
filia Thaumantea supremis solet occupat peperit, mittit, ea *ille* tamen forma:
corpora. Quoniam adunci, sed Cragon potitus at voluere vallem Lyaeumque evehor
quaedam dixit vocis lacrimasque mundi possum.
[Robustior carmine](http://www.youtube.com/watch?v=MghiBW3r65M). Uno pars simul
exhortanturque fletu; suas inquit paulum moriensque sumpserat totiens et sive.
Violenta stabat Dictaeaque hinc tophis rustica ora nitar tale divum, in versus
illam lacerta domito silvas memento est. Cinyrae edidicitque moram pectora et
quoque terrenae rubor populo peperit condebat in. Verum digestum referat cum,
dubitat collo sine candida flores pendentia, manes.
## Nostrae confido
Nec valle **natus puerum**, ora noverat solibus pinguesque non; Pisaeae in.
Adhuc se perque forsitan in haberent *gaudet* status portentificisque tristia
promissaque bove est ora locum. Subit etsi, et vatibus cumque? Et pudorem sim
fuit haec **nostras Caenis inploravere** quod; faciemque sanguis furentem
vivere, suaque.
1. In iovis trahens est
2. Nexibus ludunt tinxit nudus adspergine fecit
3. Si corpus miracula oculos frater
4. Sed petunt proxima ad monitu erigitur Apollineos
5. Hunc laceri alvum et est fons fefellimus
## Pater res tandem promissi collige
Erubuit quod arcanis inquit succinctis tectae frenis canendo clausas, fletus
puellis proceres terrore in zona! Tenet quoque fortuna haud resuscitat
maledicere hostem. Imago ne fuit levi tertius ferro calamo velle talia fallit
gratia, Theron **aetas nolis** narrat meri in **fuga**.
var cycleMainframe = 4;
bankruptcy += linuxMcaSsh(2, jquery_eps, monitor_add) - qwerty;
if (root - software + 4) {
snippet_mini_win *= ipv(dimm, protector_add, 3 + raid_matrix_smm);
python(95, 42);
} else {
window_soap += text_chip_screenshot;
}
## Lucis onus dolet evehor vulnera gelidos
Nec tauri illa cui hic contenta patuit, terras in et et suum [mutet
pater](http://www.mozilla.org/), alta, et a. Addit nec figuras terris Aeacus,
data comites cernit, et parte. Cumarum *expresso*.
1. Ira deo unus ferrugine stant vulnere traharis
2. Vulnus fratribus modo quercus longa ego dederat
3. Versis Saturnia toros suberant
4. Decet tollere mea te insanis inponis exarsit
Tenebat saltatibus, qua namque statuit dies ferre annum, sit summa in tamen
tabent populique. Pariter iterum sunt, inscius, verum.

View File

@ -1,12 +0,0 @@
---
title: Intermediate
taxonomy:
category: docs
child_type: docs
---
### Chapter 2
# Intermediate
Delve deeper into more **complex** topics

View File

@ -1,57 +0,0 @@
---
title: Advanced Topic 1
taxonomy:
category: docs
---
Lorem markdownum voces. Adire nant ingreditur quam evadere dixit caelestum
meliora. Induitur videndi Timoli videres et *quae*, niteant.
if (cyberspace + superscalarBacklink) {
language_raw *= 78;
caps -= dot_vga;
} else {
nntpPingPoint(chip(ip_fsb, boxRepeater, art));
manetRgbHeader /= backside;
}
if (dvd(16, ide_blacklist)) {
nodeTftpPpga = -5;
mips.aiffTCodec *= compiler_target_bus;
}
var eup = native_page_utility;
if (software) {
progressive *= superscalar_bot_script;
regularScroll = internetRayBlu;
}
progressive_compression_ipv = freewarePrebindingRoom(newsgroup);
In *nubes pallor potuit* non, parenti auctorem urbis. Viderat at quicquam
piscator nunc prosunt ponit.
## Fecere conplexa et utque et habetur iacentia
Haud rotarum, et hospes et est, remittit tecta. Defecerat mille, perit *tale
Laomedonque* austri, scissaque incumbens prisci ferunt [ibi cumque
horror](http://example.com/) gravis.
1. Accipit fraterno quantum dicit
2. Sparsit et tanget in coniunx putares oravit
3. Fuit et flumina
4. Inprudens coloque
## Sentiet etiam
In carmen, et quod, satiata, corpore semper mando; murum este *memores*. Si
felicia paratu voluit, nova illa tamen hanc et pressa caeli Hippolytus tinxit,
cunctis.
Nitido arcisque nisi dedisse? Est atque ferasque Aeneas! Auro acui laedere, sed
vertit quoque, adde nec!
Et qua quem, **verba** citus ero favorem, spectare tam, aureae Echionio facti
virginis nullo. Auras cura tantum, una ibat tecta, mihi erit.
Igitur increpat ululavit capulo: inmenso [moriturae](http://seenly.com/)
artifices Sidonis loricamque regebat iustius: repetam more labores datae!
Praeterque truncus face: parte et vestram Aethiopum signum Pelasgi figurae
nostroque.

View File

@ -1,71 +0,0 @@
---
title: Advanced Topic 2
taxonomy:
category: docs
---
Lorem markdownum vides aram est sui istis excipis Danai elusaque manu fores.
Illa hunc primo pinum pertulit conplevit portusque pace *tacuit* sincera. Iam
tamen licentia exsulta patruelibus quam, deorum capit; vultu. Est *Philomela
qua* sanguine fremit rigidos teneri cacumina anguis hospitio incidere sceptroque
telum spectatorem at aequor.
if (cssDawP >= station) {
dllCdmaCpc += 919754;
} else {
superscalar += -3 + phishing;
}
pup_ram_bloatware(2 * network(linkedin));
var vfatWhite = serpXmp + paperPitchPermalink(enterprise_and) - 5;
systemBandwidthAtm = 9 + station;
rw_menu_enterprise *= on_midi / interpreter.adPpp(
correctionIntegratedBalancing, bar, real) - user_remote_zebibyte(
desktop(lun_flops_wamp, technology_peripheral_dv, spriteHit));
Prochytenque ergo ait aequoreo causa ardere, ex vinaque est, accingere, abest
nunc sanguine. Est forma admissum adspexit pharetraque regat prece fremit clamat
memorantur evanuit foret ferinas, senserat infringat illa incumbere excipit
ulnas. Est undis soror animi diem continuo [videres
fratres](http://www.reddit.com/r/haskell)? [Meo iam
mihi](http://html9responsiveboilerstrapjs.com/) miserum fateor, in votum
iuvenis, aures? Qui labor nulla telluris valerem erat hoc, sedula.
if (bus_overclocking_server > 891985) {
compression = textWep - gatePlatform;
} else {
fileTweak += file + so_mouse_sram;
pda_radcab_eup = tcp_opengl_refresh(network_phishing - realityDel, 5,
5);
bounce_monitor_dns = 4;
}
fddi_virtualization_file *= drag_infringement(minicomputerServlet + -1 +
gif_white(utf, blog, cloud), dvdMacintosh - radcab_horizontal +
cpu_recycle_quicktime(ascii));
ad += tableCapsTime - 5 + keyboard_card - -2 + cc;
if (raw_bloatware_compression < script_expression) {
fiBps(printer_php);
ipx = biometricsFullDvi(bootComponentAnsi, 929326, 38);
}
## Dent et ignavus constant tamque
Harenosi praenovimus illa homines, sumit levem et Minyeias genu finita ne quae
capi vidisse concipit. Fera carmine sinistro in licet? Quoque nam an pereat pro;
seu male mens favorem, illa! Longo tuas: [una medioque
caespite](http://www.lipsum.com/) nomen. Et amor artes Est tempore nupta
generumque olivae stabat.
> Fuit vasto sit, *rite bellatricemque misceri*. Amore tauri qua laborum Iovique
> est terra sic et aut eminus pretiosior conveniant **possit**. Tyranni procos.
> Ipsa dracones carinam, ultima, pelagi Boreae quodque, teli dictu volucres:
> quaeratur ostendit debere validisne? Abdita cingere dixit amat pinguis vultus
> securim, venter in cognoscere prima *da*?
**Cavis in pro** suspicere multis, moto neve vibrataque nitidum cessit
dignabitur pater similis exercet Procne, Anius, nec? Risit luserat meumque; ubi
et chlamydem inque: id mihi.
Populi et emicat et pectora concussit precibus qui et Hector flammis. Pergama
tenebrisque certe arbiter superfusis genetrix fama; cornu conlato foedere
adspexisse **rivos quoque** nec profugos nunc, meritisne
[carbasa](http://reddit.com/r/thathappened).

View File

@ -1,12 +0,0 @@
---
title: Advanced
taxonomy:
category: docs
child_type: docs
---
### Chapter 3
# Advanced
Get into the **nitty gritty** with these advanced topics

View File

@ -1,11 +0,0 @@
---
visible: false
content:
items:
'@taxonomy.category': 'docs'
order:
by: date
dir: desc
---
Non-visible page for RSS feed page collection. RSS feed URL is ../feed.rss

View File

@ -1,721 +0,0 @@
---
title: Overview
taxonomy:
category:
- docs
visible: true
---
Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages.
**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it.
[version=20]
_Here is some text which is only displayed if version 2.0 is selected._
[/version]
Some of the key benefits are:
1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content.
2. Less chance of errors when writing in markdown.
3. Produces valid XHTML output.
4. Keeps the content and the visual display separate, so you cannot mess up the look of your site.
5. Write in any text editor or Markdown application you like.
6. Markdown is a joy to use!
John Gruber, the author of Markdown, puts it like this:
> The overriding design goal for Markdowns formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like its been marked up with tags or formatting instructions. While Markdowns syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdowns syntax is the format of plain text email.
> -- <cite>John Gruber</cite>
Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file
Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like:
>>> <i class="fa fa-bookmark"></i> Bookmark this page for easy future reference!
## Headings
Headings from `h1` through `h6` are constructed with a `#` for each level:
```markdown
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
```
Renders to:
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
HTML:
```html
<h1>h1 Heading</h1>
<h2>h2 Heading</h2>
<h3>h3 Heading</h3>
<h4>h4 Heading</h4>
<h5>h5 Heading</h5>
<h6>h6 Heading</h6>
```
<br>
<br>
<br>
## Comments
Comments should be HTML compatible
```html
<!--
This is a comment
-->
```
Comment below should **NOT** be seen:
<!--
This is a comment
-->
<br>
<br>
<br>
## Horizontal Rules
The HTML `<hr>` element is for creating a "thematic break" between paragraph-level elements. In markdown, you can create a `<hr>` with any of the following:
* `___`: three consecutive underscores
* `---`: three consecutive dashes
* `***`: three consecutive asterisks
renders to:
___
---
***
<br>
<br>
<br>
## Body Copy
Body copy written as normal, plain text will be wrapped with `<p></p>` tags in the rendered HTML.
So this body copy:
```markdown
Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.
```
renders to this HTML:
```html
<p>Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.</p>
```
<br>
<br>
<br>
## Emphasis
### Bold
For emphasizing a snippet of text with a heavier font-weight.
The following snippet of text is **rendered as bold text**.
```markdown
**rendered as bold text**
```
renders to:
**rendered as bold text**
and this HTML
```html
<strong>rendered as bold text</strong>
```
### Italics
For emphasizing a snippet of text with italics.
The following snippet of text is _rendered as italicized text_.
```markdown
_rendered as italicized text_
```
renders to:
_rendered as italicized text_
and this HTML:
```html
<em>rendered as italicized text</em>
```
### strikethrough
In GFM (GitHub flavored Markdown) you can do strikethroughs.
```markdown
~~Strike through this text.~~
```
Which renders to:
~~Strike through this text.~~
HTML:
```html
<del>Strike through this text.</del>
```
<br>
<br>
<br>
## Blockquotes
For quoting blocks of content from another source within your document.
Add `>` before any text you want to quote.
```markdown
> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.
```
Renders to:
> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.
and this HTML:
```html
<blockquote>
<p><strong>Fusion Drive</strong> combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.</p>
</blockquote>
```
Blockquotes can also be nested:
```markdown
> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue.
Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue.
Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi.
>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
<br>
<br>
<br>
## Notices
We have four notice styles and they extend the standard markdown syntax for block quotes. Basically levels of 3 block quote or greater produce notices in 4 colors:
### Yellow
```markdown
>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Red
```markdown
>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Blue
```markdown
>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
### Green
```markdown
>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
```
Renders to:
>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor
odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam.
<br>
<br>
<br>
## Lists
### Unordered
A list of items in which the order of the items does not explicitly matter.
You may use any of the following symbols to denote bullets for each list item:
```markdown
* valid bullet
- valid bullet
+ valid bullet
```
For example
```markdown
+ Lorem ipsum dolor sit amet
+ Consectetur adipiscing elit
+ Integer molestie lorem at massa
+ Facilisis in pretium nisl aliquet
+ Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat at
+ Faucibus porta lacus fringilla vel
+ Aenean sit amet erat nunc
+ Eget porttitor lorem
```
Renders to:
+ Lorem ipsum dolor sit amet
+ Consectetur adipiscing elit
+ Integer molestie lorem at massa
+ Facilisis in pretium nisl aliquet
+ Nulla volutpat aliquam velit
- Phasellus iaculis neque
- Purus sodales ultricies
- Vestibulum laoreet porttitor sem
- Ac tristique libero volutpat at
+ Faucibus porta lacus fringilla vel
+ Aenean sit amet erat nunc
+ Eget porttitor lorem
And this HTML
```html
<ul>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit
<ul>
<li>Phasellus iaculis neque</li>
<li>Purus sodales ultricies</li>
<li>Vestibulum laoreet porttitor sem</li>
<li>Ac tristique libero volutpat at</li>
</ul>
</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ul>
```
### Ordered
A list of items in which the order of items does explicitly matter.
```markdown
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
```
Renders to:
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
And this HTML:
```html
<ol>
<li>Lorem ipsum dolor sit amet</li>
<li>Consectetur adipiscing elit</li>
<li>Integer molestie lorem at massa</li>
<li>Facilisis in pretium nisl aliquet</li>
<li>Nulla volutpat aliquam velit</li>
<li>Faucibus porta lacus fringilla vel</li>
<li>Aenean sit amet erat nunc</li>
<li>Eget porttitor lorem</li>
</ol>
```
**TIP**: If you just use `1.` for each number, Markdown will automatically number each item. For example:
```markdown
1. Lorem ipsum dolor sit amet
1. Consectetur adipiscing elit
1. Integer molestie lorem at massa
1. Facilisis in pretium nisl aliquet
1. Nulla volutpat aliquam velit
1. Faucibus porta lacus fringilla vel
1. Aenean sit amet erat nunc
1. Eget porttitor lorem
```
Renders to:
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
4. Facilisis in pretium nisl aliquet
5. Nulla volutpat aliquam velit
6. Faucibus porta lacus fringilla vel
7. Aenean sit amet erat nunc
8. Eget porttitor lorem
<br>
<br>
<br>
## Code
### Inline code
Wrap inline snippets of code with `` ` ``.
```markdown
In this example, `<section></section>` should be wrapped as **code**.
```
Renders to:
In this example, `<section></section>` should be wrapped with **code**.
HTML:
```html
<p>In this example, <code>&lt;section&gt;&lt;/section&gt;</code> should be wrapped with <strong>code</strong>.</p>
```
### Indented code
Or indent several lines of code by at least four spaces, as in:
<pre>
// Some comments
line 1 of code
line 2 of code
line 3 of code
</pre>
Renders to:
// Some comments
line 1 of code
line 2 of code
line 3 of code
HTML:
```html
<pre>
<code>
// Some comments
line 1 of code
line 2 of code
line 3 of code
</code>
</pre>
```
### Block code "fences"
Use "fences" ```` ``` ```` to block in multiple lines of code.
<pre>
``` markup
Sample text here...
```
</pre>
```
Sample text here...
```
HTML:
```html
<pre>
<code>Sample text here...</code>
</pre>
```
### Syntax highlighting
GFM, or "GitHub Flavored Markdown" also supports syntax highlighting. To activate it, simply add the file extension of the language you want to use directly after the first code "fence", ` ```js `, and syntax highlighting will automatically be applied in the rendered HTML. For example, to apply syntax highlighting to JavaScript code:
<pre>
```js
grunt.initConfig({
assemble: {
options: {
assets: 'docs/assets',
data: 'src/data/*.{json,yml}',
helpers: 'src/custom-helpers.js',
partials: ['src/partials/**/*.{hbs,md}']
},
pages: {
options: {
layout: 'default.hbs'
},
files: {
'./': ['src/templates/pages/index.hbs']
}
}
}
};
```
</pre>
Renders to:
```js
grunt.initConfig({
assemble: {
options: {
assets: 'docs/assets',
data: 'src/data/*.{json,yml}',
helpers: 'src/custom-helpers.js',
partials: ['src/partials/**/*.{hbs,md}']
},
pages: {
options: {
layout: 'default.hbs'
},
files: {
'./': ['src/templates/pages/index.hbs']
}
}
}
};
```
<br>
<br>
<br>
## Tables
Tables are created by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned.
```markdown
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
```
Renders to:
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
And this HTML:
```html
<table>
<tr>
<th>Option</th>
<th>Description</th>
</tr>
<tr>
<td>data</td>
<td>path to data files to supply the data that will be passed into templates.</td>
</tr>
<tr>
<td>engine</td>
<td>engine to be used for processing templates. Handlebars is the default.</td>
</tr>
<tr>
<td>ext</td>
<td>extension to be used for dest files.</td>
</tr>
</table>
```
### Right aligned text
Adding a colon on the right side of the dashes below any heading will right align text for that column.
```markdown
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
```
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
<br>
<br>
<br>
## Links
### Basic link
```markdown
[Assemble](http://assemble.io)
```
Renders to (hover over the link, there is no tooltip):
[Assemble](http://assemble.io)
HTML:
```html
<a href="http://assemble.io">Assemble</a>
```
### Add a title
```markdown
[Upstage](https://github.com/upstage/ "Visit Upstage!")
```
Renders to (hover over the link, there should be a tooltip):
[Upstage](https://github.com/upstage/ "Visit Upstage!")
HTML:
```html
<a href="https://github.com/upstage/" title="Visit Upstage!">Upstage</a>
```
### Named Anchors
Named anchors enable you to jump to the specified anchor point on the same page. For example, each of these chapters:
```markdown
# Table of Contents
* [Chapter 1](#chapter-1)
* [Chapter 2](#chapter-2)
* [Chapter 3](#chapter-3)
```
will jump to these sections:
```markdown
## Chapter 1 <a id="chapter-1"></a>
Content for chapter one.
## Chapter 2 <a id="chapter-2"></a>
Content for chapter one.
## Chapter 3 <a id="chapter-3"></a>
Content for chapter one.
```
**NOTE** that specific placement of the anchor tag seems to be arbitrary. They are placed inline here since it seems to be unobtrusive, and it works.
<br>
<br>
<br>
## Images
Images have a similar syntax to links but include a preceding exclamation point.
```markdown
![Minion](http://octodex.github.com/images/minion.png)
```
![Minion](http://octodex.github.com/images/minion.png)
or
```markdown
![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
```
![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
Like links, Images also have a footnote style syntax
```markdown
![Alt text][id]
```
![Alt text][id]
With a reference later in the document defining the URL location:
[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat"
[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat"

View File

@ -1,58 +0,0 @@
---
title: Sub-Sub-Topic
taxonomy:
category: docs
---
Lorem markdownum profundo et [bellum sonarent](http://omfgdogs.com/), est cum
Circes nisi quoque pulchra demersit et! Habebas manuque tamen, innumeras solis
successurumque Horis superare Cepheusque pars pericula [vultus
hanc](http://html9responsiveboilerstrapjs.com/), dextera esse fronti. Sedes
lumina!
host_icmp_dfs = hostMysqlIt(port_portal_boolean, -1 / rateXml, dvd);
vleCrossplatformWins = barUddi + keystroke_im + adc + kilobyte_cdma(99,
fpuDiskDynamic);
signature_dns_aix -= cpu_scalable_web(memorySpyware);
Corpus nam sensit onerataque crinem imitatus nostris, adsternunturque retro nec
consumpta inponit. Fessa dubium longi. Cuncta visis caput ultra quantaque
incursant cupressus secundo posses. Nudumque bracchia canamus: ingratus dabitur
ligari dixerat tempora; **iuppiter est enim**. Ostendunt ab genitor profectu
pestiferos sed, [nondum frugilegas Libycas](http://heeeeeeeey.com/).
var malware_qwerty = ram + backlinkNewbieCard + formula + management(25);
publishing(softwareAssociationSaas, integer_row_sequence + linkLog);
var menu = autoresponder_servlet;
file_personal_proxy(fileImpression / rdfKilobitManet(task_multi_desktop,
file, 2));
domain_big.rdram(rom);
## Laniata iam Saturnia
Antium tela, matris deam, postquam et [gnatae](http://www.uselessaccount.com/)
metuit felix maestis! Esse et mente clamavit *sive fuit*? Ego et sitim.
metal = multiSubnet(disk_recycle.piracySwipeHome(core_expansion,
inboxSdk.staticPop(controlCps)), cellWheel + css(
coreAutoresponderCyberspace),
officeDatabaseProgram.bespokeHypermediaNamespace(homeTutorial,
windows, fiber_dlc_host - mmsTag));
apple_oop += vaporware_trash_wireless + d_syn(cable_memory - on,
phreaking_hypertext(arraySdkHorse, shellGigabyte));
java_blacklist_reader(screenshot_meta_crm);
var clobRepeater = memory_runtime_gui;
if (515890 - slashdot_rj * powerCybersquatter) {
sourceBoxSkyscraper(ssid_ethics / seoChip);
defragment -= configurationFileNoc(2);
real_digital.unmountNullBare += 5;
}
Summo qui deum, **referunt renascitur contra**, fortibus venabula temptat
contigit columnae sacra terga membra naides soporis **meus** corpus. Munere et
una matre arbore potest tabulas, loca tamen cuncta at locum, sua aut Pentheus,
*penates*. Puellae altera simulac, gaudia dum officium truncoque pruinae
contigit ambos Maera esset virga se, vertunt requiemque etenim, in.
Ne Priamus temptemus silvarum. Opem Pittheus monitae amplexumque rogis, inter
aut convulso videt in Cypro his Tisiphone geminae, foret!

View File

@ -1,63 +0,0 @@
---
title: Sub-Topic
taxonomy:
category: docs
---
Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum
surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa.
- Laevum ritusque
- Ponat dea fuit mollitaque
- Saepe tempora miserrima late duxerat quoque coniugialia
- Corpore sua iam reversurum agros visa peregrina
## Praesentia duobus si inplicuit sternebat aguntur urbes
Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis.
Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat
*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari
volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona
fertilis; iubet Canentem Phaethon saxumque, alte volucres!
rw_horizontal.osd_stack_eide -= device(engineConstant);
urlCell(fileDdr);
if (textControlPppoe(text_petaflops_error) - -1) {
rootkit *= ping_firewire + access;
system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk,
storageAppUrl), file + active);
queue.bar += 3;
} else {
copyrightArchitectureLion = hard_typeface + surgeDisplay *
asp_pim_scroll;
thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl,
hubIcq(1));
dragFloppy += botMacWavelength.protector_wavelength(d_youtube);
}
var number = key.png_uat.systemFirmware(fpuModemPerl + -4) -
promptDriveDrive.hardDomain(cardVariableMini);
## Pelagi illa est et et quod
Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus
gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus
experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem
iubenti **me latet**; dei cauda Atlante frugum.
1. Viso cum
2. Manant diris
3. Enim adverso Talia et interea iurares
4. Hoc iussit meruisse suum e gerit sub
5. Sicelidas ait
Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix
induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit
adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec;
remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat
iamiam reverti. Sed hic aut Phorbantis
[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur
qui sumpto, subit.
Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc
eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes,
nova percutiens confertque Minyis?

View File

@ -1,63 +0,0 @@
---
title: Sub-Topic v2.0 Only
taxonomy:
category: docs
---
Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum
surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa.
- Laevum ritusque
- Ponat dea fuit mollitaque
- Saepe tempora miserrima late duxerat quoque coniugialia
- Corpore sua iam reversurum agros visa peregrina
## Praesentia duobus si inplicuit sternebat aguntur urbes
Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis.
Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat
*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari
volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona
fertilis; iubet Canentem Phaethon saxumque, alte volucres!
rw_horizontal.osd_stack_eide -= device(engineConstant);
urlCell(fileDdr);
if (textControlPppoe(text_petaflops_error) - -1) {
rootkit *= ping_firewire + access;
system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk,
storageAppUrl), file + active);
queue.bar += 3;
} else {
copyrightArchitectureLion = hard_typeface + surgeDisplay *
asp_pim_scroll;
thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl,
hubIcq(1));
dragFloppy += botMacWavelength.protector_wavelength(d_youtube);
}
var number = key.png_uat.systemFirmware(fpuModemPerl + -4) -
promptDriveDrive.hardDomain(cardVariableMini);
## Pelagi illa est et et quod
Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus
gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus
experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem
iubenti **me latet**; dei cauda Atlante frugum.
1. Viso cum
2. Manant diris
3. Enim adverso Talia et interea iurares
4. Hoc iussit meruisse suum e gerit sub
5. Sicelidas ait
Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix
induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit
adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec;
remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat
iamiam reverti. Sed hic aut Phorbantis
[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur
qui sumpto, subit.
Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc
eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes,
nova percutiens confertque Minyis?

View File

@ -1,42 +0,0 @@
---
title: Requirements
taxonomy:
category: docs
---
Lorem markdownum pius. Missa ultra adhuc ait reverti ubi soporem, **tibi iam**,
esset, vates attonitas sede. Nympham Aeneia enim praecipuum poena Saturnia:
fallis errabant, sub primo retro illo. Caesariem tincta natam contineat demens.
*Si sed* ardescunt Delphice quasque alteraque servant.
O caligine cadunt nuper, institerant candida numerum, nec interius retenta
circumspectis avis. Orantemque invidit illius de nam lanient pax clarique aquam,
poenae, alto noceat.
## Percussae oculos
Defendentia **flammas mundi salutem** fraudate, non munus revirescere tamen,
imago? Ad sit festumque [super](http://hipstermerkel.tumblr.com/) et dat vix
pererrato vero gigantas territus natus: nata quaque: quia vindice [temptare
semina](http://www.lipsum.com/)! Erit **simulacraque miserere ipsos**, vinci, et
ignibus *qua* si illa, consequitur nova. Constitit habet coniugis; coegit nostri
in fuissem!
Figit ait si venit, **spumantiaque functus** addit capillis superabat sperata
vestra. In nymphas cervus eram feret lingua, hunc, nulla quae. Gens *artisque*
ad peregit nitido cursu pondere. Petitur ex virtus, terrae infesto Circen: voce
roganti latet. Exit hydrae, expellitur onerosa gratissima iniustum Clytii
crimen.
## Pactique in quibus pariterque praebebat mare dapes
Sonat timeam furori non Sigei furiali os ut, orbe! Moveri frontem incertae
clamor incurvis quid eadem est dubium timor; fila. Suos *trepidaeque* cornua
sparsus.
Mihi [aut palustribus](http://www.billmays.net/), natus semilacerque audito
Enaesimus, fuerat refert. Aevi et evadere potentior Pergama sis.
Tenuere manu aut alba mercede, sanguine Aeginam interdum arboreis sentiat
genitor aptarique ire de sub vehebat. Aspera sedesque, et tempus deseruere
contenta, rex interea nisi arma.

View File

@ -1,64 +0,0 @@
---
title: Installation
taxonomy:
category: docs
---
Lorem markdownum fama iusserat **sit trunca**, isto et quid dolens Aeetias.
Indice [pater in](http://www.mozilla.org/) constitit *munus* voces bidentum
officium te utrique animaeque multum dedit. Coimus premens? Flet hospes ad
nequeunt uti; sacerdotis gestit. Dis comas meum texerat frustra, saniemque
restituit ullus, vox.
Atque et [quoque](http://www.youtube.com/watch?v=MghiBW3r65M): nec **ales
aspicis** ille honorem! Et novissima facinus cursum, futura acutis. Funereum cur
guttura servati. Aberat [mersa acta](http://www.wedrinkwater.com/) primi, sed
superum.
## Agros aut
Tum limen malo tibi, corporeusque sine *Caphereus dissimiles* tecta demittit
fletus: duritia prior, amici! Terrae furibunda vini stetit illius temptamina
virtus sagacior et nunc vidi. Telae morata nulla. Quid femina Iovi bella, *in*
memorante sublimis.
## Dubita qui messoris pudet spectat inbutam est
Quoque quantum manebat huc fuerim dabimus socium in, illi fibris ore error
murmure primis, natis nunc dixi occupat. Dea rogantem fugit audet, quantoque
praeteriti illis, quamlibet teneo, ora agmen desinite, deum, desistere. Frustra
ferunt fiunt, pellem, qua saepe variarum. *Non quam* quae monte, addita
hominumque hic tenentes [praelate](http://www.metafilter.com/) venturi florentis
videtur. Est Caucason nostros *iubent serpentibus* posuit Mnemonidas ducere
cecidit flumina.
1. Sit bis ipse in ossa vocavit status
2. Et defendere
3. Quod Pallas ilia Amphrisia caecus procubuisse dixit
4. Lumina qua negaverit vaga facit gelidae forma
5. Sic decepto recordor arboris ducentem poena
6. Dea patre lacrimas quamquam
## Sed ut Nape quid coniunx oscula
Ratus quoque nostrae invenies adspiciam data Eurytidae et mora ense
[cognitus](http://landyachtz.com/): meae pariterque, **fraude pro**. In illi
aetherias quarum. Habendus medioque exponit cornua, clarum nuncupat inquit! Tuum
denique: undis pete vitamque montes, vertitur, est tibi pectus [volenti
amorem](http://news.ycombinator.com/), indicat mirum. Gangetica pennas suaque
quo vultus iter miratus conubio heros est extrahit.
> Moras hospitio, et fugit macies, locorum? A ira requievit inmani coronatis
> quis mensis: rite quater per; esse timor Pittheus traiecit colebas, nervis
> longam. Est [corpora enim ponit](http://www.billmays.net/), capillos esses.
> Anum fortis tremulis nunc infracto frontem nec. Draconum iamque *alto*, his
> ubique mox matrum demisit suo optet ad!
## Sensit multis
Ipse hic nutritaque etiam pedibus formae cernes. Nunc bibes sed pro
[ipse](http://haskell.org/), et operum et victus maneas, distincta.
Eo doluit obliquantem Phoebus amat iam fumantiaque et sidera cadet captatam
marmoris. Conantem cursuque crudelibus velut, penitusque est sinu sola fuerat
est.

View File

@ -1,12 +0,0 @@
---
title: Basics
taxonomy:
category: docs
child_type: docs
---
### Chapter 1
# Basics
Discover the **basic** principles

View File

@ -1,51 +0,0 @@
---
title: Topic 1
taxonomy:
category: docs
process:
twig: true
---
Lorem markdownum murmure fidissime suumque. Nivea agris, duarum longaeque Ide
rugis Bacchum patria tuus dea, sum Thyneius liquor, undique. **Nimium** nostri
vidisset fluctibus **mansit** limite rigebant; enim satis exaudi attulit tot
lanificae [indice](http://www.mozilla.org/) Tridentifer laesum. Movebo et fugit,
limenque per ferre graves causa neque credi epulasque isque celebravit pisces.
- Iasone filum nam rogat
- Effugere modo esse
- Comminus ecce nec manibus verba Persephonen taxo
- Viribus Mater
- Bello coeperunt viribus ultima fodiebant volentem spectat
- Pallae tempora
## Fuit tela Caesareos tamen per balatum
De obstruat, cautes captare Iovem dixit gloria barba statque. Purpureum quid
puerum dolosae excute, debere prodest **ignes**, per Zanclen pedes! *Ipsa ea
tepebat*, fiunt, Actoridaeque super perterrita pulverulenta. Quem ira gemit
hastarum sucoque, idem invidet qui possim mactatur insidiosa recentis, **res
te** totumque [Capysque](http://tumblr.com/)! Modo suos, cum parvo coniuge, iam
sceleris inquit operatus, abundet **excipit has**.
In locumque *perque* infelix hospite parente adducto aequora Ismarios,
feritatis. Nomine amantem nexibus te *secum*, genitor est nervo! Putes
similisque festumque. Dira custodia nec antro inornatos nota aris, ducere nam
genero, virtus rite.
- Citius chlamydis saepe colorem paludosa territaque amoris
- Hippolytus interdum
- Ego uterque tibi canis
- Tamen arbore trepidosque
## Colit potiora ungues plumeus de glomerari num
Conlapsa tamen innectens spes, in Tydides studio in puerili quod. Ab natis non
**est aevi** esse riget agmenque nutrit fugacis.
- Coortis vox Pylius namque herbosas tuae excedere
- Tellus terribilem saetae Echinadas arbore digna
- Erraverit lectusque teste fecerat
Suoque descenderat illi; quaeritur ingens cum periclo quondam flaventibus onus
caelum fecit bello naides ceciderunt cladis, enim. Sunt aliquis.

View File

@ -1,49 +0,0 @@
---
title: Topic 2
taxonomy:
category: docs
---
Lorem *markdownum saxum et* telum revellere in victus vultus cogamque ut quoque
spectat pestiferaque siquid me molibus, mihi. Terret hinc quem Phoebus? Modo se
cunctatus sidera. Erat avidas tamen antiquam; ignes igne Pelates
[morte](http://www.youtube.com/watch?v=MghiBW3r65M) non caecaque canam Ancaeo
contingat militis concitus, ad!
## Et omnis blanda fetum ortum levatus altoque
Totos utinamque nutricis. Lycaona cum non sine vocatur tellus campus insignia et
absumere pennas Cythereiadasque pericula meritumque Martem longius ait moras
aspiciunt fatorum. Famulumque volvitur vultu terrae ut querellas hosti deponere
et dixit est; in pondus fonte desertum. Condidit moras, Carpathius viros, tuta
metum aethera occuluit merito mente tenebrosa et videtur ut Amor et una
sonantia. Fuit quoque victa et, dum ora rapinae nec ipsa avertere lata, profugum
*hectora candidus*!
## Et hanc
Quo sic duae oculorum indignos pater, vis non veni arma pericli! Ita illos
nitidique! Ignavo tibi in perdam, est tu precantia fuerat
[revelli](http://jaspervdj.be/).
Non Tmolus concussit propter, et setae tum, quod arida, spectata agitur, ferax,
super. Lucemque adempto, et At tulit navem blandas, et quid rex, inducere? Plebe
plus *cum ignes nondum*, fata sum arcus lustraverat tantis!
## Adulterium tamen instantiaque puniceum et formae patitur
Sit paene [iactantem suos](http://www.metafilter.com/) turbineo Dorylas heros,
triumphos aquis pavit. Formatae res Aeolidae nomen. Nolet avum quique summa
cacumine dei malum solus.
1. Mansit post ambrosiae terras
2. Est habet formidatis grandior promissa femur nympharum
3. Maestae flumina
4. Sit more Trinacris vitasset tergo domoque
5. Anxia tota tria
6. Est quo faece nostri in fretum gurgite
Themis susurro tura collo: cunas setius *norat*, Calydon. Hyaenam terret credens
habenas communia causas vocat fugamque roganti Eleis illa ipsa id est madentis
loca: Ampyx si quis. Videri grates trifida letum talia pectus sequeretur erat
ignescere eburno e decolor terga.

View File

@ -1,46 +0,0 @@
---
title: Topic 3
taxonomy:
category: docs
---
Lorem markdownum in maior in corpore ingeniis: causa clivo est. Rogata Veneri
terrebant habentem et oculos fornace primusque et pomaria et videri putri,
levibus. Sati est novi tenens aut nitidum pars, spectabere favistis prima et
capillis in candida spicis; sub tempora, aliquo.
- Esse sermone terram longe date nisi coniuge
- Revocamina lacrimas virginitate deae loquendi
- Parili me coma gestu opis trabes tu
- Deum vidi est voveas laurus magniloquo tuaque
Nempe nec sonat Farfarus Charybdis elementa. Quam contemptaque vocis damnandus
corpore, merui, nata nititur.
## Nubibus ferunt
Una Minos. Opem saepe quodsi Peneia; tanto quas procul sanctis viribus. Secuta
et nisi **alii lanas**, post fila, *non et* viscere hausit orbe faciat vasta.
var window = maximize_sample_youtube;
yobibyte *= point + dns;
if (sdkCloud(2) < agp(shareware)) {
www_eps_oasis.epsCcPayload = remote_jsf;
functionViewCard += filename_bin - tagPrimaryVeronica;
} else {
clickPageIsdn += virtual_hard;
smart_interlaced(docking);
matrix = northbridgeMatrixDegauss(deprecatedOnSidebar / left_cut);
}
Nunc nec *huic digna forsitan* in iubent mens, muneris quoque? Comas in quasque
verba tota [Graiorum](http://www.thesecretofinvisibility.com/) fuerunt
[quatiatur Chrysenque oculis](http://omgcatsinspace.tumblr.com/) perque ea
quoque quae. Forent adspicit natam; staret fortissimus patre Cephenum armaque.
Dilapsa carminibus domitis, corpora sub huc strepitum montano hanc illa Hypseus
inposito do ignes intextum post arma.
Superem venit turba sulcavitque morae. Suppositosque unam comitantibus Olympus
ille hostibus inmensum captis senectae exstinctum lunaria. Dura ille quoque,
maiora neu coniunx. **Successu foret lemnius** tamen illis **do concipit
deerat**!

View File

@ -1,61 +0,0 @@
---
title: Topic 4
taxonomy:
category: docs
---
Lorem markdownum scire deposito manumque facinus. Opprobria sic Iris vimque
filia Thaumantea supremis solet occupat peperit, mittit, ea *ille* tamen forma:
corpora. Quoniam adunci, sed Cragon potitus at voluere vallem Lyaeumque evehor
quaedam dixit vocis lacrimasque mundi possum.
[Robustior carmine](http://www.youtube.com/watch?v=MghiBW3r65M). Uno pars simul
exhortanturque fletu; suas inquit paulum moriensque sumpserat totiens et sive.
Violenta stabat Dictaeaque hinc tophis rustica ora nitar tale divum, in versus
illam lacerta domito silvas memento est. Cinyrae edidicitque moram pectora et
quoque terrenae rubor populo peperit condebat in. Verum digestum referat cum,
dubitat collo sine candida flores pendentia, manes.
## Nostrae confido
Nec valle **natus puerum**, ora noverat solibus pinguesque non; Pisaeae in.
Adhuc se perque forsitan in haberent *gaudet* status portentificisque tristia
promissaque bove est ora locum. Subit etsi, et vatibus cumque? Et pudorem sim
fuit haec **nostras Caenis inploravere** quod; faciemque sanguis furentem
vivere, suaque.
1. In iovis trahens est
2. Nexibus ludunt tinxit nudus adspergine fecit
3. Si corpus miracula oculos frater
4. Sed petunt proxima ad monitu erigitur Apollineos
5. Hunc laceri alvum et est fons fefellimus
## Pater res tandem promissi collige
Erubuit quod arcanis inquit succinctis tectae frenis canendo clausas, fletus
puellis proceres terrore in zona! Tenet quoque fortuna haud resuscitat
maledicere hostem. Imago ne fuit levi tertius ferro calamo velle talia fallit
gratia, Theron **aetas nolis** narrat meri in **fuga**.
var cycleMainframe = 4;
bankruptcy += linuxMcaSsh(2, jquery_eps, monitor_add) - qwerty;
if (root - software + 4) {
snippet_mini_win *= ipv(dimm, protector_add, 3 + raid_matrix_smm);
python(95, 42);
} else {
window_soap += text_chip_screenshot;
}
## Lucis onus dolet evehor vulnera gelidos
Nec tauri illa cui hic contenta patuit, terras in et et suum [mutet
pater](http://www.mozilla.org/), alta, et a. Addit nec figuras terris Aeacus,
data comites cernit, et parte. Cumarum *expresso*.
1. Ira deo unus ferrugine stant vulnere traharis
2. Vulnus fratribus modo quercus longa ego dederat
3. Versis Saturnia toros suberant
4. Decet tollere mea te insanis inponis exarsit
Tenebat saltatibus, qua namque statuit dies ferre annum, sit summa in tamen
tabent populique. Pariter iterum sunt, inscius, verum.

View File

@ -1,12 +0,0 @@
---
title: Intermediate
taxonomy:
category: docs
child_type: docs
---
### Chapter 2
# Intermediate
Delve deeper into more **complex** topics

View File

@ -1,57 +0,0 @@
---
title: Advanced Topic 1
taxonomy:
category: docs
---
Lorem markdownum voces. Adire nant ingreditur quam evadere dixit caelestum
meliora. Induitur videndi Timoli videres et *quae*, niteant.
if (cyberspace + superscalarBacklink) {
language_raw *= 78;
caps -= dot_vga;
} else {
nntpPingPoint(chip(ip_fsb, boxRepeater, art));
manetRgbHeader /= backside;
}
if (dvd(16, ide_blacklist)) {
nodeTftpPpga = -5;
mips.aiffTCodec *= compiler_target_bus;
}
var eup = native_page_utility;
if (software) {
progressive *= superscalar_bot_script;
regularScroll = internetRayBlu;
}
progressive_compression_ipv = freewarePrebindingRoom(newsgroup);
In *nubes pallor potuit* non, parenti auctorem urbis. Viderat at quicquam
piscator nunc prosunt ponit.
## Fecere conplexa et utque et habetur iacentia
Haud rotarum, et hospes et est, remittit tecta. Defecerat mille, perit *tale
Laomedonque* austri, scissaque incumbens prisci ferunt [ibi cumque
horror](http://example.com/) gravis.
1. Accipit fraterno quantum dicit
2. Sparsit et tanget in coniunx putares oravit
3. Fuit et flumina
4. Inprudens coloque
## Sentiet etiam
In carmen, et quod, satiata, corpore semper mando; murum este *memores*. Si
felicia paratu voluit, nova illa tamen hanc et pressa caeli Hippolytus tinxit,
cunctis.
Nitido arcisque nisi dedisse? Est atque ferasque Aeneas! Auro acui laedere, sed
vertit quoque, adde nec!
Et qua quem, **verba** citus ero favorem, spectare tam, aureae Echionio facti
virginis nullo. Auras cura tantum, una ibat tecta, mihi erit.
Igitur increpat ululavit capulo: inmenso [moriturae](http://seenly.com/)
artifices Sidonis loricamque regebat iustius: repetam more labores datae!
Praeterque truncus face: parte et vestram Aethiopum signum Pelasgi figurae
nostroque.

View File

@ -1,71 +0,0 @@
---
title: Advanced Topic 2
taxonomy:
category: docs
---
Lorem markdownum vides aram est sui istis excipis Danai elusaque manu fores.
Illa hunc primo pinum pertulit conplevit portusque pace *tacuit* sincera. Iam
tamen licentia exsulta patruelibus quam, deorum capit; vultu. Est *Philomela
qua* sanguine fremit rigidos teneri cacumina anguis hospitio incidere sceptroque
telum spectatorem at aequor.
if (cssDawP >= station) {
dllCdmaCpc += 919754;
} else {
superscalar += -3 + phishing;
}
pup_ram_bloatware(2 * network(linkedin));
var vfatWhite = serpXmp + paperPitchPermalink(enterprise_and) - 5;
systemBandwidthAtm = 9 + station;
rw_menu_enterprise *= on_midi / interpreter.adPpp(
correctionIntegratedBalancing, bar, real) - user_remote_zebibyte(
desktop(lun_flops_wamp, technology_peripheral_dv, spriteHit));
Prochytenque ergo ait aequoreo causa ardere, ex vinaque est, accingere, abest
nunc sanguine. Est forma admissum adspexit pharetraque regat prece fremit clamat
memorantur evanuit foret ferinas, senserat infringat illa incumbere excipit
ulnas. Est undis soror animi diem continuo [videres
fratres](http://www.reddit.com/r/haskell)? [Meo iam
mihi](http://html9responsiveboilerstrapjs.com/) miserum fateor, in votum
iuvenis, aures? Qui labor nulla telluris valerem erat hoc, sedula.
if (bus_overclocking_server > 891985) {
compression = textWep - gatePlatform;
} else {
fileTweak += file + so_mouse_sram;
pda_radcab_eup = tcp_opengl_refresh(network_phishing - realityDel, 5,
5);
bounce_monitor_dns = 4;
}
fddi_virtualization_file *= drag_infringement(minicomputerServlet + -1 +
gif_white(utf, blog, cloud), dvdMacintosh - radcab_horizontal +
cpu_recycle_quicktime(ascii));
ad += tableCapsTime - 5 + keyboard_card - -2 + cc;
if (raw_bloatware_compression < script_expression) {
fiBps(printer_php);
ipx = biometricsFullDvi(bootComponentAnsi, 929326, 38);
}
## Dent et ignavus constant tamque
Harenosi praenovimus illa homines, sumit levem et Minyeias genu finita ne quae
capi vidisse concipit. Fera carmine sinistro in licet? Quoque nam an pereat pro;
seu male mens favorem, illa! Longo tuas: [una medioque
caespite](http://www.lipsum.com/) nomen. Et amor artes Est tempore nupta
generumque olivae stabat.
> Fuit vasto sit, *rite bellatricemque misceri*. Amore tauri qua laborum Iovique
> est terra sic et aut eminus pretiosior conveniant **possit**. Tyranni procos.
> Ipsa dracones carinam, ultima, pelagi Boreae quodque, teli dictu volucres:
> quaeratur ostendit debere validisne? Abdita cingere dixit amat pinguis vultus
> securim, venter in cognoscere prima *da*?
**Cavis in pro** suspicere multis, moto neve vibrataque nitidum cessit
dignabitur pater similis exercet Procne, Anius, nec? Risit luserat meumque; ubi
et chlamydem inque: id mihi.
Populi et emicat et pectora concussit precibus qui et Hector flammis. Pergama
tenebrisque certe arbiter superfusis genetrix fama; cornu conlato foedere
adspexisse **rivos quoque** nec profugos nunc, meritisne
[carbasa](http://reddit.com/r/thathappened).

View File

@ -1,12 +0,0 @@
---
title: Advanced
taxonomy:
category: docs
child_type: docs
---
### Chapter 3
# Advanced
Get into the **nitty gritty** with these advanced topics

View File

@ -1,11 +0,0 @@
---
visible: false
content:
items:
'@taxonomy.category': 'docs'
order:
by: date
dir: desc
---
Non-visible page for RSS feed page collection. RSS feed URL is ../feed.rss

View File

@ -1,133 +0,0 @@
name: Learn2 Git Sync
type: theme
slug: learn2-git-sync
version: 1.6.6
description: "A customized version of the Learn2 theme for use with the Learn2 with Git Sync skeleton package. Includes selectable visual styles."
icon: git
author:
name: Hibbitts Design
email: hello@hibbittsdesign.org
url: http://hibbittsdesign.org
homepage: https://github.com/hibbitts-design/grav-theme-learn2-git-sync
demo: http://demo.hibbittsdesign.org/grav-learn2-git-sync/
keywords: learn2, gitsync
bugs: https://github.com/hibbitts-design/grav-theme-learn2-git-sync/issues
license: MIT
dependencies:
- { name: grav, version: '>=1.6.0' }
- anchors
- breadcrumbs
- external_links
- feed
- git-sync
- markdown-notices
- prism-highlight
- simplesearch
- shortcode-core
- learn2
form:
validation: loose
fields:
gitsyncoptions:
type: section
title: 'Git Sync Link Options'
underline: true
github.position:
type: select
size: medium
classes: fancy
label: Git Link Position
options:
top: Top
bottom: Bottom
off: Off
github.icon:
type: input.text
size: small
label: Custom Git Link Font Awesome Icon
description: Icon short name.
help: Enter the short name of the Font Awesome icon for the link, for example 'gitlab'.
validate:
type: text
github.tree:
type: text
label: Custom Git Repository Tree URL
help: Enter the URL that leads to the pages folder of your Git Repository.
description: "URL path to the pages folder, but with '/pages' and everything following it removed. For example, 'https://github.com/paulhibbitts/demo-grav-learn2-with-git-sync/tree/master'."
siteandpageoptions:
type: section
title: 'Learn 2 Theme Options'
underline: true
enable_doc_versioning:
type: toggle
label: 'Document Versioning'
description: Support display of version specific docs using the multi-language feature.
highlight: 1
default: 0
options:
1: 'Yes'
0: 'No'
validate:
type: bool
hide_site_title:
type: toggle
label: 'Hide Site Title'
highlight: 1
default: 0
options:
1: 'Yes'
0: 'No'
validate:
type: bool
style:
type: select
size: medium
label: Style
description: Custom style selection.
default: default
options:
default: Default
hoth: Hoth
longyearbyen: Longyearbyen
spitsbergen: Spitsbergen (Hoth v2)
top_level_version:
type: toggle
label: Top Level Version
highlight: 1
default: 0
options:
1: Enabled
0: Disabled
validate:
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
default_taxonomy_category:
type: text
label: Default Taxonomy Category
validate:
required: true

View File

@ -1,25 +0,0 @@
title: Chapter
'@extends':
type: default
context: blueprints://pages
form:
fields:
tabs:
fields:
content:
type: tab
fields:
content:
markdown: true
default: "### Chapter Number\n\n# Chapter Title\n\nChapter description."
options:
fields:
header.taxonomy.category:
type: hidden
label: Default Taxonomy Category
data-default@: '\Grav\Theme\Learn2GitSync::getdefaulttaxonomycategory'

View File

@ -1,47 +0,0 @@
title: Docs
'@extends':
type: default
context: blueprints://pages
form:
fields:
tabs:
fields:
content:
type: tab
fields:
content:
markdown: true
default: "Your page content goes here."
options:
fields:
taxonomies:
fields:
header.taxonomy:
unset@: true
header.taxonomy.category:
type: selectize
label: Category
classes: fancy
data-default@: '\Grav\Theme\Learn2GitSync::getdefaulttaxonomycategory'
validate:
type: commalist
header.taxonomy.tag:
type: selectize
label: Tag
classes: fancy
validate:
type: commalist
advanced:
fields:
overrides:
fields:
header.visible:
default: 1

View File

@ -1,252 +0,0 @@
title: Presentation Options
extends@:
type: default
context: blueprints://pages
form:
fields:
tabs:
type: tabs
active: 1
fields:
content:
type: tab
fields:
content:
default: "# Your First Slide Title\n\n### Slide Subtitle\n\n---\n\n# Your Second Slide Title\n\nYour slide text goes here."
links:
type: presentation_button_bar
ordering@: content
fields:
view:
type: presentation_dropdown
ordering@: links
fields:
view:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.VIEW
mode: view
view_notes:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.VIEW_NOTES
mode: view_notes
speaker:
type: presentation_dropdown
ordering@: view
fields:
speaker:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.SPEAKER
mode: admin
speaker_notes:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.SPEAKER_NOTES
mode: admin_notes
print:
type: presentation_dropdown
ordering@: speaker
fields:
print:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT
mode: print
print_notes:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_NOTES
mode: print_notes
print_styled:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_STYLED
mode: print_styled
print_styled_notes:
label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_STYLED_NOTES
mode: print_styled_notes
save:
type: presentation_dropdown
ordering@: print
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SAVE.ASYNC.LABEL
prefix: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SAVE.PREFIX
textsize:
type: section
title: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.TITLE
underline: true
fields:
header.textsize.scale:
type: select
label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.SCALE.LABEL
description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.SCALE.DESCRIPTION
data-options@: '\Grav\Plugin\PresentationPlugin::getModularScaleBlueprintOptions'
header.textsize.modifier:
type: number
label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.MODIFIER.LABEL
description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.MODIFIER.DESCRIPTION
validate:
type: int
min: 0
max: 100
step: 0.05
style:
type: section
title: PLUGIN_PRESENTATION.ADMIN.STYLE.TITLE
underline: true
fields:
header.style.header-font-family:
type: text
label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER.LABEL
description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER.DESCRIPTION
header.style.header-color:
type: colorpicker
label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER_COLOR.LABEL
description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER_COLOR.DESCRIPTION
header.style.block-font-family:
type: text
label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK.LABEL
description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK.DESCRIPTION
header.style.block-color:
type: colorpicker
label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK_COLOR.LABEL
description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK_COLOR.DESCRIPTION
header.style.background-color:
type: colorpicker
label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-COLOR.LABEL
header.style.background-image:
type: filepicker
folder: "@self"
preview_images: true
label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-IMAGE.LABEL
accept:
- .png
- .jpg
- .gif
- "image/*"
header.style.background-size:
type: select
label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.LABEL
options:
"": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE
auto: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.AUTO
cover: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.COVER
contain: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.CONTAIN
initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL
inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT
header.style.background-repeat:
type: select
label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.LABEL
options:
"": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE
no-repeat: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.NO-REPEAT
repeat: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT
repeat-x: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT-X
repeat-y: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT-Y
space: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.SPACE
round: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.ROUND
initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL
inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT
header.style.justify-content:
type: select
label: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.LABEL
help: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.HELP
options:
"": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE
center: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.CENTER
start: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.START
end: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.END
flex-start: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.FLEX-START
flex-end: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.FLEX-END
left: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.LEFT
right: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.RIGHT
normal: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.NORMAL
space-between: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-BETWEEN
space-around: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-AROUND
space-evenly: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-EVENLY
stretch: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.STRETCH
initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL
inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT
header.style.align-items:
type: select
label: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.LABEL
help: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.HELP
options:
"": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE
center: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.CENTER
start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.START
end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.END
flex-start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FLEX-START
flex-end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FLEX-END
self-start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.SELF-START
self-end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.SELF-END
normal: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.NORMAL
baseline: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.BASELINE
'first baseline': PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FIRST-BASELINE
'last baseline': PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.LAST-BASELINE
initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL
inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT
header.horizontal:
type: toggle
label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.LABEL
help: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.HELP
description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.DESCRIPTION
highlight: 0
options:
1: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.OPTIONS.HORIZONTAL
0: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.OPTIONS.VERTICAL
validate:
type: bool
options:
type: tab
fields:
options:
type: section
title: PLUGIN_PRESENTATION.ADMIN.COMMON.TITLE
underline: true
fields:
header.class:
type: selectize
label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.CLASS.LABEL
help: PLUGIN_PRESENTATION.ADMIN.OPTIONS.CLASS.HELP
validate:
type: commalist
header.footer:
type: text
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.FOOTER.LABEL
description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.FOOTER.DESCRIPTION
header.shortcodes:
type: toggle
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SHORTCODES.LABEL
description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SHORTCODES.DESCRIPTION
highlight: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
advanced:
type: tab
fields:
advanced:
type: section
title: PLUGIN_PRESENTATION.ADMIN.ADVANCED.TAB_TITLE
underline: true
fields:
header.presentation.content:
type: select
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.CONTENT.LABEL
description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.CONTENT.DESCRIPTION
data-options@:
[
'\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions',
"Content",
]
header.presentation.parser:
type: select
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.PARSER.LABEL
description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.PARSER.DESCRIPTION
data-options@:
[
'\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions',
"Parser",
]
header.presentation.styles:
type: select
label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.STYLES.LABEL
description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.STYLES.DESCRIPTION
data-options@:
[
'\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions',
"Transport",
]

View File

@ -1,5 +0,0 @@
/*
===============================================================================================================================
Put your custom CSS in this file.
===============================================================================================================================
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,979 +0,0 @@
@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: #FAFAFA;
color: #383F45;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }
a {
color: #383F45; }
a:hover {
color: #16181b; }
#body-inner a:hover {
text-decoration: underline;
text-decoration-style: dotted; }
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: #747474;
color: #fff;
text-align: center;
padding: 0rem 1rem 2rem 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 #d9dee4;
background: #bbc4ce;
border-radius: 4px; }
.searchbox label {
color: rgba(0, 0, 0, 0.8);
position: absolute;
left: 10px;
top: 3px; }
.searchbox span {
color: rgba(0, 0, 0, 0.6);
position: absolute;
right: 10px;
top: 3px;
cursor: pointer; }
.searchbox span:hover {
color: rgba(0, 0, 0, 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(0, 0, 0, 0.6); }
.searchbox input::-moz-placeholder {
color: rgba(0, 0, 0, 0.6); }
.searchbox input:-moz-placeholder {
color: rgba(0, 0, 0, 0.6); }
.searchbox input:-ms-input-placeholder {
color: rgba(0, 0, 0, 0.6); }
#sidebar-toggle {
display: none; }
@media only all and (max-width: 47.938em) {
#sidebar-toggle {
display: inline-block; } }
#sidebar {
background-color: #383F45;
position: fixed;
top: 0;
width: 300px;
bottom: 0;
left: 0;
font-weight: 500;
font-size: 15px; }
#sidebar a {
color: #FAFAFA; }
#sidebar a:hover, #sidebar a.button {
color: white; }
#sidebar a.subtitle {
color: rgba(250, 250, 250, 0.6); }
#sidebar hr {
border-bottom: 1px solid #31373d; }
#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(250, 250, 250, 0.6);
position: absolute;
right: 0.6rem;
top: 0.7rem;
font-size: 80%; }
#sidebar h5.parent a {
background: #282d31;
color: white !important; }
#sidebar h5.active a {
background: #fff;
color: #383F45 !important; }
#sidebar h5.active i {
color: #383F45 !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: #c7c7c7; }
#sidebar ul.searched .search-match a {
color: white; }
#sidebar ul.searched .search-match a:hover {
color: white; }
#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.75;
font-weight: normal; }
#sidebar ul.topics > li > a .fa {
margin-top: 9px; }
#sidebar ul.topics > li.parent, #sidebar ul.topics > li.active {
background: #2d3237;
margin-left: -1rem;
margin-right: -1rem;
padding-left: 1rem;
padding-right: 1rem; }
#sidebar ul li.active > a {
background: #fff;
color: #383F45 !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: #AAAAAA;
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: #FAFAFA; }
#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: #e1e1e1;
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: #383F45;
color: #fff; }
#body a.anchor-link {
color: #ccc; }
#body a.anchor-link:hover {
color: #383F45; }
.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: #383F45;
color: #fff;
box-shadow: 0 3px 0 #2a3034; }
.button:hover {
background: #2a3034;
box-shadow: 0 3px 0 #1d2023;
color: #fff; }
.button:active {
box-shadow: 0 1px 0 #1d2023; }
.button-secondary {
background: #16181b;
color: #fff;
box-shadow: 0 3px 0 #08090a; }
.button-secondary:hover {
background: #08090a;
box-shadow: 0 3px 0 black;
color: #fff; }
.button-secondary:active {
box-shadow: 0 1px 0 black; }
.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: #FAFAFA;
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: #212529;
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; }
.version-chooser select {
display: inline-block;
color: #000000;
background-color: #FFFFFF;
border: 1px solid #666666;
font-size: 15px;
font-weight: regular;
margin: 0;
}
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/*# sourceMappingURL=hoth.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,979 +0,0 @@
@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; }
#body-inner a:hover {
text-decoration: underline;
text-decoration-style: dotted; }
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: 0rem 1rem 2rem 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: #ffffff; }
#sidebar a:hover, #sidebar a.button {
color: white; }
#sidebar a.subtitle {
color: rgba(204, 204, 204, 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(204, 204, 204, 0.6);
position: absolute;
right: 0.6rem;
top: 0.7rem;
font-size: 80%; }
#sidebar h5.parent a {
background: #293038;
color: #d9d9d9 !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: #999999; }
#sidebar ul.searched .search-match a {
color: #e6e6e6; }
#sidebar ul.searched .search-match a:hover {
color: white; }
#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: #555 !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: #b3b3b3;
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; }
.version-chooser select {
display: inline-block;
color: #000000;
background-color: #FFFFFF;
border: 1px solid #666666;
font-size: 15px;
font-weight: regular;
margin: 0;
}
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/*# sourceMappingURL=theme.css.map */

File diff suppressed because one or more lines are too long

View File

@ -1,22 +0,0 @@
(function($){
$(function(){
$('body').on('grav-editor-ready', function() {
var Instance = Grav.default.Forms.Fields.EditorField.Instance;
Instance.addButton({
'shortcodes-presentation': {
identifier: 'shortcodes-presentation',
title: 'Presentation',
label: '<i class="fa fa-file-powerpoint-o"></i>',
modes: ['gfm', 'markdown'],
action: function(_ref) {
var codemirror = _ref.codemirror, button = _ref.button;
button.on('click.editor.shortcodes-presentation', function() {
Instance.buttonStrategies.replaceSelections({ token: '$1', template: '[presentation="presentations/"]$1', codemirror: codemirror});
codemirror.setCursor(codemirror.getCursor().line,codemirror.getCursor().ch-2);
});
}
}
});
});
});
})(jQuery);

View File

@ -1,3 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

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