<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Blog on 小M平碎碎念</title>
    <link>https://www.lilmp.com/tags/blog/</link>
    <description>Recent content in Blog on 小M平碎碎念</description>
    <image>
      <url>https://www.lilmp.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://www.lilmp.com/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 18 Aug 2023 00:02:56 +0800</lastBuildDate><atom:link href="https://www.lilmp.com/tags/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>標題客製化手寫字卡</title>
      <link>https://www.lilmp.com/2023-08-18/hugo-custom-title-card/</link>
      <pubDate>Fri, 18 Aug 2023 00:02:56 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2023-08-18/hugo-custom-title-card/</guid>
      <description>串聯ipad、電腦的創作流程，設計手寫字卡，為部落格增添一些活潑的風格。同時也練習hugo的自訂變數)</description>
      <content:encoded><![CDATA[<h2 id="寫在前面">寫在前面</h2>
<p>最近空出來的時間比較多，想多花點時間充實自己。</br>
看了一些關於內容創作的影片<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>，也想學習建立起自己的work flow(工作流)用於創作，並善用整合身邊的數位工具(手機、電腦、ipad)。</p>
<p>剛好利用這次部落格介面改版來做練習，除此之外，<strong>也順便學習呼叫<code>hugo</code>的自訂變數</strong>。</p>
<h2 id="問題描述">問題描述</h2>
<p>一直以來都覺得自己的部落格雖然介面是很精簡，不過<strong>標題列實在有點太冗長</strong>。</br>
原本<code>分類 | 標題</code>的形式看久了不是很順眼，因為長度不一樣長，如果可以把它固定長度的話，標題看起來會更對齊。(強迫症的me)</p>
<p>而且其實大部分的人應該不太會在意前面的標題分類，尤其又是單純的文字，掃過就看過去了；如果可以用一些生動的方式，或許可以有<strong>導引讀者去找同分類文章</strong>來看的效果。（個人想像）</p>
<figure>
    <img loading="lazy" src="/posts/hugo-custom-title-card/%e6%a8%99%e9%a1%8c%e6%a0%bc%e5%bc%8f.jpg"
         alt="可以看到文章，前面的分類標題長度都不同" width="50%"/> <figcaption>
            <p>可以看到文章，前面的分類標題長度都不同</p>
        </figcaption>
</figure>

<p>一開始是想到設計類似<code>emoji</code>或是<code>line的表情貼</code>，找到了這篇文章<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>，大致學習了作者設計的方法以及工作流程後，想到我也可以自己來試試看做類似的事情 </br>
(<strong>就是一個土炮魂被點起XDDD</strong>)</p>
<p>最後想到的解法是</p>
<blockquote>
<p>使用<strong>同樣大小、不同顏色的手寫字卡</strong>，置於每篇文章標題的前面，再透過css修飾，讓它<strong>視覺上看起來有種分類便條的效果</strong>，看起來也比較活潑。</p>
</blockquote>
<h2 id="實作方法">實作方法</h2>
<p>解決方式主要分成以下部分：</p>
<ol>
<li>字卡設計</li>
<li>hugo自創變數呼叫</li>
<li>其他細節微調</li>
</ol>
<p>以下逐一說明</p>
<h3 id="字卡設計">字卡設計</h3>
<p>這部分我是使用<code>ipad</code>搭配<code>canva</code>app來處理。</br>
在canva中先設定好大小(1786x944)，然後選擇底色，接下來就是用apple pencil手寫囉~
用canva有個好處，就是有網頁版，所以我在ipad裡面編輯完後就可以直接開啟電腦開瀏覽器把圖檔下載下來。</p>
<p>依據我的需求，我先寫了<code>置頂</code>、<code>越野</code>、<code>行山</code>、<code>跑步</code>、<code>生活</code>、<code>BLOG</code>、<code>HUGO</code>、<code>作品</code>、<code>LIFEHACK</code>、<code>前端</code>&hellip;這幾個字卡。</p>
<p>字卡好像有點太多了我知道，不過我的設計想法是：</p>
<blockquote>
<p>依循我置頂那篇文章的分類設計，從<strong>心、技、體、山</strong>，四個大方向去做延伸</p>
</blockquote>
<ul>
<li><strong>心</strong>：心情、生活相關的，使用紫色字卡，色碼<code>#cb6ce6</code>。</br></li>
<li><strong>技</strong>：跟網頁、程式、BLOG相關的，使用藍色字卡，色碼<code>#007aff</code>。</br></li>
<li><strong>體</strong>：跟跑步、訓練相關的，使用紅色字卡，色碼<code>#f65353</code>。</br></li>
<li><strong>山</strong>：跟爬山、越野相關的，使用綠色字卡，色碼<code>#7ec636</code>。</br></li>
<li><strong>其他</strong>：色碼<code>#c5a289</code>。</li>
</ul>
<p>(趕快寫下來，以防自己以後忘記XDDD) </br>
大概4john。</p>
<figure>
    <img loading="lazy" src="/posts/hugo-custom-title-card/cover3.jpg"
         alt="越寫越多的字卡&amp;hellip;字很醜我知道&amp;hellip;唉呀反正以後都還可以換嘛~哈哈" width="80%"/> <figcaption>
            <p>越寫越多的字卡&hellip;字很醜我知道&hellip;唉呀反正以後都還可以換嘛~哈哈</p>
        </figcaption>
</figure>

<h3 id="hugo自創變數呼叫">hugo自創變數呼叫</h3>
<p>好的，把字卡設計好以後，接下來就是把它們放到我指定要放的地方了（揮汗 </br></p>
<p><strong>目標：</strong>　</br>
根據在每篇文章<code>front-matter區塊</code>放的參數不同，去抓取相對應的字卡圖檔放到不同頁面的特定位置。</p>
<p>在hugo這個blog平台裡，每個頁面、文章的結構都是預先定義好的，這樣才可以重複使用。</br>
首先觀察 <code>layouts/list.html</code> 這個檔案，這個檔案定義了在 papermod 這個主題中，首頁的文章如何排列顯示。</br>
（例如我曾經做過把圖片顯示在文章右半邊的更改<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>，有興趣可以參考文末附錄連結。）</p>
<p>參考下方程式碼，每篇文章區塊的class名是 <code>post-info</code> ，第四行的 <code>{{- .Title | markdownify}}</code>是關鍵， <code>.Title</code> 是系統預設會從front-matter去抓的文章標題的title參數。　</br></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;post-info&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;</span><span class="nt">header</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;entry-header&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      {{- .Title | markdownify}}
</span></span><span class="line"><span class="cl">    <span class="p">&lt;/</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;/</span><span class="nt">header</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  ...下略
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><p>💡所以，<strong>只要我在front-matter區塊自訂變數，例如 <code>card</code> 然後用類似 <code>{{ .Card }}</code> 的方式就可以抓取到我指定的變數了吧！</strong> </br></p>
<p>問題來了，當我在front-matter自己設定 card 參數時，hugo的解析engine取不到該參數！！</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;post-info&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;</span><span class="nt">header</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;entry-header&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      {{- .Card | markdownify}}{{- .Title | markdownify}}
</span></span><span class="line"><span class="cl">    <span class="p">&lt;/</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;/</span><span class="nt">header</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  ...下略
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><figure>
    <img loading="lazy" src="/posts/hugo-custom-title-card/fail-card.jpg"
         alt="無法存取!"/> <figcaption>
            <p>無法存取!</p>
        </figcaption>
</figure>

<p>費了一番努力，才在這篇<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>找到答案</p>
<blockquote>
<p>While a predefined field like title is accessed simply as <code>.Title</code>, a <strong>custom field</strong> like <code>author</code> is accessed using <code>.Params.author</code>.</p>
</blockquote>
<p><strong>原來自定義的變數要使用 <code>.Params</code> 作為前綴才可以被存取到！！！</br></strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;post-info&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;</span><span class="nt">header</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;entry-header&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      {{- .Params.card | markdownify}}{{- .Title | markdownify}}
</span></span><span class="line"><span class="cl">    <span class="p">&lt;/</span><span class="nt">h2</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="p">&lt;/</span><span class="nt">header</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  ...下略
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><p>修改成 .Params.card 就成功了！</p>
<p>值得一提的是，<code>{{- .Params.card | markdownify}}</code> 後面 <code>markdownify</code> 的參數，這個參數的意思是，如果card這個變數的內容符合markdown的語法規則，便會優先視為markdown語法來解析。</br></p>
<p>所以，當我的 card 用 markdown 插入圖片語法 <code>![alt](xxx.jpg)</code> 設定時，便會找到路徑中相對應的圖片並插入在指定的位置了！</p>
<p>在我的文章front-matter區塊加入<code>card</code>就可以囉！</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="o">---</span>
</span></span><span class="line"><span class="cl"><span class="nx">title</span><span class="p">:</span> <span class="s">&#34;標題客製化手寫字卡&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">date</span><span class="p">:</span> <span class="mi">2023</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">18</span><span class="nx">T00</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">56</span><span class="o">+</span><span class="mi">08</span><span class="p">:</span><span class="mo">00</span>
</span></span><span class="line"><span class="cl"><span class="nx">summary</span><span class="p">:</span> <span class="s">&#34;使用手寫字卡，為部落格增添一些風格。(hugo自訂變數練習)&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nx">description</span><span class="p">:</span> <span class="s">&#34;設計手寫字卡，為部落格增添一些活潑的風格。blahblahblah&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="err">#</span> <span class="nx">自定義變數card</span>
</span></span><span class="line"><span class="cl"><span class="nx">card</span><span class="p">:</span> <span class="s">&#34;![hugo](/hugo.jpg)&#34;</span> <span class="err">#</span> <span class="nx">將字卡圖片放在static資料夾</span><span class="err">，</span><span class="nx">存取方法不用寫絕對路徑</span><span class="err">。</span>
</span></span><span class="line"><span class="cl"><span class="o">---</span>
</span></span></code></pre></div><h3 id="其他細節微調">其他細節微調</h3>
<p>知道怎麼存取參數後，剩下的根據不同頁面的排版進行微調了。這部分牽涉到css的功力，就請大家自行發揮了~</br>
我有使用到的大概有這些：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="p">.</span><span class="nc">entry-header</span> <span class="nt">img</span><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">display</span><span class="p">:</span> <span class="kc">inline</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">vertical-align</span><span class="p">:</span> <span class="kc">text</span><span class="o">-</span><span class="kc">bottom</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">max-height</span><span class="p">:</span> <span class="mi">26</span><span class="kt">px</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">border-radius</span><span class="p">:</span> <span class="mi">5</span><span class="kt">px</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">box-shadow</span><span class="p">:</span> <span class="nf">var</span><span class="p">(</span><span class="o">--</span><span class="n">box</span><span class="o">-</span><span class="n">shadow</span><span class="p">);</span>  
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>修改過的地方包含了 <code>list.html</code>、<code>archives.html</code>、<code>single.html</code>&hellip;等等，然後針對電腦版跟手機版也要調整。</p>
<h2 id="成果截圖">成果截圖</h2>
<p>最後附上成果截圖</p>
<ol>
<li>網頁版
<figure>
    <img loading="lazy" src="/posts/hugo-custom-title-card/web.jpg"/> 
</figure>
</li>
<li>手機版
<figure>
    <img loading="lazy" src="/posts/hugo-custom-title-card/mobile.jpg"/> 
</figure>
</li>
</ol>
<h2 id="recap">Recap</h2>
<p>看完這篇，應該要掌握一點點下列技巧</p>
<ol>
<li>加深ipad跟pc的結合，運用在內容創造跟優化工作流程上。</li>
<li>hugo裡存取自定義的方法</li>
<li>簡單的css寫法</li>
</ol>
<p><strong>大概是這樣，謝謝收看~~~</strong></p>
<h2 id="附錄">附錄</h2>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>最近很喜歡的digital normad youtuber，有關<strong>學習如何學習</strong>可以參考這支影片

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
  <iframe src="https://www.youtube.com/embed/2dSzqe8Y7w4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
</div>
&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>dcard文就簡單看一下 </br>
<a href="https://www.dcard.tw/f/handicrafts/p/238567623" target="_blank" >Line表情貼製作流程+小撇步+收益分享</a>
&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p>有興趣可以參考<a href="/categories/%e5%b0%8fm%e5%b9%b3%e9%83%a8%e8%90%bd%e6%a0%bc%e6%95%b4%e5%bd%a2%e6%89%8b%e8%a1%93/" >小m平部落格整形手術系列文</a>
&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>解釋hugo中的自定義變數如何存取
<a href="https://www.smashingmagazine.com/2021/02/context-variables-hugo-static-site-generator/" target="_blank" >Context And Variables In The Hugo Static Site</a>
&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    
    <item>
      <title>本機模式下排除引入GA</title>
      <link>https://www.lilmp.com/2023-08-12/exclude-ga-under-localserver/</link>
      <pubDate>Sat, 12 Aug 2023 12:31:28 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2023-08-12/exclude-ga-under-localserver/</guid>
      <description>這篇教你正確設定Google Analytics，避免GA數據被本機模式灌水</description>
      <content:encoded><![CDATA[<p>對自己架站或是blog的人來說，<strong>使用Google Analytics來觀察使用者瀏覽行為</strong>這方法似乎早已行之有年。
(我自己是還無法體會GA分析的強大之處，但看著網站造訪人數增加也是小有成就感的😝)</br></p>
<p>Hugo部落格系統內建支援<code>Google Analytics</code>的tag標記，只需要在<code>head.html</code>的區塊中塞入GA的追蹤碼即可，非常容易。</br></p>
<p>但麻煩的是<strong>當網站在local server(localhost:1313)下運作時，生成的網頁也會自動載入GA的追蹤碼</strong>，導致GA後台會將自己本機的瀏覽行為也計入統計資訊當中，每重新整理一次就會被視為一個新的使用者，於是<em>文章封面首圖那誇張的新使用者跟事件計數</em>就這樣產生了&hellip;(汗)</br></p>
<p>想當然爾，這不是我們想要的&hellip;</p>
<p>要解決這個問題其實很簡單，邏輯上就是在 Render / Build 網頁的時候，多執行一個判斷：</br>
<code>如果是在 local server 模式就不要載入 GA 追蹤碼</code>
</br></p>
<p>但自己查了Hugo官方的論壇<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>，卻一直摸索不出正確的寫法跟設定。</br>
要我說的話，go語法也太難debug了吧&hellip;</p>
<p>最後終於試出成功的方法，記錄在此供未來的自己跟有緣人查閱~</p>
<blockquote>
<p>註：網路上搜尋可以找到非常多取得GA追蹤碼的教學，此篇文章預設大家都已經知道如何取得追蹤碼，只記錄如何設定的部分。</p>
</blockquote>
<h3 id="step-1">Step 1.</h3>
<p>在config.yml中加入GA追蹤碼參數。</br></p>
<p>這部分可能不同主題的寫法不太一樣，以我使用的papermod主題為例，在<code>config.yml</code>中的寫法如下（G-xxxxxxxxxH請替換成你自己的GA追蹤碼代號）</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="w">  </span><span class="nt">analytics</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">google</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">SiteVerificationTag</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;G-xxxxxxxxxH&#34;</span><span class="w">
</span></span></span></code></pre></div><h3 id="step-2">Step 2.</h3>
<p>在<code>layouts</code>資料夾下建立<code>_internal</code>資料夾，並新增一個叫做<code>google_analytics_async.html</code>的檔案。</p>
<p>檔案內容則是貼上從GA頁面中複製來的程式碼（大概長得像下面這樣）</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-HTML" data-lang="HTML"><span class="line"><span class="cl"><span class="c">&lt;!-- Google tag (gtag.js) --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">script</span> <span class="na">async</span> <span class="na">src</span><span class="o">=</span><span class="s">&#34;https://www.googletagmanager.com/gtag/js?id=G-xxxxxxxxxH&#34;</span><span class="p">&gt;&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">script</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">  <span class="nb">window</span><span class="p">.</span><span class="nx">dataLayer</span> <span class="o">=</span> <span class="nb">window</span><span class="p">.</span><span class="nx">dataLayer</span> <span class="o">||</span> <span class="p">[];</span>
</span></span><span class="line"><span class="cl">  <span class="kd">function</span> <span class="nx">gtag</span><span class="p">(){</span><span class="nx">dataLayer</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">arguments</span><span class="p">);}</span>
</span></span><span class="line"><span class="cl">  <span class="nx">gtag</span><span class="p">(</span><span class="s1">&#39;js&#39;</span><span class="p">,</span> <span class="k">new</span> <span class="nb">Date</span><span class="p">());</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="nx">gtag</span><span class="p">(</span><span class="s1">&#39;config&#39;</span><span class="p">,</span> <span class="s1">&#39;G-xxxxxxxxxH&#39;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">script</span><span class="p">&gt;</span>
</span></span></code></pre></div><p>同樣，G-xxxxxxxxxH請替換成你自己的GA追蹤碼代號</p>
<h3 id="step-3">Step 3.</h3>
<p>在<code>layouts/partials/head.html</code>中加入下面程式碼：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="k">if</span> <span class="nx">not</span> <span class="p">.</span><span class="nx">Site</span><span class="p">.</span><span class="nx">IsServer</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">template</span> <span class="s">&#34;_internal/google_analytics_async.html&#34;</span> <span class="p">.</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span></code></pre></div><p>補充一下<code>.Site.IsServer</code>參數</p>
<blockquote>
<p><strong>.Site.IsServer</strong></br>
a boolean to indicate if the site is being served with Hugo’s built-in server. See hugo server for more information.</p>
</blockquote>
<p>根據官方doc<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>，<code>.Site.IsServer</code>是用來判斷現在網站是否運行在hugo預設的server（也就是，Localhost:1313）上，所以我們做的是</p>
<blockquote>
<p>當 not <code>.Site.IsServer</code>被判斷為true時，(也就是不在localserver運作時)，載入<code>google_analytics_async.html</code>這個程式碼片段(aka GA的追蹤程式)。</p>
</blockquote>
<h3 id="大功告成">大功告成！</h3>
<p><strong>測試：</strong> </br>
把網站更新推上github之後，分別開啟<strong>localhost:1313</strong>跟<strong>自己網站的網址</strong> </br></p>
<blockquote>
<p>右鍵 ➡️ 檢視網頁原始碼 ➡️ ctrl+F 搜尋: &ldquo;gtag&rdquo;</p>
</blockquote>
<p>一切正確的話，應該會發現<code>localhost:1313</code>下面是搜尋不到結果的；</br>
而<code>網站domain</code>則可以搜尋到<code>google_analytics_async.html</code>的內容。</p>
<p><figure>
    <img loading="lazy" src="/posts/hugo-exclude-GA-under-localserver/localhost.jpg"
         alt="於localhost:1313搜尋不到gtag關鍵字"/> <figcaption>
            <p>於localhost:1313搜尋不到gtag關鍵字</p>
        </figcaption>
</figure>

<figure>
    <img loading="lazy" src="/posts/hugo-exclude-GA-under-localserver/lilmp.jpg"
         alt="於個人網站上可搜到gtag關鍵字"/> <figcaption>
            <p>於個人網站上可搜到gtag關鍵字</p>
        </figcaption>
</figure>
</p>
<h3 id="附錄">附錄</h3>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://discourse.gohugo.io/t/how-to-exclude-google-analytics-when-running-under-hugo-local-server/6092/18]" target="_blank" >討論的很亂的官方論壇(年代久遠，建議是不要參考了)</a>
&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://gohugo.io/variables/site/#site-variables-list" target="_blank" >官方文件對於.Site.IsServer參數的解釋</a>
&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    
    <item>
      <title>最後編輯日期&amp;內容</title>
      <link>https://www.lilmp.com/2023-03-08/hugo-gitinfo/</link>
      <pubDate>Wed, 08 Mar 2023 18:39:55 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2023-03-08/hugo-gitinfo/</guid>
      <description>在文章中加入最後編輯日期及內容，輕鬆留下麵包屑！</description>
      <content:encoded><![CDATA[<figure>
    <img loading="lazy" src="/posts/hugo-gitinfo/github.png" width="30%"/> 
</figure>

<h2 id="寫在前面">寫在前面</h2>
<p>利用hugo來寫部落格有一個好處是，因為所有的更新是基於git來作版本管控，所以任何的更新都會留下commit紀錄。(只要每次更新都有確實寫好commit log的話)</p>
<p>有時候文章發佈後偶爾會有想要修改的打算，可能是文章內容修改、更換圖片、或是分類改動調整&hellip;etc。</p>
<p>這篇文章教你抓取最後一次的commit log，如此每次build時都會把最近一次的更新日期跟內容顯示在網站上，讓讀者與作者可以知道做了甚麼改動。</p>
<p>那麼，我們開始吧</p>
<h2 id="前置條件">前置條件</h2>
<p>根據官網說明<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>，我們要啟用.GitInfo需要先滿足3個條件：</p>
<ol>
<li>Hugo 網站必須在git-enable的資料夾，換句話說，專案目錄裡不能有<code>.ignore</code>檔案。</li>
<li>系統中必須要安裝git，並將git加入環境變數的path中。</li>
<li><code>config.yml</code>檔案中必須要啟用加入<code>enableGitInfo: true</code>參數。</li>
</ol>
<h2 id="步驟說明">步驟說明</h2>
<ol>
<li>在<code>config.yml</code>檔案中，加入<code>enableGitInfo: true</code>參數。
根據官網說明<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>，如此將會啟用每個頁面的<code>.GitInfo</code>物件，並可以更新<code>Lastmod</code>參數。</li>
<li>同樣在<code>config.yml</code>檔案裡，找到<code>params</code>段落，加入<code>GitHubUser</code>參數。例如：
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="w"> </span><span class="nt">baseURL</span><span class="p">:</span><span class="w"> </span><span class="l">https://yoursite.example.com/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span><span class="nt">AuthorName</span><span class="p">:</span><span class="w"> </span><span class="l">Jon Doe</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span><span class="nt">GitHubUser</span><span class="p">:</span><span class="w"> </span><span class="l">your github user id</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="l">...</span><span class="w">
</span></span></span></code></pre></div></li>
<li>同樣在<code>config.yml</code>檔案裡，找到<code>frontmatter</code>段落，加入<code>lastmod</code>參數。例如：
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="w"> </span><span class="nt">frontmatter</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span><span class="nt">date</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">publishDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">lastmod</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span><span class="nt">lastmod</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="p">:</span><span class="l">git</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">lastmod</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">     </span>- <span class="l">publishDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="l">...</span><span class="w">
</span></span></span></code></pre></div>lastmod下面的參數決定了最後編輯資訊的抓取順序:</br>
<ul>
<li><code>git</code>log → </br></li>
<li>每篇文章的<code>lastmod</code>參數(如果有設定的話) → </br></li>
<li>每篇文章最上面的<code>date</code>參數 → </br></li>
<li>每篇文章的發佈日期。</li>
</ul>
</li>
<li>一旦設定好<code>config.yml</code>以後，我們找到<code>single.html</code>檔案，客製化自己想要顯示的訊息＆顯示在哪裡。提供我的寫法如下：</br>
(從<a href="#%e5%8f%83%e8%80%83%e8%b3%87%e6%96%99" >參考資料</a>
中修改而來)
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="err">$</span><span class="nx">date</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Date</span><span class="p">.</span><span class="nx">Format</span> <span class="s">&#34;2006-01-02&#34;</span> <span class="p">}}</span>　
</span></span><span class="line"><span class="cl"><span class="p">{{</span> <span class="err">$</span><span class="nx">lastmod</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Lastmod</span><span class="p">.</span><span class="nx">Format</span> <span class="s">&#34;2006-01-02&#34;</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="err">$</span><span class="nx">lastmod</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nx">p</span> <span class="nx">style</span><span class="p">=</span><span class="s">&#34;color: gray; border-bottom: dashed 1px gray;width: fit-content;margin-bottom: 1rem;&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="err">✏</span><span class="nx">️本文最後更新於</span> <span class="p">{{</span> <span class="err">$</span><span class="nx">lastmod</span> <span class="p">}}{{</span> <span class="nx">with</span> <span class="p">.</span><span class="nx">GitInfo</span> <span class="p">}}</span><span class="err">：</span><span class="p">{{</span> <span class="p">.</span><span class="nx">Subject</span> <span class="p">}}({{</span> <span class="p">.</span><span class="nx">AbbreviatedHash</span> <span class="p">}}){{</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="o">/</span><span class="nx">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span></code></pre></div></li>
<li>成果截圖：</br>
可以看到不僅加入了最後更新的時間，還有更新的資訊、以及hash值。
<figure>
       <img loading="lazy" src="/posts/hugo-gitinfo/result-screenshot.jpg"/> 
   </figure>
</li>
</ol>
<h2 id="參考資料">參考資料</h2>
<ol>
<li><a href="https://discourse.gohugo.io/t/adding-last-modified-git-status-to-pages/25402" target="_blank" >Adding Last Modified Git Status to Pages?</a>
</li>
<li><a href="https://discourse.gohugo.io/t/question-about-implementation/36499" target="_blank" >Question about implemenattion</a>
</li>
</ol>
<h2 id="附錄">附錄</h2>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://gohugo.io/variables/git/" target="_blank" >https://gohugo.io/variables/git/</a>
&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://gohugo.io/getting-started/configuration/#enablegitinfo" target="_blank" >https://gohugo.io/getting-started/configuration/#enablegitinfo</a>
&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    
    <item>
      <title>客製化 Post Footer</title>
      <link>https://www.lilmp.com/2023-03-01/hugo-post-footer-customization/</link>
      <pubDate>Wed, 01 Mar 2023 11:20:09 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2023-03-01/hugo-post-footer-customization/</guid>
      <description>修改post-footer顯示內容，讓讀者可以在閱讀文章後導引到該系列其他文章</description>
      <content:encoded><![CDATA[<p>hugo是一個非常有彈性、但也十分結構化的部落格系統，就像積木一樣，可以一步步堆砌組合出具有自己風格的部落格。</p>
<p>掌握了頁面的排版特性，便可以省略很多重複的工作。</p>
<p>例如我使用的papermod主題，在<code>single.html</code>這個檔案裡面定義了每篇文章的結構，大致如下:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">single-post
</span></span><span class="line"><span class="cl">  | - title 文章標題
</span></span><span class="line"><span class="cl">  | - description 文章概要
</span></span><span class="line"><span class="cl">  | - content 文章內容
</span></span><span class="line"><span class="cl">  | - footer 文末區塊
</span></span></code></pre></div><p></br>
本文藉由修改<code>post-footer</code>區塊，新增<code>系列文分類</code></br>
讓讀者可以在閱讀文章後<strong>導引到該系列其他文章</strong></p>
<h2 id="看懂結構">看懂結構</h2>
<p>先從以下路徑 <code>themes &gt; PaperMod &gt; layouts &gt; _default</code> 找到 <code>single.html</code> 這個檔案。</br>
複製一份後，貼到 <code>layouts &gt; _default &gt; single.html</code> 這個位置(沒有_default這個資料夾的話請自行新增)</p>
<p>建議這樣做的原因是因為，<code>themes</code>資料夾裡面放的就是主題(PaperMod)預設的設定，我們不要直接覆寫資料夾下面的東西，否則要是改不回來就糗了。</p>
<blockquote>
<p>💡養成一個習慣，把所有自己客製化的東西都複製一份，再貼到相對應的原本主題的路徑，系統就會優先render客製化的設定，而不是主題模板的設定喔。</p>
</blockquote>
<p>原始檔案應該長的類似下面這樣。(只截取post-footer段落)</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="cm">/* themes &gt; PaperMod &gt; layouts &gt; _default &gt; single.html */</span>
</span></span><span class="line"><span class="cl"><span class="c1">// 找到 post-footer 區塊
</span></span></span><span class="line hl"><span class="cl"><span class="c1"></span> <span class="p">&lt;</span><span class="nx">footer</span> <span class="nx">class</span><span class="p">=</span><span class="s">&#34;post-footer&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">tags</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Language</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">Taxonomies</span><span class="p">.</span><span class="nx">tag</span> <span class="p">|</span> <span class="k">default</span> <span class="s">&#34;tags&#34;</span> <span class="p">}}</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">&lt;</span><span class="nx">ul</span> <span class="nx">class</span><span class="p">=</span><span class="s">&#34;post-tags&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="k">range</span> <span class="p">(</span><span class="err">$</span><span class="p">.</span><span class="nx">GetTerms</span> <span class="err">$</span><span class="nx">tags</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">      <span class="p">&lt;</span><span class="nx">li</span><span class="p">&gt;&lt;</span><span class="nx">a</span> <span class="nx">href</span><span class="p">=</span><span class="s">&#34;{{ .Permalink }}&#34;</span><span class="p">&gt;{{</span> <span class="p">.</span><span class="nx">LinkTitle</span> <span class="p">}}&lt;</span><span class="o">/</span><span class="nx">a</span><span class="p">&gt;&lt;</span><span class="o">/</span><span class="nx">li</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="o">/</span><span class="nx">ul</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(.</span><span class="nx">Param</span> <span class="s">&#34;ShowPostNavLinks&#34;</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">partial</span> <span class="s">&#34;post_nav_links.html&#34;</span> <span class="p">.</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(</span><span class="nx">and</span> <span class="nx">site</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nf">ShowShareButtons</span> <span class="p">(</span><span class="nx">ne</span> <span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">disableShare</span> <span class="kc">true</span><span class="p">))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">partial</span> <span class="s">&#34;share_icons.html&#34;</span> <span class="p">.</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="o">/</span><span class="nx">footer</span><span class="p">&gt;</span></span></span></code></pre></div>
<p>結構很簡單，就是<strong>文章標籤</strong>、<strong>上一篇下一篇</strong>、<strong>社群分享按鈕</strong>三部分。</br>
看不懂程式碼也沒關係，只要看highlight那幾行的<strong>關鍵字</strong>就好了，基本上就是三個部份組成了post-footer區塊。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">post-footer
</span></span><span class="line"><span class="cl">    | - post-tags
</span></span><span class="line"><span class="cl">    | - ShowPostNavLinks
</span></span><span class="line"><span class="cl">    | - ShowSahreButtons 
</span></span></code></pre></div><figure>
    <img loading="lazy" src="/posts/hugo-post-footer-customization/screenshot-default.jpg"
         alt="修改前的預設畫面"/> <figcaption>
            <p>修改前的預設畫面</p>
        </figcaption>
</figure>

<hr>
<p>題外話：如何客製化社群分享按鈕可以參考下面這篇


    

<article class="post-entry innerlink">
<div class="post-info">
    <header class="entry-header"><img loading="lazy" src="/hugo.jpg" alt="hugo"  />&nbsp;新增LINE分享按鈕</header>
    <div class="entry-content">這篇教你如何在hugo blog中新增自訂分享按鈕！</div>
    <footer class="entry-footer">

<span id="meta-date" class="meta-item">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
  <span>&nbsp;2022-06-30</span></span><span id="meta-read-time" class="meta-item">
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
  <span>5 分鐘</span></span><span id="meta-word-count" class="meta-item">
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text" style="user-select: text;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" style="user-select: text;"></path><polyline points="14 2 14 8 20 8" style="user-select: text;"></polyline><line x1="16" y1="13" x2="8" y2="13" style="user-select: text;"></line><line x1="16" y1="17" x2="8" y2="17" style="user-select: text;"></line><polyline points="10 9 9 9 8 9" style="user-select: text;"></polyline></svg>
  <span>2144 字</span></span>

<span id="meta-comment" class="meta-item">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-message-circle"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>
    <span>&nbsp;<span data-cusdis-count-page-id="ef5f01237a882f16b7951ce2b1c78c00">0</span>則<script defer data-host="https://cusdis.com" data-app-id="fc0766ac-efcf-4259-b26e-bfdb8a9e2eef"
        src="https://cusdis.com/js/cusdis-count.umd.js"></script></span>
</span>



























</footer>
    
        
        
        
        
            
        
    
    
        
    
    
    
</div>


<a class="entry-link" href="https://www.lilmp.com/2022-06-30/%E6%96%B0%E5%A2%9Eline%E5%88%86%E4%BA%AB%E6%8C%89%E9%88%95/" target="_blank"></a>
</article>
</p>
<h2 id="實際修改">實際修改</h2>
<p>透過一點html知識，在標籤中加入文字。</br>
比較關鍵的應該是第9行跟第12行(分別對應參考原本的第2行跟第5行)</br>
把<code>.Language.Params.Taxonomies.tag</code>改成<code>.Language.Params.Taxonomies.categories</code>，並設成 <code>$categories</code>變數 </br>
然後再藉由14行的<code>$.GetTerms $categories</code>把categories列出來。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="hl"><span class="lnt"> 2
</span></span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="hl"><span class="lnt"> 5
</span></span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="hl"><span class="lnt"> 9
</span></span><span class="lnt">10
</span><span class="lnt">11
</span><span class="hl"><span class="lnt">12
</span></span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nx">footer</span> <span class="nx">class</span><span class="p">=</span><span class="s">&#34;post-footer&#34;</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">tags</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Language</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">Taxonomies</span><span class="p">.</span><span class="nx">tag</span> <span class="p">|</span> <span class="k">default</span> <span class="s">&#34;tags&#34;</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">p</span> <span class="nx">style</span><span class="p">=</span><span class="s">&#34;font-size: medium;margin-bottom: 5px;&#34;</span><span class="p">&gt;</span><span class="nx">本文關鍵字</span><span class="p">:&lt;</span><span class="o">/</span><span class="nx">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">ul</span> <span class="nx">class</span><span class="p">=</span><span class="s">&#34;post-tags&#34;</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="k">range</span> <span class="p">(</span><span class="err">$</span><span class="p">.</span><span class="nx">GetTerms</span> <span class="err">$</span><span class="nx">tags</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">      <span class="p">&lt;</span><span class="nx">li</span><span class="p">&gt;&lt;</span><span class="nx">a</span> <span class="nx">href</span><span class="p">=</span><span class="s">&#34;{{ .Permalink }}&#34;</span><span class="p">&gt;{{</span> <span class="p">.</span><span class="nx">LinkTitle</span> <span class="p">}}&lt;</span><span class="o">/</span><span class="nx">a</span><span class="p">&gt;&lt;</span><span class="o">/</span><span class="nx">li</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="o">/</span><span class="nx">ul</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">categories</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Language</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">Taxonomies</span><span class="p">.</span><span class="nx">categories</span> <span class="p">|</span> <span class="k">default</span> <span class="s">&#34;categories&#34;</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">p</span> <span class="nx">style</span><span class="p">=</span><span class="s">&#34;font-size: medium;margin-bottom: 5px;&#34;</span><span class="p">&gt;</span><span class="nx">此分類系列文</span><span class="p">:&lt;</span><span class="o">/</span><span class="nx">p</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">ul</span> <span class="nx">class</span><span class="p">=</span><span class="s">&#34;post-tags&#34;</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="k">range</span> <span class="p">(</span><span class="err">$</span><span class="p">.</span><span class="nx">GetTerms</span> <span class="err">$</span><span class="nx">categories</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">      <span class="p">&lt;</span><span class="nx">li</span><span class="p">&gt;&lt;</span><span class="nx">a</span> <span class="nx">href</span><span class="p">=</span><span class="s">&#34;{{ .Permalink }}&#34;</span><span class="p">&gt;{{</span> <span class="p">.</span><span class="nx">LinkTitle</span> <span class="p">}}&lt;</span><span class="o">/</span><span class="nx">a</span><span class="p">&gt;&lt;</span><span class="o">/</span><span class="nx">li</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">      <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="o">/</span><span class="nx">ul</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">br</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(.</span><span class="nx">Param</span> <span class="s">&#34;ShowPostNavLinks&#34;</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">partial</span> <span class="s">&#34;post_nav_links.html&#34;</span> <span class="p">.</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(</span><span class="nx">and</span> <span class="nx">site</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nf">ShowShareButtons</span> <span class="p">(</span><span class="nx">ne</span> <span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">disableShare</span> <span class="kc">true</span><span class="p">))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">partial</span> <span class="s">&#34;share_icons.html&#34;</span> <span class="p">.</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="o">/</span><span class="nx">footer</span><span class="p">&gt;</span></span></span></code></pre></td></tr></table>
</div>
</div>
<h2 id="成果截圖">成果截圖</h2>
<figure>
    <img loading="lazy" src="/posts/hugo-post-footer-customization/screenshot-customization.jpg"
         alt="修改後的畫面"/> <figcaption>
            <p>修改後的畫面</p>
        </figcaption>
</figure>

<p>簡單紀錄一下。</p>
<h2 id="文末碎碎念">文末碎碎念</h2>
<p>不知道你/妳覺得這樣的修改好嗎？
有達到我文章開頭所述：<strong>讓讀者可以在閱讀文章後導引到該系列其他文章</strong>的目的嗎？</p>
<p>歡迎留言告訴我你的看法！請多多指教！</p>
<p>btw, 其實我真正想做的是修改<code>postNavLinks</code>，變成顯示<strong>針對該分類的上一篇、下一篇</strong>。這樣畫面可以更簡潔。</p>
<p>遺憾的是沒研究出來lol，只好就先這樣。</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>小M平部落格整形手術: 起源</title>
      <link>https://www.lilmp.com/2023-03-01/makeover-of-my-blog/</link>
      <pubDate>Wed, 01 Mar 2023 10:10:28 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2023-03-01/makeover-of-my-blog/</guid>
      <description>系列文說明: 記錄我在部落格所做的更動</description>
      <content:encoded><![CDATA[<p><code>hugo</code>是一個客製化程度非常高的靜態部落格系統，只要花點時間挑選自己喜歡的主題模板，人人應該都可以在短時間內建立一個相當具有品質的部落格，接下來專注在內容創作即可。</p>
<p>然而，對於無法自主開發部落格主題模板的人來說，有以下問題：</p>
<ol>
<li>
<p><strong>綁定主題衍生問題</strong></br>
每個主題開發者對於使用習慣、文件層級、頁面生成，都有自己的邏輯，因此當在hugo官方論壇想找某個功能的實作，可能只會得到 <strong>「這問題請去該主題開發者的github詢問」</strong> 的答案。</br></br></p>
<p>想要客製化，必須設法搞懂開發者設計邏輯。
<figure>
       <img loading="lazy" src="/posts/hugo-blog-makeover/hugo-forum.jpg"
            alt="呃 好喔 src"/> <figcaption>
               <p>呃 好喔 <a href="https://discourse.gohugo.io/t/how-do-i-add-gifs-to-posts-in-hugo/3729/2" target="_blank" >src</a></p>
           </figcaption>
   </figure>
</p>
</li>
<li>
<p><strong>官方文件說明缺少可重製的範例</strong></br>
雖然官方文件乍看之下說明的很詳細，可是範例通常都只放最關鍵的部分，而且自定義的專有名詞太多(ex:<code>leaf bundle</code>/<code>branch bundle</code>/<code>pages</code>/<code>list pages</code>/<code>sections</code>/<code>taxonomies</code>)</br>
根本不知道該寫在哪裡/如何使用，很難系統化歸納出邏輯，常常自己胡亂添加也不知道效果如何。</br>
<figure>
       <img loading="lazy" src="/posts/hugo-blog-makeover/hugo-doc.jpg"
            alt="我還是不知道這些參數怎麼用啊&amp;hellip;@@ src" width="70%"/> <figcaption>
               好像解釋了很多，但又好像甚麼都沒解釋<p>我還是不知道這些參數怎麼用啊&hellip;@@ <a href="https://gohugo.io/variables/site/#site-pages" target="_blank" >src</a></p>
           </figcaption>
   </figure>
</p>
</li>
</ol>
<blockquote>
<p><strong>嘛，畢竟是免費的東西，其實也不能怪官方/主題開發者。</strong></p>
</blockquote>
<p>只好靠自己啦(挽袖💪</p>
<p>滿多地方看起來是用go語言生成的。雖然有時候透過測試大概可以看懂個5、6成，不過基本上都還只是在原作者寫好的框架下改動參數而已，還無法自己創造。</br></p>
<p>為了讓部落格在整體視覺跟互動上符合我的美感</br>
（謎：這很重要對吧對吧，至少要看得順眼才願意一直寫下去啊） </br>
於是就有了<code>小M平部落格整形手術</code>這個系列文，一點點記錄我為了部落格所做的更動。</p>
<p>就一點一點嘗試吧！</p>
<p>紀錄之餘也希望可以幫助到大家，如果願意交流的話就更好了~😊</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>新增LINE分享按鈕</title>
      <link>https://www.lilmp.com/2022-06-30/%E6%96%B0%E5%A2%9Eline%E5%88%86%E4%BA%AB%E6%8C%89%E9%88%95/</link>
      <pubDate>Thu, 30 Jun 2022 04:47:06 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2022-06-30/%E6%96%B0%E5%A2%9Eline%E5%88%86%E4%BA%AB%E6%8C%89%E9%88%95/</guid>
      <description>這篇教你如何在hugo blog中新增自訂分享按鈕！</description>
      <content:encoded><![CDATA[<h2 id="寫在前面">寫在前面</h2>
<p>社群分享對自媒體或是創作者來說一直是一個很重要的功能。從創作者的角度來說，花費好大的心力寫好一篇文章，當然不希望只是擺在家裡孤芳自賞；而從讀者的角度來說，看到一篇實用、知識量高的文章，也會希望能有快速方便的管道，將文章分享出去，因此一鍵分享的功能可說是引導流量的一個重要關鍵。</p>
<p>Hugo是一個客制化程度很高的靜態部落格系統，內建有社群分享的功能，且有數不清的主題可以套用並修改。
以本站的主題PaperMod為例，當然也有內建社群分享按鈕<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>囉！</p>
<p>以台灣來說，LINE大概是最多人使用的社群軟體，很可惜這並沒有整合到PaperMod主題裡面，所幸研究了一下，發現要達成這件事並不困難，以下就手把手跟著我做吧！</p>
<h2 id="1-啟用sharebutton功能">1. 啟用ShareButton功能</h2>
<p>首先先來看看文章分享按鈕在Hugo/PaperMod中是如何實現的。
找到config.yml檔案，並在params區塊中添加以下參數：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ShowShareButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c"># 啟用ShareButton</span><span class="w">
</span></span></span></code></pre></div><p>如此便會啟用社群分享功能，隨便點開一篇文章，滑到最下面應該就可以看到出現各式各樣的社群分享按鈕。
<figure class="align-center ">
    <img loading="lazy" src="/posts/hugo-add-social-share-buttons/share-button-list.jpg#center" width="70%"/> <figcaption>
            內建分享按鈕有 twitter、linkedin、reddit、facebook、whatsapp、以及telegram (由左至右)
        </figcaption>
</figure>
</p>
<h3 id="11-特定sharebutton">1.1 特定ShareButton</h3>
<p>如果只想要特定的 share button(s)，則只要在原本的ShowShareButtons處添加下面這行即可：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ShowShareButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># 從6個內建分享按鈕中，加入欲新增的shareButton(s)，用&#34;,&#34;隔開</span><span class="w">
</span></span></span><span class="line hl"><span class="cl"><span class="w">    </span><span class="nt">ShareButtons</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;twitter&#34;</span><span class="p">,</span><span class="s2">&#34;facebook&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;telegram&#34;</span><span class="p">]</span><span class="w"> 
</span></span></span></code></pre></div><figure class="align-center ">
    <img loading="lazy" src="/posts/hugo-add-social-share-buttons/few-buttons.jpg#center"/> <figcaption>
            只顯示指定的按鈕
        </figcaption>
</figure>

<h2 id="2-新增自定義按鈕">2. 新增自定義按鈕</h2>
<p>接下來找到share_icons.html檔案。</br>
原始檔案位置在<code>{site name}/themes/PaperMod/layouts/partials/share_icons.html</code>，我們把它複製出來並貼到<code>{site name}/layouts/partials/share_icons.html</code><sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup></p>
<h3 id="21-share_iconshtml">2.1 share_icons.html</h3>
<p>share_icons.html裡面有預設六種的社群分享按鈕，隨便取一個出來觀察程式結構：</br>
(大概在62行附近)</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">62
</span><span class="hl"><span class="lnt">63
</span></span><span class="hl"><span class="lnt">64
</span></span><span class="hl"><span class="lnt">65
</span></span><span class="hl"><span class="lnt">66
</span></span><span class="hl"><span class="lnt">67
</span></span><span class="hl"><span class="lnt">68
</span></span><span class="hl"><span class="lnt">69
</span></span><span class="lnt">70
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{{- if (cond ($custom) (in $ShareButtons &#34;telegram&#34;) (true)) }}
</span></span><span class="line hl"><span class="cl"><span class="p">&lt;</span><span class="nt">a</span> <span class="na">target</span><span class="o">=</span><span class="s">&#34;_blank&#34;</span> <span class="na">rel</span><span class="o">=</span><span class="s">&#34;noopener noreferrer&#34;</span> <span class="na">aria-label</span><span class="o">=</span><span class="s">&#34;share {{ $title | plainify }} on telegram&#34;</span>
</span></span><span class="line hl"><span class="cl">    <span class="na">href</span><span class="o">=</span><span class="s">&#34;https://telegram.me/share/url?text={{ $title }}&amp;amp;url={{ $pageurl }}&#34;</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">&lt;</span><span class="nt">svg</span> <span class="na">version</span><span class="o">=</span><span class="s">&#34;1.1&#34;</span> <span class="na">xml:space</span><span class="o">=</span><span class="s">&#34;preserve&#34;</span> <span class="na">viewBox</span><span class="o">=</span><span class="s">&#34;2 2 28 28&#34;</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl">        <span class="p">&lt;</span><span class="nt">path</span>
</span></span><span class="line hl"><span class="cl">            <span class="na">d</span><span class="o">=</span><span class="s">&#34;M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z&#34;</span> <span class="p">/&gt;</span>
</span></span><span class="line hl"><span class="cl">    <span class="p">&lt;/</span><span class="nt">svg</span><span class="p">&gt;</span>
</span></span><span class="line hl"><span class="cl"><span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">{{- end }}
</span></span></code></pre></td></tr></table>
</div>
</div><p>觀察後發現，每個按鈕的結構其實都很類似：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{{- if (cond ($custom) (in $ShareButtons &#34;telegram&#34;) (true)) }}　<span class="c">&lt;!-- 頭尾兩個大括號先不管 --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">a</span> <span class="na">target</span> <span class="na">rel</span> <span class="na">aria-label</span> <span class="na">href</span> <span class="p">&gt;</span> <span class="c">&lt;!-- 這段定義按下icon後的動作 --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">svg</span><span class="p">&gt;</span>...<span class="p">&lt;/</span><span class="nt">svg</span><span class="p">&gt;</span> <span class="c">&lt;!-- 其實這裡放的就是icon的圖形 --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">{{ - end }} <span class="c">&lt;!-- 頭尾兩個大括號先不管 --&gt;</span>
</span></span></code></pre></div><blockquote>
<p>那麼只要土炮一個類似的東西，應該就可以達成目的了吧！</p>
</blockquote>
<h3 id="22-加入line圖示">2.2 加入line圖示</h3>
<p>先來處理icon的部分，查了一下開發者說明的文件<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>，提到希望icon盡量參照<code>feathericon</code> <code>simpleicons</code>的設計風格，來去這兩個地方找找吧！</p>
<ul>
<li><a href="https://feathericons.com/?query=line" target="_blank" >feathericon</a>
</li>
<li><a href="https://simpleicons.org/?q=line" target="_blank" >simpleicons</a>
</li>
</ul>
<p>bingo! 在simpleicons還真的找到了，把它的svg檔下載下來並用vs code開啟。
<figure class="align-center ">
    <img loading="lazy" src="/posts/hugo-add-social-share-buttons/simpleicons.jpg#center" width="100%"/> <figcaption>
            記得要選svg!
        </figcaption>
</figure>
</p>
<p>用文字編輯器打開後，看到這一長串，這就是我們要的！複製起來等等用。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">svg</span> <span class="na">role</span><span class="o">=</span><span class="s">&#34;img&#34;</span> <span class="na">viewBox</span><span class="o">=</span><span class="s">&#34;0 0 24 24&#34;</span> <span class="na">xmlns</span><span class="o">=</span><span class="s">&#34;http://www.w3.org/2000/svg&#34;</span><span class="p">&gt;&lt;</span><span class="nt">title</span><span class="p">&gt;</span>LINE<span class="p">&lt;/</span><span class="nt">title</span><span class="p">&gt;&lt;</span><span class="nt">path</span> <span class="na">d</span><span class="o">=</span><span class="s">&#34;M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314&#34;</span><span class="p">/&gt;&lt;/</span><span class="nt">svg</span><span class="p">&gt;</span>
</span></span></code></pre></div><h3 id="23-按下按鈕的動作">2.3 按下按鈕的動作</h3>
<p>接下來處理按下按鈕的動作。</p>
<p>觀察a標籤裡面的東西，和其他按鈕比較一下</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">a</span> <span class="na">target</span> <span class="na">rel</span> <span class="na">aria-label</span> <span class="na">href</span> <span class="p">&gt;</span> <span class="c">&lt;!-- 這段定義按下icon後的動作 --&gt;</span>
</span></span></code></pre></div><ul>
<li>target=&quot;_blank&quot;表示是按下後開啟新分頁</li>
<li>rel, aria-label　大家都差不多</li>
<li>關鍵在href</li>
</ul>
<p>google 關鍵字 [line 按鈕 分享]，找到「建立line分享按鍵」那篇文章<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>
<figure class="align-center ">
    <img loading="lazy" src="/posts/hugo-add-social-share-buttons/line-share.jpg#center"/> <figcaption>
            紅色框裡面的東西是我們要放在href的地方的東西
        </figcaption>
</figure>
</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">https://social-plugins.line.me/lineit/share?url=
</span></span></code></pre></div><h3 id="24-組合在一起">2.4 組合在一起</h3>
<p>按鈕部分的程式碼如下：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{{- if (cond ($custom) (in $ShareButtons &#34;line&#34;) (true)) }}
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">a</span> <span class="na">target</span><span class="o">=</span><span class="s">&#34;_blank&#34;</span> 
</span></span><span class="line"><span class="cl">    <span class="na">rel</span><span class="o">=</span><span class="s">&#34;noopener noreferrer&#34;</span> 
</span></span><span class="line hl"><span class="cl">    <span class="na">aria-label</span><span class="o">=</span><span class="s">&#34;share {{ $title | plainify }} on line&#34;</span>  
</span></span><span class="line hl"><span class="cl">    <span class="na">href</span><span class="o">=</span><span class="s">&#34;https://social-plugins.line.me/lineit/share?url={{ $pageurl }}&#34;</span> <span class="p">&gt;</span> 
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- 以下直接複製line的svg圖形 --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">svg</span> <span class="na">role</span><span class="o">=</span><span class="s">&#34;img&#34;</span> <span class="na">viewBox</span><span class="o">=</span><span class="s">&#34;0 0 24 24&#34;</span> <span class="na">xmlns</span><span class="o">=</span><span class="s">&#34;http://www.w3.org/2000/svg&#34;</span><span class="p">&gt;&lt;</span><span class="nt">title</span><span class="p">&gt;</span>LINE<span class="p">&lt;/</span><span class="nt">title</span><span class="p">&gt;&lt;</span><span class="nt">path</span> <span class="na">d</span><span class="o">=</span><span class="s">&#34;M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314&#34;</span><span class="p">/&gt;&lt;/</span><span class="nt">svg</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">{{ - end }} 
</span></span></code></pre></div><p>注意看 highlight 起來的那兩行</br>
aria-label：只是把 on &ldquo;telegram&rdquo; 改成 on &ldquo;line&quot;</br>
href 的最後面則是加上 {{ $pageurl }}：這樣才會在按下按鈕後自動帶入文章的 url</p>
<p>最後一步了，我們來處理頭尾的雙括號！</p>
<h3 id="25-處理頭尾雙括號">2.5 處理頭尾雙括號</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl">{{- if (cond ($custom) (in $ShareButtons &#34;line&#34;) (true)) }}
</span></span></code></pre></div><p>看到關鍵字<code>if</code> <code>in</code> <code>$shareButtons</code> <code>&quot;line&quot;</code>，感覺是必須要把&quot;line按鈕&quot;註冊到　$ShareButtons　列表裡面，才可以正常運作/顯示。</p>
<p>參考上面<a href="#11-%e7%89%b9%e5%ae%9asharebutton" >特定ShareButton段落</a>
，回到<code>config.yml</code>把line加到列表裡吧!</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ShowShareButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">ShareButtons</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;twitter&#34;</span><span class="p">,</span><span class="s2">&#34;facebook&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;telegram&#34;</span><span class="p">,</span><span class="s2">&#34;line&#34;</span><span class="p">]</span><span class="w"> 
</span></span></span></code></pre></div><p>大功告成啦!!!</p>
<figure class="align-center ">
    <img loading="lazy" src="/posts/hugo-add-social-share-buttons/result.jpg#center"/> <figcaption>
            Line按鈕出現啦~~~感動~~~
        </figcaption>
</figure>

<!-- raw HTML omitted -->
<h2 id="註解文章連結">註解&amp;文章連結</h2>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://github.com/adityatelange/hugo-PaperMod/wiki/Icons#share-icons" target="_blank" >PaperMod主題支援的分享按鈕列表</a>
 (檢自開發者的github說明文件)&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>一般會避免直接改動<code>themes</code>資料夾下的原始檔案，原因有二：1. hugo預設會先讀取<code>{site name}/layouts</code>下的設定(在這裡做客制化)，如果該資料夾沒有檔案才會去<code>{site name}/themes/PaperMod/layouts</code>下面找，這樣的好處是，如此一來一旦自己把blog改壞了，至少還有範本可以參考。2. 主題開發者有可能會因為增加新功能而更新資源，如果重新遠端clone repo的話，之前修改過的東西就會被蓋掉了。&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3">
<p><a href="https://github.com/adityatelange/hugo-PaperMod/pull/733" target="_blank" >討論icon風格的PR(pull request)</a>
&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4">
<p>直接幫你<a href="https://developers.line.biz/zh-hant/docs/line-social-plugins/install-guide/using-line-share-buttons/" target="_blank" >找好了</a>
，是不是很貼心！&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    
    <item>
      <title>blog寫作常用語法</title>
      <link>https://www.lilmp.com/2022-06-28/my-blog-cheatsheet/</link>
      <pubDate>Tue, 28 Jun 2022 16:25:24 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2022-06-28/my-blog-cheatsheet/</guid>
      <description>整理blog寫作上我常用的各式語法。cheatsheet for my blog</description>
      <content:encoded><![CDATA[<h2 id="寫在前頭">寫在前頭</h2>
<p>持續寫，熟能生巧。</br>
整理blog寫作上我常用的各式語法。這篇就是我的cheatsheet for my blog!
(持續新增中)</p>
<p>這裡的語法用法是寫給自己提醒用的，其中不乏自己客制的設定(which means不一定對你有用)，如果想要了解我如何客制化，請參考<a href="/hugo-blog-settings" >架站║ Hugo部落格與PaperMod主題</a>
。</p>


    

<article class="post-entry innerlink">
<div class="post-info">
    <header class="entry-header"><img loading="lazy" src="/hugo.jpg" alt="hugo"  />&nbsp;Hugo blog &amp; PaperMod</header>
    <div class="entry-content">整理建這個blog遇到的各種踩雷實錄，持續更新中…</div>
    <footer class="entry-footer">

<span id="meta-date" class="meta-item">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
  <span>&nbsp;2022-06-22</span></span><span id="meta-read-time" class="meta-item">
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><circle cx="12" cy="12" r="9"></circle><polyline points="12 7 12 12 15 15"></polyline></svg>
  <span>8 分鐘</span></span><span id="meta-word-count" class="meta-item">
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text" style="user-select: text;"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" style="user-select: text;"></path><polyline points="14 2 14 8 20 8" style="user-select: text;"></polyline><line x1="16" y1="13" x2="8" y2="13" style="user-select: text;"></line><line x1="16" y1="17" x2="8" y2="17" style="user-select: text;"></line><polyline points="10 9 9 9 8 9" style="user-select: text;"></polyline></svg>
  <span>3541 字</span></span>

<span id="meta-comment" class="meta-item">
    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-message-circle"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"></path></svg>
    <span>&nbsp;<span data-cusdis-count-page-id="f03006a9c4ce53fb8d5b9aafdec0fb24">0</span>則<script defer data-host="https://cusdis.com" data-app-id="fc0766ac-efcf-4259-b26e-bfdb8a9e2eef"
        src="https://cusdis.com/js/cusdis-count.umd.js"></script></span>
</span>



























</footer>
    
        
        
        
        
            
        
    
    
        
    
    
    
</div>


<a class="entry-link" href="https://www.lilmp.com/2022-06-22/hugo-papermod-blog/" target="_blank"></a>
</article>

<h2 id="常忘記的markdown語法shortcode">常忘記的markdown語法/shortcode</h2>
<h3 id="--於文章中插入部落格其他文章連結">- 於文章中插入部落格其他文章連結</h3>
<p>跟一般插入超連結寫法一樣，惟須注意路徑問題！</br></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="c">&lt;!-- 一般超連結: --&gt;</span>
</span></span><span class="line"><span class="cl">[<span class="nt">text</span>](<span class="na">https://xxxxxxx</span>)
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- 引用部落格文章 --&gt;</span>
</span></span><span class="line"><span class="cl">[<span class="nt">text</span>](<span class="na">../post_name</span>)
</span></span><span class="line"><span class="cl"><span class="c">&lt;!--  加..是重點!! --&gt;</span>
</span></span></code></pre></div><h3 id="--插入linebreakbr標籤">- 插入linebreak(br標籤):</h3>
<p>註：現在已可以使用<code>br</code>+<code>tab</code>的方式快速新增囉!(參照<a href="#%e5%bb%b6%e4%bc%b8%e9%96%b1%e8%ae%80vscode-cheatcheat" >這裡</a>
)</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">br</span> <span class="p">&gt;</span>}}
</span></span></code></pre></div><h3 id="--blockquote">- blockquote</h3>
<p>所有詳細用法都寫在<a href="https://github.com/parsiya/Hugo-Shortcodes#octopress-blockquote-blockquotehtml" target="_blank" >這篇</a>
了，超級詳細，需要再參考就好。</p>
<h3 id="--插入註解footnote">- 插入註解(footnote)</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">xxx[^1]
</span></span><span class="line"><span class="cl">[^1]: 註解寫在這
</span></span></code></pre></div><h3 id="--插入圖片">- 插入圖片</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">1.</span> 內建markdown語法
</span></span><span class="line"><span class="cl">![](&#34;https://imgur.../xxxx.jpg&#34;) 
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- 可以在.jpg後加上hashtag --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- ex: .jpg#center 置中, .jpg#left50 置左且50%高度--&gt;</span>
</span></span><span class="line"><span class="cl"><span class="k">2.</span> shortcode寫法
</span></span><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">figure</span>  <span class="na">src</span><span class="o">=</span><span class="s">&#34;/...&#34;</span> <span class="na">title</span><span class="o">=</span><span class="s">&#34;...&#34;</span> <span class="na">width</span><span class="o">=</span><span class="s">&#34;100%&#34;</span> <span class="p">&gt;</span>}}
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- src可以是網址、也可以是資料夾路徑(預設是放在static資料夾裡頭) --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- 斜線是重點!!! --&gt;</span>
</span></span><span class="line"><span class="cl"><span class="c">&lt;!-- ex: src=&#34;https://www.lilmp.com/my-post/cover.jpg&#34; 表示是 static/my-post/cover.jpg --&gt;</span>
</span></span><span class="line hl"><span class="cl"><span class="c">&lt;!-- ex: src=&#34;https://www.lilmp.com/posts/my-post/cover.jpg&#34; 表示是 posts/my-post/cover.jpg --&gt;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">重要：如果是本機圖片的話，`src=&#34;https://www.lilmp.com/&#34;`記得要加斜線!!!
</span></span></code></pre></div><h3 id="--插入-youtube-影片">- 插入 youtube 影片</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">youtube</span> <span class="na">videoid</span> <span class="p">&gt;</span>}} <span class="c">&lt;!-- Hugo/PaperMod內建寫法 --&gt;</span>
</span></span><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">youtubestartend</span> <span class="na">videoid</span> <span class="na">start</span> <span class="na">end</span><span class="p">&gt;</span>}} <span class="c">&lt;!-- 如想要指定影片開始/結束秒數 --&gt;</span>
</span></span></code></pre></div><h3 id="--插入rawhtml">- 插入rawhtml</h3>
<p>特別適合用在從其他網站取得iframe後內嵌</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">rawhtml</span> <span class="p">&gt;</span>}}
</span></span><span class="line"><span class="cl">html code here...
</span></span><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="p">/</span><span class="nt">rawhtml</span> <span class="p">&gt;</span>}}
</span></span></code></pre></div><h3 id="--插入imgur影片">- 插入imgur影片</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">{{<span class="p">&lt;</span> <span class="nt">imgur-video</span> <span class="na">id</span><span class="o">=</span><span class="s">&#34;&#34;</span> <span class="na">width</span><span class="o">=</span><span class="s">&#34;100%&#34;</span> <span class="p">&gt;</span>}}
</span></span></code></pre></div><h3 id="--插入程式碼">- 插入程式碼</h3>
<p>用shortcode 搭配參數 <code>{{&lt; highlight syntax &quot;highlight參數&quot;&gt;}}</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">highlight</span> <span class="k">go</span> <span class="s">&#34;linenos=table,hl_lines=8 15-17,linenostart=199&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(</span><span class="nf">cond</span> <span class="p">(</span><span class="err">$</span><span class="nx">custom</span><span class="p">)</span> <span class="p">(</span><span class="nx">in</span> <span class="err">$</span><span class="nx">ShareButtons</span> <span class="s">&#34;telegram&#34;</span><span class="p">)</span> <span class="p">(</span><span class="kc">true</span><span class="p">))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nx">a</span> <span class="nx">target</span><span class="p">=</span><span class="s">&#34;_blank&#34;</span> <span class="nx">rel</span><span class="p">=</span><span class="s">&#34;noopener noreferrer&#34;</span> <span class="nx">aria</span><span class="o">-</span><span class="nx">label</span><span class="p">=</span><span class="s">&#34;share {{ $title | plainify }} on telegram&#34;</span>
</span></span><span class="line"><span class="cl">        <span class="nx">href</span><span class="p">=</span><span class="s">&#34;https://telegram.me/share/url?text={{ $title }}&amp;amp;url={{ $pageurl }}&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="p">&lt;</span><span class="nx">svg</span> <span class="nx">version</span><span class="p">=</span><span class="s">&#34;1.1&#34;</span> <span class="nx">xml</span><span class="p">:</span><span class="nx">space</span><span class="p">=</span><span class="s">&#34;preserve&#34;</span> <span class="nx">viewBox</span><span class="p">=</span><span class="s">&#34;2 2 28 28&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">            <span class="p">&lt;</span><span class="nx">path</span>
</span></span><span class="line"><span class="cl">                <span class="nx">d</span><span class="p">=</span><span class="s">&#34;M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z&#34;</span> <span class="o">/</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="p">&lt;</span><span class="o">/</span><span class="nx">svg</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="o">/</span><span class="nx">a</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span> <span class="nx">highlight</span> <span class="p">&gt;}}</span>
</span></span></code></pre></div><h2 id="其他問題">其他問題</h2>
<h3 id="--如何在文章中印出shortcode段落">- 如何在文章中印出shortcode段落</h3>
<p>在shortcode區塊中加入 <code>/* */</code> 即可讓文章不自動解析該shortcode區塊。<a href="https://discourse.gohugo.io/t/print-shortcode-as-code/34490" target="_blank" >REF</a>
</br>
ex: <code>{{&lt;/* rawhtml */&gt;}}</code></p>
<h3 id="--如何下codeblock區塊highlight參數">- 如何下codeblock區塊highlight參數</h3>
<p><a href="https://gohugo.io/content-management/syntax-highlighting/#highlight-shortcode" target="_blank" >詳細參數說明</a>
</br>
ex: <code>{linenos=inline,hl_lines=[&quot;3-10&quot;],linenostart=1}</code></p>
<h2 id="延伸閱讀vscode-cheatcheat">延伸閱讀：VSCODE cheatcheat</h2>
<h3 id="--設定snippet">- 設定snippet</h3>
<p>file &gt; preference &gt; 設定使用者程式碼片段</br>
可選擇只在 .md 中生效 還是 整個專案的資料夾適用</br>
舉例來說 我在 markdown.json中加入以下片段</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="s2">&#34;line break&#34;</span><span class="err">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;prefix&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;br&#34;</span><span class="p">,</span> <span class="s2">&#34;lb&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;body&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;{{&lt; br &gt;}}&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;linebreak tag for hugo blog&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>新增完記得要去
file &gt; preference &gt; 設定 &gt; 啟用tabcompletion &gt; 選擇 onlySnippets
<figure>
    <img loading="lazy" src="/my-blog-cheatsheet/tab-completion.jpg"/> 
</figure>
</p>
<p>如此之後只要打 keyword <code>br</code>/<code>lb</code> 再按 <code>tab</code> 就會自動插入snippet啦!</p>
<p><a href="https://stackoverflow.com/questions/37863609/vs-code-intellisense-dont-suggest-snippet-at-first" target="_blank" >https://stackoverflow.com/questions/37863609/vs-code-intellisense-dont-suggest-snippet-at-first</a>
</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="c1">// 我使用於blog寫作的snippet
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="s2">&#34;line break&#34;</span><span class="err">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;prefix&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;br&#34;</span><span class="p">,</span> <span class="s2">&#34;lb&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;body&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;{{&lt; br &gt;}}&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;linebreak tag for hugo blog&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span><span class="err">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;shortcode&#34;</span><span class="err">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;prefix&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;shortc&#34;</span><span class="p">,</span><span class="s2">&#34;shortcode&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;body&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;{{&lt; $0 &gt;}}&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;snippet for shortcode in hugo&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span><span class="err">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;youtube&#34;</span><span class="err">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;prefix&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;yt&#34;</span><span class="p">,</span><span class="s2">&#34;youtube&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;body&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;{{&lt; youtube $0 &gt;}}&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;snippet for youtube shortcode in hugo&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span><span class="err">,</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;figure&#34;</span><span class="err">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;prefix&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;figure&#34;</span><span class="p">,</span><span class="s2">&#34;img&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;body&#34;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&#34;{{&lt; figure src=\&#34;$2\&#34; title=\&#34;$1\&#34; width=\&#34;$0\&#34; &gt;}}&#34;</span><span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;description&#34;</span><span class="p">:</span> <span class="s2">&#34;snippet for figure shortcode in hugo&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div>]]></content:encoded>
    </item>
    
    <item>
      <title>Hugo blog &amp; PaperMod</title>
      <link>https://www.lilmp.com/2022-06-22/hugo-papermod-blog/</link>
      <pubDate>Wed, 22 Jun 2022 18:07:00 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2022-06-22/hugo-papermod-blog/</guid>
      <description>整理建這個blog遇到的各種踩雷實錄，持續更新中...</description>
      <content:encoded><![CDATA[<h2 id="安裝hugo">安裝hugo</h2>
<p>網路資源很多，先略XD</p>
<p>(記得添加<code>hugo指令</code>到環境變數，才可以在任意資料夾使用<code>hugo相關指令</code>喔)</p>
<h2 id="常用hugo指令">常用hugo指令</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">- 建立新blog 
</span></span><span class="line"><span class="cl">&gt; hugo new site &lt;blog_name&gt; -f yml
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">- 下載PaperMod主題
</span></span><span class="line"><span class="cl">&gt; git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">- 建立新文章
</span></span><span class="line"><span class="cl">&gt; hugo new posts/&lt;new_post&gt;.md
</span></span><span class="line"><span class="cl"># 記得要改draft: false才會出現在文章列表中(或是在 config.yml中加入 buildDrafts: true )
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">- 本機端預覽部落格(預設會在localhost:1313)
</span></span><span class="line"><span class="cl">&gt; hugo server
</span></span></code></pre></div><h2 id="使用主題">使用主題</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="c"># 在 config.yml 中加入所選主題</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">&gt; theme</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;PaperMod&#34;</span><span class="w">
</span></span></span></code></pre></div><h2 id="papermod-主題">PaperMod 主題</h2>
<ul>
<li>
<p><strong>新增文章時間軸(Archives)</strong></p>
<ol>
<li>建立 <code>archive.md</code> 在<code>content</code>資料夾下 <code>content/archive.md</code></li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;文章列表&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">layout</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;archives&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/archives/&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">summary</span><span class="p">:</span><span class="w"> </span><span class="l">archives</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><p><a href="https://github.com/adityatelange/hugo-PaperMod/wiki/Features#archives-layout" target="_blank" >https://github.com/adityatelange/hugo-PaperMod/wiki/Features#archives-layout</a>
</p>
</li>
<li>
<p><strong>新增搜尋頁面(search page)</strong></p>
<ol>
<li>把以下設定加到<code>config.yml</code></li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="c"># for search page</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">outputs</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">home</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">HTML</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">RSS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">JSON</span><span class="w">
</span></span></span></code></pre></div><ol start="2">
<li>建立 <code>search.md</code> 在<code>content</code>資料夾下 <code>content/search.md</code></li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;搜尋&#34;</span><span class="w"> </span><span class="c"># in any language you want</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">layout</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;search&#34;</span><span class="w"> </span><span class="c"># is necessary</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># description: &#34;Description for Search&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">summary</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;search&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">placeholder</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;搜尋文章關鍵字&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><ol start="3">
<li>如不希望該文章被搜索到，則添加以下於文章的<code>frontmatter</code>區塊</li>
</ol>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">searchHidden</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div></li>
<li>
<p><strong>設定文章模板</strong></p>
<p>每次新增文章時會自動帶入的部分。<a href="https://www.sulvblog.cn/posts/blog/hugo_postmeta/" target="_blank" >參考</a>
</p>
<p>找到 <code>archetypes/default.md</code> 並修改。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{{ replace .Name &#34;</span>-<span class="s2">&#34; &#34;</span><span class="w"> </span><span class="s2">&#34; | title }}&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">date</span><span class="p">:</span><span class="w"> </span>{{<span class="w"> </span><span class="l">.Date }}</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">draft</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># &#34;怎麼重新整理都沒用？這篇教你清除永無止盡的瀏覽器重新轉址(redirection)！&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># 字數不要超過以上</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">summary</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&#34;</span><span class="w"> </span><span class="c"># 首頁顯示的文字總結段落</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">categories</span><span class="p">:</span><span class="w"> 
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">行山</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">技術</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">訓練</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">tags</span><span class="p">:</span><span class="w"> </span><span class="c"># 自由新增</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">author</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;小M平&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">isCJKLanguage</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c"># 是否是中文(chinese,japanese,korea) 字數判斷用</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">comments</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">showToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c"># 顯示目錄</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">TocOpen</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c"># 預設打開目錄</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">hidemeta</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c"># 是否隱藏meta訊息(ex:發布日期、作者...etc)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">disableShare</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c"># 取消社群分享區塊</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">showbreadcrumbs</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c"># 於頂部顯示文章路徑</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowWordCounts</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowReadingTime</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowLastMod</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&#34;</span><span class="w"> </span><span class="c"># 封面圖片路径 (ex:clear-301-redirection-cache-chrome/cover.jpg)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">caption</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&#34;</span><span class="w"> </span><span class="c"># 封面圖片底部描述</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">alt</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">relative</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div></li>
<li>
<p><strong>社群連結(鑲嵌strava, ig post)</strong></p>
<p>基本上用<code>rawhtml</code>這個shortcode搭配iframe鑲嵌的方式比較簡單，未來移植性也比較高</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="hl"><span class="lnt"> 3
</span></span><span class="hl"><span class="lnt"> 4
</span></span><span class="hl"><span class="lnt"> 5
</span></span><span class="hl"><span class="lnt"> 6
</span></span><span class="hl"><span class="lnt"> 7
</span></span><span class="hl"><span class="lnt"> 8
</span></span><span class="hl"><span class="lnt"> 9
</span></span><span class="hl"><span class="lnt">10
</span></span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="c1">// strava activities
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span><span class="line hl"><span class="cl"><span class="p">&lt;</span><span class="nx">div</span> <span class="nx">class</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">strava</span><span class="o">-</span><span class="nx">embed</span><span class="o">-</span><span class="nx">placeholder</span><span class="err">&#39;</span> <span class="nx">data</span><span class="o">-</span><span class="nx">embed</span><span class="o">-</span><span class="kd">type</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">activity</span><span class="err">&#39;</span> <span class="nx">data</span><span class="o">-</span><span class="nx">embed</span><span class="o">-</span><span class="nx">id</span><span class="p">=</span><span class="err">&#39;</span><span class="mi">7279049209</span><span class="err">&#39;</span><span class="p">&gt;&lt;</span><span class="o">/</span><span class="nx">div</span><span class="p">&gt;&lt;</span><span class="nx">script</span> <span class="nx">src</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">https</span><span class="p">:</span><span class="c1">//strava-embeds.com/embed.js&#39;&gt;&lt;/script&gt;
</span></span></span><span class="line hl"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span><span class="line hl"><span class="cl">
</span></span><span class="line hl"><span class="cl"><span class="c1">// strava recent activities
</span></span></span><span class="line hl"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span><span class="line hl"><span class="cl"><span class="p">&lt;</span><span class="nx">iframe</span> <span class="nx">height</span><span class="p">=</span><span class="err">&#39;</span><span class="mi">454</span><span class="err">&#39;</span> <span class="nx">width</span><span class="p">=</span><span class="err">&#39;</span><span class="mi">300</span><span class="err">&#39;</span> <span class="nx">frameborder</span><span class="p">=</span><span class="sc">&#39;0&#39;</span> <span class="nx">allowtransparency</span><span class="p">=</span><span class="err">&#39;</span><span class="kc">true</span><span class="err">&#39;</span> <span class="nx">scrolling</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">no</span><span class="err">&#39;</span> <span class="nx">src</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">https</span><span class="p">:</span><span class="c1">//www.strava.com/athletes/34128612/latest-rides/f672808af3343beece46ac192ff9a69e41e3d6cd&#39;&gt;&lt;/iframe&gt;
</span></span></span><span class="line hl"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span><span class="line hl"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">// ig post
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nx">iframe</span> <span class="nx">height</span><span class="p">=</span><span class="err">&#39;</span><span class="mi">454</span><span class="err">&#39;</span> <span class="nx">width</span><span class="p">=</span><span class="err">&#39;</span><span class="mi">300</span><span class="err">&#39;</span> <span class="nx">frameborder</span><span class="p">=</span><span class="sc">&#39;0&#39;</span> <span class="nx">allowtransparency</span><span class="p">=</span><span class="err">&#39;</span><span class="kc">true</span><span class="err">&#39;</span> <span class="nx">scrolling</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">no</span><span class="err">&#39;</span> <span class="nx">src</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">https</span><span class="p">:</span><span class="c1">//www.instagram.com/p/Ccf9RZKBoN0/embed/&#39;&gt;&lt;/iframe&gt;
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">rawhtml</span> <span class="p">&gt;}}</span>
</span></span></code></pre></td></tr></table>
</div>
</div></li>
</ul>
<h2 id="hugopapermod-shortcode">Hugo/PaperMod Shortcode</h2>
<blockquote>
<p>Shortcode 可以看作是「一小塊 HTML 程式片段」，與 Hugo Template 不同的是，前者通常運用在「插入特定用途」、「重複使用」的片段語法到 markdown 內容中，而後者則是作為 markdown content 的外殼載體、或是佈局規劃等，用以構成我們最後呈現的視圖頁面 (View)。
— <!-- raw HTML omitted --><a href="https://ithelp.ithome.com.tw/articles/10249470" target="_blank" >來源:iT邦</a>
<!-- raw HTML omitted --></p>
</blockquote>
<p>有興趣研究更詳細的shortcode設定，可以參考<a href="https://ithelp.ithome.com.tw/articles/10250671" target="_blank" >這篇</a>
以及<a href="https://www.sulvblog.cn/posts/blog/shortcodes/" target="_blank" >這篇</a>
</p>
<ul>
<li>
<p><strong>figure</strong></p>
<p>內建shortcode，可直接在文章中內嵌圖片並做寬度/標題設定</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">figure</span>  <span class="nx">src</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="nx">title</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="nx">width</span><span class="p">=</span><span class="s">&#34;100%&#34;</span> <span class="p">&gt;}}</span>
</span></span></code></pre></div></li>
<li>
<p><strong>imgur</strong></p>
<p>單純為了放上傳到imgur的影片(如果是單純imgur本身我會用上面figure的方式，還可以指定更多參數)</p>
<p>新增<code>/layouts/shortcodes/imgur.html</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">class</span><span class="o">=</span><span class="s">&#34;embed imgur-video&#34;</span> <span class="na">style</span><span class="o">=</span><span class="s">&#34;padding: 10px;&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">video</span> <span class="na">controls</span><span class="o">=</span><span class="s">&#34;&#34;</span> <span class="na">name</span><span class="o">=</span><span class="s">&#34;media&#34;</span> <span class="na">style</span><span class="o">=</span><span class="s">&#34;width: 50%;&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">        <span class="p">&lt;</span><span class="nt">source</span> <span class="na">src</span><span class="o">=</span><span class="s">&#39;https://i.imgur.com/{{ .Get &#34;id&#34; }}.mp4&#39;</span> <span class="na">type</span><span class="o">=</span><span class="s">&#34;video/mp4&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;/</span><span class="nt">video</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div><p>新增完後，以後在文章中即可使用<code>{{&lt; imgur id=&quot;&quot; &gt;}}</code>語法來嵌入 imgur mp4</p>
<p>參考自<a href="https://ithelp.ithome.com.tw/articles/10249470" target="_blank" >這篇</a>

還有<a href="https://github.com/kaivalyar/Hugo-Imgur-Shortcode/blob/master/layouts/shortcodes/imgur.html" target="_blank" >這篇</a>
</p>
</li>
<li>
<p><strong>youtubestartend</strong></p>
<p>可指定youtube影片開始跟結束的時間。<a href="https://discourse.gohugo.io/t/howto-youtube-embed-with-custom-start-time/7060/4" target="_blank" >ref</a>
</p>
<p>ex: <code>{{&lt; youtubestartend siVSC7tZVek 72 82 &gt;}}</code></p>
<p>新增<code>/layouts/shortcodes/youtubestartend.html</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-html" data-lang="html"><span class="line"><span class="cl"><span class="p">&lt;</span><span class="nt">div</span> <span class="na">style</span><span class="o">=</span><span class="s">&#34;position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;&#34;</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl">    <span class="p">&lt;</span><span class="nt">iframe</span> <span class="na">src</span><span class="o">=</span><span class="s">&#34;http://www.youtube-nocookie.com/embed/{{ index .Params 0 }}?start={{ index .Params 1 }}&amp;end={{ index .Params 2}}&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="na">style</span><span class="o">=</span><span class="s">&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%;&#34;</span> <span class="na">allowfullscreen</span> <span class="na">frameborder</span><span class="o">=</span><span class="s">&#34;0&#34;</span> <span class="na">title</span><span class="o">=</span><span class="s">&#34;YouTube Video&#34;</span><span class="p">&gt;&lt;/</span><span class="nt">iframe</span><span class="p">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="p">&lt;/</span><span class="nt">div</span><span class="p">&gt;</span>
</span></span></code></pre></div></li>
</ul>
<h2 id="css-修改">css 修改</h2>
<ul>
<li><strong>code 區塊設定max-height</strong>
<code>assets/css/common/post-single.css</code>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="p">.</span><span class="nc">post-content</span> <span class="nt">pre</span> <span class="nt">code</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">max-height</span><span class="p">:</span> <span class="mi">30</span><span class="kt">em</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div></li>
<li><strong>取消 footnote hr分隔線</strong>
<code>assets/css/common/post-single.css</code>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="c">/* 取消footnote的hr分隔線 */</span>
</span></span><span class="line"><span class="cl"><span class="p">.</span><span class="nc">footnotes</span> <span class="nt">hr</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">display</span><span class="p">:</span> <span class="kc">none</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="c">/* 取消footnote的hr分隔線 */</span>
</span></span></code></pre></div></li>
<li><strong>讓tags跟categories頁面的文章也呈現縮圖</strong>
<code>assets/css/common/post-entry.css</code> <a href="https://github.com/adityatelange/hugo-PaperMod/discussions/631" target="_blank" >ref</a>

<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="p">.</span><span class="nc">tag-entry</span> <span class="p">.</span><span class="nc">entry-cover</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="k">display</span><span class="p">:</span> <span class="kc">flex</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div></li>
</ul>
<h2 id="hugo-frontmatter區塊參數說明">Hugo frontmatter區塊參數說明</h2>
<ul>
<li>summaries
<a href="https://gohugo.io/content-management/summaries/" target="_blank" >https://gohugo.io/content-management/summaries/</a>
</li>
</ul>
<h2 id="設置評論區comment-systems">設置評論區/comment systems</h2>
<p>hugo 系統自訂性非常高，內建整合老牌的<code>Disqus</code>服務，不過似乎有個資的問題，再加上不是每個人都有github帳號，幾經思量後決定自己host一個comment system。</p>
<p>想看hugo與disqus的設定可看<a href="https://ithelp.ithome.com.tw/articles/10248312" target="_blank" >這篇</a>
，基本上照著做就行。</p>
<p>查照hugo支援的comment system列表請看<a href="https://gohugo.io/content-management/comments/#alternatives" target="_blank" >這裡</a>
。</p>
<hr>
<h2 id="將文章大綱toc-table-of-content改到側邊">將文章大綱(TOC, table of content)改到側邊</h2>
<p>參考<a href="https://www.sulvblog.cn/posts/blog/hugo_toc_side/" target="_blank" >這篇</a>
</p>
<h2 id="首頁縮圖調整">首頁縮圖調整</h2>
<p>參考<a href="https://www.sulvblog.cn/posts/blog/img_right/" target="_blank" >這篇</a>
</p>
<h2 id="自定義post_meta顯示">自定義post_meta顯示</h2>
<ul>
<li>
<p><strong>最後編輯(Lastmod)</strong></p>
<p>會根據frontmatter中的順序取值。<a href="https://gohugo.io/getting-started/configuration/#:~:text=date%20handlers%20are%3A-,%3AfileModTime,-Fetches%20the%20date" target="_blank" >官網說明</a>
</p>
<ul>
<li><code>:git</code>：會去抓git提交紀錄的日期，且必須於<code>config.yml</code>中啟用<code>enableGitInfo = true</code>(沒試成功)</li>
<li><code>:fileModTime</code>：根據本機的文件最後修改紀錄</li>
<li><code>lastmod</code>：可以在文章的<code>frontmatter</code>區塊中直接設定</li>
<li><code>date</code>：可以在文章的<code>frontmatter</code>區塊中直接設定</li>
<li><code>publishDate</code>：文章發布的日期</li>
</ul>
<p><code>config.yml</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">frontmatter</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">lastmod</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="p">:</span><span class="l">git</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="p">:</span><span class="l">fileModTime</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">lastmod</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">publishDate</span><span class="w">
</span></span></span></code></pre></div></li>
<li>
<p><strong>在post_meta塞svg</strong></p>
<p>iconset: <a href="https://package.elm-lang.org/packages/1602/elm-feather/1.0.0/FeatherIcons" target="_blank" >https://package.elm-lang.org/packages/1602/elm-feather/1.0.0/FeatherIcons</a>

參考別人的post_meta.html: <a href="https://github.com/reorx/hugo-PaperModX/blob/master/layouts/partials/post_meta.html" target="_blank" >https://github.com/reorx/hugo-PaperModX/blob/master/layouts/partials/post_meta.html</a>
</p>
</li>
<li>
<p><strong>我的post_meta</strong></p>
<p><code>layouts/partials/post_meta.html</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{</span> <span class="err">$</span><span class="nx">date</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Date</span><span class="p">.</span><span class="nx">Format</span> <span class="s">&#34;02.01.2006&#34;</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span> <span class="err">$</span><span class="nx">lastmod</span> <span class="o">:=</span> <span class="p">.</span><span class="nx">Lastmod</span><span class="p">.</span><span class="nx">Format</span> <span class="s">&#34;02.01.2006&#34;</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span> <span class="o">:=</span> <span class="nx">newScratch</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="nx">not</span> <span class="p">.</span><span class="nx">Date</span><span class="p">.</span><span class="nx">IsZero</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Add</span> <span class="s">&#34;meta&#34;</span> <span class="p">(</span><span class="nf">slice</span> <span class="p">(</span><span class="nx">printf</span> <span class="s">&#34;&lt;span title=&#39;%s&#39;&gt;張貼: %s&lt;/span&gt;&#34;</span> <span class="p">(.</span><span class="nx">Date</span><span class="p">)</span> <span class="p">(.</span><span class="nx">Date</span> <span class="p">|</span> <span class="nx">time</span><span class="p">.</span><span class="nf">Format</span> <span class="p">(</span><span class="k">default</span> <span class="s">&#34;2006-01-02&#34;</span> <span class="nx">site</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">DateFormat</span><span class="p">))))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="nx">ne</span> <span class="err">$</span><span class="nx">lastmod</span> <span class="err">$</span><span class="nx">date</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Add</span> <span class="s">&#34;meta&#34;</span> <span class="p">(</span><span class="nf">slice</span> <span class="p">(</span><span class="nx">printf</span> <span class="s">&#34;&lt;span title=&#39;%s&#39;&gt;最後編輯: %s&lt;/span&gt;&#34;</span> <span class="p">(.</span><span class="nx">Lastmod</span><span class="p">)</span> <span class="p">(.</span><span class="nx">Lastmod</span> <span class="p">|</span> <span class="nx">time</span><span class="p">.</span><span class="nf">Format</span> <span class="p">(</span><span class="k">default</span> <span class="s">&#34;2006-01-02&#34;</span> <span class="nx">site</span><span class="p">.</span><span class="nx">Params</span><span class="p">.</span><span class="nx">DateFormat</span><span class="p">))))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(.</span><span class="nx">Param</span> <span class="s">&#34;ShowReadingTime&#34;</span><span class="p">)</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Add</span> <span class="s">&#34;meta&#34;</span> <span class="p">(</span><span class="nf">slice</span> <span class="p">(</span><span class="nx">i18n</span> <span class="s">&#34;read_time&#34;</span> <span class="p">.</span><span class="nx">ReadingTime</span> <span class="p">|</span> <span class="k">default</span> <span class="p">(</span><span class="nx">printf</span> <span class="s">&#34;%d min&#34;</span> <span class="p">.</span><span class="nx">ReadingTime</span><span class="p">)))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="k">if</span> <span class="p">(.</span><span class="nx">Param</span> <span class="s">&#34;ShowWordCount&#34;</span><span class="p">)</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Add</span> <span class="s">&#34;meta&#34;</span> <span class="p">(</span><span class="nf">slice</span> <span class="p">(</span><span class="nx">i18n</span> <span class="s">&#34;words&#34;</span> <span class="p">.</span><span class="nx">WordCount</span> <span class="p">|</span> <span class="k">default</span> <span class="p">(</span><span class="nx">printf</span> <span class="s">&#34;%d words&#34;</span> <span class="p">.</span><span class="nx">WordCount</span><span class="p">)))</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nf">with</span> <span class="p">(</span><span class="nx">partial</span> <span class="s">&#34;author.html&#34;</span> <span class="p">.)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Add</span> <span class="s">&#34;meta&#34;</span> <span class="p">(</span><span class="nx">slice</span> <span class="p">.)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nf">with</span> <span class="p">(</span><span class="err">$</span><span class="nx">scratch</span><span class="p">.</span><span class="nx">Get</span> <span class="s">&#34;meta&#34;</span><span class="p">)</span> <span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">delimit</span> <span class="p">.</span> <span class="s">&#34;&amp;nbsp;|&amp;nbsp;&#34;</span> <span class="o">-</span><span class="p">}}</span>
</span></span><span class="line"><span class="cl"><span class="p">{{</span><span class="o">-</span> <span class="nx">end</span> <span class="o">-</span><span class="p">}}</span>
</span></span></code></pre></div><p>參考</p>
<ol>
<li><a href="https://www.sulvblog.cn/posts/blog/hugo_postmeta/" target="_blank" >這篇</a>
</li>
<li><a href="https://github.com/adityatelange/hugo-PaperMod/discussions/775" target="_blank" >https://github.com/adityatelange/hugo-PaperMod/discussions/775</a>
</li>
<li><a href="https://gohugo.io/getting-started/configuration/#:~:text=date%20handlers%20are%3A-,%3AfileModTime,-Fetches%20the%20date" target="_blank" >https://gohugo.io/getting-started/configuration/#:~:text=date%20handlers%20are%3A-,%3AfileModTime,-Fetches%20the%20date</a>
</li>
<li><a href="https://github.com/ichard26/ichard26.github.io/blob/652009a0c7f865e74e6ecfe92d7269248e3fff34/layouts/partials/post_meta.html" target="_blank" >別人的範本</a>
</li>
<li><a href="https://gohugo.io/variables/git/#lastmod" target="_blank" >官網</a>
</li>
<li><a href="https://mertbakir.gitlab.io/hugo/last-modified-date-in-hugo/" target="_blank" >https://mertbakir.gitlab.io/hugo/last-modified-date-in-hugo/</a>
</li>
<li><a href="https://www.jacksonlucky.net/posts/use-lastmod-with-papermod/" target="_blank" >https://www.jacksonlucky.net/posts/use-lastmod-with-papermod/</a>
</li>
</ol>
</li>
<li>
<p><strong>我的 config.yml</strong></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="c"># baseURL: &#34;https://thriving-tartufo-c36de5.netlify.app/&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">baseURL</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://www.lilmp.com&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">languageCode</span><span class="p">:</span><span class="w"> </span><span class="l">en-us</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="l">LilMP | 小M平</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">theme</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;PaperMod&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">paginate</span><span class="p">:</span><span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="c"># 首頁文章筆數</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">defaultContentLanguage</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;zh-tw&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">enableGitInfo</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">frontmatter</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">date</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">publishDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">lastmod</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">expiryDate</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">expiryDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">lastmod</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="p">:</span><span class="l">git</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="p">:</span><span class="l">fileModTime</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">lastmod</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">publishDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">publishDate</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">publishDate</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span>- <span class="l">date</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">enableRobotsTXT</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">buildDrafts</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">buildFuture</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">buildExpired</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">googleAnalytics</span><span class="p">:</span><span class="w"> </span><span class="l">UA-123-45</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">minify</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">disableXML</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">minifyOutput</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># FOR SEARCH PAGE</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">outputs</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">home</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">HTML</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">RSS</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">JSON</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">env</span><span class="p">:</span><span class="w"> </span><span class="l">production</span><span class="w"> </span><span class="c"># to enable google analytics, opengraph, twitter-cards and schema.</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="l">ExampleSite</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;ExampleSite description&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">keywords</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="l">Blog, Portfolio, PaperMod]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">author</span><span class="p">:</span><span class="w"> </span><span class="l">小M平</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># author: [&#34;Me&#34;, &#34;You&#34;] # multiple authors</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">images</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;&lt;link or path of image for opengraph, twitter-cards&gt;&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">DateFormat</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;2006-01-02&#34;</span><span class="w"> </span><span class="c"># &#34;January 2, 2006&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">defaultTheme</span><span class="p">:</span><span class="w"> </span><span class="l">auto</span><span class="w"> </span><span class="c"># dark, light</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">disableThemeToggle</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowAllPagesInArchive</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">mainSections</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="l">posts</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowLastMod</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowReadingTime</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowShareButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowPostNavLinks</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowBreadCrumbs</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowCodeCopyButtons</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowWordCount</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">VisitCount</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">ShowRssButtonInSectionTermList</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">UseHugoToc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">disableSpecial1stPost</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">disableScrollToTop</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">comments</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">hidemeta</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">hideSummary</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">showtoc</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">tocopen</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># ShareButtons: [&#34;facebook&#34;, &#34;telegram&#34;]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># Display thumbnail image of each post on index pages (false: disabled, true: enabled)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># 文章缩略图功能</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">thumbnailImage</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># 缩略图位置，我觉得放在上面好看，如果用的小图片作缩略图</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># 可以放在（left或者right），设置此项会取代配置文件中默认在下边的设置</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">thumbnailImagePosition</span><span class="p">:</span><span class="w"> </span><span class="l">top</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># 这个下边默认就好了，暂时不清楚有什么影响</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">autoThumbnailImage</span><span class="p">:</span><span class="w"> </span><span class="kc">yes</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">metaAlignment</span><span class="p">:</span><span class="w"> </span><span class="l">left</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">assets</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># disableHLJS: true # to disable highlight.js</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># disableFingerprinting: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># favicon: &#34;&lt;link / abs url&gt;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># favicon16x16: &#34;&lt;link / abs url&gt;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># favicon32x32: &#34;&lt;link / abs url&gt;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># apple_touch_icon: &#34;&lt;link / abs url&gt;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># safari_pinned_tab: &#34;&lt;link / abs url&gt;&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">label</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># text: &#34;Home&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># icon: /apple-touch-icon.png</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># iconHeight: 35</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># profile-mode</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">profileMode</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">enabled</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;&lt;Title&gt;&#34;</span><span class="w"> </span><span class="c"># optional default will be site title</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">subtitle</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;This is subtitle&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># imageUrl: &#34;&lt;image link&gt;&#34; # optional</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># imageTitle: &#34;&lt;title of image as alt&gt;&#34; # optional</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># imageWidth: 120 # custom size</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># imageHeight: 120 # custom size</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">buttons</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">Archive</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/archive&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">About</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">        </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;/about&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># home-info mode</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">homeInfoParams</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">Title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;Hi there. 我是小M平 \U0001F44B&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">Content</span><span class="p">:</span><span class="w"> </span><span class="p">&gt;</span><span class="sd">
</span></span></span><span class="line"><span class="cl"><span class="sd">    - ### 心、技、體
</span></span></span><span class="line"><span class="cl"><span class="sd">
</span></span></span><span class="line"><span class="cl"><span class="sd">    - 離開世界之前，一切都是過程。
</span></span></span><span class="line"><span class="cl"><span class="sd">
</span></span></span><span class="line"><span class="cl"><span class="sd">    - Welcome to my blog. Below is where you can reach out to me.</span><span class="w">    
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">socialIcons</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">instagram</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://www.instagram.com/yenzichun&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">strava</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://www.strava.com/athletes/34128612&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">youtube</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;https://www.youtube.com/channel/UCuAlYrRVD7b63WGgcCcR1ww&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">email</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;mailto:yenping074@gmail.com&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">buymeacoffee</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">analytics</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">google</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">SiteVerificationTag</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;XYZabc&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">bing</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">SiteVerificationTag</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;XYZabc&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">yandex</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">SiteVerificationTag</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;XYZabc&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">cover</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">linkFullImages</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">hidden</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c"># hide everywhere but not in structured data</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">hiddenInList</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c"># hide on list pages and home</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">hiddenInSingle</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c"># hide on single page</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># editPost:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#   URL: &#34;https://github.com/LilMP/LilMP-hugo-site/tree/master/content&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#   Text: &#34;Suggest Changes&#34; # edit text</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#   appendFilePath: true # to append file path to Edit link</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># for search</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># https://fusejs.io/api/options.html</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">fuseOpts</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">isCaseSensitive</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">shouldSort</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">location</span><span class="p">:</span><span class="w"> </span><span class="m">0</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">distance</span><span class="p">:</span><span class="w"> </span><span class="m">1000</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">threshold</span><span class="p">:</span><span class="w"> </span><span class="m">0.4</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">minMatchCharLength</span><span class="p">:</span><span class="w"> </span><span class="m">0</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">keys</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">&#34;title&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;permalink&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;summary&#34;</span><span class="p">,</span><span class="w"> </span><span class="s2">&#34;content&#34;</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">menu</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">main</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">categories</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">分類</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/categories/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">10</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">tags</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">標籤</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/tags/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">20</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">archives</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">時間軸</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/archives/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">30</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">projects</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">專案</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/projects/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">40</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">about</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">關於</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/about/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">50</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">identifier</span><span class="p">:</span><span class="w"> </span><span class="l">search</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">搜尋</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">url</span><span class="p">:</span><span class="w"> </span><span class="l">/search/</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">weight</span><span class="p">:</span><span class="w"> </span><span class="m">60</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c"># - identifier: example</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#   name: example.org</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#   url: https://example.org</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="c">#   weight: 30</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># pygmentsUseClasses: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c"># markup:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#     highlight:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#         # anchorLineNos: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#         codeFences: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#         guessSyntax: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#         lineNos: true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c">#         style: monokai</span><span class="w">
</span></span></span></code></pre></div></li>
</ul>
<h2 id="首頁配置">首頁配置</h2>
<ul>
<li>
<p><strong>個人資訊</strong></p>
<p>參考 <a href="https://github.com/adityatelange/hugo-PaperMod/blob/exampleSite/config.yml" target="_blank" >範例網站的設定檔</a>
</p>
</li>
</ul>
<h2 id="部屬上線">部屬上線</h2>
<p>研究了很久，覺得最無腦的方式就是串接netlify(影片37:11分開始)

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
  <iframe src="https://www.youtube.com/embed/hjD9jTi_DQ4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
</div>
</p>
<!-- raw HTML omitted -->
<h2 id="其他問題">其他問題</h2>
<ul>
<li>
<p><strong>上傳到github後發現theme的css沒有載入</strong></p>
<p>打開F12檢查錯誤訊息 看是否為<code>Failed to find a valid digest in the 'integrity' attribute for resource</code></p>
<p>如果是的話於<code>config.yml</code>裡加上這行即可。<a href="https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#failed-to-find-a-valid-digest-in-the-integrity-attribute-for-resource--" target="_blank" >來源</a>
</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">params</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="nt">assets</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">disableFingerprinting</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span></code></pre></div></li>
<li>
<p><strong>blockquote 用法</strong></p>
</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-go" data-lang="go"><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="nx">blockquote</span>  <span class="nx">author</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="nx">source</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="nx">link</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="nx">title</span><span class="p">=</span><span class="s">&#34;...&#34;</span> <span class="p">&gt;}}</span>
</span></span><span class="line"><span class="cl"><span class="nx">some</span> <span class="nx">text</span> <span class="nx">here</span>
</span></span><span class="line"><span class="cl"><span class="p">{{&lt;</span> <span class="o">/</span><span class="nx">blockquote</span> <span class="p">&gt;}}</span>
</span></span></code></pre></div><ul>
<li>
<p>Normal quote:











  





  


<blockquote>
  <p>This is a simple quote.</p>
  <footer>
    <strong></strong>
    
      
        
      
    
  </footer>
</blockquote>












  
  
  
  





  


<blockquote>
  <p>Flying is learning how to throw yourself at the ground and miss.</p>
  <footer>
    <strong>Douglas Adams,</strong>
    
      <cite>《The Hichhikers Guide to the Galaxy》</cite>
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Quote with author











  
  
  
  





  


<blockquote>
  <p>This is a quote with only an Author named Author2.</p>
  <footer>
    <strong>Author2</strong>
    
      
        
      
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Quote with author and source











  
  
  
  





  


<blockquote>
  <p>This is a quote from Author3 and source &ldquo;source.&rdquo;</p>
  <footer>
    <strong>Author3</strong>
    
      <cite>《Source》</cite>
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Quote with author and link











  
  
  
  





      
      
      
    
     
      
    
    

    
    
  


<blockquote>
  <p>This is a quote from Author4 and links to <a href="https://www.google.com" target="_blank" >https://www.google.com</a>
.</p>
  <footer>
    <strong>Author4</strong>
    
      
        <cite>
          <a href="https://www.google.com" title="https://www.google.com">google.com</a> 
        </cite>
      
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Quote with author, link and title











  
  
  
  





  


<blockquote>
  <p>This is a quote from Author5 and links to <a href="https://www.google.com" target="_blank" >https://www.google.com</a>
 with title &ldquo;Google.&rdquo;</p>
  <footer>
    <strong>Author5</strong>
    
      
        <cite>
          <a href="https://www.google.com" title="https://www.google.com">Google</a> 
        </cite>
      
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Quote with author and a link longer than 32 characters, string is first cut at 32 characters then everything after the last forward slash is removed











  
  
  
  





      
      
      
    
     
      
    
    

    
    
         
         
         

         
        
        
        
        
      
      
    
  


<blockquote>
  <p>This is a quote from Author5 and links to <a href="https://twitter.com/CryptoGangsta/status/716427930126196737" target="_blank" >https://twitter.com/CryptoGangsta/status/716427930126196737</a>
 which is longer than 32 characters.
<!-- raw HTML omitted -->And this is a new line in the quote with the HTML br tag.</p>
  <footer>
    <strong>Author6</strong>
    
      
        <cite>
          <a href="https://twitter.com/CryptoGangsta/status/716427930126196737" title="https://twitter.com/CryptoGangsta/status/716427930126196737">twitter.com/CryptoGangsta/...</a> 
        </cite>
      
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p>Test from the Octopress blockquote page at: <a href="http://octopress.org/docs/plugins/blockquote/" target="_blank" >http://octopress.org/docs/plugins/blockquote/</a>












  
  
  
  





      
      
      
    
     
      
    
    

    
    
         
         
         

         
        
        
        
        
        
        
      
      
    
  


<blockquote>
  <p>Over the past 24 hours I&rsquo;ve been reflecting on my life &amp; I&rsquo;ve realized only one thing. I need a medieval battle axe.</p>
  <footer>
    <strong>@allanbranch</strong>
    
      
        <cite>
          <a href="https://twitter.com/allanbranch/status/90766146063712256" title="https://twitter.com/allanbranch/status/90766146063712256">twitter.com/allanbranch/status/...</a> 
        </cite>
      
    
  </footer>
</blockquote>
</p>
</li>
<li>
<p><strong>設定文章中的互連 (2023.02.16 update)</strong></p>
<p>因為之前改動過permalink設定, 將網址統一為/year-month-day/slug/ 的形式。</br>
所以之前文章中有引用的部分超連結也需要改變</p>
<p>原本做法:
假設要被連結的文章檔名為 <code>hugo-papermod-blog.md</code></br>
原本是類似文件層級，<code>../</code>後面直接輸入&quot;檔名&quot;即可(hugo-papermod-blog.md)</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">[架站║ Hugo部落格與PaperMod主題](../hugo-papermod-blog)
</span></span></code></pre></div><p>不過因為現在網址多了<code>/year-month-day/</code>所以這樣會連不到。</p>
<p>解決辦法:</br>
於該文章的front matter中設定aliases</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">aliases:
</span></span><span class="line"><span class="cl">    - /hugo-blog-settings/
</span></span></code></pre></div><p>修改後:
<code>[超連結文字](/hugo-blog-settings)</code>
就會自動連到對應的文章，也不用輸入<code>/year-month-day/</code>的網址前綴</p>
</li>
</ul>
<h2 id="不錯的hugo內容網站">不錯的hugo內容網站</h2>
<ol>
<li><a href="https://theryanlin.github.io/posts/2020/11/16/" target="_blank" >https://theryanlin.github.io/posts/2020/11/16/</a>
</li>
<li><a href="https://aiwlulu.github.io/" target="_blank" >https://aiwlulu.github.io/</a>
</li>
<li><a href="https://www.odszz.com/" target="_blank" >https://www.odszz.com/</a>
</li>
<li><a href="https://www.sulvblog.cn/" target="_blank" >https://www.sulvblog.cn/</a>
</li>
<li><a href="https://freepencil.com/2021/10/hugo-papermod%E8%B8%A9%E5%9D%91%E5%8E%86%E7%A8%8B/" target="_blank" >https://freepencil.com/2021/10/hugo-papermod%E8%B8%A9%E5%9D%91%E5%8E%86%E7%A8%8B/</a>
</li>
<li><a href="https://wenrongdev.com/posts/reflection-blog-1/" target="_blank" >https://wenrongdev.com/posts/reflection-blog-1/</a>
</li>
</ol>
<h2 id="參考資料">參考資料</h2>
<ol>
<li><a href="https://adityatelange.github.io/hugo-PaperMod/posts/papermod/papermod-features/#archives-layout" target="_blank" >PaperMod features</a>
</li>
<li><a href="https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#add-menu-to-site" target="_blank" >hugo-PaperMod Github</a>
</li>
<li><a href="https://gohugo.io/content-management/shortcodes/" target="_blank" >hugo shortcodes-官網</a>
</li>
<li><a href="https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs" target="_blank" >papermod FAQs</a>
</li>
<li><a href="https://hugo-for-newbie.kejyun.com/docs/start/create/" target="_blank" >hugo新手道場</a>
</li>
<li><a href="https://adityatelange.github.io/hugo-PaperMod/" target="_blank" >papermod github.io</a>
</li>
<li><a href="https://github.com/gethugothemes/liva-hugo" target="_blank" >liva hugo</a>
</li>
<li>PaperModX：<a href="https://discourse.gohugo.io/t/papermodx-an-enhanced-fork-of-the-popular-papermod-theme/38216" target="_blank" >這裡</a>
、還有<a href="https://reorx.com/" target="_blank" >這裡</a>
</li>
</ol>
]]></content:encoded>
    </item>
    
    <item>
      <title>清除瀏覽器快取 status 301</title>
      <link>https://www.lilmp.com/2022-06-21/%E6%B8%85%E9%99%A4%E7%80%8F%E8%A6%BD%E5%99%A8%E5%BF%AB%E5%8F%96-status-301/</link>
      <pubDate>Tue, 21 Jun 2022 08:03:11 +0800</pubDate>
      
      <guid>https://www.lilmp.com/2022-06-21/%E6%B8%85%E9%99%A4%E7%80%8F%E8%A6%BD%E5%99%A8%E5%BF%AB%E5%8F%96-status-301/</guid>
      <description>怎麼重新整理都沒用？這篇教你清除永無止盡的瀏覽器重新轉址(redirection)！</description>
      <content:encoded><![CDATA[<h2 id="事情緣起">事情緣起</h2>
<p>前幾天<a href="" >設定godaddy網域</a>
，以及<a href="" >測試各種轉址服務</a>
後，發現原本設定把<code>lilmp.github.io</code>和<code>lilmp.com</code>綁定在一起，可是<strong>取消後瀏覽器卻怎麼樣都會自動轉址</strong>（不過只要更換為<code>無痕視窗</code>或<code>用其他帳號登入</code>瀏覽器就又一切正常），簡直像鬼打牆一樣！！超奇怪的！！</p>
<p>直到查到<a href="https://dev.to/epranka/clear-the-301-302-redirection-cache-chrome-4dio" target="_blank" >這篇</a>
才解決我的問題!</p>
<h3 id="問題排查">問題排查</h3>
<ol>
<li>
<p>確認已在github取消custom domain(卻還是會自動轉址)
<figure>
       <img loading="lazy" src="/clear-301-redirection-cache-chrome/github-disable-domain.jpg" width="100%"/> <figcaption>
               已於github中取消轉址綁定
           </figcaption>
   </figure>
</p>
</li>
<li>
<p>確認已在godaddy中將<code>lilmp.com網域</code>與其他網域連結。(沒用)
<figure>
       <img loading="lazy" src="/clear-301-redirection-cache-chrome/godaddy-screenshot.jpg" width="100%"/> <figcaption>
               已於godaddy中綁定其他網域
           </figcaption>
   </figure>
</p>
</li>
<li>
<p>有想過可能是快取cookie問題，也於<code>chrome</code>設定中刪除<code>github</code>、<code>godaddy</code>相關cookie快取。(still no luck)
<figure>
       <img loading="lazy" src="/clear-301-redirection-cache-chrome/chrome-cookie.jpg" width="100%"/> <figcaption>
               於chrome中刪除快取
           </figcaption>
   </figure>
</p>
</li>
<li>
<p>查到<a href="https://blog.vvtitan.com/2014/08/%E7%80%8F%E8%A6%BD%E5%99%A8%EF%BC%9Af5%E3%80%81ctrlf5%E5%92%8C%E4%BD%8D%E5%9D%80%E6%AC%84%E8%BC%B8%E5%85%A5%E7%9A%84%E5%8D%80%E5%88%A5/" target="_blank" >一篇文章</a>
說可以使用<code>ctrl</code>+<code>f5</code>強迫瀏覽器再抓一次瀏覽器資料。（仍然沒有用）</p>
</li>
</ol>
<h3 id="發現問題">發現問題</h3>
<blockquote>
<p><strong>原來問題出現在 request url 時的 status code！</strong></p>
</blockquote>
<p>打開<code>devtools</code>-&gt;<code>netwok</code>頁籤，檢查<code>header</code>可以發現 <code>301(from disk cache)</code> 的黃燈。
<figure>
    <img loading="lazy" src="/clear-301-redirection-cache-chrome/devtool-screenshot.jpg" height="50%"/> <figcaption>
            status 301(from disk cache)
        </figcaption>
</figure>
</p>
<p>如果你也遇到一樣的問題，可以參考以下的解決辦法。</p>
<h3 id="解決問題">解決問題</h3>
<p>針對不希望轉址網域(ex: lilmp.github.io)點右鍵，執行<code>clear browser cache</code>，如此便會真正刪除原本的快取，重新整理後就不會再鬼打牆自動轉址囉！</p>
<figure>
    <img loading="lazy" src="/clear-301-redirection-cache-chrome/clear-browser-cache.jpg" height="50%"/> <figcaption>
            clear browser cache
        </figcaption>
</figure>

<h3 id="文中參考連結列表">文中參考連結列表</h3>
<ol>
<li><a href="https://dev.to/epranka/clear-the-301-302-redirection-cache-chrome-4dio" target="_blank" >https://dev.to/epranka/clear-the-301-302-redirection-cache-chrome-4dio</a>
 (最終解法)</li>
<li><a href="https://blog.vvtitan.com/2014/08/%E7%80%8F%E8%A6%BD%E5%99%A8%EF%BC%9Af5%E3%80%81ctrlf5%E5%92%8C%E4%BD%8D%E5%9D%80%E6%AC%84%E8%BC%B8%E5%85%A5%E7%9A%84%E5%8D%80%E5%88%A5/" target="_blank" >https://blog.vvtitan.com/2014/08/%E7%80%8F%E8%A6%BD%E5%99%A8%EF%BC%9Af5%E3%80%81ctrlf5%E5%92%8C%E4%BD%8D%E5%9D%80%E6%AC%84%E8%BC%B8%E5%85%A5%E7%9A%84%E5%8D%80%E5%88%A5/</a>
</li>
</ol>
<hr>
<p>謝謝看到這裡的你/妳，希望這篇文章有幫助，任何問題或回饋都很歡迎喔！❤️</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
