move the documentation markdown files outside the generated html folder
No files matched your search
@@ -0,0 +1 @@
|
||||
laradock.io
|
||||
@@ -0,0 +1,91 @@
|
||||
baseurl = "http://laradock.io/"
|
||||
languageCode = "en-us"
|
||||
publishDir = "../../docs"
|
||||
title = "Laradock"
|
||||
theme = "hugo-material-docs"
|
||||
metadataformat = "yaml"
|
||||
canonifyurls = true
|
||||
# Enable Google Analytics by entering your tracking id
|
||||
googleAnalytics = "UA-37514928-9"
|
||||
|
||||
[params]
|
||||
# General information
|
||||
author = "Mahmoud Zalt"
|
||||
description = "Laradock documentations."
|
||||
copyright = ""
|
||||
|
||||
# Repository
|
||||
provider = ""
|
||||
repo_url = ""
|
||||
|
||||
version = ""
|
||||
logo = ""
|
||||
favicon = ""
|
||||
|
||||
permalink = "#"
|
||||
|
||||
# Custom assets
|
||||
custom_css = []
|
||||
custom_js = []
|
||||
|
||||
# Syntax highlighting theme
|
||||
highlight_css = ""
|
||||
|
||||
[params.palette]
|
||||
primary = "deep-purple"
|
||||
accent = "purple"
|
||||
|
||||
[params.font]
|
||||
text = "Doctarine"
|
||||
code = "Source Code Pro"
|
||||
|
||||
[social]
|
||||
twitter = ""
|
||||
github = "laradock/laradock"
|
||||
email = ""
|
||||
|
||||
# ------- MENU START -----------------------------------------
|
||||
|
||||
[[menu.main]]
|
||||
name = "Introduction"
|
||||
url = "introduction/"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
name = "Getting Started"
|
||||
url = "getting-started/"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
name = "Documentation"
|
||||
url = "documentation/"
|
||||
weight = 3
|
||||
|
||||
[[menu.main]]
|
||||
name = "Related Projects"
|
||||
url = "related-projects/"
|
||||
weight = 4
|
||||
|
||||
[[menu.main]]
|
||||
name = "Help & Questions"
|
||||
url = "help/"
|
||||
weight = 5
|
||||
|
||||
[[menu.main]]
|
||||
name = "Contributing"
|
||||
url = "contributing/"
|
||||
weight = 6
|
||||
|
||||
[[menu.main]]
|
||||
name = "License"
|
||||
url = "license/"
|
||||
weight = 7
|
||||
|
||||
# ------- MENU END -----------------------------------------
|
||||
|
||||
[blackfriday]
|
||||
smartypants = true
|
||||
fractions = true
|
||||
smartDashes = true
|
||||
plainIDAnchors = true
|
||||
|
||||
@@ -0,0 +1,163 @@
|
||||
---
|
||||
title: Contributing
|
||||
type: index
|
||||
weight: 6
|
||||
---
|
||||
|
||||
|
||||
Your contribution is more than welcome.
|
||||
|
||||
## I have a Question/Problem
|
||||
|
||||
If you have questions about how to use Laradock, please direct your questions to the discussion on [Gitter](https://gitter.im/Laradock/laradock). If you believe your question could help others, then consider opening an [Issue](https://github.com/laradock/laradock/issues) (it will be labeled as `Question`) And you can still seek help on Gitter for it.
|
||||
|
||||
## I found an Issue
|
||||
If have an issue or you found a typo in the documentation, you can help us by
|
||||
opnening an [Issue](https://github.com/laradock/laradock/issues).
|
||||
|
||||
**Steps to do before opening an Issue:**
|
||||
|
||||
1. Before you submit your issue search the archive, maybe your question was already answered couple hours ago (search in the closed Issues as well).
|
||||
|
||||
2. Decide if the Issue belongs to this project or to [Docker](https://github.com/docker) itself! or even the tool you are using such as Nginx or MongoDB...
|
||||
|
||||
If your issue appears to be a bug, and hasn't been reported, then open a new issue.
|
||||
|
||||
*This Help us to maximize the effort we can spend fixing issues and adding new
|
||||
features, by not reporting duplicate issues.*
|
||||
|
||||
|
||||
## I want a Feature
|
||||
You can request a new feature by submitting an [Issue](https://github.com/laradock/laradock/issues) (it will be labeled as `Feature Suggestion`). If you would like to implement a new feature then consider submitting a Pull Request yourself.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## I want to update the Documentation (Site)
|
||||
|
||||
Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Material Docs theme](http://themes.gohugo.io/theme/material-docs/). You might need to check their docs quickly.
|
||||
|
||||
|
||||
1. Install [Hugo](https://gohugo.io/) on your machine (easy steps).
|
||||
2. Open the `DOCUMENTATION/_settings/content` and search for the markdown file you want to edit (every folder is a section in the menu).
|
||||
3. After done editing, run the this command `hugo` to generate the updated site inside the `docs` folder (It's recommended to delete all files form the `/docs` folder, except the `CNAME` file, before running the `hugo` command).
|
||||
|
||||
#### To Host the website locally
|
||||
Go to `DOCUMENTATION/_settings` in your terminal and run `hugo serve` to host the website locally.
|
||||
|
||||
#### Edit the sidebar
|
||||
To add a new section to the sidebar or edit existing one, you need to edit this file `DOCUMENTATION/_settings/config.toml`.
|
||||
|
||||
|
||||
|
||||
|
||||
## How to support new Software (Add new Container)
|
||||
|
||||
* Create folder with the software name.
|
||||
|
||||
* Add a `Dockerfile`, write your code there.
|
||||
|
||||
* You may add additional files in the software folder.
|
||||
|
||||
* Add the software to the `docker-compose.yml` file.
|
||||
|
||||
* Make sure you follow our commenting style.
|
||||
|
||||
* Add the software in the `Documentation`.
|
||||
|
||||
## Edit existing Software (Edit a Container)
|
||||
|
||||
* Open the software (container) folder.
|
||||
|
||||
* Edit the files you want to update.
|
||||
|
||||
* **Note:** If you want to edit the base image of the `Workspace` or the `php-fpm` Containers,
|
||||
you need to edit their Docker-files from their GitHub repositories. For more info read their Dockerfiles comment on the Laradock repository.
|
||||
|
||||
* Make sure to update the `Documentation` in case you made any changes.
|
||||
|
||||
|
||||
## Pull Request
|
||||
|
||||
### 1. Before Submitting a Pull Request (PR)
|
||||
|
||||
Always Test everything and make sure its working:
|
||||
|
||||
- Pull the latest updates (or fork of you don’t have permission)
|
||||
- Before editing anything:
|
||||
- Test building the container (docker-compose build --no-cache container-name) build with no cache first.
|
||||
- Test running the container with some other containers in real app and see of everything is working fine.
|
||||
- Now edit the container (edit section by section and test rebuilding the container after every edited section)
|
||||
- Testing building the container (docker-compose build container-name) with no errors.
|
||||
- Test it in a real App if possible.
|
||||
|
||||
|
||||
### 2. Submitting a PR
|
||||
Consider the following guidelines:
|
||||
|
||||
* Search [GitHub](https://github.com/laradock/laradock/pulls) for an open or closed Pull Request that relates to your submission. You don't want to duplicate efforts.
|
||||
|
||||
* Make your changes in a new git branch:
|
||||
|
||||
```shell
|
||||
git checkout -b my-fix-branch master
|
||||
```
|
||||
* Commit your changes using a descriptive commit message.
|
||||
|
||||
* Push your branch to GitHub:
|
||||
|
||||
```shell
|
||||
git push origin my-fix-branch
|
||||
```
|
||||
|
||||
* In GitHub, send a pull request to `laradock:master`.
|
||||
* If we suggest changes then:
|
||||
* Make the required updates.
|
||||
* Commit your changes to your branch (e.g. `my-fix-branch`).
|
||||
* Push the changes to your GitHub repository (this will update your Pull Request).
|
||||
|
||||
> If the PR gets too outdated we may ask you to rebase and force push to update the PR:
|
||||
|
||||
```shell
|
||||
git rebase master -i
|
||||
git push origin my-fix-branch -f
|
||||
```
|
||||
|
||||
*WARNING. Squashing or reverting commits and forced push thereafter may remove GitHub comments on code that were previously made by you and others in your commits.*
|
||||
|
||||
|
||||
### 3. After your PR is merged
|
||||
|
||||
After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:
|
||||
|
||||
* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
|
||||
|
||||
```shell
|
||||
git push origin --delete my-fix-branch
|
||||
```
|
||||
|
||||
* Check out the master branch:
|
||||
|
||||
```shell
|
||||
git checkout master -f
|
||||
```
|
||||
|
||||
* Delete the local branch:
|
||||
|
||||
```shell
|
||||
git branch -D my-fix-branch
|
||||
```
|
||||
|
||||
* Update your master with the latest upstream version:
|
||||
|
||||
```shell
|
||||
git pull --ff upstream master
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
#### Happy Coding :)
|
||||
@@ -0,0 +1,199 @@
|
||||
---
|
||||
title: Getting Started
|
||||
type: index
|
||||
weight: 2
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
- [Docker](https://www.docker.com/products/docker/) `>= 1.12`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Choose the setup the best suits your needs.
|
||||
|
||||
- [A) Setup for Single Project](#A)
|
||||
- [A.1) Already have a PHP project](#A1)
|
||||
- [A.2) Don't have a PHP project yet](#A2)
|
||||
- [B) Setup for Multiple Projects](#B)
|
||||
|
||||
|
||||
<a name="A"></a>
|
||||
### A) Setup for Single Project
|
||||
> (Follow these steps if you want a separate Docker environment for each project)
|
||||
|
||||
|
||||
<a name="A1"></a>
|
||||
### A.1) Already have a PHP project:
|
||||
> (Follow these steps if you already have a PHP project, and all you need is an environment to run it)
|
||||
|
||||
1 - Clone laradock on your project root directory:
|
||||
|
||||
```bash
|
||||
git submodule add https://github.com/Laradock/laradock.git
|
||||
```
|
||||
|
||||
**Notes:**
|
||||
|
||||
- If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `.
|
||||
|
||||
- Note 2: To keep track of your Laradock changes, between your projects and also keep Laradock updated. [Check this](#keep-tracking-Laradock)
|
||||
|
||||
|
||||
Your folder structure should look like this:
|
||||
|
||||
```
|
||||
- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
```
|
||||
|
||||
|
||||
<a name="A2"></a>
|
||||
### A.2) Don't have a PHP project yet:
|
||||
> (Follow these steps if you don't have a PHP project yet, and you need an environment to create the project)
|
||||
|
||||
1 - Clone this repository anywhere on your machine:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/laradock/laradock.git
|
||||
```
|
||||
|
||||
Your folder structure should look like this:
|
||||
|
||||
```
|
||||
- projects
|
||||
- laradock
|
||||
- myProject
|
||||
```
|
||||
|
||||
2 - Edit the `docker-compose.yml` file to map to your project directory once you have it (example: `- ../myProject:/var/www`).
|
||||
|
||||
3 - Stop and re-run your docker-compose command for the changes to take place.
|
||||
|
||||
```
|
||||
docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
```
|
||||
|
||||
<a name="B"></a>
|
||||
### B) Setup for Multiple Projects:
|
||||
> (Follow these steps if you want a single Docker environment for all project)
|
||||
|
||||
1 - Clone this repository anywhere on your machine:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/laradock/laradock.git
|
||||
```
|
||||
|
||||
2 - Edit the `docker-compose.yml` (or the `.env`) file to map to your projects directories:
|
||||
|
||||
```
|
||||
applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
```
|
||||
|
||||
3 - You can access all sites by visiting `http://localhost/project1/public` and `http://localhost/project2/public` but of course that's not very useful so let's setup NGINX quickly.
|
||||
|
||||
|
||||
4 - Go to `nginx/sites` and copy `sample.conf.example` to `project1.conf` then to `project2.conf`
|
||||
|
||||
5 - Open the `project1.conf` file and edit the `server_name` and the `root` as follow:
|
||||
|
||||
```
|
||||
server_name project1.dev;
|
||||
root /var/www/project1/public;
|
||||
```
|
||||
Do the same for each project `project2.conf`, `project3.conf`,...
|
||||
|
||||
6 - Add the domains to the **hosts** files.
|
||||
|
||||
```
|
||||
127.0.0.1 project1.dev
|
||||
```
|
||||
|
||||
7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
**Read Before starting:**
|
||||
|
||||
If you are using **Docker Toolbox** (VM), do one of the following:
|
||||
|
||||
- Upgrade to Docker [Native](https://www.docker.com/products/docker) for Mac/Windows (Recommended). Check out [Upgrading Laradock](#upgrading-laradock)
|
||||
- Use Laradock v3.* (Visit the `Laradock-ToolBox` [Branch](https://github.com/laradock/laradock/tree/Laradock-ToolBox)).
|
||||
|
||||
<br>
|
||||
|
||||
>**Warning:** If you used an older version of Laradock it's highly recommended to rebuild the containers you need to use [see how you rebuild a container](#Build-Re-build-Containers) in order to prevent as much errors as possible.
|
||||
|
||||
<br>
|
||||
|
||||
1 - Run Containers: *(Make sure you are in the `laradock` folder before running the `docker-compose` commands).*
|
||||
|
||||
|
||||
**Example:** Running NGINX and MySQL:
|
||||
|
||||
```bash
|
||||
docker-compose up -d nginx mysql
|
||||
```
|
||||
|
||||
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
|
||||
|
||||
|
||||
You can select your own combination of Containers form the list below:
|
||||
|
||||
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `beanstalkd-console`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`, `postgres-postgis`, `certbot`, `mailhog`, `minio` and more...!
|
||||
|
||||
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
||||
|
||||
|
||||
<br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...).
|
||||
|
||||
```bash
|
||||
docker-compose exec workspace bash
|
||||
```
|
||||
|
||||
Alternatively, for Windows PowerShell users: execute the following command to enter any running container:
|
||||
|
||||
```bash
|
||||
docker exec -it {workspace-container-id} bash
|
||||
```
|
||||
|
||||
**Note:** You can add `--user=laradock` to have files created as your host's user. Example:
|
||||
|
||||
```shell
|
||||
docker-compose exec --user=laradock workspace bash
|
||||
```
|
||||
|
||||
*You can change the PUID (User id) and PGID (group id) variables from the `docker-compose.yml` or the `.env`)*
|
||||
|
||||
<br>
|
||||
3 - Edit your project configurations.
|
||||
|
||||
Open your `.env` file and set the `DB_HOST` to `mysql`:
|
||||
|
||||
```env
|
||||
DB_HOST=mysql
|
||||
```
|
||||
|
||||
*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
|
||||
|
||||
<br>
|
||||
4 - Open your browser and visit your localhost address `http://localhost/`.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Help & Questions
|
||||
type: index
|
||||
weight: 5
|
||||
---
|
||||
|
||||
Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community.
|
||||
|
||||
You can as well can open an [issue](https://github.com/laradock/laradock/issues) on Github (will be labeled as Question) and discuss it with people on [Gitter](https://gitter.im/Laradock/laradock).
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
title: Welcome
|
||||
type: index
|
||||
weight: 0
|
||||
---
|
||||
@@ -0,0 +1,206 @@
|
||||
---
|
||||
title: Introduction
|
||||
type: index
|
||||
weight: 1
|
||||
---
|
||||
|
||||
Laradock strives to make the PHP development experience easier and faster.
|
||||
|
||||
It contains pre-packaged Docker Images that provides you a wonderful *development* environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines.
|
||||
|
||||
Laradock is configured to run Laravel Apps by default, and it can be modified to run all kinds of PHP Apps (Symfony, CodeIgniter, WordPress, Drupal...).
|
||||
|
||||
|
||||
|
||||
|
||||
## Quick Overview
|
||||
|
||||
Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `beanstalkd`:
|
||||
|
||||
1 - Clone Laradock inside your PHP project:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/Laradock/laradock.git
|
||||
```
|
||||
|
||||
2 - Enter the laradock folder and rename `env-example` to `.env`.
|
||||
|
||||
```shell
|
||||
cp env-example .env
|
||||
```
|
||||
|
||||
3 - Run your containers:
|
||||
|
||||
```shell
|
||||
docker-compose up -d nginx mysql redis beanstalkd
|
||||
```
|
||||
|
||||
3 - Open your project's `.env` file and set the following:
|
||||
|
||||
```shell
|
||||
DB_HOST=mysql
|
||||
REDIS_HOST=redis
|
||||
QUEUE_HOST=beanstalkd
|
||||
```
|
||||
|
||||
4 - Open your browser and visit localhost: `http://localhost`.
|
||||
|
||||
```shell
|
||||
That's it! enjoy :)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="what-is-docker"></a>
|
||||
## What is Docker?
|
||||
|
||||
[Docker](https://www.docker.com) is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of [operating-system-level virtualization](https://en.wikipedia.org/wiki/Operating-system-level_virtualization) on Linux, Mac OS and Windows.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="why-docker-not-vagrant"></a>
|
||||
## Why Docker not Vagrant!?
|
||||
|
||||
[Vagrant](https://www.vagrantup.com) creates Virtual Machines in minutes while Docker creates Virtual Containers in seconds.
|
||||
|
||||
Instead of providing a full Virtual Machines, like you get with Vagrant, Docker provides you **lightweight** Virtual Containers, that share the same kernel and allow to safely execute independent processes.
|
||||
|
||||
In addition to the speed, Docker gives tons of features that cannot be achieved with Vagrant.
|
||||
|
||||
Most importantly Docker can run on Development and on Production (same environment everywhere). While Vagrant is designed for Development only, (so you have to re-provision your server on Production every time).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="laradock-vs-homestead"></a>
|
||||
## Laradock VS Homestead (For Laravel Developers)
|
||||
|
||||
> Laradock It's like Laravel Homestead but for Docker instead of Vagrant.
|
||||
|
||||
Laradock and [Homestead](https://laravel.com/docs/master/homestead) both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System).
|
||||
|
||||
- Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine.
|
||||
|
||||
- Laradock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers.
|
||||
|
||||
Running a virtual container is much faster than running a full virtual Machine. Thus **Laradock is much faster than Homestead**.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="Demo"></a>
|
||||
## Demo Video
|
||||
|
||||
What's better than a **Demo Video**:
|
||||
|
||||
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
|
||||
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
|
||||
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
||||
- Laradock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="features"></a>
|
||||
## Features
|
||||
|
||||
- Easy switch between PHP versions: 7.0, 5.6, 5.5...
|
||||
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
||||
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
|
||||
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
|
||||
- Easy to customize any container, with simple edit to the `Dockerfile`.
|
||||
- All Images extends from an official base Image. (Trusted base Images).
|
||||
- Pre-configured NGINX for Laravel.
|
||||
- Easy to apply configurations inside containers.
|
||||
- Clean and well structured Dockerfiles (`Dockerfile`).
|
||||
- Latest version of the Docker Compose file (`docker-compose`).
|
||||
- Everything is visible and editable.
|
||||
- Fast Images Builds.
|
||||
- More to come every week..
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="Supported-Containers"></a>
|
||||
## Supported Software (Containers)
|
||||
|
||||
- **Database Engines:**
|
||||
- MySQL
|
||||
- MariaDB
|
||||
- MongoDB
|
||||
- Neo4j
|
||||
- RethinkDB
|
||||
- PostgreSQL
|
||||
- Postgres Postgis
|
||||
- **Cache Engines:**
|
||||
- Redis
|
||||
- Memcached
|
||||
- Aerospike
|
||||
- **PHP Servers:**
|
||||
- NGINX
|
||||
- Apache2
|
||||
- Caddy
|
||||
- **PHP Compilers:**
|
||||
- PHP-FPM
|
||||
- HHVM
|
||||
- **Message Queuing Systems:**
|
||||
- Beanstalkd
|
||||
- Beanstalkd Console
|
||||
- RabbitMQ
|
||||
- RabbitMQ Console
|
||||
- **Tools:**
|
||||
- PhpMyAdmin
|
||||
- PgAdmin
|
||||
- ElasticSearch
|
||||
- Selenium
|
||||
- Certbot
|
||||
- Mailhog
|
||||
- Minio
|
||||
- Workspace
|
||||
- PHP7-CLI
|
||||
- Composer
|
||||
- Git
|
||||
- Linuxbrew
|
||||
- Node
|
||||
- Gulp
|
||||
- SQLite
|
||||
- xDebug
|
||||
- Envoy
|
||||
- Deployer
|
||||
- Vim
|
||||
- Yarn
|
||||
- ... Many other supported tools are not documented. (Will be updated soon)
|
||||
|
||||
>If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="Chat"></a>
|
||||
## Chat with us
|
||||
|
||||
You are welcome to join our chat room on Gitter.
|
||||
|
||||
[](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: License
|
||||
type: index
|
||||
weight: 7
|
||||
---
|
||||
|
||||
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
title: Related Projects
|
||||
type: index
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Laradock related projects:
|
||||
|
||||
* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee)
|
||||
* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart)
|
||||
* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao)
|
||||
* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim)
|
||||
These Docker Compose projects have piqued our interest:
|
||||
* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal)
|
||||
* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti)
|
||||
* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea)
|
||||
|
||||
If you want your project listed here, please open an issue.
|
||||
@@ -0,0 +1,29 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
### 11th May 2016
|
||||
|
||||
#### Add templates for section lists
|
||||
|
||||
Sections such as www.example.com/foo/ will now be rendered with a list of all pages that are part of this section. The list shows the pages' title and a summary of their content.
|
||||
|
||||
[Show me the diff](https://github.com/digitalcraftsman/hugo-material-docs/commit/1f8393a8d4ce1b8ee3fc7d87be05895c12810494)
|
||||
|
||||
### 22nd March 2016
|
||||
|
||||
#### Changing setup for Google Analytics
|
||||
|
||||
Formerly, the tracking id for Google Analytics was set like below:
|
||||
|
||||
```toml
|
||||
[params]
|
||||
google_analytics = ["UA-XXXXXXXX-X", "auto"]
|
||||
```
|
||||
|
||||
Now the theme uses Hugo's own Google Analytics config option. The variable moved outside the scope of `params` and the setup requires only the tracking id as a string:
|
||||
|
||||
```toml
|
||||
googleAnalytics = "UA-XXXXXXXX-X"
|
||||
```
|
||||
|
||||
[Show me the diff](https://github.com/digitalcraftsman/hugo-material-docs/commit/fa10c8eef935932426d46b662a51f29a5e0d48e2)
|
||||
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2016 Digitalcraftsman <digitalcraftsman@protonmail.com><br>
|
||||
Copyright (c) 2016 Martin Donath <martin.donath@squidfunk.com>
|
||||
|
||||
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 NON-INFRINGEMENT. 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.
|
||||
@@ -0,0 +1,40 @@
|
||||
# Material Docs
|
||||
|
||||
A material design theme for [Hugo](https://gohugo.io).
|
||||
|
||||
[](https://digitalcraftsman.github.io/hugo-material-docs/)
|
||||
|
||||
## Quick start
|
||||
|
||||
Install with `git`:
|
||||
|
||||
|
||||
git clone https://github.com/digitalcraftsman/hugo-material-docs.git themes/hugo-material-docs
|
||||
|
||||
|
||||
Next, take a look in the `exampleSite` folder at. This directory contains an example config file and the content for the demo. It serves as an example setup for your documentation.
|
||||
|
||||
Copy at least the `config.toml` in the root directory of your website. Overwrite the existing config file if necessary.
|
||||
|
||||
Hugo includes a development server, so you can view your changes as you go -
|
||||
very handy. Spin it up with the following command:
|
||||
|
||||
``` sh
|
||||
hugo server
|
||||
```
|
||||
|
||||
Now you can go to [localhost:1313](http://localhost:1313) and the Material
|
||||
theme should be visible. For detailed installation instructions visit the [demo](http://themes.gohugo.io/theme/material-docs/).
|
||||
|
||||
Noteworthy changes of this theme are listed in the [changelog](https://github.com/digitalcraftsman/hugo-material-docs/blob/master/CHANGELOG.md).
|
||||
|
||||
## Acknowledgements
|
||||
|
||||
A big thank you to [Martin Donath](https://github.com/squidfunk). He created the original [Material theme](https://github.com/squidfunk/mkdocs-material) for Hugo's companion [MkDocs](http://www.mkdocs.org/). This port wouldn't be possible without him.
|
||||
|
||||
Furthermore, thanks to [Steve Francia](https://gihub.com/spf13) for creating Hugo and the [awesome community](https://github.com/spf13/hugo/graphs/contributors) around the project.
|
||||
|
||||
## License
|
||||
|
||||
The theme is released under the MIT license. Read the [license](https://github.com/digitalcraftsman/hugo-material-docs/blob/master/LICENSE.md) for more information.
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
---
|
||||
|
After Width: | Height: | Size: 246 KiB |
|
After Width: | Height: | Size: 84 KiB |
@@ -0,0 +1,57 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
<h1>Pages in {{ .Title | singularize }}</h1>
|
||||
|
||||
{{ range .Data.Pages }}
|
||||
<a href="{{ .Permalink }}" title="{{ .Title }}">
|
||||
<h2>{{ .Title }}</h2>
|
||||
</a>
|
||||
|
||||
<br>
|
||||
{{ printf "%s" .Summary | markdownify }}
|
||||
|
||||
<hr>
|
||||
{{ end }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme.
|
||||
</aside>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -0,0 +1,57 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
{{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}}
|
||||
{{ .Scratch.Set "repo_id" $repo_id }}
|
||||
{{ end }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme.
|
||||
</aside>
|
||||
|
||||
<footer class="footer">
|
||||
{{ partial "footer" . }}
|
||||
</footer>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -0,0 +1,61 @@
|
||||
{{ partial "head" . }}
|
||||
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
{{ $repo_id := replace .Site.Params.repo_url "https://github.com/" ""}}
|
||||
{{ .Scratch.Set "repo_id" $repo_id }}
|
||||
{{ end }}
|
||||
|
||||
<div class="backdrop">
|
||||
<div class="backdrop-paper"></div>
|
||||
</div>
|
||||
|
||||
<input class="toggle" type="checkbox" id="toggle-drawer">
|
||||
<input class="toggle" type="checkbox" id="toggle-search">
|
||||
<label class="toggle-button overlay" for="toggle-drawer"></label>
|
||||
|
||||
<header class="header">
|
||||
{{ partial "header" . }}
|
||||
</header>
|
||||
|
||||
<main class="main">
|
||||
<div class="drawer">
|
||||
{{ partial "drawer" . }}
|
||||
</div>
|
||||
|
||||
<article class="article">
|
||||
<div class="wrapper">
|
||||
{{ range where .Site.Pages "Type" "index" }}
|
||||
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
|
||||
|
||||
{{ .Content }}
|
||||
{{ end }}
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
<a href="http://github.com/digitalcraftsman/hugo-material-docs" target="_blank">Material</a> theme,
|
||||
by
|
||||
<a href="https://zalt.me">Mahmoud Zalt</a>.
|
||||
</aside>
|
||||
|
||||
<footer class="footer">
|
||||
{{ partial "footer" . }}
|
||||
</footer>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<div class="results" role="status" aria-live="polite">
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
<div class="meta"></div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{{ partial "footer_js" . }}
|
||||
@@ -0,0 +1,78 @@
|
||||
<nav aria-label="Navigation">
|
||||
<!--<a href="{{ with .Site.Params.repo_url }}{{ . }}{{ else }}{{ .Site.BaseURL }}{{ end }}" class="project">-->
|
||||
<!--<div class="banner">-->
|
||||
<!--{{ with .Site.Params.logo }}-->
|
||||
<!--<div class="logo">-->
|
||||
<!--<img src="{{ $.Site.BaseURL }}{{ . }}">-->
|
||||
<!--</div>-->
|
||||
<!--{{ end }}-->
|
||||
<!--<div class="name">-->
|
||||
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
||||
<!--{{ with .Scratch.Get "repo_id" }}-->
|
||||
<!--<br>-->
|
||||
<!--{{ . }}-->
|
||||
<!--{{ end }}-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
<!--</a>-->
|
||||
|
||||
<div class="scrollable">
|
||||
<div class="wrapper">
|
||||
{{ if (eq (trim .Site.Params.provider " " | lower) "github") | and (isset .Site.Params "repo_url") }}
|
||||
<ul class="repo">
|
||||
<li class="repo-download">
|
||||
<a href="{{ .Site.Params.repo_url }}/archive/master.zip" target="_blank" title="Download" data-action="download">
|
||||
<i class="icon icon-download"></i> Download
|
||||
</a>
|
||||
</li>
|
||||
<li class="repo-stars">
|
||||
<a href="{{ .Site.Params.repo_url }}/stargazers" target="_blank" title="Stargazers" data-action="star">
|
||||
<i class="icon icon-star"></i> Stars
|
||||
<span class="count">–</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr>
|
||||
{{ end }}
|
||||
|
||||
<div class="toc">
|
||||
{{ if gt (len .Site.Menus.main) 0 }}
|
||||
<ul>
|
||||
{{ partial "nav" . }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
{{ if isset .Site.Params "author" }}
|
||||
<!--<hr>-->
|
||||
<!--<span class="section">The author</span>-->
|
||||
|
||||
<ul>
|
||||
{{ with .Site.Social.twitter }}
|
||||
<li>
|
||||
<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">
|
||||
@{{ . }} on Twitter
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
|
||||
<!--{{ with .Site.Social.github }}-->
|
||||
<!--<li>-->
|
||||
<!--<a href="https://github.com/{{ . }}" target="_blank" title="@{{ . }} on GitHub">-->
|
||||
<!--@{{ . }} on GitHub-->
|
||||
<!--</a>-->
|
||||
<!--</li>-->
|
||||
<!--{{ end }}-->
|
||||
|
||||
{{ with .Site.Social.email }}
|
||||
<li>
|
||||
<a href="mailto:{{ . }}" title="Email of {{ . }}">
|
||||
Contact via email
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,74 @@
|
||||
{{ if .IsPage }}
|
||||
{{ if .Prev | or .Next }}
|
||||
<nav class="pagination" aria-label="Footer">
|
||||
<div class="previous">
|
||||
{{ if .Prev }}
|
||||
<a href="{{ .Prev.Permalink }}" title="{{ .Prev.Title }}">
|
||||
<span class="direction">
|
||||
Previous
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="button button-previous" role="button" aria-label="Previous">
|
||||
<i class="icon icon-back"></i>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ .Prev.Title }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="next">
|
||||
{{ if .Next }}
|
||||
<a href="{{ .Next.Permalink }}" title="{{ .Next.Title }}">
|
||||
<span class="direction">
|
||||
Next
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ .Next.Title }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-next" role="button" aria-label="Next">
|
||||
<i class="icon icon-forward"></i>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .IsHome }}
|
||||
{{ if gt (len .Site.Pages) 2 }}
|
||||
<nav class="pagination" aria-label="Footer">
|
||||
<div class="previous">
|
||||
</div>
|
||||
|
||||
{{ $title := (index (.Site.Pages.ByDate) 1).Title }}
|
||||
{{ $permalink := (index (.Site.Pages.ByDate) 1).Permalink }}
|
||||
<div class="next">
|
||||
<a href="{{ $permalink }}" title="{{ $title }}">
|
||||
<span class="direction">
|
||||
Next
|
||||
</span>
|
||||
<div class="page">
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
{{ $title }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-next" role="button" aria-label="Next">
|
||||
<i class="icon icon-forward"></i>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</nav>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,91 @@
|
||||
<script>
|
||||
{{ with .Scratch.Get "repo_id" }}
|
||||
var base_url = '{{ (printf "%s" $.Site.BaseURL) | safeJS }}';
|
||||
var repo_id = '{{ . | safeJS }}';
|
||||
{{ else }}
|
||||
var base_url = '';
|
||||
var repo_id = '';
|
||||
{{ end }}
|
||||
</script>
|
||||
|
||||
<script src="{{ "javascripts/application.js" | absURL }}"></script>
|
||||
{{ range .Site.Params.custom_js }}
|
||||
<script src="{{ . | absURL }}"></script>
|
||||
{{ end }}
|
||||
|
||||
<script>
|
||||
{{ "/* Add headers to scrollspy */" | safeJS }}
|
||||
var headers = document.getElementsByTagName("h2");
|
||||
var scrollspy = document.getElementById('scrollspy');
|
||||
|
||||
if(scrollspy) {
|
||||
if(headers.length > 0) {
|
||||
for(var i = 0; i < headers.length; i++) {
|
||||
var li = document.createElement("li");
|
||||
li.setAttribute("class", "anchor");
|
||||
|
||||
var a = document.createElement("a");
|
||||
a.setAttribute("href", "#" + headers[i].id);
|
||||
a.setAttribute("title", headers[i].innerHTML);
|
||||
a.innerHTML = headers[i].innerHTML;
|
||||
|
||||
li.appendChild(a)
|
||||
scrollspy.appendChild(li);
|
||||
}
|
||||
} else {
|
||||
scrollspy.parentElement.removeChild(scrollspy)
|
||||
}
|
||||
|
||||
|
||||
{{ "/* Add permanent link next to the headers */" | safeJS }}
|
||||
var headers = document.querySelectorAll("h1, h2, h3, h4, h5, h6");
|
||||
|
||||
for(var i = 0; i < headers.length; i++) {
|
||||
var a = document.createElement("a");
|
||||
a.setAttribute("class", "headerlink");
|
||||
a.setAttribute("href", "#" + headers[i].id);
|
||||
a.setAttribute("title", "Permanent link")
|
||||
a.innerHTML = {{ or .Site.Params.permalink "¶" }};
|
||||
headers[i].appendChild(a);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
{{ with .Site.GoogleAnalytics }}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){
|
||||
i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||
|
||||
[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;
|
||||
m.parentNode.insertBefore(a,m)
|
||||
})(window, document,
|
||||
'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
/* General initialization */
|
||||
ga('create', '{{ . }}', 'auto');
|
||||
ga('set', 'anonymizeIp', true);
|
||||
ga('send', 'pageview');
|
||||
/* Track outbound links */
|
||||
var buttons = document.querySelectorAll('a');
|
||||
Array.prototype.map.call(buttons, function(item) {
|
||||
if (item.host != document.location.host) {
|
||||
item.addEventListener('click', function() {
|
||||
var action = item.getAttribute('data-action') || 'follow';
|
||||
ga('send', 'event', 'outbound', action, item.href);
|
||||
});
|
||||
}
|
||||
});
|
||||
/* Register handler to log search on blur */
|
||||
var query = document.querySelector('.query');
|
||||
query.addEventListener('blur', function() {
|
||||
if (this.value) {
|
||||
var path = document.location.pathname;
|
||||
ga('send', 'pageview', path + '?q=' + this.value);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html>
|
||||
<!--[if lt IE 7 ]><html class="no-js ie6"><![endif]-->
|
||||
<!--[if IE 7 ]><html class="no-js ie7"><![endif]-->
|
||||
<!--[if IE 8 ]><html class="no-js ie8"><![endif]-->
|
||||
<!--[if IE 9 ]><html class="no-js ie9"><![endif]-->
|
||||
<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
|
||||
|
||||
<head {{ with .Site.LanguageCode }}lang="{{ . }}"{{ end }}>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=10" />
|
||||
<title>{{ .Title }}{{ if not .IsHome }} - {{ .Site.Title }}{{ end }}</title>
|
||||
{{ .Hugo.Generator }}
|
||||
|
||||
{{ with .Site.Params.description }}
|
||||
<meta name="description" content="{{ . }}">
|
||||
{{ end }}
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
{{ with .Site.Params.author }}
|
||||
<meta name="author" content="{{ . }}">
|
||||
{{ end }}
|
||||
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
{{ with .Site.Title }}<meta property="og:title" content="{{ . }}">{{ end }}
|
||||
{{ with .Site.Params.logo }}<meta property="og:image" content="{{ . | absURL }}">{{ end }}
|
||||
{{ with .Site.Title }}<meta name="apple-mobile-web-app-title" content="{{ . }}">{{ end }}
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
<link rel="icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Icon';
|
||||
src: url('{{ "fonts/icon.eot?52m981" | absURL }}');
|
||||
src: url('{{ "fonts/icon.eot?#iefix52m981" | absURL }}')
|
||||
format('embedded-opentype'),
|
||||
url('{{ "fonts/icon.woff?52m981" | absURL }}')
|
||||
format('woff'),
|
||||
url('{{ "fonts/icon.ttf?52m981" | absURL }}')
|
||||
format('truetype'),
|
||||
url('{{ "fonts/icon.svg?52m981#icon" | absURL }}')
|
||||
format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="{{ "stylesheets/application.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ "stylesheets/temporary.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ "stylesheets/palettes.css" | absURL }}">
|
||||
<link rel="stylesheet" href="{{ with .Site.Params.highlight_css }}{{ . | absURL }}{{ else }}{{ "stylesheets/highlight/highlight.css" | absURL }}{{ end }}">
|
||||
|
||||
{{/* set default values if no custom ones are defined */}}
|
||||
{{ $text := or .Site.Params.font.text "Roboto" }}
|
||||
{{ $code := or .Site.Params.font.code "Roboto Mono" }}
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family={{ $text }}:400,700|{{ replace $code " " "+" | safeURL }}">
|
||||
<style>
|
||||
body, input {
|
||||
font-family: '{{ $text }}', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
pre, code {
|
||||
font-family: '{{ $code }}', 'Courier New', 'Courier', monospace;
|
||||
}
|
||||
</style>
|
||||
|
||||
{{ range .Site.Params.custom_css }}
|
||||
<link rel="stylesheet" href="{{ . | absURL }}">
|
||||
{{ end }}
|
||||
<script src="{{ "javascripts/modernizr.js" | absURL }}"></script>
|
||||
|
||||
{{ with .RSSLink }}
|
||||
<link href="{{ . }}" rel="alternate" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
<link href="{{ . }}" rel="feed" type="application/rss+xml" title="{{ $.Site.Title }}" />
|
||||
{{ end }}
|
||||
|
||||
</head>
|
||||
<body class="{{ with .Site.Params.palette.primary }}palette-primary-{{ . }}{{end }} {{ with .Site.Params.palette.accent }}palette-accent-{{ . }}{{ end }}">
|
||||
@@ -0,0 +1,46 @@
|
||||
<nav aria-label="Header">
|
||||
<div class="bar default">
|
||||
<div class="button button-menu" role="button" aria-label="Menu">
|
||||
<label class="toggle-button icon icon-menu" for="toggle-drawer">
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="title">
|
||||
<b>{{ .Site.Title }}</b> <span style="color: rgba(249, 245, 255, 0.63);"> / {{ .Title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ with .Site.Social.twitter }}
|
||||
<div class="button button-twitter" role="button" aria-label="Twitter">
|
||||
<a href="https://twitter.com/{{ . }}" title="@{{ . }} on Twitter" target="_blank" class="toggle-button icon icon-twitter"></a>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Site.Social.github }}
|
||||
<div class="button button-github" role="button" aria-label="GitHub">
|
||||
<a style="padding: 0px; font-size:40px" href="https://github.com/{{ . }}" title="@{{ . }} on GitHub" target="_blank" class="toggle-button icon icon-github"></a>
|
||||
</div>
|
||||
<p style="font-size: 18px; padding: 8px">Github</p>
|
||||
{{ end }}
|
||||
|
||||
<!-- TODO: disabled until Hugo supports the generation of a content index natively
|
||||
<div class="button button-search" role="button" aria-label="Search">
|
||||
<label class="toggle-button icon icon-search" title="Search" for="toggle-search"></label>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
<div class="bar search">
|
||||
<div class="button button-close" role="button" aria-label="Close">
|
||||
<label class="toggle-button icon icon-back" for="toggle-search"></label>
|
||||
</div>
|
||||
<div class="stretch">
|
||||
<div class="field">
|
||||
<input class="query" type="text" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck>
|
||||
</div>
|
||||
</div>
|
||||
<div class="button button-reset" role="button" aria-label="Search">
|
||||
<button class="toggle-button icon icon-close" id="reset-search"></button>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,19 @@
|
||||
{{ $currentNode := . }}
|
||||
|
||||
{{ range .Site.Menus.main.ByWeight }}
|
||||
|
||||
{{ $.Scratch.Set "currentMenuEntry" . }}
|
||||
<li>
|
||||
{{ if .HasChildren }}
|
||||
<span class="section">{{ .Name | title }}</span>
|
||||
<ul>
|
||||
{{ range .Children }}
|
||||
{{ $.Scratch.Set "currentMenuEntry" . }}
|
||||
{{ partial "nav_link" $currentNode }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ else }}
|
||||
{{ partial "nav_link" $currentNode }}
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,13 @@
|
||||
{{ $currentMenuEntry := .Scratch.Get "currentMenuEntry" }}
|
||||
{{ $isCurrent := eq .Permalink ($currentMenuEntry.URL | absURL | printf "%s") }}
|
||||
|
||||
|
||||
<a {{ if $isCurrent }}class="current"{{ end }} title="{{ $currentMenuEntry.Name }}" href="{{ $currentMenuEntry.URL | relURL}}">
|
||||
{{ $currentMenuEntry.Pre }}
|
||||
{{ $currentMenuEntry.Name }}
|
||||
</a>
|
||||
|
||||
{{ if $isCurrent }}
|
||||
<ul id="scrollspy">
|
||||
</ul>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">{{ .Get "title" }}</p>
|
||||
<p>{{ printf "%s" .Inner | markdownify }}</p>
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">{{ .Get "title" }}</p>
|
||||
<p>{{ printf "%s" .Inner | markdownify }}</p>
|
||||
</div>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by IcoMoon</metadata>
|
||||
<defs>
|
||||
<font id="icon" horiz-adv-x="1024">
|
||||
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
||||
<missing-glyph horiz-adv-x="1024" />
|
||||
<glyph unicode=" " horiz-adv-x="512" d="" />
|
||||
<glyph unicode="" glyph-name="search" d="M661.333 341.334h-33.92l-11.733 11.733c41.813 48.427 66.987 111.36 66.987 180.267 0 153.173-124.16 277.333-277.333 277.333s-277.333-124.16-277.333-277.333 124.16-277.333 277.333-277.333c68.907 0 131.84 25.173 180.267 66.773l11.733-11.733v-33.707l213.333-212.907 63.573 63.573-212.907 213.333zM405.333 341.334c-106.027 0-192 85.973-192 192s85.973 192 192 192 192-85.973 192-192-85.973-192-192-192z" />
|
||||
<glyph unicode="" glyph-name="arrow-back" d="M853.333 469.334h-519.253l238.293 238.293-60.373 60.373-341.333-341.333 341.333-341.333 60.373 60.373-238.293 238.293h519.253v85.333z" />
|
||||
<glyph unicode="" glyph-name="chevron-right" d="M426.667 682.667l-60.373-60.373 195.627-195.627-195.627-195.627 60.373-60.373 256 256z" />
|
||||
<glyph unicode="" glyph-name="close" d="M810.667 664.96l-60.373 60.373-238.293-238.293-238.293 238.293-60.373-60.373 238.293-238.293-238.293-238.293 60.373-60.373 238.293 238.293 238.293-238.293 60.373 60.373-238.293 238.293z" />
|
||||
<glyph unicode="" glyph-name="menu" d="M128 170.667h768v85.333h-768v-85.333zM128 384h768v85.333h-768v-85.333zM128 682.667v-85.333h768v85.333h-768z" />
|
||||
<glyph unicode="" glyph-name="arrow-forward" d="M512 768l-60.373-60.373 238.293-238.293h-519.253v-85.333h519.253l-238.293-238.293 60.373-60.373 341.333 341.333z" />
|
||||
<glyph unicode="" glyph-name="twitter" d="M1024 744.249c-37.676-16.708-78.164-28.002-120.66-33.080 43.372 26 76.686 67.17 92.372 116.23-40.596-24.078-85.556-41.56-133.41-50.98-38.32 40.83-92.922 66.34-153.346 66.34-116.022 0-210.088-94.058-210.088-210.078 0-16.466 1.858-32.5 5.44-47.878-174.6 8.764-329.402 92.4-433.018 219.506-18.084-31.028-28.446-67.116-28.446-105.618 0-72.888 37.088-137.192 93.46-174.866-34.438 1.092-66.832 10.542-95.154 26.278-0.020-0.876-0.020-1.756-0.020-2.642 0-101.788 72.418-186.696 168.522-206-17.626-4.8-36.188-7.372-55.348-7.372-13.538 0-26.698 1.32-39.528 3.772 26.736-83.46 104.32-144.206 196.252-145.896-71.9-56.35-162.486-89.934-260.916-89.934-16.958 0-33.68 0.994-50.116 2.94 92.972-59.61 203.402-94.394 322.042-94.394 386.422 0 597.736 320.124 597.736 597.744 0 9.108-0.206 18.168-0.61 27.18 41.056 29.62 76.672 66.62 104.836 108.748z" />
|
||||
<glyph unicode="" glyph-name="github" d="M512.008 926.025c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" />
|
||||
<glyph unicode="" glyph-name="download" d="M810.667 554.667h-170.667v256h-256v-256h-170.667l298.667-298.667 298.667 298.667zM213.333 170.667v-85.333h597.333v85.333h-597.333z" />
|
||||
<glyph unicode="" glyph-name="star" d="M512 201.814l263.68-159.147-69.973 299.947 232.96 201.813-306.773 26.027-119.893 282.88-119.893-282.88-306.773-26.027 232.96-201.813-69.973-299.947z" />
|
||||
<glyph unicode="" glyph-name="warning" d="M554 340.667v172h-84v-172h84zM554 170.667v86h-84v-86h84zM42 42.667l470 810 470-810h-940z" />
|
||||
<glyph unicode="" glyph-name="hint" d="M614 682.667h240v-426h-300l-16 84h-240v-298h-84v726h384z" />
|
||||
</font></defs></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 254 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 145 KiB |
@@ -0,0 +1 @@
|
||||
function pegasus(t,e){return e=new XMLHttpRequest,e.open("GET",t),t=[],e.onreadystatechange=e.then=function(n,o,i,r){if(n&&n.call&&(t=[,n,o]),4==e.readyState&&(i=t[0|e.status/200])){try{r=JSON.parse(e.responseText)}catch(s){r=null}i(r,e)}},e.send(),e}if("document"in self&&("classList"in document.createElement("_")?!function(){"use strict";var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,o=arguments.length;for(n=0;o>n;n++)t=arguments[n],e.call(this,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contains("c3")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}t=null}():!function(t){"use strict";if("Element"in t){var e="classList",n="prototype",o=t.Element[n],i=Object,r=String[n].trim||function(){return this.replace(/^\s+|\s+$/g,"")},s=Array[n].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1},a=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},c=function(t,e){if(""===e)throw new a("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(e))throw new a("INVALID_CHARACTER_ERR","String contains an invalid character");return s.call(t,e)},l=function(t){for(var e=r.call(t.getAttribute("class")||""),n=e?e.split(/\s+/):[],o=0,i=n.length;i>o;o++)this.push(n[o]);this._updateClassName=function(){t.setAttribute("class",this.toString())}},u=l[n]=[],d=function(){return new l(this)};if(a[n]=Error[n],u.item=function(t){return this[t]||null},u.contains=function(t){return t+="",-1!==c(this,t)},u.add=function(){var t,e=arguments,n=0,o=e.length,i=!1;do t=e[n]+"",-1===c(this,t)&&(this.push(t),i=!0);while(++n<o);i&&this._updateClassName()},u.remove=function(){var t,e,n=arguments,o=0,i=n.length,r=!1;do for(t=n[o]+"",e=c(this,t);-1!==e;)this.splice(e,1),r=!0,e=c(this,t);while(++o<i);r&&this._updateClassName()},u.toggle=function(t,e){t+="";var n=this.contains(t),o=n?e!==!0&&"remove":e!==!1&&"add";return o&&this[o](t),e===!0||e===!1?e:!n},u.toString=function(){return this.join(" ")},i.defineProperty){var h={get:d,enumerable:!0,configurable:!0};try{i.defineProperty(o,e,h)}catch(f){-2146823252===f.number&&(h.enumerable=!1,i.defineProperty(o,e,h))}}else i[n].__defineGetter__&&o.__defineGetter__(e,d)}}(self)),function(){"use strict";function t(e,o){function i(t,e){return function(){return t.apply(e,arguments)}}var r;if(o=o||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=o.touchBoundary||10,this.layer=e,this.tapDelay=o.tapDelay||200,this.tapTimeout=o.tapTimeout||700,!t.notNeeded(e)){for(var s=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],a=this,c=0,l=s.length;l>c;c++)a[s[c]]=i(a[s[c]],a);n&&(e.addEventListener("mouseover",this.onMouse,!0),e.addEventListener("mousedown",this.onMouse,!0),e.addEventListener("mouseup",this.onMouse,!0)),e.addEventListener("click",this.onClick,!0),e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1),e.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(e.removeEventListener=function(t,n,o){var i=Node.prototype.removeEventListener;"click"===t?i.call(e,t,n.hijacked||n,o):i.call(e,t,n,o)},e.addEventListener=function(t,n,o){var i=Node.prototype.addEventListener;"click"===t?i.call(e,t,n.hijacked||(n.hijacked=function(t){t.propagationStopped||n(t)}),o):i.call(e,t,n,o)}),"function"==typeof e.onclick&&(r=e.onclick,e.addEventListener("click",function(t){r(t)},!1),e.onclick=null)}}var e=navigator.userAgent.indexOf("Windows Phone")>=0,n=navigator.userAgent.indexOf("Android")>0&&!e,o=/iP(ad|hone|od)/.test(navigator.userAgent)&&!e,i=o&&/OS 4_\d(_\d)?/.test(navigator.userAgent),r=o&&/OS [6-7]_\d/.test(navigator.userAgent),s=navigator.userAgent.indexOf("BB10")>0;t.prototype.needsClick=function(t){switch(t.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(t.disabled)return!0;break;case"input":if(o&&"file"===t.type||t.disabled)return!0;break;case"label":case"iframe":case"video":return!0}return/\bneedsclick\b/.test(t.className)},t.prototype.needsFocus=function(t){switch(t.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!n;case"input":switch(t.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!t.disabled&&!t.readOnly;default:return/\bneedsfocus\b/.test(t.className)}},t.prototype.sendClick=function(t,e){var n,o;document.activeElement&&document.activeElement!==t&&document.activeElement.blur(),o=e.changedTouches[0],n=document.createEvent("MouseEvents"),n.initMouseEvent(this.determineEventType(t),!0,!0,window,1,o.screenX,o.screenY,oLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
!function(e,t,n){function r(e,t){return typeof e===t}function i(){var e,t,n,i,o,a,s;for(var l in x)if(x.hasOwnProperty(l)){if(e=[],t=x[l],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(i=r(t.fn,"function")?t.fn():t.fn,o=0;o<e.length;o++)a=e[o],s=a.split("."),1===s.length?S[s[0]]=i:(!S[s[0]]||S[s[0]]instanceof Boolean||(S[s[0]]=new Boolean(S[s[0]])),S[s[0]][s[1]]=i),w.push((i?"":"no-")+s.join("-"))}}function o(e){var t=C.className,n=S._config.classPrefix||"";if(T&&(t=t.baseVal),S._config.enableJSClass){var r=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(r,"$1"+n+"js$2")}S._config.enableClasses&&(t+=" "+n+e.join(" "+n),T?C.className.baseVal=t:C.className=t)}function a(e,t){if("object"==typeof e)for(var n in e)b(e,n)&&a(n,e[n]);else{e=e.toLowerCase();var r=e.split("."),i=S[r[0]];if(2==r.length&&(i=i[r[1]]),"undefined"!=typeof i)return S;t="function"==typeof t?t():t,1==r.length?S[r[0]]=t:(!S[r[0]]||S[r[0]]instanceof Boolean||(S[r[0]]=new Boolean(S[r[0]])),S[r[0]][r[1]]=t),o([(t&&0!=t?"":"no-")+r.join("-")]),S._trigger(e,t)}return S}function s(e,t){return function(){return e.apply(t,arguments)}}function l(e,t){return!!~(""+e).indexOf(t)}function u(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):T?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function c(){var e=t.body;return e||(e=u(T?"svg":"body"),e.fake=!0),e}function f(e,n,r,i){var o,a,s,l,f="modernizr",d=u("div"),p=c();if(parseInt(r,10))for(;r--;)s=u("div"),s.id=i?i[r]:f+(r+1),d.appendChild(s);return o=u("style"),o.type="text/css",o.id="s"+f,(p.fake?p:d).appendChild(o),p.appendChild(d),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(t.createTextNode(e)),d.id=f,p.fake&&(p.style.background="",p.style.overflow="hidden",l=C.style.overflow,C.style.overflow="hidden",C.appendChild(p)),a=n(d,e),p.fake?(p.parentNode.removeChild(p),C.style.overflow=l,C.offsetHeight):d.parentNode.removeChild(d),!!a}function d(e){return e.replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function p(t,r){var i=t.length;if("CSS"in e&&"supports"in e.CSS){for(;i--;)if(e.CSS.supports(d(t[i]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var o=[];i--;)o.push("("+d(t[i])+":"+r+")");return o=o.join(" or "),f("@supports ("+o+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return n}function m(e){return e.replace(/([a-z])-([a-z])/g,function(e,t,n){return t+n.toUpperCase()}).replace(/^-/,"")}function h(e,t,i,o){function a(){c&&(delete _.style,delete _.modElem)}if(o=r(o,"undefined")?!1:o,!r(i,"undefined")){var s=p(e,i);if(!r(s,"undefined"))return s}for(var c,f,d,h,g,v=["modernizr","tspan"];!_.style;)c=!0,_.modElem=u(v.shift()),_.style=_.modElem.style;for(d=e.length,f=0;d>f;f++)if(h=e[f],g=_.style[h],l(h,"-")&&(h=m(h)),_.style[h]!==n){if(o||r(i,"undefined"))return a(),"pfx"==t?h:!0;try{_.style[h]=i}catch(y){}if(_.style[h]!=g)return a(),"pfx"==t?h:!0}return a(),!1}function g(e,t,n){var i;for(var o in e)if(e[o]in t)return n===!1?e[o]:(i=t[e[o]],r(i,"function")?s(i,n||t):i);return!1}function v(e,t,n,i,o){var a=e.charAt(0).toUpperCase()+e.slice(1),s=(e+" "+P.join(a+" ")+a).split(" ");return r(t,"string")||r(t,"undefined")?h(s,t,i,o):(s=(e+" "+A.join(a+" ")+a).split(" "),g(s,t,n))}function y(e,t,r){return v(e,n,n,t,r)}var x=[],E={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){x.push({name:e,fn:t,options:n})},addAsyncTest:function(e){x.push({name:null,fn:e})}},S=function(){};S.prototype=E,S=new S;var b,w=[],C=t.documentElement,T="svg"===C.nodeName.toLowerCase();!function(){var e={}.hasOwnProperty;b=r(e,"undefined")||r(e.call,"undefined")?function(e,t){return t in e&&r(e.constructor.prototype[t],"undefined")}:function(t,n){return e.call(t,n)}}(),E._l={},E.on=function(e,t){this._l[e]||(this._l[e]=[]),this._l[e].push(t),S.hasOwnProperty(e)&&setTimeout(function(){S._trigger(e,S[e])},0)},E._trigger=function(e,t){if(this._l[e]){var n=this._l[e];setTimeout(function(){var e,r;for(e=0;e<n.length;e++)(r=n[e])(t)},0),delete this._l[e]}},S._q.push(function(){E.addTest=a});T||!function(e,t){function n(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function r(){var e=C.elements;return"string"==typeof e?e.split(" "):e}function i(e,t){var n=C.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof e&&(e=e.join(" ")),C.elements=n+" "+e,u(t)}function o(e){var t=w[e[S]];return t||(t={},b++,e[S]=b,w[b]=t),t}function a(e,n,r){if(n||(n=t),g)return n.createElement(e);r||(r=o(n));var i;return i=r.cache[e]?r.cache[e].cloneNode():E.test(e)?(r.cache[e]=r.Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
html{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}*,:after,:before{box-sizing:inherit;-moz-box-sizing:inherit;-webkit-box-sizing:inherit}html{font-size:62.5%;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,main,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0}main{display:block}ul{list-style:none}table{border-collapse:collapse;border-spacing:0}td{text-align:left;font-weight:400;vertical-align:middle}button{outline:0;padding:0;background:transparent;border:none;font-size:inherit}input{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;appearance:none;outline:none;border:none}a{text-decoration:none;color:inherit}a,button,input,label{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-weight:inherit}pre{background:rgba(0,0,0,.05)}pre,pre code{color:rgba(0,0,0,.87)}.c,.c1,.cm,.o{color:rgba(0,0,0,.54)}.k,.kn{color:#a71d5d}.kd,.kt{color:#0086b3}.n.f,.nf{color:#795da3}.nx{color:#0086b3}.s,.s1{color:#183691}.bp,.mi{color:#9575cd}.icon{font-family:Icon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-search:before{content:"\e600"}.icon-back:before{content:"\e601"}.icon-link:before{content:"\e602"}.icon-close:before{content:"\e603"}.icon-menu:before{content:"\e604"}.icon-forward:before{content:"\e605"}.icon-twitter:before{content:"\e606"}.icon-github:before{content:"\e607"}.icon-download:before{content:"\e608"}.icon-star:before{content:"\e609"}.icon-warning:before{content:"\e610"}.icon-note:before{content:"\e611"}a{-webkit-transition:color .25s;transition:color .25s}.overlay{-webkit-transition:opacity .25s,width 0s .25s,height 0s .25s;transition:opacity .25s,width 0s .25s,height 0s .25s}#toggle-drawer:checked~.overlay,.toggle-drawer .overlay{-webkit-transition:opacity .25s,width 0s,height 0s;transition:opacity .25s,width 0s,height 0s}.js .header{-webkit-transition:background .6s,color .6s;transition:background .6s,color .6s}.js .header:before{-webkit-transition:background .6s;transition:background .6s}.button .icon{-webkit-transition:background .25s;transition:background .25s}body{color:rgba(0,0,0,.87)}@supports (-webkit-appearance:none){body{background:#e84e40}}.ios body{background:#fff}hr{border:0;border-top:1px solid rgba(0,0,0,.12)}.toggle-button{cursor:pointer;color:inherit}.backdrop,.backdrop-paper:after{background:#fff}.overlay{background:rgba(0,0,0,.54);opacity:0}#toggle-drawer:checked~.overlay,.toggle-drawer .overlay{opacity:1}.header{box-shadow:0 1.5px 3px rgba(0,0,0,.24),0 3px 8px rgba(0,0,0,.05);background:#e84e40;color:#fff}.ios.standalone .header:before{background:rgba(0,0,0,.12)}.bar .path{color:hsla(0,0%,100%,.7)}.button .icon{border-radius:100%}.button .icon:active{background:hsla(0,0%,100%,.12)}html{height:100%}body{position:relative;min-height:100%}hr{display:block;height:1px;padding:0;margin:0}.locked{height:100%;overflow:hidden}.scrollable{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;-webkit-overflow-scrolling:touch}.scrollable .wrapper{height:100%}.ios .scrollable .wrapper{margin-bottom:2px}.toggle{display:none}.toggle-button{display:block}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.backdrop-paper{max-width:1200px;height:100%;margin-left:auto;margin-right:auto}.backdrop-paper:after{content:" ";display:block;height:100%;margin-left:262px}.overlay{width:0;height:0;z-index:3}.header,.overlay{position:fixed;top:0}.header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;left:0;z-index:2;height:56px;padding:4px;overflow:hidden}.ios.standalone .header{position:absolute}.bar{display:table;max-width:1184px;margin-left:auto;margin-right:auto}.bar a{display:block}.no-js .bar .button-search{display:none}.bar .path .icon:before{vertical-align:-1.5px}.button{display:table-cell;vertical-align:top;width:1%}.button button{margin:0;padding:0}.button button:active:before{position:relative;top:0;left:0}.button .icon{display:inline-block;font-size:24px;padding:8px;margin:4px}.stretch{display:table;table-layout:fixed;width:100%}.header .stretch{padding:0 20px}.stretch .title{display:table-cell;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.header .stretch .title{font-size:18px;padding:13px 0}.main{max-width:1200px;margin-left:auto;margin-right:auto}body,input{font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.no-fontface body,.no-fontLine truncated
|
||||
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
* overwrite the current primary color of the
|
||||
* theme that is used as fallback in codeblocks
|
||||
*/
|
||||
.article pre code {
|
||||
color: rgba(0, 0, 0, 0.8) !important;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
HIGHLIGHT.JS THEME
|
||||
|
||||
tweaked version of the Github theme
|
||||
*/
|
||||
|
||||
.hljs {
|
||||
display:block;
|
||||
overflow-x:auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-quote {
|
||||
color:#998;
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-subst {
|
||||
color:#333;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.hljs-number,
|
||||
.hljs-literal,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-tag .hljs-attr {
|
||||
color:teal;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-doctag {
|
||||
color:#d14;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-section,
|
||||
.hljs-selector-id {
|
||||
color:#900;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.hljs-subst {
|
||||
font-weight:400;
|
||||
}
|
||||
|
||||
.hljs-type,
|
||||
.hljs-class .hljs-title {
|
||||
color:#458;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.hljs-tag,
|
||||
.hljs-name,
|
||||
.hljs-attribute {
|
||||
color:navy;
|
||||
font-weight:400;
|
||||
}
|
||||
|
||||
.hljs-regexp,
|
||||
.hljs-link {
|
||||
color:#009926;
|
||||
}
|
||||
|
||||
.hljs-symbol,
|
||||
.hljs-bullet {
|
||||
color:#990073;
|
||||
}
|
||||
|
||||
.hljs-built_in,
|
||||
.hljs-builtin-name {
|
||||
color:#0086b3;
|
||||
}
|
||||
|
||||
.hljs-meta {
|
||||
color:#999;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
background:#fdd;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
background:#dfd;
|
||||
}
|
||||
|
||||
.hljs-emphasis {
|
||||
font-style:italic;
|
||||
}
|
||||
|
||||
.hljs-strong {
|
||||
font-weight:700;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@supports (-webkit-appearance:none){.palette-primary-red{background:#e84e40}}.palette-primary-red .footer,.palette-primary-red .header{background:#e84e40}.palette-primary-red .drawer .toc a.current,.palette-primary-red .drawer .toc a:focus,.palette-primary-red .drawer .toc a:hover{color:#e84e40}.palette-primary-red .drawer .anchor a{border-left:2px solid #e84e40}.ios.standalone .palette-primary-red .article{background:-webkit-linear-gradient(top,#fff 50%,#e84e40 0);background:linear-gradient(180deg,#fff 50%,#e84e40 0)}.palette-primary-red .article a,.palette-primary-red .article code,.palette-primary-red .article h1,.palette-primary-red .article h2{color:#e84e40}.palette-primary-red .article .headerlink{color:rgba(0,0,0,.26)}.palette-primary-red .article table th{background:#ee7a70}.palette-primary-red .results .meta{background:#e84e40}@supports (-webkit-appearance:none){.palette-primary-pink{background:#e91e63}}.palette-primary-pink .footer,.palette-primary-pink .header{background:#e91e63}.palette-primary-pink .drawer .toc a.current,.palette-primary-pink .drawer .toc a:focus,.palette-primary-pink .drawer .toc a:hover{color:#e91e63}.palette-primary-pink .drawer .anchor a{border-left:2px solid #e91e63}.ios.standalone .palette-primary-pink .article{background:-webkit-linear-gradient(top,#fff 50%,#e91e63 0);background:linear-gradient(180deg,#fff 50%,#e91e63 0)}.palette-primary-pink .article a,.palette-primary-pink .article code,.palette-primary-pink .article h1,.palette-primary-pink .article h2{color:#e91e63}.palette-primary-pink .article .headerlink{color:rgba(0,0,0,.26)}.palette-primary-pink .article table th{background:#ef568a}.palette-primary-pink .results .meta{background:#e91e63}@supports (-webkit-appearance:none){.palette-primary-purple{background:#ab47bc}}.palette-primary-purple .footer,.palette-primary-purple .header{background:#ab47bc}.palette-primary-purple .drawer .toc a.current,.palette-primary-purple .drawer .toc a:focus,.palette-primary-purple .drawer .toc a:hover{color:#ab47bc}.palette-primary-purple .drawer .anchor a{border-left:2px solid #ab47bc}.ios.standalone .palette-primary-purple .article{background:-webkit-linear-gradient(top,#fff 50%,#ab47bc 0);background:linear-gradient(180deg,#fff 50%,#ab47bc 0)}.palette-primary-purple .article a,.palette-primary-purple .article code,.palette-primary-purple .article h1,.palette-primary-purple .article h2{color:#ab47bc}.palette-primary-purple .article .headerlink{color:rgba(0,0,0,.26)}.palette-primary-purple .article table th{background:#c075cd}.palette-primary-purple .results .meta{background:#ab47bc}@supports (-webkit-appearance:none){.palette-primary-deep-purple{background:#7e57c2}}.palette-primary-deep-purple .footer,.palette-primary-deep-purple .header{background:#7e57c2}.palette-primary-deep-purple .drawer .toc a.current,.palette-primary-deep-purple .drawer .toc a:focus,.palette-primary-deep-purple .drawer .toc a:hover{color:#7e57c2}.palette-primary-deep-purple .drawer .anchor a{border-left:2px solid #7e57c2}.ios.standalone .palette-primary-deep-purple .article{background:-webkit-linear-gradient(top,#fff 50%,#7e57c2 0);background:linear-gradient(180deg,#fff 50%,#7e57c2 0)}.palette-primary-deep-purple .article a,.palette-primary-deep-purple .article code,.palette-primary-deep-purple .article h1,.palette-primary-deep-purple .article h2{color:#7e57c2}.palette-primary-deep-purple .article .headerlink{color:rgba(0,0,0,.26)}.palette-primary-deep-purple .article table th{background:#9e81d1}.palette-primary-deep-purple .results .meta{background:#7e57c2}@supports (-webkit-appearance:none){.palette-primary-indigo{background:#3f51b5}}.palette-primary-indigo .footer,.palette-primary-indigo .header{background:#3f51b5}.palette-primary-indigo .drawer .toc a.current,.palette-primary-indigo .drawer .toc a:focus,.palette-primary-indigo .drawer .toc a:hover{color:#3f51b5}.palette-primary-indigo .drawer .anchor a{border-left:2px solid #3f51b5}.ios.standalone .palette-primary-indigo .article{background:-webkit-linear-gradient(top,#fff 50%,#3f51b5 0);background:linear-gradient(180deg,#fff 50%,#3f51b5 0)}.palette-primary-indigo .article a,.palette-primary-indigo .article code,.palette-primary-indigo .article h1,.palette-primary-indigo .article h2{color:#3f51b5}.palette-primary-indigo .article .headerlink{color:rgba(0,0,0,.26)}.palette-primary-indigo .article table th{background:#6f7dc8}.palette-primary-indigo .results .meta{background:#3f51b5}@supports (-webkit-appearance:none){.palette-primary-blue{background:#5677fc}}.palette-primary-blue .footer,.palette-primary-blue .header{background:#5677fc}.palette-primary-blue .drawer .toc a.current,.palette-primary-blue .drawer .toc a:focus,.palette-primary-blue .drawer .toc a:hover{color:#5677fc}.palette-primary-blue .drawer .anchor a{border-left:2px solid #5677fc}.ios.standalone .palette-primary-blue .article{background:-webkit-linear-gradient(top,#fff 50%,#5677fc 0);background:linear-gradient(180deg,#fff 50%,#5677fc 0)}.pLine truncated
|
||||
@@ -0,0 +1,11 @@
|
||||
/* This file only exists (temporarily) until the
|
||||
custom styling can be replaced with the
|
||||
implementation of the upstream project.
|
||||
*/
|
||||
|
||||
blockquote {
|
||||
padding: 0 20px;
|
||||
margin: 0 0 20px;
|
||||
font-size: inherit;
|
||||
border-left: 5px solid #eee;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
name = "Material Docs"
|
||||
license = "MIT"
|
||||
licenselink = "https://github.com/digitalcraftsman/hugo-material-docs/blob/master/LICENSE.md"
|
||||
description = "A material design theme for documentations."
|
||||
homepage = "https://github.com/digitalcraftsman/hugo-material-docs"
|
||||
tags = ["material", "documentation", "docs", "google analytics", "responsive"]
|
||||
features = ["", ""]
|
||||
min_version = 0.15
|
||||
|
||||
[author]
|
||||
name = "Digitalcraftsman"
|
||||
homepage = "https://github.com/digitalcraftsman"
|
||||
|
||||
# If porting an existing theme
|
||||
[original]
|
||||
name = "Martin Donath"
|
||||
homepage = "http://struct.cc/"
|
||||
repo = "https://github.com/squidfunk/mkdocs-material"
|
||||