bytewax-docs 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.stylelintrc +13 -0
- data/LICENSE.txt +21 -0
- data/README.md +175 -0
- data/_assets/js/cookies.js +39 -0
- data/_assets/js/docs.js +103 -0
- data/_assets/js/lib/jquery-3.6.0.min.js +2 -0
- data/_assets/js/lib/jquery.scrollspy.js +97 -0
- data/_assets/js/lib/marked.min.js +6 -0
- data/_assets/js/lib/notebook.min.js +1 -0
- data/_assets/js/lib/prism.js +17 -0
- data/_assets/js/lib/simple-jekyll-search.min.js +6 -0
- data/_assets/js/navbar.js +90 -0
- data/_assets/js/search.js +12 -0
- data/_assets/js/tutorial.js +248 -0
- data/_assets/scss/components/article.scss +132 -0
- data/_assets/scss/components/cookie-consent.scss +35 -0
- data/_assets/scss/components/footer.scss +154 -0
- data/_assets/scss/components/navbar.scss +345 -0
- data/_assets/scss/components/newsletter.scss +222 -0
- data/_assets/scss/global/alerts.scss +112 -0
- data/_assets/scss/global/animate.scss +633 -0
- data/_assets/scss/global/buttons.scss +186 -0
- data/_assets/scss/global/fonts.scss +95 -0
- data/_assets/scss/global/layout.scss +25 -0
- data/_assets/scss/global/mixins.scss +134 -0
- data/_assets/scss/global/normalize.scss +349 -0
- data/_assets/scss/global/prism.scss +383 -0
- data/_assets/scss/global/slick.scss +133 -0
- data/_assets/scss/global/typography.scss +106 -0
- data/_assets/scss/global/variables.scss +23 -0
- data/_assets/scss/main.scss +35 -0
- data/_assets/scss/templates/default.scss +100 -0
- data/_assets/scss/templates/docs/content.scss +113 -0
- data/_assets/scss/templates/docs/layout.scss +21 -0
- data/_assets/scss/templates/docs/pagination.scss +48 -0
- data/_assets/scss/templates/docs/sidebar.scss +222 -0
- data/_assets/scss/templates/docs/toc.scss +65 -0
- data/_assets/scss/templates/tutorials/archive.scss +173 -0
- data/_assets/scss/templates/tutorials/content.scss +208 -0
- data/_assets/scss/templates/tutorials/layout.scss +22 -0
- data/_assets/scss/templates/tutorials/snippets.scss +259 -0
- data/_config.yml +84 -0
- data/_data/categories.yml +3 -0
- data/_data/cookies.yml +10 -0
- data/_data/footer.yml +14 -0
- data/_data/navbar.yml +17 -0
- data/_docs/another-article.md +19 -0
- data/_docs/sample-article.md +19 -0
- data/_includes/alert.html +4 -0
- data/_includes/cookie-consent.html +13 -0
- data/_includes/docs/pagination.html +28 -0
- data/_includes/docs/sidebar.html +42 -0
- data/_includes/docs/toc.html +4 -0
- data/_includes/footer.html +36 -0
- data/_includes/google_analytics.html +12 -0
- data/_includes/head.html +73 -0
- data/_includes/navbar.html +57 -0
- data/_includes/tutorials/content.html +30 -0
- data/_includes/tutorials/post.html +31 -0
- data/_includes/tutorials/snippets.html +36 -0
- data/_layouts/base.html +21 -0
- data/_layouts/default.html +14 -0
- data/_layouts/docs.html +32 -0
- data/_layouts/tutorial.html +17 -0
- data/_layouts/tutorials.html +26 -0
- data/_tutorials/hello-world.md +142 -0
- data/assets/css/docs.css +1 -0
- data/assets/css/main.css +8 -0
- data/assets/fonts/jetbrains-mono-v3-latin-regular.eot +0 -0
- data/assets/fonts/jetbrains-mono-v3-latin-regular.svg +318 -0
- data/assets/fonts/jetbrains-mono-v3-latin-regular.ttf +0 -0
- data/assets/fonts/jetbrains-mono-v3-latin-regular.woff +0 -0
- data/assets/fonts/jetbrains-mono-v3-latin-regular.woff2 +0 -0
- data/assets/fonts/material-icons.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-600.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-600.svg +336 -0
- data/assets/fonts/open-sans-v18-latin-600.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-600.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-600.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-600italic.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-600italic.svg +349 -0
- data/assets/fonts/open-sans-v18-latin-600italic.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-600italic.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-600italic.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-700.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-700.svg +334 -0
- data/assets/fonts/open-sans-v18-latin-700.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-700.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-700.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-700italic.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-700italic.svg +342 -0
- data/assets/fonts/open-sans-v18-latin-700italic.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-700italic.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-700italic.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-italic.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-italic.svg +349 -0
- data/assets/fonts/open-sans-v18-latin-italic.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-italic.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-italic.woff2 +0 -0
- data/assets/fonts/open-sans-v18-latin-regular.eot +0 -0
- data/assets/fonts/open-sans-v18-latin-regular.svg +336 -0
- data/assets/fonts/open-sans-v18-latin-regular.ttf +0 -0
- data/assets/fonts/open-sans-v18-latin-regular.woff +0 -0
- data/assets/fonts/open-sans-v18-latin-regular.woff2 +0 -0
- data/assets/img/cancel-grey.svg +11 -0
- data/assets/img/cancel.svg +3 -0
- data/assets/img/facebook-yellow.svg +11 -0
- data/assets/img/facebook.svg +3 -0
- data/assets/img/favicon.png +0 -0
- data/assets/img/github_black.svg +4 -0
- data/assets/img/github_white.svg +4 -0
- data/assets/img/linkedin-yellow.svg +12 -0
- data/assets/img/linkedin.svg +3 -0
- data/assets/img/logo.svg +44 -0
- data/assets/img/logo_mono.svg +40 -0
- data/assets/img/logo_white.svg +46 -0
- data/assets/img/logo_yellow.svg +44 -0
- data/assets/img/og-image.png +0 -0
- data/assets/img/twitter-yellow.svg +14 -0
- data/assets/img/twitter.svg +3 -0
- data/assets/js/color-mode.min.js +2 -0
- data/assets/js/scripts.js +625 -0
- data/assets/js/scripts.min.js +56 -0
- data/gulpfile.js +49 -0
- data/package-lock.json +7350 -0
- data/package.json +34 -0
- data/search.json +13 -0
- data/tutorials/hello-world/Dockerfile +4 -0
- data/tutorials/hello-world/client.py +3 -0
- data/tutorials/hello-world/hello-world.png +0 -0
- data/tutorials/hello-world/hello.py +10 -0
- data/tutorials/hello-world/setup.sh +5 -0
- data/tutorials/hello-world/shell_commands.sh +5 -0
- data/tutorials/hello-world/swarm.yaml +26 -0
- metadata +191 -0
data/_config.yml
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
# Global site settings
|
2
|
+
title: bytewax
|
3
|
+
url: https://docs.bytewax.io
|
4
|
+
author: bytewax
|
5
|
+
email: konrad@sienkowski.eu
|
6
|
+
language: en
|
7
|
+
|
8
|
+
# Global site description, added to HEAD section if page/post description is not specified
|
9
|
+
description: bytewax - no infra, only code
|
10
|
+
|
11
|
+
# Keywords related to your site's content (for SEO purposes)
|
12
|
+
keywords: bytewax, machine, learning, ai, ml, inference
|
13
|
+
|
14
|
+
# Configure brand settings (logo, icons, default mobile theme colour)
|
15
|
+
logo: 'assets/img/logo.svg'
|
16
|
+
logo-reverse: 'assets/img/logo_yellow.svg'
|
17
|
+
logo-monochrome: 'assets/img/logo_mono.svg'
|
18
|
+
logo-dark: 'assets/img/logo_white.svg'
|
19
|
+
favicon: '/assets/img/favicon.png'
|
20
|
+
|
21
|
+
# Suggest a colour for mobile browsers to use as the browser's theme. This is only supported by a few mobile browsers.
|
22
|
+
mobile-theme-col: '#FAB90F'
|
23
|
+
|
24
|
+
# Specify path to global og:image (for social media sharing)
|
25
|
+
og-image: '/assets/img/og-image.png'
|
26
|
+
|
27
|
+
# Fill in your Google Analytics ID to track your website using Google Analytics (_includes/google_analytics.html)
|
28
|
+
# google_analytics: "G-06HTJPTC44"
|
29
|
+
|
30
|
+
# Default excerpt word length - truncate the post excerpt to the specified number of words
|
31
|
+
excerpt-length: 20
|
32
|
+
|
33
|
+
# Add collections for custom content
|
34
|
+
collections:
|
35
|
+
docs:
|
36
|
+
output: true
|
37
|
+
tutorials:
|
38
|
+
output: true
|
39
|
+
|
40
|
+
# Default YAML values (more information on Jekyll's site)
|
41
|
+
defaults:
|
42
|
+
- scope:
|
43
|
+
path: 'assets/img'
|
44
|
+
values:
|
45
|
+
image: true-
|
46
|
+
- scope:
|
47
|
+
type: pages
|
48
|
+
path: _pages
|
49
|
+
values:
|
50
|
+
is_post: false
|
51
|
+
- scope:
|
52
|
+
type: docs
|
53
|
+
path: _docs
|
54
|
+
values:
|
55
|
+
layout: docs
|
56
|
+
permalink: /:slugified_categories/:title/
|
57
|
+
- scope:
|
58
|
+
type: tutorials
|
59
|
+
path: _tutorials
|
60
|
+
values:
|
61
|
+
layout: tutorial
|
62
|
+
permalink: /tutorials/:title/
|
63
|
+
|
64
|
+
# Include additional folders
|
65
|
+
include:
|
66
|
+
- _pages
|
67
|
+
- .htaccess
|
68
|
+
|
69
|
+
# Exclude these files from production site
|
70
|
+
exclude:
|
71
|
+
- .sass-cache/
|
72
|
+
- .jekyll-cache/
|
73
|
+
- gemfiles/
|
74
|
+
- Gemfile
|
75
|
+
- Gemfile.lock
|
76
|
+
- bytewax-docs.gemspec
|
77
|
+
- bytewax-docs-0.1.0.gem
|
78
|
+
- node_modules/
|
79
|
+
- gulpfile.js
|
80
|
+
- README.md
|
81
|
+
- vendor/bundle/
|
82
|
+
- vendor/cache/
|
83
|
+
- vendor/gems/
|
84
|
+
- vendor/ruby/
|
data/_data/cookies.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
# Cookie consent settings
|
2
|
+
display: true
|
3
|
+
# How many days takes for cookie of the popup to reset
|
4
|
+
expire: 28
|
5
|
+
content: >
|
6
|
+
This website uses cookies to provide services at the highest level. You can change cookie settings (including their blocking) in your browser settings at any time.
|
7
|
+
By continuing to use the site, you agree to their use.
|
8
|
+
link:
|
9
|
+
title: Privacy policy
|
10
|
+
url: /privacy-policy/
|
data/_data/footer.yml
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
copyright: Copyright 2021 by Bytewax, Inc. All rights reserved
|
2
|
+
|
3
|
+
widgets:
|
4
|
+
- title: Resources
|
5
|
+
nav:
|
6
|
+
- page: Documentation
|
7
|
+
url: /
|
8
|
+
- page: Tutorials
|
9
|
+
url: /tutorials/
|
10
|
+
|
11
|
+
- title: Legal
|
12
|
+
nav:
|
13
|
+
- page: Privacy policy
|
14
|
+
url: /privacy-policy/
|
data/_data/navbar.yml
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
nav:
|
2
|
+
- title: Home
|
3
|
+
url: /
|
4
|
+
button: false
|
5
|
+
|
6
|
+
- title: Resources
|
7
|
+
url: #
|
8
|
+
dropdown:
|
9
|
+
- page: Docs
|
10
|
+
url: /
|
11
|
+
- page: Tutorials
|
12
|
+
url: /tutorials/
|
13
|
+
button: false
|
14
|
+
|
15
|
+
- title: Contact Us
|
16
|
+
url: https://www.bytewax.io/contact-us/
|
17
|
+
button: true
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
title: Another article
|
3
|
+
category: Sample category
|
4
|
+
order: 0
|
5
|
+
---
|
6
|
+
|
7
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut mauris eu est ultricies congue at id ante. Nam sodales finibus bibendum. Ut sit amet nunc sem.
|
8
|
+
|
9
|
+
## Headline 2
|
10
|
+
|
11
|
+
Vivamus sagittis tincidunt eleifend. Cras in euismod erat. Duis nisi tortor, eleifend in tincidunt laoreet, lacinia sit amet metus. Nullam nunc augue, luctus eget tortor ac, venenatis bibendum augue. In hac habitasse platea dictumst. Phasellus rhoncus sagittis bibendum. Proin mattis, felis quis tempus iaculis, lorem quam efficitur justo, eget eleifend augue neque ac justo. Praesent eget lacinia leo, eu imperdiet enim. Sed blandit felis vitae maximus scelerisque.
|
12
|
+
|
13
|
+
### Headline 3
|
14
|
+
|
15
|
+
Maecenas sollicitudin hendrerit elementum. Nulla porta libero sed accumsan lobortis. Vivamus quis urna porta nisi pulvinar aliquam sed a risus. Donec interdum turpis non nisi consectetur, ut rutrum nisl dictum. Etiam viverra interdum justo vitae cursus.
|
16
|
+
|
17
|
+
## Yet another H2 tag
|
18
|
+
|
19
|
+
Morbi in ex laoreet, tempus ex at, ornare lectus. Nulla a nisi fermentum, volutpat sapien eu, fringilla nibh. Vestibulum eget tempor nulla.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
title: Sample article
|
3
|
+
category: Sample category
|
4
|
+
order: -1
|
5
|
+
---
|
6
|
+
|
7
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut mauris eu est ultricies congue at id ante. Nam sodales finibus bibendum. Ut sit amet nunc sem.
|
8
|
+
|
9
|
+
## Headline 2
|
10
|
+
|
11
|
+
Vivamus sagittis tincidunt eleifend. Cras in euismod erat. Duis nisi tortor, eleifend in tincidunt laoreet, lacinia sit amet metus. Nullam nunc augue, luctus eget tortor ac, venenatis bibendum augue. In hac habitasse platea dictumst. Phasellus rhoncus sagittis bibendum. Proin mattis, felis quis tempus iaculis, lorem quam efficitur justo, eget eleifend augue neque ac justo. Praesent eget lacinia leo, eu imperdiet enim. Sed blandit felis vitae maximus scelerisque.
|
12
|
+
|
13
|
+
### Headline 3
|
14
|
+
|
15
|
+
Maecenas sollicitudin hendrerit elementum. Nulla porta libero sed accumsan lobortis. Vivamus quis urna porta nisi pulvinar aliquam sed a risus. Donec interdum turpis non nisi consectetur, ut rutrum nisl dictum. Etiam viverra interdum justo vitae cursus.
|
16
|
+
|
17
|
+
## Yet another H2 tag
|
18
|
+
|
19
|
+
Morbi in ex laoreet, tempus ex at, ornare lectus. Nulla a nisi fermentum, volutpat sapien eu, fringilla nibh. Vestibulum eget tempor nulla.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{% if site.data.cookies.display %}
|
2
|
+
<div class="cookie-consent" data-expire="{{ site.data.cookies.expire | default: 14 }}">
|
3
|
+
<div class="cookie-consent__content">
|
4
|
+
{{ site.data.cookies.content }}
|
5
|
+
<a href="{{ site.data.cookies.link.url }}" class="cookie-consent__link">
|
6
|
+
{{ site.data.cookies.link.title }}
|
7
|
+
</a>
|
8
|
+
</div>
|
9
|
+
<button class="cookie-consent__button btn btn--md btn--primary">
|
10
|
+
I agree
|
11
|
+
</button>
|
12
|
+
</div>
|
13
|
+
{% endif %}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{% if page.categories %}
|
2
|
+
{% assign currentCat = page.categories[0] %}
|
3
|
+
{% assign links = site.docs | sort: 'order' | where: 'category', currentCat %}
|
4
|
+
{% endif %}
|
5
|
+
|
6
|
+
{% for link in links %}
|
7
|
+
{% if link.title == page.title %}
|
8
|
+
{% unless forloop.first %}
|
9
|
+
{% assign prev = tmpprev %}
|
10
|
+
{% endunless %}
|
11
|
+
{% unless forloop.last %}
|
12
|
+
{% assign next = links[forloop.index] %}
|
13
|
+
{% endunless %}
|
14
|
+
{% endif %}
|
15
|
+
{% assign tmpprev = link %}
|
16
|
+
{% endfor %}
|
17
|
+
<nav class="docs__pagination">
|
18
|
+
{% if prev %}
|
19
|
+
<a class="docs__pagination-item docs__pagination-item--prev" href="{{ prev.url}}" title="{{ prev.title }}">
|
20
|
+
{{ prev.title }}
|
21
|
+
</a>
|
22
|
+
{% endif %}
|
23
|
+
{% if next %}
|
24
|
+
<a class="docs__pagination-item docs__pagination-item--next" href="{{ next.url}}">
|
25
|
+
{{ next.title }}
|
26
|
+
</a>
|
27
|
+
{% endif %}
|
28
|
+
</nav>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<aside class="docs__sidebar">
|
2
|
+
<!-- Search -->
|
3
|
+
<div class="docs__search">
|
4
|
+
<input id="search-input" class="docs__search-input" type="search" placeholder="Search docs…" autocomplete="off">
|
5
|
+
<ul class="docs__search-results" id="results-container"></ul>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<!-- Nav -->
|
9
|
+
{% assign docs_by_category = site.docs | group_by: 'category' %}
|
10
|
+
<ul class="docs__nav">
|
11
|
+
{% for cat in site.data.categories.order %}
|
12
|
+
{% assign currentCat = docs_by_category | where: 'name', cat | first %}
|
13
|
+
{% assign currPath = page.path | split: "/" %}
|
14
|
+
{% assign catSlug = currentCat.name | slugify %}
|
15
|
+
{% if page.url == '/' and forloop.first == true %}
|
16
|
+
<li class="docs__nav-item--active">
|
17
|
+
{% elsif currPath[1] == catSlug %}
|
18
|
+
<li class="docs__nav-item--active">
|
19
|
+
{% else %}
|
20
|
+
<li class="docs__nav-item">
|
21
|
+
{% endif %}
|
22
|
+
<a class="docs__nav-toggle">{{ currentCat.name}}</a>
|
23
|
+
<ul class="docs__nav-dropdown">
|
24
|
+
{% assign docs = site.docs | where: 'category', currentCat.name | sort: 'order' %}
|
25
|
+
{% assign sortedDocs = site.docs | sort: 'order' %}
|
26
|
+
{% for entry in docs %}
|
27
|
+
{% if page.url == entry.url or page.url == "/" and sortedDocs[0].title == entry.title %}
|
28
|
+
<li class="docs__nav-dropdown-item docs__nav-dropdown-item--active">
|
29
|
+
<a href="{{ entry.url }}" class="docs__nav-dropdown-link">{{ entry.title }}</a>
|
30
|
+
</li>
|
31
|
+
{% else %}
|
32
|
+
<li class="docs__nav-dropdown-item">
|
33
|
+
<a href="{{ entry.url }}" class="docs__nav-dropdown-link">{{ entry.title }}</a>
|
34
|
+
</li>
|
35
|
+
{% endif %}
|
36
|
+
{% endfor %}
|
37
|
+
</ul>
|
38
|
+
</li>
|
39
|
+
{% endfor %}
|
40
|
+
</ul>
|
41
|
+
|
42
|
+
</aside>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!-- Footer -->
|
2
|
+
<footer class="footer">
|
3
|
+
<div class="footer__container container row">
|
4
|
+
<div class="footer__copyright">
|
5
|
+
{% if site.logo %}
|
6
|
+
<img class="footer__logo" src="{{ site.logo | relative_url}}" alt="{{ site.title }}">
|
7
|
+
{% endif %}
|
8
|
+
{% if site.logo-monochrome %}
|
9
|
+
<img class="footer__logo--mono" src="{{ site.logo-monochrome | relative_url}}" alt="{{ site.title }}">
|
10
|
+
{% endif %}
|
11
|
+
{% if site.logo-dark %}
|
12
|
+
<img class="footer__logo--dark" src="{{ site.logo-dark | relative_url}}" alt="{{ site.title }}">
|
13
|
+
{% endif %}
|
14
|
+
<p>© {{ site.data.footer.copyright }}</p>
|
15
|
+
</div>
|
16
|
+
{% for item in site.data.footer.widgets %}
|
17
|
+
<div class="footer__widget footer__widget--{{ item.title | downcase }}">
|
18
|
+
<h5 class="footer__widget-title">
|
19
|
+
{{ item.title }}
|
20
|
+
</h5>
|
21
|
+
{% if item.nav[0] %}
|
22
|
+
<ul class="footer__nav">
|
23
|
+
{% for entry in item.nav %}
|
24
|
+
<li class="footer__nav-item">
|
25
|
+
<a class="footer__nav-link" href="{{ entry.url }}">{{ entry.page }}</a>
|
26
|
+
</li>
|
27
|
+
{% endfor %}
|
28
|
+
</ul>
|
29
|
+
{% endif %}
|
30
|
+
</div>
|
31
|
+
{% endfor %}
|
32
|
+
</div>
|
33
|
+
</footer>
|
34
|
+
|
35
|
+
<!-- Scripts -->
|
36
|
+
<script src="{{ 'assets/js/scripts.min.js' | relative_url}}"></script>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{% if site.google_analytics %}
|
2
|
+
<!-- Global site tag (gtag.js) - Google Analytics -->
|
3
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script>
|
4
|
+
<script>
|
5
|
+
window.dataLayer = window.dataLayer || [];
|
6
|
+
function gtag(){dataLayer.push(arguments);}
|
7
|
+
gtag('js', new Date());
|
8
|
+
|
9
|
+
gtag('config', '{{ site.google_analytics }}');
|
10
|
+
</script>
|
11
|
+
<!-- End Google Analytics -->
|
12
|
+
{% endif %}
|
data/_includes/head.html
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset="utf-8">
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
4
|
+
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ '/feed.xml' | absolute_url }}">
|
5
|
+
|
6
|
+
{% capture title %}
|
7
|
+
{% if page.title %}
|
8
|
+
{{ page.title | strip_html | xml_escape }} – {{ site.title | strip_html | xml_escape }}
|
9
|
+
{% else %}
|
10
|
+
{{ site.title | strip_html | xml_escape }}
|
11
|
+
{% endif %}
|
12
|
+
{% endcapture %}
|
13
|
+
<title>{{ title }}</title>
|
14
|
+
|
15
|
+
<meta property="og:title" content="{{ title }}">
|
16
|
+
<meta property="twitter:title" content="{{ title }}">
|
17
|
+
|
18
|
+
{% capture description %}
|
19
|
+
{% if page.description %}
|
20
|
+
{{ page.description | strip_html | xml_escape }}
|
21
|
+
{% elsif page.is_post %}
|
22
|
+
{{ page.content | strip_html | xml_escape | truncatewords: 50 }}
|
23
|
+
{% else %}
|
24
|
+
{{ site.description | strip_html | xml_escape }}
|
25
|
+
{% endif %}
|
26
|
+
{% endcapture %}
|
27
|
+
|
28
|
+
<meta name="description" content="{{ description }}">
|
29
|
+
<meta property="og:description" content="{{ description }}">
|
30
|
+
<meta property="twitter:description" content="{{ description }}">
|
31
|
+
|
32
|
+
{% if page.is_post %}
|
33
|
+
{% assign author = site.data.team[page.author] %}
|
34
|
+
<meta property="og:type" content="article">
|
35
|
+
<meta property="og:article:author" content="{{ author.name }}">
|
36
|
+
<meta property="og:article:published_time" content="{{ page.date | date_to_xmlschema }}">
|
37
|
+
<meta property="og:url" content="{{ page.url | absolute_url }}">
|
38
|
+
{% if page.featured-image %}
|
39
|
+
<meta property="og:image" content="{{ page.featured-image | absolute_url }}">
|
40
|
+
<meta name="twitter:image" content="{{ page.featured-image | absolute_url }}">
|
41
|
+
{% endif %}
|
42
|
+
<link rel="canonical" href="{{ page.url | absolute_url }}">
|
43
|
+
{% else %}
|
44
|
+
<meta property="og:type" content="website">
|
45
|
+
<meta property="og:url" content="{{ page.url | absolute_url | strip_index }}">
|
46
|
+
{% if site.og-image %}
|
47
|
+
<meta property="og:image" content="{{ site.og-image | absolute_url }}">
|
48
|
+
{% endif %}
|
49
|
+
<link rel="canonical" href="{{ page.url | absolute_url | strip_index }}">
|
50
|
+
{% endif %}
|
51
|
+
|
52
|
+
{% if site.keywords %}
|
53
|
+
<meta name="keywords" content="{{ site.keywords }}">
|
54
|
+
{% endif %}
|
55
|
+
|
56
|
+
{% if site.mobile-theme-col %}
|
57
|
+
<meta name="theme-color" content="{{ site.mobile-theme-col }}">
|
58
|
+
{% endif %}
|
59
|
+
|
60
|
+
{% if site.title %}
|
61
|
+
<meta property="og:site_name" content="{{ site.title }}">
|
62
|
+
{% endif %}
|
63
|
+
|
64
|
+
<!-- Stylesheet -->
|
65
|
+
<link rel="stylesheet" href="{{ '/assets/css/main.css' | relative_url }}">
|
66
|
+
|
67
|
+
{% if site.favicon %}
|
68
|
+
<link rel="icon" href="{{ site.favicon | relative_url }}">
|
69
|
+
{% endif %}
|
70
|
+
|
71
|
+
<!-- Google Analytics -->
|
72
|
+
{% include google_analytics.html %}
|
73
|
+
</head>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<!-- Navbar -->
|
2
|
+
<nav class="navbar">
|
3
|
+
<div class="navbar__container container">
|
4
|
+
<!-- Brand -->
|
5
|
+
<a class="navbar__brand" href="{{ '/' | relative_url}}">
|
6
|
+
{% if site.logo %}
|
7
|
+
<img class="navbar__logo" src="{{ site.logo | relative_url}}" alt="{{ site.title }}">
|
8
|
+
{% endif %}
|
9
|
+
{% if site.logo-reverse %}
|
10
|
+
<img class="navbar__logo--yellow" src="{{ site.logo-reverse | relative_url}}" alt="{{ site.title }}">
|
11
|
+
{% endif %}
|
12
|
+
{% if site.logo-dark %}
|
13
|
+
<img class="navbar__logo--dark" src="{{ site.logo-dark | relative_url}}" alt="{{ site.title }}">
|
14
|
+
{% endif %}
|
15
|
+
</a>
|
16
|
+
|
17
|
+
<!-- Toggle navigation (tablet & mobile) -->
|
18
|
+
<button class="navbar__toggler">
|
19
|
+
<span></span>
|
20
|
+
<span></span>
|
21
|
+
<span></span>
|
22
|
+
</button>
|
23
|
+
|
24
|
+
<!-- Navigation -->
|
25
|
+
<ul class="navbar__nav">
|
26
|
+
{% for item in site.data.navbar.nav %}
|
27
|
+
{% if item.button %}
|
28
|
+
<li class="navbar__nav-item navbar__nav-item--btn">
|
29
|
+
<a class="navbar__nav-btn" href="{{ item.url }}">{{ item.title }}</a>
|
30
|
+
</li>
|
31
|
+
{% else %}
|
32
|
+
{% if page.url == item.url %}
|
33
|
+
<li class="navbar__nav-item navbar__nav-item--active">
|
34
|
+
{% else %}
|
35
|
+
<li class="navbar__nav-item">
|
36
|
+
{% endif %}
|
37
|
+
{% if item.dropdown[0] %}
|
38
|
+
<a class="navbar__nav-link navbar__nav-link--dropdown" href="#">{{ item.title }}</a>
|
39
|
+
{% else %}
|
40
|
+
<a class="navbar__nav-link" href="{{ item.url }}">{{ item.title }}</a>
|
41
|
+
{% endif %}
|
42
|
+
{% if item.dropdown[0] %}
|
43
|
+
<ul class="navbar__nav-dropdown">
|
44
|
+
{% for entry in item.dropdown %}
|
45
|
+
<li class="navbar__nav-dropdown-item">
|
46
|
+
<a class="navbar__nav-dropdown-link" href="{{ entry.url }}">{{ entry.page }}</a>
|
47
|
+
</li>
|
48
|
+
{% endfor %}
|
49
|
+
</ul>
|
50
|
+
{% endif %}
|
51
|
+
</li>
|
52
|
+
{% endif %}
|
53
|
+
{% endfor %}
|
54
|
+
</ul>
|
55
|
+
<button class="navbar__switch navbar__switch--light" id="switchColorMode"></button>
|
56
|
+
</div>
|
57
|
+
</nav>
|