This commit is contained in:
carpetscheme 2020-04-13 21:19:58 +02:00
parent 18b8836b7f
commit 379076c2d6
30 changed files with 389 additions and 483 deletions

42
.gitignore vendored
View file

@ -1,42 +1,2 @@
# Ignore docs files public
_gh_pages
_site
.sass-cache
Gemfile.lock
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.zip
*.vi
*~
# OS or Editor folders
.DS_Store
._*
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
.idea
# Komodo
*.komodoproject
.komodotools
# grunt-html-validation
validation-status.json
validation-report.json
# Folders to ignore
node_modules

View file

@ -1 +0,0 @@
2.6.2

View file

@ -1,8 +0,0 @@
---
layout: default
title: "404: Page not found"
permalink: 404.html
---
<h1 class="page-title">404: Page not found</h1>
<p>Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. <a href="{{ site.baseurl }}/">Head back home</a> to try finding it again.</p>

View file

@ -1,4 +0,0 @@
source "https://rubygems.org"
gem 'github-pages'
gem 'jekyll-cloudinary'
gem 'disqus-for-jekyll'

View file

@ -1,30 +0,0 @@
# Permalinks
permalink: pretty
# Setup
title: 'Light Speed'
url: https://lightspeed.netlify.com
tagline: 'Jekyll theme with a perfect Lighthouse score'
baseurl: ""
# Assets
#
# We specify the directory for Jekyll so we can use @imports.
sass:
sass_dir: _sass
style: :compressed
# Cloudinary
#cloudinary:
# cloud_name: your cloudinary username
# About/contact
author:
name: Bradley Taunt
url: https://twitter.com/bradtaunt
email: bradleytaunt@gmail.com
# Custom vars
version: 1.0.0
github:
repo: https://github.com/bradleytaunt/lightspeed

View file

@ -1,14 +0,0 @@
<footer role="contentinfo">
<hr>
<nav style="margin-bottom:1rem;" role="navigation">
<a href="/about">About</a>
<span>&middot;</span>
<a href="/atom.xml">RSS</a>
<span>&middot;</span>
<a href="https://github.com/bradleytaunt/lightspeed">Source on Github</a>
</nav>
<small>
Built with <a href="https://jekyllrb.com/">Jekyll</a> & hosted on <a href="https://netlify.com">Netlify</a>.<br>
Maintained with &hearts; for the web.
</small>
</footer>

View file

@ -1,18 +0,0 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
{% if page.title == "Home" %}
{{ site.title }} &middot; {{ site.tagline }}
{% else %}
{{ page.title }} &middot; {{ site.title }}
{% endif %}
</title>
{% if page.description %}
<meta name="description" content="{{ page.description }}">
{% endif %}
<link rel="shortcut icon" href="{{ site.baseurl }}/public/favicon.ico">
<link rel="alternate" type="application/atom+xml" title="{{ site.title }}" href="{{ site.baseurl }}/atom.xml">
<style>html,body{background:#fffaf7;color:#2d2d2d;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";}a,a:visited{color:darkred;text-decoration:none;}a:hover{text-decoration:underline;}main{margin:auto;max-width:38rem;padding:0.8rem;}pre{background:white;overflow:scroll;padding:1rem;}td{border:1px solid #2d2d2d;padding:10px;}img{height:auto;max-width:100%;}@media(max-width:38rem){.homepage-list li a{width:100%;}}</style>
</head>

View file

@ -1,7 +0,0 @@
<header role="banner">
<h3 style="margin-top:0;">
<a href="{{ site.baseurl }}/" title="Home">{{ site.title }}</a>
<br><small>{{ site.tagline }}</small>
</h3>
</header>
<hr>

View file

@ -1,15 +0,0 @@
<!DOCTYPE html>
<html lang="en">
{% include head.html %}
<body>
<main id="main" role="main">
{% include header.html %}
{{ content }}
{% include footer.html %}
</main>
</body>
</html>

View file

@ -1,8 +0,0 @@
---
layout: default
---
<article>
<h1>{{ page.title }}</h1>
{{ content }}
</article>

View file

@ -1,8 +0,0 @@
---
layout: default
---
<h1>{{ page.title }}</h1>
<p style="font-size:90%;">Posted on <time datetime="{{ page.date | date_to_xmlschema }}">{{ page.date | date: "%B %-d, %Y" }}</time></p>
{{ content }}

View file

@ -1,23 +0,0 @@
---
layout: post
title: Using the Web Icons
description: Post about using web icons
---
This template uses [Typicons][ty] web font, provided by [Fontello][fo] font bundling service. It allows you to quickly add nice icons into your pages by using css tags.
To add an icon somewhere in the template simply do:
```
<i class="icon-home"></i>
```
This will insert a home icon, just as the one seen in the sidebar. The available class names you can use are as follows:
These should work in all the browsers, all the way down to and including IE7, but not IE6.
[ty]: http://typicons.com/
[fo]: http://fontello.com/

View file

@ -1,14 +0,0 @@
---
layout: post
title: Code Snippets
description: Post about code snippets
---
Whenever you need to post a code snippet, use the liquid tags `hilight` and `endhilight` like this:
```
# some code goes here
puts "Hello World!"
```
Note that this only provides color-coding. For that you might need to use a front end colorization engine like Highlight.JS or something similar.

View file

@ -1,239 +0,0 @@
---
layout: post
title: Example of all elements
description: Post showcasing all elements
---
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
## Horizontal Rules
___
---
***
## Typographic replacements
Enable typographer option to see result.
(c) (C) (r) (R) (tm) (TM) (p) (P) +-
test.. test... test..... test?..... test!....
!!!!!! ???? ,, -- ---
"Smartypants, double quotes" and 'single quotes'
## Emphasis
**This is bold text**
__This is bold text__
*This is italic text*
_This is italic text_
~~Strikethrough~~
## Blockquotes
> Blockquotes can also be nested...
>> ...by using additional greater-than signs right next to each other...
> > > ...or with spaces between arrows.
## Lists
Unordered
+ Create a list by starting a line with `+`, `-`, or `*`
+ Sub-lists are made by indenting 2 spaces:
- Marker character change forces new list start:
* Ac tristique libero volutpat at
+ Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
+ Very easy!
Ordered
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
1. You can use sequential numbers...
1. ...or keep all the numbers as `1.`
Start numbering with offset:
57. foo
1. bar
## Code
Inline `code`
Indented code
// Some comments
line 1 of code
line 2 of code
line 3 of code
Block code "fences"
```
Sample text here...
```
Syntax highlighting
``` js
var foo = function (bar) {
return bar++;
};
console.log(foo(5));
```
## Tables
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
Right aligned columns
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
## Links
[link text](http://dev.nodeca.com)
[link with title](http://nodeca.github.io/pica/demo/ "title text!")
Autoconverted link https://github.com/nodeca/pica (enable linkify to see)
## Images
![Minion](https://octodex.github.com/images/minion.png)
![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat")
Like links, Images also have a footnote style syntax
![Alt text][id]
With a reference later in the document defining the URL location:
[id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat"
## Plugins
The killer feature of `markdown-it` is very effective support of
[syntax plugins](https://www.npmjs.org/browse/keyword/markdown-it-plugin).
### [Emojies](https://github.com/markdown-it/markdown-it-emoji)
> Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:
>
> Shortcuts (emoticons): :-) :-( 8-) ;)
see [how to change output](https://github.com/markdown-it/markdown-it-emoji#change-output) with twemoji.
### [Subscript](https://github.com/markdown-it/markdown-it-sub) / [Superscript](https://github.com/markdown-it/markdown-it-sup)
- 19^th^
- H~2~O
### [\<ins>](https://github.com/markdown-it/markdown-it-ins)
++Inserted text++
### [\<mark>](https://github.com/markdown-it/markdown-it-mark)
==Marked text==
### [Footnotes](https://github.com/markdown-it/markdown-it-footnote)
Footnote 1 link[^first].
Footnote 2 link[^second].
Inline footnote^[Text of inline footnote] definition.
Duplicated footnote reference[^second].
[^first]: Footnote **can have markup**
and multiple paragraphs.
[^second]: Footnote text.
### [Definition lists](https://github.com/markdown-it/markdown-it-deflist)
Term 1
: Definition 1
with lazy continuation.
Term 2 with *inline markup*
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
_Compact style:_
Term 1
~ Definition 1
Term 2
~ Definition 2a
~ Definition 2b
### [Abbreviations](https://github.com/markdown-it/markdown-it-abbr)
This is HTML abbreviation example.
It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on.
*[HTML]: Hyper Text Markup Language
### [Custom containers](https://github.com/markdown-it/markdown-it-container)
::: warning
*here be dragons*
:::

View file

@ -1,28 +0,0 @@
---
layout: null
---
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ site.title }}</title>
<link href="{{ site.url }}{{ site.baseurl }}/atom.xml" rel="self"/>
<link href="{{ site.url }}{{ site.baseurl }}/"/>
<updated>{{ site.time | date_to_xmlschema }}</updated>
<id>{{ site.url }}</id>
<author>
<name>{{ site.author.name }}</name>
<email>{{ site.author.email }}</email>
</author>
{% for post in site.posts %}
<entry>
<title>{{ post.title | xml_escape }}</title>
<link href="{{ site.url }}{{ site.baseurl }}{{ post.url }}"/>
<updated>{{ post.date | date_to_xmlschema }}</updated>
<id>{{ site.url }}{{ post.id }}</id>
<content type="html">{{ post.content | xml_escape }}</content>
</entry>
{% endfor %}
</feed>

20
config.toml Normal file
View file

@ -0,0 +1,20 @@
base_url = "mywebsite.com"
title = "Light Speed"
description = "Zola theme with a perfect Lighthouse score"
compile_sass = true
generate_rss = true
highlight_code = true
highlight_theme = "gruvbox-light"
[extra]
author = "Grant"
email = "Green"
footer_links = [
{url = "$BASE_URL/about", name = "About"},
{url = "$BASE_URL/rss.xml", name = "RSS"},
{url = "https://github.com/carpetscheme/lightspeed", name = "Source on Github"},
]

View file

@ -1,8 +1,7 @@
--- +++
layout: page title = "About This Theme"
title: About This Theme template = "about.html"
description: About the Lightspeed jekyll theme +++
---
Some fun facts about the theme include: Some fun facts about the theme include:

View file

@ -1,8 +1,7 @@
--- +++
layout: post title = "Hello World!"
title: Hello World! description = "Post about hello world"
description: Post about hello world +++
---
Hello World! Hello World!

View file

@ -0,0 +1,36 @@
+++
title = "Code Snippets"
description = "Post about code snippets"
+++
Code blocks.. with automatic syntax highlighting!
``` scala
def add(x: Int, y: Int): Int = x + y
println(add(1, 2)) // 3
```
See [the docs](https://www.getzola.org/documentation/content/syntax-highlighting/) for options.
### Shortcodes
Zola defines a few default shortcodes, including to embed a [Github gist](https://gist.github.com).
The arguments are:
- `url`: the url to the gist (mandatory)
- `file`: by default, the shortcode will pull every file from the URL unless a specific filename is requested
- `class`: a class to add to the `<div>` surrounding the iframe
Usage example:
```md
{{/* gist(url="https://gist.github.com/Keats/e5fb6aad409f28721c0ba14161644c57") */}}
{{/* gist(url="https://gist.github.com/Keats/e5fb6aad409f28721c0ba14161644c57", class="gist") */}}
```
Result example:
{{ gist(url="https://gist.github.com/Keats/e5fb6aad409f28721c0ba14161644c57") }}

View file

@ -0,0 +1,149 @@
+++
title = "Example of elements"
description = "Post showcasing elements"
+++
# h1 Heading
## h2 Heading
### h3 Heading
#### h4 Heading
##### h5 Heading
###### h6 Heading
## Horizontal Rules
___
---
***
## Emphasis
**This is bold text**
__This is bold text__
*This is italic text*
_This is italic text_
~~Strikethrough~~
## Blockquotes
> Blockquotes can also be nested...
>> ...by using additional greater-than signs right next to each other...
> > > ...or with spaces between arrows.
## Lists
Unordered
+ Create a list by starting a line with `+`, `-`, or `*`
+ Sub-lists are made by indenting 2 spaces:
+ Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
+ Very easy!
Ordered
1. Lorem ipsum dolor sit amet
2. Consectetur adipiscing elit
3. Integer molestie lorem at massa
1. You can use sequential numbers...
1. ...or keep all the numbers as `1.`
Start numbering with offset:
57. foo
1. bar
## Code
Inline `code`
Indented code
// Some comments
line 1 of code
line 2 of code
line 3 of code
Block code "fences"
```
Sample text here...
```
Syntax highlighting
``` js
var foo = function (bar) {
return bar++;
};
console.log(foo(5));
```
## Tables
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
Right aligned columns
| Option | Description |
| ------:| -----------:|
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
## Links
[link text](http://dev.nodeca.com)
[link with title](http://nodeca.github.io/pica/demo/ "title text!")
## Images
!["Still Life with Peaches and Grapes" by Auguste Renoir](https://images.metmuseum.org/CRDImages/ep/original/DT1876.jpg)
![Mille-fleurs tapestry with three medallions](https://images.metmuseum.org/CRDImages/es/original/DP360507.jpg "Mille-fleurs tapestry with three medallions")
Like links, Images also have a footnote style syntax
![The Unicorn is Attacked (from the Unicorn Tapestries][id]
With a reference later in the document defining the URL location:
[id]: https://images.metmuseum.org/CRDImages/cl/original/DP101128.jpg "The Unicorn is Attacked"
### [Footnotes](https://github.com/markdown-it/markdown-it-footnote)
Footnote 1 link[^first].
Footnote 2 link[^second].
Duplicated footnote reference[^second].
[^first]: Footnote **can have markup**
and multiple paragraphs.
[^second]: Footnote text.

3
content/blog/_index.md Normal file
View file

@ -0,0 +1,3 @@
+++
render = false
+++

View file

@ -1,14 +0,0 @@
---
layout: default
title: Home
description: The personal blog of designer and developer Bradley Taunt
---
<ul class="homepage-list" style="list-style:none;padding:1rem 0;">
{% for post in site.posts %}
<li style="align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:10px;">
<a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a>
<time style="font-size:90%;" datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date: "%B %-d, %Y" }}</time>
</li>
{% endfor %}
</ul>

39
sass/style.scss Normal file
View file

@ -0,0 +1,39 @@
html,
body {
background: #fffaf7;
color: #2d2d2d;
font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
}
a,
a:visited {
color: darkred;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
main {
margin: auto;
max-width: 38rem;
padding: 0.8rem;
}
pre {
background: white;
overflow: scroll;
padding: 1rem;
}
td {
border: 1px solid #2d2d2d;
padding: 10px;
}
img {
height: auto;
max-width: 100%;
}
@media (max-width: 38rem) {
.homepage-list li a {
width: 100%;
}
}

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

7
templates/404.html Executable file
View file

@ -0,0 +1,7 @@
{% extends "index.html" %}
{% block title %}404: Page not found{%endblock title %}
{% block content %}
<h1 class="page-title">404: Page not found</h1>
<p>Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. <a href="{{ config.base_url | safe }}/">Head back home</a> to try finding it again.</p>
{% endblock content %}

11
templates/about.html Executable file
View file

@ -0,0 +1,11 @@
{% extends "index.html" %}
{% block title %}{{ page.title }} &middot; {{ config.title }}{% endblock title %}
{% block description %}{{ page.description | default(value=config.description) }}{% endblock description %}
{% block content %}
<article>
<h1>{{ page.title }}</h1>
{{ page.content | safe }}
</article>
{% endblock content %}

66
templates/index.html Executable file
View file

@ -0,0 +1,66 @@
{% import "macros.html" as macros %}
<!DOCTYPE html>
<html lang="en">
{% block head %}
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{% block title %}{{ config.title }} &middot; {{ config.description }}{% endblock title %}</title>
<meta name="description" content="{% block description %}{{ config.description }}{% endblock description %}" />
<meta name="author" content="{{ config.extra.author }}">
<link rel="shortcut icon" href="{{ get_url(path="favicon.ico") | safe }}" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ get_url(path="rss.xml") | safe }}">
{% set data = load_data(path="public/style.css", format="plain") %}
<style>{{ data | safe }}</style>
</head>
{% endblock head %}
<body>
<main id="main" role="main">
{% block header %}
<header role="banner">
<h3 style="margin-top:0;">
<a href="{{ config.base_url | safe }}" title="Home">{{ config.title }}</a>
<br /><small>{{ config.description }}</small>
</h3>
</header>
<hr />
{% endblock header %}
{% block content %}
<ul class="homepage-list" style="list-style:none;padding:1rem 0;">
{% set blog = get_section(path="blog/_index.md") %}
{% for post in blog.pages | reverse %}
{{ macros::post_in_list(post=post) }}
{% endfor %}
</ul>
{% endblock content %}
{% block footer %}
<footer role="contentinfo">
<hr />
<nav style="margin-bottom:1rem;" role="navigation">
{% for item in config.extra.footer_links %}
<a href="{{ item.url | safe | replace(from="$BASE_URL", to=config.base_url) }}">{{ item.name }}</a>
{% if loop.last %}{% else %}
<span>&middot;</span>
{% endif %}
{% endfor %}
</nav>
<small>
Built with <a href="https://www.getzola.org/">Zola</a> & hosted on
<a href="https://netlify.com">Netlify</a>.<br />
Maintained with &hearts; for the web.
</small>
</footer>
{% endblock footer %}
</main>
</body>
</html>

11
templates/macros.html Normal file
View file

@ -0,0 +1,11 @@
{% macro post_in_list(post) %}
<li
style="align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:10px;"
>
<a href="{{ post.permalink | safe }}">{{ post.title }}</a>
<time style="font-size:90%;" datetime="{{ post.date | date(format="%+") }}"
>{{ post.date | date(format="%B %d, %Y") }}</time
>
</li>
{% endmacro post_in_list %}

11
templates/page.html Executable file
View file

@ -0,0 +1,11 @@
{% extends "index.html" %}
{% block title %}{{ page.title }} &middot; {{ config.title }}{% endblock title %}
{% block description %}{{ page.description | default(value=config.description) }}{% endblock description %}
{% block content %}
<h1>{{ page.title }}</h1>
<p style="font-size:90%;">Posted on <time datetime="{{ page.date | date(format="%+") }}">{{ page.date | date(format="%B %d, %Y") }}</time></p>
{{ page.content | safe }}
{% endblock content %}

26
templates/rss.xml Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title>{{ config.title }}</title>
<link>{{ config.base_url | escape_xml | safe }}</link>
<description>{{ config.description }}</description>
<generator>Zola</generator>
<language>{{ config.default_language }}</language>
<atom:link href="{{ feed_url | safe }}" rel="self" type="application/rss+xml"/>
<lastBuildDate>{{ last_build_date | date(format="%a, %d %b %Y %H:%M:%S %z") }}</lastBuildDate>
<author>
<name>{{ config.extra.author }}</name>
<email>{{ config.extra.email }}</email>
</author>
{% set blog = get_section(path="blog/_index.md") %}
{% for page in blog.pages | reverse %}
<item>
<title>{{ page.title }}</title>
<pubDate>{{ page.date | date(format="%a, %d %b %Y %H:%M:%S %z") }}</pubDate>
<link>{{ page.permalink | escape_xml | safe }}</link>
<guid>{{ page.permalink | escape_xml | safe }}</guid>
<description>{% if page.summary %}{{ page.summary }}{% else %}{{ page.content }}{% endif %}</description>
</item>
{% endfor %}
</channel>
</rss>