diff options
-rw-r--r-- | layouts/404.html | 6 | ||||
-rw-r--r-- | layouts/_default/baseof.html | 2 | ||||
-rw-r--r-- | layouts/_default/section.html | 8 | ||||
-rw-r--r-- | layouts/_default/single.html | 2 | ||||
-rw-r--r-- | layouts/_default/taxonomy.html | 26 | ||||
-rw-r--r-- | layouts/_default/terms.html | 32 | ||||
-rw-r--r-- | layouts/index.html | 14 | ||||
-rw-r--r-- | layouts/partials/comments.html | 122 | ||||
-rw-r--r-- | layouts/partials/footer.html | 12 | ||||
-rw-r--r-- | layouts/partials/head.html | 22 | ||||
-rw-r--r-- | layouts/partials/post/reward.html | 6 | ||||
-rw-r--r-- | layouts/partials/post/toc.html | 4 | ||||
-rw-r--r-- | layouts/partials/scripts.html | 78 | ||||
-rw-r--r-- | layouts/post/single.html | 34 | ||||
-rw-r--r-- | layouts/post/summary.html | 10 | ||||
-rw-r--r-- | src/js/even.js | 335 | ||||
-rw-r--r-- | src/js/main.js | 20 |
17 files changed, 369 insertions, 364 deletions
diff --git a/layouts/404.html b/layouts/404.html index fcf2b37..171fe09 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -1,6 +1,6 @@ -{{ define "title" }}404 page not found - {{ .Site.Title }}{{ end }} +{{- define "title" }}404 page not found - {{ .Site.Title }}{{ end -}} -{{ define "content" }} +{{- define "content" -}} <div class="not-found"> <h1 class="error-emoji"></h1> <p class="error-text">/* 404 page not found. */</p> @@ -15,4 +15,4 @@ var errorEmoji = emojiArray[Math.floor(Math.random() * emojiArray.length)]; errorEmojiContainer.appendChild(document.createTextNode(errorEmoji)); </script> -{{ end }} +{{- end -}} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 0693148..c9cb88b 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -1,5 +1,5 @@ {{ if ne .Site.Params.version "3.x" -}} -{{ errorf "\n\nThere are two possible situations that led to this error:\n 1. You haven't copied the config.toml yet. See https://github.com/olOwOlo/hugo-theme-even#installation \n 2. You have an incompatible update. See https://github.com/olOwOlo/hugo-theme-even/blob/master/CHANGELOG.md#300 \n\n有两种可能的情况会导致这个错误发生:\n 1. 你还没有复制 config.toml 参考 https://github.com/olOwOlo/hugo-theme-even/blob/master/README-zh.md#installation \n 2. 你进行了一次不兼容的更新 参考 https://github.com/olOwOlo/hugo-theme-even/blob/master/CHANGELOG.md#300 \n" -}} + {{ errorf "\n\nThere are two possible situations that led to this error:\n 1. You haven't copied the config.toml yet. See https://github.com/olOwOlo/hugo-theme-even#installation \n 2. You have an incompatible update. See https://github.com/olOwOlo/hugo-theme-even/blob/master/CHANGELOG.md#300 \n\n有两种可能的情况会导致这个错误发生:\n 1. 你还没有复制 config.toml 参考 https://github.com/olOwOlo/hugo-theme-even/blob/master/README-zh.md#installation \n 2. 你进行了一次不兼容的更新 参考 https://github.com/olOwOlo/hugo-theme-even/blob/master/CHANGELOG.md#300 \n" -}} {{ end -}} <!DOCTYPE html> <html lang="{{ .Site.Language }}"> diff --git a/layouts/_default/section.html b/layouts/_default/section.html index fbe80f1..2b159e4 100644 --- a/layouts/_default/section.html +++ b/layouts/_default/section.html @@ -1,6 +1,6 @@ -{{ define "title" }}{{ T "archive" }} - {{ .Site.Title }}{{ end }} +{{- define "title" }}{{ T "archive" }} - {{ .Site.Title }}{{ end -}} -{{ define "content"}} +{{- define "content" }} {{- $paginator := .Paginate .Data.Pages.ByDate.Reverse .Site.Params.archivePaginate }} <section id="archive" class="archive"> {{- if and (not $paginator.HasPrev) .Site.Params.showArchiveCount }} @@ -14,7 +14,7 @@ {{- range $index, $element := $paginator.Pages -}} {{- $thisYear := $element.Date.Format "2006" }} {{- $lastElement := $index | add -1 | index $paginator.Pages }} - {{ if or (eq $index 0) ( ne ($lastElement.Date.Format "2006") $thisYear ) }} + {{- if or (eq $index 0) ( ne ($lastElement.Date.Format "2006") $thisYear ) }} <div class="collection-title"> <h2 class="archive-year">{{ $thisYear }}</h2> </div> @@ -47,4 +47,4 @@ </a> {{- end }} </nav> -{{ end }} +{{- end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html index a1c30fd..96fe3bf 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,7 +1,7 @@ {{ define "content" -}} <article class="post"> <div class="post-content"> - {{ .Content }} + {{ .Content }} </div> </article> {{- end }}
\ No newline at end of file diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html index d0c8d43..2be015a 100644 --- a/layouts/_default/taxonomy.html +++ b/layouts/_default/taxonomy.html @@ -1,21 +1,21 @@ -{{ define "title" }}{{ .Title }} · {{ .Site.Title }}{{ end }} +{{- define "title" }}{{ .Title }} · {{ .Site.Title }}{{ end -}} -{{ define "content"}} -{{ $paginator := .Paginate .Data.Pages.ByDate.Reverse .Site.Params.archivePaginate }} +{{- define "content" }} +{{- $paginator := .Paginate .Data.Pages.ByDate.Reverse .Site.Params.archivePaginate -}} <section id="archive" class="archive"> - {{ if not $paginator.HasPrev }} - {{ if eq .Data.Plural "tags" }} + {{ if not $paginator.HasPrev -}} + {{ if eq .Data.Plural "tags" -}} <div class="archive-title tag"> <h2 class="archive-name">{{ .Title }}</h2> </div> - {{ else if eq .Data.Plural "categories" }} + {{- else if eq .Data.Plural "categories" -}} <div class="archive-title category"> <h2 class="archive-name">{{ .Title }}</h2> </div> - {{ end }} - {{ end }} + {{- end }} + {{- end }} - {{ range $paginator.Pages }} + {{ range $paginator.Pages -}} <div class="archive-post"> <span class="archive-post-time"> {{ .Date.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} @@ -26,21 +26,21 @@ </a> </span> </div> - {{ end }} + {{- end }} </section> <!-- pagination --> <nav class="pagination"> - {{ with $paginator.Prev }} + {{ with $paginator.Prev -}} <a class="prev" href="{{ .URL }}"> <i class="iconfont icon-left"></i> <span class="prev-text">{{ T "prevPage" }}</span> </a> {{- end }} - {{ with $paginator.Next }} + {{ with $paginator.Next -}} <a class="next" href="{{ .URL }}"> <span class="next-text">{{ T "nextPage" }}</span> <i class="iconfont icon-right"></i> </a> {{- end }} </nav> -{{ end }} +{{- end }} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html index 04b98f8..08498f6 100644 --- a/layouts/_default/terms.html +++ b/layouts/_default/terms.html @@ -1,44 +1,44 @@ -{{ define "title" }}{{ T .Data.Plural }} - {{ .Site.Title }}{{ end }} +{{- define "title" }}{{ T .Data.Plural }} - {{ .Site.Title }}{{ end -}} -{{ define "content" }} +{{- define "content" -}} {{ $name := .Data.Plural -}} {{ $terms := .Data.Terms.ByCount -}} {{ $length := len $terms -}} - {{ if eq $name "categories" }} + {{ if eq $name "categories" -}} <div class="categories"> <div class="categories-title"> - {{ if eq $length 0 }} + {{ if eq $length 0 -}} {{ T "zeroCategoryCounter" }} - {{ else }} + {{- else -}} {{ T "categoryCounter" $length }} - {{ end }} + {{- end }} </div> <div class="categories-tags"> - {{ range $key, $value := $terms }} + {{ range $key, $value := $terms -}} <a class="category-link" href="{{ $name | relLangURL }}/{{ $value.Term | urlize }}/"> {{ $value.Term }} <span class="category-count">{{ len $value.Pages }}</span> </a> - {{ end }} + {{ end -}} </div> </div> - {{ else if eq $name "tags" }} + {{- else if eq $name "tags" -}} <div class="tag-cloud"> <div class="tag-cloud-title"> - {{ if eq $length 0 }} + {{ if eq $length 0 -}} {{ T "zeroTagCounter" }} - {{ else }} + {{- else -}} {{ T "tagCounter" $length }} - {{ end }} + {{- end }} </div> <div class="tag-cloud-tags"> - {{ range $key, $value := $terms }} + {{- range $key, $value := $terms }} <a href="{{ $name | relLangURL }}/{{ $value.Term | urlize }}/"> {{ $value.Term }} <span class="tag-count">{{ len $value.Pages }}</span> </a> - {{ end }} + {{ end -}} </div> </div> - {{ end }} -{{ end }}
\ No newline at end of file + {{- end }} +{{- end }}
\ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index 26d6869..9d013f2 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,24 +1,24 @@ -{{ define "content" }} +{{- define "content" -}} <section id="posts" class="posts"> {{/* (index .Site.Paginate) */}} - {{ $paginator := .Paginate (where (where .Data.Pages "Type" "post") ".Params.hiddenfromhomepage" "!=" true) }} - {{ range $paginator.Pages }} + {{- $paginator := .Paginate (where (where .Data.Pages "Type" "post") ".Params.hiddenfromhomepage" "!=" true) }} + {{- range $paginator.Pages -}} {{ .Render "summary" }} - {{ end }} + {{ end -}} </section> <!-- pagination --> <nav class="pagination"> - {{ with $paginator.Prev }} + {{ with $paginator.Prev -}} <a class="prev" href="{{ .URL }}"> <i class="iconfont icon-left"></i> <span class="prev-text">{{ T "prevPage" }}</span> </a> {{- end }} - {{ with $paginator.Next }} + {{ with $paginator.Next -}} <a class="next" href="{{ .URL }}"> <span class="next-text">{{ T "nextPage" }}</span> <i class="iconfont icon-right"></i> </a> {{- end }} </nav> -{{ end }}
\ No newline at end of file +{{- end -}}
\ No newline at end of file diff --git a/layouts/partials/comments.html b/layouts/partials/comments.html index 440240a..cac3546 100644 --- a/layouts/partials/comments.html +++ b/layouts/partials/comments.html @@ -1,4 +1,4 @@ -{{ if and .IsPage (ne .Params.comment false) }} +{{ if and .IsPage (ne .Params.comment false) -}} <!-- Disqus --> {{- if .Site.DisqusShortname -}} <div id="disqus_thread"></div> @@ -34,76 +34,76 @@ <!-- LiveRe --> {{- if .Site.Params.livereUID -}} - <div id="lv-container" data-id="city" data-uid="{{ .Site.Params.livereUID }}"> - <script type="text/javascript"> - (function(d, s) { - var j, e = d.getElementsByTagName(s)[0]; + <div id="lv-container" data-id="city" data-uid="{{ .Site.Params.livereUID }}"> + <script type="text/javascript"> + (function(d, s) { + var j, e = d.getElementsByTagName(s)[0]; - if (typeof LivereTower === 'function') { return; } + if (typeof LivereTower === 'function') { return; } - j = d.createElement(s); - j.src = 'https://cdn-city.livere.com/js/embed.dist.js'; - j.async = true; + j = d.createElement(s); + j.src = 'https://cdn-city.livere.com/js/embed.dist.js'; + j.async = true; - e.parentNode.insertBefore(j, e); - })(document, 'script'); - </script> - <noscript>Please enable JavaScript to view the comments powered by <a href="https://livere.com/">LiveRe.</a></noscript> - </div> + e.parentNode.insertBefore(j, e); + })(document, 'script'); + </script> + <noscript>Please enable JavaScript to view the comments powered by <a href="https://livere.com/">LiveRe.</a></noscript> + </div> {{- end -}} <!-- gitment --> {{- if .Site.Params.gitment.owner -}} - <div id="comments-gitment"></div> - {{ if .Site.Params.publicCDN.enable -}} - {{ .Site.Params.publicCDN.gitmentCSS | safeHTML }} - {{ .Site.Params.publicCDN.gitmentJS | safeHTML }} - {{- else -}} - <link rel="stylesheet" href="{{ "lib/gitment/gitment-0.0.3.min.css" | relURL }}"> - <script src="{{ "lib/gitment/gitment-0.0.3.min.js" | relURL }}"></script> - {{- end }} - <script type="text/javascript"> - const gitment = new Gitment({ - id: '{{ .Date }}', - title: '{{ .Title }}', - link: decodeURI(location.href), - desc: '{{ .Summary }}', - owner: '{{ .Site.Params.gitment.owner }}', - repo: '{{ .Site.Params.gitment.repo }}', - oauth: { - client_id: '{{ .Site.Params.gitment.clientId }}', - client_secret: '{{ .Site.Params.gitment.clientSecret }}' - } - }) - gitment.render('comments-gitment') - </script> - <noscript>Please enable JavaScript to view the <a href="https://github.com/imsun/gitment">comments powered by gitment.</a></noscript> - {{- end }} + <div id="comments-gitment"></div> + {{ if .Site.Params.publicCDN.enable -}} + {{ .Site.Params.publicCDN.gitmentCSS | safeHTML }} + {{ .Site.Params.publicCDN.gitmentJS | safeHTML }} + {{- else -}} + <link rel="stylesheet" href="{{ "lib/gitment/gitment-0.0.3.min.css" | relURL }}"> + <script src="{{ "lib/gitment/gitment-0.0.3.min.js" | relURL }}"></script> + {{- end }} + <script type="text/javascript"> + var gitment = new Gitment({ + id: '{{ .Date }}', + title: '{{ .Title }}', + link: decodeURI(location.href), + desc: '{{ .Summary }}', + owner: '{{ .Site.Params.gitment.owner }}', + repo: '{{ .Site.Params.gitment.repo }}', + oauth: { + client_id: '{{ .Site.Params.gitment.clientId }}', + client_secret: '{{ .Site.Params.gitment.clientSecret }}' + } + }); + gitment.render('comments-gitment'); + </script> + <noscript>Please enable JavaScript to view the <a href="https://github.com/imsun/gitment">comments powered by gitment.</a></noscript> + {{- end -}} <!-- gitalk --> {{- if .Site.Params.gitalk.owner -}} - <div id="gitalk-container"></div> - {{ if .Site.Params.publicCDN.enable -}} - {{ .Site.Params.publicCDN.gitalkCSS | safeHTML }} - {{ .Site.Params.publicCDN.gitalkJS | safeHTML }} - {{- else -}} - <link rel="stylesheet" href="{{ "lib/gitalk/gitalk-1.2.2.min.css" | relURL }}"> - <script src="{{ "lib/gitalk/gitalk-1.2.2.min.js" | relURL }}"></script> - {{- end }} - <script type="text/javascript"> - var gitalk = new Gitalk({ - id: '{{ .Date }}', - title: '{{ .Title }}', - clientID: '{{ .Site.Params.gitalk.clientId }}', - clientSecret: '{{ .Site.Params.gitalk.clientSecret }}', - repo: '{{ .Site.Params.gitalk.repo }}', - owner: '{{ .Site.Params.gitalk.owner }}', - admin: ['{{ .Site.Params.gitalk.owner }}'], - body: decodeURI(location.href) - }); - gitalk.render('gitalk-container'); - </script> - <noscript>Please enable JavaScript to view the <a href="https://github.com/gitalk/gitalk">comments powered by gitalk.</a></noscript> + <div id="gitalk-container"></div> + {{ if .Site.Params.publicCDN.enable -}} + {{ .Site.Params.publicCDN.gitalkCSS | safeHTML }} + {{ .Site.Params.publicCDN.gitalkJS | safeHTML }} + {{- else -}} + <link rel="stylesheet" href="{{ "lib/gitalk/gitalk-1.2.2.min.css" | relURL }}"> + <script src="{{ "lib/gitalk/gitalk-1.2.2.min.js" | relURL }}"></script> + {{- end }} + <script type="text/javascript"> + var gitalk = new Gitalk({ + id: '{{ .Date }}', + title: '{{ .Title }}', + clientID: '{{ .Site.Params.gitalk.clientId }}', + clientSecret: '{{ .Site.Params.gitalk.clientSecret }}', + repo: '{{ .Site.Params.gitalk.repo }}', + owner: '{{ .Site.Params.gitalk.owner }}', + admin: ['{{ .Site.Params.gitalk.owner }}'], + body: decodeURI(location.href) + }); + gitalk.render('gitalk-container'); + </script> + <noscript>Please enable JavaScript to view the <a href="https://github.com/gitalk/gitalk">comments powered by gitalk.</a></noscript> {{- end }} {{- end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index b6a1fa5..5cb72f4 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -26,13 +26,13 @@ <div class="busuanzi-footer"> {{ $spinner := "img/spinner.svg" | relURL -}} {{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.sitePV -}} - {{ $valueSpan := printf `<span id="busuanzi_value_site_pv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}} - <span id="busuanzi_container_site_pv"> {{ printf (T "sitePV") $valueSpan | safeHTML }} </span> - {{ if .Site.Params.busuanzi.siteUV }}<span class="division">|</span>{{ end }} + {{ $valueSpan := printf `<span id="busuanzi_value_site_pv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}} + <span id="busuanzi_container_site_pv"> {{ printf (T "sitePV") $valueSpan | safeHTML }} </span> + {{ if .Site.Params.busuanzi.siteUV }}<span class="division">|</span>{{ end }} {{- end }} {{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.siteUV -}} - {{ $valueSpan := printf `<span id="busuanzi_value_site_uv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}} - <span id="busuanzi_container_site_uv"> {{ printf (T "siteUV") $valueSpan | safeHTML }} </span> + {{ $valueSpan := printf `<span id="busuanzi_value_site_uv"><img src="%s" alt="spinner.svg"/></span>` $spinner -}} + <span id="busuanzi_container_site_uv"> {{ printf (T "siteUV") $valueSpan | safeHTML }} </span> {{- end }} </div> {{- end }} @@ -40,7 +40,7 @@ <span class="copyright-year"> {{- $current := now.Format "2006" }} © - {{ if ne .Site.Params.since $current }} + {{ if ne .Site.Params.since $current -}} {{ .Site.Params.since }} - {{ end }} {{- $current }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 9b5c840..b38f160 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -14,16 +14,16 @@ {{- if .Description -}} <meta name="description" content="{{ .Description | safeHTML }}" /> -{{ else if .IsPage }} +{{- else if .IsPage -}} <meta name="description" content="{{ .Summary | plainify }}" /> -{{ else if .Site.Params.description }} +{{- 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 }} +{{- 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 }} @@ -37,10 +37,10 @@ <!-- Permalink & RSSlink --> <link rel="canonical" href="{{ .Permalink }}" /> -{{ if .RSSLink -}} +{{- 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 -}} +{{- end -}} <!-- Favicon and Touch icons --> <link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | relURL }}"> @@ -50,15 +50,15 @@ <link rel="mask-icon" href="{{ "safari-pinned-tab.svg" | relURL }}" color="#5bbad5"> <!-- debug --> -{{- if .Site.Params.debug }} +{{- if .Site.Params.debug -}} <script src="https://cdn.jsdelivr.net/npm/eruda@1.2.6/eruda.min.js" integrity="sha256-Jmz4bc3kp+rRrXX2tGadNBKFLwtzMapr8kHABxSAAP8=" crossorigin="anonymous"></script> <script>eruda.init();</script> -{{- end }} +{{- end -}} <!-- busuanzi --> -{{ if .Site.Params.busuanzi.enable -}} +{{- if .Site.Params.busuanzi.enable -}} <script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script> -{{- end }} +{{- end -}} <!-- Styles --> <link href="{{ print "dist/" .Site.Data.even.assets.even.css | relURL }}" rel="stylesheet"> @@ -66,10 +66,10 @@ {{ if .Site.Params.fancybox }}{{ .Site.Params.publicCDN.fancyboxCSS | safeHTML }}{{ end }} {{- else -}} {{ if .Site.Params.fancybox }}<link href="{{ "lib/fancybox/jquery.fancybox-3.1.20.min.css" | relURL }}" rel="stylesheet">{{ end }} -{{- end }} +{{- end -}} <!-- custom css --> -{{ range .Site.Params.customCSS }} +{{ range .Site.Params.customCSS -}} <link rel="stylesheet" href="{{ "/css/" | relURL }}{{ . }}"> {{ end }} diff --git a/layouts/partials/post/reward.html b/layouts/partials/post/reward.html index 3242854..baceac7 100644 --- a/layouts/partials/post/reward.html +++ b/layouts/partials/post/reward.html @@ -1,16 +1,16 @@ -{{ if or .Params.reward (and .Site.Params.reward.enable (ne .Params.reward false)) }} +{{ if or .Params.reward (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">{{ T "reward" }}</label> <div class="qr-code"> {{ $qrCode := .Site.Params.reward }} - {{ with $qrCode.wechat }} + {{ with $qrCode.wechat -}} <label class="qr-code-image" for="reward"> <img class="image" src="{{ . }}"> <span>{{ T "rewardWechat" }}</span> </label> {{- end }} - {{ with $qrCode.alipay }} + {{ with $qrCode.alipay -}} <label class="qr-code-image" for="reward"> <img class="image" src="{{ . }}"> <span>{{ T "rewardAlipay" }}</span> diff --git a/layouts/partials/post/toc.html b/layouts/partials/post/toc.html index 4fed1c7..759ad43 100644 --- a/layouts/partials/post/toc.html +++ b/layouts/partials/post/toc.html @@ -1,7 +1,7 @@ -{{ if or .Params.toc (and .Site.Params.toc (ne .Params.toc false)) }} +{{ if or .Params.toc (and .Site.Params.toc (ne .Params.toc false)) -}} <div class="post-toc" id="post-toc"> <h2 class="post-toc-title">{{ T "toc" }}</h2> - {{ $globalAutoCollapseToc := .Site.Params.autoCollapseToc | default false }} + {{- $globalAutoCollapseToc := .Site.Params.autoCollapseToc | default false }} <div class="post-toc-content{{ if not (or .Params.autoCollapseToc (and $globalAutoCollapseToc (ne .Params.autoCollapseToc false))) }} always-active{{ end }}"> {{.TableOfContents}} </div> diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html index a89ad89..2dfea1a 100644 --- a/layouts/partials/scripts.html +++ b/layouts/partials/scripts.html @@ -17,55 +17,55 @@ <!-- timeago.JS --> {{- if and (or .Params.enableOutdatedInfoWarning (and .Site.Params.outdatedInfoWarning.enable (ne .Params.enableOutdatedInfoWarning false))) (or .IsPage .IsHome) }} {{- if .Site.Params.publicCDN.enable }} - {{ .Site.Params.publicCDN.timeagoJS | safeHTML }} - {{ .Site.Params.publicCDN.timeagoLocalesJS | safeHTML }} + {{ .Site.Params.publicCDN.timeagoJS | safeHTML }} + {{ .Site.Params.publicCDN.timeagoLocalesJS | safeHTML }} {{- else }} - <script type="text/javascript" src="{{ "lib/timeago/timeago-3.0.2.min.js" | relURL }}"></script> - <script type="text/javascript" src="{{ "lib/timeago/timeago.locales-3.0.2.min.js" | relURL }}"></script> + <script type="text/javascript" src="{{ "lib/timeago/timeago-3.0.2.min.js" | relURL }}"></script> + <script type="text/javascript" src="{{ "lib/timeago/timeago.locales-3.0.2.min.js" | relURL }}"></script> {{- end }} -<script> // NOTE: timeago.js uses the language code format like "zh_CN" (underscore and case sensitive) - var languageCode = {{ .Site.LanguageCode }}.replace(/-/g, '_').replace(/_(.*)/, function ($0, $1) {return $0.replace($1, $1.toUpperCase());}); - timeago().render(document.querySelectorAll('.timeago'), languageCode); - timeago.cancel(); // stop update -</script> -{{- end }} + <script><!-- NOTE: timeago.js uses the language code format like "zh_CN" (underscore and case sensitive) --> + var languageCode = {{ .Site.LanguageCode }}.replace(/-/g, '_').replace(/_(.*)/, function ($0, $1) {return $0.replace($1, $1.toUpperCase());}); + timeago().render(document.querySelectorAll('.timeago'), languageCode); + timeago.cancel(); // stop update + </script> +{{- end -}} <!-- flowchart --> {{- if and (or .Params.flowchartDiagrams.enable (and .Site.Params.flowchartDiagrams.enable (ne .Params.flowchartDiagrams.enable false))) (or .IsPage .IsHome) -}} -<script> - {{- if .Params.flowchartDiagrams.options -}} - window.flowchartDiagramsOptions = {{ .Params.flowchartDiagrams.options | safeJS }}; - {{- else if .Site.Params.flowchartDiagrams.options -}} - window.flowchartDiagramsOptions = {{ .Site.Params.flowchartDiagrams.options | safeJS }}; + <script> + {{- if .Params.flowchartDiagrams.options -}} + window.flowchartDiagramsOptions = {{ .Params.flowchartDiagrams.options | safeJS }}; + {{- else if .Site.Params.flowchartDiagrams.options -}} + window.flowchartDiagramsOptions = {{ .Site.Params.flowchartDiagrams.options | safeJS }}; + {{- end -}} + </script> + {{- if .Site.Params.publicCDN.enable -}} + {{ .Site.Params.publicCDN.flowchartDiagramsJS | safeHTML }} + {{- else -}} + <script src="{{ "lib/flowchartDiagrams/raphael-2.2.7.min.js" | relURL }}" integrity="sha256-67By+NpOtm9ka1R6xpUefeGOY8kWWHHRAKlvaTJ7ONI=" crossorigin="anonymous"></script> + <script src="{{ "lib/flowchartDiagrams/flowchart-1.8.0.min.js" | relURL }}" integrity="sha256-zNGWjubXoY6rb5MnmpBNefO0RgoVYfle9p0tvOQM+6k=" crossorigin="anonymous"></script> {{- end -}} -</script> -{{- if .Site.Params.publicCDN.enable -}} - {{ .Site.Params.publicCDN.flowchartDiagramsJS | safeHTML }} -{{- else -}} -<script src="{{ "lib/flowchartDiagrams/raphael-2.2.7.min.js" | relURL }}" integrity="sha256-67By+NpOtm9ka1R6xpUefeGOY8kWWHHRAKlvaTJ7ONI=" crossorigin="anonymous"></script> -<script src="{{ "lib/flowchartDiagrams/flowchart-1.8.0.min.js" | relURL }}" integrity="sha256-zNGWjubXoY6rb5MnmpBNefO0RgoVYfle9p0tvOQM+6k=" crossorigin="anonymous"></script> -{{- end -}} {{- end -}} <!-- js-sequence-diagrams --> {{- if and (or .Params.sequenceDiagrams.enable (and .Site.Params.sequenceDiagrams.enable (ne .Params.sequenceDiagrams.enable false))) (or .IsPage .IsHome) -}} -<script> - {{- if .Params.sequenceDiagrams.options -}} - window.sequenceDiagramsOptions = {{ .Params.sequenceDiagrams.options | safeJS }}; - {{- else if .Site.Params.sequenceDiagrams.options -}} - window.sequenceDiagramsOptions = {{ .Site.Params.sequenceDiagrams.options | safeJS }}; + <script> + {{- if .Params.sequenceDiagrams.options -}} + window.sequenceDiagramsOptions = {{ .Params.sequenceDiagrams.options | safeJS }}; + {{- else if .Site.Params.sequenceDiagrams.options -}} + window.sequenceDiagramsOptions = {{ .Site.Params.sequenceDiagrams.options | safeJS }}; + {{- end -}} + </script> + {{- if .Site.Params.publicCDN.enable -}} + {{ .Site.Params.publicCDN.sequenceDiagramsJS | safeHTML }} + {{ .Site.Params.publicCDN.sequenceDiagramsCSS | safeHTML }} + {{- else -}} + <script src="{{ "lib/js-sequence-diagrams/webfontloader-1.6.28.js" | relURL }}" integrity="sha256-4O4pS1SH31ZqrSO2A/2QJTVjTPqVe+jnYgOWUVr7EEc=" crossorigin="anonymous"></script> + <script src="{{ "lib/js-sequence-diagrams/snap.svg-0.5.1.min.js" | relURL }}" integrity="sha256-oI+elz+sIm+jpn8F/qEspKoKveTc5uKeFHNNVexe6d8=" crossorigin="anonymous"></script> + <script src="{{ "lib/js-sequence-diagrams/underscore-1.8.3.min.js" | relURL }}" integrity="sha256-obZACiHd7gkOk9iIL/pimWMTJ4W/pBsKu+oZnSeBIek=" crossorigin="anonymous"></script> + <script src="{{ "lib/js-sequence-diagrams/sequence-diagram-2.0.1.min.js" | relURL }}" integrity="sha384-8748Vn52gHJYJI0XEuPB2QlPVNUkJlJn9tHqKec6J3q2r9l8fvRxrgn/E5ZHV0sP" crossorigin="anonymous"></script> + <link rel="stylesheet" href="{{ "lib/js-sequence-diagrams/sequence-diagram-2.0.1.min.css" | relURL }}" integrity="sha384-6QbLKJMz5dS3adWSeINZe74uSydBGFbnzaAYmp+tKyq60S7H2p6V7g1TysM5lAaF" crossorigin="anonymous"> {{- end -}} -</script> -{{- if .Site.Params.publicCDN.enable -}} - {{ .Site.Params.publicCDN.sequenceDiagramsJS | safeHTML }} - {{ .Site.Params.publicCDN.sequenceDiagramsCSS | safeHTML }} -{{- else -}} -<script src="{{ "lib/js-sequence-diagrams/webfontloader-1.6.28.js" | relURL }}" integrity="sha256-4O4pS1SH31ZqrSO2A/2QJTVjTPqVe+jnYgOWUVr7EEc=" crossorigin="anonymous"></script> -<script src="{{ "lib/js-sequence-diagrams/snap.svg-0.5.1.min.js" | relURL }}" integrity="sha256-oI+elz+sIm+jpn8F/qEspKoKveTc5uKeFHNNVexe6d8=" crossorigin="anonymous"></script> -<script src="{{ "lib/js-sequence-diagrams/underscore-1.8.3.min.js" | relURL }}" integrity="sha256-obZACiHd7gkOk9iIL/pimWMTJ4W/pBsKu+oZnSeBIek=" crossorigin="anonymous"></script> -<script src="{{ "lib/js-sequence-diagrams/sequence-diagram-2.0.1.min.js" | relURL }}" integrity="sha384-8748Vn52gHJYJI0XEuPB2QlPVNUkJlJn9tHqKec6J3q2r9l8fvRxrgn/E5ZHV0sP" crossorigin="anonymous"></script> -<link rel="stylesheet" href="{{ "lib/js-sequence-diagrams/sequence-diagram-2.0.1.min.css" | relURL }}" integrity="sha384-6QbLKJMz5dS3adWSeINZe74uSydBGFbnzaAYmp+tKyq60S7H2p6V7g1TysM5lAaF" crossorigin="anonymous"> -{{- end -}} {{- end }} <script type="text/javascript" src="{{ print "dist/" .Site.Data.even.assets.even.js | relURL }}"></script> @@ -128,5 +128,5 @@ <!-- custom js --> {{ range .Site.Params.customJS -}} -<script src="{{ "/js/" | relURL }}{{ . }}"></script> + <script src="{{ "/js/" | relURL }}{{ . }}"></script> {{ end }} diff --git a/layouts/post/single.html b/layouts/post/single.html index 61fbf8c..fcda0dd 100644 --- a/layouts/post/single.html +++ b/layouts/post/single.html @@ -8,27 +8,27 @@ <span class="post-time"> {{ .Date.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} </span> {{ with .Params.categories -}} <div class="post-category"> - {{ range . }} + {{ range . -}} <a href="{{ "categories" | relLangURL }}/{{ . | urlize }}/"> {{ . }} </a> - {{ end }} + {{ end -}} </div> {{- end }} - {{ if .Site.Params.moreMeta -}} - <span class="more-meta"> {{ T "wordCount" .WordCount }} </span> - <span class="more-meta"> {{ T "readingTime" .ReadingTime }} </span> + {{- if .Site.Params.moreMeta }} + <span class="more-meta"> {{ T "wordCount" .WordCount }} </span> + <span class="more-meta"> {{ T "readingTime" .ReadingTime }} </span> {{- end }} {{ if and .Site.Params.busuanzi.enable .Site.Params.busuanzi.pagePV -}} - {{ $valueSpan := printf `<span id="busuanzi_value_page_pv"><img src="%s" alt="spinner.svg"/></span>` ("img/spinner.svg" | relURL) -}} - <span id="busuanzi_container_page_pv" class="more-meta"> {{ printf (T "pagePV") $valueSpan | safeHTML }} </span> + {{ $valueSpan := printf `<span id="busuanzi_value_page_pv"><img src="%s" alt="spinner.svg"/></span>` ("img/spinner.svg" | relURL) -}} + <span id="busuanzi_container_page_pv" class="more-meta"> {{ printf (T "pagePV") $valueSpan | safeHTML }} </span> {{- end }} </div> </header> <!-- TOC --> - {{ partial "post/toc.html" . }} + {{- partial "post/toc.html" . -}} <!-- Outdated Info Warning --> - {{ partial "post/outdated-info-warning.html" . }} + {{- partial "post/outdated-info-warning.html" . -}} <!-- Content --> <div class="post-content"> @@ -36,30 +36,30 @@ </div> <!-- Copyright --> - {{ partial "post/copyright.html" . }} + {{- partial "post/copyright.html" . -}} <!-- Reward --> - {{ partial "post/reward.html" . }} + {{- partial "post/reward.html" . -}} <footer class="post-footer"> {{ with .Params.tags -}} <div class="post-tags"> - {{ range . }} - <a href="{{ "tags" | relLangURL }}/{{ . | urlize }}/">{{ . }}</a> - {{ end }} + {{ range . -}} + <a href="{{ "tags" | relLangURL }}/{{ . | urlize }}/">{{ . }}</a> + {{ end -}} </div> - {{- end }} + {{- end -}} <!-- Post Pagination --> <nav class="post-nav"> - {{ with .NextInSection }} + {{ with .NextInSection -}} <a class="prev" href="{{ .URL }}"> <i class="iconfont icon-left"></i> <span class="prev-text nav-default">{{ .Title }}</span> <span class="prev-text nav-mobile">{{ T "prevPost" }}</span> </a> {{- end }} - {{ with .PrevInSection }} + {{ with .PrevInSection -}} <a class="next" href="{{ .URL }}"> <span class="next-text nav-default">{{ .Title }}</span> <span class="next-text nav-mobile">{{ T "nextPost" }}</span> diff --git a/layouts/post/summary.html b/layouts/post/summary.html index 6069ca1..c06e292 100644 --- a/layouts/post/summary.html +++ b/layouts/post/summary.html @@ -5,14 +5,14 @@ <span class="post-time"> {{ .Date.Format (.Site.Params.dateFormatToUse | default "2006-01-02") }} </span> {{ with .Params.categories -}} <div class="post-category"> - {{ range . }} + {{ range . -}} <a href="{{ "categories" | relLangURL }}/{{ . | urlize }}/"> {{ . }} </a> - {{ end }} + {{ end -}} </div> {{- end }} - {{ if .Site.Params.moreMeta -}} - <span class="more-meta"> {{ T "wordCount" .WordCount }} </span> - <span class="more-meta"> {{ T "readingTime" .ReadingTime }} </span> + {{- if .Site.Params.moreMeta }} + <span class="more-meta"> {{ T "wordCount" .WordCount }} </span> + <span class="more-meta"> {{ T "readingTime" .ReadingTime }} </span> {{- end }} </div> </header> diff --git a/src/js/even.js b/src/js/even.js index 1711fa7..e8f8b33 100644 --- a/src/js/even.js +++ b/src/js/even.js @@ -1,264 +1,269 @@ -'use strict' +'use strict'; -const Even = {} +const Even = {}; -Even.backToTop = function () { - const $backToTop = $('#back-to-top') +Even.backToTop = function() { + const $backToTop = $('#back-to-top'); - $(window).scroll(function () { + $(window).scroll(function() { if ($(window).scrollTop() > 100) { - $backToTop.fadeIn(1000) + $backToTop.fadeIn(1000); } else { - $backToTop.fadeOut(1000) + $backToTop.fadeOut(1000); } - }) + }); - $backToTop.click(function () { - $('body,html').animate({ scrollTop: 0 }) - }) -} + $backToTop.click(function() { + $('body,html').animate({scrollTop: 0}); + }); +}; -Even.mobileNavbar = function () { - const $mobileNav = $('#mobile-navbar') - const $mobileNavIcon = $('.mobile-navbar-icon') +Even.mobileNavbar = function() { + const $mobileNav = $('#mobile-navbar'); + const $mobileNavIcon = $('.mobile-navbar-icon'); const slideout = new Slideout({ 'panel': document.getElementById('mobile-panel'), 'menu': document.getElementById('mobile-menu'), 'padding': 180, - 'tolerance': 70 - }) - slideout.disableTouch() - - $mobileNavIcon.click(function () { - slideout.toggle() - }) - - slideout.on('beforeopen', function () { - $mobileNav.addClass('fixed-open') - $mobileNavIcon.addClass('icon-click').removeClass('icon-out') - }) - - slideout.on('beforeclose', function () { - $mobileNav.removeClass('fixed-open') - $mobileNavIcon.addClass('icon-out').removeClass('icon-click') - }) - - $('#mobile-panel').on('touchend', function () { - slideout.isOpen() && $mobileNavIcon.click() - }) -} - -Even._initToc = function () { - const SPACING = 20 - const $toc = $('.post-toc') - const $footer = $('.post-footer') + 'tolerance': 70, + }); + slideout.disableTouch(); + + $mobileNavIcon.click(function() { + slideout.toggle(); + }); + + slideout.on('beforeopen', function() { + $mobileNav.addClass('fixed-open'); + $mobileNavIcon.addClass('icon-click').removeClass('icon-out'); + }); + + slideout.on('beforeclose', function() { + $mobileNav.removeClass('fixed-open'); + $mobileNavIcon.addClass('icon-out').removeClass('icon-click'); + }); + + $('#mobile-panel').on('touchend', function() { + slideout.isOpen() && $mobileNavIcon.click(); + }); +}; + +Even._initToc = function() { + const SPACING = 20; + const $toc = $('.post-toc'); + const $footer = $('.post-footer'); if ($toc.length) { - const minScrollTop = $toc.offset().top - SPACING - const maxScrollTop = $footer.offset().top - $toc.height() - SPACING + const minScrollTop = $toc.offset().top - SPACING; + const maxScrollTop = $footer.offset().top - $toc.height() - SPACING; const tocState = { start: { 'position': 'absolute', - 'top': minScrollTop + 'top': minScrollTop, }, process: { 'position': 'fixed', - 'top': SPACING + 'top': SPACING, }, end: { 'position': 'absolute', - 'top': maxScrollTop - } - } + 'top': maxScrollTop, + }, + }; - $(window).scroll(function () { - const scrollTop = $(window).scrollTop() + $(window).scroll(function() { + const scrollTop = $(window).scrollTop(); if (scrollTop < minScrollTop) { - $toc.css(tocState.start) + $toc.css(tocState.start); } else if (scrollTop > maxScrollTop) { - $toc.css(tocState.end) + $toc.css(tocState.end); } else { - $toc.css(tocState.process) + $toc.css(tocState.process); } - }) + }); } - const HEADERFIX = 30 - const $toclink = $('.toc-link') - const $headerlink = $('.headerlink') - const $tocLinkLis = $('.post-toc-content li') + const HEADERFIX = 30; + const $toclink = $('.toc-link'); + const $headerlink = $('.headerlink'); + const $tocLinkLis = $('.post-toc-content li'); - const headerlinkTop = $.map($headerlink, function (link) { - return $(link).offset().top - }) + const headerlinkTop = $.map($headerlink, function(link) { + return $(link).offset().top; + }); - const headerLinksOffsetForSearch = $.map(headerlinkTop, function (offset) { - return offset - HEADERFIX - }) + const headerLinksOffsetForSearch = $.map(headerlinkTop, function(offset) { + return offset - HEADERFIX; + }); - const searchActiveTocIndex = function (array, target) { + const searchActiveTocIndex = function(array, target) { for (let i = 0; i < array.length - 1; i++) { - if (target > array[i] && target <= array[i + 1]) return i + if (target > array[i] && target <= array[i + 1]) return i; } - if (target > array[array.length - 1]) return array.length - 1 - return -1 - } + if (target > array[array.length - 1]) return array.length - 1; + return -1; + }; - $(window).scroll(function () { - const scrollTop = $(window).scrollTop() - const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop) + $(window).scroll(function() { + const scrollTop = $(window).scrollTop(); + const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop); - $($toclink).removeClass('active') - $($tocLinkLis).removeClass('has-active') + $($toclink).removeClass('active'); + $($tocLinkLis).removeClass('has-active'); if (activeTocIndex !== -1) { - $($toclink[activeTocIndex]).addClass('active') - let ancestor = $toclink[activeTocIndex].parentNode + $($toclink[activeTocIndex]).addClass('active'); + let ancestor = $toclink[activeTocIndex].parentNode; while (ancestor.tagName !== 'NAV') { - $(ancestor).addClass('has-active') - ancestor = ancestor.parentNode.parentNode + $(ancestor).addClass('has-active'); + ancestor = ancestor.parentNode.parentNode; } } - }) -} + }); +}; -Even.fancybox = function () { +Even.fancybox = function() { if ($.fancybox) { - $('.post-content').each(function () { - $(this).find('img').each(function () { - $(this).wrap(`<a class="fancybox" href="${this.src}" data-fancybox="gallery" data-caption="${this.title}"></a>`) - }) - }) + $('.post-content').each(function() { + $(this).find('img').each(function() { + $(this).wrap(`<a class="fancybox" href="${this.src}" data-fancybox="gallery" data-caption="${this.title}"></a>`); + }); + }); $('.fancybox').fancybox({ selector: '.fancybox', - protect: true - }) + protect: true, + }); } -} +}; -Even.highlight = function () { - const blocks = document.querySelectorAll('pre code') +Even.highlight = function() { + const blocks = document.querySelectorAll('pre code'); for (let i = 0; i < blocks.length; i++) { - const block = blocks[i] - const rootElement = block.parentElement - const lineCodes = block.innerHTML.split(/\n/) - if (lineCodes[lineCodes.length - 1] === '') lineCodes.pop() - const lineLength = lineCodes.length + const block = blocks[i]; + const rootElement = block.parentElement; + const lineCodes = block.innerHTML.split(/\n/); + if (lineCodes[lineCodes.length - 1] === '') lineCodes.pop(); + const lineLength = lineCodes.length; - let codeLineHtml = '' + let codeLineHtml = ''; for (let i = 0; i < lineLength; i++) { - codeLineHtml += `<div class="line">${i + 1}</div>` + codeLineHtml += `<div class="line">${i + 1}</div>`; } - let codeHtml = '' + let codeHtml = ''; for (let i = 0; i < lineLength; i++) { - codeHtml += `<div class="line">${lineCodes[i]}</div>` + codeHtml += `<div class="line">${lineCodes[i]}</div>`; } - block.className += ' highlight' - const figure = document.createElement('figure') - figure.className = block.className - figure.innerHTML = `<table><tbody><tr><td class="gutter"><pre>${codeLineHtml}</pre></td><td class="code"><pre>${codeHtml}</pre></td></tr></tbody></table>` + block.className += ' highlight'; + const figure = document.createElement('figure'); + figure.className = block.className; + figure.innerHTML = `<table><tbody><tr><td class="gutter"><pre>${codeLineHtml}</pre></td><td class="code"><pre>${codeHtml}</pre></td></tr></tbody></table>`; - rootElement.parentElement.replaceChild(figure, rootElement) + rootElement.parentElement.replaceChild(figure, rootElement); } -} +}; Even.chroma = function() { - const blocks = document.querySelectorAll('.highlight > .chroma') + const blocks = document.querySelectorAll('.highlight > .chroma'); for (let i = 0; i < blocks.length; i++) { - const block = blocks[i] - const afterHighLight = block.querySelector('pre.chroma > code') - const lang = afterHighLight ? afterHighLight.className : '' - block.className += ' ' + lang + const block = blocks[i]; + const afterHighLight = block.querySelector('pre.chroma > code'); + const lang = afterHighLight ? afterHighLight.className : ''; + block.className += ' ' + lang; } -} +}; -Even.toc = function () { - const tocContainer = document.getElementById('post-toc') +Even.toc = function() { + const tocContainer = document.getElementById('post-toc'); if (tocContainer !== null) { - const toc = document.getElementById('TableOfContents') + const toc = document.getElementById('TableOfContents'); if (toc === null) { // toc = true, but there are no headings - tocContainer.parentNode.removeChild(tocContainer) + tocContainer.parentNode.removeChild(tocContainer); } else { - this._refactorToc(toc) - this._linkToc() - this._initToc() + this._refactorToc(toc); + this._linkToc(); + this._initToc(); } } -} +}; -Even._refactorToc = function (toc) { +Even._refactorToc = function(toc) { // when headings do not start with `h1` - const oldTocList = toc.children[0] - let newTocList = oldTocList - let temp - while (newTocList.children.length === 1 && (temp = newTocList.children[0].children[0]).tagName === 'UL') newTocList = temp + const oldTocList = toc.children[0]; + let newTocList = oldTocList; + let temp; + while (newTocList.children.length === 1 + && (temp = newTocList.children[0].children[0]).tagName === 'UL') { + newTocList = temp; + } - if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList) -} + if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList); +}; -Even._linkToc = function () { - const links = document.querySelectorAll('#TableOfContents a:first-child') - for (let i = 0; i < links.length; i++) links[i].className += ' toc-link' +Even._linkToc = function() { + const links = document.querySelectorAll('#TableOfContents a:first-child'); + for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'; for (let num = 1; num <= 6; num++) { - const headers = document.querySelectorAll('.post-content>h' + num) + const headers = document.querySelectorAll('.post-content>h' + num); for (let i = 0; i < headers.length; i++) { - const header = headers[i] - header.innerHTML = `<a href="#${header.id}" class="headerlink"></a>${header.innerHTML}` + const header = headers[i]; + header.innerHTML = `<a href="#${header.id}" class="headerlink"></a>${header.innerHTML}`; } } -} +}; -Even.flowchart = function () { - if (!window.flowchart) return +Even.flowchart = function() { + if (!window.flowchart) return; - const blocks = document.querySelectorAll('pre code.language-flowchart') + const blocks = document.querySelectorAll('pre code.language-flowchart'); for (let i = 0; i < blocks.length; i++) { - if (!window.hljs && i % 2 === 0) continue + if (!window.hljs && i % 2 === 0) continue; - const block = blocks[i] + const block = blocks[i]; const rootElement = window.hljs ? block.parentElement - : block.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement + : block.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; - const container = document.createElement('div') - const id = `js-flowchart-diagrams-${i}` - container.id = id - container.className = 'align-center' - rootElement.parentElement.replaceChild(container, rootElement) + const container = document.createElement('div'); + const id = `js-flowchart-diagrams-${i}`; + container.id = id; + container.className = 'align-center'; + rootElement.parentElement.replaceChild(container, rootElement); - const diagram = flowchart.parse(block.childNodes[0].nodeValue) - diagram.drawSVG(id, window.flowchartDiagramsOptions ? window.flowchartDiagramsOptions : {}) + const diagram = flowchart.parse(block.childNodes[0].nodeValue); + diagram.drawSVG(id, window.flowchartDiagramsOptions ? window.flowchartDiagramsOptions : {}); } -} +}; -Even.sequence = function () { - if (!window.Diagram) return +Even.sequence = function() { + if (!window.Diagram) return; - const blocks = document.querySelectorAll('pre code.language-sequence') + const blocks = document.querySelectorAll('pre code.language-sequence'); for (let i = 0; i < blocks.length; i++) { - if (!window.hljs && i % 2 === 0) continue + if (!window.hljs && i % 2 === 0) continue; - const block = blocks[i] + const block = blocks[i]; const rootElement = window.hljs ? block.parentElement - : block.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement - - const container = document.createElement('div') - const id = `js-sequence-diagrams-${i}` - container.id = id - container.className = 'align-center' - rootElement.parentElement.replaceChild(container, rootElement) - - const diagram = Diagram.parse(block.childNodes[0].nodeValue) - diagram.drawSVG(id, window.sequenceDiagramsOptions ? window.sequenceDiagramsOptions : {theme: 'simple'}) + : block.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement; + + const container = document.createElement('div'); + const id = `js-sequence-diagrams-${i}`; + container.id = id; + container.className = 'align-center'; + rootElement.parentElement.replaceChild(container, rootElement); + + const diagram = Diagram.parse(block.childNodes[0].nodeValue); + diagram.drawSVG(id, window.sequenceDiagramsOptions + ? window.sequenceDiagramsOptions + : {theme: 'simple'}); } -} +}; export {Even} diff --git a/src/js/main.js b/src/js/main.js index 64c44ca..1dd8566 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -3,19 +3,19 @@ import {Even} from './even.js' import '../css/style.scss' $(document).ready(function () { - Even.backToTop() - Even.mobileNavbar() - Even.toc() - Even.fancybox() -}) + Even.backToTop(); + Even.mobileNavbar(); + Even.toc(); + Even.fancybox(); +}); -Even.flowchart() -Even.sequence() +Even.flowchart(); +Even.sequence(); if (window.hljs) { - hljs.initHighlighting() - Even.highlight() + hljs.initHighlighting(); + Even.highlight(); } else { - Even.chroma() + Even.chroma(); } |