<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://easonchang.com</id>
    <title>Eason Chang</title>
    <updated>2026-01-27T10:20:47.909Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>Eason Chang</name>
        <email>eason@easonchang.com</email>
        <uri>https://easonchang.com</uri>
    </author>
    <link rel="alternate" href="https://easonchang.com"/>
    <link rel="self" href="https://easonchang.com/atom.xml"/>
    <subtitle>This is Eason Chang's website. You can find my interesting projects, thoughts, learning notes, dev experiences, etc.</subtitle>
    <logo>https://easonchang.com/logo.png</logo>
    <icon>https://easonchang.com/favicon.ico</icon>
    <rights>Copyright © 2015 - 2026 Eason Chang</rights>
    <entry>
        <title type="html"><![CDATA[CoreHour - Focus on What Truly Matters: Smart Time Management]]></title>
        <id>https://easonchang.com/posts/corehour</id>
        <link href="https://easonchang.com/posts/corehour"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Track your time, discover your peak productivity hours, and build sustainable work habits with CoreHour]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[CoreHour - 專注於真正重要的事：智慧時間管理]]></title>
        <id>https://easonchang.com/posts/corehour</id>
        <link href="https://easonchang.com/posts/corehour"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[追蹤時間、發現高峰生產力時段，並使用 CoreHour 建立可持續的工作習慣]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[DailyPay - See Your Money Move in Real-Time: Daily Financial Tracking]]></title>
        <id>https://easonchang.com/posts/dailypay</id>
        <link href="https://easonchang.com/posts/dailypay"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Your financial dashboard updated daily - track spending, monitor bank balances, and stay on top of your money with DailyPay]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[DailyPay - 即時看見你的金錢流動：每日財務追蹤]]></title>
        <id>https://easonchang.com/posts/dailypay</id>
        <link href="https://easonchang.com/posts/dailypay"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[每日更新的財務儀表板 - 使用 DailyPay 追蹤支出、監控銀行餘額，掌握你的金錢動向]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Equation Pyramid - Math Puzzle Game Inspired by The Devil's Plan]]></title>
        <id>https://easonchang.com/posts/equation-pyramid</id>
        <link href="https://easonchang.com/posts/equation-pyramid"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Challenge your mathematical skills with Equation Pyramid, an interactive 3D puzzle game inspired by Netflix's The Devil's Plan]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Equation Pyramid - 靈感來自《惡魔計劃》的數學解謎遊戲]]></title>
        <id>https://easonchang.com/posts/equation-pyramid</id>
        <link href="https://easonchang.com/posts/equation-pyramid"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[用 Equation Pyramid 挑戰你的數學技能，這是一款受 Netflix《惡魔計劃》啟發的互動式 3D 解謎遊戲]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[FireFree - Your Path to Financial Freedom: FIRE Calculator]]></title>
        <id>https://easonchang.com/posts/firefree</id>
        <link href="https://easonchang.com/posts/firefree"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Calculate your path to financial independence and early retirement with FireFree, a comprehensive FIRE calculator built by Aburi Studio]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[FireFree - 計算你的財務自由之路：FIRE 計算機]]></title>
        <id>https://easonchang.com/posts/firefree</id>
        <link href="https://easonchang.com/posts/firefree"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 FireFree 計算你的財務獨立和提早退休之路，由 Aburi Studio 打造的全方位 FIRE 計算工具]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[FocusZone - Vision OS Productivity App with AI-Powered Distraction Detection]]></title>
        <id>https://easonchang.com/posts/focuszone</id>
        <link href="https://easonchang.com/posts/focuszone"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Stay focused in immersive environments with FocusZone, a Vision OS app featuring Pomodoro timer and AI distraction detection for Apple Vision Pro]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[FocusZone - 結合 AI 干擾偵測的 Vision OS 專注應用]]></title>
        <id>https://easonchang.com/posts/focuszone</id>
        <link href="https://easonchang.com/posts/focuszone"/>
        <updated>2025-01-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 FocusZone 在沉浸式環境中保持專注，這是一款為 Apple Vision Pro 設計的 Vision OS 應用，具備番茄鐘計時器和 AI 干擾偵測]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Timez - Time Zone Converter: Convert time between different timezones]]></title>
        <id>https://easonchang.com/posts/timezone-converter</id>
        <link href="https://easonchang.com/posts/timezone-converter"/>
        <updated>2024-03-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Easily convert time between different timezones and compare overlapping time periods]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Timez - Time Zone Converter 時區轉換工具]]></title>
        <id>https://easonchang.com/posts/timezone-converter</id>
        <link href="https://easonchang.com/posts/timezone-converter"/>
        <updated>2024-03-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[輕鬆在不同時區之間轉換時間並比較重疊時間段]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Balancing and Improving Readability of Web Titles with react-wrap-balancer]]></title>
        <id>https://easonchang.com/posts/react-wrap-balancer</id>
        <link href="https://easonchang.com/posts/react-wrap-balancer"/>
        <updated>2023-02-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Implement Balance Text with react-wrap-balancer, balancing the width of each line of text for improved visual comfort. Lightweight and easy to use]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[讓網頁標題文字更均衡、好讀，使用 react-wrap-balancer]]></title>
        <id>https://easonchang.com/posts/react-wrap-balancer</id>
        <link href="https://easonchang.com/posts/react-wrap-balancer"/>
        <updated>2023-02-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 react-wrap-balancer 在 React.js 網頁實作 Balance Text，平衡每一行文字寬度，讓視覺更舒服。輕量化簡單易用，支援 React 18 及 Next.js SSR]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Summary and Review: The Birth of a Dazzling Tech Blog - Modern Next.js Blog Series #30]]></title>
        <id>https://easonchang.com/posts/modern-nextjs-blog-summary</id>
        <link href="https://easonchang.com/posts/modern-nextjs-blog-summary"/>
        <updated>2022-10-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Summarizing this 30-day journey of building a dazzling personal blog from scratch with modern front-end technologies, revisiting the learned content, implemented features, and used technologies.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[總結與回顧：一個炫砲技術部落格的誕生 - Modern Next.js Blog 系列 #30]]></title>
        <id>https://easonchang.com/posts/modern-nextjs-blog-summary</id>
        <link href="https://easonchang.com/posts/modern-nextjs-blog-summary"/>
        <updated>2022-10-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[總結這系列 30 天內從零開始、用現代前端技術打造的炫砲個人部落格，回顧學到的內容、實作出的功能、及用到的技術]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Implementing Old Path Redirection in Next.js Contentlayer Blog - Modern Next.js Blog Series #29]]></title>
        <id>https://easonchang.com/posts/contentlayer-redirection</id>
        <link href="https://easonchang.com/posts/contentlayer-redirection"/>
        <updated>2022-10-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Implementing redirection for each MDX article's old path within Next.js's getStaticProps]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[在 Next.js Contentlayer blog 實作舊路徑轉址 - Modern Next.js Blog 系列 #29]]></title>
        <id>https://easonchang.com/posts/contentlayer-redirection</id>
        <link href="https://easonchang.com/posts/contentlayer-redirection"/>
        <updated>2022-10-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 Next.js 的 getStaticProps 裡，實作每篇 MDX 文章的舊路徑轉址]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Implementing Multilingual Support with next-i18next in a Next.js Contentlayer Blog - Modern Next.js Blog Series #28]]></title>
        <id>https://easonchang.com/posts/next-i18next-multilingual</id>
        <link href="https://easonchang.com/posts/next-i18next-multilingual"/>
        <updated>2022-10-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Implementing multilingual support for English and Chinese in a Next.js Contentlayer blog, including a language switch button and Command Palette]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 next-i18next 實作中英文多語系 - Modern Next.js Blog 系列 #28]]></title>
        <id>https://easonchang.com/posts/next-i18next-multilingual</id>
        <link href="https://easonchang.com/posts/next-i18next-multilingual"/>
        <updated>2022-10-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 Next.js Contentlayer 部落格中，使用 next-i18next 實作中英文多語系，包含語系切換按鈕及 Command Palette]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Implementing Article Search in kbar Command Palette - Modern Next.js Blog Series #27]]></title>
        <id>https://easonchang.com/posts/kbar-post-search</id>
        <link href="https://easonchang.com/posts/kbar-post-search"/>
        <updated>2022-10-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Enabling article search in the Command Palette, allowing navigation directly to specific article pages]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[在 kbar Command Palette 實作文章搜尋 - Modern Next.js Blog 系列 #27]]></title>
        <id>https://easonchang.com/posts/kbar-post-search</id>
        <link href="https://easonchang.com/posts/kbar-post-search"/>
        <updated>2022-10-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[讓 Command Palette 指令面板能搜尋所有文章，並跳轉到特定文章內頁]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 kbar 加入 Command Palette 指令面板 - Modern Next.js Blog 系列 #26]]></title>
        <id>https://easonchang.com/posts/kbar-command-palette</id>
        <link href="https://easonchang.com/posts/kbar-command-palette"/>
        <updated>2022-10-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[安裝 kbar 套件來實作 Command Palette 指令面板，並使用 Tailwind CSS 美化樣式]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding a Comment System to Next.js with giscus - Modern Next.js Blog Series #25]]></title>
        <id>https://easonchang.com/posts/giscus-comment-system</id>
        <link href="https://easonchang.com/posts/giscus-comment-system"/>
        <updated>2022-10-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using @giscus/react to add a comment system within a Next.js blog, binding to Github Discussions as the commenting platform]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 giscus 在 Next.js 加入留言系統 - Modern Next.js Blog 系列 #25]]></title>
        <id>https://easonchang.com/posts/giscus-comment-system</id>
        <link href="https://easonchang.com/posts/giscus-comment-system"/>
        <updated>2022-10-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 @giscus/react 來在 Next.js 部落格內加入留言系統，綁定 Github Discussions 來當作留言板]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding a Table of Contents to MDX Articles - Modern Next.js Blog Series #24]]></title>
        <id>https://easonchang.com/posts/post-side-toc</id>
        <link href="https://easonchang.com/posts/post-side-toc"/>
        <updated>2022-10-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Adding a sidebar table of contents to Contentlayer blog articles to provide readers with a clear view of the article structure, using github-slugger and IntersectionObserver]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[在 MDX 文章側邊加入目錄 - Modern Next.js Blog 系列 #24]]></title>
        <id>https://easonchang.com/posts/post-side-toc</id>
        <link href="https://easonchang.com/posts/post-side-toc"/>
        <updated>2022-10-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 Contentlayer 部落格加入文章側邊目錄，讓讀者一目瞭然文章結構，使用 github-slugger 及 IntersectionObserver]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding a Page Progress Bar with nprogress - Modern Next.js Blog Series #23]]></title>
        <id>https://easonchang.com/posts/nprogress</id>
        <link href="https://easonchang.com/posts/nprogress"/>
        <updated>2022-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improving perceived performance for readers by adding a page transition progress bar with the nprogress package]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 nprogress 加入換頁進度條 - Modern Next.js Blog 系列 #23]]></title>
        <id>https://easonchang.com/posts/nprogress</id>
        <link href="https://easonchang.com/posts/nprogress"/>
        <updated>2022-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 nprogress 套件加入頁面切換進度條，改善讀者體感效能]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Optimizing Image Performance Using Next.js Image, plaiceholder, and Custom MDX Components - Modern Next.js Blog Series #22]]></title>
        <id>https://easonchang.com/posts/post-custom-image</id>
        <link href="https://easonchang.com/posts/post-custom-image"/>
        <updated>2022-10-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Optimizing in-text image performance using a customized MDX component CustomImage, in conjunction with Next.js <Image/> and the plaiceholder package]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[圖片效能最佳化，使用 Next.js Image、plaiceholder、客製 MDX 元件 - Modern Next.js Blog 系列 #22]]></title>
        <id>https://easonchang.com/posts/post-custom-image</id>
        <link href="https://easonchang.com/posts/post-custom-image"/>
        <updated>2022-10-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用客製化 MDX 元件 CustomImage，搭配 Next.js <Image/> 及 plaiceholder 套件，最佳化內文圖片效能]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Enhancing In-text Link Page Speed and Adding External Link Icons - Modern Next.js Blog Series #21]]></title>
        <id>https://easonchang.com/posts/post-custom-link</id>
        <link href="https://easonchang.com/posts/post-custom-link"/>
        <updated>2022-10-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Modifying the in-text CustomLink, using Next.js's <Link/> for internal links to accelerate page transitions; adding an external link icon for external links]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[強化內文連結換頁速度、加入外部連結 icon - Modern Next.js Blog 系列 #21]]></title>
        <id>https://easonchang.com/posts/post-custom-link</id>
        <link href="https://easonchang.com/posts/post-custom-link"/>
        <updated>2022-10-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[修改內文 CustomLink，針對內部連結使用 Next.js 提供的 <Link/> 加速頁面切換；針對外部連結則加入外聯 icon 提示]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[為內文小標題加入 anchor 錨點連結 - Modern Next.js Blog 系列 #20]]></title>
        <id>https://easonchang.com/posts/post-heading-anchor</id>
        <link href="https://easonchang.com/posts/post-heading-anchor"/>
        <updated>2022-10-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 rehype-slug 套件在內文小標題補上 id 屬性，並使用客製 MDX 元件 CustomHeading 加入 anchor 連結]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Generating RSS Feed with feed - Modern Next.js Blog Series #19]]></title>
        <id>https://easonchang.com/posts/rss-feed</id>
        <link href="https://easonchang.com/posts/rss-feed"/>
        <updated>2022-10-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Add RSS Feed functionality to the blog, allowing readers to subscribe to new articles via RSS]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 feed 生成 RSS Feed - Modern Next.js Blog 系列 #19]]></title>
        <id>https://easonchang.com/posts/rss-feed</id>
        <link href="https://easonchang.com/posts/rss-feed"/>
        <updated>2022-10-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在部落格加入 RSS Feed 功能，讓讀者能以 RSS 形式訂閱最新文章]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Generating Sitemap with next-sitemap - Modern Next.js Blog Series #18]]></title>
        <id>https://easonchang.com/posts/next-sitemap</id>
        <link href="https://easonchang.com/posts/next-sitemap"/>
        <updated>2022-10-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Generate a Sitemap for the website using next-sitemap, allowing crawlers to understand the site structure and enhance SEO]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用 next-sitemap 生成 Sitemap - Modern Next.js Blog 系列 #18]]></title>
        <id>https://easonchang.com/posts/next-sitemap</id>
        <link href="https://easonchang.com/posts/next-sitemap"/>
        <updated>2022-10-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[用 next-sitemap 生成 Sitemap 網站地圖，讓爬蟲了解網站結構，強化 SEO]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding Open Graph, LD-JSON, and Other SEO Meta Data - Modern Next.js Blog Series #17]]></title>
        <id>https://easonchang.com/posts/next-seo-meta-data</id>
        <link href="https://easonchang.com/posts/next-seo-meta-data"/>
        <updated>2022-10-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using next-seo to configure titles, descriptions, thumbnails, Open Graph, LD-JSON for the entire site, making each page understandable to search engines and enhancing SEO]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[加入 Open Graph、LD-JSON 等 SEO meta data - Modern Next.js Blog 系列 #17]]></title>
        <id>https://easonchang.com/posts/next-seo-meta-data</id>
        <link href="https://easonchang.com/posts/next-seo-meta-data"/>
        <updated>2022-10-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 next-seo 為全站設定標題、描述文字、縮圖、Open Graph、LD-JSON，讓搜尋引擎理解每個頁面意義，強化 SEO]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding 'Copy Button' to Code Blocks Using Custom MDX Components - Modern Next.js Blog Series #16]]></title>
        <id>https://easonchang.com/posts/code-copy-button</id>
        <link href="https://easonchang.com/posts/code-copy-button"/>
        <updated>2022-10-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Add a 'Copy Button' to code blocks using the custom MDX component CustomPre]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[加入程式碼區塊「複製按鈕」，使用客製化 MDX 元件 - Modern Next.js Blog 系列 #16]]></title>
        <id>https://easonchang.com/posts/code-copy-button</id>
        <link href="https://easonchang.com/posts/code-copy-button"/>
        <updated>2022-10-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用客製化 MDX 元件 CustomPre，在程式碼區塊加入「複製按鈕」]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding Titles to Code Blocks Using rehype-code-titles - Modern Next.js Blog Series #15]]></title>
        <id>https://easonchang.com/posts/rehype-code-titles</id>
        <link href="https://easonchang.com/posts/rehype-code-titles"/>
        <updated>2022-09-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using rehype-code-titles to add titles to each code block]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[加入程式碼區塊標題，使用 rehype-code-titles - Modern Next.js Blog 系列 #15]]></title>
        <id>https://easonchang.com/posts/rehype-code-titles</id>
        <link href="https://easonchang.com/posts/rehype-code-titles"/>
        <updated>2022-09-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 rehype-code-titles，為每個程式碼區塊加入標題]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Adding Syntax Highlighting to Code Blocks Using rehype-prism-plus - Modern Next.js Blog Series #14]]></title>
        <id>https://easonchang.com/posts/rehype-prism-plus-syntax-highlighting</id>
        <link href="https://easonchang.com/posts/rehype-prism-plus-syntax-highlighting"/>
        <updated>2022-09-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using the rehype-prism-plus package to add Syntax Highlighting effects to code blocks]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[加入程式碼 Syntax Highlighting，使用 rehype-prism-plus - Modern Next.js Blog 系列 #14]]></title>
        <id>https://easonchang.com/posts/rehype-prism-plus-syntax-highlighting</id>
        <link href="https://easonchang.com/posts/rehype-prism-plus-syntax-highlighting"/>
        <updated>2022-09-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 rehype-prism-plus 套件，讓程式碼區塊有 Syntax Highlighting 效果]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Styling the Article Detail Page - Modern Next.js Blog Series #13]]></title>
        <id>https://easonchang.com/posts/blog-post-page-style</id>
        <link href="https://easonchang.com/posts/blog-post-page-style"/>
        <updated>2022-09-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Using Tailwind CSS to style the blog post detail page]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[文章內頁樣式切版 - Modern Next.js Blog 系列 #13]]></title>
        <id>https://easonchang.com/posts/blog-post-page-style</id>
        <link href="https://easonchang.com/posts/blog-post-page-style"/>
        <updated>2022-09-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 Tailwind CSS 切版 Blog 內文樣式]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Styling the Blog Homepage - Modern Next.js Blog Series #12]]></title>
        <id>https://easonchang.com/posts/blog-homepage-style</id>
        <link href="https://easonchang.com/posts/blog-homepage-style"/>
        <updated>2022-09-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Continuing style the  blog homepage using Tailwind CSS]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[首頁樣式切版 - Modern Next.js Blog 系列 #12]]></title>
        <id>https://easonchang.com/posts/blog-homepage-style</id>
        <link href="https://easonchang.com/posts/blog-homepage-style"/>
        <updated>2022-09-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[繼續使用 Tailwind CSS 切版 Blog 首頁樣式]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Full Site Styling - Modern Next.js Blog Series #11]]></title>
        <id>https://easonchang.com/posts/blog-site-style</id>
        <link href="https://easonchang.com/posts/blog-site-style"/>
        <updated>2022-09-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Start styling the Modern Blog site using Tailwind CSS, including Header, Footer, and more.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[全站樣式切版 - Modern Next.js Blog 系列 #11]]></title>
        <id>https://easonchang.com/posts/blog-site-style</id>
        <link href="https://easonchang.com/posts/blog-site-style"/>
        <updated>2022-09-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 Tailwind CSS 開始 Modern Blog 全站樣式切版，包含 Header、Footer 等]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Dark Mode Support with Tailwind CSS and next-themes - Modern Next.js Blog Series #10]]></title>
        <id>https://easonchang.com/posts/darkmode-tailwindcss</id>
        <link href="https://easonchang.com/posts/darkmode-tailwindcss"/>
        <updated>2022-09-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Supporting dark mode with Tailwind CSS and using the next-themes package to detect reader's preferred mode and implement a toggle button]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Dark Mode Support with Tailwind CSS and next-themes - Modern Next.js Blog Series #10]]></title>
        <id>https://easonchang.com/posts/darkmode-tailwindcss</id>
        <link href="https://easonchang.com/posts/darkmode-tailwindcss"/>
        <updated>2022-09-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Supporting dark mode with Tailwind CSS and using the next-themes package to detect reader's preferred mode and implement a toggle button]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Dark Mode 深色模式支援，使用 Tailwind CSS、next-themes - Modern Next.js Blog 系列 #10]]></title>
        <id>https://easonchang.com/posts/darkmode-tailwindcss</id>
        <link href="https://easonchang.com/posts/darkmode-tailwindcss"/>
        <updated>2022-09-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 Tailwind CSS 支援深色模式，並使用 next-themes 套件來偵測讀者偏好模式，並實作切換按鈕]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[安裝 Tailwind CSS 和相關 ESLint、Prettier 設定 - Modern Next.js Blog 系列 #09]]></title>
        <id>https://easonchang.com/posts/tailwindcss-setup</id>
        <link href="https://easonchang.com/posts/tailwindcss-setup"/>
        <updated>2022-09-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[安裝 Tailwind CSS 這套 CSS 工具，設定好對應的 ESLint, Prettier 規則]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Enabling MDX Support in Contentlayer Articles - Modern Next.js Blog Series #08]]></title>
        <id>https://easonchang.com/posts/contentlayer-mdx</id>
        <link href="https://easonchang.com/posts/contentlayer-mdx"/>
        <updated>2022-09-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Supporting MDX format in Contentlayer allows for the insertion of any React component within Markdown, enhancing the flexibility of article content]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[讓 Contentlayer 文章支援 MDX - Modern Next.js Blog 系列 #08]]></title>
        <id>https://easonchang.com/posts/contentlayer-mdx</id>
        <link href="https://easonchang.com/posts/contentlayer-mdx"/>
        <updated>2022-09-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 Contentlayer 支援 MDX 格式，能在 Markdown 內插入任何 React 元件，提升文章內容靈活度]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Implementing Post Page Features, Rendering Markdown Post Content - Modern Next.js Blog Series #07]]></title>
        <id>https://easonchang.com/posts/contentlayer-post-content</id>
        <link href="https://easonchang.com/posts/contentlayer-post-content"/>
        <updated>2022-09-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Implementing Contentlayer post pages, displaying complete article Markdown content]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[文章內頁功能實作，渲染 Markdown 文章內容 - Modern Next.js Blog 系列 #07]]></title>
        <id>https://easonchang.com/posts/contentlayer-post-content</id>
        <link href="https://easonchang.com/posts/contentlayer-post-content"/>
        <updated>2022-09-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[實作 Contentlayer 文章內頁，呈現完整文章 Markdown 內容]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Implementing Homepage Functionality, Adding Contentlayer Post List - Modern Next.js Blog Series #06]]></title>
        <id>https://easonchang.com/posts/contentlayer-post-list</id>
        <link href="https://easonchang.com/posts/contentlayer-post-list"/>
        <updated>2022-09-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Implementing homepage post list functionality using Contentlayer, displaying all Markdown articles]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[首頁功能實作，加入 Contentlayer 文章列表 - Modern Next.js Blog 系列 #06]]></title>
        <id>https://easonchang.com/posts/contentlayer-post-list</id>
        <link href="https://easonchang.com/posts/contentlayer-post-list"/>
        <updated>2022-09-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 Contentlayer 實作首頁文章列表功能，呈現所有 Markdown 文章]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introduction to Markdown & Installing ContentLayer - Modern Next.js Blog Series #05]]></title>
        <id>https://easonchang.com/posts/markdown-contentlayer</id>
        <link href="https://easonchang.com/posts/markdown-contentlayer"/>
        <updated>2022-09-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Writing articles using Markdown syntax and installing Contentlayer to convert Markdown files into articles]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Markdown 簡介 & 安裝 ContentLayer - Modern Next.js Blog 系列 #05]]></title>
        <id>https://easonchang.com/posts/markdown-contentlayer</id>
        <link href="https://easonchang.com/posts/markdown-contentlayer"/>
        <updated>2022-09-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[使用 Markdown 語法撰寫文章，以及安裝 Contentlayer 將 Markdown 檔案轉換成文章]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Basic Setup for Next.js Projects with ESLint, Prettier, TypeScript, etc. - Modern Next.js Blog Series #04]]></title>
        <id>https://easonchang.com/posts/nextjs-dev-env</id>
        <link href="https://easonchang.com/posts/nextjs-dev-env"/>
        <updated>2022-09-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Basic setup for Next.js projects for a smoother development experience and a more readable project structure. Includes locking the Node.js version with .nvmrc, integrating ESLint and Prettier, using the /src folder, and setting up Absolute Import]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[ESLint、Prettier、TypeScript 等 Next.js 專案基礎設定 - Modern Next.js Blog 系列 #04]]></title>
        <id>https://easonchang.com/posts/nextjs-dev-env</id>
        <link href="https://easonchang.com/posts/nextjs-dev-env"/>
        <updated>2022-09-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Next.js 專案基本設定，讓後續開發體驗更流暢、專案結構更易讀。包含用 .nvmrc 鎖定 Node.js 版本、導入 ESLint 和 Prettier、使用 /src 資料夾、設定 Absolute Import]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Deploying a Next.js Project on Vercel Platform - Modern Next.js Blog Series #03]]></title>
        <id>https://easonchang.com/posts/nextjs-to-vercel</id>
        <link href="https://easonchang.com/posts/nextjs-to-vercel"/>
        <updated>2022-09-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[An introduction to the Vercel hosting platform, deploying the Next.js empty project from the previous article on Vercel, and integrating GitHub CI/CD]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[將 Next.js 專案部署上 Vercel 平台 - Modern Next.js Blog 系列 #03]]></title>
        <id>https://easonchang.com/posts/nextjs-to-vercel</id>
        <link href="https://easonchang.com/posts/nextjs-to-vercel"/>
        <updated>2022-09-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Vercel 架站平台介紹、將上一篇的 Next.js 空專案部署上 Vercel，並串接 Github CI/CD]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introduction to Front-End Development Ecosystem & Setting Up a Next.js Project - Modern Next.js Blog Series #02]]></title>
        <id>https://easonchang.com/posts/frontend-intro-create-nextjs</id>
        <link href="https://easonchang.com/posts/frontend-intro-create-nextjs"/>
        <updated>2022-09-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Before starting the blog, let's understand the front-end development ecosystem, install the JS package managers npm and pnpm, and set up a basic Next.js front-end project]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[簡介前端開發生態＆建立 Next.js 專案 - Modern Next.js Blog 系列 #02]]></title>
        <id>https://easonchang.com/posts/frontend-intro-create-nextjs</id>
        <link href="https://easonchang.com/posts/frontend-intro-create-nextjs"/>
        <updated>2022-09-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[開幹部落格之前，先來了解前端開發生態、安裝 JS 套件管理器 npm 及 pnpm，並建立基礎 Next.js 前端專案]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Building a Stunning Personal Blog from Scratch Series Introduction - Modern Next.js Blog Series #01]]></title>
        <id>https://easonchang.com/posts/modern-nextjs-blog-intro</id>
        <link href="https://easonchang.com/posts/modern-nextjs-blog-intro"/>
        <updated>2022-09-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[In this series, we will start from scratch and use the most modern front-end technologies to build your stunning personal blog over 30 days! Introducing the target audience, result demo, content planning, and the technologies used]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[「從零開始打造炫砲個人部落格」系列簡介 - Modern Next.js Blog 系列 #01]]></title>
        <id>https://easonchang.com/posts/modern-nextjs-blog-intro</id>
        <link href="https://easonchang.com/posts/modern-nextjs-blog-intro"/>
        <updated>2022-09-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[這系列我們會在 30 天內從零開始，用最現代的前端技術，做出你的炫砲個人部落格！簡介本系列的目標讀者、成果 Demo、內容規劃、及用到的技術]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[解決 CORS 跨域請求問題，使用 Create React App 內建 Proxy 繞過它]]></title>
        <id>https://easonchang.com/posts/create-react-app-proxy</id>
        <link href="https://easonchang.com/posts/create-react-app-proxy"/>
        <updated>2022-08-12T20:58:00.000Z</updated>
        <summary type="html"><![CDATA[如何設定 Create React App 內建的 Proxy server，來在開發階段繞過呼叫 API 遇到的 Cross-Origin Resource Sharing (CORS) 問題]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[何謂演算法技術面試？讀《Cracking the Coding Interview（提升程式設計師的面試力）》]]></title>
        <id>https://easonchang.com/posts/cracking-the-coding-interview</id>
        <link href="https://easonchang.com/posts/cracking-the-coding-interview"/>
        <updated>2022-07-24T22:16:00.000Z</updated>
        <summary type="html"><![CDATA[軟體工程師面試 FANNG 大公司時，必不可少的演算法面試，到底在考些什麼？該如何準備？一起來讀面試聖經《Cracking the Coding Interview（提升程式設計師的面試力）》]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[不要再從舊檔案複製貼上了！使用 Hygen 快速建立 Blog 新文章 Markdown 檔案]]></title>
        <id>https://easonchang.com/posts/hygen-generate-new-post</id>
        <link href="https://easonchang.com/posts/hygen-generate-new-post"/>
        <updated>2022-04-11T20:44:00.000Z</updated>
        <summary type="html"><![CDATA[我在個人部落格導入了 Hygen 程式碼產生器，讓我能使用 hygen post new 指令，快速建立新文章草稿 .mdx 檔案，簡化繁瑣步驟。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Product Hunt Today - An Automatic Twitter Bot for Generating Short Video Introductions to Popular Product Hunt Projects]]></title>
        <id>https://easonchang.com/posts/product-hunt-today</id>
        <link href="https://easonchang.com/posts/product-hunt-today"/>
        <updated>2022-04-07T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[A fully automated Twitter bot. Crawls popular projects daily through the Product Hunt API, generates short videos with React.js Remotion, and publishes tweets via the Twitter API.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Product Hunt Today 專案 - 自動產生短影片介紹熱門 Product Hunt 專案的推特機器人]]></title>
        <id>https://easonchang.com/posts/product-hunt-today</id>
        <link href="https://easonchang.com/posts/product-hunt-today"/>
        <updated>2022-04-07T20:00:00.000Z</updated>
        <summary type="html"><![CDATA[全自動的推特機器人。每日透過 Product Hunt API 爬取熱門專案、React.js Remotion 產生短影片，Twitter API 發佈到貼文到推特上。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day12 用 TailwindCSS 切版部落格首頁，顯示 WordPress 文章列表]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day12-tailwind-layout</id>
        <link href="https://easonchang.com/posts/2021-ironman-day12-tailwind-layout"/>
        <updated>2022-03-20T15:40:00.000Z</updated>
        <summary type="html"><![CDATA[使用 Tailwind CSS 做點簡單切版，美化文章列表的樣式！]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day11 TailwindCSS 介紹，在 Next.js 專案安裝 TailwindCSS]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day11-tailwind-install</id>
        <link href="https://easonchang.com/posts/2021-ironman-day11-tailwind-install"/>
        <updated>2022-03-20T15:30:00.000Z</updated>
        <summary type="html"><![CDATA[安裝 Tailwind CSS 這套 CSS 框架在 Next.js，準備做點簡單切版，美化文章列表的樣式]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day10 在 Next.js 安裝 apollo-graphql，串接 WordPress GraphQL API（下）]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day10-apollo-graphql-post-list</id>
        <link href="https://easonchang.com/posts/2021-ironman-day10-apollo-graphql-post-list"/>
        <updated>2022-03-20T15:20:00.000Z</updated>
        <summary type="html"><![CDATA[在 Next.js 使用 ApolloClient 串接 WordPress GraphQL API，抓取文章列表資料，顯示在部落格首頁]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day9 在 Next.js 安裝 apollo-graphql，串接 WordPress GraphQL API（上）]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day9-apollo-graphql-install</id>
        <link href="https://easonchang.com/posts/2021-ironman-day9-apollo-graphql-install"/>
        <updated>2022-03-20T15:10:00.000Z</updated>
        <summary type="html"><![CDATA[在 Next.js 安裝 apollo-graphql package，將用來串接 WordPress 的 GraphQL API]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day8 GraphQL 介紹、在WordPress 上安裝 WPGraphQL plugin]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day8-wpgraphql</id>
        <link href="https://easonchang.com/posts/2021-ironman-day8-wpgraphql"/>
        <updated>2022-03-20T15:00:00.000Z</updated>
        <summary type="html"><![CDATA[在 WordPress 上安裝 WPGraphQL plugin，建立 GraphQL API，提供 Next.js 前端抓取文章資料]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day7 使用 Vercel 發布我們的 Next.js 網站，搭配 Github 實現自動部署]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day7-vercel-publish</id>
        <link href="https://easonchang.com/posts/2021-ironman-day7-vercel-publish"/>
        <updated>2022-03-20T14:50:00.000Z</updated>
        <summary type="html"><![CDATA[將 Next.js 專案發布到 Vercel，在線上看到你的成果，並且使用 Github 自動部署。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day6 建立 Next.js 專案 - 使用 create-next-app]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day6-create-next-app</id>
        <link href="https://easonchang.com/posts/2021-ironman-day6-create-next-app"/>
        <updated>2022-03-20T14:40:00.000Z</updated>
        <summary type="html"><![CDATA[使用 create-next-app 建立 Next.js 專案，目標是能在自己電腦上成功開啟 Next.js 網頁。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day5 Next.js 介紹 - Production-ready 的 React.js 框架]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day5-nextjs-intro</id>
        <link href="https://easonchang.com/posts/2021-ironman-day5-nextjs-intro"/>
        <updated>2022-03-20T14:30:00.000Z</updated>
        <summary type="html"><![CDATA[Next.js 是高級版的 React.js 全端開發框架，支援 Server Side Rendering 等各種渲染策略，大幅提升 DX 開發者體驗及 UX 網站訪客體驗，是非常值得學習的技術。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day4 WordPress 介紹，基礎設定與發文]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day4-wordpress-post</id>
        <link href="https://easonchang.com/posts/2021-ironman-day4-wordpress-post"/>
        <updated>2022-03-20T14:20:00.000Z</updated>
        <summary type="html"><![CDATA[設定個人部落格 WordPress 的基礎設定，完成文章發布]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day3 WordPress 架設 - 尋找最適合我們的 WordPress 架站平台 BlueHost]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day3-wordpress-hosting</id>
        <link href="https://easonchang.com/posts/2021-ironman-day3-wordpress-hosting"/>
        <updated>2022-03-20T14:10:00.000Z</updated>
        <summary type="html"><![CDATA[為我們的個人部落格尋找 WordPress CMS 託管平台，選擇 CP 值最高的 BlueHost 實作，手把手完成架設]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day2 個人部落格需求規劃 - Next.js Frontend + Headless WordPress]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day2-personal-blog-requirement</id>
        <link href="https://easonchang.com/posts/2021-ironman-day2-personal-blog-requirement"/>
        <updated>2022-03-20T14:00:00.000Z</updated>
        <summary type="html"><![CDATA[這系列文章我們會實作個人部落格，使用 Next.js 前端搭配 Headless WordPress as CMS 後端。改善 DX 開發者體驗、編輯者體驗、UX 讀者體驗、SEO 搜尋引擎優化]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Day1 用 Next.js 拆分 Wordpress 前端 - 系列簡介]]></title>
        <id>https://easonchang.com/posts/2021-ironman-day1-nextjs-wordpress-intro</id>
        <link href="https://easonchang.com/posts/2021-ironman-day1-nextjs-wordpress-intro"/>
        <updated>2021-10-17T14:54:00.000Z</updated>
        <summary type="html"><![CDATA[這系列文章我會詳實紀錄我用 Next.js 拆分 WordPress 前端的過程，比重大概 30% 會在 WordPress 調整，70% 會在 Next.js 新專案建立、畫面切版、功能實現。會以建立個人部落格為主題，從最初 WordPress 架設，到 Next.js 優化]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[設定 Gatsby 部落格文章的舊路徑重導向，使用 gatsby-redirect-from 插件]]></title>
        <id>https://easonchang.com/posts/gatsby-redirect-from</id>
        <link href="https://easonchang.com/posts/gatsby-redirect-from"/>
        <updated>2021-02-14T13:23:00.000Z</updated>
        <summary type="html"><![CDATA[新的 Gatsby 部落格有自己一套路由設定，與原先 Hexo 不同。於是我使用 gatsby-redirect-from plugin 將文章舊路徑重導向。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[部落格搬遷紀錄，用 Gatsby.js 取代 Hexo]]></title>
        <id>https://easonchang.com/posts/migrate-to-gatsby</id>
        <link href="https://easonchang.com/posts/migrate-to-gatsby"/>
        <updated>2021-02-13T05:57:00.000Z</updated>
        <summary type="html"><![CDATA[當完兵過年期間閒的蛋疼，想要嘗試新技術，於是決定用 Gatsby.js 來重架部落格啦！]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【Project】Sci-Fi Style Trophy]]></title>
        <id>https://easonchang.com/posts/scifi-trophy</id>
        <link href="https://easonchang.com/posts/scifi-trophy"/>
        <updated>2018-04-04T00:31:00.000Z</updated>
        <summary type="html"><![CDATA[A sci-fi style trophy I was commissioned to make in November 2017 by the officials of the Hsinchu Hackathon, intended to showcase a sense of technology and the creativity of makers.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【專案】科幻風造型獎盃]]></title>
        <id>https://easonchang.com/posts/scifi-trophy</id>
        <link href="https://easonchang.com/posts/scifi-trophy"/>
        <updated>2018-04-04T00:31:00.000Z</updated>
        <summary type="html"><![CDATA[科幻風造型獎盃，是我在2017年11月時，受新竹黑客松官方委託打造的，希望能呈現出科技感、及體現創客們的創造力。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[[Project] Winster: The Smart Wine Brewing Master]]></title>
        <id>https://easonchang.com/posts/winster</id>
        <link href="https://easonchang.com/posts/winster"/>
        <updated>2018-04-02T16:56:00.000Z</updated>
        <summary type="html"><![CDATA[The "Winster Smart Wine Brewing Master" is a platform designed to assist in wine brewing and condition monitoring, offering variety and origin analysis for professional brewers and small-scale wineries, as well as error detection during the brewing process.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【專案】智慧釀藏酒大師 Winster]]></title>
        <id>https://easonchang.com/posts/winster</id>
        <link href="https://easonchang.com/posts/winster"/>
        <updated>2018-04-02T16:56:00.000Z</updated>
        <summary type="html"><![CDATA[「智慧釀藏酒大師 Winster」，是一套幫助您釀酒和控管酒況的釀藏酒平台。主要能夠提供專業釀酒玩家、小型釀酒企業，酒的品種以及產地的分析和釀酒過程的錯誤偵測。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[[Project] Smart Gloves]]></title>
        <id>https://easonchang.com/posts/smart-gloves</id>
        <link href="https://easonchang.com/posts/smart-gloves"/>
        <updated>2018-04-01T22:27:00.000Z</updated>
        <summary type="html"><![CDATA[Smart Gloves are designed to replace keyboards and mice, becoming the next generation of human-computer interface devices. They allow users to control all aspects of life, such as smart home appliances, as game controllers, playing virtual instruments, etc.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【專案】智慧手套 Smart Gloves]]></title>
        <id>https://easonchang.com/posts/smart-gloves</id>
        <link href="https://easonchang.com/posts/smart-gloves"/>
        <updated>2018-04-01T22:27:00.000Z</updated>
        <summary type="html"><![CDATA[智慧手套旨在取代鍵盤及滑鼠，成為下個世代的人機介面裝置，希望使用者能透過智慧手套，操控生活中的所有事物，例如：控制智慧家電、作為遊戲控制器、演奏虛擬樂器等。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【Project】SigmaGO Smart Guide Dog]]></title>
        <id>https://easonchang.com/posts/sigmago</id>
        <link href="https://easonchang.com/posts/sigmago"/>
        <updated>2018-03-30T16:40:00.000Z</updated>
        <summary type="html"><![CDATA[The project aims to develop a low-cost smart guide dog to replace the traditional guide dogs that require extensive training, benefiting the lives of the visually impaired.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【專案】SigmaGO 智慧導盲犬]]></title>
        <id>https://easonchang.com/posts/sigmago</id>
        <link href="https://easonchang.com/posts/sigmago"/>
        <updated>2018-03-30T16:40:00.000Z</updated>
        <summary type="html"><![CDATA[專案目的是開發低成本的智慧導盲犬，取代需要龐大成本訓練的傳統導盲犬，造福盲人朋友的生活。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[Botkit初體驗，寫一隻Slack聊天機器人吧！]]></title>
        <id>https://easonchang.com/posts/slack-bot-with-botkit</id>
        <link href="https://easonchang.com/posts/slack-bot-with-botkit"/>
        <updated>2017-03-10T02:57:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[開發藍芽鋼琴APP！使用AppInventor結合Arduino、HC05、與蜂鳴器]]></title>
        <id>https://easonchang.com/posts/bluetooth-keyboard</id>
        <link href="https://easonchang.com/posts/bluetooth-keyboard"/>
        <updated>2017-03-05T23:00:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[《為什麼聰明人都用方格筆記本》，用筆記術變身強者吧]]></title>
        <id>https://easonchang.com/posts/grid-note</id>
        <link href="https://easonchang.com/posts/grid-note"/>
        <updated>2016-12-13T05:44:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【閱讀筆記】《魅力學》，培養魅力的第一本書]]></title>
        <id>https://easonchang.com/posts/myth-of-charisma</id>
        <link href="https://easonchang.com/posts/myth-of-charisma"/>
        <updated>2016-11-18T02:37:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[在MacOS使用putty key進行ssh連線]]></title>
        <id>https://easonchang.com/posts/using-ssh-with-putty-key-on-macos</id>
        <link href="https://easonchang.com/posts/using-ssh-with-putty-key-on-macos"/>
        <updated>2016-08-18T11:00:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[使用production mode啟動你的rails專案]]></title>
        <id>https://easonchang.com/posts/start-your-rails-project-with-production-mode</id>
        <link href="https://easonchang.com/posts/start-your-rails-project-with-production-mode"/>
        <updated>2016-08-16T02:34:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【DailyUI #003】Landing Page]]></title>
        <id>https://easonchang.com/posts/dailyui-003-landing-page</id>
        <link href="https://easonchang.com/posts/dailyui-003-landing-page"/>
        <updated>2016-05-10T19:43:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【DailyUI #002】Credit Card Checkout]]></title>
        <id>https://easonchang.com/posts/dailyui-002-credit-card-checkout</id>
        <link href="https://easonchang.com/posts/dailyui-002-credit-card-checkout"/>
        <updated>2016-05-09T21:03:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【DailyUI #001】Sign Up]]></title>
        <id>https://easonchang.com/posts/dailyui-001-sign-up</id>
        <link href="https://easonchang.com/posts/dailyui-001-sign-up"/>
        <updated>2016-05-09T07:28:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【DailyUI #000】成為最強前端設計師吧]]></title>
        <id>https://easonchang.com/posts/dailyui-000-become-awesome-front-end-designer</id>
        <link href="https://easonchang.com/posts/dailyui-000-become-awesome-front-end-designer"/>
        <updated>2016-05-08T14:50:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【閱讀筆記】從《他是玩真的！》汲取鋼鐵人Elon Musk創造未來的關鍵能力]]></title>
        <id>https://easonchang.com/posts/10-keys-of-elon-musk</id>
        <link href="https://easonchang.com/posts/10-keys-of-elon-musk"/>
        <updated>2016-04-16T18:30:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #011】LifeGame，生命遊戲模擬無限的可能性]]></title>
        <id>https://easonchang.com/posts/100sites-011-lifegame</id>
        <link href="https://easonchang.com/posts/100sites-011-lifegame"/>
        <updated>2016-03-28T03:54:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #010】Piano，用P5js的sound函式庫實作虛擬鋼琴]]></title>
        <id>https://easonchang.com/posts/100sites-010-piano</id>
        <link href="https://easonchang.com/posts/100sites-010-piano"/>
        <updated>2016-03-25T17:57:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #009】Flame，P5js酷炫小動畫]]></title>
        <id>https://easonchang.com/posts/100sites-009-flame</id>
        <link href="https://easonchang.com/posts/100sites-009-flame"/>
        <updated>2016-03-23T07:05:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #008】Showcase，單頁式網站設計展示我的作品集]]></title>
        <id>https://easonchang.com/posts/100sites-008-showcase</id>
        <link href="https://easonchang.com/posts/100sites-008-showcase"/>
        <updated>2016-03-20T18:42:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #007】Pong，使用P5.js建構的復古遊戲]]></title>
        <id>https://easonchang.com/posts/100sites-007-pong</id>
        <link href="https://easonchang.com/posts/100sites-007-pong"/>
        <updated>2016-03-19T17:55:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[如何在Mac OS X上安裝Verilog環境]]></title>
        <id>https://easonchang.com/posts/verilog-on-macosx</id>
        <link href="https://easonchang.com/posts/verilog-on-macosx"/>
        <updated>2016-03-18T17:40:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【閱讀筆記】少，但是更好——精準生活，拿回人生主控權]]></title>
        <id>https://easonchang.com/posts/less-but-better</id>
        <link href="https://easonchang.com/posts/less-but-better"/>
        <updated>2016-03-17T08:20:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #006】Snack]]></title>
        <id>https://easonchang.com/posts/100sites-006-snack</id>
        <link href="https://easonchang.com/posts/100sites-006-snack"/>
        <updated>2016-02-16T12:41:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #005】Drawer]]></title>
        <id>https://easonchang.com/posts/100sites-005-drawer</id>
        <link href="https://easonchang.com/posts/100sites-005-drawer"/>
        <updated>2016-02-15T17:49:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #004】Firework]]></title>
        <id>https://easonchang.com/posts/100sites-004-firework</id>
        <link href="https://easonchang.com/posts/100sites-004-firework"/>
        <updated>2016-02-14T16:57:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #003】TodoList]]></title>
        <id>https://easonchang.com/posts/100sites-003-todolist</id>
        <link href="https://easonchang.com/posts/100sites-003-todolist"/>
        <updated>2016-02-13T19:12:00.000Z</updated>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #002】Pomodoro]]></title>
        <id>https://easonchang.com/posts/100sites-002-pomodoro</id>
        <link href="https://easonchang.com/posts/100sites-002-pomodoro"/>
        <updated>2016-02-12T16:07:00.000Z</updated>
        <summary type="html"><![CDATA[一個簡單的番茄鐘工作法計時器。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #001】Timer]]></title>
        <id>https://easonchang.com/posts/100sites-001-timer</id>
        <link href="https://easonchang.com/posts/100sites-001-timer"/>
        <updated>2016-02-12T15:56:00.000Z</updated>
        <summary type="html"><![CDATA[一個很簡單的倒數計時器。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #000】My Journey to Becoming a Full Stack Developer]]></title>
        <id>https://easonchang.com/posts/100sites</id>
        <link href="https://easonchang.com/posts/100sites"/>
        <updated>2016-02-12T15:28:00.000Z</updated>
        <summary type="html"><![CDATA[To become a full stack developer, I've decided to start a large number of side-projects to learn by doing and efficiently improve the skills I need.]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[【100sites #000】我的全端工程師之路]]></title>
        <id>https://easonchang.com/posts/100sites</id>
        <link href="https://easonchang.com/posts/100sites"/>
        <updated>2016-02-12T15:28:00.000Z</updated>
        <summary type="html"><![CDATA[為了成為全端工程師，我決定開始做大量的side-project，從做中學，高效地提升我所需要的能力。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
    <entry>
        <title type="html"><![CDATA[「閱讀筆記」槓桿閱讀術——本田直之]]></title>
        <id>https://easonchang.com/posts/lever-reading</id>
        <link href="https://easonchang.com/posts/lever-reading"/>
        <updated>2015-10-27T18:07:00.000Z</updated>
        <summary type="html"><![CDATA[提升商業書「閱讀效益」，以「投資」的角度進行閱讀。]]></summary>
        <author>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </author>
        <contributor>
            <name>Eason Chang</name>
            <email>eason@easonchang.com</email>
            <uri>https://easonchang.com</uri>
        </contributor>
    </entry>
</feed>