aboutsummaryrefslogtreecommitdiff
path: root/layouts/partials
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/partials')
-rw-r--r--layouts/partials/comments.html35
-rw-r--r--layouts/partials/footer.html37
-rw-r--r--layouts/partials/head.html71
-rw-r--r--layouts/partials/header.html13
-rw-r--r--layouts/partials/post/copyright.html33
-rw-r--r--layouts/partials/post/reward.html19
-rw-r--r--layouts/partials/post/toc.html8
-rw-r--r--layouts/partials/scripts.html55
-rw-r--r--layouts/partials/slideout.html19
9 files changed, 290 insertions, 0 deletions
diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html
new file mode 100644
index 0000000..fea1a33
--- /dev/null
+++ b/layouts/partials/comments.html
@@ -0,0 +1,35 @@
+{{ if and .IsPage (ne .Params.comment false) }}
+ <!-- Disqus -->
+ {{- if .Site.DisqusShortname -}}
+ <div id="disqus_thread"></div>
+ <script type="text/javascript">
+ (function() {
+ // Don't ever inject Disqus on localhost--it creates unwanted
+ // discussions from 'localhost:1313' on your Disqus account...
+ if (window.location.hostname === 'localhost') return;
+
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ var disqus_shortname = '{{ .Site.DisqusShortname }}';
+ dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+ </script>
+ <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
+ <a href="http://disqus.com/" class="dsq-brlink" target="_blank">comments powered by <span class="logo-disqus">Disqus</span></a>
+ {{- end }}
+
+ <!-- changyan -->
+ {{- if and .Site.Params.changyanAppid .Site.Params.changyanAppkey -}}
+ <div id="SOHUCS"></div>
+ <script type="text/javascript">
+ (function(){
+ if (window.location.hostname === 'localhost') return;
+
+ var appid = '{{ .Site.Params.changyanAppid }}';
+ var conf = '{{ .Site.Params.changyanAppkey }}';
+ var width = window.innerWidth || document.documentElement.clientWidth;
+ if (width < 960) {window.document.write('<script async id="changyan_mobile_js" charset="utf-8" type="text/javascript" src="http://changyan.sohu.com/upload/mobile/wap-js/changyan_mobile.js?client_id=' + appid + '&conf=' + conf + '"><\/script>'); } else { var loadJs=function(d,a){var c=document.getElementsByTagName("head")[0]||document.head||document.documentElement;var b=document.createElement("script");b.async = true;b.setAttribute("type","text/javascript");b.setAttribute("charset","UTF-8");b.setAttribute("src",d);if(typeof a==="function"){if(window.attachEvent){b.onreadystatechange=function(){var e=b.readyState;if(e==="loaded"||e==="complete"){b.onreadystatechange=null;a()}}}else{b.onload=a}}c.appendChild(b)};loadJs("http://changyan.sohu.com/upload/changyan.js",function(){window.changyan.api.config({appid:appid,conf:conf})}); }
+ })();
+ </script>
+ {{- end }}
+{{- 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..246f26a
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,37 @@
+<div class="social-links">
+ {{- range $name, $path := .Site.Params.social }}
+ {{- if $path }}
+ {{- $realName := slicestr $name 2 }}
+ {{- if eq $realName "email" }}
+ <a href="mailto:{{ $path }}" class="iconfont icon-{{ $realName }}" title="{{ $realName }}"></a>
+ {{- else }}
+ <a href="{{ $path }}" class="iconfont icon-{{ $realName }}" title="{{ $realName }}"></a>
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ <a href="{{ .Site.RSSLink }}" type="application/rss+xml" class="iconfont icon-rss" title="rss"></a>
+</div>
+
+<div class="copyright">
+ <span class="power-by">
+ {{ (printf .Site.Data.even.default.footer.powered `<a class="hexo-link" href="https://gohugo.io">Hugo</a>`) | safeHTML }}
+ </span>
+ <span class="division">|</span>
+ <span class="theme-info">
+ {{ .Site.Data.even.default.footer.theme }} -
+ <a class="theme-link" href="https://github.com/ahonn/hexo-theme-even">Even</a>
+ </span>
+
+ <span class="copyright-year">
+ {{- $current := now.Format "2006" }}
+ &copy;
+ {{ if ne .Site.Params.since $current }}
+ {{ .Site.Params.since }} -
+ {{ end }}
+ {{- $current }}
+ <span class="heart">
+ <i class="iconfont icon-heart"></i>
+ </span>
+ <span class="author">{{ .Site.Author.name }}</span>
+ </span>
+</div> \ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..0310b16
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,71 @@
+<meta name="renderer" content="webkit" />
+<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
+
+<meta http-equiv="Cache-Control" content="no-transform" />
+<meta http-equiv="Cache-Control" content="no-siteapp" />
+
+<meta name="theme-color" content="#f8f5ec" />
+<meta name="msapplication-navbutton-color" content="#f8f5ec">
+<meta name="apple-mobile-web-app-capable" content="yes">
+<meta name="apple-mobile-web-app-status-bar-style" content="#f8f5ec">
+
+<!-- author & description & keywords -->
+<meta name="author" content="{{ if .Params.author }}{{ .Params.author | safeHTML }}{{ else }}{{ .Site.Author.name | safeHTML }}{{ end }}" />
+
+{{- if .Description -}}
+ <meta name="description" content="{{ .Description | safeHTML }}" />
+{{ else if .IsPage }}
+ <meta name="description" content="{{ .Summary | plainify }}" />
+{{ else if .Site.Params.description }}
+ <meta name="description" content="{{ .Site.Params.description | safeHTML }}" />
+{{- end -}}
+
+{{- if .Keywords -}}
+ {{ $length := len .Keywords | add -1 -}}
+ <meta name="keywords" content="{{ range $index, $element := .Keywords }}{{ $element | safeHTML }}{{if ne $index $length }}, {{ end }}{{ end }}" />
+{{ else if .Site.Params.keywords }}
+ {{ $length := len .Site.Params.keywords | add -1 -}}
+ <meta name="keywords" content="{{ range $index, $element := .Site.Params.keywords }}{{ $element | safeHTML }}{{if ne $index $length }}, {{ end }}{{ end }}" />
+{{- end }}
+
+<!-- baidu & google verification -->
+{{ with .Site.Params.baidu_verification }}<meta name="baidu-site-verification" content="{{.}}" />{{ end }}
+{{ with .Site.Params.google_verification }}<meta name="google-site-verification" content="{{.}}" />{{ end }}
+
+<!-- Site Generator -->
+<meta name="generator" content="Hugo {{ .Hugo.Version }}" />
+
+<!-- Permalink & RSSlink -->
+<link rel="canonical" href="{{ .Permalink }}" />
+{{ if .RSSLink -}}
+ <link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
+ <link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />
+{{ end -}}
+
+<!-- Favicon and Touch icons -->
+<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+<link rel="icon" href="/favicon.ico" />
+<link rel="manifest" href="/manifest.json">
+<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
+
+<!-- Styles -->
+<link href="/dist/even.v{{ .Site.Params.version }}.css" rel="stylesheet">
+{{ if .Site.Params.bootcdn -}}
+ {{ if .Site.Params.fancybox }}<link href="https://cdn.bootcss.com/fancybox/3.1.20/jquery.fancybox.min.css" rel="stylesheet">{{ end }}
+{{ else -}}
+ {{ if .Site.Params.fancybox }}<link href="/lib/fancybox/jquery.fancybox-3.1.20.min.css" rel="stylesheet">{{ end }}
+{{- end }}
+
+{{/* NOTE: These Hugo Internal Templates can be found starting at https://github.com/spf13/hugo/blob/master/tpl/tplimpl/template_embedded.go#L158 */}}
+{{- template "_internal/opengraph.html" . -}}
+{{- template "_internal/google_news.html" . -}}
+{{- template "_internal/schema.html" . -}}
+{{- template "_internal/twitter_cards.html" . -}}
+
+<!-- Polyfill for old browsers -->
+{{ `<!--[if lt IE 9]>
+ <script src="//cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+ <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
+<![endif]-->` | safeHTML }}
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..a8a555a
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,13 @@
+<div class="logo-wrapper">
+ <a href="/" class="logo">{{ .Site.Title }}</a>
+</div>
+
+<nav class="site-navbar">
+ <ul id="menu" class="menu">
+ {{ range .Site.Menus.main -}}
+ <li class="menu-item">
+ <a class="menu-item-link" href="{{ .URL }}">{{ .Name }}</a>
+ </li>
+ {{- end }}
+ </ul>
+</nav> \ No newline at end of file
diff --git a/layouts/partials/post/copyright.html b/layouts/partials/post/copyright.html
new file mode 100644
index 0000000..6908b10
--- /dev/null
+++ b/layouts/partials/post/copyright.html
@@ -0,0 +1,33 @@
+{{ if and .Site.Copyright (ne .Params.copyright false) }}
+{{ $lang := .Site.Data.even.default -}}
+<div class="post-copyright">
+ <p class="copyright-item">
+ <span class="item-title">{{ $lang.copyright.author }}: </span>
+ <span>{{ if .Params.author }}{{ .Params.author | safeHTML }}{{ else }}{{ .Site.Author.name | safeHTML }}{{ end }}</span>
+ </p>
+ <p class="copyright-item">
+ <span class="item-title">{{ $lang.copyright.lastMod }}: </span>
+ {{ .Lastmod.Format "2006-01-02" }}
+ </p>
+ <p class="copyright-item">
+ <span class="item-title">{{ $lang.copyright.link }}: </span>
+ <a href="{{ .Permalink }}">{{ .Permalink }}</a>
+ </p>
+ {{ if $.Site.Params.linkToMarkDown -}}
+ {{ with $.OutputFormats.Get "markdown" -}}
+ <p class="copyright-item">
+ <span class="item-title">{{ $lang.copyright.markdown }}: </span>
+ <a class="link-to-markdown" href="{{ .Permalink }}" target="_blank">{{ $lang.posts.seeMarkDown }}</a>
+ </p>
+ {{- end }}
+ {{- end }}
+ <p class="copyright-item lincese">
+ <span class="item-title">{{ $lang.copyright.lincese }}: </span>
+ {{ if .Params.copyright -}}
+ {{ .Params.copyright | safeHTML }}
+ {{ else -}}
+ {{ .Site.Copyright | safeHTML }}
+ {{- end }}
+ </p>
+</div>
+{{- end }} \ No newline at end of file
diff --git a/layouts/partials/post/reward.html b/layouts/partials/post/reward.html
new file mode 100644
index 0000000..5a26cd7
--- /dev/null
+++ b/layouts/partials/post/reward.html
@@ -0,0 +1,19 @@
+{{ if and .Site.Params.reward.enable (ne .Params.reward false) }}
+<div class="post-reward">
+ <input type="checkbox" name="reward" id="reward" hidden />
+ <label class="reward-button" for="reward">{{ .Site.Data.even.default.posts.reward }}</label>
+ <div class="qr-code">
+ {{ $qrCode := .Site.Params.reward }}
+ {{ with $qrCode.wechat }}
+ <label class="qr-code-image" for="reward">
+ <img class="image" src="{{ . }}" title="wechat">
+ </label>
+ {{- end }}
+ {{ with $qrCode.alipay }}
+ <label class="qr-code-image" for="reward">
+ <img class="image" src="{{ . }}" title="alipay">
+ </label>
+ {{- end }}
+ </div>
+</div>
+{{- end }} \ No newline at end of file
diff --git a/layouts/partials/post/toc.html b/layouts/partials/post/toc.html
new file mode 100644
index 0000000..7921065
--- /dev/null
+++ b/layouts/partials/post/toc.html
@@ -0,0 +1,8 @@
+{{ if and .Site.Params.toc (ne .Params.toc false) }}
+<div class="post-toc" id="post-toc">
+ <h2 class="post-toc-title">{{ .Site.Data.even.default.posts.toc }}</h2>
+ <div class="post-toc-content">
+ {{.TableOfContents}}
+ </div>
+</div>
+{{- end }} \ No newline at end of file
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
new file mode 100644
index 0000000..d1eefa8
--- /dev/null
+++ b/layouts/partials/scripts.html
@@ -0,0 +1,55 @@
+<!-- js -->
+<script src="/lib/highlight/highlight.pack.js"></script>
+{{ if .Site.Params.bootcdn -}}
+ <!-- script src="https://cdn.bootcss.com/highlight.js/9.12.0/highlight.min.js"></script -->
+ <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
+ <script type="text/javascript" src="https://cdn.bootcss.com/slideout/1.0.1/slideout.min.js"></script>
+ {{ if .Site.Params.fancybox }}<script type="text/javascript" src="https://cdn.bootcss.com/fancybox/3.1.20/jquery.fancybox.min.js"></script>{{ end }}
+ <script type="text/javascript" src="/dist/even.v{{ .Site.Params.version }}.js"></script>
+{{ else -}}
+ <script type="text/javascript" src="/lib/jquery/jquery-3.2.1.min.js"></script>
+ <script type="text/javascript" src="/lib/slideout/slideout-1.0.1.min.js"></script>
+ {{ if .Site.Params.fancybox }}<script type="text/javascript" src="/lib/fancybox/jquery.fancybox-3.1.20.min.js"></script>{{ end }}
+ <script type="text/javascript" src="/dist/even.v{{ .Site.Params.version }}.js"></script>
+{{- end }}
+
+{{ if and (and .Site.Params.mathjax (ne .Params.mathjax false)) (or .IsPage .IsHome) -}}
+ <script async src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML'></script>
+{{- end }}
+
+<!-- Analytics -->
+{{- if .Site.GoogleAnalytics -}}
+ {{ template "_internal/google_analytics_async.html" . }}
+{{- end -}}
+
+{{- with .Site.Params.baidu_analytics -}}
+<script id="baidu_analytics">
+ var _hmt = _hmt || [];
+ (function() {
+ if (window.location.hostname === 'localhost') return;
+ var hm = document.createElement("script"); hm.async = true;
+ hm.src = "https://hm.baidu.com/hm.js?{{.}}";
+ var s = document.getElementsByTagName("script")[0];
+ s.parentNode.insertBefore(hm, s);
+ })();
+</script>
+{{- end }}
+
+<!-- baidu_push -->
+{{- if .Site.Params.baidu_push -}}
+<script id="baidu_push">
+ (function(){
+ if (window.location.hostname === 'localhost') return;
+ var bp = document.createElement('script'); bp.async = true;
+ var curProtocol = window.location.protocol.split(':')[0];
+ if (curProtocol === 'https') {
+ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
+ }
+ else {
+ bp.src = 'http://push.zhanzhang.baidu.com/push.js';
+ }
+ var s = document.getElementsByTagName("script")[0];
+ s.parentNode.insertBefore(bp, s);
+ })();
+</script>
+{{- end }} \ No newline at end of file
diff --git a/layouts/partials/slideout.html b/layouts/partials/slideout.html
new file mode 100644
index 0000000..4ec6344
--- /dev/null
+++ b/layouts/partials/slideout.html
@@ -0,0 +1,19 @@
+<div id="mobile-navbar" class="mobile-navbar">
+ <div class="mobile-header-logo">
+ <a href="/" class="logo">{{ .Site.Title }}</a>
+ </div>
+ <div class="mobile-navbar-icon">
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+</div>
+<nav id="mobile-menu" class="mobile-menu slideout-menu">
+ <ul class="mobile-menu-list">
+ {{ range .Site.Menus.main -}}
+ <a href="{{ .URL }}">
+ <li class="mobile-menu-item">{{ .Name }}</li>
+ </a>
+ {{- end }}
+ </ul>
+</nav> \ No newline at end of file