<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Chao-En Huang Blog</title>
        <link>https://blog.koteruon.com/blog</link>
        <description>Chao-En Huang Blog</description>
        <lastBuildDate>Mon, 06 Jan 2025 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-Hant</language>
        <item>
            <title><![CDATA[技術部落格初體驗：Google Tag Manager 我想知道有誰來看我]]></title>
            <link>https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager</link>
            <guid>https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager</guid>
            <pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[寫完文章了！但我想要知道有誰來看我，在網頁上加上Google Tag，就能透過 Google Analytics 來分析瀏覽次數等等。]]></description>
            <content:encoded><![CDATA[<p>寫完文章了！但我想要知道有誰來看我，在網頁上加上<strong>Google Tag</strong>，就能透過 Google Analytics 來分析瀏覽次數等等。</p>
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="安裝教學">安裝教學<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8" class="hash-link" aria-label="安裝教學的直接連結" title="安裝教學的直接連結">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="安裝-docusaurus-的套件-plugin-google-tag-manager">安裝 docusaurus 的套件 plugin-google-tag-manager<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%AE%89%E8%A3%9D-docusaurus-%E7%9A%84%E5%A5%97%E4%BB%B6-plugin-google-tag-manager" class="hash-link" aria-label="安裝 docusaurus 的套件 plugin-google-tag-manager的直接連結" title="安裝 docusaurus 的套件 plugin-google-tag-manager的直接連結">​</a></h3>
<ol>
<li>如果你在 docusaurus.config.ts 中，是使用<code>@docusaurus/preset-classic</code>的話，不用執行以下的安裝。</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">docusaurus.config.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> config</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Config </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  presets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">'@docusaurus/preset-classic'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> config</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">add</span><span class="token plain"> @docusaurus/plugin-google-tag-manager</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="建立-google-tag-manager-gtm-容器">建立 Google Tag Manager (GTM) 容器<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%BB%BA%E7%AB%8B-google-tag-manager-gtm-%E5%AE%B9%E5%99%A8" class="hash-link" aria-label="建立 Google Tag Manager (GTM) 容器的直接連結" title="建立 Google Tag Manager (GTM) 容器的直接連結">​</a></h3>
<ol>
<li>到<a href="https://tagmanager.google.com/" target="_blank" rel="noopener noreferrer">tagmanager.google.com</a>的地方，創建一個新的帳戶</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_account" src="data:image/png;base64,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" width="1188" height="147" class="img_ev3q"></p>
<ol start="2">
<li>填寫帳戶名稱、容器名稱，容器名稱是 domain name 會比較好</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_container" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_container-fefbed2fbe1ef4c5d85996d752c31f07.png" width="1061" height="917" class="img_ev3q"></p>
<ol start="3">
<li>同意 GTM 的合約</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_agree_contract" src="https://blog.koteruon.com/assets/images/google_tag_manager_agree_contract-360c305e577152b3eab572b930e27690.png" width="1117" height="1270" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="設定-docusaurus-中的-gtm-容器-id">設定 docusaurus 中的 GTM 容器 ID<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E8%A8%AD%E5%AE%9A-docusaurus-%E4%B8%AD%E7%9A%84-gtm-%E5%AE%B9%E5%99%A8-id" class="hash-link" aria-label="設定 docusaurus 中的 GTM 容器 ID的直接連結" title="設定 docusaurus 中的 GTM 容器 ID的直接連結">​</a></h3>
<ol>
<li>從網頁上獲得你的 GTM 容器的 ID 名稱</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_container_id" src="https://blog.koteruon.com/assets/images/google_tag_manager_container_id-34038bf12bca76cf39a9a9cc9ca54822.png" width="1088" height="112" class="img_ev3q"></p>
<ol start="2">
<li>在 docusaurus.config.ts 中設定 GTM 的 ID 名稱，就可以部版到 GitHub Page 上面</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">docusaurus.config.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> config</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Config </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  presets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">'@docusaurus/preset-classic'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        googleTagManager</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">          containerId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'GTM-XXXXXX'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 填寫在這裡</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> config</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li>到 GTM 中，<strong>點選剛剛第一點 ID</strong>，會跳出提示框，在最下面輸入靜態網頁網址，測試網站增加 GTM 是否 OK，左邊有綠色勾勾代表 OK</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_testing" src="https://blog.koteruon.com/assets/images/google_tag_manager_testing-e64dc1e8fe8f615bde57314e3f38cc26.png" width="720" height="577" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="創立-google-analytics-ga-帳號">創立 Google Analytics (GA) 帳號<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%89%B5%E7%AB%8B-google-analytics-ga-%E5%B8%B3%E8%99%9F" class="hash-link" aria-label="創立 Google Analytics (GA) 帳號的直接連結" title="創立 Google Analytics (GA) 帳號的直接連結">​</a></h3>
<ol>
<li>到<a href="https://analytics.google.com/" target="_blank" rel="noopener noreferrer">analytics.google.com</a>建立帳號</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_start" src="https://blog.koteruon.com/assets/images/google_analytics_start-d1f7f3c29178f114a808d59564f7f496.png" width="1278" height="332" class="img_ev3q"></p>
<ol start="2">
<li>填寫要觀察的帳戶名稱</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_account_name" src="https://blog.koteruon.com/assets/images/google_analytics_account_name-662a5e44dea2913068dbe03f58df9868.png" width="1278" height="1270" class="img_ev3q"></p>
<ol start="3">
<li>建立 GA4 的名稱</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_source_name" src="https://blog.koteruon.com/assets/images/google_analytics_source_name-0be49ca2f49bf87c8f0e4b0d2a73b92a.png" width="1278" height="747" class="img_ev3q"></p>
<ol start="4">
<li>依照自己的商業規模填寫，因為是個人網站，所以只有一個人</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_commercial_info" src="https://blog.koteruon.com/assets/images/google_analytics_commercial_info-0ac9c94c60b67a770056f188d2d5481c.png" width="1278" height="793" class="img_ev3q"></p>
<ol start="5">
<li>依照自己的商業目標填寫，因為只是想觀察流量，因此點選流量</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_commercial_target" src="https://blog.koteruon.com/assets/images/google_analytics_commercial_target-e73dd33a9d08509855ce766cf6caf124.png" width="1278" height="913" class="img_ev3q"></p>
<ol start="6">
<li>進到分析頁面代表創立 GA 帳號成功</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_create_success" src="https://blog.koteruon.com/assets/images/google_analytics_create_success-9544272e3e08d364214a103204e25108.png" width="1278" height="515" class="img_ev3q"></p>
<ol start="7">
<li>建立 Google Tag 等一下要使用到</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_create_streaming" src="https://blog.koteruon.com/assets/images/google_analytics_create_streaming-7d0ea164e3f7b45c168a3288538c0528.png" width="1278" height="1270" class="img_ev3q"></p>
<ol start="8">
<li>填寫自己 GitHub Page 上面的網址，並且自訂自己知道的串流名稱，按下建立並繼續</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_create_streaming_info" src="https://blog.koteruon.com/assets/images/google_analytics_create_streaming_info-feed5675ee5a7eae578dadeabc53c0ff.png" width="1023" height="477" class="img_ev3q"></p>
<ol start="9">
<li>取得 GA tag 的 ID，等一下會用到</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_4_tag_id_info" src="https://blog.koteruon.com/assets/images/google_analytics_4_tag_id_info-fa8a74b13f58d5a62a13bb8c15fc12ed.png" width="1022" height="414" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="使用-gtm-觸發拋轉-ga">使用 GTM 觸發拋轉 GA<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E4%BD%BF%E7%94%A8-gtm-%E8%A7%B8%E7%99%BC%E6%8B%8B%E8%BD%89-ga" class="hash-link" aria-label="使用 GTM 觸發拋轉 GA的直接連結" title="使用 GTM 觸發拋轉 GA的直接連結">​</a></h3>
<ol>
<li>回到 GTM 的地方，我們要設定觸發條件和拋轉到 GA 上面，首先創立一個代碼，用於初始化 GA tag</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code-b2a9e9e657cfceceb34729449f173dd9.png" width="1278" height="361" class="img_ev3q"></p>
<ol start="2">
<li>點選代碼設定，再點選 Google 代碼</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_gatag" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_gatag-a9f1fedec908176ff072ec7692707ce5.png" width="1278" height="409" class="img_ev3q"></p>
<ol start="3">
<li>將剛剛取得的 GA tag ID 貼過來，另外修改左上角的代碼名稱</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_gatag_add_gatag" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_gatag_add_gatag-93210500490ce4ed0f7d153dc02cd164.png" width="1116" height="535" class="img_ev3q"></p>
<ol start="4">
<li>設定觸發條件為 Initialization - All Pages</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_gatag_trigger" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_gatag_trigger-fd030a3e7a573ec4379cbf644e8fd993.png" width="1175" height="611" class="img_ev3q"></p>
<ol start="5">
<li>再建立一個代碼，用於將 GA tag 拋轉到 GA</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code-b2a9e9e657cfceceb34729449f173dd9.png" width="1278" height="361" class="img_ev3q"></p>
<ol start="6">
<li>點選代碼設定，再點選 Google Analytics</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_ga_1" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_ga_1-eb091192f40baf5051bad7ca4fb581b4.png" width="1278" height="374" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_ga_2" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_ga_2-e3bdab993f9a08e01d97551a88de2052.png" width="638" height="276" class="img_ev3q"></p>
<ol start="7">
<li>將剛剛取得的 GA tag ID 貼過來，並且確認右邊 google 有找到代碼，另外修改左上角的代碼名稱</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_ga_add_gatag" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_ga_add_gatag-e6cd221ca77239b8acaac076eb7ee745.png" width="1118" height="724" class="img_ev3q"></p>
<ol start="8">
<li>設定觸發條件為 All Pages，這樣只要使用者瀏覽頁面，就會拋轉 GA，按下確認</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_setting_ga_trigger" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_setting_ga_trigger-769ae8391dad6ae705fa6cc4d5c0429c.png" width="1135" height="711" class="img_ev3q"></p>
<ol start="9">
<li>完成建立</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_create_code_success" src="https://blog.koteruon.com/assets/images/google_tag_manager_create_code_success-3f0c1e11e864cedc4d5428944e3966cb.png" width="1278" height="337" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="測試教學">測試教學<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E6%B8%AC%E8%A9%A6%E6%95%99%E5%AD%B8" class="hash-link" aria-label="測試教學的直接連結" title="測試教學的直接連結">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="測試-gtm-是否運作正常">測試 GTM 是否運作正常<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E6%B8%AC%E8%A9%A6-gtm-%E6%98%AF%E5%90%A6%E9%81%8B%E4%BD%9C%E6%AD%A3%E5%B8%B8" class="hash-link" aria-label="測試 GTM 是否運作正常的直接連結" title="測試 GTM 是否運作正常的直接連結">​</a></h3>
<ol>
<li>點選右上角的預覽，來觀察 GTM 是否正確載入</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_preview" src="https://blog.koteruon.com/assets/images/google_tag_manager_preview-d0cf6eec8a39e9b4440f8c16148f3055.png" width="1278" height="119" class="img_ev3q"></p>
<ol start="2">
<li>輸入自己靜態網站網址，連結網站後進行分析</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_preview_connect_url" src="https://blog.koteruon.com/assets/images/google_tag_manager_preview_connect_url-ada8bb9e19850811c1a1bf7536e284c9.png" width="639" height="462" class="img_ev3q"></p>
<ol start="3">
<li>網頁打開後，我們會看到兩個畫面，一個是預覽的網頁，一個是 Tag Assistant 的網頁</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_preview_overview" src="https://blog.koteruon.com/assets/images/google_tag_manager_preview_overview-8f5e85e4a39526624450b6a3126f30f2.png" width="1278" height="1269" class="img_ev3q"></p>
<ol start="4">
<li>點選 Tag Assistant 的初始化，我們可以看到已觸發代碼中，有 GA tag 初始化的代碼</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_preview_init" src="https://blog.koteruon.com/assets/images/google_tag_manager_preview_init-f82fc19650afcd0252b743ba986d031d.png" width="1278" height="566" class="img_ev3q"></p>
<ol start="5">
<li>點選 Tag Assistant 的容器已載入，我們可以看到已觸發代碼中，有拋轉 GA tag 到 GA 的代碼，這樣就確認成功</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_preview_container_loaded" src="https://blog.koteruon.com/assets/images/google_tag_manager_preview_container_loaded-175dd85b0dd930bffa797cdf6f8dc68f.png" width="1278" height="570" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="測試-ga-是否運作正常">測試 GA 是否運作正常<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E6%B8%AC%E8%A9%A6-ga-%E6%98%AF%E5%90%A6%E9%81%8B%E4%BD%9C%E6%AD%A3%E5%B8%B8" class="hash-link" aria-label="測試 GA 是否運作正常的直接連結" title="測試 GA 是否運作正常的直接連結">​</a></h3>
<ol>
<li>進到 GA，就會發現在過去 30 分鐘內活耀使用者人數有紀錄，這樣就是正常的</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_analytics_success" src="https://blog.koteruon.com/assets/images/google_analytics_success-3908c0ca137c1c280c7a082180031aea.png" width="1278" height="518" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="刪除教學">刪除教學<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%88%AA%E9%99%A4%E6%95%99%E5%AD%B8" class="hash-link" aria-label="刪除教學的直接連結" title="刪除教學的直接連結">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="刪除-gtm-的-container">刪除 GTM 的 container<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%88%AA%E9%99%A4-gtm-%E7%9A%84-container" class="hash-link" aria-label="刪除 GTM 的 container的直接連結" title="刪除 GTM 的 container的直接連結">​</a></h3>
<ol>
<li>點選要刪除的帳戶，按下帳戶設定</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_delete_account" src="https://blog.koteruon.com/assets/images/google_tag_manager_delete_account-9880c40bebe9f41674d7035581aa8ab9.png" width="1174" height="389" class="img_ev3q"></p>
<ol start="2">
<li>按下刪除即可</li>
</ol>
<p><img decoding="async" loading="lazy" alt="google_tag_manager_delete_account_agree" src="https://blog.koteruon.com/assets/images/google_tag_manager_delete_account_agree-f5213b16fd2ec772f2ca0a33262d1083.png" width="1278" height="238" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="心得">心得<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager#%E5%BF%83%E5%BE%97" class="hash-link" aria-label="心得的直接連結" title="心得的直接連結">​</a></h2>
<p>這些設定真的很繁瑣，不過拆解每一步驟之後，就會發現 GTM 的 debugger 做得還不錯，可以分析有沒有觸發，以及有沒有真實的拋轉，
docusaurus 的 plugin 也大幅簡化了需要增加再 html 的 code，有這些幫助，讓建立 GTM 然後拋轉 GA 變得相對容易，
這篇並沒有詳細介紹 GTM 的各種功能，有興趣的朋有可以更深入研究 GTM，甚至還可以記錄到哪一個按鈕，從哪一頁跳轉到哪一頁等等資訊。</p>]]></content:encoded>
            <category>Docusaurus</category>
            <category>Google Tag Manager</category>
            <category>Google Analytics</category>
        </item>
        <item>
            <title><![CDATA[技術部落格初體驗：GitHub Action自動佈版GitHub Pages也太方便了吧！？]]></title>
            <link>https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config</link>
            <guid>https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config</guid>
            <pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[每一次都要重新編譯，再 push 到 github 上面好麻煩，而且改一次程式碼就要 push 兩次，也太辛苦了！還好有GitHub Pages和GitHub Actions幫我們完成這些繁瑣的事情，一個 commit，自動部屬到公開的 github pages 真方便~]]></description>
            <content:encoded><![CDATA[<p>每一次都要重新編譯，<strong>再 push 到 github 上面好麻煩</strong>，而且改一次程式碼就要 push 兩次，也太辛苦了！還好有<strong>GitHub Pages</strong>和<strong>GitHub Actions</strong>幫我們完成這些繁瑣的事情，一個 commit，自動部屬到公開的 github pages 真方便~</p>
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="為什麼要分兩個-repository">為什麼要分兩個 repository？<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E7%82%BA%E4%BB%80%E9%BA%BC%E8%A6%81%E5%88%86%E5%85%A9%E5%80%8B-repository" class="hash-link" aria-label="為什麼要分兩個 repository？的直接連結" title="為什麼要分兩個 repository？的直接連結">​</a></h2>
<p>網站原始碼和公開的部落格分不同的 repository，因為原始碼中可能有一些套件只用於開發，也不需要再公開的部落格用到。另外有些資訊也想要隱藏，分成兩個 repository 能最小限度的公開，另一個能夠設定為 private，就不用擔心內容外流。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="本地執行">本地執行<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E6%9C%AC%E5%9C%B0%E5%9F%B7%E8%A1%8C" class="hash-link" aria-label="本地執行的直接連結" title="本地執行的直接連結">​</a></h2>
<p>在本地端確認能夠執行，說起來很正常，但常常忘了這步，再 github action 編譯不過，才發現本地端根本也編譯不過，雖然很基本但很重要喔！</p>
<ol>
<li>在本地端執行網站，可以透過 localhost:3000 查看網站</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> run start</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="2">
<li>在本地端執行編譯，要看到 SUCCESS</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> build</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> run v1.22.22</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ docusaurus build</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">SUCCESS</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> Generated static files </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"build"</span><span class="token builtin class-name">.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">INFO</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> Use </span><span class="token variable" style="color:#36acaa">`</span><span class="token variable function" style="color:#d73a49">npm</span><span class="token variable" style="color:#36acaa"> run serve</span><span class="token variable" style="color:#36acaa">`</span><span class="token plain"> </span><span class="token builtin class-name">command</span><span class="token plain"> to </span><span class="token builtin class-name">test</span><span class="token plain"> your build locally.</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Done </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">58</span><span class="token plain">.78s.</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="設定gitignore">設定.gitignore<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E8%A8%AD%E5%AE%9Agitignore" class="hash-link" aria-label="設定.gitignore的直接連結" title="設定.gitignore的直接連結">​</a></h3>
<p>在 gitignore 中增加/build，能夠避免編譯好的東西，push 到原始的 repository</p>
<div class="language-txt codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">.gitignore</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-txt codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain"># Production</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">/build</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="建立流程">建立流程<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E5%BB%BA%E7%AB%8B%E6%B5%81%E7%A8%8B" class="hash-link" aria-label="建立流程的直接連結" title="建立流程的直接連結">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="建立一個-private-的-repository-用來儲存網站原始碼">建立一個 private 的 repository 用來儲存網站原始碼<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B-private-%E7%9A%84-repository-%E7%94%A8%E4%BE%86%E5%84%B2%E5%AD%98%E7%B6%B2%E7%AB%99%E5%8E%9F%E5%A7%8B%E7%A2%BC" class="hash-link" aria-label="建立一個 private 的 repository 用來儲存網站原始碼的直接連結" title="建立一個 private 的 repository 用來儲存網站原始碼的直接連結">​</a></h3>
<ol>
<li>建立一個 private 的 repository，這裡要儲存網站的原始碼，填寫任意的<strong>Repository Name</strong>，並選擇 <strong>Private</strong> 才能保護原始碼不被任何其他任看見</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_create" src="https://blog.koteruon.com/assets/images/private_repository_create-5370c38c80bd10d0b6f14bf6c95ecd12.png" width="1276" height="1270" class="img_ev3q"></p>
<ol start="2">
<li>建立一對 rsa 的 key</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">ssh-keygen </span><span class="token parameter variable" style="color:#36acaa">-f</span><span class="token plain"> ./deploy-key </span><span class="token parameter variable" style="color:#36acaa">-t</span><span class="token plain"> rsa </span><span class="token parameter variable" style="color:#36acaa">-b</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">4096</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">---</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Generating public/private rsa key pair.</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Enter passphrase </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">empty </span><span class="token keyword" style="color:#00009f">for</span><span class="token plain"> no passphrase</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain">:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Enter same passphrase again:</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Your identification has been saved </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> ./deploy-key</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">Your public key has been saved </span><span class="token keyword" style="color:#00009f">in</span><span class="token plain"> ./deploy-key.pub</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li>建立 deploy key，讓 private 的 repository 可以發佈到 public 的 repository</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_create_deploy_key_1" src="https://blog.koteruon.com/assets/images/private_repository_create_deploy_key_1-4eb318466931890adb47a5d2c5a4611b.png" width="1276" height="1124" class="img_ev3q"></p>
<ol start="4">
<li>將剛剛建立 rsa 的 private key(deploy-key)內容貼到 Secret 中，並將 Name 設定為 DEPLOY_KEY</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_create_deploy_key_2" src="https://blog.koteruon.com/assets/images/private_repository_create_deploy_key_2-c0a90dfa9561680eebbf655ac8676213.png" width="816" height="533" class="img_ev3q"></p>
<ol start="5">
<li>確認增加成功</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_create_deploy_key_success" src="https://blog.koteruon.com/assets/images/private_repository_create_deploy_key_success-8c801f5c5b46bc8094894fe488d28175.png" width="819" height="262" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="建立一個-public-的-repository-用來儲存公開原始碼">建立一個 public 的 repository 用來儲存公開原始碼<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E5%BB%BA%E7%AB%8B%E4%B8%80%E5%80%8B-public-%E7%9A%84-repository-%E7%94%A8%E4%BE%86%E5%84%B2%E5%AD%98%E5%85%AC%E9%96%8B%E5%8E%9F%E5%A7%8B%E7%A2%BC" class="hash-link" aria-label="建立一個 public 的 repository 用來儲存公開原始碼的直接連結" title="建立一個 public 的 repository 用來儲存公開原始碼的直接連結">​</a></h3>
<ol>
<li>建立 GitHub Page，需要在 repository name 上輸入，使用者名稱.github.io(例如：koteruon.github.io)，其他地方不要動，不然會失敗，按下 create repository 即可</li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_create" src="https://blog.koteruon.com/assets/images/public_repository_create-617f7e5092b8d200467701ca52670bc2.png" width="1276" height="1270" class="img_ev3q"></p>
<ol start="2">
<li>default branch 一定要維持是 main，<strong>如果是就不用改動</strong></li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_setting_overview" src="https://blog.koteruon.com/assets/images/public_repository_setting_overview-57781ee6c600243d882840044731bd6b.png" width="1276" height="758" class="img_ev3q"></p>
<ol start="3">
<li>在 setting 中增加 deploy keys，讓 pulbic 的 repository 可以跟 private 的 repository 做認證</li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_create_deploy_key_1" src="https://blog.koteruon.com/assets/images/public_repository_create_deploy_key_1-5fe02b95958a604814584cb44290e864.png" width="1276" height="916" class="img_ev3q"></p>
<ol start="4">
<li>將剛剛建立 rsa 的 public key(deploy-key.pub)內容貼到 Key 中，並將 Title 設定為 DEPLOY_PUB，並且要勾選<strong>Allow write access</strong></li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_create_deploy_key_2" src="https://blog.koteruon.com/assets/images/public_repository_create_deploy_key_2-db8b8907e216e06fdd945bc63d9ba85b.png" width="823" height="646" class="img_ev3q"></p>
<ol start="5">
<li>確認增加成功</li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_create_deploy_key_success" src="https://blog.koteruon.com/assets/images/public_repository_create_deploy_key_success-6fefa7f9be7434dd9cb9d4de38990eff.png" width="829" height="402" class="img_ev3q"></p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="設定-docusaurusconfigts-上傳到-public-repository">設定 docusaurus.config.ts 上傳到 public repository<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E8%A8%AD%E5%AE%9A-docusaurusconfigts-%E4%B8%8A%E5%82%B3%E5%88%B0-public-repository" class="hash-link" aria-label="設定 docusaurus.config.ts 上傳到 public repository的直接連結" title="設定 docusaurus.config.ts 上傳到 public repository的直接連結">​</a></h3>
<ol>
<li>因為要讓 private repository 的 github action，透過 docusaurus 上傳 public repository，所以這邊是設定成 public repository</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">./docusaurus.config.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> config</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Config </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  url</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://koteruon.github.io'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  baseUrl</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  organizationName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'koteruon'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Usually your GitHub org/user name.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  projectName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'koteruon.github.io'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Usually your repo name.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  deploymentBranch</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'main'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 很重要，一定要是main</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> config</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="設定-private-的-repository-的-github-action">設定 private 的 repository 的 GitHub Action<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E8%A8%AD%E5%AE%9A-private-%E7%9A%84-repository-%E7%9A%84-github-action" class="hash-link" aria-label="設定 private 的 repository 的 GitHub Action的直接連結" title="設定 private 的 repository 的 GitHub Action的直接連結">​</a></h3>
<ol>
<li>在 private repository 中，撰寫 GitHub actions，首先點選 Actions，在點選 set up a workflow yourself</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_action_create" src="https://blog.koteruon.com/assets/images/private_repository_action_create-2b9dfd87bc5953733dc47f46f7c0be5e.png" width="1276" height="366" class="img_ev3q"></p>
<ol start="2">
<li>在編輯器裡面填入以下內容，記得修改 user.email 和 user.name 的 XXX 為自己的資訊</li>
</ol>
<p><img decoding="async" loading="lazy" alt="private_repository_action_script" src="https://blog.koteruon.com/assets/images/private_repository_action_script-fe2b10dcc621a48db188d8b6b5046754.png" width="1276" height="329" class="img_ev3q"></p>
<div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">.github/workflows/main.yaml</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-yaml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> Deploy to GitHub Page</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">on</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">push</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">branches</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> master</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">env</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">TZ</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Asia/Taipei'</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">permissions</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">contents</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> write</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token key atrule" style="color:#00a4db">jobs</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token key atrule" style="color:#00a4db">deploy</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">runs-on</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> ubuntu</span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">latest</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token key atrule" style="color:#00a4db">steps</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">uses</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> actions/checkout@v4</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">with</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">fetch-depth</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">uses</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> actions/setup</span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">node@v4</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">with</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">node-version</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">22</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">cache</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> yarn</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">uses</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> webfactory/ssh</span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain">agent@v0.5.0</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">with</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">ssh-private-key</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> $</span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> secrets.DEPLOY_KEY </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">-</span><span class="token plain"> </span><span class="token key atrule" style="color:#00a4db">name</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> Deploy to GitHub Pages</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">env</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token key atrule" style="color:#00a4db">USE_SSH</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean important" style="color:#36acaa">true</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token key atrule" style="color:#00a4db">run</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">|</span><span class="token scalar string" style="color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">          git config --global user.email "XXX@gmail.com"</span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">          git config --global user.name "XXX"</span><br></span><span class="token-line" style="color:#393A34"><span class="token scalar string" style="color:#e3116c">          yarn install --</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>以上的內容說明：</p>
<ul>
<li>在 private repository push branch master 觸發這個 script</li>
<li>permissions 允許可以 write</li>
<li>首先第一步驟會 checkout 到 branch 最新的 commit 上</li>
<li>第二步驟是使用 node v22 來編譯</li>
<li>第三步驟是設定好 private key 供等一下上傳到 public repository 用</li>
<li>第四步驟是透過 SSH 連線到 public repository，並且上傳 yarn build 好的內容，這邊通過<strong>docusaurus.config.ts</strong>中設定的進行部屬到 public repository</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="自動生成-pulbic-的-repository-的-github-action">自動生成 pulbic 的 repository 的 github action<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90-pulbic-%E7%9A%84-repository-%E7%9A%84-github-action" class="hash-link" aria-label="自動生成 pulbic 的 repository 的 github action的直接連結" title="自動生成 pulbic 的 repository 的 github action的直接連結">​</a></h3>
<ol>
<li>在 public repository 中，GitHub Actions 會自動生成，可以先測試下面一步，理論上會自動生成</li>
</ol>
<p><img decoding="async" loading="lazy" alt="public_repository_action_autocreate" src="https://blog.koteruon.com/assets/images/public_repository_action_autocreate-a53d55ff7b4f8c9c00f06398c788cee1.png" width="1275" height="312" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="測試流程">測試流程<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E6%B8%AC%E8%A9%A6%E6%B5%81%E7%A8%8B" class="hash-link" aria-label="測試流程的直接連結" title="測試流程的直接連結">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="驗證上傳-commit-後自動佈版">驗證上傳 commit 後自動佈版<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E9%A9%97%E8%AD%89%E4%B8%8A%E5%82%B3-commit-%E5%BE%8C%E8%87%AA%E5%8B%95%E4%BD%88%E7%89%88" class="hash-link" aria-label="驗證上傳 commit 後自動佈版的直接連結" title="驗證上傳 commit 後自動佈版的直接連結">​</a></h3>
<ol>
<li>首先上傳原始程式碼到 private repository 的 master branch</li>
</ol>
<p><img decoding="async" loading="lazy" alt="testing_private_repository_push" src="https://blog.koteruon.com/assets/images/testing_private_repository_push-f2e3f3b9b27e48586e769fbe93007bea.png" width="1275" height="445" class="img_ev3q"></p>
<ol start="2">
<li>點選進去可以看到進度，要確認每一個都有打勾，並且左邊是綠色的勾勾，若是紅色則需要查看問題並修正(多半是 yarn build 失敗，透過本地端直接執行也會發現錯誤)</li>
</ol>
<p><img decoding="async" loading="lazy" alt="testing_private_repository_action" src="https://blog.koteruon.com/assets/images/testing_private_repository_action-5e7b90006994206ccc5a62de15ff1915.png" width="1278" height="946" class="img_ev3q"></p>
<ol start="3">
<li>再來到public repository，可以看到自動生成一個pages build and deployment的action</li>
</ol>
<p><img decoding="async" loading="lazy" alt="testing_public_repository_action" src="https://blog.koteruon.com/assets/images/testing_public_repository_action-19df53055e1a7c169fac4eb7dcc4f221.png" width="1278" height="429" class="img_ev3q"></p>
<ol start="4">
<li>確認build、report-build-status、deploy都有三個綠色勾勾，就可到<a href="https://koteruon.github.io/" target="_blank" rel="noopener noreferrer">https://使用者名稱.github.io</a>查看自己的網站</li>
</ol>
<p><img decoding="async" loading="lazy" alt="testing_public_repository_action_success" src="https://blog.koteruon.com/assets/images/testing_public_repository_action_success-7e4fae620d2cc2b2c3f6477a6af999e7.png" width="1278" height="830" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="心得">心得<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config#%E5%BF%83%E5%BE%97" class="hash-link" aria-label="心得的直接連結" title="心得的直接連結">​</a></h2>
<p>之前不小心在public repository，修改到描述、default branch等等，都會造成靜態頁面上傳失敗，
這個時候把整個repository刪除重建就可以了，因此在建立GitHub Pages選項盡量都不要動，
最後看著push到private repository後就能自動在GitHub Pages看到最新內容真的很棒，
我的測試基本上GitHub Pages是即時更新，最多也不超過1分鐘，
所以沒看到更新，基本上就可以到private和public repository的action去找原因囉~</p>]]></content:encoded>
            <category>Docusaurus</category>
            <category>GitHub Pages</category>
        </item>
        <item>
            <title><![CDATA[技術部落格初體驗：Docusaurus設定真的很複雜啊(佈置篇)]]></title>
            <link>https://blog.koteruon.com/blog/2024/10/12/docusaurus-theme-config</link>
            <guid>https://blog.koteruon.com/blog/2024/10/12/docusaurus-theme-config</guid>
            <pubDate>Sat, 12 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[隨著自訂的增加，佈景的設定也越來越多，docusaurus.confg.ts 太長了怎麼辦！？每次要找東西都好辛苦~]]></description>
            <content:encoded><![CDATA[<p>隨著自訂的增加，佈景的設定也越來越多，docusaurus.confg.ts 太長了怎麼辦！？<strong>每次要找東西都好辛苦~</strong></p>
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="自訂配置">自訂配置<a href="https://blog.koteruon.com/blog/2024/10/12/docusaurus-theme-config#%E8%87%AA%E8%A8%82%E9%85%8D%E7%BD%AE" class="hash-link" aria-label="自訂配置的直接連結" title="自訂配置的直接連結">​</a></h2>
<ol>
<li>首先我們將 themeConfig 從 docusaurus.config 中抽離出來，另外放到專案目錄下的 config 底下</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">docusaurus.confg.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> themeConfig </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./config/themeConfig'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> config</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Config </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// Theme configurations</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">  themeConfig</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// 引入相關需要使用的套件</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">type</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> Preset </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'@docusaurus/preset-classic'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> themes </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> prismThemes </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'prism-react-renderer'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> satisfies Preset</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">ThemeConfig</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 將設定export出去</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> themeConfig</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="2">
<li>將佈景的設定放置於 config 底下，並開始制定相關佈景，首先更換自己的 image 和 favicon</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// 可以更換成自己想要的帳片和icon，在網站縮圖或轉發連結或網頁縮圖都會使用到</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  image</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'images/icon/chao_en_huang_icon.png'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  favicon</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'images/icon/favicon.ico'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li>Docs，在 docs 的分業中，有沒有要自動縮合</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// Docs</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  docs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    sidebar</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      autoCollapseCategories</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="4">
<li>Navbar，這裡可以設定網頁上面的分頁標籤，設定名字、Logo，並設定要有那些分頁</li>
</ol>
<p><img decoding="async" loading="lazy" alt="navbar.png" src="data:image/png;base64,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" width="1278" height="61" class="img_ev3q"></p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// Navbar</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  navbar</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    title</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Chao-En'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    logo</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      alt</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'My Site Logo'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      src</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'images/icon/apple-touch-icon.png'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// hideOnScroll: true,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    items</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// 設定自己想要跳轉的頁面</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        to</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/about-me'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'About Me'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        position</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'left'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// 設定要是像doc樣子的sidebar</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'docSidebar'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        sidebarId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'notesSidebar'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">//在sidebars.ts中定義，如何生成sidebar</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        position</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'left'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Notes'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// 設定要是像doc樣子的sidebar</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'docSidebar'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        sidebarId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'researchSidebar'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">//在sidebars.ts中定義，如何生成sidebar</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        position</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'left'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Research'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// 設定部落格的分頁</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        to</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        position</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'left'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token comment" style="color:#999988;font-style:italic">// 增加github的連結在最右邊</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        href</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://github.com/koteruon'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'GitHub'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        position</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'right'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="�複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="5">
<li>設定 sidebars 如何生成，並在 docusaurus.config.ts 中增加位置，同時也需要設定 blog 生成的位置</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">docusaurus.confg.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> config</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Config </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  presets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">'classic'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        docs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token comment" style="color:#999988;font-style:italic">// 生成sidebars的檔案位置</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">          sidebarPath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./sidebars.ts'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token comment" style="color:#999988;font-style:italic">// Add remarkMath and rehypeKatex plugins.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          remarkPlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">remarkMath</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          rehypePlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">rehypeKatex</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        blog</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          blogSidebarCount</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          showReadingTime</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token comment" style="color:#999988;font-style:italic">// 部落格的網址</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">          routeBasePath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          include</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'**/*.{md,mdx}'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          feedOptions</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'rss'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'atom'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            xslt</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token comment" style="color:#999988;font-style:italic">// Useful options to enforce blogging best practices</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          onInlineTags</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          onInlineAuthors</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          onUntruncatedBlogPosts</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        theme</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token comment" style="color:#999988;font-style:italic">// 自訂global的css</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">          customCss</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./src/css/custom.css'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> satisfies Preset</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Options</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">sidebars.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">type</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> SidebarsConfig </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'@docusaurus/plugin-content-docs'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> sidebars</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> SidebarsConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// 因為有兩個分頁，且希望自動生成，在markdown中再決定分頁順序和網址，比較不會寫死</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  notesSidebar</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'autogenerated'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> dirName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'notes'</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  researchSidebar</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'autogenerated'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> dirName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'research'</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">default</span><span class="token plain"> sidebars</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="6">
<li>CodeBlock，自訂在 markdown 的 codeblock 可以 highlight 不同的顏色</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// 加上highlight-next-line</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> highlight</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">next</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">line</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 加上This-will-error</span><span class="token plain"></span><br></span><span class="token-line code-block-error-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> This</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">will</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">error</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// 加上This-will-accept</span><span class="token plain"></span><br></span><span class="token-line code-block-accept-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> This</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">will</span><span class="token operator" style="color:#393A34">-</span><span class="token plain">accept</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// CodeBlock</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  prism</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 根據自己需要的語言而增加</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">    additionalLanguages</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'powershell'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'java'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    theme</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> prismThemes</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">github</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    darkTheme</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> prismThemes</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">dracula</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    magicComments</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token comment" style="color:#999988;font-style:italic">// Remember to extend the default highlight class name as well!</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        className</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'theme-code-block-highlighted-line'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        line</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'highlight-next-line'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        block</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> start</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'highlight-start'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> end</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'highlight-end'</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token comment" style="color:#999988;font-style:italic">// 增加自己喜歡的highlight名稱</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        className</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'code-block-error-line'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// css的名稱</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        line</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'This-will-error'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// markdown中使用它的名稱</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        className</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'code-block-accept-line'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        line</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'This-will-accept'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">src\css\custom.css</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">/* Styles for highlighting error lines in code blocks */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token selector class" style="color:#00009f">.code-block-error-line</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">background-color</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token hexcode color">#ff000020</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">display</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">margin</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">calc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">-1</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--ifm-pre-padding</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">padding</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--ifm-pre-padding</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">border-left</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token unit">px</span><span class="token plain"> solid </span><span class="token hexcode color">#ff000080</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/* Styles for highlighting accept lines in code blocks */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token selector class" style="color:#00009f">.code-block-accept-line</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">background-color</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token hexcode color">#00ff0020</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">display</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> block</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">margin</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">calc</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">-1</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--ifm-pre-padding</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">padding</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">var</span><span class="token punctuation" style="color:#393A34">(</span><span class="token variable" style="color:#36acaa">--ifm-pre-padding</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">border-left</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">3</span><span class="token unit">px</span><span class="token plain"> solid </span><span class="token hexcode color">#00ff0080</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="7">
<li>Footer，設定頁尾的樣式和分類，可以使用 to 跳轉到 domain 一樣的其他網址、或是 href 到其他網址，或是直接增加 html block，最後 copy right 使用自動生成年分，未來就不用手動改。</li>
</ol>
<p><img decoding="async" loading="lazy" alt="footer.png" src="https://blog.koteruon.com/assets/images/footer-1f44c35f06c46caca84630bbaa2e9d51.png" width="1260" height="239" class="img_ev3q"></p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">config/themeConfig.ts</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> themeConfig </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token comment" style="color:#999988;font-style:italic">// Footer</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  footer</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// style: 'dark', // 可以設定是否要是深色佈景</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token comment" style="color:#999988;font-style:italic">// 可以設定有多少個欄位需要而設定</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    links</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        title</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'This Website'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        items</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Notes'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 顯示名稱</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            to</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/docs'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 點選跳轉的網址</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Research'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            to</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/docs/research'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            to</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        title</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Community'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        items</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'GitHub'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            href</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://github.com/koteruon'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'104'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            href</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://profile.104.com.tw/profile/9f11e5a7-4d3b-4a21-9241-ba6e3f9003c8/about'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            label</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Linkedin'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            href</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://www.linkedin.com/in/%E7%85%A7%E6%81%A9-%E9%BB%83-93511b25b/'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        title</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Acknowledgement'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        items</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            html</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c"></span><br></span><span class="token-line" style="color:#393A34"><span class="token template-string string" style="color:#e3116c">              &lt;p&gt;</span><br></span><span class="token-line" style="color:#393A34"><span class="token template-string string" style="color:#e3116c">              illustrations by &lt;a href="https://storyset.com/web"&gt;Storyset&lt;/a&gt;</span><br></span><span class="token-line" style="color:#393A34"><span class="token template-string string" style="color:#e3116c">              &lt;/p&gt;</span><br></span><span class="token-line" style="color:#393A34"><span class="token template-string string" style="color:#e3116c">              </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">          </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    copyright</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token template-string string" style="color:#e3116c">Copyright © </span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">${</span><span class="token template-string interpolation keyword" style="color:#00009f">new</span><span class="token template-string interpolation"> </span><span class="token template-string interpolation class-name">Date</span><span class="token template-string interpolation punctuation" style="color:#393A34">(</span><span class="token template-string interpolation punctuation" style="color:#393A34">)</span><span class="token template-string interpolation punctuation" style="color:#393A34">.</span><span class="token template-string interpolation function" style="color:#d73a49">getFullYear</span><span class="token template-string interpolation punctuation" style="color:#393A34">(</span><span class="token template-string interpolation punctuation" style="color:#393A34">)</span><span class="token template-string interpolation interpolation-punctuation punctuation" style="color:#393A34">}</span><span class="token template-string string" style="color:#e3116c"> Chao-En Huang. Built with Docusaurus.</span><span class="token template-string template-punctuation string" style="color:#e3116c">`</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="8">
<li>覺得部落格的字體太大了，自訂 css 來挑整字體大小</li>
</ol>
<p><img decoding="async" loading="lazy" alt="blog_list_page_h2.png" src="https://blog.koteruon.com/assets/images/blog_list_page_h2-f32212df6c222c0014d55faafbea4a0f.png" width="679" height="416" class="img_ev3q"></p>
<div class="language-css codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockTitle_Ktv7">src\css\custom.css</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-css codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">/* Reduce title size in blog list and blog post pages */</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token selector class" style="color:#00009f">.blog-post-page</span><span class="token selector" style="color:#00009f"> h1</span><span class="token selector attribute punctuation" style="color:#393A34">[</span><span class="token selector attribute attr-name" style="color:#00a4db">class</span><span class="token selector attribute operator" style="color:#393A34">*=</span><span class="token selector attribute attr-value" style="color:#e3116c">'title'</span><span class="token selector attribute punctuation" style="color:#393A34">]</span><span class="token selector punctuation" style="color:#393A34">,</span><span class="token selector" style="color:#00009f"></span><br></span><span class="token-line" style="color:#393A34"><span class="token selector" style="color:#00009f"></span><span class="token selector class" style="color:#00009f">.blog-list-page</span><span class="token selector" style="color:#00009f"> h2</span><span class="token selector attribute punctuation" style="color:#393A34">[</span><span class="token selector attribute attr-name" style="color:#00a4db">class</span><span class="token selector attribute operator" style="color:#393A34">*=</span><span class="token selector attribute attr-value" style="color:#e3116c">'title'</span><span class="token selector attribute punctuation" style="color:#393A34">]</span><span class="token selector punctuation" style="color:#393A34">,</span><span class="token selector" style="color:#00009f"></span><br></span><span class="token-line" style="color:#393A34"><span class="token selector" style="color:#00009f"></span><span class="token selector class" style="color:#00009f">.blog-tags-post-list-page</span><span class="token selector" style="color:#00009f"> h2</span><span class="token selector attribute punctuation" style="color:#393A34">[</span><span class="token selector attribute attr-name" style="color:#00a4db">class</span><span class="token selector attribute operator" style="color:#393A34">*=</span><span class="token selector attribute attr-value" style="color:#e3116c">'title'</span><span class="token selector attribute punctuation" style="color:#393A34">]</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">font-size</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2.5</span><span class="token unit">rem</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>]]></content:encoded>
            <category>Docusaurus</category>
        </item>
        <item>
            <title><![CDATA[技術部落格初體驗：Docusaurus設定好複雜？]]></title>
            <link>https://blog.koteruon.com/blog/2024/10/11/docusaurus-config</link>
            <guid>https://blog.koteruon.com/blog/2024/10/11/docusaurus-config</guid>
            <pubDate>Fri, 11 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[剛開始時，整個安裝過程其實並不複雜，尤其是對於有一定開發經驗的人來說，跟著步驟走幾乎沒有障礙。不過，當我開始配置我的部落格主題和個性化內容時，就發現了一些挑戰。]]></description>
            <content:encoded><![CDATA[<p>剛開始時，整個安裝過程其實並不複雜，尤其是對於有一定開發經驗的人來說，跟著步驟走幾乎沒有障礙。不過，當我開始<strong>配置我的部落格主題</strong>和<strong>個性化內容</strong>時，就發現了一些挑戰。</p>
<!-- -->
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="自訂配置">自訂配置<a href="https://blog.koteruon.com/blog/2024/10/11/docusaurus-config#%E8%87%AA%E8%A8%82%E9%85%8D%E7%BD%AE" class="hash-link" aria-label="自訂配置的直接連結" title="自訂配置的直接連結">​</a></h2>
<p>在 <strong>docusaurus.config.js</strong> 文件中，你可以自訂網站的各項配置，包括<strong>標題</strong>、<strong>主題</strong>、<strong>插件</strong>等。雖然這些配置項比較清晰，但在初期對我來說還是有些困惑。特別是在選擇主題和插件時，我花了一些時間才找到適合我需求的配置。</p>
<ol>
<li><strong>設定我的主題</strong>：</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">    title</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Chao-En Huang'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 這邊是你封面的標題</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    tagline</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 這邊是你封面的副標</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token string" style="color:#e3116c">'這裡整理了我在軟體技術領域的學習心得與實踐經驗，分享我的見解與解決問題的方法。'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    favicon</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'img/favicon.ico'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 這是你網頁的icon</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    url</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://koteruon.github.io'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 這是首頁的URL</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="2">
<li><strong>設定部屬的位置</strong>：因為我部屬在github page上面，以下是我的示範</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">    organizationName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'koteruon'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// github的使用者名稱</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    projectName</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'koteruon.github.io'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 靜態網站的domain name</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    trailingSlash</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 網址後面需不需要/</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    deploymentBranch</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'main'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 部版的branch</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    onBrokenLinks</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'throw'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    onBrokenMarkdownLinks</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li><strong>設定語系</strong>：這邊我選擇使用中文繁體的語系</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">    i18n</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 設定為台灣的語系</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        defaultLocale</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'zh-Hant'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        locales</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'zh-Hant'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="4">
<li><strong>設置基礎設定</strong>：調整blogSidebarCount為10增加部落格顯示數量，如果有需要使用mdx，然後<code>**/*</code>表示所有目錄底下所有的md和mdx檔案都會被解析。</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">presets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token string" style="color:#e3116c">'classic'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 經典的配置(不用動)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            docs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                sidebarPath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./sidebars.ts'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 設定旁邊側邊的目錄設定的路徑(不用動)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                </span><span class="token comment" style="color:#999988;font-style:italic">// 增加 remarkMath and rehypeKatex 的套件，下一個步驟會教</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                remarkPlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">remarkMath</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                rehypePlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">rehypeKatex</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            blog</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">                blogSidebarCount</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">10</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 部落格顯示的數量(可以調整為10)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                showReadingTime</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                routeBasePath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/blog'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 部落格的資料夾路徑(不用動)</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">                include</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'**/*.{md,mdx}'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 為了支持md和mdx的解析</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                </span><span class="token comment" style="color:#999988;font-style:italic">// (**/*代表BasePath底下所有路徑的md和mdx檔案)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                feedOptions</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                    type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'rss'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'atom'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                    xslt</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                onInlineTags</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                onInlineAuthors</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                onUntruncatedBlogPosts</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'warn'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            theme</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                customCss</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./src/css/custom.css'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> satisfies Preset</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Options</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><img decoding="async" loading="lazy" alt="subdirectory.png" src="data:image/png;base64,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" width="349" height="156" class="img_ev3q"></p>
<ol start="5">
<li><strong>增加數學表達式(如果需要才要用)</strong>：執行下面的程式後，在docusaurus.config.js的最上面增加import，並且設定Plugins。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">add</span><span class="token plain"> remark-math@6 rehype-katex@7</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> remarkMath </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'remark-math'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> rehypeKatex </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'rehype-katex'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">presets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token string" style="color:#e3116c">'classic'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            docs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">                path</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'docs'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">                remarkPlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">remarkMath</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">                rehypePlugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain">rehypeKatex</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">            </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">stylesheets</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 增加katex需要的css樣式</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        href</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'text/css'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        integrity</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        </span><span class="token string" style="color:#e3116c">'sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">        crossorigin</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'anonymous'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line theme-code-block-highlighted-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">]</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>數學公式範例：
<img decoding="async" loading="lazy" alt="remarkMath_and_rehypeKatex_example.png" src="data:image/png;base64,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" width="573" height="72" class="img_ev3q"></p>
<ol start="6">
<li><strong>增加右上角的搜尋功能</strong>：他可以搜尋所有blog和docs裡面的文章，</li>
</ol>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">plugins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token string" style="color:#e3116c">'@easyops-cn/docusaurus-search-local'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        hashed</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        language</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">'en'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'zh'</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 增加zh增加中文搜尋</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        docsRouteBasePath</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'/'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">      </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="7">
<li><strong>上下導覽列設定</strong>： 這個設定比較複雜，我將在下一篇<a href="https://blog.koteruon.com/blog/2024/10/12/docusaurus-theme-config">技術部落格初體驗：Docusaurus設定真的很複雜啊(佈置篇)</a></li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="結語">結語<a href="https://blog.koteruon.com/blog/2024/10/11/docusaurus-config#%E7%B5%90%E8%AA%9E" class="hash-link" aria-label="結語的直接連結" title="結語的直接連結">​</a></h2>
<p>總的來說，雖然 Docusaurus 的設定過程在初期看似複雜，但隨著我慢慢理解每一項配置後，發現其實這一切並沒有想像中那麼困難。每一步的設定都有其意義，透過官方文檔的指導和實際操作的體驗，逐漸能夠掌握這個框架的運作方式。這讓我感受到，搭建自己的技術部落格並不是一件難事，反而充滿了樂趣和挑戰。</p>]]></content:encoded>
            <category>Docusaurus</category>
        </item>
        <item>
            <title><![CDATA[技術部落格初體驗：第一次Docusaurus安裝]]></title>
            <link>https://blog.koteruon.com/blog/2024/10/10/docusaurus-install</link>
            <guid>https://blog.koteruon.com/blog/2024/10/10/docusaurus-install</guid>
            <pubDate>Thu, 10 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[透過這次的安裝，我充分體驗到 Docusaurus 的簡便與靈活。從基本的 Node.js 環境設置，到簡單的初始化指令，整個過程快速且直觀。作為一個靜態網站生成器，Docusaurus 不僅適合用來紀錄和組織技術文章，也能幫助建立層次分明、分類清晰的技術部落格。這樣的架構讓我能輕鬆記錄技術細節、歸檔知識內容，並以最有效的方式呈現給讀者。]]></description>
            <content:encoded><![CDATA[<p>透過這次的安裝，我充分體驗到 Docusaurus 的簡便與靈活。從<strong>基本的 Node.js 環境設置</strong>，到簡單的初始化指令，整個過程快速且直觀。作為一個靜態網站生成器，Docusaurus 不僅適合用來紀錄和組織技術文章，也能幫助建立層次分明、分類清晰的技術部落格。這樣的架構讓我能輕鬆記錄技術細節、歸檔知識內容，並以最有效的方式呈現給讀者。</p>
<p>Docusaurus 是由 Facebook 推出的靜態網站生成器，以 React 為基礎，提供強大的層級結構、靈活的自定義選項，以及精緻的 Markdown 支援，這些正是技術文章管理和組織的理想夥伴。對我而言，它的層次化設計和便捷的標籤分類功能，完美適合用來整理繁雜的技術筆記和安裝紀錄。每個細節都經過精心考量，不僅僅是一個網站生成器，更像是一個技術知識的「整理箱」。</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="安裝過程從無到有的體驗">安裝過程：從無到有的體驗<a href="https://blog.koteruon.com/blog/2024/10/10/docusaurus-install#%E5%AE%89%E8%A3%9D%E9%81%8E%E7%A8%8B%E5%BE%9E%E7%84%A1%E5%88%B0%E6%9C%89%E7%9A%84%E9%AB%94%E9%A9%97" class="hash-link" aria-label="安裝過程：從無到有的體驗的直接連結" title="安裝過程：從無到有的體驗的直接連結">​</a></h2>
<p>在安裝 Docusaurus 的過程中，我逐步瞭解到這個工具的優勢。起初，官方文件的清晰度讓初學者能輕鬆上手。我按照以下步驟進行了安裝：</p>
<ol>
<li><strong>透過Chocolatey安裝nvs</strong>：先安裝 Node 版本管理工具 nvs，方便管理和切換不同版本的 Node.js。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">choco </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> nvs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="2">
<li><strong>建立node.js的環境</strong>：在 nvs 中加入 Node.js 的 22.9 版本，以滿足 Docusaurus 的需求。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">nvs </span><span class="token function" style="color:#d73a49">add</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">22.9</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li><strong>使用指令創建網站</strong>：Docusaurus 提供了一條簡單的指令來初始化專案。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">npx create-docusaurus@latest my-blog classic</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="4">
<li><strong>選擇TypeScript</strong>：因為TypeScript的型別定義比較嚴謹。</li>
</ol>
<p><img decoding="async" loading="lazy" alt="docusaurus-create.png" src="https://blog.koteruon.com/assets/images/docusaurus-create-5debe7c7c4d66f3e412c6a95a8988cda.png" width="1006" height="214" class="img_ev3q"></p>
<ol start="5">
<li><strong>看見正確安裝成功</strong>：看見有success表示成功。</li>
</ol>
<p><img decoding="async" loading="lazy" alt="docusaurus-create-success.png" src="https://blog.koteruon.com/assets/images/docusaurus-create-success-23cf591e4188e2b896417ed35c78c0e5.png" width="1023" height="871" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="先測試-docusaurus">先測試 Docusaurus<a href="https://blog.koteruon.com/blog/2024/10/10/docusaurus-install#%E5%85%88%E6%B8%AC%E8%A9%A6-docusaurus" class="hash-link" aria-label="先測試 Docusaurus的直接連結" title="先測試 Docusaurus的直接連結">​</a></h2>
<p>在完成安裝後，為了確保一切正常運行，我進行了一些基本測試。</p>
<ol>
<li><strong>透過nvs設定使用node的版本</strong>：選擇22.9版本</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">nvs</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><img decoding="async" loading="lazy" alt="nvs-select.png" src="data:image/png;base64,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" width="528" height="190" class="img_ev3q">
<img decoding="async" loading="lazy" alt="nvs-selected.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXkAAAAqCAIAAADZDLyHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAEXRFWHRTb2Z0d2FyZQBTbmlwYXN0ZV0Xzt0AAA0hSURBVHic7Z1vaBvnGcAfyYot75bIXWItW+SuymK1Arvd1V07cVCY+iGQci0+WEcKdn0MFkHDvhwbpN1tBjEPSm/7MAom+6DE2hbG4FwmEuoP0WDl8JrhiE0Gp3I6BexurpMOydnVcuxY+3D/T3c6nS3JSfz+yAfpvfee93mf973nnue5s+J5/PHHAYFAIFqMd68VQCAQ+wLkaxAIRDtAvgaBQLQD5GsQCEQ7QL4GgUC0A+RrEAhEO/C5PaHTB6dw/8vP+aOhA49hD7erevv35ff/XtlrLRCIfYE7X9P/tY7f/KCn74hrD/Vg8tPvHcwvbX6ycn+vFUEgHn1cBCZ9h73nE489Mo4GALo7vb8e6/Ef2Gs9EIh9QKO+xuOpvjMaCAY6WqRH/krg7HWPxYEl/xAbGGIDQ6w/34Jxv3nU97PXDrVAMAKBMNCor3n1ue6nv9HZUlWs6avMJctzP9xo3Qivfrt75MXu1slHIBAA4Kv2fLX6nVeqR8MA4Fkpev72Z0/ps9p+r7/4pbbr1j6YV76cK27OL23ttSIIxCOLd/vlRPVYP3T4oMNXPda//XICevtMnQLdED3mpkyz5B+6iJ1lA0Ns4N3rnWfZwBCLZe5KCRGWuat1zF8JDF1UwyVv5qKULgXeXXIeJH8lYJleaUKud541DmfHAZ+XGwsc6rZK4oxMXO5fuBy4+FH/wkL/wkL/5QmptXdhIXRx1Njto8Co+nlB+XcZBVCIfYoX/JihwY9tP/3dqseQW0X7Or1e5+vQwM37Z5LlmeGtS9PeM8nyzDCMf9gBfZULMd/4h1rRZ2YWTsfvSZ9np/1AlaWM6dJ5Bx9x5zo2NrtxIVmeS5ZnhjvGFHeTvxIYh/W5ZHkuWX4y3z3bsL6hw75fvN5Y4eb4QXhvMRpd/OW19ePDvRMA8Nbta2vdT72kueNnjq9fe688BQATvcPHS9PRxWh0MRpdnP5HwwohEI8WFvWa6uGve7oNDuhowP17NCe2BwGO9N7XPgAAwODgBswekMOQJf8l2DipRlGxCnkQAAD6KuMnfDOL9bzbbN4XG94YBACAI8+Kp6FrZgnA6LzIuLsqT3zQ31Dh5l+fvzEFADB19e4adB0bBQC4emP90FOYHNlM9B5fu3t1CgBg9FgXrN27oZz61lvrrlRCIB4Z2vgy3u0OAIC+iuoX8vku1V+YeKIXZlfq6fbxTXiit6p+ffIE3LrtAYBbsPVkj9LaV4k1RXM7psp31I9X764dOvjSKADAxDM9azfEKa09eG6h35RkIRD7DYvr2fP5v6vror5lpbzdxCFPxuBSvgMAZma3TvZXHfu3jWy+kv7rTuOOqfINJY165vj6jatbavsL0cVodPHaWvfz57QiDgKx3/BCxeBWoCJ6//kXT9XgXBaWN7e3m+YUBk+VY7MH8kv+Syc25aSphlu3IXa0noNTAxkJNcx5Anwfl5TWJX/j9Zrlz7fe/sNaw90tkNMoXQKl540XFqPTJTjU+dRuxkAgHlq83suTnk8X4f4W3N/yfLrovTwJt80PgcpfVAv/aebz4JMnusbOd8UGNw2ts365HrzkH7+5ceZZnXfrq8Sg45auWhwb3Jqd7pLqPneuY2rd52QMLmXlB1uZbFeD+mxubTMXymvru/KnUhr15ktaAgUAoxPdaiBjqt0gEPsKn6f0meeD3zr2+6Pwxc9fCzRr1NjgFtwEUwIVG64AHxi6CQBb4z8RTXWc8WE4+U5gHABi/5s7df/Is+KFlcAYK3mTjQvJitR/8FR5/GJgiO0GgNPD67GbDf0BwgR/twkv10yVb7wZfP7Q+rWrOlHHDp9b6D4nfylNR8s1EQ8CsS/wNPjb5h5P9Xc/+sq3ws15dfjOdezkSmXuVMv/6PEs6z+juCE73r+2vsvsCYFAONLoc6hq1fPjqfJnpeZ4hwvTvtODrXE0Sx3qe335K4HZ2GZ9R/PJylbyT8jRIBAtp9G4RmL3vymRvxIYm5XzoB0LqceSf+i8UqY5sT73xr06fdfvbX//V/9FvymBQLQBd74G0G9lIRCIHeHa1yAQCMQOeLgDEwQC8bCAfA0CgWgH+83X0BxH77UOiIccgk3zaZbYazUeNhp9okRzPBnWvoo5biQpKN8INs3gmNZm6qyeRFFZjichQzEp7cRIQS/qUaPODHVWKmomMR0xHDPbub58y/5262jTbmg2LrqFfLt1VzrU6ENzPBk0S20irZbvflw7g9Y3tN0Yyhmm/WONZH1D/53ZRyfIbk9YKuQmrilmKAkuBzijOXYiHsFEUcQicbklxagdRd1pI24m1Hxojud5MhwmeZ7n+T0Obwg2TYZly3C5IKnqQ7BpngzmONWCJe0cs52dxrDpb7eONu1Kc2YVZwxma3jd5c1Yq0+KyRQxnGrZUrRavutxiVBQNQuVWVWtbNduh377UFwuSDqGWTTH4CBtq0wxLPffgX1ojmciBWV7UiY3RXNMBESbU3eUQwnJbBG0LRPpwcTCZLbY8EXgHoJN7847EGyaDOY4KlOUVigzb5Ato60YzfE8x6pH5LFpjjcGz8YGmmvUi9EUjok5XnL9QjJbhPAArR2YVFdQSCbV+4NbOzv2N61jTbuxNcVwOTEc16bfDH1SvFGmwg7sL1nfeIJL+WY5Bs+qdTYaxnL/2IwrJEe0+31qXrW+XbsNRDyCQXE+pQh1XAOCjYeVbUWEgqDKt9aTYNP6yUgz5GgAoAfC+u1phObIYG4yu2qjRBPqNfRAWCxkhdR8K53Nbon0YGIhq5kolZIWimDTDL6asbyhhCMwKd+lwyRHg7Qy+kmaLC/d152jWWm5V5dVdQolEYIhAoAeCINBTx1u7dz8dRGWV3UXQXP0EZJZu1urK/vTnHaj199KXMm3jzd1YQFXiuDqT8nZ7p8647YErCdS52ikB5P3G8Em8NWi5sws9RSSI1wO8ARLyGdAjqOYlLyGy/G0lTOWPE2ddGxHvoZg49olIW8hgEKpsfBeTmJ4nucZHHPsboXhFlZ7U7GgUBIx2XYGQRSOFTOKd0gxGf11UMxKhhOyBdkVgJAtiDVX246mUIO6WXQ+yKCqSzs30N+wjhbtNScUSlp83DR97EIPV/YnQkEQSwVVZkpz+G7kE/GIZbxJD4S17slsUZ1Unf1jO64MwcY1oQ206xCyBVGJhOUT5AnYDBUKKl0T+GqG4XXraKOnkJzMAZ5gaTaBg96FYDjZk5V9q5qMNeBp3P2/l2GS50npo64eOBAWC5wAAEK2kMAjcQKE+lefqdhZzx0bi43K8MUMxVDOwYMBITki0BzPkADA86SsvxROatOS9IsAGGcgLK8qauonqU29Dbi1c53+luto3W6/OE3UR0hmKT5eR0AD9heyhQSOMzzP1JYrXcjX7v8AIPnWSIiQPFmhoG8OAoDD/qk7rhwo1QTBdu0mjZMjEY6XBxZzmZxI1ruOZCRPQ6WAYI3CLPWUx8DFHKeYkwgFAVRfDKn5IklG4gQIEY4M5jim/rXgxtdYFZfpgTBgwPA8Izf01FypuyCl+BSCTTM92UbSEwdpNMcBw4fSDMPRAlOABov+GtpmjzTX1YilgnRtB0NErQnd2rlef7unFs5PMyI9ShzaTH3kTUvRIDivr539heSI+qiL4fmEYVVdyHdNvf1jNy7N8WS4mKHM59m1W8rW3W9pjrcLhwFAcqZ4MJ4Ir2aoFOjXsa6e9EAY5IBb0MnROihOt2Z1geT5uNkwu6zX0ANh7XmDlPkOtCFFdZ9DGVCDY2F51SHRtThZDuN3k0AJy6uGoFe9ndqVBd3auTXrIt3es0Lz9XHKN3TUt7+QHKGoTNG8qo3KVwtnEsq6mPaJeqk67h+rcZWSkNmv27Uru93+mQM9ENYnkBb9CyURMGxVzva0daynJ82RYTHH6RMlQxINmiHUB5BSZiU9g6zxwLvzNfRAWCuHg2T7djgbw9xsHr+ZNDW8w6fqneJ1dUEAAIJlndSXNnsivptaTYrPiWpFTkrQJTNKBxK6RwAs7d7OLVkXmmNwTKojNF8fF6VUS/sTNK1eKKbajRv5QrZguS6p+SIo16JUHpFw3D/mcZVasoWjsWy3hSC0p5+kU31HrjHJXpSmcMy8d2vsI9XaR5KC9Fxc3pG19nFxEez81yGUsXL6RU3NF0kyzhKpJr89JUfIO6dQCjJKWs3zIOa4kZQsGNg0o2XcYo5zVCZbSOA4JubMVpbKSzW3JgzXR5dy0K1PuPWnKIUl9QyKIti0rZ2zNfIpiquzLstOk6tFLeOIOY5KCu7XvbH+KT4XZxraOpb2D8UZnlSMYJWGNCbfbl1SDBdKM5Kdi7mciEfU/g77xzAuTeGYoTAm7wa7dntFIxTDMIw6XUcfpZ+Ak33U9/EMc0+zMJI0ztdd/WG//Z03zXHA7K7sg2gVNMfHSy18y7fV8h+0cd3SYj33299DIR5gUvOtfSWl1fIftHHd0mI991tcg0Ag9ob/AzB1OZjK7ls2AAAAAElFTkSuQmCC" width="377" height="42" class="img_ev3q"></p>
<ol start="2">
<li><strong>利用npm安裝yarn</strong>：這是為了使用 Docusaurus 的一些功能。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> </span><span class="token parameter variable" style="color:#36acaa">--global</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">yarn</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="3">
<li><strong>使用yarn看看使否可以看到預設網站</strong>：啟動本地伺服器，檢查網站是否運行正常。</li>
</ol>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">yarn</span><span class="token plain"> run start</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="複製程式碼至剪貼簿" title="複製" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<ol start="4">
<li><strong>畫面成果呈現</strong>：在成功執行後，應該會看到 Docusaurus 預設網站的畫面。以下是測試結果的截圖</li>
</ol>
<p><img decoding="async" loading="lazy" alt="docusaurus-example.png" src="https://blog.koteruon.com/assets/images/docusaurus-example-4468b218f5f36c137b5c017e778abac9.png" width="1920" height="911" class="img_ev3q"></p>]]></content:encoded>
            <category>Docusaurus</category>
        </item>
        <item>
            <title><![CDATA[技術部落格初體驗：Docusaurus 是我紀錄技術旅程的最佳夥伴]]></title>
            <link>https://blog.koteruon.com/blog/2024/10/09/docusaurus-why</link>
            <guid>https://blog.koteruon.com/blog/2024/10/09/docusaurus-why</guid>
            <pubDate>Wed, 09 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[選擇 Docusaurus 主要是因為它不僅具備豐富的功能，同時也提供了非常適合技術文章的結構，讓我可以靈活地記錄並組織內容。]]></description>
            <content:encoded><![CDATA[<p>選擇 Docusaurus 主要是因為它不僅具備豐富的功能，同時也提供了非常適合<strong>技術文章的結構</strong>，讓我可以<strong>靈活地記錄並組織內容</strong>。</p>
<!-- -->
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="層次分明的文件docs結構">層次分明的文件（Docs）結構<a href="https://blog.koteruon.com/blog/2024/10/09/docusaurus-why#%E5%B1%A4%E6%AC%A1%E5%88%86%E6%98%8E%E7%9A%84%E6%96%87%E4%BB%B6docs%E7%B5%90%E6%A7%8B" class="hash-link" aria-label="層次分明的文件（Docs）結構的直接連結" title="層次分明的文件（Docs）結構的直接連結">​</a></h3>
<p>首先，我希望能夠建立<strong>類似文件（docs）的層次結構</strong>。Docusaurus 的文件模式支援分章節和分節的設計，使我能夠將各個大主題（例如不同專案的安裝步驟、使用指南等）<strong>層次分明地組織起來</strong>，讓讀者查找內容時更具邏輯性。另外，Docusaurus 提供的左側導航欄會顯示詳細的頁面層級，讓我可以直觀展示內容，<strong>方便使用者瀏覽</strong>。</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="靈活的博客blog模式">靈活的博客（Blog）模式<a href="https://blog.koteruon.com/blog/2024/10/09/docusaurus-why#%E9%9D%88%E6%B4%BB%E7%9A%84%E5%8D%9A%E5%AE%A2blog%E6%A8%A1%E5%BC%8F" class="hash-link" aria-label="靈活的博客（Blog）模式的直接連結" title="靈活的博客（Blog）模式的直接連結">​</a></h3>
<p>Docusaurus 還支援建立獨立的<strong>部落格（blog）模式</strong>，方便我<strong>透過分類及標籤</strong>來管理零碎的技術文章或實作經驗。對於一系列的技術問題或是實現某個特定功能的經驗分享，我可以<strong>使用標籤功能</strong>來進行管理和歸類，讓讀者在部落格中可以更方便地查找相關的技術主題，滿足我<strong>記錄和管理零碎知識的需求</strong>。</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="文件與部落格功能的結合">文件與部落格功能的結合<a href="https://blog.koteruon.com/blog/2024/10/09/docusaurus-why#%E6%96%87%E4%BB%B6%E8%88%87%E9%83%A8%E8%90%BD%E6%A0%BC%E5%8A%9F%E8%83%BD%E7%9A%84%EF%BF%BD%EF%BF%BD%E7%B5%90%E5%90%88" class="hash-link" aria-label="文件與部落格功能的結合的直接連結" title="文件與部落格功能的結合的直接連結">​</a></h3>
<p>Docusaurus 同時結合了文檔和部落格的功能，讓我能夠<strong>高效且系統地記錄技術文章和實作過程</strong>，適應不同內容形式的發佈需求。經過一番探索後，我發現 Docusaurus 確實是<strong>滿足我需求的不二選擇</strong>。</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="延伸閱讀">延伸閱讀<a href="https://blog.koteruon.com/blog/2024/10/09/docusaurus-why#%E5%BB%B6%E4%BC%B8%E9%96%B1%E8%AE%80" class="hash-link" aria-label="延伸閱讀的直接連結" title="延伸閱讀的直接連結">​</a></h3>
<a href="https://blog.koteruon.com/blog/2024/10/10/docusaurus-install"><p>技術部落格初體驗：第一次Docusaurus安裝</p></a>
<a href="https://blog.koteruon.com/blog/2024/10/11/docusaurus-config"><p>技術部落格初體驗：Docusaurus設定好複雜？</p></a>
<a href="https://blog.koteruon.com/blog/2024/10/12/docusaurus-theme-config"><p>技術部落格初體驗：Docusaurus設定真的很複雜啊(佈置篇)</p></a>
<a href="https://blog.koteruon.com/blog/2024/12/31/docusaurus-github-pages-config"><p>技術部落格初體驗：GitHub Action自動佈版GitHub Pages也太方便了吧！？</p></a>
<a href="https://blog.koteruon.com/blog/2025/01/06/docusaurus-google-tag-manager"><p>技術部落格初體驗：Google Tag Manager 我想知道有誰來看我</p></a>]]></content:encoded>
            <category>Docusaurus</category>
        </item>
    </channel>
</rss>