diff options
Diffstat (limited to 'themes/emily_zola_theme')
20 files changed, 710 insertions, 0 deletions
diff --git a/themes/emily_zola_theme/config.toml b/themes/emily_zola_theme/config.toml new file mode 100644 index 0000000..02ef942 --- /dev/null +++ b/themes/emily_zola_theme/config.toml @@ -0,0 +1,81 @@ +# The URL the site will be built for +base_url = "https://emily-zola-theme.netlify.app/" + +# Set theme +#theme = "" + +# The site title and description; used in feeds by default. +title = "blog | garhve's hub" +description = "" + +# The default language; used in feeds. +default_language = "en" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# The taxonomies to be rendered for the site and their configuration. +# Example: +# taxonomies = [ +# {name = "tags", feed = true}, # each tag will have its own feed +# {name = "tags", lang = "fr"}, # you can have taxonomies with the same name in multiple languages +# {name = "categories", paginate_by = 5}, # 5 items per page for a term +# {name = "authors"}, # Basic definition: no feed or pagination +# ] +taxonomies = [ + {name = "categories", rss = false}, + {name = "tags", rss = false}, +] + +# The additional languages for the site. +# Example: +# languages = [ +# {code = "fr", feed = true}, # there will be a feed for French content +# {code = "fr", search = true}, # there will be a Search Index for French content +# {code = "it"}, # there won't be a feed for Italian content +# ] +# +# languages = [] + +[markdown] +# When set to "true", all code blocks are highlighted. +highlight_code = false + +# The theme to use for code highlighting. +# See below for list of allowed values. +# highlight_theme = "" + +# When set to "true", emoji aliases translated to their corresponding +# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄) +render_emoji = false + +[search] +# Whether to include the title of the page/section in the index +include_title = false +# Whether to include the description of the page/section in the index +include_description = false +# Whether to include the rendered content of the page/section in the index +include_content = false + +[extra] +# Author name, appears in footer. +emily_author = "author name" + +# Path to the header icon / favicon image. +# Please save image to static/images +emily_icon = "/images/logo.png" + +emily_favicon = "/images/favicon.png" + +# header icon width. +# height will be automatically rendered. +emily_iconsize = 70 + +# number of posts in index.html. +emily_indexposts = 100 + +# switch to dark-theme +emily_dark_mode = true + +# show theme-toggler +emily_theme_toggler = true diff --git a/themes/emily_zola_theme/content/about/index.md b/themes/emily_zola_theme/content/about/index.md new file mode 100644 index 0000000..b3a2558 --- /dev/null +++ b/themes/emily_zola_theme/content/about/index.md @@ -0,0 +1,12 @@ ++++ +title = "about this site and author" +date = 2020-01-01 +template = "post-page.html" ++++ + +### about this site +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +### about author + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/themes/emily_zola_theme/content/post/_index.md b/themes/emily_zola_theme/content/post/_index.md new file mode 100644 index 0000000..c7904ac --- /dev/null +++ b/themes/emily_zola_theme/content/post/_index.md @@ -0,0 +1,7 @@ ++++ +sort_by = "date" +template = "post.html" +page_template = "post-page.html" +[extra] +math = false ++++
\ No newline at end of file diff --git a/themes/emily_zola_theme/content/post/markdown_syntax_guide.md b/themes/emily_zola_theme/content/post/markdown_syntax_guide.md new file mode 100644 index 0000000..8e74f7a --- /dev/null +++ b/themes/emily_zola_theme/content/post/markdown_syntax_guide.md @@ -0,0 +1,70 @@ ++++ +title = "Markdown Syntax Guide" +date = 2021-01-02 +[taxonomies] +categories = ["code"] +tags = ["markdown"] ++++ + +### Headings +The following HTML `<h1>—<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +### Paragraph +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +### Blockquotes +> Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? + +### Code + +`inline code block` + +```rust +use std::io; + +fn main() { + println!("Guess the number!"); + + println!("Please input your guess."); + + let mut guess = String::new(); + + io::stdin() + .read_line(&mut guess) + .expect("Failed to read line"); + + println!("You guessed: {}", guess); +} +``` + + +### Tables + +First Header | Second Header +------------ | ------------- +Content from cell 1 | Content from cell 2 +Content in the first column | Content in the second column + +### List Types +#### Ordered List +1. First item +2. Second item +3. Third item + +#### Unordered List +- List item +- Another item +- And another item + - orange + - apple + - banana + - watermelon
\ No newline at end of file diff --git a/themes/emily_zola_theme/content/post/mathjax_support.md b/themes/emily_zola_theme/content/post/mathjax_support.md new file mode 100644 index 0000000..709d27c --- /dev/null +++ b/themes/emily_zola_theme/content/post/mathjax_support.md @@ -0,0 +1,30 @@ ++++ +title = "MathJax Support" +date = 2021-01-03 +[taxonomies] +categories = ["math"] +tags = ["Euler's identity"] +[extra] +math = true ++++ + +**Please add the following lines in the front matter when using MathJax.** + +``` +[extra] +math = true +``` + +--- + +#### Euler's identity + +$e^{i\pi }+1=0$ + +#### Geometric interpretation + +Any complex number $z=x+iy$ can be represented by the point $(x,y)$ on the complex plane. This point can also be represented in polar coordinates as $(r,\theta )$, where $r$ is the absolute value of $z$ (distance from the origin), and $\theta$ is the argument of $z$ (angle counterclockwise from the positive x-axis). By the definitions of sine and cosine, this point has cartesian coordinates of $(r\cos \theta ,r\sin \theta )$, implying that $z=r(\cos \theta +i\sin \theta )$. According to Euler's formula, this is equivalent to saying $z=re^{i\theta}$. + +Euler's identity says that $-1=e^{i\pi }$. Since $e^{i\pi }$ is $re^{i\theta }$ for $r$ = 1 and $\theta =\pi$ , this can be interpreted as a fact about the number −1 on the complex plane: its distance from the origin is 1, and its angle from the positive x-axis is $\pi$ radians. + +[Euler's identity \- Wikipedia](https://en.wikipedia.org/wiki/Euler%27s_identity)
\ No newline at end of file diff --git a/themes/emily_zola_theme/content/post/welcome_to_emily.md b/themes/emily_zola_theme/content/post/welcome_to_emily.md new file mode 100644 index 0000000..64c0eac --- /dev/null +++ b/themes/emily_zola_theme/content/post/welcome_to_emily.md @@ -0,0 +1,9 @@ ++++ +title = "Welcome to emily, a KISS theme for Zola" +date = 2020-12-31 +[taxonomies] +categories = ["code"] +tags = ["rust"] ++++ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/themes/emily_zola_theme/sass/dark.scss b/themes/emily_zola_theme/sass/dark.scss new file mode 100644 index 0000000..7e1306c --- /dev/null +++ b/themes/emily_zola_theme/sass/dark.scss @@ -0,0 +1,230 @@ +$tender-blue:#b3deef; +$tender-yellow:#ffc24b; +$tender-red:#f43753; +$tender-magenta:#d3b987; + +$backgroundcolor: #282828; +$textcolor: #feffff; +$lighttextcolor: #eeeeee; + +body { + line-height: 1.5; + color: $textcolor; + background-color: $backgroundcolor; + font-family: sans-serif; + width: 80%; + min-width: 200px; + max-width: 720px; + margin: 0 auto; + padding-top: 40px; + padding-bottom: 40px; + + img, video { + display: block; + margin: 0 auto; + max-width: 90%; + } + + ul { + margin-left: 1rem; + padding-left: 1rem; + } + + a { + color: $textcolor; + text-decoration: underline; + } + + @media screen and(max-width: 480px) { + width: 90%; + } +} + +.header { + color: $lighttextcolor; + background-color: $backgroundcolor; + top: 0; + padding-bottom : 5px; + border-bottom: solid 1px $tender-blue; + overflow: hidden; + a { + color: $lighttextcolor; + } +} + +.button_no_decoration { + color: $tender-blue; + border: none; + outline: none; + background: transparent; + vertical-align: middle; + font-family: sans-serif; +} + +.site_title { + display: flex; + justify-content: space-between; + font-size: 1.5rem; + a { + color: $textcolor; + text-decoration: none; + } +} + +.menu { + text-align: right; + a { + text-decoration: none; + } +} + +.date { + color: $tender-yellow; +} + +.date_postpage { + color: $tender-blue; + text-align: right; +} + +.title { + color: $tender-blue; + font-size: 1.3rem; + a { + text-decoration: none; + } +} + +.archive_title { + font-size: 1.3rem; + a { + text-decoration: none; + } +} + +.title_postpage { + font-size: 1.6em; + line-height: 1.4em; + font-weight: bold; + color: $textcolor; +} + +.taxonomies a { + font-size: 0.9rem; + color: $lighttextcolor; + text-decoration: none; +} + +.taxonomies_postpage { + text-align: right; + a { + font-size: 0.9rem; + color: $lighttextcolor; + text-decoration: none; + } +} + +.taxonomies_index a { + font-size: 0.9rem; + color: $lighttextcolor; + text-decoration: none; + + @media screen and(max-width: 480px) { + display: none; + } +} + +.taxonomies_list { + a { + text-decoration: none; + } +} + +.footer { + color: $lighttextcolor; + text-align: right; + margin-top: 50px; + padding-top: 0px; + // border-top: solid 1px $tender-blue; + a { + color: $lighttextcolor; + } +} + +h1 { + font-size: 2.2rem; + color: $tender-blue; +} + +h2 { + font-size: 2.0rem; + color: $tender-blue; +} + +h3 { + font-size: 1.5rem; + color: $tender-blue; +} + +h4 { + font-size: 1.3rem; + color: $tender-blue; + +} + +h5 { + font-size: 1.2rem; + color: $tender-blue; +} + +h6 { + font-size: 1.1rem; + color: $tender-blue; + +} + +h1, h2, h3, h4, h5, h6 { + font-weight: bold; +} + +pre { + border: 1px solid #AAA; + overflow-x: auto; + overflow-y: hidden; + padding: 20px; +} + +:not(pre) > code { + background-color: $tender-yellow; + color: $backgroundcolor; +} + +blockquote { + border-left: 5px solid $tender-blue; + padding: 0.5rem; + margin: 1rem; +} + +table { + max-width: 90%; +} + +table th { + padding: 10px; +} + +table th, td { + border: solid 1px $tender-magenta; +} + +table td { + padding: 10px; +} + +button { + color: $backgroundcolor; + background-color: $tender-blue; + border: solid; + border-radius: 3px; + border-color: $tender-blue; +} diff --git a/themes/emily_zola_theme/static/images/favicon.png b/themes/emily_zola_theme/static/images/favicon.png Binary files differnew file mode 100644 index 0000000..8e5a208 --- /dev/null +++ b/themes/emily_zola_theme/static/images/favicon.png diff --git a/themes/emily_zola_theme/static/images/logo.png b/themes/emily_zola_theme/static/images/logo.png Binary files differnew file mode 100644 index 0000000..8e5a208 --- /dev/null +++ b/themes/emily_zola_theme/static/images/logo.png diff --git a/themes/emily_zola_theme/static/images/ss01.png b/themes/emily_zola_theme/static/images/ss01.png Binary files differnew file mode 100644 index 0000000..78c88ff --- /dev/null +++ b/themes/emily_zola_theme/static/images/ss01.png diff --git a/themes/emily_zola_theme/static/images/ss02.png b/themes/emily_zola_theme/static/images/ss02.png Binary files differnew file mode 100644 index 0000000..1ff5eba --- /dev/null +++ b/themes/emily_zola_theme/static/images/ss02.png diff --git a/themes/emily_zola_theme/static/js/theme.js b/themes/emily_zola_theme/static/js/theme.js new file mode 100644 index 0000000..be2a9d1 --- /dev/null +++ b/themes/emily_zola_theme/static/js/theme.js @@ -0,0 +1,22 @@ +const key = 'current_emily_zola_style'; + +function getTheme() { + let theme = document.getElementById('stylesheet'); + let current_style = localStorage.getItem(key); + if (current_style === null) { + localStorage.setItem(key, theme.href); + } + theme.href = localStorage.getItem(key); +} + +function changeTheme() { + let current_style = localStorage.getItem(key); + if (current_style.includes('dark')) { + localStorage.setItem(key, '/light.css'); + } + else { + localStorage.setItem(key, '/dark.css'); + } + let theme = document.getElementById('stylesheet'); + theme.href = localStorage.getItem(key); +}
\ No newline at end of file diff --git a/themes/emily_zola_theme/templates/base.html b/themes/emily_zola_theme/templates/base.html new file mode 100644 index 0000000..040afe3 --- /dev/null +++ b/themes/emily_zola_theme/templates/base.html @@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + {% block title %} + <title>{{ config.title }}</title> + {% endblock %} + + <link rel="shortcut icon" type="image/png" href="{{ config.extra.favicon }}"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + + <link id="stylesheet" rel="stylesheet" type="text/css" href="/dark.css"> + + <script type="text/javascript" src="/js/theme.js"></script> + +</head> + +<div class="header"> + <div class="site_title"> + <p><a href="/"><img src="{{ config.base_url }}{{ config.extra.icon }}" alt="{{ config.title }}" + width="{{ config.extra.iconsize }}" height=auto></a></p> + <p><a href="/"> {{ config.title }}</a></p> + </div> + <div class="menu"> + <a href="/post">>archives</a> + <a href="/about">>about</a> + </div> +</div> + +<body onload="getTheme()"> + <section class="section"> + <div class="container"> + {% block content %} {% endblock %} + </div> + </section> +</body> + +<div class="footer"> + <a href="/">{{ config.title }}</a> © {{ config.extra.author }} +</div> + +</html> diff --git a/themes/emily_zola_theme/templates/categories/list.html b/themes/emily_zola_theme/templates/categories/list.html new file mode 100644 index 0000000..b6d98c2 --- /dev/null +++ b/themes/emily_zola_theme/templates/categories/list.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% block title %} +<title>Categories</title> +{% endblock %} + +{% block content %} +<p class="archive_title">[Categories]</p> + +<ul> + {% for term in terms %} + <li> + <a href="{{ term.permalink }}">/{{ term.name }}</a> + ({{ term.pages | length }}) + </li> + {% endfor %} +</ul> +{% endblock content %}
\ No newline at end of file diff --git a/themes/emily_zola_theme/templates/categories/single.html b/themes/emily_zola_theme/templates/categories/single.html new file mode 100644 index 0000000..b02797e --- /dev/null +++ b/themes/emily_zola_theme/templates/categories/single.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} + +{% block title %} +<title>{{ term.name }} | {{ config.title }}</title> +{% endblock %} + +{% block content %} +<p class="archive_title">[Category: {{ term.name }}]</p> + +{% for page in term.pages %} +<p> + <div class="date"> + {{ page.date }} + </div> + <div class="archive_title"> + <a href="{{ page.permalink | safe }}">{{ page.title }}</a> + </div> +</p> +{% endfor %} + +{% endblock content %} diff --git a/themes/emily_zola_theme/templates/index.html b/themes/emily_zola_theme/templates/index.html new file mode 100644 index 0000000..795b7e1 --- /dev/null +++ b/themes/emily_zola_theme/templates/index.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% block content %} + +{% set section = get_section(path="post/_index.md") %} +{% for page in section.pages %} + {% if loop.index0 == config.extra.indexposts %}{% break %}{% endif %} + <p> + <div class="date"> + {{ page.date }} + </div> + <div class="title"> + <a href="{{ page.permalink | safe }}">{{ page.title }}</a> + </div> + <div class="taxonomies_index"> + {% if page.taxonomies.categories %} + {% for category in page.taxonomies.categories %} +  <a href="{{ get_taxonomy_url(kind="categories", name=category) | safe }}">/{{ category }}</a> + {% endfor %} + {% endif %} + {% if page.taxonomies.tags %} + {% for tag in page.taxonomies.tags %} +  <a href="{{ get_taxonomy_url(kind="tags", name=tag) | safe }}">#{{ tag }}</a> + {% endfor %} + {% endif %} + </div> + </p> +{% endfor %} + +{% endblock content %} diff --git a/themes/emily_zola_theme/templates/post-page.html b/themes/emily_zola_theme/templates/post-page.html new file mode 100644 index 0000000..894a27d --- /dev/null +++ b/themes/emily_zola_theme/templates/post-page.html @@ -0,0 +1,44 @@ +{% extends "base.html" %} + +{% block title %} +<title>{{ page.title }} | {{ config.title }}</title> +{% endblock %} + +{% block content %} +<p> + <div class="title_postpage">{{ page.title }}</div> +</p> +<p> + <div class="date_postpage">{{ page.date }}</div> + <div class="taxonomies_postpage"> + {% if page.taxonomies.categories %} + {% for category in page.taxonomies.categories %} + <a href="{{ get_taxonomy_url(kind="categories", name=category) | safe }}">/{{ category }}</a> + {% endfor %} + {% endif %} + {% if page.taxonomies.tags %} + {% for tag in page.taxonomies.tags %} +  <a href="{{ get_taxonomy_url(kind="tags", name=tag) | safe }}">#{{ tag }}</a> + {% endfor %} + {% endif %} + </div> +</p> + +<p> + {{ page.content | safe }} +</p> + +{% if page.extra.math %} +<script> + MathJax = { + tex: { + inlineMath: [['$', '$'], ['\\(', '\\)']] + } + }; +</script> +<script type="text/javascript" async + src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"> +</script> +{% endif %} + +{% endblock content %} diff --git a/themes/emily_zola_theme/templates/post.html b/themes/emily_zola_theme/templates/post.html new file mode 100644 index 0000000..5f05c62 --- /dev/null +++ b/themes/emily_zola_theme/templates/post.html @@ -0,0 +1,54 @@ +{% extends "base.html" %} + +{% block content %} + +<h3> + Categories & Tags +</h3> +<p class="taxonomies_list"> +{% set categories = get_taxonomy(kind="categories") %} + {% for term in categories.items %} + <a href="{{ term.permalink }}">/{{ term.name }} + ({{ term.pages | length }})</a> + {% endfor %} +</ul> +</p> + +<p class="taxonomies_list"> +{% set tags = get_taxonomy(kind="tags") %} + {% for term in tags.items %} + <a href="{{ term.permalink }}">#{{ term.name }} + ({{ term.pages | length }})</a> + {% endfor %} +</ul> +</p> + +{% for year, posts in section.pages | group_by(attribute="year") %} + <h3>{{ year }}</h3> + + {% for post in posts %} + <p> + <div class="date"> + {{ post.date }} + </div> + <div class="archive_title"> + <a href="{{ post.permalink }}">{{ post.title }}</a> + </div> + <div class="taxonomies_index"> + {% if post.taxonomies.categories %} + {% for category in post.taxonomies.categories %} +  <a href="{{ get_taxonomy_url(kind="categories", name=category) | safe }}">/{{ category }}</a> + {% endfor %} + {% endif %} + {% if post.taxonomies.tags %} + {% for tag in post.taxonomies.tags %} +  <a href="{{ get_taxonomy_url(kind="tags", name=tag) | safe }}">#{{ tag }}</a> + {% endfor %} + {% endif %} + </div> + </p> + {% endfor %} + +{% endfor %} + +{% endblock content %} diff --git a/themes/emily_zola_theme/templates/tags/list.html b/themes/emily_zola_theme/templates/tags/list.html new file mode 100644 index 0000000..2b5a16c --- /dev/null +++ b/themes/emily_zola_theme/templates/tags/list.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% block title %} +<title>Tags</title> +{% endblock %} + +{% block content %} +<p class="archive_title">[Tags]</p> + +<ul> + {% for term in terms %} + <li> + <a href="{{ term.permalink }}">#{{ term.name }}</a> + ({{ term.pages | length }}) + </li> + {% endfor %} +</ul> +{% endblock content %}
\ No newline at end of file diff --git a/themes/emily_zola_theme/templates/tags/single.html b/themes/emily_zola_theme/templates/tags/single.html new file mode 100644 index 0000000..0549304 --- /dev/null +++ b/themes/emily_zola_theme/templates/tags/single.html @@ -0,0 +1,21 @@ +{% extends "base.html" %} + +{% block title %} +<title>{{ term.name }} | {{ config.title }}</title> +{% endblock %} + +{% block content %} +<p class="archive_title">[Tag: {{ term.name }}]</p> + +{% for page in term.pages %} +<p> + <div class="date"> + {{ page.date }} + </div> + <div class="archive_title"> + <a href="{{ page.permalink | safe }}">{{ page.title }}</a> + </div> +</p> +{% endfor %} + +{% endblock content %}
\ No newline at end of file |