Skip to content
This repository was archived by the owner on Mar 9, 2022. It is now read-only.

Commit

Permalink
feat: add detection of the theme version and Hugo version (#173)
Browse files Browse the repository at this point in the history
* feat: add detection of the theme version and Hugo version

* fix: hugo.IsProduction is incompatible in Hugo v0.62.0
  • Loading branch information
dillonzq authored Mar 16, 2020
1 parent 9a7189c commit 41c2d3a
Show file tree
Hide file tree
Showing 20 changed files with 53 additions and 26 deletions.
10 changes: 10 additions & 0 deletions assets/css/_page/_single.scss
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,16 @@
word-break: break-all;
}
}

.version {
font-weight: bold;
font-style: normal;
color: $global-highlight-color;

.dark-theme & {
color: $global-highlight-color-dark;
}
}
}

@import "../_partial/_single/footer";
Expand Down
4 changes: 4 additions & 0 deletions assets/css/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ $global-link-hover-color-dark: #fff !default;
// Color of the border
$global-border-color: #dcdcdc !default;
$global-border-color-dark: #4a4b50 !default;

// Color of the highlight
$global-highlight-color: #df1a08 !default;
$global-highlight-color-dark: #fff !default;
// ========== Global ========== //

// ========== Scrollbar ========== //
Expand Down
6 changes: 5 additions & 1 deletion exampleSite/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,12 @@ enableEmoji = true
enable = true
# Disqus Comment Config (https://disqus.com/)
[languages.en.params.comment.disqus]
enable = false
# Disqus shortname to use Disqus in posts
shortname = ""
# Gitalk Comment Config (https://github.com/gitalk/gitalk)
[languages.en.params.comment.gitalk]
enable = false
owner = ""
repo = ""
clientId = ""
Expand Down Expand Up @@ -436,10 +438,12 @@ enableEmoji = true
enable = true
# Disqus 评论系统设置 (https://disqus.com/)
[languages.zh-cn.params.comment.disqus]
enable = false
# Disqus 的 shortname,用来在文章中启用 Disqus 评论系统
shortname = ""
# Gitalk 评论系统设置 (https://github.com/gitalk/gitalk)
[languages.zh-cn.params.comment.gitalk]
enable = false
owner = ""
repo = ""
clientId = ""
Expand Down Expand Up @@ -691,7 +695,7 @@ enableEmoji = true
[params]
# LoveIt theme version
# LoveIt 主题版本
version = "0.1.X"
version = "0.2.X"
# public git repo url only then enableGitInfo is true
# 公共 git 仓库路径,仅在 enableGitInfo 设为 true 时有效
gitRepo = "https://github.com/dillonzq/LoveIt"
Expand Down
6 changes: 3 additions & 3 deletions exampleSite/content/posts/theme-documentation-basics.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ Note that some of these parameters are explained in details in other sections of
defaultTheme = "auto"
# public git repo url only then enableGitInfo is true
gitRepo = ""
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
# which hash function used for SRI, when empty, no SRI is used ("sha256", "sha384", "sha512", "md5")
fingerprint = ""
# Header info
Expand Down Expand Up @@ -349,13 +349,13 @@ Note that some of these parameters are explained in details in other sections of
enable = true
# Disqus Comment Config (https://disqus.com/)
[params.comment.disqus]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
# Disqus shortname to use Disqus in posts
shortname = ""
# Gitalk Comment Config (https://github.com/gitalk/gitalk)
[params.comment.gitalk]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
owner = ""
repo = ""
Expand Down
6 changes: 3 additions & 3 deletions exampleSite/content/posts/theme-documentation-basics.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ Note that some of these parameters are explained in details in other sections of
defaultTheme = "auto"
# public git repo url only then enableGitInfo is true
gitRepo = ""
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
# which hash function used for SRI, when empty, no SRI is used ("sha256", "sha384", "sha512", "md5")
fingerprint = ""
# Header info
Expand Down Expand Up @@ -349,13 +349,13 @@ Note that some of these parameters are explained in details in other sections of
enable = true
# Disqus Comment Config (https://disqus.com/)
[params.comment.disqus]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
# Disqus shortname to use Disqus in posts
shortname = ""
# Gitalk Comment Config (https://github.com/gitalk/gitalk)
[params.comment.gitalk]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
owner = ""
repo = ""
Expand Down
6 changes: 3 additions & 3 deletions exampleSite/content/posts/theme-documentation-basics.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ hugo
defaultTheme = "auto"
# 公共 git 仓库路径,仅在 enableGitInfo 设为 true 时有效
gitRepo = ""
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
# 哪种哈希函数用来 SRI, 为空时表示不使用 SRI ("sha256", "sha384", "sha512", "md5")
fingerprint = ""
# 页面头部导航栏信息
Expand Down Expand Up @@ -351,13 +351,13 @@ hugo
enable = true
# Disqus 评论系统设置 (https://disqus.com/)
[params.comment.disqus]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
# Disqus 的 shortname,用来在文章中启用 Disqus 评论系统
shortname = ""
# Gitalk 评论系统设置 (https://github.com/gitalk/gitalk)
[params.comment.gitalk]
# LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.1.1
# {{< version 0.1.1 >}}
enable = false
owner = ""
repo = ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ comment: true
```

* **title**: the title for the content.
* **subtitle**: the subtitle for the content. **LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.2.0**
* **subtitle**: the subtitle for the content. {{< version 0.2.0 >}}
* **date**: the datetime assigned to this page, which is usually fetched from the `date` field in front matter, but this behaviour is configurabl in the [site configuration](../theme-documentation-basics/#site-configuration).
* **lastmod**: the datetime at which the content was last modified.
* **draft**: if `true`, the content will not be rendered unless the `--buildDrafts`/`-D` flag is passed to the `hugo` command.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ comment: true
```

* **title**: the title for the content.
* **subtitle**: the subtitle for the content. **LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.2.0**
* **subtitle**: the subtitle for the content. **{{< version 0.2.0 >}}**
* **date**: the datetime assigned to this page, which is usually fetched from the `date` field in front matter, but this behaviour is configurabl in the [site configuration](../theme-documentation-basics/#site-configuration).
* **lastmod**: the datetime at which the content was last modified.
* **draft**: if `true`, the content will not be rendered unless the `--buildDrafts`/`-D` flag is passed to the `hugo` command.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ comment: true
```

* **title**: 文章标题.
* **subtitle**: 文章副标题. **LoveIt :(fas fa-greater-than-equal): :(far fa-file-archive): 0.2.0**
* **subtitle**: 文章副标题. **{{< version 0.2.0 >}}**
* **date**: 这篇文章创建的日期时间. 它通常是从文章的前置参数中的 `date` 字段获取的, 但是也可以在 [网站配置](../theme-documentation-basics/#site-configuration) 中设置.
* **lastmod**: 上次修改内容的日期时间.
* **draft**: 如果设为 `true`, 除非 `hugo` 命令使用了 `--buildDrafts`/`-D` 参数, 这篇文章不会被渲染.
Expand Down
16 changes: 10 additions & 6 deletions layouts/_default/baseof.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
{{- /* LoveIt theme version detection */ -}}
{{- if ne .Site.Params.version "0.1.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/dillonzq/LoveIt#installation \n 2. You have an incompatible update. See https://github.com//dillonzq/LoveIt/blob/master/CHANGELOG.md \n\n有两种可能的情况会导致这个错误发生:\n 1. 你还没有复制 config.toml 参考 https://github.com/dillonzq/LoveIt#installation \n 2. 你进行了一次不兼容的更新 参考 https://github.com//dillonzq/LoveIt/blob/master/CHANGELOG.md \n" -}}
{{- end -}}

{{- $scratch := newScratch -}}
{{- .Scratch.Set "scratch" $scratch -}}
{{- if eq hugo.Environment "production" -}}
{{- $scratch.Set "production" true -}}
{{- $scratch.Set "CDN" .Site.Params.cdn -}}
{{- $scratch.Set "fingerprint" .Site.Params.fingerprint -}}
{{- end -}}

{{- $scratch.Set "major-version" "0.2.X" -}}
{{- $scratch.Set "version" "0.2.0" -}}

{{- /* LoveIt theme version detection */ -}}
{{- if not .Site.Params.version -}}
{{- errorf "\n\nYou haven't configured the LoveIt version param correctly yet. See https://hugoloveit.com/theme-documentation-basics/#basic-configuration \n你还没有正确配置 LoveIt 的版本参数 参考 https://hugoloveit.com/zh-cn/theme-documentation-basics/#basic-configuration \n" -}}
{{- else if ne .Site.Params.version ($scratch.Get "major-version") -}}
{{- errorf (printf "\n\n%s -> %s:\nYou have an incompatible update. See https://github.com/dillonzq/LoveIt/releases \n你进行了一次不兼容的更新 参考 https://github.com/dillonzq/LoveIt/releases \n" .Site.Params.version ($scratch.Get "major-version")) -}}
{{- end -}}

<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
<head>
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/assets.html
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,6 @@
{{- end -}}

{{- /* Google analytics async */ -}}
{{- if $scratch.Get "production" | and .Site.GoogleAnalytics -}}
{{- if eq hugo.Environment "production" | and .Site.GoogleAnalytics -}}
{{- template "_internal/google_analytics_async.html" . -}}
{{- end -}}
2 changes: 1 addition & 1 deletion layouts/partials/comment.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{{- $scratch := .Scratch.Get "scratch" -}}

{{- if $scratch.Get "production" | and (ne .Site.Params.comment.enable false) | and (ne .Params.comment false) -}}
{{- if eq hugo.Environment "production" | and (ne .Site.Params.comment.enable false) | and (ne .Params.comment false) -}}
{{- $CDN := $scratch.Get "CDN" -}}

{{- /* Disqus Comment System */ -}}
Expand Down
5 changes: 4 additions & 1 deletion layouts/partials/footer.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{{- $scratch := .Scratch.Get "scratch" -}}

<footer class="footer">
<div class="copyright">
{{- /* Hugo and LoveIt */ -}}
<div class="copyright-line">
{{- printf (T "poweredBySome") `<a href="https://gohugo.io/" target="_blank" rel="external nofollow noopener noreffer">Hugo</a>` | safeHTML }} | {{ T "theme" }} - <a href="https://github.com/dillonzq/LoveIt" target="_blank" rel="external nofollow noopener noreffer"><i class="far fa-heart fa-fw"></i> LoveIt</a>
{{- $hugo := printf `<a href="https://gohugo.io/" target="_blank" rel="noopener noreffer" title="Hugo %s">Hugo</a>` hugo.Version -}}
{{- printf (T "poweredBySome") $hugo | safeHTML }} | {{ T "theme" }} - <a href="https://github.com/dillonzq/LoveIt" target="_blank" rel="noopener noreffer" title="LoveIt v{{ $scratch.Get "version" }}"><i class="far fa-heart fa-fw"></i> LoveIt</a>
</div>

<div class="copyright-line">
Expand Down
1 change: 1 addition & 0 deletions layouts/partials/head/meta.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{{- template "_internal/opengraph.html" . -}}
{{- template "_internal/twitter_cards.html" . -}}

{{- hugo.Generator -}}
<meta name="theme-color" content="#ffffff">
<meta name="msapplication-TileColor" content="#da532c">
2 changes: 1 addition & 1 deletion layouts/posts/single.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ <h2 class="single-subtitle">{{ . }}</h2>
<i class="far fa-calendar-alt fa-fw"></i><time datetime={{ $publish_date }}>{{ $publish_date }}</time>&nbsp;
<i class="fas fa-pencil-alt fa-fw"></i>{{ T "wordCount" .WordCount }}&nbsp;
<i class="far fa-clock fa-fw"></i>{{ T "readingTime" .ReadingTime }}&nbsp;
{{- if $scratch.Get "production" | and .Site.Params.comment.valine.enable | and .Site.Params.comment.valine.visitor -}}
{{- if eq hugo.Environment "production" | and .Site.Params.comment.valine.enable | and .Site.Params.comment.valine.visitor -}}
<span id="{{ .RelPermalink | relURL }}" class="leancloud_visitors" data-flag-title="{{ .Title }}">
<i class="far fa-eye fa-fw"></i><span class=leancloud-visitors-count></span>&nbsp;{{ T "views" }}
</span>&nbsp;
Expand Down
1 change: 1 addition & 0 deletions layouts/shortcodes/version.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<span class="version"><i class="far fa-heart fa-fw"></i> LoveIt <i class="fas fa-greater-than-equal fa-fw"></i> <a href="https://github.com/dillonzq/LoveIt/releases/tag/v{{ .Get 0 }}" rel="noopener noreffer" target="_blank" title="LoveIt v{{ .Get 0 }}">{{ .Get 0 }}</a></span>
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "loveit-src",
"version": "0.1.4",
"version": "0.2.0",
"description": "LoveIt theme source file",
"main": "index.js",
"dependencies": {},
Expand Down

Large diffs are not rendered by default.

0 comments on commit 41c2d3a

Please sign in to comment.