initial commit
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/public
|
||||
/.vscode
|
||||
# Local Netlify folder
|
||||
/.netlify
|
||||
/node_modules
|
||||
/static/css
|
||||
/static/processed_images
|
10
LICENSE
Normal file
@ -0,0 +1,10 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Bryce Wray
|
||||
|
||||
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.
|
30
README.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Zola starter set
|
||||
|
||||
**Note**: Further development suspended as of 2021-09-11.
|
||||
|
||||
This is a starter set for the [Zola](https://getzola.org) [static site generator (SSG)](https://www.jamstack.org/generators), based on the appearance of my website at [brycewray.com](https://www.brycewray.com).
|
||||
|
||||
See the [online demo](https://zola-twcss.vercel.app/).
|
||||
|
||||
## How to use
|
||||
|
||||
1. Clone this to a local repo.
|
||||
2. Make appropriate changes to `config.toml` to conform to your site’s parameters.
|
||||
3. Once you have [installed Zola](https://www.getzola.org/documentation/getting-started/installation/), run `zola serve` from your terminal app. You can then [view the site on your computer](https://www.getzola.org/documentation/getting-started/cli-usage/#serve).
|
||||
4. Read the sample posts and their Markdown files to see how everything works.
|
||||
5. Edit the content to make it your own!
|
||||
6. When ready, [deploy the site](https://www.getzola.org/documentation/deployment/overview/) to your chosen host.
|
||||
|
||||
## What’s under the hood
|
||||
|
||||
For Zola users unused to dealing with JavaScript from [Node.js](https://nodejs.org) plugins and dependencies, this repo may not be your cup of tea, and that’s perfectly understandable.\* However, if you’re willing to take a trip to the Dark Side, it does offer some interesting add-on possibilities. (That said, Zola’s single-binary, nearly-everything-out-of-the-box approach has served it well and is impressive.) In `package.json`, you’ll find dependencies that make possible the use of [PostCSS](https://postcss.org) and [Tailwind CSS](https://tailwindcss.com). The latter includes the still-in-preview **[@tailwindcss/jit](https://github.com/tailwindlabs/tailwindcss-jit) library**; read more about it in [this announcement](https://blog.tailwindcss.com/just-in-time-the-next-generation-of-tailwind-css).
|
||||
|
||||
In addition, there are Zola’s [built-in image processing capabilities](https://www.getzola.org/documentation/content/image-processing/). (The **real** site’s repo uses [Cloudinary](https://cloudinary.com) rather than having the images in the repo and processing them as such.)
|
||||
|
||||
## Handling footnotes
|
||||
|
||||
Please see `/content/about/index.md` for information concerning how Zola handles footnotes, since this is different than you’ll likely find on other SSGs.
|
||||
|
||||
---
|
||||
|
||||
\* If you don’t care for dealing with Node.js dependencies, you may be interested in another Zola repo, [zola_solo](https://github.com/brycewray/zola_solo), which offers the same image processing **but** uses [SCSS](https://sass-lang.com/) [through Zola’s built-in SCSS support](https://www.getzola.org/documentation/content/sass/) instead of Tailwind CSS and PostCSS.
|
56
config.toml
Normal file
@ -0,0 +1,56 @@
|
||||
# The URL the site will be built for
|
||||
base_url = "https://zola-twcss.vercel.app"
|
||||
# Change this to your own URL! Please note this variable **must** be uncommented.
|
||||
|
||||
title = "Site name here"
|
||||
description="Site description here"
|
||||
|
||||
# When set to "true", a feed is automatically generated.
|
||||
# generate_feed = true
|
||||
|
||||
# The filename to use for the feed. Used as the template filename, too.
|
||||
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
|
||||
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
|
||||
# feed_filename = "index.xml"
|
||||
|
||||
# The number of articles to include in the feed. All items are included if
|
||||
# this limit is not set (the default).
|
||||
# feed_limit = 10
|
||||
|
||||
# Whether to automatically compile all Sass files in the sass directory
|
||||
compile_sass = false
|
||||
|
||||
# When set to "true", the generated HTML files are minified.
|
||||
# minify_html = true
|
||||
# I'm keeping off for now -- buggy -- 2021-02-05 (@keats says it'll be fixed 0.14.0)
|
||||
|
||||
# Whether to build a search index to be used later on by a JavaScript library
|
||||
build_search_index = false
|
||||
|
||||
[markdown]
|
||||
# Whether to do syntax highlighting
|
||||
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
|
||||
highlight_code = true
|
||||
highlight_theme = "visual-studio-dark"
|
||||
|
||||
# When set to "true", emoji aliases translated to their corresponding
|
||||
# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄)
|
||||
render_emoji = false
|
||||
|
||||
# Whether external links are to be opened in a new tab
|
||||
# If this is true, a `rel="noopener"` will always automatically be added for security reasons
|
||||
external_links_target_blank = true
|
||||
|
||||
# Whether to set rel="nofollow" for all external links
|
||||
external_links_no_follow = true
|
||||
|
||||
# Whether to set rel="noreferrer" for all external links
|
||||
external_links_no_referrer = true
|
||||
|
||||
# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form)
|
||||
# For example, `...` into `…`, `"quote"` into `“curly”` etc
|
||||
smart_punctuation = true
|
||||
|
||||
[extra]
|
||||
# Put all your custom variables here
|
||||
|
BIN
content/.DS_Store
vendored
Normal file
15
content/_index.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Together, we create the future"
|
||||
description: "Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be." # quotation marks to allow colons where used
|
||||
date: 2018-09-14T21:00:00-05:00
|
||||
updated: 2021-02-20T14:40:00-06:00
|
||||
draft: false
|
||||
extra:
|
||||
author: Your name here
|
||||
imgPath: processed_images/threefold_globe.png
|
||||
#subtitle:
|
||||
---
|
||||
|
||||
# Together, we create the future
|
||||
|
||||
Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. Anyone is invited to build solutions (experiences on top). OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be.
|
17
content/about/community/_index.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "A world for and by the people"
|
||||
description: "Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be." # quotation marks to allow colons where used
|
||||
date: 2018-09-14T21:00:00-05:00
|
||||
updated: 2021-02-20T14:40:00-06:00
|
||||
draft: false
|
||||
extra:
|
||||
author: Your name here
|
||||
imgPath: processed_images/threefold_p2p2.png
|
||||
#subtitle:
|
||||
---
|
||||
|
||||
## A world for and by the people
|
||||
|
||||
Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. Anyone is invited to build solutions (experiences on top). OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be.
|
||||
|
||||
[Learn how to create]("/")
|
17
content/about/creators/_index.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "A world made by creators"
|
||||
description: "Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be." # quotation marks to allow colons where used
|
||||
date: 2018-09-14T21:00:00-05:00
|
||||
updated: 2021-02-20T14:40:00-06:00
|
||||
draft: false
|
||||
extra:
|
||||
author: Your name here
|
||||
imgPath: processed_images/threefold_technology_home.jpg
|
||||
#subtitle:
|
||||
---
|
||||
|
||||
## A world made by creators
|
||||
|
||||
Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. Anyone is invited to build solutions (experiences on top). OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be.
|
||||
|
||||
[Learn how to create]("/")
|
26
content/about/index.md
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: "Your UNIQUE title here"
|
||||
description: "Your UNIQUE description here."
|
||||
date: 2018-09-14T15:00:00-05:00
|
||||
updated: 2020-04-22T19:30:00-05:00
|
||||
draft: false
|
||||
extra:
|
||||
author: Your name here
|
||||
#subtitle:
|
||||
---
|
||||
|
||||
A few words about you. Your opening text goes here.[^footnoteEx1]
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.[^footnoteEx2]
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
Closing text. That ends your "About" item!
|
||||
|
||||
[^footnoteEx1]: This is how a footnote works. Please note that Zola does **not** automatically put your footnotes at the bottom of your page, as many other static site generators do; so you must **manually** place your footnotes, in the desired order, at the bottom of your Markdown. This is because Zola uses [CommonMark](https://commonmark.org/) via the [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) parser library (see [https://zola.discourse.group/t/is-there-a-way-to-customise-the-way-zola-parses-markdown-footnotes/694](https://zola.discourse.group/t/is-there-a-way-to-customise-the-way-zola-parses-markdown-footnotes/694)).
|
||||
|
||||
[^footnoteEx2]: This is a second footnote.
|
17
content/about/sustainability/_index.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "A world that heals the environment"
|
||||
description: "Together we expand and create this OurWorld platform, with the purpose to give a better digital life to billions of people. OurWorld can provide the alternative to the current too centralized, unsustainable and abused internet. Let's go back to what the internet was supposed to be." # quotation marks to allow colons where used
|
||||
date: 2018-09-14T21:00:00-05:00
|
||||
updated: 2021-02-20T14:40:00-06:00
|
||||
draft: false
|
||||
extra:
|
||||
author: Your name here
|
||||
imgPath: processed_images/threefold_sustainability.png
|
||||
#subtitle:
|
||||
---
|
||||
|
||||
## A world that heals the environment
|
||||
|
||||
Health and safety are human rights. Everyone deserves equal access to affordable education, healthcare, financial systems, and Internet across geographical and cultural borders. The power lies in collaboration. It is our responsibility to produce high quality and sustainable products and services.
|
||||
|
||||
[Learn how to sustain]("https://")
|
3
content/blog/2018/10/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
BIN
content/blog/2018/10/post-1/Typography-scr-cap-2-2018-10-16.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
content/blog/2018/10/post-1/Typography-scr-cap-3-2018-10-16.jpg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
content/blog/2018/10/post-1/Typography-scr-cap-4-2018-10-16.jpg
Normal file
After Width: | Height: | Size: 39 KiB |
32
content/blog/2018/10/post-1/index.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "Post 1 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 1." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
updated: 2019-04-11T20:33:00-05:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 1 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
And here are some examples of how to use the `imgc` shortcode in `/templates/shortcodes`:
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-2-2018-10-16.jpg", alt="Thin and dim text that is hard to read", width=1344, height=200) }}
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-3-2018-10-16.jpg", alt="More thin and dim text that is hard to read", width=1398, height=252) }}
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-4-2018-10-16.jpg", alt="Still more thin and dim text that is hard to read", width=1398, height=164) }}
|
||||
|
||||
Closing text. That ends Post 1!
|
After Width: | Height: | Size: 468 KiB |
32
content/blog/2018/10/post-2/index.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "Post 2 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 2." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2018-10-25T07:40:00-05:00
|
||||
updated: 2020-06-13T13:10:00-05:00
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 2 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
{% yellowBox() %}
|
||||
**Note**: Maybe you have a note here about why you updated the post, for example. In that case, this `yellowBox` CSS/SCSS class is useful.
|
||||
{% end %}
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
And here's an example of how to use the `imgc` shortcode in `/templates/shortcodes`:
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-2/Early-Web-font-grfx-1-2018-10-16_1218x1296.jpg", alt="Image from Apple Web site in 1999 showing graphic elements as text", width=1218, height=1296) }}
|
||||
|
||||
Closing text. That ends Post 2!
|
3
content/blog/2018/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
3
content/blog/2019/01/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
28
content/blog/2019/01/post-3/index.md
Normal file
@ -0,0 +1,28 @@
|
||||
---
|
||||
title: "Post 3 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 3." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2019-01-19T03:25:00-06:00
|
||||
updated: 2019-10-06T14:00:00-05:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 3 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
And here is an example of how to use the `imgc` shortcode in `/templates/shortcodes`:
|
||||
|
||||
{{ (path="blog//2019/01/post-3/screen-cap-from-Pippin-Williamson-s-page-builders-review.png", alt="Screen capture showing shortcodes from a WordPress page builder", width=986, height=482) }}
|
||||
|
||||
Closing text. That ends Post 3!
|
After Width: | Height: | Size: 116 KiB |
3
content/blog/2019/03/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
55
content/blog/2019/03/post-4/index.md
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
title: "Post 4 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 4." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2019-03-02T10:00:00-06:00
|
||||
updated: 2020-01-31T08:13:00-06:00 # Comment-out this line with a # if content is unchanged
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 4 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
Maybe you want a code block to illustrate something. Here's one:
|
||||
|
||||
```js
|
||||
/* =========
|
||||
This is some simple JavaScript, just so
|
||||
you can see how Zola handles a code block.
|
||||
It doesn't **do** anything in Zola, of course.
|
||||
Helpful on a dev blog, eh?
|
||||
========= */
|
||||
|
||||
var i, j;
|
||||
for (i = 0; i < 10; i++) {
|
||||
j = i;
|
||||
console.log(j);
|
||||
}
|
||||
|
||||
/* =========
|
||||
When run, the above would output:
|
||||
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
========= */
|
||||
```
|
||||
|
||||
Closing text. That ends Post 4!
|
56
content/blog/2019/03/post-5/index.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Post 5 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 5." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2019-03-08T16:08:00-05:00 # This would be 10:08 PM (2208) UTC on March 8, 2019
|
||||
updated: 2020-01-01T02:39:00-06:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 5 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
Maybe you want a code block to illustrate something. Here's one:
|
||||
|
||||
```js
|
||||
/* =========
|
||||
This is some simple JavaScript, just so
|
||||
you can see how Zola handles a code block.
|
||||
It doesn't **do** anything in Zola, of course.
|
||||
Helpful on a dev blog, eh?
|
||||
========= */
|
||||
|
||||
var i, j;
|
||||
for (i = 0; i < 10; i++) {
|
||||
j = i;
|
||||
console.log(j);
|
||||
}
|
||||
|
||||
/* =========
|
||||
When run, the above would output:
|
||||
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
========= */
|
||||
```
|
||||
|
||||
Closing text. That ends Post 5!
|
3
content/blog/2019/06/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
56
content/blog/2019/06/post-6/index.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: "Post 6 with its UNIQUE title" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 6." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2019-06-08T15:25:00-05:00 # This would be 8:25 PM (2025) UTC on June 8, 2019
|
||||
updated: 2019-07-25T14:05:00-05:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 6 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: processed_images/threefold_blog2.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
Your opening text goes here.
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
Maybe you want a code block to illustrate something. Here's one:
|
||||
|
||||
```js
|
||||
/* =========
|
||||
This is some simple JavaScript, just so
|
||||
you can see how Zola handles a code block.
|
||||
It doesn't **do** anything in Zola, of course.
|
||||
Helpful on a dev blog, eh?
|
||||
========= */
|
||||
|
||||
var i, j;
|
||||
for (i = 0; i < 10; i++) {
|
||||
j = i;
|
||||
console.log(j);
|
||||
}
|
||||
|
||||
/* =========
|
||||
When run, the above would output:
|
||||
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
========= */
|
||||
```
|
||||
|
||||
Closing text. That ends Post 6! One more to go in this starter set.
|
3
content/blog/2019/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
3
content/blog/2020/02/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
54
content/blog/2020/02/post-7/index.md
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Bridges Connecting the ThreeFold Ecosystem to External Networks " # Quotation marks allow colons, semicolons, etc.
|
||||
description: "The UNIQUE description for Post 7." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2020-02-28T21:30:00-06:00
|
||||
updated: 2020-04-02T07:23:00-05:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 7 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: Your name goes here
|
||||
imgPath: "processed_images/threefold_blog2.png"
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
Maybe you want a code block to illustrate something. Here's one:
|
||||
|
||||
```js
|
||||
/* =========
|
||||
This is some simple JavaScript, just so
|
||||
you can see how Zola handles a code block.
|
||||
It doesn't **do** anything in Zola, of course.
|
||||
Helpful on a dev blog, eh?
|
||||
========= */
|
||||
|
||||
var i, j;
|
||||
for (i = 0; i < 10; i++) {
|
||||
j = i;
|
||||
console.log(j);
|
||||
}
|
||||
|
||||
/* =========
|
||||
When run, the above would output:
|
||||
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
========= */
|
||||
```
|
||||
|
||||
Closing text. That ends Post 7!
|
3
content/blog/2020/_index.md
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
transparent: true
|
||||
---
|
14
content/blog/_index.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: "Blog"
|
||||
paginate_by: 5
|
||||
# paginate_reversed: false
|
||||
sort_by: "date"
|
||||
insert_anchor_links: "left"
|
||||
#base_url: "posts"
|
||||
#first: "first"
|
||||
#last: "last"
|
||||
template: "blog/blog.html"
|
||||
#transparent: true
|
||||
extra:
|
||||
imgPath: processed_images/threefold_img2.png
|
||||
---
|
32
content/blog/featured/_index.md
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
title: "Bridges Connecting the ThreeFold Ecosystem to External Networks" # Quotation marks allow colons, semicolons, etc.
|
||||
description: "Since the launch of ThreeFold Grid 3.0, TFT is now available on three blockchains – Stellar, Binance Smart Chain and the Substrate-based ThreeFold Blockchain (aka TF Chain)." # Quotation marks allow colons, semicolons, etc.
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
updated: 2019-04-11T20:33:00-05:00 # Comment-out this line with a # if content is unchanged
|
||||
draft: false # Make it "true" if you don't want Zola to "publish" yet
|
||||
extra:
|
||||
subtitle: "The UNIQUE Post 1 subtitle" # Quotation marks allow colons, semicolons, etc.
|
||||
author: HANNAH CORDES
|
||||
imgPath: processed_images/threefold-blog.png
|
||||
date: 2018-10-17T14:40:00-05:00
|
||||
---
|
||||
|
||||

|
||||
|
||||
## In-article heading --- it's an H2 because your title is the H1
|
||||
|
||||
And after another paragraph or two or three, you may want to add a subheading, which would be an H3, so it would be like the following.
|
||||
|
||||
### Subheading (H3)
|
||||
|
||||
Text here.
|
||||
|
||||
And here are some examples of how to use the `imgc` shortcode in `/templates/shortcodes`:
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-2-2018-10-16.jpg", alt="Thin and dim text that is hard to read", width=1344, height=200) }}
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-3-2018-10-16.jpg", alt="More thin and dim text that is hard to read", width=1398, height=252) }}
|
||||
|
||||
{{ imgc(path="blog//2018/10/post-1/Typography-scr-cap-4-2018-10-16.jpg", alt="Still more thin and dim text that is hard to read", width=1398, height=164) }}
|
||||
|
||||
Closing text. That ends Post 1!
|
90
css/code.css
Normal file
@ -0,0 +1,90 @@
|
||||
code.language-html,
|
||||
code.language-css,
|
||||
code.language-md,
|
||||
code.language-cmd,
|
||||
code.language-bash,
|
||||
code.language-text,
|
||||
code.language-js,
|
||||
span.o,
|
||||
span.nx {
|
||||
color: black;
|
||||
line-height: 1.4;
|
||||
}
|
||||
span.c {
|
||||
color: hsl(120, 100%, 20%);
|
||||
}
|
||||
|
||||
span.p,
|
||||
span.s1,
|
||||
span.s2,
|
||||
span.nt {
|
||||
color: hsl(40, 100%, 30%);
|
||||
}
|
||||
|
||||
span.gs,
|
||||
span.gh,
|
||||
span.ge {
|
||||
color: hsl(208, 100%, 50%);
|
||||
}
|
||||
|
||||
span.gs {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.ge {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
@apply font-mono;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: hsl(0, 0%, 98%);
|
||||
border-radius: 3px;
|
||||
color: hsl(120, 100%, 20%);
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 0;
|
||||
margin: 0;
|
||||
padding: 1rem;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
font-size: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background-color: transparent;
|
||||
border-radius: 3px;
|
||||
margin: 0 0 0.5rem;
|
||||
padding: 0;
|
||||
|
||||
& pre {
|
||||
margin-bottom: 0;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
& .lineno {
|
||||
color: hsla(0, 0%, 67%, 0.72);
|
||||
display: inline-block; /* Ensures the null space also isn't selectable */
|
||||
padding: 0 0.75rem 0 0.25rem;
|
||||
/* Make sure numbers aren't selectable */
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: dark theme for future
|
||||
@media (prefers-color-scheme: dark) {
|
||||
code {
|
||||
color: #fff;
|
||||
background: hsl(200, 63%, 15%);
|
||||
}
|
||||
}
|
||||
*/
|
9
css/ffoxobliq.css
Normal file
@ -0,0 +1,9 @@
|
||||
/* === handling obliquing issues in Firefox */
|
||||
|
||||
@supports (-moz-appearance: none) {
|
||||
.italic, i, cite, em, var, address, dfn, h3, .h3, h5, .h5 {
|
||||
font-style: oblique 8deg;
|
||||
}
|
||||
}
|
||||
|
||||
/* === end, handling obliquing issues in Firefox */
|
9
css/index.css
Normal file
@ -0,0 +1,9 @@
|
||||
/*! purgecss start ignore */
|
||||
@import 'nav.css';
|
||||
@import 'code.css';
|
||||
@import 'tailwindcss/base';
|
||||
@import 'layout.css';
|
||||
@import 'tailwindcss/components';
|
||||
@import 'ffoxobliq.css';
|
||||
/*! purgecss end ignore */
|
||||
@import 'tailwindcss/utilities';
|
466
css/layout.css
Normal file
@ -0,0 +1,466 @@
|
||||
main {
|
||||
@apply pt-0;
|
||||
}
|
||||
|
||||
/*
|
||||
html, body {
|
||||
@apply dark:bg-black;
|
||||
|
||||
body {
|
||||
@apply font-serif dark:text-gray-200;
|
||||
}
|
||||
*/
|
||||
|
||||
p,
|
||||
li {
|
||||
/* for handling Markdown-created <p> and <li> */
|
||||
@apply mb-3 text-lg;
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
font-feature-settings: normal;
|
||||
}
|
||||
|
||||
.navWhite,
|
||||
.navWhite:visited {
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.navWhite:focus,
|
||||
.navWhite:active {
|
||||
@apply text-gray-400;
|
||||
}
|
||||
|
||||
.text-blue-light {
|
||||
@apply text-blue-500;
|
||||
}
|
||||
|
||||
.text-blue-dark {
|
||||
/* for dark mode
|
||||
@apply text-blue-200;
|
||||
*/
|
||||
}
|
||||
|
||||
.text-shadow-titles {
|
||||
text-shadow: 4px 4px 2px #000;
|
||||
}
|
||||
|
||||
.gradient-titles {
|
||||
@apply bg-gradient-to-b from-blue-700 to-black;
|
||||
}
|
||||
|
||||
.ctr {
|
||||
@apply text-center;
|
||||
}
|
||||
|
||||
.legal {
|
||||
@apply text-xs;
|
||||
}
|
||||
|
||||
a,
|
||||
a:focus,
|
||||
a:hover,
|
||||
a:active {
|
||||
@apply no-underline border-b border-solid border-blue-500;
|
||||
}
|
||||
|
||||
nav a,
|
||||
nav a:focus,
|
||||
nav a:hover,
|
||||
nav a:active {
|
||||
@apply border-0 text-white hover:text-gray-300;
|
||||
}
|
||||
|
||||
/*
|
||||
a {
|
||||
@apply text-blue-500 dark:text-blue-200 dark:border-blue-200;
|
||||
}
|
||||
*/
|
||||
|
||||
a:focus,
|
||||
a:hover,
|
||||
a:active {
|
||||
@apply text-blue-800 border-blue-500;
|
||||
}
|
||||
|
||||
/*
|
||||
a:hover {
|
||||
@apply dark:text-blue-300;
|
||||
}
|
||||
*/
|
||||
|
||||
sup a,
|
||||
a.previous,
|
||||
a.next,
|
||||
.footnote-return {
|
||||
@apply border-b-0;
|
||||
}
|
||||
|
||||
#nav-toggle:checked + #navMenu {
|
||||
@apply block;
|
||||
}
|
||||
|
||||
a.navborderless {
|
||||
@apply border-b-0;
|
||||
}
|
||||
/*
|
||||
.dateInfo {
|
||||
@apply text-gray-700 dark:text-gray-400;
|
||||
}
|
||||
*/
|
||||
|
||||
h1,
|
||||
.h1,
|
||||
h2,
|
||||
.h2,
|
||||
h3,
|
||||
.h3,
|
||||
h4,
|
||||
.h4,
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply font-sans leading-tight tracking-tight;
|
||||
}
|
||||
|
||||
h1,
|
||||
.h1 {
|
||||
@apply text-4xl mb-4 font-extrabold;
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2,
|
||||
h3,
|
||||
.h3,
|
||||
h4,
|
||||
.h4,
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply font-bold;
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2 {
|
||||
@apply text-4xl;
|
||||
}
|
||||
|
||||
h3,
|
||||
.h3 {
|
||||
@apply text-3xl italic;
|
||||
}
|
||||
|
||||
h4,
|
||||
.h4 {
|
||||
@apply text-2xl;
|
||||
}
|
||||
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply text-lg;
|
||||
}
|
||||
|
||||
.height-hero {
|
||||
height: 45vh;
|
||||
max-height: 45vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.height-post {
|
||||
height: 35vh;
|
||||
max-height: 35vh;
|
||||
}
|
||||
|
||||
.imgCover {
|
||||
@apply object-cover object-center h-full w-full;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
@apply relative overflow-hidden w-full bg-black;
|
||||
/* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */
|
||||
height: 80vh;
|
||||
max-height: 80vh;
|
||||
}
|
||||
|
||||
.background-hero-title-block-fit {
|
||||
@apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black;
|
||||
}
|
||||
|
||||
.background-hero-title-text {
|
||||
text-shadow: 4px 4px 2px #000;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.background-hero-title-block-fit {
|
||||
@apply px-12;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
height: 85vh;
|
||||
max-height: 85vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
.background-hero-title-block-fit {
|
||||
@apply px-16;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
height: 95vh;
|
||||
max-height: 95vh;
|
||||
}
|
||||
}
|
||||
|
||||
.text-nowrap,
|
||||
.text-nobrk {
|
||||
@apply whitespace-nowrap;
|
||||
}
|
||||
|
||||
article h1,
|
||||
article h2,
|
||||
article h3,
|
||||
article h4 {
|
||||
@apply tracking-tight mt-8 mb-6;
|
||||
}
|
||||
|
||||
article p,
|
||||
li {
|
||||
@apply text-lg mt-6 mb-6 leading-relaxed;
|
||||
}
|
||||
|
||||
article img.containedImage {
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
@apply w-full h-auto;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.height-hero {
|
||||
height: 70vh;
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.height-post {
|
||||
height: 40vh;
|
||||
max-height: 40vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
article p,
|
||||
li {
|
||||
@apply text-xl leading-relaxed;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1920px) {
|
||||
article p,
|
||||
li {
|
||||
@apply text-2xl leading-relaxed;
|
||||
}
|
||||
}
|
||||
/*
|
||||
.yellowBox {
|
||||
@apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500;
|
||||
}
|
||||
*/
|
||||
|
||||
.yellowbox p {
|
||||
@apply w-full p-2 m-0;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
@apply pl-8;
|
||||
}
|
||||
|
||||
ul {
|
||||
@apply list-disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
@apply list-decimal;
|
||||
}
|
||||
|
||||
.twitter-tweet {
|
||||
@apply mt-4 mx-auto mb-0;
|
||||
}
|
||||
|
||||
table.leagues {
|
||||
@apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse;
|
||||
}
|
||||
|
||||
table.leagues td.col {
|
||||
@apply w-1/2;
|
||||
}
|
||||
|
||||
@media (min-width: 900px) {
|
||||
table.leagues {
|
||||
@apply w-3/5;
|
||||
}
|
||||
table.noborders {
|
||||
@apply w-11/12;
|
||||
}
|
||||
}
|
||||
|
||||
table.noborders {
|
||||
@apply w-full border-0 border-collapse mt-6 mx-auto mb-4;
|
||||
}
|
||||
|
||||
table.noborders td {
|
||||
@apply text-gray-800 text-left align-middle py-1 pr-0 pl-2;
|
||||
/* text-align: left !important; */
|
||||
}
|
||||
|
||||
table.noborders td img {
|
||||
@apply inline-block align-middle m-0;
|
||||
}
|
||||
|
||||
table.noborders tr {
|
||||
@apply bg-blue-100;
|
||||
}
|
||||
|
||||
table.noborders tr:nth-child(even) {
|
||||
@apply bg-gray-200;
|
||||
}
|
||||
|
||||
table.noborders thead tr {
|
||||
@apply bg-blue-700;
|
||||
}
|
||||
|
||||
table.noborders thead td {
|
||||
@apply text-white font-bold;
|
||||
}
|
||||
|
||||
table.noborders td.td70 {
|
||||
width: 70%;
|
||||
}
|
||||
table.noborders td.td70 img {
|
||||
@apply block w-1/2 h-auto;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
table.noborders td.td30 {
|
||||
width: 30%;
|
||||
}
|
||||
/*
|
||||
blockquote {
|
||||
@apply px-6 text-gray-700 dark:text-gray-400;
|
||||
}
|
||||
*/
|
||||
|
||||
/* start, footnotes */
|
||||
|
||||
.footnote-definition,
|
||||
.footnote-reference {
|
||||
@apply font-sans;
|
||||
}
|
||||
|
||||
.footnote-reference {
|
||||
font-size: 0.65em;
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
.footnote-sim {
|
||||
font-size: 0.65em;
|
||||
color: #0000ff;
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color: #00aaff;
|
||||
}
|
||||
}
|
||||
|
||||
.footnotes {
|
||||
& ol {
|
||||
padding-inline-start: 1.5rem;
|
||||
}
|
||||
& ol li {
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: $pokey;
|
||||
}
|
||||
& li p {
|
||||
font-size: 100%;
|
||||
line-height: 1.4;
|
||||
}
|
||||
& .footnote-backref {
|
||||
font-size: 75%;
|
||||
}
|
||||
}
|
||||
|
||||
a.footnote-return {
|
||||
font-size: 50%;
|
||||
}
|
||||
|
||||
article > .footnote-definition {
|
||||
border-top: 1px solid black;
|
||||
padding-top: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
article > .footnote-definition ~ .footnote-definition {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.footnote-definition-label {
|
||||
top: -0.4em;
|
||||
font-size: 0.65em;
|
||||
}
|
||||
|
||||
.footnote-definition-label + p {
|
||||
font-size: 75%;
|
||||
margin-top: -1.75em;
|
||||
margin-left: 1em;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.footnote-definition-label::after {
|
||||
content: ".";
|
||||
}
|
||||
|
||||
/* == end, footnotes */
|
||||
|
||||
.aspect-16x9 {
|
||||
padding-bottom: 56.25%;
|
||||
}
|
||||
/*
|
||||
hr {
|
||||
@apply border-solid border-gray-900 dark:border-gray-100;
|
||||
}
|
||||
*/
|
||||
|
||||
footer {
|
||||
@apply font-sans;
|
||||
}
|
||||
|
||||
.lazypicturecaption {
|
||||
@apply text-sm p-0 mt-2 leading-snug text-center;
|
||||
}
|
||||
|
||||
.home-colOne p {
|
||||
@apply leading-8 mb-4;
|
||||
}
|
||||
|
||||
.home-colOne img {
|
||||
@apply my-4;
|
||||
}
|
||||
|
||||
.container-comments {
|
||||
margin: 0 auto;
|
||||
font-size: 85%;
|
||||
width: 85%;
|
||||
max-width: 720px !important;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 900px) {
|
||||
.container-comments {
|
||||
width: 40%;
|
||||
}
|
||||
}
|
166
css/nav.css
Normal file
@ -0,0 +1,166 @@
|
||||
/*
|
||||
CSS-only and **accessible** menu based on... https://codepen.io/jonraedeke/pen/WRwJQX ...but considerably changed since then, especially due to change to Tailwind CSS
|
||||
*/
|
||||
|
||||
.nav__item {
|
||||
margin: 0px;
|
||||
}
|
||||
/*
|
||||
@apply font-sans p-0 m-0;
|
||||
|
||||
|
||||
& a {
|
||||
@apply block py-1 px-4 mb-1 text-white no-underline transition-opacity duration-500 ease-linear;
|
||||
|
||||
&:link,
|
||||
&:visited {
|
||||
@apply text-blue;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
@apply no-underline opacity-75;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
@media (min-width: 900px) {
|
||||
.nav__item {
|
||||
@apply font-bold lowercase text-xs inline-block;
|
||||
font-variant: small-caps;
|
||||
letter-spacing: 0.15rem;
|
||||
& a {
|
||||
@apply inline-block pt-1 pb-0 no-underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav__icon {
|
||||
@apply block absolute cursor-pointer;
|
||||
top: 15px;
|
||||
right: 13px;
|
||||
height: 27px;
|
||||
width: 27px;
|
||||
text-indent: -9999px;
|
||||
/* hide the label */
|
||||
transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
|
||||
/* Remove blinking cursor */
|
||||
@apply border-none text-transparent text-center;
|
||||
text-shadow: 0 0 0 gray;
|
||||
&:focus {
|
||||
@apply outline-none;
|
||||
}
|
||||
}
|
||||
@media (min-width: 900px) {
|
||||
.nav__icon {
|
||||
@apply hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.nav__icon-line {
|
||||
@apply absolute block bg-white rounded left-0 transition-all duration-500 w-6 h-1 ease-linear;
|
||||
|
||||
&:first-child {
|
||||
@apply top-0;
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
top: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Checkbox hack for toggling mobile menu */
|
||||
input[type="checkbox"] {
|
||||
@apply hidden invisible;
|
||||
&:checked {
|
||||
& ~ nav .nav__items {
|
||||
height: auto;
|
||||
/*@apply bg-black dark:bg-blue-700 transition-all duration-500 ease-linear;*/
|
||||
max-height: 30rem;
|
||||
}
|
||||
& ~ label .nav__icon-line:first-child {
|
||||
@apply top-0 -rotate-45 translate-y-2 w-6;
|
||||
}
|
||||
& ~ label .nav__icon-line:nth-child(2) {
|
||||
@apply opacity-0;
|
||||
}
|
||||
& ~ label .nav__icon-line:nth-child(3) {
|
||||
@apply rotate-45 -translate-y-2 w-6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav {
|
||||
@apply absolute text-left left-0 w-full transition duration-500 ease-linear scale-x-100 scale-y-0 origin-top;
|
||||
top: 100%;
|
||||
& ul {
|
||||
@apply pl-0 m-0 text-right list-none transition duration-500 ease-linear;
|
||||
}
|
||||
& li {
|
||||
@apply mb-2 inline;
|
||||
margin-right: 5%;
|
||||
@media screen and (max-width: 899px) {
|
||||
display: inherit;
|
||||
}
|
||||
}
|
||||
& a {
|
||||
@apply text-white text-lg opacity-0;
|
||||
text-decoration: none !important;
|
||||
border: 0 !important;
|
||||
} /*
|
||||
& a:hover, & a:active {
|
||||
@apply border-b-0 text-gray-500;
|
||||
}*/
|
||||
}
|
||||
|
||||
.nav-toggle:checked ~ nav {
|
||||
transform: scale(1, 1);
|
||||
& a {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* === Beginning of primary settings for larger screens === */
|
||||
@media screen and (min-width: 900px) {
|
||||
.nav-toggle-label {
|
||||
@apply hidden;
|
||||
}
|
||||
|
||||
header {
|
||||
@apply fixed grid grid-cols-5;
|
||||
}
|
||||
|
||||
.site-logo {
|
||||
@apply z-50 text-left col-start-1 col-end-3 text-lg;
|
||||
padding-left: 8%;
|
||||
}
|
||||
|
||||
nav {
|
||||
@apply mt-0 col-start-4 col-end-6;
|
||||
top: 15%;
|
||||
transform: none;
|
||||
& a {
|
||||
@apply opacity-100 relative;
|
||||
}
|
||||
& ul {
|
||||
padding-right: 10%;
|
||||
@apply text-right;
|
||||
}
|
||||
& li {
|
||||
@apply inline-block p-0 mb-0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.site-logo-holder {
|
||||
@apply mt-1 pt-1 w-full;
|
||||
& a {
|
||||
@apply no-underline border-b-0;
|
||||
}
|
||||
}
|
||||
/* === End of primary settings for larger screens === */
|
20
initcss.js
Normal file
@ -0,0 +1,20 @@
|
||||
// Makes a simple ./static/css/index.css file right after "clean" so there *is* one
|
||||
// ... thus keeping Zola from erroring out when you do `npm run start` (dev mode)
|
||||
|
||||
const fs = require("fs")
|
||||
const initDir = 'static/css'
|
||||
const initCSSFile = 'static/css/index.css'
|
||||
const initValue = `
|
||||
body {
|
||||
color: green;
|
||||
background-color: yellow;
|
||||
font-family: monospace;
|
||||
}
|
||||
`
|
||||
|
||||
if(!fs.existsSync(initDir)) {
|
||||
fs.mkdirSync(initDir)
|
||||
}
|
||||
if(!fs.existsSync(initCSSFile)) {
|
||||
fs.writeFileSync(initCSSFile, initValue)
|
||||
}
|
5031
package-lock.json
generated
Normal file
34
package.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "zola_twcss",
|
||||
"description": "This is a starter set for the [Zola](https://getzola.org) [static site generator (SSG)](https://www.jamstack.org/generators), based on the appearance of my website at [brycewray.com](https://www.brycewray.com).",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"clean": "rimraf public && rimraf static/css",
|
||||
"initcss": "node initcss.js",
|
||||
"start": "TAILWIND_MODE=watch NODE_ENV=development npm-run-all clean initcss --parallel dev:*",
|
||||
"dev:postcss": "postcss css/index.css -o ./static/css/index.css --config ./postcss.config.js -w",
|
||||
"dev:serve": "zola serve",
|
||||
"build": "NODE_ENV=production npm-run-all clean prod:postcss prod:build",
|
||||
"prod:postcss": "postcss css/index.css -o ./static/css/index.css --config ./postcss.config.js",
|
||||
"prod:build": "zola build"
|
||||
},
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"browserslist": [
|
||||
"last 4 versions",
|
||||
"> 1%",
|
||||
"maintained node versions"
|
||||
],
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.2.6",
|
||||
"glob": "^7.1.7",
|
||||
"glob-all": "^3.2.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"postcss-cli": "^8.3.1",
|
||||
"postcss-csso": "^5.0.1",
|
||||
"postcss-import": "^14.0.2",
|
||||
"postcss-nesting": "^8.0.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"tailwindcss": "^2.2.19"
|
||||
}
|
||||
}
|
9
postcss.config.js
Normal file
@ -0,0 +1,9 @@
|
||||
module.exports = {
|
||||
plugins: [
|
||||
require('postcss-import'),
|
||||
require('tailwindcss'),
|
||||
require('autoprefixer'),
|
||||
require('postcss-nesting'),
|
||||
require('postcss-csso'),
|
||||
],
|
||||
}
|
33
tailwind.config.js
Normal file
@ -0,0 +1,33 @@
|
||||
const colors = require('tailwindcss/colors')
|
||||
|
||||
module.exports = {
|
||||
mode: 'jit',
|
||||
purge: {
|
||||
content: [
|
||||
'./templates/**/*.html'
|
||||
],
|
||||
},
|
||||
darkMode: false,
|
||||
theme: {
|
||||
colors: {
|
||||
transparent: 'transparent',
|
||||
white: '#ffffff',
|
||||
black: '#000000',
|
||||
gray: colors.gray,
|
||||
yellow: colors.yellow,
|
||||
blue: {
|
||||
'100': '#bbeeff',
|
||||
'200': '#00aaff',
|
||||
'300': '#0088ff',
|
||||
'400': '#0033ff',
|
||||
'500': '#0000ff',
|
||||
'600': '#0000bb',
|
||||
'700': '#0000aa',
|
||||
'800': '#000088',
|
||||
'900': '#000066',
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {},
|
||||
plugins: [], // if we add forms, do it here
|
||||
}
|
11
templates/_default/base.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" charset="utf-8">
|
||||
{% include "partials/head.html" %}
|
||||
<body>
|
||||
{% include "partials/header.html" %}
|
||||
<div id="content">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
{% include "partials/footer.html" %}
|
||||
</body>
|
||||
</html>
|
14
templates/blog/blog.html
Normal file
@ -0,0 +1,14 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main class="pt-16">
|
||||
{%- set section = get_section(path="blog/featured/_index.md") %}
|
||||
{% include "partials/featuredBlog.html" %}
|
||||
|
||||
<div class="flex">
|
||||
{% include "partials/blogPosts.html" %}
|
||||
{% include "partials/blogSidebar.html" %}
|
||||
|
||||
</div>
|
||||
</main> {% endblock content %}
|
61
templates/blog/list.html
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="font-sans text-center px-10 w-full md:w-2/3 lg:w-1/2 mx-auto">
|
||||
<h1 class="tracking-tight pt-12 lg:pt-24 2xl:pt-32 text-5xl">{{ section.title }}</h1>
|
||||
<div class="post-line"></div>
|
||||
<div>
|
||||
<p class="text-center text-sm mt-2 mb-2">
|
||||
{% if paginator.previous %}
|
||||
<a class="border-transparent" aria-label="First page" href="{{ paginator.first }}">{% include "partials/svgPrevPageIcon.html" %}{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Previous page" href="{{ paginator.previous }}">{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
|
||||
{% else %}
|
||||
{% include "partials/svgFirstPageIcon.html" %}{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% if paginator.next %}
|
||||
<a class="border-transparent" aria-label="Next page" href="{{ paginator.next }}">{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Last page" href="{{ paginator.last }}">{% include "partials/svgNextPageIcon.html" %}{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
{% else %}
|
||||
{% include "partials/svgLastPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgLastPageIcon.html" %}{% include "partials/svgLastPageIcon.html" %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<hr class="mt-2 mb-6" />
|
||||
{%- for post in paginator.pages %}
|
||||
{% include "partials/postCard.html" %}
|
||||
{%- endfor %}
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a class="border-transparent" aria-label="First page" href="{{ paginator.first }}">{% include "partials/svgPrevPageIcon.html" %}{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Previous page" href="{{ paginator.previous }}">{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
|
||||
{% else %}
|
||||
{% include "partials/svgFirstPageIcon.html" %}{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% if paginator.next %}
|
||||
<a class="border-transparent" aria-label="Next page" href="{{ paginator.next }}">{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Last page" href="{{ paginator.last }}">{% include "partials/svgNextPageIcon.html" %}{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
{% else %}
|
||||
{% include "partials/svgLastPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgLastPageIcon.html" %}{% include "partials/svgLastPageIcon.html" %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div> {% endblock content %}
|
30
templates/blog/page.html
Normal file
@ -0,0 +1,30 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<img src="processed_images/threefold_img2.png" alt="">
|
||||
<div class="sm:w-5/6 md:w-4/5 xl:w-1/2 mt-10 mr-auto ml-auto px-6 lg:px-16">
|
||||
<article class="article">
|
||||
<div class="border-blue-700 dark:border-white mx-auto my-auto w-4/5 border-solid border-b-4"></div>
|
||||
{{ page.content | safe }}
|
||||
</article>
|
||||
</div>
|
||||
{% if page.earlier or page.later %}
|
||||
<div class="font-sans w-full px-8 md:px-0 bg-blue-700 align-middle mt-10 mb-10">
|
||||
<h3 class="text-center text-3xl tracking-normal mb-2 pt-2"><a href="/posts" class="border-transparent text-blue-100 hover:text-white">Other posts</a></h3>
|
||||
{% if page.later %}
|
||||
<p class="text-center mt-2 mb-0 text-xl text-white leading-tight tracking-tight">
|
||||
<strong>Next</strong>:
|
||||
<a class="border-transparent text-blue-100 hover:text-white hover:border-blue-100" href="{{ page.later.permalink }}">{{ page.later.title }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if page.earlier %}
|
||||
<p class="text-center pb-4 mt-2 text-xl text-white leading-tight tracking-tight">
|
||||
<strong>Previous</strong>:
|
||||
<a class="border-transparent text-blue-100 hover:text-white hover:border-blue-100" href="{{ page.earlier.permalink }}">{{ page.earlier.title}}</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<span class="text-xs"> </span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock content %}
|
31
templates/index.html
Normal file
@ -0,0 +1,31 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<main class="pt-16">
|
||||
|
||||
<!-- Landing page banner -->
|
||||
{% include "partials/splitRow.html" %}
|
||||
|
||||
<!-- Landing page vertical image -->
|
||||
<img src="processed_images/threefold_img2.png" alt="">
|
||||
|
||||
{%- set section = get_section(path="about/community/_index.md") %}
|
||||
<br/>
|
||||
<!-- Landing page banner -->
|
||||
{% include "partials/splitRow.html" %}
|
||||
{%- set section = get_section(path="about/sustainability/_index.md") %}
|
||||
|
||||
<br/>
|
||||
<!-- Landing page banner -->
|
||||
{% include "partials/splitRow.html" %}
|
||||
{%- set section = get_section(path="about/creators/_index.md") %}
|
||||
|
||||
<br/>
|
||||
<!-- Landing page banner -->
|
||||
{% include "partials/splitRow.html" %}
|
||||
|
||||
|
||||
|
||||
|
||||
</main>
|
||||
{% endblock content %}
|
13
templates/list.html
Normal file
@ -0,0 +1,13 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="title">
|
||||
{{ section.title }}
|
||||
</h1>
|
||||
<ul>
|
||||
{% for page in section.pages %}
|
||||
<li>{{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }} • <a href="{{ page.permalink | safe }}">{{ page.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<p>This comes from /templates/_default/list.html.</p>
|
||||
{% endblock content %}
|
20
templates/page.html
Normal file
@ -0,0 +1,20 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<div class="sm:w-5/6 md:w-4/5 mr-auto ml-auto px-6 lg:px-16 xl:w-11/12">
|
||||
<img src="/processed_images/threefold_blog.png" alt="">
|
||||
<div>
|
||||
<article class="article lg:w-7/12 mx-auto">
|
||||
<h1 class="tracking-tight pt-12 lg:pt-12 2xl:pt-32 text-5xl text-left
|
||||
text-5xl fw-500 leading-snug font-normal mb-10">
|
||||
{{ page.title }}
|
||||
</h1>
|
||||
<h4 class="text-sm not-italic font-light leading-6 text-gray-600">
|
||||
</h4>
|
||||
|
||||
{{ page.content | safe }}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
40
templates/partials/blogPosts.html
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
<div class="font-sans text-center px-0 w-full md:w-2/3 lg:w-2/3 mx-auto">
|
||||
<h1 class="tracking-tight pt-12 lg:pt-24 2xl:pt-32 text-5xl text-left
|
||||
text-5xl fw-500 leading-snug font-normal mb-10">The Latest from ThreeFold
|
||||
</h1>
|
||||
<div>
|
||||
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-3 lg:max-w-none">
|
||||
{%- for post in paginator.pages %}
|
||||
{% include "partials/postCard.html" %}
|
||||
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a class="border-transparent" aria-label="First page" href="{{ paginator.first }}">{% include "partials/svgPrevPageIcon.html" %}{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Previous page" href="{{ paginator.previous }}">{% include "partials/svgPrevPageIcon.html" %}</a>
|
||||
|
||||
|
||||
{% else %}
|
||||
{% include "partials/svgFirstPageIcon.html" %}{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgFirstPageIcon.html" %}
|
||||
|
||||
|
||||
{% endif %}
|
||||
{% if paginator.next %}
|
||||
<a class="border-transparent" aria-label="Next page" href="{{ paginator.next }}">{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
|
||||
<a class="border-transparent" aria-label="Last page" href="{{ paginator.last }}">{% include "partials/svgNextPageIcon.html" %}{% include "partials/svgNextPageIcon.html" %}</a>
|
||||
{% else %}
|
||||
{% include "partials/svgLastPageIcon.html" %}
|
||||
|
||||
{% include "partials/svgLastPageIcon.html" %}{% include "partials/svgLastPageIcon.html" %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
18
templates/partials/blogSidebar.html
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
<div clas="flex flex-col">
|
||||
<div class="lg:pt-24 flex flex-col mb-12 mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER POSTS BY</h4>
|
||||
<a class="mb-3" href="">All</a>
|
||||
<a class="mb-3" href="">Engineering</a>
|
||||
<a class="mb-3" href="">Community</a>
|
||||
<a class="mb-3" href="">Use Cases</a>
|
||||
</div>
|
||||
|
||||
<div class="lg:pt-6 flex flex-col mb-12 w-64 mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> POPULAR POSTS</h4>
|
||||
<a class="mb-3 text-blue-700" href="">NEAR Launches Nightshade Sharding, Paving the Way for Mass Adoption</a>
|
||||
<a class="mb-3" href="">Engineering</a>
|
||||
<a class="mb-3" href="">Community</a>
|
||||
<a class="mb-3" href="">Use Cases</a>
|
||||
</div>
|
||||
</div>
|
24
templates/partials/featuredBlog.html
Normal file
@ -0,0 +1,24 @@
|
||||
<body>
|
||||
|
||||
<div class="relative mt-12 lg:mt-16 lg:grid lg:grid-cols-2 lg:gap-8 lg:items-center">
|
||||
<div class="relative mx-24">
|
||||
<h3 class="text-base not-italic leading-6 text-gray-600">FEATURED POST</h3>
|
||||
<h1 class="text-5xl fw-500 leading-snug font-normal mb-10">
|
||||
{{ section.title }}
|
||||
|
||||
</h1>
|
||||
<h4 class="text-sm not-italic font-light leading-6 text-gray-600">
|
||||
{{ section.extra.date | date(format="%B %e, %Y", timezone="America/Chicago")}} -
|
||||
{{ section.extra.author }}
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mt-10 -mx-4 relative lg:mt-0 max-w-full">
|
||||
<img class="relative mx-auto max-w-full max-h-80" src={{section.extra.imgPath}} alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
171
templates/partials/footer.html
Normal file
@ -0,0 +1,171 @@
|
||||
<!--
|
||||
Tailwind UI components require Tailwind CSS v1.8 and the @tailwindcss/ui plugin.
|
||||
Read the documentation to get started: https://tailwindui.com/documentation
|
||||
--><html>
|
||||
<head /><body>
|
||||
<footer class="bg-white">
|
||||
<div class="max-w-screen-xl mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8">
|
||||
<div class="xl:grid xl:grid-cols-3 xl:gap-8">
|
||||
<div class="space-y-8 xl:col-span-1">
|
||||
<img class="h-10" src="https://tailwindui.com/img/logos/v1/workflow-mark-gray-300.svg" alt="Company name" />
|
||||
<p class="text-gray-500 text-base leading-6">
|
||||
Making the world a better place through constructing elegant hierarchies.
|
||||
</p>
|
||||
<div class="flex space-x-6">
|
||||
<a href="#" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Facebook</span>
|
||||
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Instagram</span>
|
||||
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Twitter</span>
|
||||
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">GitHub</span>
|
||||
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">Dribbble</span>
|
||||
<svg class="h-6 w-6" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-12 grid grid-cols-2 gap-8 xl:mt-0 xl:col-span-2">
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8">
|
||||
<div>
|
||||
<h4 class="text-sm leading-5 font-semibold text-gray-400 tracking-wider uppercase">
|
||||
Solutions
|
||||
</h4>
|
||||
<ul class="mt-4 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Marketing
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Analytics
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Commerce
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Insights
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mt-12 md:mt-0">
|
||||
<h4 class="text-sm leading-5 font-semibold text-gray-400 tracking-wider uppercase">
|
||||
Support
|
||||
</h4>
|
||||
<ul class="mt-4 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Pricing
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Documentation
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Guides
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
API Status
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8">
|
||||
<div>
|
||||
<h4 class="text-sm leading-5 font-semibold text-gray-400 tracking-wider uppercase">
|
||||
Company
|
||||
</h4>
|
||||
<ul class="mt-4 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
About
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Blog
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Jobs
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Press
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Partners
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="mt-12 md:mt-0">
|
||||
<h4 class="text-sm leading-5 font-semibold text-gray-400 tracking-wider uppercase">
|
||||
Legal
|
||||
</h4>
|
||||
<ul class="mt-4 space-y-4">
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Claim
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Privacy
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="text-base leading-6 text-gray-500 hover:text-gray-900">
|
||||
Terms
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-12 border-t border-gray-200 pt-8">
|
||||
<p class="text-base leading-6 text-gray-400 xl:text-center">
|
||||
© 2020 Workflow, Inc. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
41
templates/partials/head.html
Normal file
@ -0,0 +1,41 @@
|
||||
{% set cloudiBase = 'https://res.cloudinary.com/brycewray-com/image/upload/' %}
|
||||
{% set xFmPart1 = 'f_auto,q_auto:eco,w_' %}
|
||||
{% set xFmPart2 = ',x_0,z_1/' %}
|
||||
{% set fallbackImg = 'typewriter-monochrome_2242164_6260x4374.jpg' %}
|
||||
{% set zolaVer = '0.13.0' %}
|
||||
|
||||
<head>
|
||||
<meta name="generator" content="Zola v.{{ zolaVer }} - getzola.org" />
|
||||
|
||||
{% block title %}
|
||||
{% if current_path == '/' %}
|
||||
<title>{{ config.title }}</title>
|
||||
<meta property="og:title" content="{{ config.title }}" />
|
||||
{% else %}
|
||||
<title>{% if section.title %}{{ section.title }} • {% endif %}{% if page.title %}{{ page.title }} • {% endif %}{{ config.title }}</title>
|
||||
<meta property="og:title" content="{% if section.title %}{{ section.title }} • {% endif %}{% if page.title %}{{ page.title }} • {% endif %}{{ config.title }}" />
|
||||
{% endif %}
|
||||
{% endblock title %}
|
||||
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
<!-- **** BEGINNING, favicons **** -->
|
||||
|
||||
<!-- generics -->
|
||||
|
||||
<!-- iOS -->
|
||||
|
||||
<!-- Android -->
|
||||
|
||||
<!-- Windows 8, IE 10 -->
|
||||
|
||||
<!-- Windows 8.1 and up, IE 11 -->
|
||||
|
||||
<!-- **** CONCLUSION, favicons **** -->
|
||||
|
||||
<!-- CSS/SCSS -->
|
||||
<link rel="stylesheet" href="{{ get_url(path="css/index.css", trailing_slash=false, cachebust=true) | safe }}" /> <style>@-moz-document url-prefix() {.lazy:-moz-loading {visibility:hidden;}}.ieOnly {display: none;}@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {.ieOnly {display: block;}}</style>
|
||||
|
||||
</head>
|
23
templates/partials/header.html
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<header class="flex m-0 items-center justify-between fixed bg-white w-full h-16">
|
||||
<nav class="text-black font-bold mt-2 pt-1 text-lg ml-4 md:ml-8 lg:ml-10 xb:ml-16 w-full">
|
||||
<a href="/" class="font-sans text-black active:text-gray-400 hover:text-gray-400" style="border: 0 !important; text-decoration: none !important;">OurWorld</a>
|
||||
</nav>
|
||||
<input type="checkbox" id="nav-toggle" class="nav-toggle" aria-hidden="true" />
|
||||
<label for="nav-toggle" class="nav__icon" aria-hidden="true">
|
||||
Expand the menu
|
||||
<span class="nav__icon-line"></span>
|
||||
<span class="nav__icon-line"></span>
|
||||
<span class="nav__icon-line"></span>
|
||||
</label>
|
||||
<nav role="navigation" class="nav h-16">
|
||||
<ul class="nav__items">
|
||||
<li class="nav__item">
|
||||
<a href="/about" class="text-black" title="About">About</a>
|
||||
</li>
|
||||
<li class="nav__item">
|
||||
<a href="/blog" class="text-black" title="Posts">Posts</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
0
templates/partials/navbar.html
Normal file
49
templates/partials/postCard.html
Normal file
@ -0,0 +1,49 @@
|
||||
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
||||
<div class="flex-shrink-0">
|
||||
<img class="h-48 w-full object-cover" src={{post.extra.imgPath}} alt="" />
|
||||
</div>
|
||||
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
|
||||
<div class="flex-1">
|
||||
<p class="text-sm leading-5 font-medium text-indigo-600">
|
||||
<a href="#" class="hover:underline">
|
||||
Blog
|
||||
</a>
|
||||
</p>
|
||||
<a href={{ post.permalink }} class="block">
|
||||
<h3 class="mt-2 text-xl leading-7 font-semibold text-gray-900">
|
||||
{{ post.title }}
|
||||
</h3>
|
||||
{% if post.description %}
|
||||
<p class="mt-3 text-base leading-6 text-gray-500">
|
||||
{{ post.description }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
<div class="mt-6 flex items-center">
|
||||
<div class="flex-shrink-0">
|
||||
<a href="#">
|
||||
<img class="h-10 w-10 rounded-full" src="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80" alt="" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-3">
|
||||
<p class="text-sm leading-5 font-medium text-gray-900">
|
||||
<a href="#" class="hover:underline">
|
||||
{{ post.extra.author }}
|
||||
</a>
|
||||
</p>
|
||||
<div class="flex text-sm leading-5 text-gray-500">
|
||||
<time datetime="2020-03-16">
|
||||
{{ post.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
|
||||
</time>
|
||||
<span class="mx-1">
|
||||
·
|
||||
</span>
|
||||
<span>
|
||||
6 min read
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
20
templates/partials/splitRow.html
Normal file
@ -0,0 +1,20 @@
|
||||
<body>
|
||||
|
||||
<div class="relative mt-12 lg:mt-24 lg:grid lg:grid-cols-2 lg:gap-8 lg:items-center m-20">
|
||||
<div class="relative lg:w-11/12">
|
||||
<h1 class="text-5xl fw-500 font-normal mb-10">
|
||||
{{ section.title }}
|
||||
</h1>
|
||||
<p class="text-sm leading-6 text-gray-800">
|
||||
{{ section.description }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="mt-10 -mx-4 relative lg:mt-0 max-w-full">
|
||||
<img class="relative mx-auto max-w-full max-h-80 mr-0" src={{section.extra.imgPath}} alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
15
templates/partials/splitRow2.html
Normal file
@ -0,0 +1,15 @@
|
||||
<body>
|
||||
|
||||
<div class="relative mt-12 lg:mt-24 lg:grid lg:grid-cols-2 lg:gap-8 lg:items-center m-20">
|
||||
<div class="relative lg:w-11/12">
|
||||
{{ section.content | safe }}
|
||||
</div>
|
||||
|
||||
<div class="mt-10 -mx-4 relative lg:mt-0 max-w-full">
|
||||
<img class="relative mx-auto max-w-full max-h-80 mr-0" src={{section.extra.imgPath}} alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
1
templates/partials/svgFirstPageIcon.html
Normal file
@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>
|
After Width: | Height: | Size: 435 B |
1
templates/partials/svgLastPageIcon.html
Normal file
@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>
|
After Width: | Height: | Size: 438 B |
1
templates/partials/svgNextPageIcon.html
Normal file
@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(0,170,255);"/></g></svg>
|
After Width: | Height: | Size: 436 B |
1
templates/partials/svgPrevPageIcon.html
Normal file
@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(0,170,255);"/></g></svg>
|
After Width: | Height: | Size: 433 B |
3
templates/shortcodes/blueBox.html
Normal file
@ -0,0 +1,3 @@
|
||||
<div class="blueBox">
|
||||
{{ body | markdown | safe }}
|
||||
</div>
|
3
templates/shortcodes/caption.html
Normal file
@ -0,0 +1,3 @@
|
||||
<figcaption>
|
||||
{{ body | markdown | safe }}
|
||||
</figcaption>
|
13
templates/shortcodes/imgRow.html
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
<div class="relative mt-12 lg:mt-24 lg:grid lg:grid-cols-2 lg:gap-8 lg:items-center">
|
||||
<div class="relative">
|
||||
{{body}}
|
||||
</div>
|
||||
|
||||
<div class="mt-10 -mx-4 relative lg:mt-0">
|
||||
<img src={{imgUrl}} alt="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
23
templates/shortcodes/imgc.html
Normal file
@ -0,0 +1,23 @@
|
||||
{%- set respSizes = [600, 900, 1200, 1500] -%}
|
||||
{%- set initSrc = resize_image(path=path, width=600, op='fit_width') -%}
|
||||
<div class="img bg-black dark:bg-blue-800">
|
||||
<img
|
||||
class="lazy"
|
||||
aspect-ratio="{{ width }} / {{ height }}"
|
||||
sizes="(min-width: 1024px) 100vw, 50vw"
|
||||
src="{{ initSrc.url }}"
|
||||
srcset="
|
||||
{% for size in respSizes -%}
|
||||
{%- if size <= width -%}
|
||||
{%- set imgSrcset = resize_image(path=path, width=size, op='fit_width') -%}
|
||||
{{ imgSrcset.url }} {{ size }}w
|
||||
{%- if not loop.last -%}, {% endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
"
|
||||
alt="{{ alt }}"
|
||||
width="{{ width }}"
|
||||
height="{{ height }}"
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
3
templates/shortcodes/yellowBox.html
Normal file
@ -0,0 +1,3 @@
|
||||
<div class="yellowBox">
|
||||
{{ body | markdown | safe }}
|
||||
</div>
|
48
vercel.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"build": {
|
||||
"env": {
|
||||
"ZOLA_VERSION": "0.14.0"
|
||||
}
|
||||
},
|
||||
"github": {
|
||||
"silent": true
|
||||
},
|
||||
"headers": [
|
||||
{
|
||||
"source": "/css/(.*)",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Cache-Control",
|
||||
"value": "public, max-age=2678400"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"source": "/images/(.*)",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Cache-Control",
|
||||
"value": "public, max-age=2678400"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"source": "/images/icons/(.*)",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Cache-Control",
|
||||
"value": "public, max-age=2678400"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"source": "/fonts/(.*)",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Cache-Control",
|
||||
"value": "public, max-age=2678400"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|