mirror of https://github.com/lxndrblz/anatole.git

Alexander Bilz
10.13.2020 d7ace063d785c563b6823ce41b70a682429c2496
🌌 Initial Commit
20 files added
1038 ■■■■■ changed files
.gitignore 4 ●●●● patch | view | raw | blame | history
LICENSE 20 ●●●●● patch | view | raw | blame | history
README.md 1 ●●●● patch | view | raw | blame | history
archetypes/post.md 8 ●●●●● patch | view | raw | blame | history
layouts/404.html patch | view | raw | blame | history
layouts/_default/baseof.html 17 ●●●●● patch | view | raw | blame | history
layouts/_default/list.html 18 ●●●●● patch | view | raw | blame | history
layouts/_default/single.html 38 ●●●●● patch | view | raw | blame | history
layouts/index.html 20 ●●●●● patch | view | raw | blame | history
layouts/partials/footer.html 10 ●●●●● patch | view | raw | blame | history
layouts/partials/head.html 23 ●●●●● patch | view | raw | blame | history
layouts/partials/katex.html 5 ●●●●● patch | view | raw | blame | history
layouts/partials/navbar.html 13 ●●●●● patch | view | raw | blame | history
layouts/partials/sidebar.html 21 ●●●●● patch | view | raw | blame | history
layouts/partials/taxonomy/categories.html 7 ●●●●● patch | view | raw | blame | history
layouts/partials/taxonomy/tags.html 7 ●●●●● patch | view | raw | blame | history
static/css/style.css 702 ●●●●● patch | view | raw | blame | history
static/js/jquery-migrate-1.2.1.min.js 2 ●●●●● patch | view | raw | blame | history
static/js/jquery.appear.js 101 ●●●●● patch | view | raw | blame | history
theme.toml 21 ●●●●● patch | view | raw | blame | history
.gitignore
New file
@@ -0,0 +1,4 @@
**/themes/
demo/
.hugo/*
!.hugo/version
LICENSE
New file
@@ -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.
README.md
New file
@@ -0,0 +1 @@
Anatole is a minimalist two-column hugo theme based on farbox-theme-Anatole.
archetypes/post.md
New file
@@ -0,0 +1,8 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
Description: ""
Tags: []
Categories: []
DisableComments: false
---
layouts/404.html
layouts/_default/baseof.html
New file
@@ -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>
layouts/_default/list.html
New file
@@ -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 }}
layouts/_default/single.html
New file
@@ -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 }}
layouts/index.html
New file
@@ -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 }}
layouts/partials/footer.html
New file
@@ -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>
layouts/partials/head.html
New file
@@ -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>
layouts/partials/katex.html
New file
@@ -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>
layouts/partials/navbar.html
New file
@@ -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>
layouts/partials/sidebar.html
New file
@@ -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">&copy; {{ .Site.Params.author }} {{ now.Format "2006"}} </div>
    </div>
</div>
layouts/partials/taxonomy/categories.html
New file
@@ -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>
layouts/partials/taxonomy/tags.html
New file
@@ -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>
static/css/style.css
New file
@@ -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;
  }
}
static/js/jquery-migrate-1.2.1.min.js
New file
@@ -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);
static/js/jquery.appear.js
New file
@@ -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);
theme.toml
New file
@@ -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"