feat: add Katex

This commit is contained in:
Dillon
2019-08-05 21:15:01 +08:00
parent 0e31808712
commit 95aeca1c41
12 changed files with 235 additions and 216 deletions

View File

@@ -1,3 +1,11 @@
{{ $cdn_url := ""}}
{{ if eq ( getenv "HUGO_ENV" ) "production" }}
{{ with .Site.Params.cdn_url }}
{{ $cdn_url = .}}
{{ end }}
{{ end }}
{{ .Scratch.Set "cdn_url" $cdn_url }}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}"> <html lang="{{ .Site.LanguageCode }}">
<head> <head>
@@ -6,16 +14,9 @@
<title>{{ block "title" . -}}{{ .Site.Title }}{{- end }}</title> <title>{{ block "title" . -}}{{ .Site.Title }}{{- end }}</title>
{{ partial "head.html" . }} {{ partial "head.html" . }}
</head> </head>
{{ $cdn_url := ""}}
{{ if eq ( getenv "HUGO_ENV" ) "production" }}
{{ with .Site.Params.cdn_url }}
{{ $cdn_url = .}}
{{ end }}
{{ end }}
{{ .Scratch.Set "cdn_url" $cdn_url }}
<body class=""> <body class="">
<div class="wrapper"> <div class="wrapper">
{{ partial "header" . }} {{ partial "header.html" . }}
<main class="main"> <main class="main">
<div class="container"> <div class="container">
{{ block "content" . }}{{ end }} {{ block "content" . }}{{ end }}

View File

@@ -1,7 +1,22 @@
{{ if and .IsPage (ne .Params.comment false) -}} {{ if and .IsPage (ne .Params.comment false) -}}
<!-- Disqus Comment System--> <!-- Disqus Comment System-->
{{- if .Site.DisqusShortname -}} {{- if .Site.DisqusShortname -}}
{{ template "_internal/disqus.html" . }} <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="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com/" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
{{- end -}} {{- end -}}
<!-- gitalk Comment System--> <!-- gitalk Comment System-->
@@ -23,7 +38,7 @@
gitalk.render('gitalk-container'); gitalk.render('gitalk-container');
</script> </script>
<noscript>Please enable JavaScript to view the <a href="https://github.com/gitalk/gitalk">comments powered by gitalk.</a></noscript> <noscript>Please enable JavaScript to view the <a href="https://github.com/gitalk/gitalk">comments powered by gitalk.</a></noscript>
{{- end }} {{- end -}}
<!-- valine --> <!-- valine -->
{{- if .Site.Params.valine.enable -}} {{- if .Site.Params.valine.enable -}}

View File

@@ -1,5 +1,4 @@
{{ $style := resources.Get "css/main.scss" | resources.ToCSS | resources.Minify}} {{ $style := resources.Get "css/main.scss" | resources.ToCSS | resources.Minify}}
{{ $iconfont := resources.Get "font/iconfont.css" }} {{ $iconfont := resources.Get "font/iconfont.css" | resources.Minify }}
<link rel="stylesheet" href="{{ $iconfont.RelPermalink }}"> <link rel="stylesheet" href="{{ $iconfont.RelPermalink }}">
<link rel="stylesheet" href="{{ $style.RelPermalink }}"> <link rel="stylesheet" href="{{ $style.RelPermalink }}">

View File

@@ -8,7 +8,6 @@
<span class="author" itemprop="copyrightHolder"><a href="{{ .Site.BaseURL }}">{{ .Site.Params.author }}</a> | <span class="author" itemprop="copyrightHolder"><a href="{{ .Site.BaseURL }}">{{ .Site.Params.author }}</a> |
</span> </span>
{{ end }} {{ end }}
<span>{{ (printf (T "powered") `<a href="https://gohugo.io/" target="_blank" rel="external nofollow noopener noreffer">Hugo</a>`) | safeHTML }} | {{ T "theme" }}<a href="https://github.com/dillonzq/KeepIt" target="_blank" rel="external nofollow noopener noreffer">KeepIt</a></span> <span>{{ (printf (T "powered") `<a href="https://gohugo.io/" target="_blank" rel="external nofollow noopener noreffer">Hugo</a>`) | safeHTML }} | {{ T "theme" }}<a href="https://github.com/dillonzq/KeepIt" target="_blank" rel="external nofollow noopener noreffer">KeepIt</a></span>
</div> </div>
</footer> </footer>

View File

@@ -30,10 +30,14 @@
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff"> <meta name="theme-color" content="#ffffff">
{{ partial "css" . }}
{{ partial "css.html" . }}
{{ with .OutputFormats.Get "RSS" }} {{ with .OutputFormats.Get "RSS" }}
<link rel="alternate" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}"> <link rel="alternate" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}">
<link rel="feed" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}"> <link rel="feed" href="{{ .RelPermalink }}" type="application/rss+xml" title="{{ site.Title }}">
{{ end }} {{ end }}
{{ template "_internal/twitter_cards.html" . }} {{ template "_internal/twitter_cards.html" . }}
{{ partial "seo_schema" . }}
{{ partial "seo_schema.html" . }}

View File

@@ -1,7 +1,7 @@
{{ $cdn_url := .Scratch.Get "cdn_url" }}
<div class="post-warp"> <div class="post-warp">
<div class="intro"> <div class="intro">
{{ $cdn_url := .Scratch.Get "cdn_url" }}
{{ with .Site.Params.avatar}} {{ with .Site.Params.avatar}}
{{ $avatar := .}} {{ $avatar := .}}
<div class="avatar"> <div class="avatar">
@@ -10,7 +10,9 @@
{{ end }} {{ end }}
{{ if or .Params.gravatar.Email (and .Site.Params.gravatar.Email (ne .Params.gravatar.Email false)) }} {{ if or .Params.gravatar.Email (and .Site.Params.gravatar.Email (ne .Params.gravatar.Email false)) }}
<div class="avatar"> <div class="avatar">
<a href="/posts/"> <img src="https://www.gravatar.com/avatar/{{ md5 .Site.Params.gravatar.email }}?s=240&d=mp" alt="gravatar"> </a> <a href="/posts/"> <img
src="https://www.gravatar.com/avatar/{{ md5 .Site.Params.gravatar.email }}?s=240&d=mp"
alt="gravatar"> </a>
</div> </div>
{{ end }} {{ end }}
@@ -40,7 +42,8 @@
<div class="post-footer"> <div class="post-footer">
<div class="post-meta"> <div class="post-meta">
<span class="post-time"> <span class="post-time">
<time datetime={{.Date.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} itemprop="datePublished">{{ .Date.Format (.Site.Params.dateFormatToUse | default "2 January 2006") }}</time> <time datetime={{.Date.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }}
itemprop="datePublished">{{ .Date.Format (.Site.Params.dateFormatToUse | default "2 January 2006") }}</time>
</span> </span>
in in
{{ with .Params.categories -}} {{ with .Params.categories -}}

View File

@@ -1,21 +1,21 @@
<div class="intro">
{{ $cdn_url := .Scratch.Get "cdn_url" }} {{ $cdn_url := .Scratch.Get "cdn_url" }}
<div class="intro">
{{ $avatar := "" }}
{{ with .Site.Params.avatar}} {{ with .Site.Params.avatar}}
{{ $avatar := .}} {{ $avatar = (printf "%s%s" $cdn_url .) }}
<div class="avatar">
<a href="/posts/"> <img src="{{ (printf "%s%s" $cdn_url $avatar)}}"> </a>
</div>
{{ end }} {{ end }}
{{ if or .Params.gravatar.Email (and .Site.Params.gravatar.Email (ne .Params.gravatar.Email false)) }} {{ if or .Params.gravatar.Email (and .Site.Params.gravatar.Email (ne .Params.gravatar.Email false)) }}
<div class="avatar"> {{ $avatar = (printf "https://www.gravatar.com/avatar/%s?s=240&d=mp" (md5 .Site.Params.gravatar.email)) }}
<a href="/posts/"> <img src="https://www.gravatar.com/avatar/{{ md5 .Site.Params.gravatar.email }}?s=240&d=mp" alt="gravatar"> </a>
</div>
{{ end }} {{ end }}
{{ if $avatar }}
<div class="avatar"><a href="/posts/"> <img src={{ $avatar }} alt="avatar"></a></div>
{{ end }}
{{ with .Site.Params.subtitle}} {{ with .Site.Params.subtitle}}
<h2 class="description"> <h2 class="description">{{ . }}</h2>
{{ . }}
</h2>
{{ end }} {{ end }}
<div class="social-links"> <div class="social-links">
{{ partial "social.html" . }} {{ partial "social.html" . }}
</div> </div>

View File

@@ -5,25 +5,25 @@
{{ $prettify := resources.Get "/js/prettify.min.js" }} {{ $prettify := resources.Get "/js/prettify.min.js" }}
{{ $dynamic := resources.Get "/js/dynamic.to.top.min.js" }} {{ $dynamic := resources.Get "/js/dynamic.to.top.min.js" }}
{{ $main := resources.Get "/js/main.js" }} {{ $main := resources.Get "/js/main.js" }}
{{ $lihtGallery := resources.Get "/js/lightGallery-all.min.js" }} {{ $lightGallery := resources.Get "/js/lightGallery-all.min.js" }}
{{ $lihtGallery_init := resources.Get "/js/lightGallery-init.js" }} {{ $lightGallery_init := resources.Get "/js/lightGallery-init.js" }}
{{ if .IsPage }} {{ if .IsPage }}
{{ if $postHasImages }} {{ if $postHasImages }}
<link crossorigin="anonymous" integrity="sha384-yziQACfvCVwLqVFLqkWBYRO3XeA4EqzfXKGwaWnenYn5XzqfJFlFdKEmvutIQdKb" href="https://lib.baomitu.com/lightgallery/1.6.12/css/lightgallery.min.css" rel="stylesheet"> <link href="https://cdn.bootcss.com/lightgallery/1.6.12/css/lightgallery.min.css" rel="stylesheet">
{{ $vendorscript := slice $jquery $lazysizes $prettify $dynamic $main $lihtGallery $lihtGallery_init | resources.Concat "/js/vendor_gallery.js" | resources.Minify }} {{ $vendorScript := slice $jquery $lazysizes $prettify $dynamic $main $lightGallery $lightGallery_init | resources.Concat "/js/vendor_gallery.js" | resources.Minify }}
<script src="{{ printf "%s%s" $cdn_url $vendorscript.RelPermalink }}" async="" ></script> <script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
{{ else }} {{ else }}
{{ $vendorscript := slice $jquery $prettify $dynamic $main | resources.Concat "/js/vendor_no_gallery.js" | resources.Minify }} {{ $vendorScript := slice $jquery $prettify $dynamic $main | resources.Concat "/js/vendor_no_gallery.js" | resources.Minify }}
<script src="{{ printf "%s%s" $cdn_url $vendorscript.RelPermalink }}" async=""></script> <script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
{{ end }} {{ end }}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.css" integrity="sha384-yFRtMMDnQtDRO8rLpMIKrtPCD5jdktao2TV19YiZYWMDkUR5GQZR/NOVTdquEx1j" crossorigin="anonymous">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/katex.min.js" integrity="sha384-9Nhn55MVVN0/4OFx7EE5kpFBPsEMZxKTCnA+4fqDmg12eCTqGi6+BB2LjY8brQxJ" crossorigin="anonymous"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.2/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
{{ else }} {{ else }}
{{ $main := slice $jquery $main | resources.Concat "/js/vendor_main.js" | resources.Minify}} {{ $vendorScript := slice $jquery $main | resources.Concat "/js/vendor_main.js" | resources.Minify}}
<script src="{{ printf "%s%s" $cdn_url $main.RelPermalink }}" async=""></script> <script src="{{ printf "%s%s" $cdn_url $vendorScript.RelPermalink }}" async=""></script>
{{ end }}
{{ if eq ( getenv "HUGO_ENV" ) "production" }}
{{ end }} {{ end }}
{{ template "_internal/google_analytics_async.html" . }} {{ template "_internal/google_analytics_async.html" . }}

View File

@@ -1,9 +0,0 @@
{{ $related := .Site.RegularPages.Related . | first 5 }}
{{ with $related }}
<h3>{{ i18n "Similar" }} {{ i18n "articles" }}:</h3>
<ul>
{{ range . }}
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
{{ end }}
</ul>
{{ end }}

View File

@@ -1,7 +1,8 @@
{{ if or .Params.socialShare (and .Site.Params.socialShare (ne .Params.socialShare false)) }} {{ if or .Params.socialShare (and .Site.Params.socialShare (ne .Params.socialShare false)) }}
{{ if or .Params.Share.Twitter (and .Site.Params.Share.Twitter (ne .Params.Share.Twitter false)) }} {{ if or .Params.Share.Twitter (and .Site.Params.Share.Twitter (ne .Params.Share.Twitter false)) }}
<a href="//twitter.com/share?url={{ .Permalink }}&amp;text={{ .Title }}&amp;via={{ .Site.Params.Social.Twitter }}" target="_blank" title="Share on Twitter"> <a href="//twitter.com/share?url={{ .Permalink }}&amp;text={{ .Title }}&amp;via={{ .Site.Params.Social.Twitter }}"
target="_blank" title="Share on Twitter">
<i class="iconfont icon-twitter"></i> <i class="iconfont icon-twitter"></i>
</a> </a>
{{ end }} {{ end }}
@@ -19,19 +20,22 @@
{{ end }} {{ end }}
{{ if or .Params.Share.Linkedin (and .Site.Params.Share.Linkedin (ne .Params.Share.Linkedin false)) }} {{ if or .Params.Share.Linkedin (and .Site.Params.Share.Linkedin (ne .Params.Share.Linkedin false)) }}
<a href="//www.linkedin.com/shareArticle?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank" title="Share on LinkedIn"> <a href="//www.linkedin.com/shareArticle?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank"
title="Share on LinkedIn">
<i class="iconfont icon-linkedin"></i> <i class="iconfont icon-linkedin"></i>
</a> </a>
{{ end }} {{ end }}
{{ if or .Params.Share.Pinterest (and .Site.Params.Share.Pinterest (ne .Params.Share.Pinterest false)) }} {{ if or .Params.Share.Pinterest (and .Site.Params.Share.Pinterest (ne .Params.Share.Pinterest false)) }}
<a href="//www.pinterest.com/pin/create/button/?url={{ .Permalink }}&amp;description={{ .Title }}" target="_blank" title="Share on Pinterest"> <a href="//www.pinterest.com/pin/create/button/?url={{ .Permalink }}&amp;description={{ .Title }}" target="_blank"
title="Share on Pinterest">
<i class="iconfont icon-pinterest"></i> <i class="iconfont icon-pinterest"></i>
</a> </a>
{{ end }} {{ end }}
{{ if or .Params.Share.HackerNews (and .Site.Params.Share.HackerNews (ne .Params.Share.HackerNews false)) }} {{ if or .Params.Share.HackerNews (and .Site.Params.Share.HackerNews (ne .Params.Share.HackerNews false)) }}
<a href="//news.ycombinator.com/submitlink?u={{ .Permalink }}&amp;description={{ .Title }}" target="_blank" title="Share on Hacker News"> <a href="//news.ycombinator.com/submitlink?u={{ .Permalink }}&amp;description={{ .Title }}" target="_blank"
title="Share on Hacker News">
<i class="iconfont icon-ycombinator"></i> <i class="iconfont icon-ycombinator"></i>
</a> </a>
{{ end }} {{ end }}
@@ -43,7 +47,8 @@
{{ end }} {{ end }}
{{ if or .Params.Share.Tumblr (and .Site.Params.Share.Tumblr (ne .Params.Share.Tumblr false)) }} {{ if or .Params.Share.Tumblr (and .Site.Params.Share.Tumblr (ne .Params.Share.Tumblr false)) }}
<a href="//www.tumblr.com/widgets/share/tool?canonicalUrl={{ .Permalink }}&amp;title={{ .Title }}" target="_blank" title="Share on Tumblr"> <a href="//www.tumblr.com/widgets/share/tool?canonicalUrl={{ .Permalink }}&amp;title={{ .Title }}" target="_blank"
title="Share on Tumblr">
<i class="iconfont icon-tumblr"></i> <i class="iconfont icon-tumblr"></i>
</a> </a>
{{ end }} {{ end }}
@@ -55,13 +60,15 @@
{{ end }} {{ end }}
{{ if or .Params.Share.Douban (and .Site.Params.Share.Douban (ne .Params.Share.Douban false)) }} {{ if or .Params.Share.Douban (and .Site.Params.Share.Douban (ne .Params.Share.Douban false)) }}
<a href="//www.douban.com/recommend/?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank" title="Share on Douban "> <a href="//www.douban.com/recommend/?url={{ .Permalink }}&amp;title={{ .Title }}" target="_blank"
title="Share on Douban ">
<i class="iconfont icon-douban"></i> <i class="iconfont icon-douban"></i>
</a> </a>
{{ end }} {{ end }}
{{ if or .Params.Share.Weibo (and .Site.Params.Share.Weibo (ne .Params.Share.Weibo false)) }} {{ if or .Params.Share.Weibo (and .Site.Params.Share.Weibo (ne .Params.Share.Weibo false)) }}
<a href="//service.weibo.com/share/share.php?url={{ .Permalink }}&amp;appkey=&amp;title={{ .Title }}" target="_blank" title="Share on Douban "> <a href="//service.weibo.com/share/share.php?url={{ .Permalink }}&amp;appkey=&amp;title={{ .Title }}" target="_blank"
title="Share on Douban ">
<i class="iconfont icon-weibo"></i> <i class="iconfont icon-weibo"></i>
</a> </a>
{{ end }} {{ end }}

View File

@@ -68,7 +68,7 @@
<p class="copyright-item"> <p class="copyright-item">
{{ if and ( $.Param "socialShare" ) (gt (len ($.Param "share")) 0) }} {{ if and ( $.Param "socialShare" ) (gt (len ($.Param "share")) 0) }}
<span>{{ T "share" }}:</span> <span>{{ T "share" }}:</span>
<span>{{ partial "share-links" . }}</span> <span>{{ partial "share-links.html" . }}</span>
{{ end }} {{ end }}
</p> </p>
@@ -110,7 +110,7 @@
<div class="post-comment"> <div class="post-comment">
{{ if ( .Params.showComments | default true ) }} {{ if ( .Params.showComments | default true ) }}
{{ partial "comments" . }} {{ partial "comments.html" . }}
{{ end }} {{ end }}
</div> </div>
</article> </article>