Jekyll site for docs

This commit is contained in:
Fedor Isakov 2018-08-12 17:56:31 +02:00
parent 8b1788354f
commit 2d6adc9b8e
20 changed files with 643 additions and 0 deletions

2
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
_site/*
Gemfile.lock

12
docs/404.html Normal file
View File

@ -0,0 +1,12 @@
---
layout: default
permalink: /404.html
---
<div class="mdl-cell mdl-cell--10-col">
<div class="page-content">
<div class="content">
<h1>404</h1>
<h3>This page does not exist</h3>
</div>
</div>
</div>

5
docs/Gemfile Normal file
View File

@ -0,0 +1,5 @@
source "https://rubygems.org"
# A simple Ruby Gem to bootstrap dependencies for setting up and maintaining
# a local Jekyll environment in sync with GitHub Pages.
gem 'github-pages', group: :jekyll_plugins

206
docs/_assets/mdl.css Normal file
View File

@ -0,0 +1,206 @@
---
# calling front matter
---
/*
* Based on: MaterialDocs https://github.com/chromatical/jekyll-materialdocs
* Copyright (c) 2017 James King
* MIT License https://opensource.org/licenses/MIT
*/
.mdl-typography--title {
font-size: 24px;
}
#page-title {
padding-left: 8px;
}
.grid-content {
min-height: calc(100vh - 120px);
}
.mdl-layout__header-row {
color: #fff;
}
.mdl-layout__header-row > .mdl-navigation > .mdl-navigation__link {
color: #fff;
font-size: 20px;
}
.welcome-card-wide.mdl-card {
width: 60vw;
}
.welcome-card-wide > .mdl-card__title {
color: #fff;
height: 400px;
background: url({{ '_assets/splash.jpg' | absolute_url }}) center / cover;
}
.demo-card-wide > .mdl-card__menu {
color: #fff;
}
.mdl-card__supporting-text > p {
font-size: 16px;
}
.homepage {
display: flex;
position: relative;
float: right;
}
.mdl-tooltip {
background-color: #424242 !important;
}
.content{
max-width: 800px;
padding: 40px 40px 40px 40px;
margin-left: auto;
margin-right: auto;
}
.content img, .content video {
position: relative;
max-width: 100%;
padding: 20px;
background: #fff;
border-collapse: collapse;
border-spacing: 0;
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
border-radius: 2px;
box-sizing: border-box;
}
.back {
text-align: left;
white-space: nowrap;
}
.forward {
text-align: right;
white-space: nowrap;
}
.footer {
height: 40px;
padding-top: 0px;
padding-left: 0px;
position: relative;
overflow: hidden;
box-sizing: border-box;
font-size: 14px;
}
/* .mdl-layout-icon {
width: 50px;
height: 50px;
margin-right: 8px;
position: relative;
float: left;
background-image: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 140 140'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='105.979' y1='186.085' x2='-27.244' y2='15.44' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.091' stop-color='%230b8fff'/%3E%3Cstop offset='.208' stop-color='%230d94f6'/%3E%3Cstop offset='.396' stop-color='%2311a3de'/%3E%3Cstop offset='.633' stop-color='%2318bbb7'/%3E%3Cstop offset='.871' stop-color='%2321d789'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='178.605' y1='129.386' x2='45.382' y2='-41.259' xlink:href='%23a'/%3E%3ClinearGradient id='c' x1='78.586' y1='105.516' x2='126.297' y2='-22.788' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='.123' stop-color='%2321d789'/%3E%3Cstop offset='.132' stop-color='%2327d788'/%3E%3Cstop offset='.216' stop-color='%2359d87b'/%3E%3Cstop offset='.303' stop-color='%2385d970'/%3E%3Cstop offset='.394' stop-color='%23abda67'/%3E%3Cstop offset='.487' stop-color='%23cadb5f'/%3E%3Cstop offset='.585' stop-color='%23e1db59'/%3E%3Cstop offset='.688' stop-color='%23f2dc55'/%3E%3Cstop offset='.802' stop-color='%23fcdc53'/%3E%3Cstop offset='.946' stop-color='%23ffdc52'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ctitle%3Emps_logo%3C/title%3E%3Cpath fill='url(%23a)' d='M0 140L140 140 70 70 0 0 0 140z'/%3E%3Cpath data-name='&lt;Path&gt;' fill='url(%23b)' d='M140 140L70 70 140 0 140 140z'/%3E%3Cpath data-name='&lt;Path&gt;' fill='url(%23c)' d='M102 102L70 70 140 0 102 102z'/%3E%3C/svg%3E");
background-size: 100%;
} */
.mdl-layout-icon {
width: 50px;
height: 50px;
margin-right: 8px;
position: relative;
float: left;
background-size: 100%;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' preserveAspectRatio='xMidYMid meet' viewBox='0 0 640 640' width='640' height='640'%3E%3Cdefs%3E%3Cpath d='M640 640L320 320L0 0L0 640L640 640Z' id='aXyN8fXNf'/%3E%3ClinearGradient id='gradientbMguUoS8I' gradientUnits='userSpaceOnUse' x1='484.48' y1='850.67' x2='-124.54' y2='70.58'%3E%3Cstop style='stop-color: %230b8fff;stop-opacity: 1' offset='9.1%25'/%3E%3Cstop style='stop-color: %230d94f6;stop-opacity: 1' offset='20.8%25'/%3E%3Cstop style='stop-color: %2311a3de;stop-opacity: 1' offset='39.6%25'/%3E%3Cstop style='stop-color: %2318bbb7;stop-opacity: 1' offset='63.3%25'/%3E%3Cstop style='stop-color: %2321d789;stop-opacity: 1' offset='87.1%25'/%3E%3C/linearGradient%3E%3Cpath d='M320 320L640 0L640 640L320 320Z' id='aWEH9QIpB'/%3E%3ClinearGradient id='gradienta2hyjKEZB' gradientUnits='userSpaceOnUse' x1='816.48' y1='591.48' x2='207.46' y2='-188.61'%3E%3Cstop style='stop-color: %230b8fff;stop-opacity: 1' offset='9.1%25'/%3E%3Cstop style='stop-color: %230d94f6;stop-opacity: 1' offset='20.8%25'/%3E%3Cstop style='stop-color: %2311a3de;stop-opacity: 1' offset='39.6%25'/%3E%3Cstop style='stop-color: %2318bbb7;stop-opacity: 1' offset='63.3%25'/%3E%3Cstop style='stop-color: %2321d789;stop-opacity: 1' offset='87.1%25'/%3E%3C/linearGradient%3E%3Cpath d='M320 320L640 0L466.29 466.29L320 320Z' id='i55VWGai5'/%3E%3ClinearGradient id='gradientb1tb5cKPHR' gradientUnits='userSpaceOnUse' x1='359.25' y1='482.36' x2='577.36' y2='-104.17'%3E%3Cstop style='stop-color: %2321d789;stop-opacity: 1' offset='12.3%25'/%3E%3Cstop style='stop-color: %2327d788;stop-opacity: 1' offset='13.200000000000001%25'/%3E%3Cstop style='stop-color: %2359d87b;stop-opacity: 1' offset='21.6%25'/%3E%3Cstop style='stop-color: %2385d970;stop-opacity: 1' offset='30.3%25'/%3E%3Cstop style='stop-color: %23abda67;stop-opacity: 1' offset='39.4%25'/%3E%3Cstop style='stop-color: %23cadb5f;stop-opacity: 1' offset='48.699999999999996%25'/%3E%3Cstop style='stop-color: %23e1db59;stop-opacity: 1' offset='58.5%25'/%3E%3Cstop style='stop-color: %23f2dc55;stop-opacity: 1' offset='68.8%25'/%3E%3Cstop style='stop-color: %23fcdc53;stop-opacity: 1' offset='80.2%25'/%3E%3Cstop style='stop-color: %23ffdc52;stop-opacity: 1' offset='94.6%25'/%3E%3C/linearGradient%3E%3Cpath d='M0 372.1L267.9 372.1L267.9 640L0 640L0 372.1Z' id='a2fdwyrXvx'/%3E%3Ctext id='b2htDoClSa' x='189.23' y='167.83' font-size='130' font-family='Montserrat' font-weight='700' font-style='normal' letter-spacing='-3.9' alignment-baseline='before-edge' transform='matrix(1 0 0 1 -173.2400218467499 208.2340030915327)' style='line-height:100%25' xml:space='preserve' dominant-baseline='text-before-edge'%3E%3Ctspan x='189.23' dy='0em' alignment-baseline='before-edge' dominant-baseline='text-before-edge' text-anchor='start'%3ECR%3C/tspan%3E%3C/text%3E%3Cstyle id='montserrat700normal'%3E @font-face %7B font-family: 'Montserrat'; font-weight: 700; src: url('https://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE3gnD_vx3rCs.woff2'); %7D %3C/style%3E%3Cpath d='M23.11 589.77L123.57 589.77L123.57 606.51L23.11 606.51L23.11 589.77Z' id='a8n3qKL9a'/%3E%3C/defs%3E%3Cg%3E%3Cg%3E%3Cuse xlink:href='%23aXyN8fXNf' opacity='1' fill='url(%23gradientbMguUoS8I)'/%3E%3Cg%3E%3Cuse xlink:href='%23aXyN8fXNf' opacity='1' fill-opacity='0' stroke='%23000000' stroke-width='1' stroke-opacity='0'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cuse xlink:href='%23aWEH9QIpB' opacity='1' fill='url(%23gradienta2hyjKEZB)'/%3E%3Cg%3E%3Cuse xlink:href='%23aWEH9QIpB' opacity='1' fill-opacity='0' stroke='%23000000' stroke-width='1' stroke-opacity='0'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cuse xlink:href='%23i55VWGai5' opacity='1' fill='url(%23gradientb1tb5cKPHR)'/%3E%3Cg%3E%3Cuse xlink:href='%23i55VWGai5' opacity='1' fill-opacity='0' stroke='%23000000' stroke-width='1' stroke-opacity='0'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cuse xlink:href='%23a2fdwyrXvx' opacity='1' fill='%23000000' fill-opacity='1'/%3E%3Cg%3E%3Cuse xlink:href='%23a2fdwyrXvx' opacity='1' fill-opacity='0' stroke='%23000000' stroke-width='1' stroke-opacity='0'/%3E%3C/g%3E%3C/g%3E%3Cg id='dIHMTAFsO'%3E%3Cuse xlink:href='%23b2htDoClSa' opacity='1' fill='%23ffffff' fill-opacity='1'/%3E%3Cg%3E%3Cuse xlink:href='%23b2htDoClSa' opacity='1' fill-opacity='0' stroke='%23ffffff' stroke-width='5' stroke-opacity='1'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cuse xlink:href='%23a8n3qKL9a' opacity='1' fill='%23ffffff' fill-opacity='1'/%3E%3Cg%3E%3Cuse xlink:href='%23a8n3qKL9a' opacity='1' fill-opacity='0' stroke='%23000000' stroke-width='1' stroke-opacity='0'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.mdl-logo {
width: 40px;
height: 40px;
margin-right: 20px;
margin-left: 72px;
position: relative;
float: left;
background-image: url("data:image/svg+xml,%3Csvg data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 700'%3E%3Ctitle%3Ejetbrains-simple_2%3C/title%3E%3Cpath d='M0 0H700V700H0z'/%3E%3Cpath fill='%23fff' d='M60.379 568.75H322.879V612.5H60.379z'/%3E%3Cpath d='M57.428,184.315L77.8,165.083c5.542,6.682,10.758,10.594,17.929,10.594,7.823,0,12.877-5.378,12.877-15.972V87.5h31.457v72.367c0,14.343-3.586,24.448-11.246,32.109-7.5,7.5-18.254,11.572-31.294,11.572C77.638,203.548,65.577,195.236,57.428,184.315Z' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M147.394 87.5L239.156 87.5 239.156 114.23 178.688 114.23 178.688 131.67 233.451 131.67 233.451 156.607 178.688 156.607 178.688 174.699 239.971 174.699 239.971 201.592 147.394 201.592 147.394 87.5z'/%3E%3Cpath fill='%23fff' d='M280.491 115.208L246.427 115.208 246.427 87.5 346.338 87.5 346.338 115.208 312.111 115.208 312.111 201.592 280.491 201.592 280.491 115.208z'/%3E%3Cpath d='M139.736,282.7c10.106-4.4,17.6-12.224,17.6-25.426v-0.326A25.675,25.675,0,0,0,150,238.364c-6.682-6.52-16.788-10.106-31.131-10.106H60.362V342.35H119.2c27.218,0,43.191-11.9,43.191-31.457v-0.326C162.392,295.083,153.591,287.26,139.736,282.7Zm-48.57-29.011h20.7c9.29,0,14.343,3.422,14.343,9.779v0.326c0,6.682-5.542,9.942-15.158,9.942H91.166V253.685Zm39.607,52.808c0,6.682-5.379,10.431-15.158,10.431H91.166V295.9h24.123c10.594,0,15.484,4.075,15.484,10.269v0.326Z' fill='%23fff'/%3E%3Cpath d='M335.8,227.444H305.325l-42.63,101.193-17.833-26.056c14.18-6.031,23.469-17.6,23.469-35.205V267.05c0-11.246-3.422-19.885-10.1-26.567-7.661-7.661-19.722-12.224-37.162-12.224H167.116V342.35h31.619V307.8h14.017l22.981,34.553H290l8.15-20.536h44.169l8.149,20.536h33.9Zm-99.093,42.05c0,8.312-6.357,13.529-16.951,13.529H198.736V255.477H219.6c10.432,0,17.114,4.564,17.114,13.692v0.325ZM307.444,297.2l12.877-32.271L333.033,297.2H307.444Z' fill='%23fff'/%3E%3Cpath fill='%23fff' d='M388.119 228.258H419.73800000000006V342.35H388.119z'/%3E%3Cpath fill='%23fff' d='M427.56 228.258L457.061 228.258 504.001 288.564 504.001 228.258 535.295 228.258 535.295 342.35 507.75 342.35 458.854 279.763 458.854 342.35 427.56 342.35 427.56 228.258z'/%3E%3Cpath d='M537.277,325.4l17.6-21.025c11.409,8.964,23.8,13.691,37,13.691,8.638,0,13.2-2.934,13.2-7.824v-0.325c0-4.89-3.749-7.335-19.4-11.084-24.286-5.541-43.03-12.387-43.03-35.694v-0.326c0-21.188,16.788-36.509,44.17-36.509,19.4,0,34.553,5.216,46.94,15.158L617.956,263.79c-10.431-7.5-21.84-11.246-31.946-11.246-7.66,0-11.409,3.1-11.409,7.334V260.2c0,5.216,3.912,7.5,19.885,11.083,26.078,5.7,42.377,14.18,42.377,35.531v0.326c0,23.307-18.418,37.161-46.126,37.161C570.526,344.306,551.457,337.95,537.277,325.4Z' fill='%23fff'/%3E%3C/svg%3E");
background-size: 100%;
}
table{
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
border:1px solid #cbcbcb;
vertical-align: bottom;
}
thead{
background-color: #e0e0e0;
}
th{
padding: 0.5em 1em;
border-left: 1px solid #cbcbcb;
border-width: 0 0 0 1px;
overflow: visible;
}
td{
padding: 0.5em 1em;
border-left: 1px solid #cbcbcb;
border-width: 0 0 0 1px;
overflow: visible;
}
.github-icon {
width: 32px;
height: 32px;
position: relative;
float: right;
background-image: url("data:image/svg+xml,%3Csvg width='1024' height='1024' viewBox='0 0 1024 1024' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92 10.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z' transform='scale(64)' fill='%23ffffff'/%3E%3C/svg%3E");
background-size: 100%;
}
.unsplash-icon {
text-align: center;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 64 64' width='512' height='512'%3E%3Cpath d='M20.8 18.1c0 2.7-2.2 4.8-4.8 4.8s-4.8-2.1-4.8-4.8c0-2.7 2.2-4.8 4.8-4.8 2.7.1 4.8 2.2 4.8 4.8zM32 10.7v14.9c0 2.3-1.9 4.3-4.3 4.3H4.3C1.9 29.9 0 28 0 25.6v-15c0-2.3 1.9-4.3 4.3-4.3H8L8.8 4c.4-1.1 1.7-2 2.9-2h8.6c1.2 0 2.5.9 2.9 2l.8 2.4h3.7c2.4 0 4.3 1.9 4.3 4.3zm-8.6 7.5c0-4.1-3.3-7.5-7.5-7.5-4.1 0-7.5 3.4-7.5 7.5s3.3 7.5 7.5 7.5c4.2-.1 7.5-3.4 7.5-7.5z' fill='#99ccff'/%3E%3C/svg%3E");
background-size: 100%;
}
/* Menu */
.mdl-layout__drawer > .mdl-layout-title {
padding-left: 16px;
padding-right: 16px;
text-align: center;
line-height: 32px;
margin-top: 32px;
/* margin-bottom: 32px; */
}
.parent {
font-weight: bold;
}
.child{
padding: 5px 40px 5px 60px !important;
}
.is-active{
background-color: #e0e0e0;
}
.mdl-navigation__link > .material-icons {
font-size: 14px;
}
.mdl-tooltip > .material-icons {
font-size: 14px;
vertical-align: middle;
}
.lineno{
padding-right: 8px;
}

34
docs/_assets/search.html Normal file
View File

@ -0,0 +1,34 @@
---
layout: page
title: Search
menu: false
search: false
permalink: /search
---
{% comment %}
<!-- MaterialDocs https://github.com/chromatical/jekyll-materialdocs -->
<!-- Copyright (c) 2017 James King -->
<!-- MIT License https://opensource.org/licenses/MIT -->
{% endcomment %}
{% if site.search != false %}
<div id="search-container">
<form action="#">
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type="text" id="search">
<label class="mdl-textfield__label" for="search">Keywords...</label>
</div>
</form>
<ul class="demo-list-item mdl-list" id="results"></ul>
</div>
<script src="{{ '/_assets/simple-jekyll-search.min.js' | absolute_url }}"></script>
<script>
SimpleJekyllSearch({
searchInput: document.getElementById('search'),
resultsContainer: document.getElementById('results'),
json: "{{ '/_assets/search.json' | absolute_url }}",
searchResultTemplate: '<li class="mdl-list__item"><a href="{url}"><span class="mdl-list__item-primary-content">{title}</span></a></li>'
})
</script>
{% else %}
<p>Search is disabled.</p>
{% endif %}

19
docs/_assets/search.json Normal file
View File

@ -0,0 +1,19 @@
---
layout: null
---
{% comment %}
MaterialDocs https://github.com/chromatical/jekyll-materialdocs
Copyright (c) 2017 James King
MIT License https://opensource.org/licenses/MIT
{% endcomment %}
{% if site.search != false %}
[
{% for node in site.pages %}{% if node.title and node.content and node.search != false %}
{
"title" : "{{ node.title | escape }}",
"url" : "{{ node.url | absolute_url }}",
"content" : {{ node.content | newlines_to_br | strip_html | jsonify }}
},
{% endif %}{% endfor %}{}
]
{% endif %}

View File

@ -0,0 +1,6 @@
/*!
* Simple-Jekyll-Search v1.6.0 (https://github.com/christian-fei/Simple-Jekyll-Search)
* Copyright 2015-2018, Christian Fei
* Licensed under the MIT License.
*/
!function(){"use strict";function t(){return 0}function e(t){return Boolean(t)&&"[object Object]"===Object.prototype.toString.call(t)}function n(t){return l.push(t),l}var r={load:function(t,e){var n=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");n.open("GET",t,!0),n.onreadystatechange=function(t,e){return function(){if(4===t.readyState&&200===t.status)try{e(null,JSON.parse(t.responseText))}catch(n){e(n,null)}}}(n,e),n.send()}},i=function(t,e){var n=e.length,r=t.length;if(r>n)return!1;if(r===n)return t===e;t:for(var i=0,o=0;i<r;i++){for(var u=t.charCodeAt(i);o<n;)if(e.charCodeAt(o++)===u)continue t;return!1}return!0},o=new function(){this.matches=function(t,e){return i(e,t)}},u=new function(){this.matches=function(t,e){return"string"==typeof t&&(t=t.trim()).toLowerCase().indexOf(e.toLowerCase())>=0}},a={put:function(t){return e(t)?n(t):function(t){return Boolean(t)&&"[object Array]"===Object.prototype.toString.call(t)}(t)?function(t){for(var r=[],i=0,o=t.length;i<o;i++)e(t[i])&&r.push(n(t[i]));return r}(t):undefined},clear:function(){return l.length=0,l},search:function(t){return t?function(t,e,n,r){for(var i=[],o=0;o<t.length&&i.length<r.limit;o++){var u=function(t,e,n,r){for(var i in t)if(!function(t,e){for(var n=!1,r=0,i=(e=e||[]).length;r<i;r++){var o=e[r];!n&&new RegExp(t).test(o)&&(n=!0)}return n}(t[i],r.exclude)&&n.matches(t[i],e))return t}(t[o],e,n,r);u&&i.push(u)}return i}(l,t,c.searchStrategy,c).sort(c.sort):[]},setOptions:function(e){(c=e||{}).fuzzy=e.fuzzy||!1,c.limit=e.limit||10,c.searchStrategy=e.fuzzy?o:u,c.sort=e.sort||t}},l=[],c={};c.fuzzy=!1,c.limit=10,c.searchStrategy=c.fuzzy?o:u,c.sort=t;var f={compile:function(t){return s.template.replace(s.pattern,function(e,n){var r=s.middleware(n,t[n],s.template);return void 0!==r?r:t[n]||e})},setOptions:function(t){s.pattern=t.pattern||s.pattern,s.template=t.template||s.template,"function"==typeof t.middleware&&(s.middleware=t.middleware)}},s={};s.pattern=/\{(.*?)\}/g,s.template="",s.middleware=function(){};var p={merge:function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r],"undefined"!=typeof e[r]&&(n[r]=e[r]));return n},isJSON:function(t){try{return!!(t instanceof Object&&JSON.parse(JSON.stringify(t)))}catch(e){return!1}}};!function(t){function e(t){a.put(t),u.searchInput.addEventListener("keyup",function(t){(function(t){return-1===[13,16,20,37,38,39,40,91].indexOf(t)})(t.which)&&(u.resultsContainer.innerHTML="",i(t.target.value))})}function n(t){u.resultsContainer.innerHTML+=t}function i(t){(function(t){return t&&t.length>0})(t)&&function(t){var e=t.length;if(0===e)return n(u.noResultsText);for(var r=0;r<e;r++)n(f.compile(t[r]))}(a.search(t))}function o(t){throw new Error("SimpleJekyllSearch --- "+t)}var u={searchInput:null,resultsContainer:null,json:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:function(){},sortMiddleware:function(){return 0},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},l=["searchInput","resultsContainer","json"],c=function s(t){if(!function(t){return!!t&&"undefined"!=typeof t.required&&t.required instanceof Array}(t))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof s))return new s(t);var e=t.required;this.getRequiredOptions=function(){return e},this.validate=function(t){var n=[];return e.forEach(function(e){"undefined"==typeof t[e]&&n.push(e)}),n}}({required:l});t.SimpleJekyllSearch=function(t){return c.validate(t).length>0&&o("You must specify the following required options: "+l),u=p.merge(u,t),f.setOptions({template:u.searchResultTemplate,middleware:u.templateMiddleware}),a.setOptions({fuzzy:u.fuzzy,limit:u.limit,sort:u.sortMiddleware}),p.isJSON(u.json)?e(u.json):function(t){r.load(t,function(n,r){n&&o("failed to get JSON ("+t+")"),e(r)})}(u.json),{search:i}},t.SimpleJekyllSearch.init=t.SimpleJekyllSearch,"function"==typeof t.SimpleJekyllSearchInit&&t.SimpleJekyllSearchInit.call(this,t.SimpleJekyllSearch)}(window)}();

BIN
docs/_assets/splash.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

66
docs/_assets/syntax.css Normal file
View File

@ -0,0 +1,66 @@
/* https://gist.github.com/demisx/8408522 */
/*.highlight { background: #ffffff; }*/
.highlight { background: #eeeeee; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
.post > .highlight .lineno { color: #ccc; display:inline-block; padding: 0 5px; border-right:1px solid #ccc; }
.post > .highlight pre code { display: block; white-space: pre; overflow-x: auto; word-wrap: normal; }

43
docs/_config.yml Normal file
View File

@ -0,0 +1,43 @@
# Site settings
title: MPS Code Rules
email: fedor.isakov@jetbrains.com
description: >- # this means to ignore newlines until "baseurl:"
Code Rules is a language framework and runtime for running logical
inference in JetBrains MPS.
baseurl: "/constraints-typechecking" # the subpath of your site, e.g. /blog
url: "https://fisakov.github.io" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jetbrains_mps
github_username: fisakov
time: 2018-08-05
copyright: JetBrains s.r.o.
copyright_url: "https://jetbrains.com"
homepage: "https://jetbrains.com/mps"
homepage_title: "JetBrains MPS"
github-project: fisakov/constraints-typechecking
# Build settings
markdown: kramdown
highlighter: rouge
kramdown:
input: GFM
hard_wrap: false
syntax_highlighter: rouge
mdl_colors: grey-light_blue
plugins:
- jekyll-feed
include:
- "content"
- "img"
- "_assets"
# Exclude from processing.
exclude:
- "*.gemspec"
- Gemfile
- Gemfile.lock
# - node_modules
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/

24
docs/_data/nav.yml Normal file
View File

@ -0,0 +1,24 @@
- title: "Examples"
url: false
weight: 800
id: examples
- title: "Links"
url: false
weight: 900
id: links
- title: "GitHub Project"
url: "https://github.com/fisakov/constraints-typechecking"
parent: links
tab: true
- title: "Latest Release"
url: "https://github.com/fisakov/constraints-typechecking/releases"
parent: links
tab: true
- title: "JetBrains MPS"
url: "https://www.jetbrains.com/mps/"
parent: links
tab: true

View File

@ -0,0 +1,15 @@
<footer class="mdl-mini-footer footer">
<div class="mdl-mini-footer__left-section">
<a class="mdl-logo" href="{{ site.copyright_url }}">
</a>
<ul class="mdl-mini-footer__link-list">
<!-- <li>{% if page.title %} {{ site.title }} {% endif %}</li> -->
<li>&copy; {{ site.time | date: '%Y' }} {% if site.copyright %}{{ site.copyright }}{% else %}{{ site.title }}{% endif %}</li>
</ul>
</div>
<div class="mdl-mini-footer__right-section">
<ul class="mdl-mini-footer__link-list">
{% if site.homepage %}<li><a href="{{ site.homepage}}">{% if site.homepage_title %}{{ site.homepage_title}}{% else %}Home{% endif %}</a></li>{% endif %}
</ul>
</div>
</footer>

31
docs/_includes/head.html Normal file
View File

@ -0,0 +1,31 @@
{% comment %}
<!-- Based on: MaterialDocs https://github.com/chromatical/jekyll-materialdocs -->
<!-- Copyright (c) 2017 James King -->
<!-- MIT License https://opensource.org/licenses/MIT -->
{% endcomment %}
<meta charset="utf-8"/>
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
{% assign mdl_colors = "blue-indigo" %}
{% if site.mdl_colors %}
{% assign mdl_colors = site.mdl_colors %}
{% endif %}
{% if page.mdl_colors %}
{% assign mdl_colors = page.mdl_colors %}
{% endif %}
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.{{ mdl_colors }}.min.css" />
<link rel="stylesheet" href="{{ '/_assets/mdl.css' | absolute_url }}"/>
<link rel="stylesheet" href="{{ '/_assets/syntax.css' | absolute_url }}"/>
<title>{{ page.title }} | {{ site.title }}</title>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']],
displayMath: [['$$','$$'], ["\\[","\\]"]]
}
});
</script>
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>

View File

@ -0,0 +1,29 @@
<header class="mdl-layout__header">
<div class="mdl-layout__header-row">
<a class="mdl-layout-icon" href="{{ '/' | absolute_url }}">
{% if site.logo %}
<img src="{{ site.logo | absolute_url }}" alt="" id="site-logo"/>
{% endif %}
</a>
<span class="mdl-layout-title">
{% if page.title %}
<h1 id="page-title" class="mdl-typography--title">
{{ page.title }}
</h1>
{% endif %}
</span>
<div class="mdl-layout-spacer"></div>
<nav class="mdl-navigation">
{% if site.github-project %}
<div class="mdl-navigation__link">
<a class="github-icon" href="https://github.com/{{ site.github-project }}"></a>
</div>
{% endif %}
</nav>
{% if site.search != false %}
<a href="{{ site.baseurl }}{% link _assets/search.html %}" class="mdl-button mdl-js-button mdl-button--icon">
<i class="material-icons">search</i>
</a>
{% endif %}
</div>
</header>

40
docs/_includes/menu.html Normal file
View File

@ -0,0 +1,40 @@
{% comment %}
<!-- Based on: MaterialDocs https://github.com/chromatical/jekyll-materialdocs -->
<!-- Copyright (c) 2017 James King -->
<!-- MIT License https://opensource.org/licenses/MIT -->
{% endcomment %}
{% assign sorted_pages = site.pages | sort: 'weight' %}
{% if site.data.nav %}
{% assign sorted_pages = sorted_pages | concat: site.data.nav | sort: 'weight' %}
{% endif %}
{% for node in sorted_pages %}
{% if node.menu != false and node.weight != nil %}
{% if node.menu or node.title %}
{% unless node.parent %}
{% if node.url != false %}
<a class="mdl-navigation__link parent{% if node.url == page.url or page.parent and page.parent == node.path %} is-active{% endif %}" href="{{ node.url | absolute_url }}"{% if node.tab %} target="_blank"{% endif %}>{% if node.menu %}{{ node.menu }}{% else %}{{ node.title }}{% endif %}</a>
{% else %}
<span class="mdl-navigation__link parent{% if node.url == page.url or page.parent and page.parent == node.path %} is-active{% endif %}">{% if node.menu %}{{ node.menu }}{% else %}{{ node.title }}{% endif %}</span>
{% endif %}
{% if site.menu_style != 'dropdown' or node.url == page.url or page.parent and page.parent == node.path %}
{% for child in sorted_pages %}
{% if child.menu != false %}
{% if child.menu or child.title %}
{% if child.parent %}
{% if child.parent == node.path or child.parent == node.id %}
{% if child.url != false %}
<a class="mdl-navigation__link child{% if child.url == page.url %} is-active{% endif %}" href="{{ child.url | absolute_url }}"{% if child.tab %} target="_blank"{% endif %}>{% if child.menu %}{{ child.menu }}{% else %}{{ child.title }}{% endif %}{% if child.tab %}
<i class="material-icons">open_in_new</i>{% endif %}</a>
{% else %}
<span class="mdl-navigation__link child{% if child.url == page.url %} is-active{% endif %}">{% if child.menu %}{{ child.menu }}{% else %}{{ child.title }}{% endif %}</span>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endunless %}
{% endif %}
{% endif %}
{% endfor %}

View File

@ -0,0 +1,30 @@
{% comment %}
<!-- Based on: MaterialDocs https://github.com/chromatical/jekyll-materialdocs -->
<!-- Copyright (c) 2017 James King -->
<!-- MIT License https://opensource.org/licenses/MIT -->
{% endcomment %}
<!DOCTYPE html>
<html>
<head>
{% include head.html %}
</head>
<body>
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
{% include header.html %}
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">
<a id="site-title" href="{{ '/' | absolute_url }}">{{ site.title }}</a>
</span>
<nav class="mdl-navigation">
{% include menu.html %}
</nav>
</div>
<main class="mdl-layout__content">
<div class="mdl-grid grid-content">
{{ content }}
</div>
{% include footer.html %}
</main>
</div>
</body>
</html>

51
docs/_layouts/page.html Normal file
View File

@ -0,0 +1,51 @@
---
layout: default
---
{% assign sorted_pages = site.pages | sort: 'weight' %}
{% assign prev = nil %}
<div class="mdl-cell mdl-cell--bottom mdl-cell--1-col back">
{% for node in sorted_pages %}
{% if node.menu != false and node.weight != nil %}
{% if node.path == page.path %}
{% if prev != nil and prev.menu != false %}
<a class="mdl-button mdl-js-button mdl-button--icon" href="{{ prev.url | absolute_url }}">
<i class="material-icons">keyboard_arrow_left</i>
</a>
Back
{% break %}
{% endif %}
{% endif %}
{% assign prev = node %}
{% endif %}
{% endfor %}
</div>
<div class="mdl-cell mdl-cell--10-col">
<div class="page-content">
<div class="content">
{% if page.github-path %}
<a id="github-file" class="mdl-button mdl-js-button mdl-button--icon homepage" href="https://github.com/{{ site.github-project }}/{{ page.github-path}}" target="_blank">
<i class="material-icons">home</i>
</a>
<div class="mdl-tooltip" data-mdl-for="github-file">Project Home <i class="material-icons">open_in_new</i></div>
{% endif %}
{{ content }}
</div>
</div>
</div>
{% assign req_next = false %}
<div class="mdl-cell mdl-cell--bottom mdl-cell--1-col forward">
{% for node in sorted_pages %}
{% if node.menu != false and node.weight != nil %}
{% if req_next %}
Forward
<a class="mdl-button mdl-js-button mdl-button--icon" href="{{ node.url | absolute_url }}">
<i class="material-icons">keyboard_arrow_right</i>
</a>
{% break %}
{% endif %}
{% if node.path == page.path %}
{% assign req_next = true%}
{% endif %}
{% endif %}
{% endfor %}
</div>

View File

@ -0,0 +1,30 @@
---
layout: default
---
<div class="mdl-cell mdl-cell--top mdl-cell--8-col mdl-cell--2-offset">
<div class="welcome-card-wide mdl-card mdl-shadow--16dp">
<div class="mdl-card__title">
<h2 class="mdl-card__title-text">MPS Code Rules</h2>
</div>
<div class="mdl-card__supporting-text">
{{ content }}
</div>
<div class="mdl-card__actions mdl-card--border">
{% assign sorted_pages = site.pages | sort: 'weight' %}
{% for p in sorted_pages %}
{% if p.menu != false and p.weight != nil %}
<a class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect" href="{{ p.url | absolute_url }}">
Get Started
</a>
{% break %}
{% endif %}
{% endfor %}
<a style="position: relative; float: right;" class="mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect" href="https://github.com/{{ site.github-project }}/releases">
Download Plugin
</a>
</div>
<div class="mdl-card__menu">
<button id="unsplash-button" class="mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect unsplash-icon" href="https://unsplash.com/@worthyofelegance?utm_medium=referral&amp;utm_campaign=photographer-credit&amp;utm_content=creditBadge" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from Alex"> </button>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB