<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Python on Niugnep 的部落格</title><link>https://niugnep.idv.tw/tags/python.html</link><description>Recent content in Python on Niugnep 的部落格</description><generator>Hugo</generator><language>zh-Hant</language><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://niugnep.idv.tw/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>我寫了個自己的SSG...</title><link>https://niugnep.idv.tw/posts/made-my-ssg.html</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><guid>https://niugnep.idv.tw/posts/made-my-ssg.html</guid><description>&lt;blockquote&gt;
&lt;p&gt;ℹ️ 提示
本文的內容可能已經過時。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;講真話我不知道為啥，我偏偏要寫一個自己的SSG。&lt;/p&gt;
&lt;h2 id="ssg是什麼能吃嗎"&gt;SSG是什麼？能吃嗎&lt;/h2&gt;
&lt;p&gt;&lt;del&gt;不能吃但很好吃。&lt;/del&gt;
SSG，全名Static Site Generator，
翻譯即為靜態網站生成器。
靜態網站指的是幾乎不依賴JavaScript腳本，
就能顯示內容的網站，比如我說過很喜歡的&lt;a href="ivonblog.com"&gt;Ivon&lt;/a&gt;，
他的部落格就是用SSG生成，讓不使用JS的使用者也能閱讀。&lt;/p&gt;
&lt;h2 id="那為啥你說不知道為啥偏偏自己寫"&gt;那為啥你說不知道為啥偏偏自己寫？&lt;/h2&gt;
&lt;p&gt;因為SSG這玩意其實市面上一堆。
我個人一方面希望部落格按自己的方式寫，
另一方面我幾乎沒用過任何SSG。
這裡讓AI舉了幾個例子：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jekyll&lt;/li&gt;
&lt;li&gt;Hugo&lt;/li&gt;
&lt;li&gt;VitePress
其實我也只有用Jekyll，
用自己的腳本生成完再丟給GitHub生一次Pages才能看，
窮啊，誰叫Pages那麼香，一毛不花就能架網站。
但Jekyll不符合我要求啊，我有sitemap、rss什麼的。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="寫了哪些檔案"&gt;寫了哪些檔案？&lt;/h2&gt;
&lt;p&gt;這些吧，應該算簡潔了。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;headtail.py：建立頁首跟頁尾&lt;/li&gt;
&lt;li&gt;htmlmaker.py：填空題，配合format建立各個網頁&lt;/li&gt;
&lt;li&gt;markdown.py：讓AI寫的MD轉HTML，&lt;!-- raw HTML omitted --&gt;不用markdown模組是為了在不同裝置上使用&lt;/li&gt;
&lt;li&gt;metadata.py：就是網站一大堆Metadatas的生成器&lt;/li&gt;
&lt;li&gt;timeline.py：建置我的動態牆&lt;/li&gt;
&lt;li&gt;xmlbuild.py：建置sitemap跟rss&lt;/li&gt;
&lt;li&gt;build.py：充其量就是拼積木
沒啦awa
是不是很簡潔呢（自肥）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="有哪些坑"&gt;有哪些坑？&lt;/h2&gt;
&lt;p&gt;超多啊&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI寫的MD生成器缺斤少兩，應該是指令沒下對&lt;/li&gt;
&lt;li&gt;單雙引號不能亂用（ex. &lt;code&gt;f&amp;quot;在雙引號裡的format{i[&amp;quot;再套雙引號&amp;quot;]}&amp;quot;&lt;/code&gt; 會讓Actions爆炸）&lt;/li&gt;
&lt;li&gt;htmlmaker要記得怎麼拼接&lt;/li&gt;
&lt;li&gt;要能看懂哪裡出錯
這專案重建到現在三天四十個commits，
其實也挺離譜的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;del&gt;順帶一題這文章是湊數的，我想拿去給Ivon放友站嘿嘿&lt;/del&gt;&lt;/p&gt;</description></item></channel></rss>