


[{"content":"","date":"11 March 2026","externalUrl":null,"permalink":"/tags/blowfish/","section":"Tags","summary":"","title":"Blowfish","type":"tags"},{"content":"","date":"11 March 2026","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"11 March 2026","externalUrl":null,"permalink":"/categories/hugo/","section":"Categories","summary":"","title":"Hugo","type":"categories"},{"content":"","date":"11 March 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"在md裡面用gallery放圖時，發現圖已經載入，但layout是錯的，要等一段時間才會正常。這並不是載入速度慢，是hugo在渲染圖片時，無法正確算出要給多少空間去展現圖片。問了Gemini、chatGPT、Grok等工具，實際測試過後用了以下解法:\n縮圖 # 手機拍的圖都蠻大的，但要在手機或電腦上看，其實可以縮到200~300KB；解析度縮成800X600(橫式)或是600X800(直式)，可以改善下載和渲染、解碼的速度。\n線上縮圖工具: iloveimg\n另外，將jpeg轉換成webp會進一步改善圖片載入的速度，將相同品質的圖片壓縮得更小。\njpeg轉webp線上工具: piliapp\n改善排版 # blowfish很常用gallery做多圖的排版，當圖片載入後，browser必須計算長寬後決定要給你多大的空間，這邊會花時間，所以如果能\u0026quot;告訴\u0026quot;它要留多少空間，會讓速度改善不少。\nimg裡面調整class，加上aspect-xxx: class=\u0026quot;aspect-xxx object-cover\u0026quot; aspect-square: 呈現1:1正方形 aspect-video: 呈現16:9 aspect-[4/3]: 寬長比為4:3, 標準landscape圖片 aspect-[3/4]: 寬長比為3:4, 標準portrait圖片 object-cover 必加，不然會變形 沒有加aspect，瀏覽器必須等圖片下載完，知道寬高後，才開始計算佈局；加上後browser在下載前就會知道該圖會佔多少空間，跳過計算重排的時間 img裡設定decoding=\u0026ldquo;lazy\u0026rdquo;和loading=\u0026ldquo;async\u0026rdquo;\n可以先檢查layouts/_default/_markup/render-image.html中有沒有找到這兩個設定，沒有的話，把theme/blowfish/下的render-image.html複製到layouts下的同一目錄，不然就直接加在img裡。 若要修改layout/_default/_markup/render-image.html，參考下面程式碼: RenderImageResponsive .... {{- define \u0026#34;RenderImageResponsive\u0026#34; -}} {{- $imgObj := .imgObj -}} {{- $alt := .alt -}} {{- $originalWidth := $imgObj.Width -}} {{/* 1. 邏輯判斷：寬度是否小於高度 (直式) */}} {{- $isPortrait := lt $imgObj.Width $imgObj.Height -}} {{/* 2. 根據橫直決定縮圖策略，這能解決「解碼大圖」造成的卡頓 */}} {{- $img800 := \u0026#34;\u0026#34; -}} {{- if $isPortrait -}} {{/* 直式圖：限制高度為 800px，寬度自適應 */}} {{- $img800 = $imgObj.Resize \u0026#34;x800 webp\u0026#34; -}} {{- else -}} {{/* 橫式圖：限制寬度為 800px，高度自適應 */}} {{- $img800 = $imgObj.Resize \u0026#34;800x webp\u0026#34; -}} {{- end -}} \u0026lt;img {{/* 3. 根據橫直式動態加入不同的 CSS Class (搭配你的 Gallery 設定) */}} class=\u0026#34;my-0 !rounded-lg !shadow-md w-full h-full object-cover {{ if $isPortrait }}img-portrait{{ else }}img-landscape{{ end }}\u0026#34; loading=\u0026#34;lazy\u0026#34; decoding=\u0026#34;async\u0026#34; alt=\u0026#34;{{ $alt }}\u0026#34; /* 4. 傳入縮圖後的正確寬高，這是消除 Layout Shift 紅色尖峰的關鍵 */ width=\u0026#34;{{ $img800.Width }}\u0026#34; height=\u0026#34;{{ $img800.Height }}\u0026#34; src=\u0026#34;{{ $img800.RelPermalink }}\u0026#34; data-zoom-src=\u0026#34;{{ $imgObj.RelPermalink }}\u0026#34;\u0026gt; {{- end -}} 修改assets/css/custom.css custom.css /* ============================================================ 1. 效能優化區 ============================================================ */ img { /* 延遲非視口內的圖片渲染，減少首屏 CPU 解碼壓力 */ content-visibility: auto; /* 強制 GPU 加速渲染，提升滑動時的流暢度 */ transform: translateZ(0); } /* 全域濾鏡優化：移除不必要的毛玻璃與濾鏡計算，節省渲染資源 */ * { backdrop-filter: none !important; filter: none !important; } /* ============================================================ 2. 佈局安全區 (解決「文字重疊/蓋字」問題) ============================================================ */ /* 確保 Gallery/Grid 容器能完整閉合，不讓內部的浮動圖片影響後方文字 */ /* 加上 .prose 確保只影響文章本體，不影響首頁卡片 */ .prose .gallery::after, .prose .grid::after { content: \u0026#34;\u0026#34;; display: table; clear: both; } /* Clearfix 萬用清除浮動：在容器末端強制「斷行」，這是防止文字竄位的物理防線 */ .gallery::after, .grid::after { content: \u0026#34;\u0026#34;; display: table; clear: both; } /* ============================================================ 3. 比例與形狀控制 (解決「正方形變長方形」問題) ============================================================ */ /* 只有你在 Markdown 設定 aspect-square 時，才強制 1:1 並保持圖片不變形 */ .aspect-square { aspect-ratio: 1 / 1 !important; object-fit: cover !important; } /* 支援自定義比例標籤 (如 aspect-[4/3])，並確保縮放時填滿容器 */ [class*=\u0026#34;aspect-[\u0026#34;] { object-fit: cover !important; } /* ============================================================ 4. 網格寬度控制 (解決「並排失效/圖片過大」問題) ============================================================ */ /* 確保設定了 grid-w 類別的圖片能正確橫向並排 */ [class*=\u0026#34;grid-w\u0026#34;] { display: inline-block !important; float: left !important; box-sizing: border-box; /* 確保邊框不撐破寬度 */ } /* 針對 figure 標籤的基礎修復，確保內含圖片不會撐破父容器 */ figure { max-width: 100%; } figure img { max-width: 100%; height: auto; } 美化 # img裡的class可以對邊框做一些處理 \u0026lt;img = ...class=\u0026quot;rounded-lg shadow-md \u0026quot;:\nrounded-lg 大圓角 - 四邊做圓角處理 shadow-md 中等陰影 - 會在圖片下方和側邊加上一層淡淡的灰色陰影 另外，使用gallery和figure要和文字至少隔一行，避免css誤判。\n","date":"11 March 2026","externalUrl":null,"permalink":"/notes/static_website/image_process/","section":"Notes","summary":"","title":"改善圖片處理","type":"notes"},{"content":"早餐就在飯店吃早茶，港點頗有水準，道不道地我不知道，但好吃就好了。有一道很有趣的點心叫\u0026quot;荔枝蝦\u0026quot;，後來老大也被戲稱荔枝蝦(拼音很像)，這..也太巧了吧 XD 右邊是楊枝甘露，那隻小熊是果凍，非常可愛。\n下午去梧林古城，是個整理得很漂亮的閩南建築群，雖然有人說太商業化，但古蹟好好保養再進駐一些店家，遊客玩起來也舒服，只要不是太誇張人工建築，我覺得都還好。有一家橘若咖啡很有名，點一杯飲料裡面就任你拍照，我覺得蠻划算的。\n晚餐吃痛風鍋，真的是名符其實 XD，主打海鮮，湯底用南瓜熬煮，料吃一吃可以煮粥，好好吃~\n","date":"10 March 2026","externalUrl":null,"permalink":"/2024newyear_eve_day5/","section":"Travel","summary":"","title":"Day5 - 梧林古城","type":"travel"},{"content":"","date":"10 March 2026","externalUrl":null,"permalink":"/trips/","section":"Trips","summary":"","title":"Trips","type":"trips"},{"content":"","date":"10 March 2026","externalUrl":null,"permalink":"/trips/%E6%B3%89%E5%B7%9E/","section":"Trips","summary":"","title":"泉州","type":"trips"},{"content":"廈門去泉州是預約didi，四個人叫七人座很舒服，價格平均一人大概6~7百(台幣)吧，不算貴，比高鐵方便很多，反正泉州就在隔壁，一個多小時車程就到了。飯店很歐風，朋友訂了房型有三間套房，還有一個大客廳，一個人大概3000有找，非常划算。(不過硬要挑剔的話，我覺得有些設計不太合理，但不至於影響使用就是了)\nCheck in完後衝去西街吃下午茶，不過我只是想感受一下這條有名的街道，時間不允許我們逛，所以感受不深，亂晃後再衝回來，休息一下就準備吃晚餐了。晚餐是飯店裡的海鮮餐廳，是粵菜，點了脆皮燒豬和蜜汁燒肉，應該很油膩但吃起來還好，重點是好吃阿；海鮮水餃是煮湯的，湯是雞湯底，非常好喝。這餐算是隨便選的，但意外好吃!\n吃完打車去會場，今天是連續第二年參加老大的跨年場，這個機會台灣大概不可能，無論如何都要衝。這次有贊助商，內場有送小禮物，啤酒我不喝，但這個夜燈還蠻可愛的。聲音依然非常好，倒數時唱了Apts，就\u0026hellip;非常可愛 XD 這套我覺得是他唱所有Apts中最好看的。說他唱的多好嘛，也沒有，但誠意可嘉，難得為了娛樂粉絲而選這麼不\u0026quot;林志炫\u0026quot;的歌。但這首歌的版權應該挺貴的，其實大可把這些錢拿去買你那些舊歌的授權(還是舊歌更貴?)，我已經看過你很多不同的舞台及曲風，有點想念以前那個不\u0026quot;花俏\u0026quot;的志炫，3.0可以賣點情懷給我嗎?\n","date":"10 March 2026","externalUrl":null,"permalink":"/2024newyear_eve_day4/","section":"Travel","summary":"","title":"Day4 - 泉州跨年演唱會","type":"travel"},{"content":"鼓浪嶼的船要提早訂，即使是工作日，現場依舊是排長龍，當天的票是售罄的。我預計待半天，上島後在碼頭附近景點晃過後，就搭接駁車去菽庄花園，之後再返回碼頭。鼓浪嶼其實有不少景點，但礙於時間，只能走馬看花，也算見識了閩南大戶人家的排場。\n逛完鼓浪嶼後叫車去糖官製甜，是廈門有名的糖水店。這家的特色是整店都是蠟筆小新裝潢，甜點的料煮得很好，連鹹食也好吃，路過不要錯過。\n吃完出發去盼歸塔看夕陽。其實原本的行有考慮山海步道，但走路會花很多時間，梅海花台季節不對沒有甚麼花看，盼歸塔是最終那段，一路走過去太累，改搭車到盼歸塔比較實際。定位在\u0026quot;sky high雲尚天際酒店思明店\u0026quot;，往上走20m就可以搭電梯上三樓，出來就可以看到塔了。\n晚餐改吃蔬食，這是didi司機推薦的 - 無味蔬食。照著排行榜點完全無雷，真的非常好吃:第一名是煎豆腐，把這麼無聊的菜做的好吃是真大師；再來是核桃炒山藥，表面煎的恰恰的，一口咬下綿軟酥香；最後是麻辣煲，你以為很辣但其實還好，是舒服的辣度。\n","date":"8 March 2026","externalUrl":null,"permalink":"/2024newyear_eve_day3/","section":"Travel","summary":"","title":"Day3 - 鼓浪嶼","type":"travel"},{"content":"","date":"8 March 2026","externalUrl":null,"permalink":"/trips/%E5%BB%88%E9%96%80/","section":"Trips","summary":"","title":"廈門","type":"trips"},{"content":"睡到自然醒，搭車到市區吃Cho\u0026rsquo;s cafe \u0026amp; bar，號稱廈門第一brunch。我點了班尼克蛋，真的蠻好吃的，一刀切下去不會汁液橫流，口感是生一點的糖心蛋。\n今天知音會在機場接機，但時間有點ㄍㄧㄥ，想了一下還是照既定行程跑。第一站是園博苑，這個時間是看落雨松，不過變色的不多，但勝在地方大，逛起來算舒服，但強烈建議搭遊園車，走路一定鐵腿。\n晃完後找間咖啡廳休息，之後前進集美學村。這邊的小巷有一些有趣的店家，建築物很有特色，很適合街拍(但人很多)。\n晚餐也是當天找的，是一家評價還不錯的海鮮餐廳，照著推薦點都蠻好吃的，印象比較深的是鴨血鍋，原本以為是重口味但吃起來還好，調味平衡，南方相比北方菜系更適合台灣人。\n","date":"8 March 2026","externalUrl":null,"permalink":"/2024newyear_eve_day2/","section":"Travel","summary":"","title":"Day2 - 園博苑、集美","type":"travel"},{"content":"台灣沒有直飛泉州，這次旅程先飛廈門，安排一些行程後搭車去泉州。第一天到達先去波特曼check in，會選這家飯店是被\u0026quot;怡海小鎮\u0026quot;的風光吸引，建築物很有歐洲小鎮的氣氛，距離市區有點距離，但三個人share車資還蠻划算的。但房間有點小問題，三個人給兩人房，後來加錢換了比較大的一間，不然加床也放不下。\n搞定房型後，去龍舟池逛了一下，晚上點燈比較美。晚餐是隨便選了一家小餐廳，口味和台灣很接近，不過薑母鴨是乾燒的，沒有湯可以喝。\n回飯店後跑去照相，之前因應聖誕節還留有人造雪的場景，但很多地方無法上樓拍照，問了一下是因為有活動所以暫時封掉，有點可惜。\n","date":"8 March 2026","externalUrl":null,"permalink":"/2024newyear_eve_day1/","section":"Travel","summary":"","title":"Day1 - 薑母鴨","type":"travel"},{"content":" 🛬廈門抵達 2024/12/28 🏨 波特曼七星酒店\n🍽️ 薑母鴨\nSee More\u0026hellip;\n廈門園博苑、集美 2024/12/29 📌 園博苑落雨松、集美\n🍽️ Cho\u0026rsquo;s cafe、 廈門某海鮮餐廳\nSee More\u0026hellip;\n廈門鼓浪嶼 2024/12/30 📌 鼓浪嶼、盼歸塔夕陽\n🍽️ 糖官製甜、無味蔬食\nSee More\u0026hellip;\n泉州抵達 2024/12/31 🏨 石獅建明\n🍽️ 建明避風港海鮮餐廳\n📌 2024跨年演唱會\nSee More\u0026hellip;\n泉州梧林古城 2025/1/1 📌 梧林古城\n🍽️ 飯店港式飲茶、三腳虎痛風鍋\nSee More\u0026hellip;\n🛫 返程 2025/1/2 ","date":"8 March 2026","externalUrl":null,"permalink":"/travel/%E6%B3%89%E5%B7%9E2025%E8%B7%A8%E5%B9%B4/","section":"Travel","summary":"","title":"泉州2025跨年","type":"travel"},{"content":"","date":"1 March 2026","externalUrl":null,"permalink":"/trips/beijing/","section":"Trips","summary":"","title":"Beijing","type":"trips"},{"content":"故宮票是用朋友的手機號碼買的，線上買只能用大陸手機，因為人潮眾多，現場買不實際。故宮的人只有爆多和超多的差別，周二早上已經排長龍了，但因為故宮很大，人進去散開倒是還好。故宮有導覽，但我們時間有限，預計最多待四小時，只能走馬看花瞎晃順便偷聽別人的導覽 XD 故宮最好看的是集中一大片完整的古代建築，因為電視劇的關係，甚麼乾清宮、景仁宮、養心殿\u0026hellip;就比較有感；另外故宮的貓也蠻有名的(真會選)，但牠們下午才會出現。\n珍寶館和鐘錶館要另外買票，但反正都來了，就順便一起看。展品非常華麗，但文化價值就遜於台北故宮(這是導覽員說的喔)，當年國民黨撤退時真的很會選寶物，帶走的都是精品。\n看完北京故宮，會想再去台北故宮看看，找個導覽好好體會一下大陸導覽口中的好東西。逛完故宮回捷運站的路上經過順時茶飲，有人推薦就進去休息一下。其實大陸的手搖店都蠻強的，至少茶類我沒踩過雷，點心也有水準，但價格不算便宜。\n","date":"1 March 2026","externalUrl":null,"permalink":"/beijing2025-day4/","section":"Travel","summary":"","title":"Day4 - 北京故宮","type":"travel"},{"content":"玉潭淵是知名賞櫻景點，假日人潮洶湧，所以選平日一早出發。山月底只有白櫻盛開，其實也不錯啦，本來賞花也要靠運氣，滿山遍野又紅又白的是可遇不可求。玉潭淵最有名的機位是櫻花與中央電視塔同框，除了櫻花還有其他花可看，但花名我忘了 XD 逛完搭車去天壇吃午餐，雖然天壇周一不開，但吃飯沒有問題(但還是要買票)。午餐是天壇福宴，烤鴨算小有名氣，但吸引我的是他的甜點-妃子笑(最後一張圖)。雖然烤鴨不錯，但今天第一名是圖一那道菜，是用百合做的，口感有一點像冰淇淋，好吃又好看。 吃完在天壇散步，不能進去但可以在外拍照，櫻花樹在這個季節蠻常見的，黃色的是連翹，我覺得很美，好像沒在台灣看過? 晚餐是到國貿吃唐吉軻德-西班牙菜，也是小有名氣。到北京吃西班牙菜好像很怪? 但總不能一直吃烤鴨涮肉對吧? 服務很好，西班牙燉飯可以幫你剝蝦；餐廳還有駐唱，我已經很久沒有遇過有駐唱的餐廳了。吃完到六樓可以看夜景，那棟建築物是央視。 ","date":"28 February 2026","externalUrl":null,"permalink":"/beijing2025-day3/","section":"Travel","summary":"","title":"Day3 - 玉潭淵","type":"travel"},{"content":" Busuanzi # 非常簡單，不需要註冊，在layout/partials/comments.html 加入以下js code:\n\u0026lt;div class=\u0026#34;text-sm mt-2\u0026#34;\u0026gt; \u0026lt;script async src=\u0026#34;//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;span id=\u0026#34;busuanzi_container_page_pv\u0026#34;\u0026gt; 本文總觀看次數：\u0026lt;span id=\u0026#34;busuanzi_value_page_pv\u0026#34;\u0026gt;\u0026lt;/span\u0026gt; 次 \u0026lt;/span\u0026gt; \u0026lt;/div\u0026gt; 但他無法導出數據。\n另外，到config/params.html的article下加上showComments\n[article] ... showComments=true GoatCounter # 開源，可以像GA一樣看到數據，但不會被google追蹤。\n去 GoatCounter 註冊一個免費帳號。 params.toml裡面加入: [analytics.goatcounter] code = \u0026#34;你的帳號名\u0026#34; 在comments.html下加入下面codes，才能在頁面顯示 JS in comments.html \u0026lt;div class=\u0026#34;text-sm mt-4 mb-2 opacity-70\u0026#34;\u0026gt; \u0026lt;i class=\u0026#34;fas fa-eye\u0026#34;\u0026gt;\u0026lt;/i\u0026gt; \u0026lt;span id=\u0026#34;stats-views\u0026#34;\u0026gt;正在載入觀看次數...\u0026lt;/span\u0026gt; 次瀏覽 \u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; // 這裡的 \u0026#39;你的帳號名\u0026#39; 請替換成你在 GoatCounter 註冊的子網域名稱 // 例如你的後台網址是 https://cychen.goatcounter.com，就填 \u0026#34;cychen\u0026#34; var code = \u0026#34;你的帳號名\u0026#34;; // 取得當前頁面的路徑 (例如 /posts/concert-1/) var path = window.location.pathname; // 呼叫 GoatCounter API var r = new XMLHttpRequest(); r.addEventListener(\u0026#39;load\u0026#39;, function() { try { var data = JSON.parse(this.responseText); // data.count 是累積觀看次數 document.getElementById(\u0026#39;stats-views\u0026#39;).innerText = data.count || 0; } catch (e) { document.getElementById(\u0026#39;stats-views\u0026#39;).innerText = \u0026#34;-\u0026#34;; } }); // 使用 count.json 接口取得數據 r.open(\u0026#39;GET\u0026#39;, \u0026#39;https://\u0026#39; + code + \u0026#39;.goatcounter.com/counter/\u0026#39; + encodeURIComponent(path) + \u0026#39;.json\u0026#39;); r.send(); \u0026lt;/script\u0026gt; GoatCounter的Settings，找到CORS或API相關設定，確定網頁有被列在允許的名單中，或者是允許所有來源 Google Analytics # 適合後台查看，無法顯示在頁面。\n需要註冊，但有google帳號就可以了 設定Account，我是用自己的名子 設定Property，可以取網站名 填入網頁url 查看代碼說明-\u0026gt;手動安裝，你可以得到一段script，copy後貼到layout/partials/head.html (最下方) ","date":"22 February 2026","externalUrl":null,"permalink":"/hugo_viewcounts/","section":"Notes","summary":"","title":"觀看人數","type":"notes"},{"content":"週日不敢去故宮(也買不到票)，挑了一個相對冷門的點 - 古代建築博物館。他這邊有名的是藻井: 星空藻井和蟠龍藻井。運氣好趕上導覽(免費)，講得很好，以前不覺得導覽有甚麼，但聽過幾次覺得蠻好的，比自己亂逛強很多。\n中午去吃八爺刷肉，在雍和宮附近，會選這家也是app上找，算是知名店家。肉的品質還可以，但羊肉都有點羶，我自己是不介意啦，不吃羊還可以點牛。湯就是用來涮肉的，好像沒人喝，加點的酸梅湯好喝(應該加了山楂)。 吃完亂逛，買了吳裕泰綠茶冰淇淋，底座是蛋捲，好吃不貴。雍和宮沒時間逛，找了一家可以遠眺它的屋頂咖啡廳休息。點了一杯開心果dirty，查了一下是將濃縮咖啡倒入冷牛奶中形成分層，邊口抹了一圈開心果碎片，滿滿的卡路里XD\n今天是我心中的收官場，老大的聲音依舊很好，嘉賓是莫文蔚，合唱廣島之戀；安可曲有see you again，真的非常應景。我沒想到人到中年會突然追星，還追得那麼瘋，就突然覺得時間過得好快，深怕不小心就再次錯過。他是我喜歡最久的歌手，從小時候第一次聽到他的聲音就好喜歡；除了聲音之外他還有一個有趣的靈魂，雖然我有時候也會為他的一些決定感到憤怒不解，但又覺得能這樣恣意任性地活著實在太帥了，我很好奇他會走到哪裡。\n希望3.0不要讓我等太久，希望老天對他再寬容一點。\n","date":"22 February 2026","externalUrl":null,"permalink":"/beijing2025-day2/","section":"Travel","summary":"","title":"Day2 - 古代建築博物館","type":"travel"},{"content":" 🛬 北京抵達 2025/3/29 🏨 北京唐府酒店 - 故宮王府井南鑼鼓巷 其實離捷運有段距離，但位置非常好，一整條街可以逛，吃喝都非常容易。\n🏛️ 古代建築博物館 2025/03/30 📌 古代建築博物館、五顆松\n🍽️ 八爺涮肉\nSee More\u0026hellip;\n玉潭淵 2024/03/31 📌 玉潭淵、天壇\n🍽️ 天壇福宴\nSee More\u0026hellip;\n🛫 故宮、回程 2024/04/01 📌 故宮\n🍽️ 下午茶\nSee More\u0026hellip;\n","date":"21 February 2026","externalUrl":null,"permalink":"/travel/beijing2025/","section":"Travel","summary":"","title":"北京2025","type":"travel"},{"content":" Cusdis # cusdis是非常輕量的開源專案，留言者不用登入帳號，但資料會保存在cusdis端。設定簡單，功能也比較簡單，沒有甚麼過濾垃圾留言的功能，小網頁蠻合適的。\ncomment必須到cusdis裡approve才會顯示 到官網註冊 cusdis，建立網頁名稱 e.g. TFC2.0 取得app-id. 在cusdis的\u0026rsquo;site settings\u0026rsquo;裡點選\u0026rsquo;Embedded code\u0026rsquo;, 找到data-app-id 修改params.toml [params] .... showComments=true [article.comments] enable = true type = \u0026#34;cusdis\u0026#34; [comments.cusdis] appId = \u0026#34;COPY of data-app-id\u0026#34; host = \u0026#34;https://cusdis.com\u0026#34; 在layout/partials/comments.html (沒有就新增)加入下面的code \u0026lt;div id=\u0026#34;cusdis_thread\u0026#34; data-host=\u0026#34;https://cusdis.com\u0026#34; data-app-id=\u0026#34;{{ .Site.Params.comments.cusdis.appId }}\u0026#34; data-page-id=\u0026#34;{{ .File.UniqueID }}\u0026#34; data-page-url=\u0026#34;{{ .Permalink }}\u0026#34; data-page-title=\u0026#34;{{ .Title }}\u0026#34; data-theme=\u0026#34;dark\u0026#34; # 設定daynight mode: auto、dark、light \u0026gt;\u0026lt;/div\u0026gt; \u0026lt;script async defer src=\u0026#34;https://cusdis.com/js/cusdis.es.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; 參考資料 # Hugo 網站留言區設定：Disqus vs Cusdis\n","date":"21 February 2026","externalUrl":null,"permalink":"/blowfish_comment/","section":"Notes","summary":"","title":"留言板","type":"notes"},{"content":" Card view無法顯示圖片 # 在list page的front matter裡將cardView=true。 調整檔案結構, 改成leaf bundle (只有index.md 和資源檔如圖片)，將你要顯示在card上的圖片改名為feature.jpeg放在index.md同層，你不需要在md裡的front matter指定就可以正常顯示 若要在文章內看使用圖檔，可以在md同層建一個folder e.g. images，把圖放進去，md檔可以直接使用，不用甚麼都塞在assets下 圖檔請用jpeg、png\u0026hellip;. 對某section設定共用feature # 以\u0026quot;靜態網頁建置\u0026quot;這個section來說，我想要用blowfish的logo當作feature，讓他在首頁和其他文章用cardview排列時，不至於太突兀:\n將該檔案放到assets下(e.g. assets/feature.png) 在該section的_index.md的front matter加入以下code +++ .... [cascade] featureimage=\u0026#39;feature.png\u0026#39; +++ 該section內的所有md都會繼承這個設定 文章順序 # 可以用weight來指定順序:\nparams.toml裡的\u0026rsquo;orderByWeight=true' md檔的front matter設定weight: weight=1，數字越大排越後。 md檔會在footer顯示上下頁的箭頭，但會和習慣相反: 上一頁在右；下一頁在左。要改變這個格式，param.toml的invertPagination=true favicon # favicon是一個可以在ulr前面顯示的icon。\n可用這個連結載入你的圖，他產生一個zip檔，解開後會有不同尺寸的favicon，放到static/下。\nfavicon放哪裡要看你的theme，到theme/下面看favicon放在哪裡，你就跟著放。 day/night mode # 可以設定day/night mode，下面範例是將它預設為night mode 在_default/params.toml裡設定defaultAppearance\ndefaultAppearance = \u0026#34;dark\u0026#34; # valid options: light or dark ","date":"2 February 2026","externalUrl":null,"permalink":"/hugo_misc/","section":"Notes","summary":"","title":"其他採到的坑","type":"notes"},{"content":"一大早就搭車回樟宜機場，樟宜機場蠻好逛的，有個瀑布小火車(sky train)，順便吃松發肉骨茶。松發肉骨茶胡椒味很重，可以免費續湯，我看其他人的遊記可以點油條之類的，但機場這邊沒有；相比之下我比較喜歡馬來西亞的肉骨茶，我愛中藥味，還可以加點其他東西，當小火鍋吃蠻過癮的。\nSky train的搭乘有點曲折，我是走到1航廈，搭接駁車(也叫sky train)到2航廈，下車後改搭另一個sky train(車身彩繪)到3航廈，繞一圈再回2航廈，中途會穿越瀑布。你說很棒嗎?好像還好，就是找了半天若沒搭到會有點不甘心。如果下次再來，應該會專心逛街 XD MISC # 💰 新加坡物價很高，大概比美國便宜一點，但行動支付的覆蓋率很廣，搭公車吃飯都可以用apple pay，除了沒有店面的路邊攤，幾乎不太需要用現金，新幣不用換太多。\n🚌 公車是上下車都要刷，捷運沒搭到，但也是直接刷apple pay。叫車建議用Grab，但要注意Crab其實不是計程車，叫車的時候不要在主要幹道，司機無法停車。\n另外新加坡入境要填入境卡(Singapore Arrival Card)，到ICA官網填完後，入關時刷護照就可以了。但要小心有詐騙網站，一定要在官網，這是免費的，要你付錢都是詐騙。\n這體而言，新加坡不像泰國或日本，有悠久的文化底蘊以及自然風光，但靠著完善的城市建設，觀光發展得非常好，如果可以忍受幾天高昂的物價，它是個我會想再訪的國家；下次應該會找個漂亮的飯店呆個兩天，吃飯就隨意吧。\n","date":"31 January 2026","externalUrl":null,"permalink":"/sigapore2026_day4/","section":"Travel","summary":"","title":"Day4 - 星耀樟宜","type":"travel"},{"content":"","date":"31 January 2026","externalUrl":null,"permalink":"/trips/singapore/","section":"Trips","summary":"","title":"Singapore","type":"trips"},{"content":"國家美術館，周遭有一些殖民風情的建築物，外觀維持得非常好，鴨子船導覽說法律規定要定期清洗，整個市容很賞心悅目。美術館有賣門票，但應該是特殊展場才需要，裡面有一些餐廳，是個很舒服的景點，也適合帶小孩來。來了就不要錯過頂樓，可以遠眺金沙飯店，視野還不錯。 Violet Oon就在美術館裡面，這家是Gemini推薦的娘惹餐廳，裝潢很美，是低調奢華風。口味上不算重，台灣人吃的也蠻習慣的，整體還不錯，但雞肉是肉雞，台灣土雞樂勝。甜點點了一個木薯糕，個人覺得是當天第一名，有點像發糕，香軟可口，是樸實的美味。\n濱海灣花園，cloud forest是推薦景點，和花穹在klook或kkday都是綁在一起賣，個人覺得花穹有點雞肋，可能不是花季的原因，看點不高。cloud forest是蛋型溫室，我們是搭電梯直奔頂樓往下逛，是個避暑的好景點，結合侏儸紀的恐龍造景，帶小朋友的會逛得很開心。\n今天重頭戲其實是晚上7:45的super tree燈光秀，免費，但要早點佔位子。時間一到一堆人在地下躺著，其實還蠻像那個的XD 是還不錯啦，躺著看是比較新奇的體驗，超棒到不至於，就是個到此一遊的景點囉。看完8:00趕回金沙飯店空中花園，散場人很多，就跟著人群走，入口在tower 3。乘電梯到56樓，可以遠眺濱海花園的super tree，夜景是蠻美的，只是門票有點貴，除非你要在上面吃東西，其實也待不久。拍完照就下樓回金沙商場的Event Plaza，等10點的spectra水舞。Spectra是今晚最值得看的表演，它不只是燈光加音樂而已，它是有劇情的，燈打得很好，畫面很立體，重點是免費。 Spectra水舞秀\n","date":"31 January 2026","externalUrl":null,"permalink":"/sigapore2026_day3/","section":"Travel","summary":"","title":"Day3 - 國家美術館、金沙燈光秀","type":"travel"},{"content":"飯店附近有家亞坤，來新加坡不吃好像有點說不過去，生意很好，點了招牌套餐，咖椰吐司適合現場內用，沾著半熟蛋很好吃(基本上這種吃法也很難不好吃啦)。咖啡是用打果汁機攪拌，這個還蠻有趣的，喝起來和馬來西亞的差不多，但新加坡可以選少糖，沒有想像中那麼甜。\n吃完搭公車去魚尾獅公園，大地標不去說不過去，而且中餐就在附近。附近有一些飲料店，Mr.Coconut的椰子奶昔很好喝，請選無糖，因為無糖就是甜的。 棕櫚灘海鮮餐廳是朋友推薦，招牌是斯里蘭卡辣螃蟹，但其實不辣，偏甜，肉質肥厚很好吃。這餐因為這隻螃蟹蠻貴的，但螃蟹外的其他菜也好吃，三人分攤算是可以接受的價格。\n鴨子船是水陸兩用車，我選中文講解的行程，都出來玩了不要挑戰自己的英聽。整體而言是有趣的體驗，非常適合家庭旅遊，不用曬太陽還可以聽故事，不知道排甚麼行程的時候可以考慮。\n金沙酒店結合商場和餐廳，要逛可以逛很久，但今天是來聽演唱會的，開場前選了一家餐廳墊肚子，這家TWG是賣茶的但義大利麵很好吃，茶葉水準我無感，主要是我本來就不懂茶，朋友覺得還不錯。\n演唱會場地是在濱海灣會展中心，記住這個場館，場地爛爆，svip的座位竟然看不到人，最早買最貴的票，看到的竟然是樂手的屁股。座位圖後來有更改過，硬是加了一面有沙發的位子，整個架高視野正對舞台，一看就知道是給飯店/賭場vip預留的，把真金白銀買票的觀眾當北七。舞台很長，老大要在舞台上散步折返跑觀眾才看的到他，連螢幕都要歪著脖子看，真的是莫名其妙的奇葩場館。老大今天聲音超亮，裝造很好看，聽到了好久不見的散了吧、每天想你一遍還是很開心，但這個場地真的不要再使用了，根本不能辦演唱會。結束後大家直接找承辦人員理論，最終是讓我們退費，果然團結力量大，但拜託不要有下一次了。(其實開演前有換到比較看的到的位置，感謝知音的幫忙👍)\n","date":"31 January 2026","externalUrl":null,"permalink":"/sigapore2026_day2/","section":"Travel","summary":"","title":"Day2 - 魚尾獅、辣椒螃蟹、SingLand Festival","type":"travel"},{"content":" 🛬 新加坡抵達 2026/01/01 🏨 Summer View Hotel\n🍽️ Zorba The Greek Taverna\n📌 可拉克碼頭、烏節路\n🍸 Mr.Stork\nSee More\u0026hellip;\n🎶 魚尾獅、演唱會 2026/01/02 📌 魚尾獅公園、鴨子船、金沙酒店\n🍽️ 亞坤、棕櫚灣螃蟹\nSee More\u0026hellip;\n🏛️ 國家美術館、金沙燈光秀 2026/01/03 📌 新加坡國家美術館、濱海灣花園\n🍽️ Violet Oon\nSee More\u0026hellip;\n🛫 返程 2026/01/04 📌 樟宜機場\n🍽️ 松發肉骨茶\nSee More\u0026hellip;\n","date":"31 January 2026","externalUrl":null,"permalink":"/travel/singapore2026/","section":"Travel","summary":"","title":"Singapore 2026","type":"travel"},{"content":"新加坡物價很高，大概比美國便宜一點，飯店四星以上幾乎都破萬，The summer view hotel在武吉區，交通算方便，附近商店小吃也多，還提供三床房，三人分攤平均一天二千多，在新加坡算是很划算的價錢了。check in後亂逛，傍晚坐車到克拉克碼頭(Clark Quay)吃晚餐，Zorba The Greek Taverna是希臘餐廳，座位就在河邊，氣氛不錯，其實河邊一堆餐廳，原本以為1/1人會很多，但整題來說還好，大概都跑出國玩了吧 XD\nZorba The Greek Taverna招牌是烤肉，老實說烤的不錯，牛肉大概五分熟，完全沒有血，入口軟嫩；但今天第一名是沙拉，因為那盤肉食份量不小，吃到最後有點膩，沙拉吃起來清爽多了；但烤魷魚腳不行， 大是挺大的，但肉質沒有彈性，台灣鹹酥雞攤大勝。 吃完跑去烏節路看聖誕裝飾，1/1是最後一天，可能收了一些，整體跟想像中有落差，也許聖誕節當天會比較好看吧。亂晃完衝去Mr.Stoke，是小有名氣的高空酒吧，我照舊請bartender推薦甜甜的不要太烈的酒，這杯好像叫Aly?杯子是一隻小象超可愛，入口也好喝，缺點就是貴，一杯跟一盤菜差不多。 ","date":"18 January 2026","externalUrl":null,"permalink":"/sigapore2026_day1/","section":"Travel","summary":"","title":"Day1 - 克拉克碼頭、高空酒吧","type":"travel"},{"content":" Why? # github其實已經提供了網頁平台託管的服務，寫好的網頁可以透過workflow來自動化發布，對於寫寫筆記日記之類的很夠用了。但你的網頁要真的能發布在網路上被看到，又不想多花錢，你的repository必須是公開的。但我不是很想把所有資料都公開給所有人看，就開始尋找其他的方法，cloudflare蠻多人推薦的，免費方案也夠用，不需要寫workflow他會幫你自動做完所有事情，重點是透過cloudflare發布後我的githug repository可以設回private。\nHow? # 註冊couldflare:\nAdd -\u0026gt; Pages Import an existing Git respository 選擇你的repository並且授權 Begin setup -\u0026gt; 匯入repository 設定build: project name: 建議全小寫 production branch: main framework preset: hugo build command: hugo --minify build output directory: public Environment variables: variable names: HUGO_VERSION/value: local端的版本 variable names: NODE_VERSION/value:20 Save後會產生一個網址, 🚨請用這個網址當作你baseURL 之後只要你git push一次，cloudflare就會自動幫你更新 到github將你的repository設為private 資訊 Hugo的版本在local端輸入hugo version, 填數字部分e.g. 0.153.4 NODE是指Node.js的版本，Cloudflare預設版本可能太舊，所以設定為20，這是目前長期支援的版本\n新增另一個repository # 若你同一個github帳號像有其他repository要透過cloudflare發布，直接Add -\u0026gt; Page，在Import an existing Git respository發現沒有可選的repository，通常是你之前設定了只有某些repository可以使用，cloudflare會有一行小字提醒你:\n註記 If your repository is not shown, configure repository access for the Cloudflare Pages app on GitHub.\n點進去 Cloudflare Pages 後可開放你repository的使用權。\n關閉自動部署 # 我可能會同一個commit修修改改，或是改了好幾個後再發布，因此關掉Cloudflare的自動部屬:\n登入Cloudflare，點選Settings 修改Build下的 Branch control，把 Enable automatic production branch deployments 取消掉 手動部屬 到Workers \u0026amp; Pages點選你要發布的repository All deployments點 \u0026hellip; -\u0026gt; Retry \u0026amp; Deploy ","date":"18 January 2026","externalUrl":null,"permalink":"/hugo_deploy/","section":"Notes","summary":"","title":"Deploy to Cloudflare","type":"notes"},{"content":" Markdown 語法 # Code Fences # Code Fences是用來顯示程式碼, 支援的有: java、python、c++、html、json、yaml、toml、bash、sh、xml....你也可以選擇text\n語法如下\n```[語言] {options} Options有\nlineons - 是否顯示行號: true or table lineonsstart - 從第幾行開始顯示行號 hi_lines=[\u0026hellip;], 哪幾行要highlight Example:\npython codes，顯示行數，將第2行和4~5行highlight\n1 2 3 4 5 def hello_world(): print(\u0026#34;這行會被高亮\u0026#34;) # 第 2 行 a = 10 b = 20 # 第 4 行 return a + b # 第 5 行 Details # 可擴展內容，語法如下:\n{{\u0026lt;details summary=\u0026#34;It is a summary\u0026#34; \u0026gt;}} Write something~ {{\u0026lt;/details \u0026gt;}} 加上open=\u0026ldquo;true\u0026quot;會default打開，若否則需要點擊才能開啟。\nExample:\nIt is a summary Write something~\nAdmonition # 應該稱為Github Flavored Markdown Admonition，有[!TIP]、[!NOTE]、[!IMPORTANT]、[!WARNING]、[!CAUTION]，會有對應的icon，你也可以自己替換成其他的，內容也可以折疊(+/-):\n\u0026gt; [!TIP] \u0026gt; A Tip type admonition. \u0026gt; [!NOTE]+ Custom Title \u0026gt; A collapsible admonition with custom title. \u0026gt; [!NOTE]+ Custom Title + Custom Icon \u0026gt; A collapsible admonition with custom title and icon. {icon=\u0026#34;fire\u0026#34;} Custom Title + Custom Icon A collapsible admonition with custom title and icon.\n引文 # 語法如下:\n\u0026gt;縮排語法 \u0026gt;第一層 \u0026gt;\u0026gt;第二層 \u0026gt;\u0026gt;\u0026gt;第三層 縮排語法 第一層\n第二層\n第三層\nShortcodes # Alert # 可用在Alert、inform、warn\u0026hellip;等文字區塊裡面，差別在於你給的icon是哪一種。語法如下:\n{{\u0026lt; alert icon=\u0026#34;pencil\u0026#34; \u0026gt;}} 這是筆記內容 {{\u0026lt; /alert \u0026gt;}} 這是筆記內容 icon可以選擇 blowfish內建的(theme/blowfish/assets/icons)\nFigure # 使用Figure可以讓你的圖片有說明文字，且排版會比你用![]()來的整齊。語法如下:\n{{\u0026lt; figure src=\u0026#34;my_img.png\u0026#34; alt=\u0026#34;主介面\u0026#34; caption=\u0026#34;底下的說明文字\u0026#34; link=\u0026#34;點擊圖片跳轉的網頁連結\u0026#34; \u0026gt;}} YoutubeLite # 輕量版的Youtube，你可以給定一些參數限制他從哪裡開始撥放。下面例子的播放是從130s開始並且在10s後停止:\n{{\u0026lt; youtubeLite id=\u0026#34;SgXhGb-7QbU\u0026#34; label=\u0026#34;Blowfish-tools demo\u0026#34; params=\u0026#34;start=130\u0026amp;end=10\u0026amp;controls=0\u0026#34; \u0026gt;}} 相關文章 # 🔗 Markdown 常用語法\n🔗 Hugo shortcodes\n🔗 blowfish shortcodes\n","date":"17 January 2026","externalUrl":null,"permalink":"/hugo_shortcodes/","section":"Notes","summary":"","title":"Hugo 其他","type":"notes"},{"content":" Organization # content/ 下的檔案結構會反映在你的weblink上:\nfirst_post.md的url會是https://example.org/posts/first_post\nsubpost.md 的url是https://example.org/posts/sub_post/subpost\ncontent/ ├─ posts/ │ ├─ first_post.md │ ├─ second_post.md │ ├─ sub_post/ │ │ ├─ subpost.md ├─ travel/ │ ├─ summer.md │ ├─ spring.md _index.md Page Boundle # Page bundle是一個folder下面有文章和相關的resources(e.g.圖檔)，分成兩種:\nLeafe boundle - folder下面必有一個 index.md，resource檔可有可無，該foder下面不會有其他的子目錄也沒有其他md檔(有也無法顯示) Branch bundle - folder下面必有 _index.md，resource檔也是可有可無，他會包含其他descendants。 _index.md # 他是一個目錄路徑，你可以在裡面設定front matter。如果該目錄沒有_index.md，你就無法在網頁上看到這個目錄。以上圖(樹狀圖)為例，posts下面沒有_index.md，https://example.org/posts/ 就會無法顯示，但你依然可以直接指定訪問你的md檔。 設定該檔案的好處是你可以直接使用該folder下的resource (e.g. image)。另外，包和_index.md的folder我們稱為一個section。\nSection # top level folder，也就是content/， 它本身就是一個section；另外只要有_index.md的folder都是section。section會有list page，在網頁上就會看到該section下的folders。如下圖，content/posts/是一個 section，\ncontent/ ├─ posts/ │ ├─ first_post.md │ ├─ second_post.md │ ├─ sub_post/ │ │ ├─ subpost.md │ │ ├─ index.md │ ├─ _index.md ├─ travel/ │ ├─ summer.md │ ├─ spring.md _index.md https://example.org/posts/ 下面你會看到:\nfirst_post.md second_post.md sub_post(1) 若你將架構改成下圖:\ncontent/ ├─ posts/ │ ├─ first_post/ │ │ ├─ first.md │ │ ├─ first2.md │ │ ├─ _index.md │ ├─ _index.md │ ├─ second_post/ │ │ ├─ second.md │ │ ├─ _index.md/ ├─ travel/ │ ├─ summer.md │ ├─ spring.md _index.md https://example.org/posts/ 下面你會看到:\nfirst_post(2) second_post(1) 相關文章 # 🔗 Hugo section\n🔗 Content organization\n🔗 ASCII Tree Generator\n","date":"17 January 2026","externalUrl":null,"permalink":"/hugo_pages/","section":"Notes","summary":"","title":"Hugo 的文章結構","type":"notes"},{"content":" 環境設定 # 我的環境是Windows 11，安裝scoopy做套件管理，之後再安裝hugo，讓它獨立在主系統之外，避掉討厭的PATH設定。 例外確保你有安裝git\n用powershell裝在D槽, 輸入下面指令 $env:SCOOP=\u0026#39;D:\\work\\Tools\\Scoop\u0026#39; [Environment]::SetEnvironmentVariable(\u0026#39;SCOOP\u0026#39;, $env:SCOOP, \u0026#39;User\u0026#39;) 解除執行Script的限制 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 安裝scoop irm get.scoop.sh | iex 安裝hugo 安裝hugo-extended才有漂亮的theme可以用 scoop install hugo-extended Github Repository # 先在github建立一個主網頁，名稱和你的帳號同名，若你的帳號為ACCOUNT，你的repository就為ACCOUNT.github.io\n之後可以再新增其他的repository給不同的blog，比如 ACCOUNT.github.io/BLOG1\n那麼該網頁的網址為https://ACCOUNT.github.io/BLOG1\nConfiguration # 設定 Theme # 選定一個theme, 我自己是使用blowfish。初始化git後下載blowfish:\ngit init git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish 將theme/blowfish/config/下的內容複製到root，方便作客製化，避免直接修改theme下的config。config/_default/hugo.toml裡面做以下修改:\n# 你的網頁位置 baseURL = \u0026#34;https://ACCOUNT.github.io/Blog1\u0026#34; # 修改語言後，你的menu也需要有一份meun.zh-tw.toml defaultContentLanguage = \u0026#34;zh-tw\u0026#34; hasCJKLanguage = true title = \u0026#34;Your Title\u0026#34; \u0026lt;/code\u0026gt;\u0026lt;/pre\u0026gt; ### 設定 menu \u0026lt;pre\u0026gt;\u0026lt;code\u0026gt;[[main]] identifier=\u0026#34;notes\u0026#34; name=\u0026#34;Notes\u0026#34; url=\u0026#34;/categories/\u0026#34; weight=1 其中的url可以用taxonomies或是指定content/下的某個folder，以上例而言，是直接找categories，也就是你的md檔front matter裡面指定categories，就會在點選Notes這個menu後看到你的category。若你指定的是content下的資料夾，點入就會顯示該資料夾下所有的md檔\n設定 Table of Content # 在config/_default/params.toml將下面設定打開\nhighlightCurrentMenuArea = true smartTOC = true smartTOCHideUnfocusedChildren = true 並且在[article]之下加入\nlayout = \u0026#39;main\u0026#39; showTableOfContents = true config/_default/markup.toml加入下面設定\n[tableOfContents] startLevel = 1 endLevel = 6 ordered = false 顯示 tags # 在hugo.toml設定taxonomies\n[taxonomies] tag = \u0026#34;tags\u0026#34; category = \u0026#34;categories\u0026#34; series = \u0026#34;series\u0026#34; 在params.toml打開showTaxonomies\nshowTaxonomies=true 文章中的front matter設定\n+++ ... tags=[\u0026#39;YourTag\u0026#39;] +++ 發布 # 開發時的commit上在master，另開一個獨立的branch - public專門發布網頁，但我不想手動互切branch，改作一個workflow讓github幫我完成: 當我決定發布時，在github上手動觸發網頁更新，若public不存在會自動新增。\n建立 .github/workflows/hugo.yaml name: Deploy Hugo site to GitHub Pages on: workflow_dispatch: # 手動 jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # 步驟 1: 把你的程式碼抓下來 with: submodules: true # 確保抓到 Blowfish 主題 fetch-depth: 0 - name: Setup Hugo # 步驟 2: 安裝 Hugo 軟體 uses: peaceiris/actions-hugo@v3 with: hugo-version: \u0026#39;latest\u0026#39; extended: true - name: Build # 步驟 3: 執行編譯 (將 md 轉為 html) run: hugo --minify - name: Deploy # 步驟 4: 把編譯好的結果推送到 public 分支 uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} # 這是自動生成, 每次執行都不同 publish_dir: ./public publish_branch: public 更新 commit # git add . git commit git push 將workflow更新到github\n資訊 若發現有漏掉的東西，想要複寫在github上的最新commit，可以用下面指令: git commit \u0026ndash;amend\ngit push \u0026ndash;force-with-lease origin main\n權限設定 # 到github repository的頁面，Setting -\u0026gt; Action -\u0026gt; General -\u0026gt; Workflow permission，選擇Read and write permissions，然後按Save。因為發布網頁需要推送到public branch，必須要有\u0026quot;write\u0026quot;的權限，否則會報錯\n執行 workflow # 點選Action，在左側找到你的workflow \u0026ldquo;Deploy Hugo site to GitHub Pages\u0026rdquo;，按Run workflow，會需要一點時間，完成後等個一分鐘你的網頁就上線了。(網頁在config/default/hugo.toml裡的baseURL)\n切換到public branch # 點選Settings，在左側找到Pages，在\u0026quot;Build and Deployment\u0026quot;裡面找到branch，選擇Public後Save\n","date":"12 January 2026","externalUrl":null,"permalink":"/buildhugo/","section":"Notes","summary":"","title":"用Hugo建置靜態網頁","type":"notes"},{"content":"演唱會 x 旅遊 x 到處亂走\n","date":"12 January 2026","externalUrl":null,"permalink":"/travel/","section":"Travel","summary":"","title":"Travel","type":"travel"},{"content":" 📷 Background：Sasha Matic ","date":"12 January 2026","externalUrl":null,"permalink":"/","section":"Categories","summary":"","title":"Categories","type":"page"},{"content":"","date":"12 January 2026","externalUrl":null,"permalink":"/notes/","section":"Notes","summary":"","title":"Notes","type":"notes"},{"content":"","date":"12 January 2026","externalUrl":null,"permalink":"/notes/static_website/","section":"Notes","summary":"","title":"靜態網頁建置","type":"notes"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]