mirror of
https://github.com/avitex/avitex.github.io
synced 2025-01-15 20:39:57 +00:00
Initial commit
This commit is contained in:
commit
8b6cc5933a
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_size = 2
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.idea/
|
||||||
|
public
|
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 James Dyson
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
38
config.toml
Normal file
38
config.toml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
base_url = "https://1bit.pw"
|
||||||
|
compile_sass = true
|
||||||
|
title = "1-bit Password"
|
||||||
|
description = ""
|
||||||
|
|
||||||
|
taxonomies = [
|
||||||
|
{name = "blog/tags", rss = true},
|
||||||
|
{name = "blog/categories", rss = true}
|
||||||
|
]
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
author = "avitex"
|
||||||
|
|
||||||
|
[[extra.main_menu]]
|
||||||
|
name = "home"
|
||||||
|
url = "/"
|
||||||
|
|
||||||
|
[[extra.main_menu]]
|
||||||
|
name = "blog"
|
||||||
|
url = "/blog"
|
||||||
|
sub = [
|
||||||
|
{name = "lastest", url = "/blog"},
|
||||||
|
{name = "categories", url = "/blog/categories"},
|
||||||
|
{name = "tags", url = "/blog/tags"}
|
||||||
|
]
|
||||||
|
|
||||||
|
[[extra.main_menu]]
|
||||||
|
name = "projects"
|
||||||
|
url = "/projects"
|
||||||
|
|
||||||
|
[[extra.main_menu]]
|
||||||
|
name = "about"
|
||||||
|
url = "/about"
|
||||||
|
sub = [
|
||||||
|
{name = "overview", url = "/about"},
|
||||||
|
{name = "bio", url = "/about/bio"},
|
||||||
|
{name = "social", url = "/about/social"}
|
||||||
|
]
|
4
content/_index.md
Normal file
4
content/_index.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
||||||
|
My [projects](/projects), [thoughts](/blog), and [me](/about)
|
14
content/about/_index.md
Normal file
14
content/about/_index.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
+++
|
||||||
|
template = "about.html"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Hi! I'm James. I live in Australia, and the virtual realm is my dojo.
|
||||||
|
|
||||||
|
## PGP
|
||||||
|
|
||||||
|
You can find my pgp public key [here](/id/pk.txt).
|
||||||
|
|
||||||
|
## Contacting me
|
||||||
|
|
||||||
|
If you wish to contact me, email is easiest via `theavitex (at) gmail (dot) com`.
|
||||||
|
See my [social links](./about/social.md) for other methods to get in touch.
|
4
content/about/bio.md
Normal file
4
content/about/bio.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
||||||
|
Nothing here... yet
|
31
content/about/social.md
Normal file
31
content/about/social.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
+++
|
||||||
|
+++
|
||||||
|
|
||||||
|
## Code
|
||||||
|
- [Github](https://github.com/avitex)
|
||||||
|
- [WhitefoxLabs](https://git.wfx.es/avitex)
|
||||||
|
- [Gitlab](https://gitlab.com/avitex) (_dormant_)
|
||||||
|
- [Bitbucket](https://bitbucket.com/avitex) (_dormant_)
|
||||||
|
|
||||||
|
|
||||||
|
## Community
|
||||||
|
|
||||||
|
- [Keybase](https://keybase.io/avitex)
|
||||||
|
- [Lobsters](https://lobste.rs/u/avitex)
|
||||||
|
- [Twitter](https://twitter.com/theavitex) (_dormant_)
|
||||||
|
- [Hackernews](https://news.ycombinator.com/user?id=avitex) (_dormant_)
|
||||||
|
- [StackOverflow](https://stackoverflow.com/users/605191/avitex) (_dormant_)
|
||||||
|
- [Vue Forum](https://forum.vuejs.org/u/avitex) (_dormant_)
|
||||||
|
- [Elixir Forums](https://elixirforum.com/u/avitex) (_dormant_)
|
||||||
|
|
||||||
|
|
||||||
|
## Gaming
|
||||||
|
|
||||||
|
- [Steam](https://steamcommunity.com/id/avitex)
|
||||||
|
- [Faceit](https://www.faceit.com/en/players/avitex)
|
||||||
|
- [ESEA](https://play.esea.net/users/680258) (dormant)
|
||||||
|
- [Cybergamer](https://www.cybergamer.com/profile/246296/avitex/) (dormant)
|
||||||
|
|
||||||
|
## Other
|
||||||
|
|
||||||
|
- Discord - `avitex#0438`
|
4
content/blog/_index.md
Normal file
4
content/blog/_index.md
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
+++
|
||||||
|
paginate_by = 10
|
||||||
|
template = "blog.html"
|
||||||
|
+++
|
14
content/blog/hello-world.md
Normal file
14
content/blog/hello-world.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
+++
|
||||||
|
title = "Hello World"
|
||||||
|
date = 2018-08-22
|
||||||
|
|
||||||
|
template = "blog/post.html"
|
||||||
|
|
||||||
|
[taxonomies]
|
||||||
|
"blog/tags" = ["new"]
|
||||||
|
"blog/categories" = ["meta"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Thought it would be a good idea to have somewhere to put my ramblings, and so I am here.
|
||||||
|
Whether or not I use this, time will tell.
|
||||||
|
<!-- more -->
|
5
content/projects/_index.md
Normal file
5
content/projects/_index.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
+++
|
||||||
|
template = "projects.html"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Nothing here... yet
|
31
sass/_dark.scss
Normal file
31
sass/_dark.scss
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
.monk.dark {
|
||||||
|
color: #acc;
|
||||||
|
background-color: #20262e;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #94b4cb;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: #161a20;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu a {
|
||||||
|
color: #42a542;
|
||||||
|
text-decoration-color: #205720;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration-color: #428a42;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #5ce95c;
|
||||||
|
text-decoration-color: #52a852;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-bottom-color: #283339;
|
||||||
|
}
|
||||||
|
}
|
31
sass/_light.scss
Normal file
31
sass/_light.scss
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
.monk.light {
|
||||||
|
color: #444;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #556;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu a {
|
||||||
|
color: #222;
|
||||||
|
text-decoration-color: #555;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration-color: #428a42;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #77f;
|
||||||
|
text-decoration-color: #99f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-bottom-color: #ddd;
|
||||||
|
}
|
||||||
|
}
|
9
sass/_reset.scss
Normal file
9
sass/_reset.scss
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
html, body {
|
||||||
|
margin: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
76
sass/_theme.scss
Normal file
76
sass/_theme.scss
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
.monk {
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
font-size: 0;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu li {
|
||||||
|
display: inline;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu a {
|
||||||
|
text-decoration: underline dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-menu span {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub-menu {
|
||||||
|
margin-top: 2px;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub-menu span {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
overflow: auto;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.muted {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0;
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
}
|
5
sass/site.scss
Normal file
5
sass/site.scss
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
@import "reset";
|
||||||
|
@import "theme";
|
||||||
|
@import "dark";
|
||||||
|
@import "light";
|
||||||
|
|
BIN
static/favicon.png
Normal file
BIN
static/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 760 B |
107
static/id/pk.txt
Normal file
107
static/id/pk.txt
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
3VM=
|
||||||
|
=wEz/
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
0
static/js/theme.js
Normal file
0
static/js/theme.js
Normal file
1
templates/about.html
Normal file
1
templates/about.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
{% extends "index.html" %}
|
19
templates/blog.html
Normal file
19
templates/blog.html
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
{% block content %}
|
||||||
|
<main class="main">
|
||||||
|
{% for page in paginator.pages %}
|
||||||
|
{{ post_macros::page_in_list(page=page) }}
|
||||||
|
{% endfor %}
|
||||||
|
<nav>
|
||||||
|
<p>
|
||||||
|
{% if paginator.previous %}
|
||||||
|
<a href="{{ paginator.previous }}">« Previous</a> |
|
||||||
|
{% endif %}
|
||||||
|
<span>Page {{ paginator.current_index }} of {{ paginator.pagers | length }}</span>
|
||||||
|
{% if paginator.next %}
|
||||||
|
| <a href="{{ paginator.next }}">Next »</a>
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
</nav>
|
||||||
|
</main>
|
||||||
|
{% endblock content %}
|
12
templates/blog/categories/list.html
Normal file
12
templates/blog/categories/list.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Categories</h1>
|
||||||
|
{% if terms %}
|
||||||
|
<ul>
|
||||||
|
{% for term in terms %}
|
||||||
|
<li><a href="{{ term.permalink }}">{{ term.name }}</a> ({{ term.pages | length }})</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock content %}
|
8
templates/blog/categories/single.html
Normal file
8
templates/blog/categories/single.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Category: <code>{{ term.name }}</code> <small>(<a href="{{ get_taxonomy_url(kind="blog/categories", name=term.name) }}rss.xml">RSS</a>)</small></h1>
|
||||||
|
{% for page in term.pages %}
|
||||||
|
{{ post_macros::page_in_list(page=page) }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock content %}
|
44
templates/blog/post.html
Normal file
44
templates/blog/post.html
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<article itemscope itemtype="http://schema.org/BlogPosting">
|
||||||
|
<header>
|
||||||
|
<h1 itemprop="headline">{{ page.title }}</h1>
|
||||||
|
<span class="muted">{{ post_macros::meta(page=page) }}</span>
|
||||||
|
</header>
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
{{ page.content | safe }}
|
||||||
|
</div>
|
||||||
|
{% block page_footer %}
|
||||||
|
<footer>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
{% if config.extra.author %}
|
||||||
|
Published by {{ config.extra.author }}
|
||||||
|
{% endif %}
|
||||||
|
{% if page.taxonomies | get(key="blog/categories") %}
|
||||||
|
{% set categories = page.taxonomies | get(key="blog/categories") %}
|
||||||
|
in <a href="{{ get_taxonomy_url(kind="blog/categories", name=categories[0]) }}">{{ categories[0] }}</a>
|
||||||
|
{% endif %}
|
||||||
|
{% set tags = page.taxonomies | get(key="blog/tags") %}
|
||||||
|
{% if tags %}
|
||||||
|
and tagged
|
||||||
|
{% for tag in tags %}
|
||||||
|
<a href="{{ get_taxonomy_url(kind="blog/tags", name=tag) }}">{{ tag }}</a>
|
||||||
|
{% if tags | length > 1 %}
|
||||||
|
{% if loop.index != tags | length %}
|
||||||
|
{% if loop.index == tags | length - 1 %}
|
||||||
|
and
|
||||||
|
{% else %}
|
||||||
|
,
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</p>
|
||||||
|
</footer>
|
||||||
|
{% endblock page_footer %}
|
||||||
|
</article>
|
||||||
|
{% endblock content %}
|
||||||
|
|
12
templates/blog/tags/list.html
Normal file
12
templates/blog/tags/list.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Tags</h1>
|
||||||
|
{% if terms %}
|
||||||
|
<ul>
|
||||||
|
{% for term in terms %}
|
||||||
|
<li><a href="{{ term.permalink }}">{{ term.name }}</a> ({{ term.pages | length }})</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock content %}
|
8
templates/blog/tags/single.html
Normal file
8
templates/blog/tags/single.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h1>Tag: <code>{{ term.name }}</code> <small>(<a href="{{ get_taxonomy_url(kind="blog/tags", name=term.name) }}rss.xml">RSS</a>)</small></h1>
|
||||||
|
{% for page in term.pages %}
|
||||||
|
{{ post_macros::page_in_list(page=page) }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock content %}
|
69
templates/index.html
Normal file
69
templates/index.html
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{% import "macros.html" as macros %}
|
||||||
|
{% import "post_macros.html" as post_macros %}
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||||||
|
<link rel="icon" type="image/png" href="{{ get_url(path="/favicon.png", trailing_slash=false) }}">
|
||||||
|
|
||||||
|
<title>{% block title %}{{ config.title }}{% endblock title %}</title>
|
||||||
|
|
||||||
|
{% if config.generate_rss %}
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path="rss.xml") }}">
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% block css %}
|
||||||
|
<link rel="stylesheet" href="{{ get_url(path="/site.css", trailing_slash=false) }}">
|
||||||
|
{% endblock css %}
|
||||||
|
|
||||||
|
{% block extra_head %}
|
||||||
|
{% endblock extra_head %}
|
||||||
|
</head>
|
||||||
|
<body class="monk dark">
|
||||||
|
<div class="container">
|
||||||
|
{% block header %}
|
||||||
|
{% if config.extra.main_menu %}
|
||||||
|
<header class="header">
|
||||||
|
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
|
||||||
|
<ul class="menu main-menu">
|
||||||
|
{% for item in config.extra.main_menu %}
|
||||||
|
<li>
|
||||||
|
<a itemprop="url"
|
||||||
|
class="{% if macros::is_active_nav(url=macros::link(url=item.url), curr_url=current_url) == "true" %}active{% endif %}"
|
||||||
|
href="{{ macros::link(url=item.url) }}">
|
||||||
|
<span itemprop="name">{{ item.name }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
<ul class="menu sub-menu">
|
||||||
|
{% for item in config.extra.main_menu %}
|
||||||
|
{% if item.sub and current_url is starting_with(macros::link(url=item.url)) %}
|
||||||
|
{% for sub_item in item.sub %}
|
||||||
|
<li>
|
||||||
|
<a itemprop="url"
|
||||||
|
class="{% if macros::link(url=sub_item.url) == current_url %}active{% endif %}"
|
||||||
|
href="{{ macros::link(url=sub_item.url) }}">
|
||||||
|
<span itemprop="name">{{ sub_item.name }}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
{% endif %}
|
||||||
|
{% endblock header %}
|
||||||
|
<hr />
|
||||||
|
{% block content %}
|
||||||
|
<main class="main">
|
||||||
|
{{ section.content | safe }}
|
||||||
|
</main>
|
||||||
|
{% endblock content %}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
15
templates/macros.html
Normal file
15
templates/macros.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{% macro link(url) %}
|
||||||
|
{%- if url is starting_with("/") or url is starting_with("./") -%}
|
||||||
|
{{ get_url(path=url) }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ url }}
|
||||||
|
{%- endif -%}
|
||||||
|
{% endmacro link %}
|
||||||
|
|
||||||
|
{% macro is_active_nav(url, curr_url) %}
|
||||||
|
{%- if url == get_url(path="/") -%}
|
||||||
|
{{ url == curr_url }}
|
||||||
|
{%- else -%}
|
||||||
|
{{ curr_url is starting_with(url) }}
|
||||||
|
{%- endif -%}
|
||||||
|
{% endmacro is_active_nav %}
|
8
templates/page.html
Normal file
8
templates/page.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{% extends "index.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<main class="main">
|
||||||
|
{{ page.content | safe }}
|
||||||
|
</main>
|
||||||
|
{% endblock content %}
|
||||||
|
|
33
templates/post_macros.html
Normal file
33
templates/post_macros.html
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{% macro meta(page) %}
|
||||||
|
<svg style="margin-bottom:-3px" class="i-clock" viewBox="0 0 32 32"
|
||||||
|
width="16" height="16" fill="none" stroke="currentcolor"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round" stroke-width="6.25%">
|
||||||
|
<circle cx="16" cy="16" r="14"/>
|
||||||
|
<path d="M16 8 L16 16 20 20"/>
|
||||||
|
</svg>
|
||||||
|
<span>{{ page.reading_time }} minute read</span>
|
||||||
|
<svg style="margin-bottom: -3px" class="i-edit" viewBox="0 0 32 32"
|
||||||
|
width="16" height="16" fill="none" stroke="currentcolor"
|
||||||
|
stroke-linecap="round" stroke-linejoin="round" stroke-width="6.25%">
|
||||||
|
<path d="M30 7 L25 2 5 22 3 29 10 27 Z M21 6 L26 11 Z M5 22 L10 27 Z"/>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
Published: {{ page.date | date(format="%F") }}
|
||||||
|
{% endmacro meta %}
|
||||||
|
|
||||||
|
{% macro page_in_list(page) %}
|
||||||
|
<article itemscope itemtype="http://schema.org/CreativeWork">
|
||||||
|
<header>
|
||||||
|
<h2 itemprop="name">
|
||||||
|
<a href="{{ page.permalink }}">{{ page.title }}</a>
|
||||||
|
</h2>
|
||||||
|
<span class="muted">{{ self::meta(page=page) }}</span>
|
||||||
|
</header>
|
||||||
|
{% if page.summary %}
|
||||||
|
<div itemprop="summary">
|
||||||
|
{{ page.summary | safe }}
|
||||||
|
<nav class="readmore"><a itemprop="url" href="{{ page.permalink }}">Read More »</a></nav>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
</article>
|
||||||
|
{% endmacro page_in_list %}
|
1
templates/projects.html
Normal file
1
templates/projects.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
{% extends "index.html" %}
|
Loading…
Reference in New Issue
Block a user