starting work

This commit is contained in:
wuyoli 2022-02-12 20:10:27 +00:00
commit 4980296e22
37 changed files with 1499 additions and 0 deletions

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
; http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
public/
.idea
.DS_Store
./**/.DS_Store

5
README.md Normal file
View File

@ -0,0 +1,5 @@
# My Blog
This is my blog. It is made with [Zola](https://www.getzola.org/themes/anatole-zola/) and hosted on [wuyoli.tilde.team](https://wuyoli.tilde.team).
The theme I'm using is a heavily modified version of the [Anatole Theme](https://github.com/longfangsong/anatole-zola) with the [Nord color theme](https://www.nordtheme.com/).

29
config.toml Normal file
View File

@ -0,0 +1,29 @@
title = "Wuyoli"
description = "My Blog"
base_url = "https://wuyoli.tilde.team"
compile_sass = true
highlight_code = true
build_search_index = false
generate_feed = true
highlight_theme = "nord"
default_language = "en"
taxonomies = [
{name = "tags"},
]
[extra.social]
github = ""
twitter = "w"
facebook = ""
instagram = "r"
dribbble = "t"
weibo = "y"
linkedin = ""
flickr = ""
[extra.show]
tags = true
links = true

BIN
content/._index.md.swp Normal file

Binary file not shown.

BIN
content/.post-1.md.swp Normal file

Binary file not shown.

BIN
content/.post-8.md.swp Normal file

Binary file not shown.

8
content/_index.md Normal file
View File

@ -0,0 +1,8 @@
+++
title = "index"
template = "index.html"
transparent = true
sort_by = "date"
paginate_by = 10
+++

7
content/about/_index.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "About"
template = "about.html"
paginate_by = 0
+++
About this site

View File

@ -0,0 +1,4 @@
+++
title = "archive"
template = "archive.html"
+++

8
content/links/_index.md Normal file
View File

@ -0,0 +1,8 @@
+++
title = "Links"
template = "links.html"
paginate_by = 0
+++
Extern links:
- [Origin theme demo](http://anatole.cai-cai.me)

139
content/post-1.md Normal file
View File

@ -0,0 +1,139 @@
+++
title = "Basic Markdown syntax"
template = "page.html"
date = 2020-01-02T15:00:00Z
[taxonomies]
tags = ["markdown", "demo"]
[extra]
summary = "Shows how basic Markdown syntax are rendered"
mathjax = "tex-mml"
+++
<!-- more -->
## 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
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
#### Blockquote without attribution
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use *Markdown syntax* within a blockquote.
#### Blockquote with attribution
> Don't communicate by sharing memory, share memory by communicating.</p>
> — <cite>Rob Pike[^1]</cite>
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
## Tables
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
Name | Age
--------|------
Bob | 27
Alice | 23
#### Inline Markdown within tables
| Inline&nbsp;&nbsp;&nbsp; | Markdown&nbsp;&nbsp;&nbsp; | In&nbsp;&nbsp;&nbsp; | Table |
| ---------- | --------- | ----------------- | ---------- |
| *italics* | **bold** | ~~strikethrough~~&nbsp;&nbsp;&nbsp; | `code` |
## Code Blocks
#### Code block with backticks
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
#### Code block indented with four spaces
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
## List Types
#### Ordered List
1. First item
2. Second item
3. Third item
#### Unordered List
* List item
* Another item
* And another item
#### Nested list
* Item
1. First Sub-item
2. Second Sub-item
* Item
- A
- B
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
## mathjax
$$
\displaylines{x = a + b \\\\ y = b + c}
$$
$$
\require{bussproofs}
\begin{prooftree}
\AxiomC{A}
\AxiomC{B}
\BinaryInfC{D}
\end{prooftree}
$$

7
content/post-10.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 6"
template = "page.html"
date = 2020-01-01T03:00:00Z
+++
## Post 6

7
content/post-11.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 6"
template = "page.html"
date = 2020-01-01T02:00:00Z
+++
## Post 6

18
content/post-2.md Normal file
View File

@ -0,0 +1,18 @@
+++
title = "Short codes demo"
template = "page.html"
date = 2020-01-01T15:00:00Z
[taxonomies]
tags = ["demo"]
[extra]
summary = "A demo of using short codes"
+++
## Youtube (zola built in)
{{ youtube(id="IwPRu5FhfIQ", autoplay=true) }}
## Asciinema
{{ asciinema(id="pegRHrTsb4pRhkuBJE29kMMQ5") }}
## Bilibili
{{ bilibili(id="BV1tZ4y137qK") }}

7
content/post-3.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 3"
template = "page.html"
date = 2020-01-01T10:00:00Z
+++
## Post 3

7
content/post-4.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 4"
template = "page.html"
date = 2020-01-01T09:00:00Z
+++
## Post 4

7
content/post-5.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 5"
template = "page.html"
date = 2020-01-01T08:00:00Z
+++
## Post 5

7
content/post-6.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 6"
template = "page.html"
date = 2020-01-01T07:00:00Z
+++
## Post 6

7
content/post-7.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 7"
template = "page.html"
date = 2020-01-01T06:00:00Z
+++
## Post 7

7
content/post-8.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 8"
template = "page.html"
date = 2020-01-01T05:00:00Z
+++
## Post 8

7
content/post-9.md Normal file
View File

@ -0,0 +1,7 @@
+++
title = "Post 6"
template = "page.html"
date = 2020-01-01T04:00:00Z
+++
## Post 6

BIN
sass/.style.scss.swp Normal file

Binary file not shown.

863
sass/style.scss Normal file
View File

@ -0,0 +1,863 @@
html {
background-color: #2E3440;
-webkit-font-smoothing: antialiased;
}
body {
color: #81A1C1;
font-family: 'PingHei', 'PingFang SC', Helvetica Neue, 'Work Sans', 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, sans-serif;
font-size: 15px;
width: 100%;
margin: 0 auto 30px auto;
background-color: #434C5E;
line-height: 1.6em;
}
p {
line-height: 1.9em;
font-weight: 400;
font-size: 14px;
}
a {
text-decoration: none;
}
a:link, a:visited {
opacity: 1;
-webkit-transition: all .15s linear;
-moz-transition: all .15s linear;
-o-transition: all .15s linear;
-ms-transition: all .15s linear;
transition: all .15s linear;
color: #88C0D0;
}
a:hover, a:active {
color: #8FBCBB;
}
img {
max-width: 100%;
height: auto;
}
/*basic styles ends*/
/*animation starts*/
.animated {
-webkit-animation-fill-mode: both;
-moz-animation-fill-mode: both;
-ms-animation-fill-mode: both;
-o-animation-fill-mode: both;
animation-fill-mode: both;
-webkit-animation-duration: 1s;
-moz-animation-duration: 1s;
-ms-animation-duration: 1s;
-o-animation-duration: 1s;
animation-duration: 1s;
}
.animated.hinge {
-webkit-animation-duration: 1s;
-moz-animation-duration: 1s;
-ms-animation-duration: 1s;
-o-animation-duration: 1s;
animation-duration: 1s;
}
@-webkit-keyframes fadeInDown {
0% {
opacity: 0;
-webkit-transform: translateY(-20px);
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes fadeInDown {
0% {
opacity: 0;
-moz-transform: translateY(-20px);
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@-o-keyframes fadeInDown {
0% {
opacity: 0;
-o-transform: translateY(-20px);
}
100% {
opacity: 1;
-o-transform: translateY(0);
}
}
@keyframes fadeInDown {
0% {
opacity: 0;
transform: translateY(-20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeInDown {
-webkit-animation-name: fadeInDown;
-moz-animation-name: fadeInDown;
-o-animation-name: fadeInDown;
animation-name: fadeInDown;
}
/*animation ends*/
.content {
height: auto;
float: right;
width: 70%;
margin-top: 60px;
}
.page-top {
width: 70%;
position: fixed;
right: 0;
z-index: 3;
background-color: #3B4252;
height: 60px;
border-bottom: 1px solid #5E81AC;
.nav {
list-style: none;
padding: 18px 30px;
float: left;
font-size: 12px;
li {
position: relative;
display: initial;
padding-right: 20px;
}
a {
color: #81A1C1;
}
a:hover {
color: #88C0D0;
}
a.current {
color: #81A1C1;
padding-bottom: 22px;
border-bottom: 1px solid #5E81AC;
}
}
.information {
float: right;
padding-top: 12px;
padding-right: 20px;
.avatar {
float: right;
img {
width: 32px;
height: 32px;
border-radius: 300px;
}
}
.back_btn {
float: left;
padding-top: 5px;
margin-right: -10px;
li {
display: initial;
padding-right: 40px;
}
}
}
}
#sidebar {
width: 30%;
-webkit-background-size: cover;
background-size: cover;
background-color: #434C5E;
height: 100%;
transition: 0.8s;
top: 0;
left: 0;
position: fixed;
z-index: 4;
border-right: 1px solid #5E81AC;
.logo-title {
text-align: center;
padding-top: 240px;
.description {
font-size: 14px;
color: #81A1C1;
}
.logo {
margin: 0 auto;
}
.title {
h3 {
text-transform: uppercase;
font-size: 2rem;
font-weight: bold;
letter-spacing: 2px;
line-height: 1;
margin: 0;
}
a {
text-decoration: none;
color: #88C0D0;
font-size: 2rem;
font-weight: bold;
}
}
}
.social-links {
list-style: none;
padding: 0;
font-size: 14px;
text-align: center;
li {
display: inline;
padding: 0 4px;
line-height: 0;
}
a {
color: #81A1C1;
}
a:hover {
color: #88C0D0;
}
}
}
.post {
background-color: #2E3440;
margin: 30px;
.post-title {
h1 {
text-transform: uppercase;
font-size: 30px;
letter-spacing: 5px;
line-height: 1;
}
h2 {
text-transform: uppercase;
letter-spacing: 1px;
font-size: 28px;
line-height: 1;
font-weight: 600;
color: #81A1C1;
}
h3 {
text-transform: uppercase;
letter-spacing: 1px;
line-height: 1;
font-weight: 600;
color: #81A1C1;
font-size: 22px;
margin: 0;
}
a {
text-decoration: none;
letter-spacing: 1px;
color: #81A1C1;
&:hover {
text-decoration: underline;
}
}
}
.post-content {
a {
text-decoration: none;
letter-spacing: 1px;
color: #81A1C1;
}
a:hover {
color: #88C0D0;
}
h3 {
color: #81A1C1;
font-size: 22px;
font-weight: 600;
}
h4 {
color: #81A1C1;
font-size: 16px;
}
& pre code {
padding: 0;
font-family: Inconsolata, monospace, sans-serif;
font-size: inherit;
white-space: inherit;
border: 0;
background: inherit;
color: inherit;
border-radius: 0;
}
& code {
padding: 1px 3px;
font-family: Inconsolata, monospace, sans-serif;
font-size: 0.85em;
white-space: pre-wrap;
border: 1px solid #E3EDF3;
background: #3B4252;
color: #d14;
border-radius: 2px;
}
pre {
padding: 4px 6px;
border-radius: 6px;
overflow: scroll;
background-color: #3B4252;
}
blockquote {
box-sizing: border-box;
margin: 1.6em 0 1.6em -2em;
padding: 0 0 0 1.6em;
border-left: #81A1C1 0.2em solid;
}
.footnote-definition {
p {
display: inline;
}
}
iframe {
width: 100%;
height: 500px;
}
}
.post-footer {
padding: 0 0 30px 0;
border-bottom: 1px solid #81A1C1;
.meta {
max-width: 100%;
height: 25px;
color: #5E81AC;
.info {
float: left;
font-size: 12px;
.date {
margin-right: 10px;
}
}
a {
text-decoration: none;
color: #5E81AC;
padding-right: 10px;
&:hover {
color: #81A1C1;
}
}
i {
margin-right: 6px;
}
}
.tags {
padding-bottom: 15px;
font-size: 13px;
ul {
list-style-type: none;
display: inline;
margin: 0;
padding: 0;
li {
list-style-type: none;
margin: 0;
padding-right: 5px;
display: inline;
}
}
a {
text-decoration: none;
color: rgba(0, 0, 0, 0.44);
font-weight: 400;
&:hover {
text-decoration: none;
}
}
}
}
}
.pagination {
margin: 30px;
padding: 0px 0 56px 0;
border-bottom: 1px solid #f2f2f2;
ul {
list-style: none;
margin: 0;
padding: 0;
height: 13px;
li {
margin: 0 2px 0 2px;
display: inline;
line-height: 1;
a {
text-decoration: none;
}
}
}
.pre {
background-color: #3B4252;
float: left;
}
.next {
float: right;
}
}
.like-reblog-buttons {
float: right;
}
.like-button {
float: right;
padding: 0 0 0 10px;
}
.reblog-button {
float: right;
padding: 0;
}
#install-btn {
position: fixed;
bottom: 0px;
right: 6px
}
#disqus_thread {
margin: 30px;
border-bottom: 1px solid #f2f2f2;
}
.footer {
clear: both;
text-align: center;
font-size: 10px;
margin: 0 auto;
bottom: 0;
position: absolute;
width: 100%;
padding-bottom: 20px;
color: #5E81AC;
a {
color: #5E81AC;
}
a:hover {
color: #81A1C1;
}
}
/*for archive*/
.archive {
width: 100%;
}
.list-with-title {
font-size: 14px;
margin: 30px;
padding: 0;
li {
list-style-type: none;
padding: 0;
}
.listing-title {
font-size: 24px;
color: #666666;
font-weight: 600;
line-height: 2.2em;
}
.listing {
padding: 0;
.listing-post {
padding-bottom: 5px;
.post-time {
float: right;
color: #C5C5C5;
}
a {
color: #8F8F8F;
&:hover {
color: #4786D6;
}
}
}
}
.tag-list-item {
margin-bottom: 18px;
.tagcount {
float: right;
color: #fefefe;
min-width: 24px;
margin-right: 18px;
background: gray;
padding-left: 6px;
padding-right: 6px;
border-radius: 1em;
text-align: center;
}
}
}
/* share */
.share {
margin: 0px 30px;
display: inline-flex;
}
.evernote {
width: 32px;
height: 32px;
border-radius: 300px;
background-color: #3E3E3E;
margin-right: 5px;
a {
color: #fff;
padding: 11px;
font-size: 12px;
}
a:hover {
color: #ED6243;
padding: 11px;
}
}
.weibo {
width: 32px;
height: 32px;
border-radius: 300px;
background-color: #ED6243;
margin-right: 5px;
a {
color: #fff;
padding: 9px;
}
a:hover {
color: #BD4226;
}
}
.twitter {
width: 32px;
height: 32px;
border-radius: 300px;
background-color: #59C0FD;
margin-right: 5px;
a {
color: #fff;
padding: 9px;
}
a:hover {
color: #4B9ECE;
}
}
/* about */
.about {
margin: 30px;
h3 {
font-size: 22px;
}
}
/* links*/
.links {
margin: 30px;
h3 {
font-size: 22px;
}
a {
cursor: pointer;
}
}
/* 评论样式 */
.comment-count {
color: #666;
}
.tab-community {
color: #666;
}
.read_more {
font-size: 14px;
}
.back-button {
padding-top: 30px;
max-width: 100px;
padding-left: 40px;
float: left;
}
#fb_comments_container {
margin: 30px;
}
a.btn {
color: #868686;
font-weight: 400;
}
.btn {
display: inline-block;
position: relative;
outline: 0;
color: rgba(0, 0, 0, 0.44);
background: rgba(0, 0, 0, 0);
font-size: 14px;
text-align: center;
text-decoration: none;
cursor: pointer;
border: 1px solid rgba(0, 0, 0, 0.15);
white-space: nowrap;
font-weight: 400;
font-style: normal;
border-radius: 999em;
}
.btn:hover {
display: inline-block;
position: relative;
outline: 0px;
color: #464545;
background: rgba(0, 0, 0, 0);
font-size: 14px;
text-align: center;
text-decoration: none;
cursor: pointer;
border: 1px solid #464545;
white-space: nowrap;
font-weight: 400;
font-style: normal;
border-radius: 999em;
}
[role="back"] {
padding: 0.5em 1.25em;
line-height: 1.666em;
}
[role="home"] {
padding: 0.5em 1.25em;
line-height: 1.666em;
}
[role="navigation"] {
padding: 0.5em 1.25em;
line-height: 1.666em;
}
[role="tags"] {
padding: 6px 12px;
}
.menu {
float: right;
padding-top: 30px;
.btn-down {
margin: 0;
li {
list-style: none;
width: 100px;
a {
display: inline-block;
position: relative;
padding: 0.5em 1.25em;
outline: 0;
color: rgba(0, 0, 0, 0.44);
background: rgba(0, 0, 0, 0);
font-size: 14px;
text-align: center;
text-decoration: none;
cursor: pointer;
border: 1px solid rgba(0, 0, 0, 0.15);
white-space: nowrap;
font-weight: 400;
font-style: normal;
border-radius: 999em;
margin-top: 5px;
&:hover {
position: relative;
padding: 0.5em 1.25em;
outline: 0;
color: #fff;
background: #3CBD10;
font-size: 14px;
text-align: center;
text-decoration: none;
cursor: pointer;
border: 1px solid rgba(0, 0, 0, 0.15);
white-space: nowrap;
font-weight: 400;
font-style: normal;
border-radius: 999em;
margin-top: 5px;
}
}
}
}
.btn-down div {
position: absolute;
visibility: hidden;
width: 100px;
float: right;
}
}
.page_404 {
text-align: center;
padding-top: 50px;
}
@media screen and (max-width: 960px) {
#sidebar {
width: 100%;
position: absolute;
border-right: none;
z-index: 1;
.logo-title {
padding-top: 120px;
.title {
img {
width: 100px;
}
h3 {
font-size: 20px;
}
}
}
}
.page-top {
width: 100%
}
.post-title h3 {
line-height: 1.6;
}
.content {
margin-top: 420px;
width: 100%;
z-index: 2;
position: absolute;
}
.footer {
display: none;
}
.share {
display: grid;
}
.social-links {
list-style: none;
font-size: 14px;
text-align: center;
i {
margin-right: 3px;
}
}
}

BIN
templates/.basic.html.swp Normal file

Binary file not shown.

8
templates/about.html Normal file
View File

@ -0,0 +1,8 @@
{% extends "basic.html" %}
{% block content %}
<article class="post animated fadeInDown">
<h1><a href="{{ section.permalink }}"> About </a></h1>
<div class="post-content">{{ section.content | safe }}</div>
</article>
{% endblock content %}

24
templates/archive.html Normal file
View File

@ -0,0 +1,24 @@
{% extends "basic.html" %}
{% block content %}
<div class="archive animated fadeInDown">
<ul class="list-with-title">
{% set section_item = get_section(path="_index.md") %}
{% for year, posts in section_item.pages | group_by(attribute="year") %}
<div class="listing-title">{{ year }}</div>
<ul class="listing">
{% for post in posts %}
<div class="listing-item">
<div class="listing-post">
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title }}</a>
<div class="post-time">
<span class="date">{{ post.date }}</span>
</div>
</div>
</div>
{% endfor %}
</ul>
{% endfor %}
</ul>
</div>
{% endblock content %}

100
templates/basic.html Normal file
View File

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover">
<!--<link rel="short icon" href="{{ get_url(path="images/favicon.png") }}" type="image/x-icon"/>-->
<link rel="stylesheet" href="{{ get_url(path="style.css") }}">
<link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/5.15.1/css/all.min.css" rel="stylesheet">
<title>{% block title %}{{ config.title }}{% endblock title %}</title>
{% if config.generate_feed %}
{% block rss %}
<link rel="alternate" type="application/rss+xml" title="{{ config.title }}" href="{{ get_url(path="rss.xml", trailing_slash=false) }}">
{% endblock rss %}
{% endif %}
{% block extra_head %}
{% endblock extra_head %}
</head>
<body>
<div id="sidebar" class="animated fadeInDown">
<div class="logo-title">
<div class="title">
<img src={{ get_url(path="images/logo@2x.png" ) }} style="width:127px;" alt="logo"/>
<h3><a href="{{ get_url(path="@/_index.md") }}">{{ config.title }}</a></h3>
<div class="description">
<p>{{ config.description }}</p>
</div>
</div>
</div>
<ul class="social-links">
{%- if config.extra.social.github -%}
<li><a href="https://github.com/{{ config.extra.social.github }}"><i class="fab fa-github"></i></a></li>
{%- endif -%}
{%- if config.extra.social.stackoverflow -%}
<li>
<a href="https://stackoverflow.com/users/{{ config.extra.social.stackoverflow }}">
<i class="fab fa-stack-overflow"></i>
</a>
</li>
{%- endif -%}
{%- if config.extra.social.twitter -%}
<li><a href="https://twitter.com/{{ config.extra.social.twitter }}"><i class="fab fa-twitter"></i></a></li>
{%- endif -%}
{% if config.extra.social.facebook -%}
<li><a href="https://www.facebook.com/{{ config.extra.social.facebook }}"><i class="fab fa-facebook"></i></a></li>
{%- endif -%}
{%- if config.extra.social.instagram -%}
<li><a href="https://www.instagram.com/{{ config.extra.social.instagram }}"><i class="fab fa-instagram"></i></a></li>
{%- endif -%}
{%- if config.extra.social.dribbble -%}
<li><a href="https://dribbble.com/{{ config.extra.social.dribbble }}"><i class="fab fa-dribbble"></i></a></li>
{%- endif -%}
{%- if config.extra.social.weibo -%}
<li><a href="https://weibo.com/{{ config.extra.social.weibo }}"><i class="fab fa-weibo"></i></a></li>
{%- endif -%}
{%- if config.extra.social.linkedin -%}
<li><a href="https://linkedin.com/in/{{ config.extra.social.linkedin }}"><i class="fab fa-linkedin"></i></a></li>
{%- endif -%}
{%- if config.extra.social.flickr -%}
<li><a href="https://www.flickr.com/photos/{{ config.extra.social.flickr }}"><i class="fab fa-flickr"></i></a></li>
{%- endif -%}
{% block more_social_link %}
{% endblock more_social_link %}
</ul>
<div class="footer">
{% block footer %}
<span>Designed by </span><a href="https://www.caicai.me">CaiCai</a>
<div class="by_zola"><a href="https://www.getzola.org/" target="_blank">Proudly published with Zola!</a></div>
{% endblock footer %}
</div>
</div>
<div id="main">
<div class="page-top animated fadeInDown">
<div class="nav">
<li><a {% if current_path == "/" or current_path is starting_with("/page/") %}class="current"{% endif %} href="{{ get_url(path="@/_index.md") }}">Home</a></li><li><a {% if current_path is starting_with("/about") %}class="current"{% endif %} href="{{ get_url(path="@/about/_index.md") }}">About</a></li>
{%- if config.extra.show.tags -%}
<li><a {% if current_path is starting_with("/tags") %}class="current"{% endif %} href="{{ get_url(path="@/_index.md") }}tags">Tags</a></li>
{%- endif -%}
<li><a {% if current_path is starting_with("/archive") %}class="current"{% endif %} href="{{ get_url(path="@/archive/_index.md") }}">Archive</a></li>
{%- if config.extra.show.links -%}
<li><a {% if current_path is starting_with("/links") %}class="current"{% endif %} href="{{ get_url(path="@/links/_index.md") }}">Links</a></li>
{%- endif -%}
</div>
<div class="information">
<div class="back_btn">
<li><a onclick="window.history.go(-1)" {% if current_path == "/" %}style="display:none;"{% endif %}><i class="fas fa-chevron-left"></i></a></li>
</div>
<div class="avatar"><img src="{{ get_url(path="images/avatar.jpg") }}"></div>
</div>
</div>
<div class="autopagerize_page_element">
<div class="content">
{% block content %}
{% endblock content %}
</div>
</div>
</div>
</body>
</html>

42
templates/comments.html Normal file
View File

@ -0,0 +1,42 @@
{% if config.extra.comment.disqus %}
<a id="comments"></a>
<div id="disqus_thread"></div>
<script>
var disqus_shortname = "{{ config.extra.comment.disqus.name }}";
(function() {
var dsq = document.createElement("script"); dsq.type = "text/javascript"; dsq.async = true;
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
(document.getElementsByTagName("head")[0] || document.getElementsByTagName("body")[0]).appendChild(dsq);
})();
</script>
<script id="dsq-count-scr" src="//{{ config.extra.comment.disqus.name }}.disqus.com/count.js" async></script>
{% endif %}
{% if config.extra.comment.valine %}
<a id="comments"></a>
<div id="vcomments" style="margin: 30px;"></div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
<script>
var valine = new Valine({
el: "#vcomments",
notify: "{{ config.extra.comment.valine.notify }}" || false,
verify: "{{ config.extra.comment.valine.verify }}" || false,
app_id: "{{ config.extra.comment.valine.appid }}",
app_key: "{{ config.extra.comment.valine.appkey }}",
placeholder: "{{ config.extra.comment.valine.placeholder }}",
path: window.location.pathname,
avatar: "{{ config.extra.comment.valine.avatar }}"
});
</script>
{% endif %}
{% if config.extra.comment.utterances %}
<script src="https://utteranc.es/client.js"
repo="{{ config.extra.comment.utterances.repo }}"
issue-term="{{ config.extra.comment.utterances.issue_term }}"
theme="{{ config.extra.comment.utterances.theme }}"
crossorigin="anonymous"
async>
</script>
{% endif %}

60
templates/index.html Normal file
View File

@ -0,0 +1,60 @@
{% extends "basic.html" %}
{% block content %}
{% for page in paginator.pages %}
<section class="post animated fadeInDown">
<div class="post-title">
<h3><a href="{{ page.permalink }}">{{ page.title }}</a></h3>
</div>
<div class="post-content">
<p>
{% if page.extra.summary %}
{{ page.extra.summary | safe | striptags }}
{% else %}
{{ page.content | safe | striptags | truncate(length=100) }}
{% endif %}
</p>
</div>
<div class="post-footer">
<div class="meta">
<div class="info">
{% if page.date %}
<i class="far fa-sun"></i>
<span class="date">
{{ page.date }}
</span>
{% endif %}
{% if config.extra.comment %}
<i class="far fa-comments"></i>
<a href="{{ page.permalink }}#comments">Comments</a>
{% endif %}
{% if page.taxonomies.tags %}
<i class="fas fa-tags"></i>
{% for tag in page.taxonomies.tags %}
<a class="tag" href="{{ get_url(path="@/_index.md") }}tags/{{tag}}">&nbsp;{{tag}}</a>
{% endfor %}
{% endif %}
</div>
</div>
</div>
</section>
{% endfor %}
<div class="pagination">
<ul class="clearfix">
{% if paginator.next %}
<li class="next pagbuttons">
<a class="btn" role="navigation" href="{{ paginator.next }}">
Next Page
</a>
</li>
{% endif %}
{% if paginator.previous %}
<li class="pre pagbuttons">
<a class="btn" role="navigation" href="{{ paginator.previous }}">
Last Page
</a>
</li>
{% endif %}
</ul>
</div>
{% endblock content %}

8
templates/links.html Normal file
View File

@ -0,0 +1,8 @@
{% extends "basic.html" %}
{% block content %}
<article class="post animated fadeInDown">
<h1><a href="{{ section.permalink }}"> Links </a></h1>
<div class="post-content">{{ section.content | safe }}</div>
</article>
{% endblock content %}

55
templates/page.html Normal file
View File

@ -0,0 +1,55 @@
{% extends "basic.html" %}
{% block title %}{{ config.title }} • {{ page.title }}{% endblock title %}
{% block content %}
<article class="post animated fadeInDown">
<h1><a href="{{ page.permalink }}">{{ page.title }}</a></h1>
{% if page.extra.author %}
<div class="info">By {{ page.extra.author }}.</div>
{% endif %}
<div class="post-content">{{ page.content | safe }}</div>
<div class="post-footer">
<div class="meta">
<div class="info">
{% if page.date %}
<i class="far fa-sun"></i><span class="date">{{ page.date }}</span>
{% endif %}
{% if page.taxonomies.tags %}
<i class="fas fa-tags"></i>
{% for tag in page.taxonomies.tags %}
<a class="tag" href="{{ get_url(path="@/_index.md") }}tags/{{tag}}">&nbsp;{{tag}}</a>
{% endfor %}
{% endif %}
</div>
</div>
</div>
</article>
<div class="share">
<div class="weibo">
<a class="fab fa-weibo" href="javascript:void((function(s,d,e){try{}catch(e){}var f='http://service.weibo.com/share/share.php?',u=d.location.href,p=['url=',e(u),'&title=',e(d.title),'&appkey=2924220432'].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent));"></a>
</div>
<div class="twitter">
<a class="fab fa-twitter" href="http://twitter.com/share?text={{ page.title }}&url={{ page.permalink | trim_end_matches(pat="/") }}{% if page.taxonomies.tags %}&hashtags={{ page.taxonomies.tags | join(sep=",") }}{% endif %}"></a>
</div>
</div>
{% include "comments.html" %}
{% if page.extra.mathjax %}
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script>
MathJax = {
tex: {
displayMath: [['$$', '$$'], ["\\[", "\\]"]],
inlineMath: [['$', '$'], ['\\(', '\\)']]
}
};
</script>
<script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/{{ page.extra.mathjax }}-chtml.js">
</script>
{% endif %}
{% if page.extra.mermaid %}
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad:true});</script>
{% endif %}
{% endblock content %}

View File

@ -0,0 +1 @@
<script id="asciicast-{{id}}" src="https://asciinema.org/a/{{id}}.js" async></script>

View File

@ -0,0 +1 @@
<iframe src="//player.bilibili.com/player.html?aid=798317579&bvid={{id}}&cid=273252363&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

View File

@ -0,0 +1,3 @@
<div class="mermaid">
{{ body }}
</div>

15
templates/tags/list.html Normal file
View File

@ -0,0 +1,15 @@
{% extends "basic.html" %}
{% block content %}
<div class="archive animated fadeInDown">
<ul class="list-with-title">
<div class="listing-title">Tags</div>
{% for term in terms %}
<li class="tag-list-item">
<a class="tagname" href="{{ term.permalink }}">{{ term.name }}</a>
<span class="tagcount">{{ term.pages | length }}</span>
</li>
{% endfor %}
</ul>
</div>
{% endblock content %}

View File

@ -0,0 +1,23 @@
{% extends "basic.html" %}
{% block content %}
<div class="archive animated fadeInDown">
<ul class="list-with-title">
<div class="archive">
<div class="listing-title">{{ term.name }}</div>
<ul class="listing">
{% for post in term.pages %}
<div class="listing-item">
<div class="listing-post">
<a href="{{ post.permalink }}" title="{{ post.title }}">{{ post.title }}</a>
<div class="post-time">
<span class="date">{{ post.date }}</span>
</div>
</div>
</div>
{% endfor %}
</ul>
</div>
</ul>
</div>
{% endblock content %}