如何在 Hugo / Wowchemy 文章底下插入 LikeCoin Button

讓讀者幫你免費抖內

前置作業

  1. 註冊 Liker ID
  2. 一個 Hugo 網站

覆蓋主題預設頁面

由於 Hugo 支援以覆蓋的方式客製化主題,所以不必去直接去修改 theme/ 裡的檔案,而是複製一份出來,然後把預設值覆蓋過去。

Hugo

一般來說,Hugo 的文章 Template 是 [根目錄]/theme/<主題名稱>/layouts/_default/single.html,你可以直接將它複製出來到 [根目錄]/layouts/_default/single.html

mkdir -p layouts/_default/
cp theme/<theme_name>/layouts/_default/single.html layouts/_default/single.html

Wowchemy

而我使用的主題是 Wowchemy,以下也會使用這個主題來示範。這個主題是透過 Go module 來載入,Repository 內沒有 theme/ 這個資料夾,所以必須要到源頭去找並且自己建立檔案。

找到 Wowchemy 的 single.html 發現他們把文章底下的有的沒的東西,像是標籤、分享按鈕、作者,之類的東西都包在 page_footer.html 裡面了。

{{- define "main" -}}

<article class="article">

  {{ partial "page_header" . }}

  <div class="article-container">

    <div class="article-style">
      {{ .Content }}
    </div>

    {{ partial "page_footer" . }}

  </div>
</article>

{{- end -}}

所以再找到 wowchemy/layouts/partials/page_footer.html,就能看到文末的區塊確實都是被包在這個檔案裡面。所以建立 [根目錄]/layouts/partials/page_footer.html,然後把 Wowchemy 的內容複製進去。

{{ partial "page_edit" . }}
{{ partial "tags" . }}
{{ partial "components/page_sharer" . }}
{{ partial "page_author" . }}
{{ partial "comments" . }}

{{ if .Params.pager }}
<div class="article-widget">
  {{ partial "components/pager" . }}
</div>
{{ end }}

{{ partial "page_related" . }}

這時候使用 hugo serve 來預覽網站應該不會有任何的變化和報錯,你可以在其中插入一些文字看看是否真的有效果。

插入 LikeCoin Button

在剛剛建立的檔案 [根目錄]/layouts/partials/page_footer.html 中插入一行 {{ partial "likecoin" . }},位置可以隨意調整,像我就調整成這樣:

{{ partial "page_edit" . }}
{{ partial "page_related" . }}
{{ partial "likecoin" . }}     				<!-- 插入這行 -->
{{ partial "components/page_sharer" . }}
{{ partial "tags" . }}
{{ partial "page_author" . }}
{{ partial "comments" . }}

{{ if .Params.pager }}
<div class="article-widget">
  {{ partial "components/pager" . }}
</div>
{{ end }}

然後再建立一個檔案 [根目錄]/layouts/partials/likecoin.html,在裡面填入:

{{ if site.Params.features.comment.likecoin_button }}
  {{ $config := site.Params.features.likecoin_button }}
<iframe 
  class="LikeCoin" 
  height="200"
  src="https://button.like.co/in/embed/{{$config.likerID}}/button?referrer={{ .Permalink }}" 
  width="100%"
  frameborder=0>
</iframe>
{{ end }}

接著再到 [根目錄]/config/_defualt/params.yaml,在 features: 的最後加上 Liker ID,像是這樣:

...
  map:
    provider: ''
    api_key: ''
    zoom: 15
  likecoin_button:
    likerID: '<你的 Liker ID>'    # 改成你的 Liker ID

這個時候 LikeCoin Button 應該就會正確插入到網站裡面。

參考來源

https://docs.like.co/v/zh/user-guide/creator/self-host/hugo

https://wancat.cc/post/hugo-install-likecoin/

https://github.com/wowchemy/wowchemy-hugo-themes/pull/2830/files

相關內容


有任何問題都歡迎在底下留言問我!如果我的文章有幫助到你的話,請你考慮幫我免費多按幾個讚喲 *(*´∀`*)☆

JN
JN

資工系畢業,但其實沒有很會寫程式的小廢物