<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Homepage on Time Friend</title><link>https://time-friend.com/en/tags/homepage/</link><description>Recent content in Homepage on Time Friend</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Wed, 29 Jul 2026 15:15:07 +0800</lastBuildDate><atom:link href="https://time-friend.com/en/tags/homepage/index.xml" rel="self" type="application/rss+xml"/><item><title>How I Built the Homepage Typing Effect</title><link>https://time-friend.com/en/archive/blog-architecture-typing-effect/</link><pubDate>Tue, 12 Aug 2025 11:50:00 +0000</pubDate><guid>https://time-friend.com/en/archive/blog-architecture-typing-effect/</guid><description>&lt;p&gt;When you open the homepage, you see text being typed out character by character. Not complicated, but many people ask how it&amp;rsquo;s done.&lt;/p&gt;
&lt;p&gt;This article explains the implementation.&lt;/p&gt;
&lt;h1 id="how-it-works"&gt;How It Works&lt;/h1&gt;
&lt;p&gt;When the homepage loads, it picks a random quote from a JSON file, and uses Typed.js to simulate typing.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Homepage loads
 ↓
main.js detects it&amp;#39;s the homepage
 ↓
Determine language (Chinese/English)
 ↓
Pick a random entry from /data/quotes.json
 ↓
Pass to Typed.js, start typing animation
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="data-source-quotesjson"&gt;Data Source: quotes.json&lt;/h1&gt;
&lt;p&gt;Quotes are stored in &lt;code&gt;static/data/quotes.json&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>