<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docs on 超光速</title><link>https://www.ftls.xyz/docs/</link><description>Recent content in Docs on 超光速</description><generator>Hugo</generator><language>zh-cn</language><managingEditor>0@ftls.xyz (恐咖兵糖)</managingEditor><webMaster>0@ftls.xyz (恐咖兵糖)</webMaster><copyright>© 2026 恐咖兵糖.</copyright><lastBuildDate>Thu, 26 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.ftls.xyz/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Alpine.js Essentials</title><link>https://www.ftls.xyz/docs/alpine.js/alpinejs-1-essentials/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/alpinejs-1-essentials/</guid><description>&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;Alpine.js 是一个轻量级的 JavaScript 框架，它提供了响应式的数据绑定和声明式的 DOM 操作能力。与 Vue 或 React 等完整的 SPA 框架不同，Alpine.js 专注于渐进式增强，允许开发者在不编写大量 JavaScript 代码的情况下，为现有的 HTML 添加交互功能。它的设计理念是「jQuery 风格的简洁 + Vue 式的响应式」，通过在 HTML 元素上添加以 &lt;code&gt;x-&lt;/code&gt; 为前缀的指令来实现各种功能。&lt;/p&gt;</description></item><item><title/><link>https://www.ftls.xyz/docs/alpine.js/readme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/readme/</guid><description>&lt;p&gt;编写 content/posts/Alpinejs Essentials.md。内容为 Alpinejs Essentials。&lt;br&gt;
需要包含&lt;br&gt;
Essentials&lt;br&gt;
Installation&lt;br&gt;
State&lt;br&gt;
Templating&lt;br&gt;
Events&lt;br&gt;
Lifecycle&lt;br&gt;
等小节。每个小节内容都要给出解释说明，适用范围，注意事项等。&lt;/p&gt;</description></item><item><title>1-1</title><link>https://www.ftls.xyz/docs/demo/step1/step1-1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/demo/step1/step1-1/</guid><description>&lt;h1 id="杂物堆"&gt;杂物堆&lt;/h1&gt;
&lt;h2 id="text-autospace"&gt;text-autospace&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/Reference/Properties/text-autospace"
 rel="external nofollow noopener noreferrer" target="_blank"&gt;https://developer.mozilla.org/zh-CN/docs/Web/CSS/Reference/Properties/text-autospace&lt;span style="user-select:none"&gt; ↗&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;



&lt;div class="astro-code astro-code-themes chroma " style="overflow-x: auto;"
 data-language="js"&gt;
 &lt;pre&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;detectTextAutospaceSimple&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;elem&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;div&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;elem&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textAutospace&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;normal&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;elem&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;style&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textAutospace&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;normal&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;detectTextAutospaceSimple&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground rounded-bl"&gt;js&lt;/span&gt;
 &lt;button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"
 data-code="function detectTextAutospaceSimple() {
 const elem = document.createElement(&amp;#39;div&amp;#39;);
 elem.style.textAutospace = &amp;#39;normal&amp;#39;;
 return elem.style.textAutospace === &amp;#39;normal&amp;#39;;
}
detectTextAutospaceSimple()" onclick="
 navigator.clipboard.writeText(this.dataset.code);
 this.classList.add('copied');
 setTimeout(() =&gt; this.classList.remove('copied'), 2000)
 "&gt;
 &lt;div class="ready"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#clipboard' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;div class="success hidden"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#file-check' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;/button&gt;
 
&lt;/div&gt;


&lt;div class="astro-code astro-code-themes chroma " style="overflow-x: auto;"
 data-language="css"&gt;
 &lt;pre&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;text-autospace&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground rounded-bl"&gt;css&lt;/span&gt;
 &lt;button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"
 data-code=":root {
 text-autospace: normal;
}" onclick="
 navigator.clipboard.writeText(this.dataset.code);
 this.classList.add('copied');
 setTimeout(() =&gt; this.classList.remove('copied'), 2000)
 "&gt;
 &lt;div class="ready"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#clipboard' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;div class="success hidden"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#file-check' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;/button&gt;
 
&lt;/div&gt;&lt;h2 id="2"&gt;2&lt;/h2&gt;
&lt;h3 id="21"&gt;2.1&lt;/h3&gt;
&lt;h3 id="211"&gt;2.1.1&lt;/h3&gt;
&lt;h4 id="2111"&gt;2.1.1.1&lt;/h4&gt;
&lt;h2 id="3"&gt;3&lt;/h2&gt;
&lt;h3 id="31"&gt;3.1&lt;/h3&gt;
&lt;h3 id="some"&gt;some&lt;/h3&gt;</description></item><item><title>2-1</title><link>https://www.ftls.xyz/docs/demo/step2/step2-1/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/demo/step2/step2-1/</guid><description>&lt;h1 id="字体测试"&gt;字体测试&lt;/h1&gt;
&lt;p&gt;Maple Mono 代码字体测试&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;官网 &lt;a href="https://font.subf.dev/zh-cn/"
 rel="external nofollow noopener noreferrer" target="_blank"&gt;https://font.subf.dev/zh-cn/&lt;span style="user-select:none"&gt; ↗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;测试 &lt;a href="https://font.subf.dev/zh-cn/playground/"
 rel="external nofollow noopener noreferrer" target="_blank"&gt;https://font.subf.dev/zh-cn/playground/&lt;span style="user-select:none"&gt; ↗&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;[TODO]&lt;/code&gt; &lt;code&gt;!==&lt;/code&gt; &lt;code&gt;&amp;lt;=&amp;gt;==&amp;lt;==&amp;gt;=&lt;/code&gt; &lt;code&gt;Some text&lt;/code&gt;&lt;/p&gt;



&lt;div class="astro-code astro-code-themes chroma " style="overflow-x: auto;"
 data-language="txt"&gt;
 &lt;pre&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;----------------中英文2:1---------------
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;|ab|cd|ef|gh|ij|kl|mn|op|qr|st|uv|wx|yz|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;|A0|1!|2@|3#|4$|5%|6^|7&amp;amp;|8*|9(|0)|=+|[]|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;|这|应|该|是|中|英|文|完|美|的|2:|1等距|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(前提是加载了 Maple Mono 中文字体)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Maple Mono, smooth your coding flow
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;abcdefghijklmnopqrstuvwxyz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;~!@#$%^&amp;amp;* {} [] () I1l O0o
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;!== \\ &amp;lt;= #{ -&amp;gt; ~@ |&amp;gt; 0x12
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;|=&amp;gt;==&amp;lt;==&amp;gt;=|======|===|===&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;---|--|--------|-&amp;lt;-&amp;gt;--&amp;lt;-|
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] todo)) fixme))
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Input your text here.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;span class="language ps-1 pe-3 text-sm bg-muted text-muted-foreground rounded-bl"&gt;txt&lt;/span&gt;
 &lt;button class="copy text-muted-foreground p-1 box-content border rounded-lg bg-card" aria-label="Copy code"
 data-code="----------------中英文2:1---------------
|ab|cd|ef|gh|ij|kl|mn|op|qr|st|uv|wx|yz|
|A0|1!|2@|3#|4$|5%|6^|7&amp;amp;|8*|9(|0)|=&amp;#43;|[]|
|这|应|该|是|中|英|文|完|美|的|2:|1等距|
(前提是加载了 Maple Mono 中文字体)

Maple Mono, smooth your coding flow

abcdefghijklmnopqrstuvwxyz

~!@#$%^&amp;amp;* {} [] () I1l O0o

!== \\ &amp;lt;= #{ -&amp;gt; ~@ |&amp;gt; 0x12

|=&amp;gt;==&amp;lt;==&amp;gt;=|======|===|===&amp;gt;

&amp;lt;---|--|--------|-&amp;lt;-&amp;gt;--&amp;lt;-|

[INFO] todo)) fixme))

Input your text here." onclick="
 navigator.clipboard.writeText(this.dataset.code);
 this.classList.add('copied');
 setTimeout(() =&gt; this.classList.remove('copied'), 2000)
 "&gt;
 &lt;div class="ready"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#clipboard' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;div class="success hidden"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#file-check' /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;/button&gt;
 
 &lt;button class="collapse-toggle bg-card text-muted-foreground rounded-lg m-2" aria-label="Toggle collapse code block"
 onclick="this.parentElement.classList.toggle('collapsed')"&gt;
 &lt;svg class="size-5"&gt;
 &lt;use href='https://www.ftls.xyz/icons/main.svg#arrow-down' /&gt;
 &lt;/svg&gt;
 &lt;span class="desc"&gt;&amp;nbsp;code&lt;/span&gt;&lt;/button&gt;
 &lt;div class="collapse-fade"&gt;&lt;/div&gt;
 
&lt;/div&gt;&lt;div x-data="{ resize() { 
 $refs.textarea.style.height = 'auto';
 $refs.textarea.style.height = $refs.textarea.scrollHeight + 'px';
} }" class="flex flex-col gap-2 border p-2 rounded"&gt;
 &lt;textarea
 name="message"
 x-ref="textarea"
 x-on:input="resize"
 x-init="resize()"
 rows="1"
 placeholder="Input your text here..."
 class="w-full rounded language bg-background"
 style="min-height: 100px;outline: none;"
 &gt;&lt;/textarea&gt;
&lt;/div&gt;</description></item><item><title>Alpine.js Advanced</title><link>https://www.ftls.xyz/docs/alpine.js/alpinejs-5-advanced/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/alpinejs-5-advanced/</guid><description>&lt;p&gt;本文档介绍 Alpine.js 的高级特性，包括 CSP 安全策略、响应式系统深度使用、扩展机制以及异步数据处理等内容。掌握这些特性可以帮助开发者构建更安全、更强大的 Alpine.js 应用。&lt;/p&gt;</description></item><item><title>Alpine.js Directives</title><link>https://www.ftls.xyz/docs/alpine.js/alpinejs-2-directives/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/alpinejs-2-directives/</guid><description>&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;Alpine.js 的核心通过一系列指令（Directives）来实现响应式 DOM 操作。这些属性以 &lt;code&gt;x-&lt;/code&gt; 为前缀，可以直接写在 HTML 元素上，无需编写任何 JavaScript 代码即可实现复杂的前端交互。&lt;/p&gt;</description></item><item><title>Alpine.js Globals</title><link>https://www.ftls.xyz/docs/alpine.js/alpinejs-4-globals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/alpinejs-4-globals/</guid><description>&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;Alpine.js 提供了一系列全局 API（Global Functions），这些函数可以直接通过 &lt;code&gt;Alpine&lt;/code&gt; 对象访问，用于定义可复用组件、管理全局状态、绑定行为等。这些全局 API 是构建大型应用程序的基础设施，能够帮助开发者组织代码结构、实现状态共享和创建可复用的 UI 组件。&lt;/p&gt;</description></item><item><title>Alpine.js Magics</title><link>https://www.ftls.xyz/docs/alpine.js/alpinejs-3-magics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><author>0@ftls.xyz (恐咖兵糖)</author><guid>https://www.ftls.xyz/docs/alpine.js/alpinejs-3-magics/</guid><description>&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;Alpine.js 提供了一系列以 &lt;code&gt;$&lt;/code&gt; 开头的魔法属性（Magics），这些属性可以在任何 JavaScript 表达式中使用，用于访问组件内部状态、操作 DOM、调度事件等。魔法属性是 Alpine.js 响应式系统的核心组成部分，能够极大地增强组件的交互能力。&lt;/p&gt;</description></item></channel></rss>