Skip to content

tortb/flora

Repository files navigation

慕托小记

演示站:https://www.tortb.com/ 以前的版本(gpu杀手):https://next.tor.hk/

一个透过液态玻璃美学与情感排版,探索设计、技术与文化交汇的电影级编辑档案。

Astro 5 · Tailwind CSS · Liquid Material · Atmospheric Engine


设计语言

档案不是传统博客。它是一个氛围优先的出版系统——每一个像素都服务于情感传达。

  • 排版即氛围 — 字体、间距、透明度共同构建情感场域
  • 留白即设计 — 沉默区域是活跃的叙事元素
  • 玻璃即隐喻 — 液态材质层叠创造空间深度感
  • 运动即呼吸 — 动画不是装饰,而是界面的生命力

内容系统

三种节点类型,构建非线性知识网络:

类型 路径 说明
长文 /blog/ MDX 长篇编辑文章
信号 /signals/ 短信号、微笔记、即时想法
片段 /fragments/ 引用、书签、笔记片段

额外页面:

页面 说明
/archive/ 全归档索引
/friends/ 外部节点与知识网络
/midnight/ 午夜氛围模式
/daylight/ 日光氛围模式
/support/ 支持档案
/about/ 关于

氛围引擎

三个互联系统共同构建动态氛围:

时间相位

根据一天中的时间自动切换环境光线:

相位 时间 特征
黎明 05:00–08:00 温暖微光,低对比度
白昼 08:00–18:00 标准照明,清晰锐利
黄昏 18:00–21:00 琥珀辉光,柔和过渡
午夜 21:00–05:00 深邃暗调,高对比度

情绪系统

6 种氛围状态,通过色相、饱和度、辉光强度控制整体视觉:

  • 记忆 — 温暖琥珀(hue: 35)
  • 虚空 — 冷调深蓝(hue: 220)
  • 信号 — 玫瑰粉红(hue: 340)
  • 梦境 — 紫调柔光(hue: 270)
  • 档案 — 经典玫瑰(hue: 345)
  • 传输 — 冷调青蓝(hue: 200)

滚动叙事

IntersectionObserver 驱动的逐场景 CSS 变量更新,实现 GPU 合成的视差效果。每个场景拥有独立的进度、可见性、透明度和位移变量。


Liquid Material System

visionOS 风格液态材质系统,5 个深度层级:

层级 透明度 用途
surface 0.04 默认卡片
floating 0.07 浮动面板、精选卡片
panel 0.10 密集内容区
navbar 0.03 导航栏
overlay 0.12 模态、下拉

每层包含:backdrop-filter、渐变边框、边缘折射、高光层、环境光响应。


Markdown 渲染引擎

作者只需书写标准 Markdown,系统自动转换为电影级视觉组件:

Markdown 语法 渲染效果
# 标题 移除(Hero 已渲染)
> 引用 大气光晕背景的引用块
![](url) 液态材质边框图片
``` 终端 Chrome 样式代码块
--- 信号中断分隔符

记忆引擎

跨访问行为追踪系统,通过 localStorage 持久化:

  • 访问次数、文章阅读记录、滚动深度、阅读时长
  • 空闲检测(10 秒超时)
  • 记忆深度评分(0–1),影响氛围强度
  • 返回访客个性化问候

配置系统

所有配置集中在 src/config/,TypeScript 类型安全:

文件 用途
site.ts 站点品牌、SEO、导航、社交媒体、备案
content.ts 所有 UI 中文文案
tokens.ts 颜色、字体、液态材质令牌
moods.ts 6 种情绪预设、4 个时间相位
motion.ts 动画时长、缓动曲线
friends.ts 外部节点数据

文件结构

src/
├── config/               # 配置模块
├── content/              # 内容集合
│   ├── blog/             # 长文 (MDX)
│   ├── signals/          # 信号 (MD)
│   └── fragments/        # 片段 (MD)
├── data/                 # 静态数据
│   └── supporters.json   # 赞助者
├── components/
│   ├── ambient/          # 氛围系统 (4)
│   ├── layout/           # 结构组件 (2)
│   ├── mdx/              # MDX 编辑组件 (6)
│   ├── sections/         # 页面段落 (6)
│   └── ui/               # 基础 UI (10)
├── lib/
│   ├── atmosphere.ts     # 动态氛围引擎
│   ├── memory-engine.ts  # 记忆引擎
│   ├── scroll-narrative.ts # 滚动叙事系统
│   └── rehype-editorial.ts # Markdown 电影级渲染
├── layouts/
│   └── BaseLayout.astro  # 全局布局
├── pages/                # 11 个页面
└── styles/
    └── global.css        # 全局样式 (~1450 行)

开发

pnpm install
pnpm dev
pnpm build
pnpm preview

部署

纯静态输出,兼容所有主流 Pages 平台。

Vercel

Deploy with Vercel

pnpm deploy:vercel

Cloudflare Pages

  1. 连接 GitHub 仓库
  2. Framework preset: Astro
  3. Build command: pnpm build
  4. Build output directory: dist
pnpm deploy:cf

EdgeOne Pages

  1. 连接 GitHub 仓库
  2. Framework: Astro
  3. Build command: pnpm build
  4. Output directory: dist
pnpm deploy:edgeone

ESA Pages

  1. 连接 GitHub 仓库
  2. Framework: Astro
  3. Build command: pnpm build
  4. Output directory: dist
pnpm deploy:esa

技术栈

技术 用途
Astro 5 静态站点生成框架
MDX Markdown + JSX 内容格式
Tailwind CSS 3 原子化 CSS 框架
Motion JavaScript 动画库
rehype-pretty-code 代码语法高亮
TypeScript 类型安全的配置系统

许可

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors