From d7ace063d785c563b6823ce41b70a682429c2496 Mon Sep 17 00:00:00 2001
From: Alexander Bilz <mail@alexbilz.com>
Date: Fri, 10 Apr 2020 20:13:30 +0000
Subject: [PATCH] 🌌 Initial Commit
---
layouts/_default/baseof.html | 17
layouts/_default/single.html | 38 ++
layouts/partials/sidebar.html | 21 +
.gitignore | 4
static/js/jquery.appear.js | 101 +++++
layouts/404.html | 0
README.md | 1
layouts/_default/list.html | 18 +
layouts/partials/taxonomy/tags.html | 7
theme.toml | 21 +
archetypes/post.md | 8
layouts/partials/navbar.html | 13
layouts/index.html | 20 +
layouts/partials/head.html | 23 +
static/js/jquery-migrate-1.2.1.min.js | 2
LICENSE | 20 +
layouts/partials/katex.html | 5
static/css/style.css | 702 +++++++++++++++++++++++++++++++++++++++
layouts/partials/footer.html | 10
layouts/partials/taxonomy/categories.html | 7
20 files changed, 1,038 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ee4d895
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+**/themes/
+demo/
+.hugo/*
+!.hugo/version
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..635021b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2020 lxndrblz
+
+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.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d48984c
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+Anatole is a minimalist two-column hugo theme based on farbox-theme-Anatole.
\ No newline at end of file
diff --git a/archetypes/post.md b/archetypes/post.md
new file mode 100644
index 0000000..fb31d97
--- /dev/null
+++ b/archetypes/post.md
@@ -0,0 +1,8 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+Description: ""
+Tags: []
+Categories: []
+DisableComments: false
+---
\ No newline at end of file
diff --git a/layouts/404.html b/layouts/404.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/layouts/404.html
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..bfe975b
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+ {{- partial "head.html" . -}}
+ <body>
+ {{- partial "sidebar.html" . -}}
+ <div class="main">
+ {{ partial "navbar.html" . }}
+ <div class="autopagerize_page_element">
+ <div class="content">
+ {{- block "main" . }}{{- end }}
+ </div>
+ </div>
+ </div>
+ {{- partial "footer.html" . -}}
+ </body>
+
+</html>
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..0bdf988
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,18 @@
+{{ define "main" }}
+<div class="archive animated fadeInDown">
+
+ <ul class="list-with-title">
+ {{ range .Data.Pages.GroupByDate "2006" }}
+ <div class="listing-title">{{ .Key }}</div>
+ {{ range .Pages }}
+ <ul class="listing">
+ <div class="listing-item">
+ <div class="listing-post"><a href="{{ .Permalink }}" title="{{ .Title }}">{{ .Title }}</a>
+ <div class="post-time"><span class="date">{{.Date.Format "Jan 2" }}</span></div>
+ </div>
+ </div>
+ </ul>
+ {{ end }}
+ {{ end }}
+ </div>
+{{ end }}
\ No newline at end of file
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..0472d18
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,38 @@
+ {{ define "main" }}
+<div class="post animated fadeInDown">
+
+
+
+ <div class="post-content">
+
+ <div class="post-title">
+ <h3>{{ .Title }}
+ </h3>
+ {{ if eq .Type "post"}}
+ <div class="info">
+ <i class="fa fa-sun-o"></i><span class="date">{{ .Date.Format "Mon, Jan 2, 2006" }}</span>
+ <i class="fa fa-clock-o"></i><span class="reading-time">{{ .ReadingTime }}-minute read</span>
+ </div>
+ {{ end }}
+ </div>
+
+ {{ .Content }}
+ </div>
+ <div class="post-footer">
+ <div class="info">
+ {{ with .Page.Params.Categories }}{{ partial "taxonomy/categories.html" . }}{{ end }}
+ {{ with .Page.Params.Tags }}{{ partial "taxonomy/tags.html" . }}{{ end }}
+ </div>
+ </div>
+
+ </div>
+</div>
+{{ if eq .Type "post"}}
+<div id="fb_comments_container">
+ {{ if .Site.DisqusShortname -}}
+ <h2>Comments</h2>
+ {{ template "_internal/disqus.html" . }}
+ {{- end }}
+</div>
+{{ end }}
+{{ end }}
\ No newline at end of file
diff --git a/layouts/index.html b/layouts/index.html
new file mode 100644
index 0000000..a08c25a
--- /dev/null
+++ b/layouts/index.html
@@ -0,0 +1,20 @@
+{{ define "main" }}
+
+<div class="about animated fadeInDown">
+ {{ range first 10 .Data.Pages }}
+ {{ if eq .Type "post"}}
+ <div>
+ <h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
+ {{ .Summary }}
+ </div>
+ {{ if .Truncated }}
+ <!-- This <div> includes a read more link, but only if the summary is truncated... -->
+ <div>
+ <a href="{{ .RelPermalink }}">Read More…</a>
+ </div>
+ {{ end }}
+ {{ end }}
+ {{ end }}
+</div>
+
+{{ end }}
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..47b65a9
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,10 @@
+
+<script
+ src="https://code.jquery.com/jquery-3.4.1.min.js"
+ integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
+ crossorigin="anonymous">
+</script>
+<script type="text/javascript" src="{{ `js/jquery-migrate-1.2.1.min.js` | absURL }}"></script>
+<script type="text/javascript" src="{{ `js/jquery.appear.js` | absURL }}"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..4e75517
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,23 @@
+<head>
+ <title> {{.Site.Params.author}} | {{.Title}} </title>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta name="description" content="{{ .Site.Params.description }}">
+ <link rel="stylesheet" href="{{ `css/style.css` | absURL }}" type="text/css">
+
+ <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
+ <base href="{{ .Site.BaseURL }}">
+
+ <link rel="shortcut icon" href="{{ `images/favicon.png` | absURL }}" type="image/x-icon">
+ <link rel="canonical" href="{{ .Permalink }}">
+ {{ if or .Params.math .Site.Params.math }}
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
+
+ <!-- The loading of KaTeX is deferred to speed up page rendering -->
+ <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
+
+ <!-- To automatically render math in text elements, include the auto-render extension: -->
+ <script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
+ onload="renderMathInElement(document.body);"></script>
+ {{ end }}
+</head>
\ No newline at end of file
diff --git a/layouts/partials/katex.html b/layouts/partials/katex.html
new file mode 100644
index 0000000..c9f52f9
--- /dev/null
+++ b/layouts/partials/katex.html
@@ -0,0 +1,5 @@
+<!-- CSS File -->
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.min.css" integrity="sha384-D+9gmBxUQogRLqvARvNLmA9hS2x//eK1FhVb9PiU86gmcrBrJAQT8okdJ4LMp2uv" crossorigin="anonymous">
+
+<!-- JS Fle -->
+<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0-rc.1/dist/katex.min.js" integrity="sha384-483A6DwYfKeDa0Q52fJmxFXkcPCFfnXMoXblOkJ4JcA8zATN6Tm78UNL72AKk+0O" crossorigin="anonymous"></script>
\ No newline at end of file
diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html
new file mode 100644
index 0000000..e69065a
--- /dev/null
+++ b/layouts/partials/navbar.html
@@ -0,0 +1,13 @@
+<div class="page-top animated fadeInDown">
+ <div class="nav">
+ <li>
+ <a href="{{ .Site.BaseURL }}">Home</a>
+ </li>
+ {{ range .Site.Menus.main -}}
+ <li>
+ <a href="{{.URL}}"> {{ .Name }} </a>
+ </li>
+ {{- end }}
+
+ </div>
+</div>
\ No newline at end of file
diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html
new file mode 100644
index 0000000..ad3553f
--- /dev/null
+++ b/layouts/partials/sidebar.html
@@ -0,0 +1,21 @@
+<div class="sidebar animated fadeInDown">
+ <div class="logo-title">
+ <div class="title">
+ <img src="{{ .Site.Params.profilePicture | absURL }}" style="width:256px;border-radius: 50%;">
+ <h3 title=""><a href="/">{{ .Site.Title }}</a></h3>
+ <div class="description">
+ <p>{{ .Site.Params.description }}</p>
+ </div>
+ </div>
+ </div>
+ <ul class="social-links">
+ {{ range $item := .Site.Params.socialIcons }}
+ <a href="{{ $item.url }}" rel="me" >
+ <i class="fa {{ $item.icon }}" aria-hidden="true" title="{{ $item.title }}"></i>
+ </a>
+ {{ end }}
+ </ul>
+ <div class="footer">
+ <div class="by_farbox">© {{ .Site.Params.author }} {{ now.Format "2006"}} </div>
+ </div>
+</div>
\ No newline at end of file
diff --git a/layouts/partials/taxonomy/categories.html b/layouts/partials/taxonomy/categories.html
new file mode 100644
index 0000000..22eedaf
--- /dev/null
+++ b/layouts/partials/taxonomy/categories.html
@@ -0,0 +1,7 @@
+
+<i class="fa fa-folder"></i>
+<span class="separator">
+{{- range $index, $el := . -}}
+ <a href="{{ ( printf "categories/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
+{{- end -}}
+</span>
diff --git a/layouts/partials/taxonomy/tags.html b/layouts/partials/taxonomy/tags.html
new file mode 100644
index 0000000..d5cde77
--- /dev/null
+++ b/layouts/partials/taxonomy/tags.html
@@ -0,0 +1,7 @@
+
+ <i class="fa fa-hashtag"></i>
+ <span class="separator">
+ {{- range $index, $el := . -}}
+ <a href="{{ ( printf "tags/%s/" ( . | urlize ) ) | relLangURL }}">{{ . }}</a>
+ {{- end -}}
+ </span>
diff --git a/static/css/style.css b/static/css/style.css
new file mode 100644
index 0000000..664bf14
--- /dev/null
+++ b/static/css/style.css
@@ -0,0 +1,702 @@
+@charset "UTF-8";
+html {
+ background-color: #fff;
+ -webkit-font-smoothing: antialiased;
+}
+
+body {
+ color: rgba(0, 0, 0, 0.5);
+ 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: #fff;
+}
+
+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: #424242;
+}
+
+a:hover, a:active {
+ color: #4786D6;
+}
+
+/*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: 60%;
+ margin-top: 60px;
+}
+
+.page-top {
+ width: 60%;
+ position: fixed;
+ right: 0;
+ z-index: 3;
+ background-color: #fff;
+ height: 60px;
+ border-bottom: 1px solid #f2f2f2;
+}
+.page-top .nav {
+ list-style: none;
+ padding: 18px 30px;
+ float: left;
+ font-size: 12px;
+}
+.page-top .nav li {
+ position: relative;
+ display: initial;
+ padding-right: 20px;
+}
+.page-top .nav a {
+ color: #5A5A5A;
+}
+.page-top .nav a:hover {
+ color: #4786D6;
+}
+.page-top .nav a.current {
+ color: #5A5A5A;
+ padding-bottom: 22px;
+ border-bottom: 1px solid #5A5A5A;
+}
+.page-top .information {
+ float: right;
+ padding-top: 12px;
+ padding-right: 20px;
+}
+.page-top .information .avatar {
+ float: right;
+}
+.page-top .information .avatar img {
+ width: 32px;
+ height: 32px;
+ border-radius: 300px;
+}
+.page-top .information .back_btn {
+ float: left;
+ padding-top: 5px;
+ margin-right: -10px;
+}
+.page-top .information .back_btn li {
+ display: initial;
+ padding-right: 40px;
+}
+
+.sidebar {
+ width: 40%;
+ -webkit-background-size: cover;
+ background-size: cover;
+ background-color: #fff;
+ height: 100%;
+ transition: 0.8s;
+ top: 0;
+ left: 0;
+ position: fixed;
+ z-index: 4;
+ border-right: 1px solid #f2f2f2;
+}
+.sidebar .logo-title {
+ text-align: center;
+ padding-top: 240px;
+}
+.sidebar .logo-title .description {
+ font-size: 14px;
+ color: #565654;
+}
+.sidebar .logo-title .logo {
+ margin: 0 auto;
+}
+.sidebar .logo-title .title h3 {
+ text-transform: uppercase;
+ font-size: 2rem;
+ font-weight: bold;
+ letter-spacing: 2px;
+ line-height: 1;
+ margin: 1em;
+}
+.sidebar .logo-title .title a {
+ text-decoration: none;
+ color: #464646;
+ font-size: 2rem;
+ font-weight: bold;
+}
+.sidebar .social-links {
+ list-style: none;
+ padding: 0;
+ font-size: 14px;
+ text-align: center;
+}
+.sidebar .social-links i {
+ margin-right: 3px;
+}
+.sidebar .social-links li {
+ display: inline;
+ padding: 0 4px;
+ line-height: 0;
+}
+.sidebar .social-links a {
+ color: #565654;
+}
+.sidebar .social-links a:hover {
+ color: #4786D6;
+}
+
+.post {
+ background-color: #FFF;
+ margin: 30px;
+}
+.post .post-title h1 {
+ text-transform: uppercase;
+ font-size: 30px;
+ letter-spacing: 5px;
+ line-height: 1;
+}
+.post .post-title h2 {
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ font-size: 28px;
+ line-height: 1;
+ font-weight: 600;
+ color: #5f5f5f;
+}
+.post .post-title h3 {
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ line-height: 1;
+ font-weight: 600;
+ color: #464646;
+ font-size: 22px;
+ margin: 0;
+}
+.post .post-title a {
+ text-decoration: none;
+ letter-spacing: 1px;
+ color: #5f5f5f;
+}
+.post .post-title a:hover {
+ text-decoration: underline;
+}
+.post .post-content a {
+ text-decoration: none;
+ letter-spacing: 1px;
+ color: #4786D6;
+}
+.post .post-content a:hover {
+ color: #2F69B3;
+}
+.post .post-content h3 {
+ color: #5F5F5F;
+ font-size: 22px;
+ font-weight: 600;
+}
+.post .post-content h4 {
+ color: #5F5F5F;
+ font-size: 16px;
+}
+.post .post-footer {
+ padding: 0 0 30px 0;
+ border-bottom: 1px solid #f2f2f2;
+}
+.post .post-footer .meta {
+ max-width: 100%;
+ height: 25px;
+ color: #bbbbbb;
+}
+.post .post-footer .meta .info {
+ float: left;
+ font-size: 12px;
+ margin-bottom: 1em;
+}
+.post .post-footer .info .separator a {
+ margin-right: 0.2em;
+}
+.post .post-footer .meta .info .date {
+ margin-right: 10px;
+}
+.info {
+ margin: 1em;
+}
+.post .post-footer .meta a {
+ text-decoration: none;
+ color: #bbbbbb;
+ padding-right: 10px;
+}
+.post .post-footer .meta a:hover {
+ color: #4786D6;
+}
+.post .post-footer .meta i {
+ margin-right: 6px;
+}
+.post .post-footer .tags {
+ padding-bottom: 15px;
+ font-size: 13px;
+}
+.post .post-footer .tags ul {
+ list-style-type: none;
+ display: inline;
+ margin: 0;
+ padding: 0;
+}
+.post .post-footer .tags ul li {
+ list-style-type: none;
+ margin: 0;
+ padding-right: 5px;
+ display: inline;
+}
+.post .post-footer .tags a {
+ text-decoration: none;
+ color: rgba(0, 0, 0, 0.44);
+ font-weight: 400;
+}
+.post .post-footer .tags a:hover {
+ text-decoration: none;
+}
+
+.pagination {
+ margin: 30px;
+ padding: 0px 0 56px 0;
+ border-bottom: 1px solid #f2f2f2;
+}
+.pagination ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ height: 13px;
+}
+.pagination ul li {
+ margin: 0 2px 0 2px;
+ display: inline;
+ line-height: 1;
+}
+.pagination ul li a {
+ text-decoration: none;
+}
+.pagination .pre {
+ float: left;
+}
+.pagination .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;
+ background: #fff;
+}
+.footer a {
+ color: #A6A6A6;
+}
+.footer a:hover {
+ color: #4786D6;
+}
+
+/*for archive*/
+.archive {
+ width: 100%;
+}
+
+.list-with-title {
+ font-size: 14px;
+ margin: 30px;
+ padding: 0;
+}
+.list-with-title li {
+ list-style-type: none;
+ padding: 0;
+}
+.list-with-title .listing-title {
+ font-size: 24px;
+ color: #666666;
+ font-weight: 600;
+ line-height: 2.2em;
+}
+.list-with-title .listing {
+ padding: 0;
+}
+.list-with-title .listing .listing-post {
+ padding-bottom: 5px;
+}
+.list-with-title .listing .listing-post .post-time {
+ float: right;
+ color: #C5C5C5;
+}
+.list-with-title .listing .listing-post a {
+ color: #8F8F8F;
+}
+.list-with-title .listing .listing-post a:hover {
+ color: #4786D6;
+}
+
+/* share */
+.share {
+ margin: 0px 30px;
+ display: inline-flex;
+}
+
+.evernote {
+ width: 32px;
+ height: 32px;
+ border-radius: 300px;
+ background-color: #3E3E3E;
+ margin-right: 5px;
+}
+.evernote a {
+ color: #fff;
+ padding: 11px;
+ font-size: 12px;
+}
+.evernote a:hover {
+ color: #ED6243;
+ padding: 11px;
+}
+
+.weibo {
+ width: 32px;
+ height: 32px;
+ border-radius: 300px;
+ background-color: #ED6243;
+ margin-right: 5px;
+}
+.weibo a {
+ color: #fff;
+ padding: 9px;
+}
+.weibo a:hover {
+ color: #BD4226;
+}
+
+.twitter {
+ width: 32px;
+ height: 32px;
+ border-radius: 300px;
+ background-color: #59C0FD;
+ margin-right: 5px;
+}
+.twitter a {
+ color: #fff;
+ padding: 9px;
+}
+.twitter a:hover {
+ color: #4B9ECE;
+}
+
+/* about */
+.about {
+ margin: 30px;
+}
+.about h3 {
+ font-size: 22px;
+}
+
+/* links*/
+.links {
+ margin: 30px;
+}
+.links h3 {
+ font-size: 22px;
+}
+.links 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: transparent;
+ 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: transparent;
+ 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样式 */
+.menu {
+ float: right;
+ padding-top: 30px;
+}
+.menu .btn-down {
+ margin: 0px;
+}
+.menu .btn-down li {
+ list-style: none;
+ width: 100px;
+}
+.menu .btn-down li a {
+ display: inline-block;
+ position: relative;
+ padding: 0.5em 1.25em;
+ outline: 0;
+ color: rgba(0, 0, 0, 0.44);
+ background: transparent;
+ 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;
+}
+.menu .btn-down li a: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;
+}
+.menu .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;
+ }
+ .sidebar .logo-title {
+ padding-top: 120px;
+ }
+ .sidebar .logo-title .title img {
+ width: 100px;
+ }
+ .sidebar .logo-title .title 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;
+ }
+}
\ No newline at end of file
diff --git a/static/js/jquery-migrate-1.2.1.min.js b/static/js/jquery-migrate-1.2.1.min.js
new file mode 100644
index 0000000..62149c2
--- /dev/null
+++ b/static/js/jquery-migrate-1.2.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
+jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
\ No newline at end of file
diff --git a/static/js/jquery.appear.js b/static/js/jquery.appear.js
new file mode 100644
index 0000000..f7ed003
--- /dev/null
+++ b/static/js/jquery.appear.js
@@ -0,0 +1,101 @@
+/*
+ * jQuery appear plugin
+ *
+ * Copyright (c) 2012 Andrey Sidorov
+ * licensed under MIT license.
+ *
+ * https://github.com/morr/jquery.appear/
+ *
+ * Version: 0.3.3
+ */
+(function($) {
+ var selectors = [];
+
+ var check_binded = false;
+ var check_lock = false;
+ var defaults = {
+ interval: 250,
+ force_process: false
+ }
+ var $window = $(window);
+
+ var $prior_appeared;
+
+ function process() {
+ check_lock = false;
+ for (var index = 0; index < selectors.length; index++) {
+ var $appeared = $(selectors[index]).filter(function() {
+ return $(this).is(':appeared');
+ });
+
+ $appeared.trigger('appear', [$appeared]);
+
+ if ($prior_appeared) {
+ var $disappeared = $prior_appeared.not($appeared);
+ $disappeared.trigger('disappear', [$disappeared]);
+ }
+ $prior_appeared = $appeared;
+ }
+ }
+
+ // "appeared" custom filter
+ $.expr[':']['appeared'] = function(element) {
+ var $element = $(element);
+ if (!$element.is(':visible')) {
+ return false;
+ }
+
+ var window_left = $window.scrollLeft();
+ var window_top = $window.scrollTop();
+ var offset = $element.offset();
+ var left = offset.left;
+ var top = offset.top;
+
+ if (top + $element.height() >= window_top &&
+ top - ($element.data('appear-top-offset') || 0) <= window_top + $window.height() &&
+ left + $element.width() >= window_left &&
+ left - ($element.data('appear-left-offset') || 0) <= window_left + $window.width()) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ $.fn.extend({
+ // watching for element's appearance in browser viewport
+ appear: function(options) {
+ var opts = $.extend({}, defaults, options || {});
+ var selector = this.selector || this;
+ if (!check_binded) {
+ var on_check = function() {
+ if (check_lock) {
+ return;
+ }
+ check_lock = true;
+
+ setTimeout(process, opts.interval);
+ };
+
+ $(window).scroll(on_check).resize(on_check);
+ check_binded = true;
+ }
+
+ if (opts.force_process) {
+ setTimeout(process, opts.interval);
+ }
+ selectors.push(selector);
+ return $(selector);
+ }
+ });
+
+ $.extend({
+ // force elements's appearance check
+ force_appear: function() {
+ if (check_binded) {
+ process();
+ return true;
+ };
+ return false;
+ }
+ });
+})(jQuery);
\ No newline at end of file
diff --git a/theme.toml b/theme.toml
new file mode 100644
index 0000000..3fd8a45
--- /dev/null
+++ b/theme.toml
@@ -0,0 +1,21 @@
+# theme.toml template for a Hugo theme
+# See https://github.com/gohugoio/hugoThemes#themetoml for an example
+
+name = "Anatole"
+license = "MIT"
+licenselink = "https://github.com/lxndrblz/anatole/blob/master/LICENSE"
+description = ""
+homepage = "https://github.com/lxndrblz/anatole/"
+tags = ["blog", "responsive", "clean", "minimalist"]
+features = ["blog", "seo", "responsive", "mobile", "disqus"]
+min_version = "0.41"
+
+[author]
+ name = "Alexander Bilz"
+ homepage = "http://alexbilz.com"
+
+# If porting an existing theme
+[original]
+ name = "Anatole"
+ homepage = "http://anatole.cai-cai.me/"
+ repo = "https://github.com/hi-caicai/farbox-theme-Anatole"
--
Gitblit v1.10.0