# FLO.W - Full Documentation
> Complete documentation content for LLMs.
> For a summary with links, see https://21notion.com/llms.txt
---
# Notion 模板设计初衷 - 了解 FLO.W 如何助你构建可靠的外部大脑 (https://21notion.com/docs/about)
一个典型的知识工作者每天要面对什么?微信、飞书、钉钉无时无刻不在响,领导随时安排会议、同事找你要上周数据、日报还得费劲编一堆加密通信;下班后想着自学 AI 搞副业,还要抽时间看书学习看剧游戏谈恋爱,每一件事都很重要,但你不知道到底应该先做什么,于是刷起手机暂时放下所有烦恼。
以上种种都是我自己的经历,长年累月就积攒成了这些年我测评各种笔记软件的原动力。一开始我为业余的兴趣而研究,但后来我把它当成了一个人生课题,能不能为每个人找到最适合自己的那个工具,然后解决效率提升、学习精进、流程搭建与知识管理方面的问题?
这套模板就是我做笔记软件测评 4 年后的阶段性成果,我们的目标必然不是为了学会如何使用某个工具,也不应该把管理时间作为首要目标,我认为真正重要的,是能够找到一套适合自己的方法和流程,这样不论你在用的是飞书、思源、Obsidian 或者苹果备忘录,还是这次上线的 FLO.W 一站式模板,,都能帮你建立一个可靠的外部大脑,让你能专注于真正重要的思考和创造。
让任何效率工具最快发挥价值的用法,就是用它来清空今天的记忆负担,也就是把你大脑此时此刻不能忘记、或者不想忘记的东西用这个工具最简单的方式先记录下来,然后去做你应该做的事情,因为你已经不需要再担心遗忘了。与提高效率背道而驰的事情,其实是花费过多的时间去研究和脑补效率工具究竟能给自己带来多大的收益。尽管这句话可能劝退一大半可能在冲动之下购买我的模板的用户,但这终究是我看待工具的真实视角,我不打算说谎,我的模板也不会存在虚有其表、徒增焦虑的功能设计。
---
# 购买指南 (https://21notion.com/docs/get-started)
## 一分钟了解 FLO.W
FLO.W 是一套由「二一的笔记」制作的 Notion 模板,面向想把任务、项目、笔记、领域和生活记录放进同一个工作区管理的个人用户。
它运行在 Notion 里,购买后把模板复制到自己的 Notion 工作区即可使用。FLO.W 本身不需要按月订阅,也不要求你购买 Notion 付费版。绝大多数核心功能都可以在 Notion 个人免费版里正常使用。
这页主要解决三个问题:
1. FLO.W 适合什么样的人。
2. 基础版、专业版、进阶版该怎么选。
3. 购买前还应该去哪里确认细节。
如果你想先理解模板结构,可以先看 [模板概览](/docs/basic-feature/template-overview)。如果你已经决定购买,可以直接前往 [定价页面](/pricing)。
## 什么人更适合 FLO.W
FLO.W 更适合下面几类用户:
* 刚开始使用 Notion,希望少走一些搭建系统的弯路。
* 已经用 Notion 记笔记和管任务,但页面越来越散,想重新整理成一套稳定结构。
* 想把工作、学习、创作、生活记录放在同一个系统里,不想每天在多个工具之间切换。
* 希望先拿到一套可用模板,再慢慢理解背后的设计思路。
如果你只需要一个很轻量的单用途模板,比如单独记录电影、订阅或习惯,FLO.W 可能会显得比较完整。它更适合想长期使用 Notion 管理个人工作流的人。
## 买之前先确认这几点
购买前,建议先确认下面几件事:
* **使用环境**:FLO.W 是 Notion 模板,需要有 Notion 账号。
* **上手方式**:购买后复制模板链接到自己的 Notion 工作区,再跟着教程配置。
* **学习成本**:模板已经搭好主要结构,但你仍然需要花一点时间熟悉自己的工作流。
* **退款规则**:数字模板发货后无法收回,退款政策请以 [购买前必读](/docs/faq/before-purchase#refund-policy) 为准。
* **支持渠道**:专业版和进阶版包含交流群支持,详细说明见 [升级与支持](/docs/faq/support)。
## 选择你的版本
**适合人群:** 想快速开始使用 FLO.W,主要需要完整模板和教程。
**包含内容:**
* 完整的 FLO.W v1.0 模板
* 图文和视频使用教程
* 基础功能模块
**选择建议:** 如果你更习惯自己摸索,基础版就够用。
[前往定价页面](/pricing)
**适合人群:** 希望有人答疑,也想和其他用户交流使用经验。
**包含内容:**
* 基础版全部权益
* 私密问答交流群
* 不定期实战案例分享
* iOS 快捷指令持续更新
**选择建议:** 如果你担心导入、配置、自定义时卡住,专业版更稳妥。
[前往定价页面](/pricing)
进阶版 最受欢迎
**适合人群:** 打算长期使用 FLO.W,也希望获得后续大版本升级。
**包含内容:**
* 专业版全部权益
* 大版本免费升级
* 核心用户专属交流群
* 优先级专属服务
**选择建议:** 如果你准备把 FLO.W 当作长期工作区,进阶版更适合。后续大版本更新说明请看 [升级与支持](/docs/faq/support#upgrade-benefits)。
[前往定价页面](/pricing)
## 还有疑问?
购买前可以继续阅读 [购买前必读](/docs/faq/before-purchase)。如果你已经购买并需要支持,可以查看 [升级与支持](/docs/faq/support),也可以通过下面的方式联系我:
* 📧 邮箱:[eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
* 🎮 Discord:[加入 Discord 频道,与更多 Notion 爱好者交流](https://discord.gg/nPf7YJasru)
* 🐦 推特:[@eryidebiji](https://x.com/eryidebiji)
* 📕 小红书:[二一的笔记](https://www.xiaohongshu.com/user/profile/5b613e2711be105522cb9b6f)
* 📺 B 站:[二一的笔记](https://space.bilibili.com/319417)
* 💬 微信公众号:二一的笔记(点击查看二维码)
---
# 功能全览 (https://21notion.com/docs)
import { Download, FileText, Star, BookOpen, Layout, PenTool, CheckSquare, Folder, Map, Globe, Film, Target, Package, Gamepad2, CreditCard, Brain, MousePointer, Zap, Settings, Calculator, Compass, HelpCircle, LifeBuoy, Wrench } from 'lucide-react';
## 这份文档怎么读
这份文档按照 FLO.W Notion 模板的使用路径来组织。你可以先完成导入,再理解首页、笔记、任务、项目和领域这些核心模块,最后根据需要查看生活记录、自动化、Notion AI 和公式等进阶内容。
如果你已经知道自己要解决什么问题,可以直接从下面的入口开始:
| 当前目标 | 建议先看 |
| ------- | ----------------------------------------------------------------------------------- |
| 准备购买 | [购买指南](/docs/get-started)、[购买前必读](/docs/faq/before-purchase) |
| 刚买完模板 | [Notion 下载](/docs/notion-download)、[模板导入指南](/docs/template-import-guide) |
| 想快速上手 | [模板概览](/docs/basic-feature/template-overview)、[首页导航](/docs/basic-feature/homepage) |
| 想开始日常使用 | [笔记系统](/docs/basic-feature/note-taking)、[任务管理](/docs/basic-feature/task-management) |
| 想整理复杂目标 | [项目管理](/docs/basic-feature/project-management)、[领域管理](/docs/basic-feature/area) |
| 遇到具体问题 | 常见问题区里的购买、上手、自定义、故障排除和升级支持 |
第一次接触 FLO.W 的话,建议按「基础入门 → 快速开始 → 常见问题」这个顺序读。需要深入理解设计取舍时,再看 [系统设计理念](/docs/faq/system-design)。
## 基础入门
开始使用 FLO.W 之前,请先了解这些基础内容:
} title="Notion 下载" href="/docs/notion-download">
下载安装 Notion 应用
} title="模板导入指南" href="/docs/template-import-guide">
学习如何导入和使用模板
## 快速开始
掌握 FLO.W 的核心功能,快速上手使用:
} title="模板概览" href="/docs/basic-feature/template-overview">
理解模板的核心设计思路
} title="首页导航" href="/docs/basic-feature/homepage">
学会使用模板的首页与导航模块
} title="笔记系统" href="/docs/basic-feature/note-taking">
使用笔记记录功能
} title="任务管理" href="/docs/basic-feature/task-management">
掌握任务管理系统
} title="项目管理" href="/docs/basic-feature/project-management">
管理你的项目
} title="领域管理" href="/docs/basic-feature/area">
组织不同的生活领域
} title="网页剪藏" href="/docs/basic-feature/web-clipper">
保存网页内容
***
## 生活记录
使用 FLO.W 记录和管理你的生活:
} title="电影追踪" href="/docs/lifestyle/movie-tracker">
记录观影体验和评价
} title="习惯追踪" href="/docs/lifestyle/habits-tracker">
培养良好的生活习惯
} title="资产清单" href="/docs/lifestyle/assets-inventory">
管理个人资产和物品
} title="游戏记录" href="/docs/lifestyle/gaming-tracker">
记录游戏进度和评价
} title="订阅管理" href="/docs/lifestyle/subscription-tracker">
管理各种订阅服务
## 进阶用法
探索 FLO.W 的高级功能:
} title="Notion AI" href="/docs/advance-feature/notion-ai">
使用 AI 功能提升效率
} title="快捷按钮" href="/docs/advance-feature/notion-button">
创建交互式按钮
} title="数据库自动化" href="/docs/advance-feature/automation">
配置自动化工作流
} title="公式应用" href="/docs/advance-feature/formula">
掌握 Notion 公式的使用
## 字段详解
了解各种数据库字段的配置和使用:
} title="笔记字段解析" href="/docs/properties/note">
配置笔记的各种属性
} title="任务字段解析" href="/docs/properties/task">
设置任务的属性字段
} title="项目字段解析" href="/docs/properties/project">
配置项目的属性字段
} title="剪藏字段解析" href="/docs/properties/explore">
了解更多属性配置
## 常见问题
遇到问题?查看这些常见问题解答:
} title="购买前必读" href="/docs/faq/before-purchase">
版本选择与购买相关问题
} title="快速上手" href="/docs/faq/getting-started">
入门学习与模板导入
} title="自定义与修改" href="/docs/faq/customization">
模板修改与个性化设置
} title="系统设计理念" href="/docs/faq/system-design">
理解模板的设计哲学
} title="故障排除" href="/docs/faq/troubleshooting">
常见问题与错误修复
} title="升级与支持" href="/docs/faq/support">
版本升级与技术支持
## 技术支持
如果您需要技术支持,可加入我们的[飞书交流群](/docs/faq/support#join-feishu-group)
---
# Notion 下载 (https://21notion.com/docs/notion-download)
## Notion 安装与下载
### Windows
**方法一、下载网盘安装包**
* [夸克网盘](https://pan.quark.cn/s/e72959da3f41)
**方法二、访问 Notion 官网自行下载**
* [官网点我](https://www.notion.com/zh-cn/desktop)
### 苹果用户
#### iPhone / iPad 用户
请在 App Store 搜索 Notion 并安装即可

#### Mac 用户
**方法一、下载网盘安装包**
* [夸克网盘](https://pan.quark.cn/s/7ddf4197e1f1)
**方法二、访问 Notion 官网自行下载**
* [官网点我](https://www.notion.com/zh-cn/desktop)
### 安卓 / 华为用户
目前 Notion 安卓端的安装情况有变化。下面这份历史安装方式我先保留着,方便你自行尝试;但需要提前说明,部分设备上可能已经失效,能否正常安装取决于机型、系统版本以及当前安装校验情况。
如果你使用的是安卓手机、华为手机或鸿蒙设备,当前更稳妥的方式仍然是:
* 通过 Google Play 搜索 `Notion` 后下载安装
* 如果你的设备暂时无法使用 Google Play,也可以先通过浏览器直接登录 Notion,不影响基础使用
* 首次登录建议优先选择“使用电子邮箱登录”;如果还没有账号,可以先按下方注册教程完成注册
#### 安卓用户
* 历史安装包(鸿蒙也适用):[点我](https://pan.quark.cn/s/ee23057d8a7f)
> 提示:该历史安装包仅保留给有需要的用户自行尝试,部分设备可能会因包体过期、系统限制或签名校验而无法安装。
> 登录建议:首次登录选择“使用电子邮箱登录”,如未注册请先完成注册。
#### 华为用户
* 历史安卓安装包(鸿蒙也适用):[点我](https://pan.quark.cn/s/ee23057d8a7f)
> 提示:该历史安装包仅保留给有需要的用户自行尝试,部分设备可能会因包体过期、系统限制或签名校验而无法安装。
> 登录建议:首次登录选择“使用电子邮箱登录”,如未注册请先完成注册。
#### 浏览器直接登录
Notion 不仅支持手机和电脑,也同样支持在浏览器直接登录使用。如果你其他方式都安装失败,不妨试试浏览器,无需安装,更快使用。
* 浏览器登录网址:[点我](https://www.notion.com/zh-cn)
## Notion 账号注册
1. 访问官方网站: [点我](https://www.notion.com/zh-cn)
2. 点击右上角的【登录】按钮

3. 按照下图说明,点击继续

4. 输入邮箱,点击继续
5. Notion 会发送一条验证码到你的邮箱,去邮箱查找这条验证码。如果找不到验证码,可能是在邮箱的【垃圾邮件】里面。
> 提醒:若未收到验证码,请检查垃圾邮件或稍后重试。

6. 回到注册页面,输入邮箱验证码,然后点击【继续】即可登录

7. 输入你的自定义名称,然后点击【继续】

8. 接下来 Notion 会让你选择要用到哪种场景中,根据你的需求选择即可。这里只能单选,选错了也没关系,对后续的使用没有任何影响。

9. 接下来 Notion 会根据你上个步骤中选择的场景,给你推荐对应的模板,你可以选择你需要的模板,也可以点击暂时跳过。选择完毕后,点击【继续】

10. 接下来 Notion 会提示你下载桌面客户端,如果你不需要客户端,点击【跳过】,一直【跳过】就可以在浏览器直接登录

11. 成功注册并登录 Notion

## Notion 访问加速
由于 Notion 的服务器部署在海外,中国用户在访问时可能会遇到以下问题:
* 完全无法打开 Notion 页面
* 页面加载极其缓慢,一直处于加载状态
为了解决这些访问问题,你可以尝试以下方案:
1. 使用 Notion 加速工具:访问 [NotionFaster](https://www.notionfaster.org/) 获取 DNS 优化服务(该工具通过优化域名解析路径来提升访问速度,不涉及代理或 VPN)
2. 切换网络:尝试使用手机移动网络热点连接,不同运营商的网络线路对海外服务的访问速度可能有差异
**免责声明**:以上建议仅为合法的网络优化手段,本站不提供、不推荐任何违反中国大陆法律法规的网络访问方式。用户应自行确保网络使用行为符合所在地区的法律法规。
## Notion 中文汉化
目前 Notion 已经自带官方中文汉化,如果你发现你的 Notion 界面是英文版的,请按照下图指示进行修改。
1. 点击【Settings】进入设置中心

2. 在【Preferences】- 【Language】这个位置找到【中文】选项

## Notion 入门指南
Notion 新手常在复杂概念和模板里迷路。这篇文章用 5 个 Notion 实用建议 帮你快速度过磨合期:先从简单的日常记录入手,暂时放下大规模迁移;用 Inbox 收纳零碎,搭建轻量化个人主页;把数据库当工具而非目标,先把 Notion 当作好用的编辑器。读完即可建立可持续的使用节奏,避免折腾与内耗,让 Notion 真正为你服务。
推荐阅读以下文章:
## 常见问题
* 验证码收不到怎么办?
* 先检查邮箱的【垃圾邮件】或广告分类;如仍未收到,稍后重试或更换常用邮箱(如 Gmail/QQ 邮箱)。
* 更多新手疑问请参考 [Notion 新手常见问题](/docs/faq/before-purchase)
---
# 快速上手 (https://21notion.com/docs/quick-start)
## 三个基础建议
不论你用的是 Notion 还是任何新的笔记软件,建议遵循以下三个建议:
1. 不要立刻转移你的旧笔记。因为你还不熟悉新软件的逻辑,盲目地导入大量旧笔记,只会让你的新系统在第一天就变得混乱不堪。
2. 不要立刻改变你的工作流,不要想着让新的工具在第一天起就完全发挥效用,正确的做法是渐进式改变。前三天里,只用 Notion 记录新的任务和笔记,第一周再开始再逐步扩大使用范围。
3. 不要立刻填充生活模块。模板虽然预设了 5 类生活兴趣记录模块,填充这类信息没有什么思考成本,但时机不对。如果你同时在工作和生活两条战线上作战,精力会被严重分散。
## 购买模板后如何开始
### 观看模板入门视频
我花了 1 个月的时间为这套模板制作了一期入门长视频,强烈建议所有模板用户在使用之前先大致浏览一下,能帮你更好地理解这套模板的设计思路和基本流程。
### 阅读设计文档
我同样为这套模板撰写了一篇长文,以图文形式详细介绍了模板的底层逻辑。
文章链接:[《重新审视 Notion,我的七年心得感悟》](/blog/notion-7-year-reflection)

### 了解 Notion 的基本设计
我在 3 年前只做了一期 Notion 的系统测评,虽然 3 年后 Notion 已经有过大量的更新,但这期视频依然能让你对 Notion 有一个基本的了解。
### 更多入门建议
如果你刚开始使用 Notion,建议阅读这篇文章,按步骤避坑提速:
[5 个建议更快度过 Notion 新手磨合期](/blog/notion-beginner-5-tips)
---
# 模板导入 (https://21notion.com/docs/template-import-guide)
本文档将指导您完成模板导入的完整流程,让您快速开始使用 FLO.W 模板。
## 模板导入
### 视频教程
我为您准备了详细的视频教程,帮助您快速掌握模板导入的方法:
### 图文教程
支付成功后,你将收到一条模板链接。在电脑端浏览器地址栏(推荐 Chrome 或者 Edge)输入模板链接,然后回车

然后你会看到你购买获得的模板权益内容,找到红色标注的模板链接,点击进入

然后你会进入一个新的页面,这个时候再点击右上角的模板复制按钮

点击「Add to Private」按钮(或添加到私人分区),即可将模板复制到你的 Notion 笔记库中

### 模板复制失败
如果您在复制 FLO.W 模板 时出现错误,不要着急,这不是模板出现问题了,而是 Notion 在复制超大型模板时,偶尔可能会出现的一些「意外情况」。
因为模板内容比较多,Notion 在复制时会逐步拉取数据,时间可能稍长一点。因此,如果第一次复制失败,你可以试试以下 3 个方法:
1. 等待 1 小时左右再重新尝试,不要短时间内复制多次
2. 网络环境会影响复制速度,可以尝试用 [Notion Faster](/docs/notion-download#notion-access-speed) 优化加载,通常会更顺畅
3. 新建一个工作空间,然后复制到新的空间内,具体方法 👉 [点我](https://leon21.notion.site/25b0e68aa046807785b6cf9e8f3aa91d)
### 无法复制模板
如果尝试了以上办法后,复制模板依然失败,可以通过以下途径反馈,我会尽快给你答复:
1. 发送邮件反馈:[eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
2. 填写表单反馈:
* [Notion 表单](https://www.notion.so/25b0e68aa04680df8500fcf63ec131df?pvs=21)
* [飞书表单](https://h9ttbgjzk5.feishu.cn/share/base/form/shrcnADpGNsH19tYTlnnVjt0vpb)
## 旧笔记迁移
FLO.W 系统的最佳使用方法就是从零开始记录,给自己一个全新的开始,旧的笔记数据就存放在原来的地方,如有必要再去回顾,等觉得真的足够重要,再迁移到 FLO.W 系统中。
如果您确定要迁移旧笔记,请参考以下方法。
FLO.W 系统是以数据库为绝对核心,所有的页面都统一存放在数据库中。但不同类型的页面(如任务、项目、笔记等)则会分属不同的数据库管理,你可以在主页导航的「数据库」模块找到集中存放数据库的页面入口。

也就是说,迁移页面的基本逻辑就是:
1. 确认你要迁移的 Notion 页面是什么类型
2. 将它移动到对应类型的数据库即可
### 迁移零星页面
假设你现在有若干个零星的**任务页面**,那么你可以全选这些页面,然后点击左上角的功能按钮,再用「移动到」这个功能,将这些页面移动到「**FLO.W 任务管理 DB**」这个数据库中就可以

### 迁移数据库中的页面
***
因为数据库的页面都带有字段属性,因此当你将**旧数据库**的页面迁移到**新数据库**,为了能够装载这些字段信息,新的数据库就会自动增加对应的字段。
例如下面的动图,「数据库 01」具备「日期」这个字段,而「数据库 02」没有,当我将页面移动到「数据库 02」,你会发现它自己增加了一个日期字段:

因此在迁移数据库页面之前,**有以下 3 个建议,非常重要,请一定看完:**
1. 将旧数据库的字段进行删减再移动页面,剔除不必要的字段信息,以免让 FLOW 的数据库的字段数量变得太过冗杂。
2. 如果有一些字段必须保留,并且 FLOW 数据库也存在**相同类型**的字段,那么你需要先将旧数据库的字段名称改成和 FLOW 一样,然后再进行移动,这样 FLOW 的数据库就不会新增额外的字段了。
例如两个数据库都存在「**`日期/Date`**」类型的字段,旧数据库叫做「任务时间」,而 FLOW 数据库叫做「任务排期」,那么你就需要先将「任务时间」改成「任务排期」,然后再进行移动。
3. 建议在对 FLOW 系统有一定的熟悉度之后再进行页面迁移工作,避免迁移之后反而找不到笔记的情况发生
### 批量迁移数据库页面
在批量迁移数据库页面之前,请先迁移零星页面,测试一下整个流程是否有问题,确认无误后再进行下一步的动作,否则如果损坏数据库页面结构,将很难恢复。
---
# 更新日志 (https://21notion.com/docs/updates)
import { TimelineContainer } from '@/components/docs/timeline-container'
import { TimelineUpdateCard } from '@/components/docs/timeline-update-card'
本页记录的是 FLO.W 模板自身的文档更新。想了解 Notion 官方的功能更新动态?请访问 [Notion 更新时间线](/notion-updates)。
---
# 案例索引 (https://21notion.com/docs/use-cases)
import { BookOpen, Briefcase, Heart, Users, Zap, Calculator, Settings, Wrench, PenTool, Target, Home, TrendingUp, Globe } from 'lucide-react';
import { ComingSoonCard } from '@/components/ComingSoonCard';
欢迎来到 FLO.W 实际应用案例页面!这里展示了如何在不同场景下使用 FLO.W 来提升效率和管理能力。
> 💡 **重要说明**:以下所有应用场景都可以通过 FLO.W 模板完美实现!模板功能非常全面,足以支撑这些复杂的使用需求。目前我们正在更新详细的实践教程,帮助您快速掌握具体的操作方法。
通常情况下,使用 3 天就足以熟练掌握模板的所有核心功能。
### 学习与进修
} title="课程学习" href="/blog/course-learning">
从听到到做到,知识不遗忘
} title="读书笔记" href="/blog/book-reading">
从摘录到书评,内化为己用
} title="考试备考" href="/blog/exam-preparation">
规划复习节奏,追踪知识盲点
} title="技能学习" href="/blog/skill-mastery">
搭建技能树,量化你的成长
### 内容与创作
} title="内容创作" href="/blog/content-create">
从灵感到成稿,流程不卡壳
} title="自媒体运营" href="/blog/influencer-career">
从零开始经营自媒体,把它当成事业来规划
} title="上线一个专栏" href="/blog/paid-newsletter">
策划付费内容,构建个人品牌
### 职业与发展
} title="求职管理" href="/blog/job-hunting">
追踪面试进展,拿下梦中情"司"
} title="年度复盘" href="/blog/annual-review">
量化工作业绩,述职更有底气
} title="搭建一人公司" href="/blog/solo-business">
把自己产品化,用杠杆放大你的独特价值
} title="独立开发" href="/blog/indie-dev">
一个人做产品,用系统对抗混乱
### 项目与统筹
} title="装修一个新家" href="/blog/home-renovation">
从预算到施工,全程心中有数
} title="筹办一场活动" href="/blog/exhibition-plan">
统筹繁杂事项,细节不再遗漏
} title="开发一个产品" className="opacity-50">
即将推出:敏捷迭代开发,记录用户反馈
} title="带领一个团队" className="opacity-50">
即将推出:分配任务目标,团队高效协同
} title="运营一个社群" className="opacity-50">
即将推出:建立SOP,沉淀运营经验
### 生活与规划
} title="策划一场旅行" href="/blog/travel-planning">
从预算到游记,全程掌控无忧
} title="制定年度OKR" href="/blog/annual-okr">
拆解人生目标,每步都算数
} title="执行健身计划" href="/blog/fitness-goal">
项目+习惯协作,让目标与行动紧密关联
} title="个人健康管理" href="/blog/disease-tracking">
追踪日常数据,管理疾病与慢性病
} title="养成一个爱好" className="opacity-50">
即将推出:追踪兴趣点滴,为热爱立此存照
---
# 自动化教程 (https://21notion.com/docs/advance-feature/automation)
## 说明
本页面中列举的所有数据库自动化,都需要付费订阅 Notion 才能实现。

## 任务相关自动化
**效果说明**
在【项目】中的任务数据库中,创建【任务】时,让这个【任务】自动关联到【项目】所属的【二级领域】。
**实现方式**
1. 找到任务数据库的自动化设置

2. 创建一个自动化动作,具体动作如图所示
**设置触发器**

**添加操作 - 定义变量**
如图所示,将变量命名为「项目所属二级领域」

这里用到的 [`map()`](/notion-formulas/functions/map) 函数,是为了从「关联项目」中取出对应的「二级领域」。
**添加操作 - 编辑属性**

然后找到【二级领域】这个字段,点击它,然后在弹出的菜单中,选择【自定义函数】

然后在【自定义函数】中,找到并点击刚才定义的变量「项目所属二级领域」,然后点击关闭

完整流程如图所示,确认无误后,点击「启用」按钮即可

**常见问题**
如果你按照上述步骤设置了自动化,但新建任务后仍然没有自动关联二级领域,请检查以下几点:
1. **任务必须在项目页面的「关联任务区域」中创建**
* ✅ 正确做法:先打开项目页面,在项目页面内的「关联任务」区域点击「+」创建任务
* ❌ 错误做法:先在任务数据库中创建任务,再手动关联到项目
2. **项目必须已经关联了二级领域**
* 如果项目本身没有关联二级领域,那么变量「项目所属二级领域」就是空的,自动化即使触发了也无法填充数据
3. **只对新创建的任务生效**
* 自动化只会在创建新任务时触发,已有的旧任务不会被自动关联
**适合考虑的场景**
当你在某个任务下创建笔记时,可能会希望这条笔记自动关联当前任务,并顺着任务的关联项目、项目所属二级领域、一级领域一起补全。
**我的建议**
不建议一开始就做全局自动关联。笔记和任务虽然经常放在一起,但笔记最终归属的项目和领域,不一定总是等于任务所在的那条链路。全部自动填上,后面可能会出现一批看起来有结构、实际只是顺手带出来的弱关联。
比较稳的做法是:
1. 如果这条笔记是在任务中诞生的,先关联到任务本身,并给笔记补上类型
2. 如果项目或领域后面经常需要回溯,再考虑自动继承项目和二级领域
3. 如果只是偶尔需要,不建议折腾全局自动化,手动关联会更干净
4. 如果确定每次都需要这条链路,可以参考上面的自动化方法,但数据库自动化需要 Notion 付费方案
一级领域通常可以通过二级领域继续回看,不一定要让每条笔记都直接关联一级领域。
---
# 公式与报表 (https://21notion.com/docs/advance-feature/formula)
更多内容即将更新...
## 常见问题
### 函数统计报表错误
在 FLOW 系统中,我内置了非常多的自动化统计函数

但是有时候你可能会发现新增了一条任务(或者笔记)之后,对应的统计数据却没有变化。如果你出现这种情况,有可能是因为以下几个原因:
1. 在保存 FLO.W 这套模板的时候,Notion 没有成功地将任务与统计函数创建关联
2. 通过某种方式创建的页面,没有关联到对应的函数统计页面上
为了解决这个问题,我们有三种方法。
**方法 1、手动关联函数统计页面**
例如,下面是一个新建的【笔记】页面,你可以检查一下它的【关联报告】字段是否为空白,如果是的话,请点击这个字段,然后手动关联到【FLO.W - 笔记报告】这个页面上。

**方法 2、手动点击关联按钮**
你可以在每一个报表页面中找到如下图所示的按钮,点击之后就可以将「所有的任务」关联到「统计函数」上,这样一来就可以得到正确的统计结果。

**方法 3、编辑模板,创建默认关联**
执行完上述视频里的操作,之后你创建的所有任务都会自动关联到任务统计函数上。如果你发现其他数据库的统计函数也不正确, 按照相同的方式编辑一数据库的预设模板即可。
---
# iPhone 快捷指令 (https://21notion.com/docs/advance-feature/iPhone-Shortcut)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
{/*
[IN]: Notion API, iOS Shortcuts App
[OUT]: iOS Shortcuts configuration guide
[POS]: Advance feature documentation for mobile productivity
Protocol: 更新本文件时,同步更新此头注释及所属文件夹的 .folder.md
*/}
## 说明
1. 本页面中列举的所有快捷指令暂时仅支持 iPhone
2. 目前快捷指令仅对【专业版】和【进阶版】用户开放
> **2026 更新**:Notion 已在移动端上线了[官方语音输入功能](/notion-updates/mobile-voice-input),可以直接在 App 里语音转文字。本页的快捷指令方案依然有独特优势——支持 AI 整理和自定义写入目标数据库。
## 语音速记快捷指令
### 效果演示
首先在 iPhone 上激活快捷指令,然后直接用语音说出想要记录的内容

这个快捷指令会自动进行以下操作:
1. 将语音转录为文本
2. 将文本用 DeepSeek API 进行 AI 处理,根据语义添加恰当的标点符号
3. 将步骤 2 的文本存储到 Notion 的数据库中
语音笔记效果如下

接下来稍微进阶一点。
既然我们已经将语音以文本的形式存储到了 Notion 的数据库中,那么基于数据库的强大功能,我们就可以用数据库按钮,将当前语音笔记一键转化为正式的笔记,或者将其快速转化为一个任务。

我可以创建一个「转为任务」的按钮,它的操作逻辑如下图所示:

点击这个按钮,它会执行一下流程:
1. 在你的任务数据库中创建一个新的页面
2. 将快捷指令转录的文本存储到任务的备注字段
3. 打开这个新建的任务页面

讲完了效果和逻辑,接下来教你如何部署自己的快捷指令。
### 配置教程
### 一、获取 Notion 数据库 ID
1. 找到 FLOW 模板的 [速记数据库](/docs/basic-feature/note-taking#quick-note-logic)
2. 确认当前字段的名称是不是【速记内容】,如果是【笔记内容】的话,请改成【速记内容】
3. 进入源数据库中,如下图所示

1. 使用快捷键 Ctrl+L(或者 CMD+L) 获取数据库链接。
2. 这个链接的格式一般是这样的:`https://www.notion.so/yourworkspace/xxxxxxxxxxxxxxxxxxxxx?v=...`
3. 获取**问号之前**的这串代码 xxxxxxxxxxxxxxxxxxxxxx ,它就是这个数据库的 ID
4. 保存好这个数据库 ID,等下有用
### 二、创建 Notion 账号密钥
1. 访问 [Notion Integration](https://www.notion.so/profile/integrations),登录自己的 Notion 账号
2. 创建一个新的集成,可以自定义名称,关联到你的 Notion 空间,然后点击右下角保存按钮

1. 点击「配置集成设置」,获取「内部集成密钥」
点击显示按钮,就可以复制这串密钥。记得保存好这个密钥,等下有用。
密钥格式类似:`ntn_b386784XXXXXXXXXXXXXXXXXX`

2. 将这个集成关联到速记数据库上
如下图所示,重新进入到速记数据库的**源数据库**

然后按照下图所示,将你创建的【集成】关联到这个源数据库上

### 三、申请硅基流动 API
具体教程见这篇文章:《[DeepSeek R1 薅羊毛教程](https://eryinote.com/post/1749)》。
在这一步中,你应该获得以下两个东西:
1. 硅基流动的 API,格式类似:`sk-ddguwXXXXXXXXX`
2. 你想要设置的模型名称,格式类似:`deepseek-ai/DeepSeek-V3` 这一步的模型名称可以自由挑选,不一定非得是 DeepSeek, 但**不要用 R1 之类的推理模型**
> **⚠️ 重要提醒**:申请到 API Key 后,请务必确认你的硅基流动账户里**有余额**(哪怕只充 1 块钱也行)。免费赠送的额度可能不支持快捷指令所需的 API 调用,很多用户遇到的「运行失败」都是因为这个原因。
保存好这两个东西,后面的步骤需要用到。
### 四、获取并配置你的快捷指令
1. 保存我已经创建好的 iPhone 快捷指令模板,目前仅面向【专业版】&【进阶版】用户开放,请在【飞书群公告】或者【Discord 相关频道】获取快捷指令链接
2. 按照快捷指令里的提示,修改下图四个地方的参数,请替换「`在这里输入 XXXXX`」这串文字,不要修改其他任何地方的内容

图中需要配置的 4 个参数在前面的步骤中都已经准备好了,你只需要依次填写即可。请注意,你需要先删掉我的备注信息,然后再在方框内填写你的个人信息。
如果填写无误,接下来你就可以激活这个快捷指令,然后用语音的方式来记录笔记了。
## 常见问题
**建议记录在 1 分钟以内。**
由于转录过程不仅涉及 Notion,还涉及与 AI 大模型的交互,记录时间过长可能会导致转录失败或出现意外。
**注意:**
* 语音速记仅适合用来快速记录简短的、零散的想法或灵感。
* **不适合**做会议记录等需要长时间记录的场景
* 如果你需要会议记录功能,建议订阅 Notion Business 方案,它自带 AI Meeting 语音会议记录功能,体验更佳。
请按照以下步骤逐一排查:
1. **检查基本信息**:请严格按照流程,确保每一步填写的 ID、Token、模型名称都完全正确。
2. **检查数据库关联**:检查一下是否有将创建的 Integration(集成)关联到对应的数据库。
3. **检查 API 配置与余额**:
* 确保使用的硅基流动模型名称填写正确。
* **不要使用 R1** 之类的推理模型,可以先用这个模型试试:Pro/deepseek-ai/DeepSeek-V3
* 确保您的硅基流动账户有一定的余额(**不是免费赠送的额度**,因为赠送额度可能不支持某些模型或 API 权限)。
**最常见的报错**:如果运行快捷指令后提示 `https://api.siliconflow.cn/v1/chat/completions` 请求失败,或者结果显示「失败」,**90% 都是因为硅基流动账户里没有余额**。请登录硅基流动后台充值后再试。
---
# Notion AI (https://21notion.com/docs/advance-feature/notion-ai)
import { Card } from 'fumadocs-ui/components/card';
FLO.W 模板非常适配 Notion Agent 的强大功能,通过结构化的数据库设计和清晰的信息架构,让 AI 能够精准理解和处理您的工作内容。
## NotionAgent 完美适配
🤖}>
深入了解 Notion Agent 的设计思路、功能边界与实践场景
### 为什么 FLO.W 极其适配 Notion Agent?
**1. 结构化的数据库设计**
* 任务、项目、笔记、剪藏各有独立的存储位置
* 清晰的字段设计和语义化标签系统
* Agent 能够准确理解每个字段的用途和含义
**2. 信息边界清晰**
* Agent 知道从哪里读取信息(输入边界)
* Agent 知道将结果保存到哪里(输出边界)
* 避免了 AI 在工作区中漫无目的地搜索
**3. 场景化的工作流支持**
* 每个数据库对应特定的工作场景
* 支持「关键词触发 + 子文档执行」的模式
* 能够实现复杂的自动化工作流程
### 实际应用场景
借助 FLO.W 模板的结构化设计,NotionAgent 可以轻松实现:
* **自动生成周报**:从任务数据库读取本周完成情况
* **智能任务管理**:批量处理任务优先级和状态
* **内容自动分类**:将新笔记自动归类到合适的标签
* **项目进度跟踪**:自动分析项目数据库的进展状态
更多实操用法请参考我们的[ Notion Agent 全面解读](/blog/notion-agent-complete-tutorial) 。
Notion 的 AI 功能更新非常频繁,包括新模型接入、MCP 协议、自定义技能、计划模式和代码执行。查看 [Notion AI 相关更新](/notion-updates?tag=AI) 了解最新动态,也可以先看 [Notion AI 运行代码并生成文件](/notion-updates/ai-code-file-generation),了解 AI 直接输出 PPT、PDF、Word 和 HTML 文件的新能力。
---
# Notion Button (https://21notion.com/docs/advance-feature/notion-button)
内容更新中...
---
# 领域组织 (https://21notion.com/docs/basic-feature/area)
import { Target } from 'lucide-react';
import { File, Folder, Files } from 'fumadocs-ui/components/files';
本文档将帮助您理解 FLO.W 模板中的领域概念,学会如何划分和管理不同的工作与生活领域。在前面的教学中,不论是任务、笔记还是项目,都是一个相对直观、具体、且常见的概念,但接下来关于领域的概念则不是那么常见和容易理解,因此可能需要你多一些耐心和思考。
注:领域的概念来自 Tiago Forte 的 PARA 方法论。
## 领域的基本结构
} title="领域字段解析" href="/docs/properties/area#primary-area-properties">
理解领域目标、描述、核心方向等字段含义
首先我们可以先将领域简单粗暴地理解成是一个更大的文件夹,它是一系列项目的合集。也就是说在 FLOW 系统中它们的层级结构是这样的:
但是在长久的实践中我发现,领域本身必须继续细分,才能更好地与项目进行关联,具体原因我会在其他教程中说明。现在请先记住,在 FLOW 系统中,它们的层级结构是这样的:
以下是一些可供参考的案例:
| **一级领域** | **二级领域** | **项目** | **任务** |
| -------- | -------- | ----------------- | ----------------- |
| 频道运营 | B 站 | 制作 Notion 测评视频 | 写稿 |
| | | | 录音 |
| | | | 拍摄 |
| | | | 剪辑 |
| | | | 上传 |
| | 小红书 | 制作 Notion 图文精华帖 | 选题策划 |
| | | | 编写图文内容 |
| | | | 制作封面图片 |
| | | | 发布与互动 |
| | | 制作生活场景相关笔记帖 | 收集生活场景素材 |
| | | | 制作模板截图 |
| | | | 撰写文案脚本 |
| | | | 发布及跟踪数据 |
| 编程技能 | 后端开发 | 为电商网站开发支付系统API | 设计订单数据库模型 |
| | | | 实现支付宝接口集成 |
| | | | 编写API文档 |
| | | | 完成单元测试 |
| | 数据分析 | 分析2025年Q2季度用户购买行为 | 清洗 6 月销售数据 |
| | | | 生成用户画像报告 |
| | | | 制作交互式销售图表 |
| | | | 提交决策建议书 |
| 健康管理 | 体能训练 | 完成2025年半程马拉松训练计划 | 周三 5 公里跑步训练 |
| | | | 购买合适的跑鞋和装备 |
| | | | 制定营养补给计划 |
| | | | 参加 7 月 15 日城市半马比赛 |
| | 饮食调整 | 实施低碳水高蛋白饮食方案 | 制定每周膳食计划表 |
| | | | 准备健康零食替代品清单 |
| | | | 学习 3 种高蛋白低热量食谱 |
| | | | 记录每日饮食日志并分析 |
| 家庭生活 | 亲子关系 | 培养孩子的阅读习惯 | 睡前阅读 20 分钟 |
| | | | 带孩子去一次图书馆 |
| | | | 为孩子布置适合年龄的书架 |
| | | | 参加 7 月亲子阅读俱乐部活动 |
| | 家庭环境 | 打造高效家庭工作区域 | 整理书房空间并添置必要家具 |
| | | | 设置舒适的照明系统 |
| | | | 组织文件存储系统 |
| | | | 购买人体工学椅和桌子 |
## 领域定义
### 如何定义一级领域
在建立自己的一级领域时,我通常会建议从「少」开始,聚焦在 3~5 个你最看重的板块上,不用一开始就把所有事情都塞进系统,反而容易让人迷失。观察一下你最近在花时间做什么,那些你每天或每周都在持续投入精力的事务,很可能就是你当前最真实、最活跃的一级领域。
当然我们也不只是看现在,还得预判未来 1~3 年你希望在哪些方向上成长、维持或改善,因为一级领域的本质,是为长期服务的系统性维护区。命名上建议使用名词或动名词,比如「健康管理」或「内容创作」,而不是「减肥成功」或「写完一本书」这样一次性的目标,保持一个开放、持续的状态非常重要。
同时也要确认这个领域里是否真的存在需要你长期维护的责任和行动——如果只是个模糊的想法,或者还没有明确的投入计划,那它可能只是个未来项目,而不是当前的领域。至于怎么分类,没有固定答案,有人喜欢工作和生活分开设定,也有人倾向将它们整合成能力或身份模块,关键是你用起来觉得清晰、自然。
你也可以借鉴常见的六大分类,比如健康、财富、事业、人际、学习、休闲,但别忘了结合自己的实际,把它们转化成贴近生活的表达。一级领域不是一锤定音的,它应该随着你的生活节奏灵活变动,不断被调整、删减或重命名。别太在意起步时有没有定义得完美,先用起来,再通过行动和复盘让它逐渐成型。
### 如何定义二级领域
当你已经明确了一级领域,下一步就是为它们拆分出合理的二级领域。这一步的核心,是把大块责任「切小」,但不是随便切,而是以**你在该领域中扮演的不同角色、采取的不同策略或面向的具体事务**为线索,去划分出几个相对独立的小区块。
假如你的一级领域是「频道运营」,你可能会根据不同平台拆分成「B 站」「小红书」「公众号」等二级领域;而在「健康管理」下,你可以设为「体能训练」和「饮食调整」;在「编程技能」中,可能细分为「后端开发」和「数据分析」。
在我的实践中,其实二级领域才是你日常工作和生活的主战场,因为它将与项目直接关联。
### 如何创建领域
## 创建领域里程碑
### 功能位置
如下图所示

### 设计逻辑
**这个功能解决什么问题?**
在长期深耕某个领域的过程中,我们容易陷入「只低头赶路,不抬头看路」的状态——每天完成任务、推进项目,却很少停下来庆祝自己的阶段性成就。久而久之,会产生一种「好像一直在努力,但不知道到底走了多远」的迷茫感。
「重要节点」的设计初衷,是为每个二级领域设立一座**成长纪念碑**。它记录的不是日常的琐碎任务,而是那些值得被铭记的**里程碑事件**——比如「B站粉丝突破10000」、「完成第一本书的出版」、「拿到某项专业认证」。
**与其他功能的关系**
* 与二级领域的关系:重要节点通过「关联二级领域」属性,精准锚定到具体的细分方向。这让每个里程碑都有明确的归属,方便日后按领域回顾成长轨迹。
* 与项目的区别:项目是「正在进行的战役」,有明确的开始和结束;而重要节点是「已达成的勋章」,是对某个成就的定格记录。一个「重要节点」的达成,可能需要依赖多个项目的成功实现。

### 常见误解澄清
* ❌ 误解:重要节点应该记录所有完成的事情
* ✅ 正确:只记录那些**真正值得庆祝的阶段性成就**,保持稀缺性才能保持仪式感
### 适用场景
* 在某个领域取得了可量化的成就(粉丝数、收入、作品数)
* 完成了一个重要的「第一次」(首次公开演讲、首个付费客户)
* 获得了外部认可(证书、奖项、媒体报道)
* 达成了自己设定的阶段性目标
### 使用建议
* 建议每月至少回顾一次重要节点列表,这是一种有效的自我激励方式
* 在创建里程碑时,顺手在页面内写下「我是怎么做到的」,这些复盘内容未来价值很高
* 可以设置日历视图,以时间轴的方式回顾自己的成长轨迹
---
# 首页导航 (https://21notion.com/docs/basic-feature/homepage)
## 首页布局
通过视频快速了解 FLO.W 模板首页的布局和功能:
## 顶部导航条
### 导航条原理
了解 Notion 模板中导航条的工作原理:
### 移动导航条位置
学习如何调整和移动导航条的位置:
## 导航栏的细分功能模块
在实际使用过程中,你可能会觉得某些模块的放置位置不够满意,或者不够恰当,接下来的教程就教你如何迁移功能模块的位置。
### 明确导航栏结构
首先在 FLO.W 系统中,所有的功能模块都是放置在顶部导航栏的,例如下图红框圈起来的就是具体的项目细分功能
展开「项目导航栏」左侧的小三角,你会发现在小三角里面还有一些相同的页面,如下图所示
其实这里才是细分功能模块「真实页面」(即页面的本体)的存放位置,而导航栏上的页面只是一种「页面引用」
### 更改功能模块位置
现在如果我想将「旅行计划」这个导航条放到「生活记录模块」的话,该怎么做呢?有两种思路。
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
直接在「生活记录」模块的导航栏位置,用符号 @ 来引用「旅行计划」这个页面
但是这样一来,引用的页面 icon 上就会带有一个小箭头。因此如果你不希望有这个小箭头的话,请使用下面的「方法 2」。
步骤 01:移动页面到隐藏位置
先将「旅行计划」的「真实页面」移动到「生活记录」导航栏的隐藏位置
**如何移动【旅行计划】这个页面?**
1. 进入【旅行计划】这个页面
2. 点击右上角的三个小点
3. 使用【移动到】这个功能
4. 将【旅行计划】这个页面移动到【生活记录】这个页面中
5. 移动后你会发现【旅行计划】被放在了【生活记录】页面的最底部
6. 将【旅行计划】拖动到顶部导航栏的【隐藏位置】
步骤 02:引用真实页面
再在「生活记录」导航栏位置,用符号 @ 引用「旅行计划」的真实页面,这样就不会出现小箭头了
---
# 笔记管理 (https://21notion.com/docs/basic-feature/note-taking)
import { FileText, Link, GitBranch, Users, FolderGit, Eye, Clock, Star, Shuffle } from 'lucide-react';
本文档将教您如何在 FLO.W 模板中创建、编辑和组织笔记,构建您的知识管理系统。
## 添加一条笔记
## 笔记字段说明
了解笔记系统中各种字段的配置和使用:
} title="笔记类型" href="/docs/properties/note#note-types">
六种预设笔记类型:Exp、Log、Ask、How、Idea、Ref
} title="出链与入链" href="/docs/properties/note#outgoing-incoming-links">
构建笔记间的方向感和关联关系
} title="父级与子级" href="/docs/properties/note#parent-child">
创建笔记的层级结构和组织关系
} title="同级笔记" href="/docs/properties/note#sibling-notes">
查看相同层级的相关笔记
} title="专题笔记" href="/docs/properties/note#topic-notes">
管理有子笔记的专题内容
} title="关注度" href="/docs/properties/note#attention-level">
标记需要关注的笔记内容
} title="完成度" href="/docs/properties/note#completion-status">
跟踪笔记的生命周期状态
} title="常用笔记" href="/docs/properties/note#frequently-used">
快速访问和记录常用内容
} title="随机排序" href="/docs/properties/note#random-sort">
随机回顾笔记内容
## 在任务中创建笔记
## 创建日记的方法
### 日记的存储位置
按照下图所示路径,访问模板导航栏,进入日记模块。这里将集中存储你所创建的所有日记

如果你想让你创建的【日记】出现在这个数据库之中,请确保你的标题包含【日记】这两个字。

### 日记的定义
按照 [笔记类型](/docs/properties/note#note-types) 的定义,【日记】属于【Log】这个分类。
日记用于简单直接地记录每天的经历或感受。它不需要刻意提炼和总结,只需要真实地捕捉「当下」。它的价值在于保留那些未经修饰的记录,为未来的复盘、反思或者是简单的回顾提供素材。

### 日记创建方法
请注意,在下面的 3 个方法中,对【笔记】的描述都是特指存在于【笔记数据库】的【笔记】
方法 1:通过流程创建
按照下图所示流程,就可以创建一条【日记】。
方法 2:标题关键词
给任意一条【笔记】的【标题】增加【日记】这两个字,它就会出现在【日记数据库】中
如下图所示,这个数据库对【标题】设置了【包含 日记】的过滤条件
方法 3:激活日记模板
在【笔记页面】中,激活【日记模板】
如果你在【笔记页面】中,没有看到上图所示的【日记模板】,请参考这个解决办法:
模板没有触发
### 修改日记模板的方法
目前日记预设的模板如下图所示,结构比较简单。

如果你想修改这个日记的模板,可以参考这条说明:[如何修改数据库的默认模板](/docs/faq/customization#template-default-edit)
## 创建工作日报
### 日报与日记的关系
日报和日记本质上使用的是同一套机制:**笔记数据库 + Log 类型 + 模板**。
两者的区别在于:
| 对比项 | 日记 | 日报 |
| ---- | --------- | ------------------ |
| 内容侧重 | 个人情感、生活记录 | 工作内容、进度追踪 |
| 模板内容 | 自由书写 | 结构化表格(时间、地点、完成事项等) |
| 视图 | 已预设「日记」视图 | 需要自己创建「日报」视图 |
如果你需要用 FLO.W 来记录工作日报,只需要创建一个日报模板,再创建一个专门显示日报的视图即可。
### 日报的创建与使用
进入笔记数据库
从顶部导航栏进入【笔记】模块,找到【我的笔记 DB】数据库。
打开模板菜单
点击【新建】按钮旁边的小箭头 ▾,然后点击【新模板】。
{/* 截图占位:点击新建旁边的箭头,显示新模板选项 */}
设置模板内容
在模板编辑页面中:
-
将模板标题设为「工作日报」
-
将【笔记类型】设为【Log】
-
在正文中插入一个表格,作为日报的固定格式
表格结构可以参考以下示例(你可以根据自己的需求调整):
**日报表格示例**:
| 记录项 | 内容 |
| ----- | -- |
| 日期 | |
| 地点 | |
| 今日完成 | |
| 未完成事项 | |
| 备注/附件 | |
{/* 截图占位:日报模板的表格结构示例 */}
编辑完成后,点击页面空白处关闭模板编辑页面,模板就创建好了。
日记模块已经预设了「标题包含日记」的过滤条件,但日报需要你自己创建一个专门的视图。
添加新视图
在笔记数据库中,点击视图标签栏右侧的【+】按钮,添加一个新视图。
命名视图
将新视图命名为「工作日报」(或你喜欢的名称)。
设置过滤条件
点击【筛选】,添加过滤条件:
这样,所有标题包含「日报」的笔记都会显示在这个视图中。
{/* 截图占位:设置日报视图的过滤条件 */}
创建新日报
在笔记数据库中,点击【新建】旁边的小箭头 ▾,选择「工作日报」模板。
填写内容
按照表格格式填写当天的工作内容。如需添加附件(照片、文件),直接拖拽或粘贴到表格或正文中即可。
关联项目(可选)
如果今天的工作属于某个项目,可以使用日报页面的【关联项目】字段进行关联。关联后,你可以从项目页面的【关联笔记】视图中看到所有相关的日报。
### 常见问题
日报本身没有日期提醒功能。如果你希望日报中的「未完成事项」能在日历中提醒你,可以通过【关联任务】字段来实现:
1. 在日报页面中,找到【关联任务】字段
2. 点击该字段,直接在里面创建一条新任务,描述你的未完成事项
3. 打开新建的任务,设置【排期】日期。设置后,这条任务就会出现在日历视图中
通过这种方式,日报和任务之间建立了双向关联:从日报可以看到关联的任务,从任务也可以看到它来源于哪篇日报。
{/* 截图占位:在日报中通过关联任务字段创建任务 */}
可以。你可以创建一个新视图,将过滤条件设置为「标题包含日记 **或** 标题包含日报」,这样两种记录都会显示在同一个视图中。
FLO.W 的设计原则是「简洁优先」。如果每个人都按自己的需求在数据库中增加字段,字段会越来越多,最终难以维护。
通过在模板中嵌入表格来实现固定格式,既满足了结构化记录的需求,又不会让数据库字段变得臃肿。你可以为不同场景创建不同的模板(如「工作日报」「会议记录」「出差日志」),而不需要修改数据库本身。
可以。和 [重复任务](/docs/basic-feature/task-management#recurring-tasks) 类似,你可以为日报模板设置定期生成。
在创建好日报模板后,点击【新建】旁边的小箭头 ▾,找到「工作日报」模板,点击它右侧的 `⋯` 按钮,然后设置重复周期(如「每个工作日」)。设置后,Notion 会按照你指定的频率自动创建日报页面。
## 周期复盘
### 复盘笔记的定义
在 FLO.W 系统中,【复盘笔记】是 [笔记类型](/docs/properties/note#note-types) 为 【Exp】 的笔记,所以理论上你其实并不需要专门创建一个所谓的【复盘模块】,因为任何被你标记为【Exp】类型的笔记,都可以成为复盘笔记。

但是为了能让你更方便地创建和管理复盘相关的笔记,并且提高【周期复盘】这个动作的效率,我在首页导航栏上添加了一个【复盘】按钮,点击之后就可以进入到【复盘中心】。

### 周期复盘 - 日记与日报
前面已经详细介绍了 [日记](/docs/basic-feature/note-taking#create-diary) 和 [工作日报](/docs/basic-feature/note-taking#work-daily-report) 的创建方法,所以这里就不再赘述。
从信息类型的角度来说,日记和日报都是【Log】类型的原始记录,而周复盘和月复盘是【Exp】类型的经验提炼。把它们放在同一个模块中,也是在传递一个理念:**记录和反思是一个完整的闭环**。你可以只记日记/日报不复盘,也可以只做复盘不记日记/日报,但当你把两者结合起来时,日记和日报中的【Log】就有机会被提炼成复盘中的【Exp】,形成更高密度的个人洞察。

### 周期复盘 - 周复盘
在【复盘中心 - 周复盘】数据库中创建一个新页面,就可以激活【周复盘】模板,并出现下图所示的模板预设内容:

你可以在【本周概览】中集中回顾**本周**完成的任务和项目,**本周**创建的笔记、剪藏、观影,甚至是购买的物品等

以本周任务为例,这里是通过预设的过滤筛选条件,将【本周完成的任务】过滤筛选出来的。所以你每次激活【周复盘】模板,你只能看到本周完成的任务,而不能看到上周的。

但是有的同学他可能习惯到每周一(新的一周)再去复盘上一周的内容,那么基于上面的预设条件,就只能看到本周的任务,而不能看到上周的。所以这里的关键在于,如何在【周复盘】模板中新增一个过滤视图,将【上周完成的任务】也一并过滤筛选出来。
由于 Notion 的过滤条件(Filter)并不存在(Last Week)这个过滤条件,只能设置(Last 7 Days)这个条件,所以接下来的步骤会有一些曲折,具体方法如下:
步骤 1:了解默认模板修改
首先你需要具备基础知识:
如何修改数据库的默认模板
。
步骤 2:创建过滤视图
找到【周复盘模板】,在【本周任务】数据库中创建一个新的过滤视图,将【本月完成的任务】筛选出来。
步骤 3:按周分组
对【完成时间】进行分组,分组单位设置为【周】,参考下图的条件。
步骤 4:查看结果
这样一来,当你激活【周复盘】模板时,就可以在【本月完成】这个视图中查看本月每一周的任务完成情况。
步骤 5:需要帮助?
如果你对以上步骤不熟悉,可在
飞书群
内提问。为了能更快、更准确地回答你的问题,请在提问时详细说明你执行到的具体步骤,并配图说明你的疑问是什么,以便获得更快帮助。
### 周期复盘 - 月复盘
月复盘的实现逻辑与周复盘类似,只是将分组单位从【周】改为【月】,因此就不再做过多详细,如有疑问同样可以在飞书群内交流提问。

## 速记模块的使用逻辑
### 基本用法
速记模块的功能位置如下图所示:

你可以点击「新增速记」按钮,然后在弹出的侧边栏记录

但更推荐直接点击「新页面」按钮,然后在「速记内容」这个字段中快速输入

这个字段才是后续转换按钮会读取的内容。页面下方的正文区域更适合临时放截图、链接或补充材料,但它不会自动进入后续创建的笔记或任务。
### 速记转换为笔记
打开速记页面后,你会看到有这样的两个按钮

以「转为笔记」这个按钮为例,点击之后,就会创建一个「笔记页面」,并将「速记内容」这个字段的内容复制到「笔记页面」的「备注」字段中:

也就是说,你可以用「速记」这个功能去捕捉一些不成形的、随机的灵感或想法,在输入的时候不需要去思考是否完整、要怎么分类,然后你可以选择一个固定的时间去整理所有的速记内容,如果你觉得某条「速记」有继续完善的价值,就点击「转为笔记」这个按钮,将这些碎片化的思考迁移到功能更完整的「笔记页面」之中。
这里有一个容易误解的点:转换按钮本质上只是帮你新建一条笔记记录,并把「速记内容」这个字段复制过去。受 Notion 按钮能力限制,它不能自动读取、搬运页面正文里的段落、图片或列表。
因此,「转为笔记」这个按钮只能迁移「速记内容」这个字段的信息,不能迁移「速记」这个页面下方的信息。

如果你已经在速记页面下方写了很多内容,有三种处理方式:
1. 先点击「转为笔记」或「转为任务」,再手动把页面正文复制到新页面里。
2. 如果内容只是文字,先把它整理到「速记内容」字段,再点击转换按钮。
3. 如果一开始就确定会写很多正文内容,建议直接新建「笔记」或「任务」,不要先走「速记」。
如果订阅了 Notion AI,也可以让 AI 帮你整理并迁移正文内容;但这属于 AI 辅助操作,不是模板按钮本身能自动完成的能力。
### 速记转为任务
「转为任务」的基本逻辑与「转为笔记」一样。如果这条速记最终更像行动项,点击「转为任务」即可。
同样需要注意,它也只会把「速记内容」字段带到任务中,页面正文仍然需要手动处理,或者交给 Notion AI 辅助整理。

### 复制速记按钮到其他地方
首先,「速记」这个按钮存在于两个地方,一个是「首页」,一个就是前面演示的「笔记模块 - 速记页面」,如果你你希望这个按钮可以被放到其他页面里,只需要复制这个「新增速记」按钮,然后粘贴到其他任意位置就可以。

---
# 项目管理 (https://21notion.com/docs/basic-feature/project-management)
本文档将指导您如何在 FLO.W 模板中创建、配置和管理项目,实现高效的项目管理。
## 如何添加一个项目
## 任务 vs 项目:如何正确选择
在使用 FLO.W 模板时,很多用户会困惑:什么时候应该创建项目,什么时候只需要记录任务?理解两者的区别是高效管理的关键。
### 概念理解
**任务**就像做饭的每一个具体动作——洗菜、切肉、翻炒、吃饭、洗碗。每个动作都很具体,你不需要再拆解,直接执行即可。
**项目**则像「办一场晚宴」,需要确定菜单、邀请宾客、采购食材、烹饪菜品、布置餐桌、准备聚餐游戏等。它有明确的终点,但需要一系列任务的组合才能达成。
### 三个判断标准
#### 1. 是否需要「看见进度」
这是最重要的判断依据。如果您经常会问自己「这事什么时候能完?还差多少?」,那您需要的不只是单个任务的完成提示,而是整体进度的可视化。
**适合创建项目的情况:**
* 准备双十一活动材料(需要关心文案、海报、渠道对接的整体进度)
* 产品功能迭代(需要跟踪设计、开发、测试各阶段进度)
**适合记录为任务的情况:**
* 发邮件联系某个 KOL(执行完即完成,无需进度条)
* 更新某个文档(单一动作,不需要拆解)
#### 2. 脑中是否在「打清单」
当您想到某件事时,如果开始思考「我需要先做 A,再做 B,还要做 C」,那它就是一个项目。如果您只是想「去做这件事」,没有自动拆解的冲动,那它可以是一个任务。
**提示:** 当任务列表中出现 5-6 个指向同一目标的任务时,这就是在提醒您该把它们整合进一个项目了。
#### 3. 完成后是否需要复盘
如果某件事做完后,您觉得有必要总结经验、提炼方法论或分析问题,那它值得成为一个项目。项目有明确的边界和完整的过程记录,是最适合复盘的颗粒度。
**典型的复盘场景:**
* 策划营销活动(分析什么有效、什么无效)
* 完成产品迭代(总结开发流程和改进点)
* 组织团队培训(评估培训效果和方法)
### 实用建议
#### 拿不准时,优先创建项目
当您无法确定时,建议先创建项目。项目页面可以作为「混乱缓冲区」,您可以先把相关的任务、想法、资料都放进去,不用担心是否完美。
如果后来发现事情很简单,您可以:
* 直接删除项目页面(其中的笔记和任务不会受影响)
* 将项目标记为完成并归档,保留尝试记录
#### 允许调整和试错
这套系统允许您灵活调整:
* 任务可以升级为项目
* 项目可以简化为任务
* 不会因为调整而丢失任何信息
#### 培养判断直觉
使用一段时间后,您的直觉会越来越准确。一开始可能需要偶尔调整,但逐渐地您就能在记录的瞬间准确判断该用任务还是项目,因为大脑已经内化了这套判断逻辑。
**核心原则:** 与其花时间纠结「这到底该不该是项目」,不如先动手实践。系统的灵活性保证您可以随时调整而不丢失信息。
---
# 任务管理 (https://21notion.com/docs/basic-feature/task-management)
import { Calendar, ArrowRight, Trash2, Bell, CheckSquare as CheckSquareIcon } from 'lucide-react';
本文档将指导您如何在 FLO.W 模板中创建、编辑和管理任务,提高您的工作效率。
## 任务创建方法
通过以下视频快速了解如何创建和管理任务:
## 任务字段说明
了解任务数据库的字段配置与使用:
} title="日程和待办的区别" href="/docs/properties/task#schedule-vs-todo">
理解固定时间的日程与截止型待办的差异
} title="下一步做什么" href="/docs/properties/task#next-action">
为任务设定可立刻执行的下一步动作
} title="任务清理" href="/docs/properties/task#task-cleanup">
筛选并清理无排期或无价值的任务
} title="任务提醒" href="/docs/properties/task#task-reminders">
查看提醒逻辑与常见问题的说明
} title="任务状态字段使用指南" href="/docs/properties/task#status-guide">
理解任务生命周期各状态的使用方法
## 添加日常重复任务
### 什么是重复任务
重复任务是指需要定期执行的固定事项,Notion 可以按照你设定的频率自动创建这些任务。
**常见场景**:
* 工作类:每日早会、周报、数据填报等
* 生活类:运动健身、读书、背单词、清洁整理等
### 创建重复任务
打开任务模板菜单
找到【我的任务 DB】,点击右上角【新建】按钮旁边的小箭头 ▾

创建任务模板
点击【新模板】,进入模板编辑页面。在这里设置模板内容:
-
设置任务标题(如「日常锻炼」)
-
填写需要的字段
-
添加正文内容(可选)
编辑完成后,点击页面空白处关闭模板编辑页面。
设置定期生成
再次点击【新建】旁边的小箭头 ▾,找到刚才创建的模板(如「日常锻炼」),点击它右侧的
⋯
按钮。

配置生成频率
在弹出的界面中设置重复周期,例如:

设置完成后,Notion 会按照你指定的频率自动创建任务。
如果你的任务不需要与 FLO.W 的其他模块产生关联,到这一步就完成了。
### 将重复任务关联到项目
如果你的重复任务属于某个具体目标(例如「日常运动 30min」属于「减肥 5kg」项目),可以在模板中预设项目关联。
**方法**:在任务模板的【关联项目】字段中选择对应的项目。

这样,每次自动创建的任务都会自动关联到该项目,任务完成后也会计入项目进度。
### 常见问题
从顶部导航栏点击【任务】即可进入任务中心,里面包含【我的任务 DB】。你也可以在首页的【今日待办】区域找到任务入口。
点击【新建】旁边的小箭头 ▾,找到对应的模板,点击右侧 `⋯` 按钮:
* **修改内容**:点击【编辑】可以修改模板内容
* **修改频率**:直接调整重复设置
* **停止生成**:关闭「重复」开关,或直接删除该模板
自动生成的任务和普通任务一样,你可以:
* 直接删除它
* 将状态改为「已取消」
* 修改排期到其他日期
这不会影响下次的自动生成。
重复任务会按照设定的频率持续生成。建议定期清理已完成或不需要的任务,保持任务列表的整洁。你可以使用 [任务清理](/docs/properties/task#task-cleanup) 功能批量处理。
## 在笔记中创建任务
## Notion Calendar 联动
### 方法
按照下图操作,点击「在日历中管理」,就会将这个【任务日历】在 Notion Calendar 中打开。

这样一来,你在【任务数据库】创建的任务待办等,就会同步到 Notion Calendar 中

如果你在按照上述步骤操作后,发现在 **Notion Calendar** 中添加的任务没有同步回 **Notion 本体应用**中,请打开 Notion Calendar 的设置,检查左侧是否已绑定正确的 **Notion 工作空间**。如果没有绑定,点击「添加 Notion 工作空间」完成关联即可。

### 常见问题
下载链接:[https://www.notion.com/zh-cn/product/calendar](https://www.notion.com/zh-cn/product/calendar)
打开 Notion Calendar 的设置

1. Notion Calendar 可以作为一个集中地
2. 可以将【Notion 数据库】与【Notion Calendar】双向同步
3. 也可以将【苹果日历】与【Notion Calendar】双向同步
4. 但是我们目前无法将【苹果日历】通过【Notion Calendar】同步到【Notion 数据库】之中
5. 在这里【苹果日历】可以替换为【谷歌日历】
除了以上提供的方案之外,我暂时没有尝试过其他工具或途径,因此目前无法回答这个问题。
---
# 设计理念 (https://21notion.com/docs/basic-feature/template-overview)
FLO.W 是一套围绕个人工作流设计的 Notion 模板。它把每天要做的事、阶段性目标、长期方向和知识记录放进同一个工作区,减少信息分散带来的整理成本。
## 模板解决什么问题
很多人刚开始使用 Notion 时,会先创建一堆页面:一个页面记任务,一个页面放笔记,一个页面写项目计划,过一段时间又会新增读书、课程、旅行、习惯打卡等页面。
页面越来越多后,真正麻烦的地方会落在归类上:新的记录不知道应该放在哪里。任务、项目、资料、复盘混在一起,后面想找、想回顾、想继续推进时,就会很费劲。
FLO.W 先把这些信息分清楚,再把它们连接起来。任务负责具体行动,项目负责阶段目标,笔记负责知识沉淀,领域负责长期方向,首页负责每天打开 Notion 后的第一眼。
这样使用一段时间后,Notion 里留下来的会逐渐形成一套可以回看、继续推进和复用的个人工作记录。
## 整体结构
FLO.W 的结构可以分成三层:
| 层级 | 作用 | 典型页面 |
| ---- | ----------- | ---------------- |
| 首页 | 每天先看最重要的内容 | 今日任务、进行中项目、快速记录 |
| 模块 | 处理某一类事情 | 笔记、任务、项目、领域、信息港口 |
| 深层视图 | 保存完整记录,方便回顾 | 全量数据库、归档视图、历史记录 |
日常使用时,你大多数时间只需要待在首页和模块页。全量数据库和归档视图放在更深的位置,需要查找历史内容或做复盘时再打开。
## 先理解哪些模块
刚开始不需要把所有页面都看完。先理解下面几个模块,就能掌握 FLO.W 的主要用法:
* [首页导航](/docs/basic-feature/homepage):每天打开模板后先看哪里。
* [笔记系统](/docs/basic-feature/note-taking):想法、资料和复盘应该怎么保存。
* [任务管理](/docs/basic-feature/task-management):待办和排期应该怎么安排。
* [项目管理](/docs/basic-feature/project-management):复杂目标应该怎么拆解和跟踪。
* [领域管理](/docs/basic-feature/area):长期方向应该怎么归类。
## 新手应该先看什么
如果你是 Notion 新手,可以按这个顺序阅读:
1. [模板导入指南](/docs/template-import-guide):先把模板复制到自己的工作区。
2. [首页导航](/docs/basic-feature/homepage):熟悉每天最常用的入口。
3. [笔记系统](/docs/basic-feature/note-taking) 和 [任务管理](/docs/basic-feature/task-management):先把记录和行动跑起来。
4. [项目管理](/docs/basic-feature/project-management) 和 [领域管理](/docs/basic-feature/area):再处理更长期、更复杂的事情。
如果你想理解这套模板为什么这样设计,可以继续阅读:[重新审视 Notion,我的七年心得感悟](/blog/notion-7-year-reflection)。
如果你还在适应 Notion,也可以先看:[5 个建议更快度过 Notion 新手磨合期](/blog/notion-beginner-5-tips)。
---
# 网页剪藏 (https://21notion.com/docs/basic-feature/web-clipper)
import { Card } from 'fumadocs-ui/components/card';
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
{/*
[IN]: Save to Notion plugin, fumadocs components
[OUT]: Web Clipper usage guide and FAQ
[POS]: Core feature documentation for information gathering
Protocol: 更新本文件时,同步更新此头注释及所属文件夹的 .folder.md
*/}
## 安装插件
FLOW 系统内置了一个阅读管理中心,可以让你便捷地管理剪藏的文章、视频、帖子,或者建立系统的阅读书单。当然首先你需要先在浏览器上安装 Save to Notion 的剪藏插件,具体的安装教程我已经帮你准备好了。
📖}>
详细的浏览器插件安装和配置教程,帮助你快速上手剪藏功能
## 常见问题
请留意剪藏教程里的这一个步骤

免费用户可以创建 4 个 Form,一般来说够用了。
跟网站有关,有的网站的图片就是设置成不让同步,这个不是插件或者 Notion 的原因。这个问题我也无法解决,除非网站允许。
网页版 Notion 不打开也能剪藏,只要你的浏览器和剪藏插件是正常运作的就行
问题表现为,当你希望修改剪藏数据库的自定义字段时,你发现没有字段可以选择

原因在于,你并没有关联正确的数据库本体。Save to Notion 这个插件应该关联的数据库的名称是「FLO.W - 信息港口 DB」
支持。如果你需要在其他平台,使用自己习惯的剪藏工具,只需要将剪藏的目的地设置为 【FLO.W - 信息港口 DB】 即可。
**问题**
如果我之前用过其他剪藏工具,例如 Cubox、Readwise 或者简悦等,在 Notion 中已经有一个现成的剪藏数据库了,那么如何将这些剪藏的文章移动到 FLO. W 系统中?
**回答**
在 FLO.W 系统中,所有的剪藏文章都存储于「**FLO.W 信息港口 DB**」这个数据库里,所以你可以将旧的剪藏数据库的文章批量移动到「**FLO.W 信息港口 DB**」这个数据库之中。
但是在移动之前,请务必阅读完这条[重要说明](/docs/template-import-guide#migrate-old-notes)。
首先,Save to Notion 并非 Notion 的官方插件,因此 Save to Notion 的账号与 Notion 账号无关。
其次,它支持谷歌邮箱直接登录,也可以填写你自己的任意邮箱,但这两种方式都需要你确保你能够登录自己的这些邮箱。
如果以上方法都无法登录,你需要咨询 Save to Notion 这个插件的官方邮件: [hello@savetonotion.so](mailto:hello@savetonotion.so)
使用插件剪藏时搜索数据库名称,显示 "No databases or pages found",可以尝试以下方法:
1. **缩短搜索关键词**:不要搜索完整名称,只搜索「信息港口」而非「FLO.W - 信息港口 DB」
2. **重新登录插件账号**:在 Save to Notion 插件中退出登录,完全关闭并重启浏览器,重新登录后再次尝试搜索
3. **刷新 Notion 数据库索引**:先在目标数据库中手动创建几个页面,在 Notion 中按 `Ctrl+R`(Mac 按 `Cmd+R`)刷新,再回到插件中搜索
目前不支持直接转换。
**原因:**
如果真有成为 [【笔记】](/docs/basic-feature/note-taking) 的价值,最好还是多一步手动整理的动作。否则【剪藏】与 [【笔记】](/docs/basic-feature/note-taking) 就没有区别,最终还是会把你的 [【笔记数据库】](/docs/basic-feature/note-taking) 塞满。
**建议做法:**
1. **关联笔记**:你可以通过【剪藏】的【关联笔记】字段,快速创建一条与当前【剪藏文章】互相关联的【笔记】。
2. **关联项目/领域**:如果你将【剪藏】转为【笔记】的目的是为了与 [【项目】](/docs/basic-feature/project-management) 关联,其实完全没有必要这么做,因为【剪藏】本身就可以直接与 [【项目】](/docs/basic-feature/project-management) 或者 [【领域】](/docs/basic-feature/area) 关联。

---
# 购买前必读 (https://21notion.com/docs/faq/before-purchase)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Card, Cards } from 'fumadocs-ui/components/card';
本页面汇集了购买 FLO.W 模板前最常见的问题,帮助你做出明智的购买决策。已有 **1400+ 用户** 选择了 FLO.W 模板,B 站好评率 **99%**,小红书评分 **4.7/5**。
## 课程与模板
「**Notion All in One**」是我编写的 Notion 系统教程,包含 45 篇文章、200+ 个实操案例、20 万字内容,完整解读 Notion 的所有用法。
课程从 2023 年 6 月开始更新,至 2024 年 12 月连载完结,是中国大陆销量断层领先的 Notion 教程,销售额超过 120 万元,已帮助 7000+ 学员从零掌握 Notion。课程采用英文版 Notion 界面截图。
**购买渠道**
*
小报童
*
少数派
打个比方,课程是教你自学如何搭建 Notion 系统的建筑学原理,模板就是可以让你拎包入住的精装房。因此如果你有较强的自学能力,并且有时间、有耐心,那么可以购买课程,然后搭建属于自己的 Notion 系统。如果你希望更快地上手实践,不想花时间自己研究学习,那么可以购买模板。
没有联系,但课程知识可以帮你更好地理解模板的功能与用法。
## 版本选择
* **【基础版 ¥199】** 完整模板 + 使用教程,拿来即用,适合想快速上手的用户
* **【专业版 ¥299】** 基础版权益 + 答疑交流群 + 不定期案例分享 + 快捷指令,适合希望有人指导、少走弯路的用户
* **【进阶版 ¥349】** 专业版权益 + 大版本永久免费升级 + 核心用户交流群,是目前最畅销的版本
**选择建议**:如果你长期使用 Notion 且希望持续获得功能更新,进阶版最省心,后续所有重要升级都免费获取,不用纠结「要不要再花钱」。详细的功能对比请查看[定价页面](/pricing)。
FLO.W 模板涵盖 **15 个功能模块**,覆盖工作与生活的方方面面:
笔记系统、任务管理、项目运营、生活领域、内容剪藏、习惯打卡、影音记录、资产盘点、游戏记录、订阅管理、自动化、函数运用、iOS 快捷指令、Notion AI 和快捷按钮。
你可以在[功能介绍](/docs/get-started)页面查看每个模块的详细说明。
**非常适合。**
FLO.W 模板专门为 Notion 新手设计了「渐进式的上手路径」:
* **开箱即用**|不需要懂 Notion 技术,模板已配好所有数据库关联与视图,复制就能用
* **完整教程**|每个模块都有详细的图文或视频教程,购买模板的用户 80% 都是 Notion 新手,平均 3-7 天即可搭建起一套专属工作流
* **避免踩坑**|作者[「二一的笔记」](/about)是 **Notion 官方认证高级专家**,专注 Notion 教学 4 年时间,课程已帮助 7000+ 学员从零掌握 Notion,是国内销量断层领先的 Notion 课程。模板基于这些用户的普遍需求而创建,基于这些用户所反馈的痛点而优化,新手最容易卡住的地方都已经帮你处理好了
可以的!
考虑到大部分用户都没有付费订阅 Notion,因此 99% 的模板功能都不依赖付费功能。只有极其少数的页面(例如数据库的图表)需要 Notion 的付费功能,但这些都不影响核心的工作流使用,并且我也已经用免费的 Notion 函数字段来替代这些可视化图表了。
即使是免费版用户,你也可以完整体验到 FLO.W 模板的核心价值。
如果你想了解更多关于模板的功能和使用方法,可以观看这个详细的介绍视频。
## 购买与退款
你买的不是一个文件,而是时间与确定性。自己摸索就像在黑暗中徒手盖房,耗时耗力且容易反复返工。FLO.W 能帮你节省数百小时,从第一天就走在正确道路上。
购买后会获得一条模板链接。用浏览器打开后,点击「复制」即可将完整内容保存到你的 Notion 工作区。整个过程不到一分钟。详细步骤请参考[模板导入教程](/docs/get-started/import)。
支持**支付宝、微信支付、Visa、Mastercard、银联卡、Apple Pay**。海外用户也可以正常购买,使用国际信用卡即可完成支付。前往[定价页面](/pricing)查看详情。
可以的。购买完成后,你可以把订单信息发送到我的邮箱 [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com),我会在三个工作日内为你开好发票。
为了顺利核对订单,请使用下单邮箱发送开票信息;如果邮箱不一致,可能会开票失败。
如果您是我的 Notion 课程读者,可以申请获得 20 元的优惠。您可以在我的小红书店铺或者 B 站小店,联系客服获取优惠。
模板属于数字商品,发货后无法收回,因此不支持退款。但你不用担心:
* **购买前充分了解**:你可以观看40 分钟的详细介绍视频,全面了解模板的功能和用法
* **完善的使用教程**:所有版本都包含详细的图文教程,80% 的新手用户 3-7 天就能上手
* **群聊答疑支持**:专业版和进阶版用户都有专属交流群,任何使用问题都可以在群里得到解答
## 售后与更新
会的!FLO.W 模板会持续更新,跟进 Notion 的新功能,优化现有工作流。
**进阶版用户**享有后续所有大版本更新权益,长期免费获取。更新时我会在交流群和社交平台发布通知,并提供详细的更新教程。
多种渠道可以获得帮助:
* **专业版和进阶版用户**:在专属交流群直接提问,我会亲自解答
* **所有用户**:可以发送邮件到二一的邮箱 [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
* **自助查阅**:本文档站有[详细的使用教程](/docs)和[常见问题排查](/docs/faq/troubleshooting)
可以进行适度的修改!模板复制到你的 Notion 后,你可以根据自己的需求进行调整。但建议在修改前先阅读[自定义指南](/docs/faq/customization),了解模板的底层结构,避免误删关键的数据库关联或破坏工作流的联动逻辑。
***
**已经购买了模板?** 请查看 [快速上手](/docs/faq/getting-started) 开始使用。
---
# 自定义与修改 (https://21notion.com/docs/faq/customization)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Card, Cards } from 'fumadocs-ui/components/card';
模板是你的个人空间,可以根据需求进行调整。本页面帮助你了解哪些可以自由修改,哪些需要谨慎操作。
## 模板修改原则
**数据库字段修改**
| 可以做 | 不建议做 |
| ------------------------ | ----------------------- |
| 字段改名(例如把「任务名称」改为「To-do」) | 修改字段类型(会导致该字段的所有现有数据丢失) |
| 新增字段(例如增加「预计耗时」「优先级」等) | 删除关联字段(会导致信息流动中断) |
| 调整字段顺序(把常用字段放前面,隐藏不常用的) | 删除公式字段(会导致自动统计失效) |
| | 删除日期字段(会影响日历视图和时间筛选) |
**进阶版用户特别注意**:
* 如果你是进阶版用户,拥有后续升级权益,强烈建议不要修改字段名称
* 升级时新版本通过字段名称识别和更新,改名后可能导致升级失败
* 如果一定要改,建议新增字段而不是重命名原有字段
***
**视图与筛选修改**
完全可以自由修改,不会影响模板功能:
* 调整筛选条件(例如只显示自己的任务、未完成的任务)
* 修改排序方式(例如按截止日期、优先级排序)
* 添加或删除视图(例如删除不需要的报表视图)
* 调整分组方式(例如按项目、按状态分组)
* 修改视图名称
***
**页面内容修改**
完全可以自由修改,这是你的个人空间:
* 清空或修改演示数据和示例文本
* 删除教程说明页面
* 修改页面图标和封面
* 调整页面导航结构
* 添加自己的说明和笔记
**注意事项**:
* 删除页面前建议先确认该页面是否被其他地方关联或引用
* 如果删除了重要的演示页面,可以重新复制模板找回
***
**数据记录修改**
完全可以自由修改,这是你的数据:
* 批量删除演示任务、项目、笔记
* 修改已有记录的内容
* 添加自己的任务、项目、笔记
***
**什么时候适合修改**
* 使用模板 2-4 周后,明确知道哪些部分对你没用时
* 不建议刚开始使用时就大量修改
* 建议先按原样使用一段时间,理解每个部分的作用
***
**如何安全地改**
* 改动前先复制一份模板作为备份
* 先在测试页面试验,确认没问题后再全面修改
* 修改前截图记录原有设置,方便需要时恢复
## 数据库模板
**什么是默认模板**
在 FLO.W 系统中,数据库模板是确保功能正常的"核心装置"。所有的数据库页面在创建时都会自动应用这些模板,例如创建【任务】时,【任务标题】会被自动命名为【新的任务】,【页面】的图标也会被设置为默认的蓝色圆环:

或者,某些数据库创建的页面中,可能还包含默认的页面内容。
例如当你创建 [日记](/docs/basic-feature/note-taking#create-diary) 时,日记页面中会出现下图所示的内容:

**修改默认模板的方法**
1. 找到你想修改的那个数据库的模板位置

2. 点击上图中的步骤 2,进入模板编辑界面
3. 在模板中修改默认图标或者默认的页面内容
4. 修改完毕后,点击页面空白处,关闭模板编辑窗口
这样一来,下次你再激活模板时,就会应用新的模板内容了。
**温馨提示**:由于模板内部包含很多关联逻辑,如非必要,不建议随意改动。修改前最好在交流群确认。
## 字段与视图
在 FLO.W 系统的各个数据库中,有相当多的字段。您可能暂时不需要某些字段,或者某些重要字段被隐藏了。
**方法一:点击字段标题**

* 直接点击字段标题可以快速调整显示/隐藏状态
**方法二:自定义布局**

* 点击页面标题上的「自定义布局」
* 在「布局」选项中对字段进行详细调整
* 可以批量管理多个字段的显示状态
**使用建议**
* 根据工作需要显示相关字段
* 在移动端可以隐藏不常用字段以优化显示
* 可以为不同的使用场景创建不同的视图
首页布局可以完全根据你的喜好进行调整。详细的定制方法请查看 [首页布局](/docs/basic-feature/homepage#homepage-layout)。
导航栏的调整方法请查看 [顶部导航条](/docs/basic-feature/homepage#top-navigation),包括:
* 导航栏原理解释
* 如何调整模块位置
* 如何添加/删除导航项
***
**想了解设计理念?** 查看 [系统设计理念](/docs/faq/system-design) 了解为什么这样设计。
---
# 快速上手 (https://21notion.com/docs/faq/getting-started)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
购买模板后,从这里开始你的 FLO.W 之旅。
## 入门学习
根据您的 Notion 基础水平,我们建议采用不同的学习策略:
**Notion 新手用户**
* 建议至少先扫一遍课程第一章和第二章,了解 Notion 最基本的操作方法,然后再使用模板
* 这样可以避免在使用模板时遇到基础操作问题
**有一定基础的用户**
* 可以直接使用模板,遇到问题再查阅课程内容
* 在飞书群内提问时可以备注您是课程学员,我会直接提供对应的课程章节,方便理解和解答
**经验丰富的用户**
* 有充足的动手操作和研究能力,可以直接使用模板
* 遇到问题时可以自主探索或查阅相关文档
**最佳实践**:搭配课程学习效果最好,但模板也可以先做简单记录,避免只学不练,保持学习的成就感。
我们为新手准备了完整的入门路径:
1. **阅读快速开始指南** - 查看 [快速开始](/docs/quick-start),了解三个基础建议
2. **下载安装 Notion** - 如果还没安装,参考 [Notion 下载安装](/docs/notion-download)
3. **导入模板** - 按照 [模板导入教程](/docs/template-import-guide) 完成模板复制
4. **观看入门视频** - 模板内置了详细的视频教程,跟着操作即可
**重要提示**:不建议一开始就大量修改模板,先按原样使用 2-4 周,理解每个部分的作用后再做调整。
## 模板导入
模板导入失败通常有以下几种情况:
1. **网络问题** - Notion 服务器在国外,建议使用稳定的网络环境
2. **浏览器兼容性** - 推荐使用 Chrome 或 Edge 浏览器
3. **账号问题** - 确保已登录 Notion 账号
详细的解决方案请查看 [模板导入教程 - 复制失败](/docs/template-import-guide#copy-failed)。
我们提供了完整的 Notion 安装指南,包括:
* Windows / Mac 桌面客户端下载
* iPhone / iPad / 安卓手机 App 下载
* 账号注册流程
* 中文汉化设置
详情请查看 [Notion 下载安装](/docs/notion-download)。
## 版本迁移
首先你需要知道在 FLO.W 系统中,所有的数据都是存储在特定的数据库里的,笔记页面存储在笔记数据库,项目页面存储在项目数据库。
因此,我们以【笔记】为例,迁移的基本原则就是,把【基础版 - 笔记数据库】的所有页面都批量迁移到【进阶版 - 笔记数据库】里面。
所以你需要知道以下两个信息:
* 数据库在哪里?
* 怎么批量迁移?
接下来我们以迁移【笔记】为例。
找到笔记数据库
点击笔记数据库的标签页,然后点击【打开源数据库】,然后记住这个源数据库的标题是什么
全选所有笔记页面
全选所有【笔记】页面
批量移动到进阶版数据库
全选后,按照下图所示方法,将这些笔记页面批量移动到【进阶版 - 笔记数据库】即可
**重要建议**
1. 在批量移动之前,请一定先单独迁移一两个页面,先测试一下流程,以免出错。
2. 在你迁移完【笔记】内容后,可以再进一步迁移【项目】、【领域】等数据库的内容
***
**遇到问题?** 查看 [故障排除](/docs/faq/troubleshooting) 或 [升级与支持](/docs/faq/support) 获取帮助。
---
# 升级与支持 (https://21notion.com/docs/faq/support)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
## 升级权益说明
感谢你选择我的 Notion 模板。作为 FLO.W 思流模板「进阶版」的用户,你享有「免费大版本升级」的特别权益。
简单来说,随着 Notion 的功能更新,以及交流群里的用户反馈,我会持续为模板的功能模块进行更新优化,或者增加新的模块、函数、流程设计。
**升级范围定义**
**1. 对现有流程的深度优化,不是无限的功能叠加**
我关注的不是孤立的功能点,而是你能顺畅、高效完成一件事的全过程。
* **承诺范围 ✅:** 我会持续审视并重构你已有的核心工作流。比如,我可能会彻底改造「任务管理」从收集、规划、执行到复盘的完整动线,让它更智能、更自动化。或者,优化「内容创作」从灵感捕捉、资料整理、草稿撰写到最终发布的整体流程。这些都属于免费的「大版本更新」。
* **非承诺范围 ❌:** 开发与现有核心流程关联度不大的全新领域模板,比如一个独立的「宠物健康管理」或「室内装修项目」模板。
**2. 对现有模块的体验增强,不是产品线的无限扩张**
我致力于将你已有的工具打磨得更锋利、更好用。
* **承诺范围 ✅:** 我会不断升级你已有的核心功能模块。比如,将「笔记库」从一个简单的信息收集器,升级为具备高级标签系统、双向链接网络、甚至知识图谱可视化能力的强大知识库,实现 FLO.W. 方法论中「链接」和「流动」的理念。或者为「项目管理」模块增加更丰富的视图(如甘特图、看板)和协作功能。这些都属于免费的「大版本更新」。
* **非承诺范围 ❌:** 增加一个功能上完全独立、需要大量专业领域知识构建的全新「专业扩展包」,比如一个集成了复杂公式与报表分析的「家庭资产负债管理模块」、或者「个人健康运动管理模块」,这会作为独立的付费产品推出。
**3. 对 FLO.W 产品哲学的贯彻与深化**
FLO.W 的初心,是打造一个围绕 **「有效记录、高效创作、有序管理、深度回顾」** 这四大核心场景的一站式个人生产力系统。
* **承诺范围 ✅:** 能深化这四大场景体验的更新,都属于免费「大版本更新」的范畴。无论是引入新的方法论(如 PARA、Zettelkasten 的集成与优化),还是增加新的辅助功能来打通场景闭环(如更强大的数据看板、自动化的周报/月报生成器),只要它服务于这个核心哲学,你都将免费获得。
* **非承诺范围 ❌:** 任何超越这个「产品」本身定义的服务或衍生品,比如 1 对 1 的 Notion 使用咨询、付费的生产力提升课程、独立的软件 App 或浏览器插件等。
**升级示例**
为了让你有更直观的感受,以下是一些具体示例:
| **类别** | **✅ 属于「免费升级」范围** | **❌ 不属于「免费升级」范围** |
| -------- | ----------------------------------------- | ------------------------------------------------ |
| **流程优化** | 彻底重构「GTD 任务管理」流程,实现更自动化的处理动线。 | 推出一个全新的、独立的学生课堂笔记专用模板。 |
| | 优化「内容创作」流程,增加从灵感到发布的流程管理。 | 发布一个独立的、企业用户专用的 CRM 系统 |
| **模块增强** | 为「项目数据库」增加团队协作视图和权限管理功能。 | 开发一个需要额外付费的「高级图表与数据可视化」插件。 |
| | 为「闪念笔记」增加 AI 自动打标签和分类的功能。 | 推出一个集成了复杂会计准则的「个人财务」高级模板。 |
| | 将「阅读模块」与「笔记模块」深度联动,实现引用的自动关联。 | 开发一个能将模板内容同步到其他 App 的付费自动化脚本。 |
| **体验革新** | 推出全新的 UI 设计,提供专门为 FLO.W 模板设计的封面与图标设计。 | 举办一场线下的「Notion 生产力」付费训练营。 |
| | 引入 PARA 或 Zettelkasten 方法论,并对数据库结构进行相应调整。 | 提供 1 对 1 的个人 Notion 系统搭建付费咨询服务。 |
| | 增加一个全局的「数据看板」,用于汇总各项关键指标。 | 编写并出版一本《精通 FLO.W:数字生活管理艺术》的付费电子书。 |
| | | 如果未来 FLO.W 适配了非 Notion 的其他平台(如飞书、Flowus),新平台的版本。 |
**补充声明:**
数字工具与方法论的世界在不断演进,Notion 平台自身的功能也在持续迭代。因此,我们无法预见并在此穷尽所有未来的可能性。
基于此,我将保留根据产品发展、技术更迭和市场变化,对何为「大版本更新」的范畴进行最终解释和决定的权利。任何未来的相关决定,都将以不损害模板用户核心权益、并遵循本文所述的核心产品哲学为前提。
感谢您的理解与支持。
由于 Notion 的技术限制,模板本身不支持自动化的「热更新」。基于此,FLO.W 采用了一种模块化的**手动更新机制**,以确保用户数据安全和系统的灵活性。
**更新流程**
1. 模块化发布: 当有功能更新或新增模块时,我会发布一个独立的 **「功能组件模板」**。此组件包含了全部新功能和相关数据库,这种更新方式可以保留原先笔记库,不需要重新开始。
2. 提供配置教程: 随新组件一同发布的,会有一份详尽的 **「配置教程」**(通常为视频或图文格式)。教程会说明将新组件集成至现有 FLO.W 系统所需的全部步骤,如页面复制、数据库关联等。
**模块化更新特点**
* 数据保全: 更新过程不会触及或覆盖用户已有的个人数据及个性化设置,确保了现有工作区内容的完整性与安全性。
* 选择性集成: 用户可以根据自身需求,**自主选择是否集成某次发布的新模块**。这允许系统保持精简,避免因集成了非必要功能而导致臃肿。
* 附带教学价值: 配置教程中会阐述功能实现背后的 Notion 逻辑。跟随教程完成手动配置的过程,客观上有助于**使用者同步学习 Notion 的功能原理和高阶应用方法**。
* 用户自主性: 手动配置的过程使用户能清晰了解系统结构的每一次变化,从而增强对整个系统的理解与掌控。
## 模板补差价升级策略
目前 FLO.W 模板为【专业版】与【进阶版】用户提供群聊答疑服务,如果您现在购买的是基础版,可以在购买模板的平台,联系客服补差价升级。
**B 站 App 扫码**
**小红书 App 扫码**
**微信扫码**
请联系邮件 [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com) ,并发送您的购买记录
补差价不支持叠加优惠,在原价的基础上计算差价
1. 【基础版】升级【专业版】:补差价 100 元 `299-199`
2. 【基础版】升级【进阶版】:补差价 150 元 `349-199`
3. 【专业版】升级【进阶版】:补差价 50 元 `349-299`
## 申请加入飞书交流群
目前 FLO.W 模板为【专业版】与【进阶版】用户提供群聊答疑服务,如果您现在购买的是基础版,可以在购买模板的平台,联系客服补差价升级。
ℹ️ 加群验证,请发送【购买平台 + 订单号】
**飞书 APP 扫码**
* 飞书 App 扫码,输入验证答案
* 验证答案 👉【购买平台 + 订单号】
**客户端点击链接**
* 加群链接 👉 [点我](https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=249m84a0-e299-45d4-ad5a-4c78c402d5a8),输入验证答案
* 验证答案 👉【购买平台 + 订单号】
**飞书 APP 扫码**
* 飞书 App 扫码,输入验证答案
* 验证答案 👉【购买平台 + 订单号】
**客户端点击链接**
* 加群链接 👉 [点我](https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=11fka34d-2b35-4d5e-812f-f03b715323cd),输入验证答案
* 验证答案 👉【购买平台 + 订单号】
## 提问注意事项
为了更快地解决您的问题,请在群内发帖时提供以下信息:
* **问题描述**:详细描述遇到的问题
* **截图录屏**:问题的具体表现
* **重现步骤**:如何重现这个问题
## Notion 官方更新动态
FLO.W 模板会随着 Notion 官方功能的更新而持续优化。你可以通过 [Notion 更新时间线](/notion-updates) 了解 Notion 每一个值得关注的新功能和改进。
---
# 系统设计理念 (https://21notion.com/docs/faq/system-design)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
import { BlogCTA } from '@/components/blog/blog-cta';
本页面整理 FLO.W 模板的核心设计理念,重点回答「为什么这样设计」以及「遇到新信息时应该放在哪里」。
## 先看简短结论
FLO.W 的系统设计围绕四类信息展开:领域、项目、任务和笔记。
领域代表长期经营的方向,项目代表一段时间内要完成的目标,任务代表可以执行的具体动作,笔记代表可以沉淀和复用的知识内容。它们分开存放,是为了避免字段混在一起,也为了让每一种信息都能用最合适的视图、关联和函数来管理。
所以在 FLO.W 里,项目和任务会放在不同数据库,领域不会无限分层,暂时没归属的笔记也不会被强行塞进某个分类。系统的重点是保持结构清楚,让信息可以流动,同时降低日常维护成本。
## 新信息应该放在哪里
使用 FLO.W 时,可以先判断这条信息的性质,再决定它应该进入哪个模块。
| 信息类型 | 放在哪里 | 判断方式 |
| ------------ | ------- | --------------- |
| 长期经营的方向 | 领域 | 没有明确结束时间,需要持续投入 |
| 一段时间内要完成的目标 | 项目 | 有开始和结束,需要拆成多步推进 |
| 可以执行的具体动作 | 任务 | 能安排排期,完成后可以打勾 |
| 想法、资料、方法、复盘 | 笔记 | 需要沉淀、引用或反复查看 |
| 临时还没想清楚归属的内容 | 先放未分类视图 | 等数量变多后,再统一整理 |
如果一条信息同时涉及多个模块,优先保留它最核心的类型,再用关联把其他内容连起来。比如「学习 Python」更适合作为项目,「Python 学习资料」更适合作为笔记,两者可以通过项目的关联笔记字段连接。
## 元信息架构
**读者提问:**
请问为何不将项目数据库与任务数据库合并管理呢?数据库本身就具有子任务功能,在同一个数据库中就可以实现嵌套,理论上不需要第二个数据库。是怕任务数据库太复杂吗?还是说有函数或者属性之类的会与任务冲突?
**我的回答:**
这个问题其实也可以这么问,为什么【一级领域】和【二级领域】这两个数据库不合并在一起?或者当你有「A 和 B 数据库为什么不放在一起」的疑问时,都可以参考下面的回答,你也能了解我设计这套模板的一些思路。
原因 1: 元信息
首先 FLO.W 这个系统的建立是以 4 种元信息为基础的,理解什么是「元信息」是回答这个问题的关键。非常推荐你阅读下面这篇文章,并搜索关键词「有限的元信息类型」。
文章链接:
重新审视 Notion,我的七年心得感悟
项目:
-
是一个目标容器,代表一个需要通过多个步骤才能实现的、有明确开始和结束的成果
-
它的用途是「定义方向」和「衡量进展」,因此它的核心属性是「进度条」、「项目周期」、「所属领域」等战略性字段
任务:
-
是一个行动单元,代表一个可以立即着手去做的、具体的的动作
-
它的用途是「驱动执行」。因此它的核心属性是「下一步做什么?」、「排期」、「状态」等执行性字段
不同的数据库作为不同的信息容器,通过互相关联,来定义信息的类型和流动方向,这一点在上面的文章有详细介绍,有时间的话建议稍微读一下,能系统了解本套模板的构建思路。
原因 2: 字段混淆
基于元信息的定义,【任务】和【项目】的数据库必然需要各自独立,否则字段就会混在一起,使得每个字段都需要承载两套使用逻辑。一个具体的「任务」条目里,会出现「项目进度条」这种无效字段;一个「项目」条目里,又会出现「下一步做什么?」这种执行字段。
这会让数据库变得异常臃肿和混乱,也会增加记录时的工作量,需要重复翻找才能找到合适的那个字段。
原因 3: 子任务的视图并不自由
如果把【任务】作为 sub-item 放在【项目】之下,那么以我长久以来的实践经验来看,未来必然会遇到非常多的【视图过滤筛选】问题。
原因 4: 函数统计
现在【任务】和【项目】都有各自的函数统计报表,必须分开在不同的数据库内存放,函数统计才可以良好运行,降低复杂度,也能减少函数统计时的性能开销。
函数统计参考:
点我
**问题**:我每天的工作都比较琐碎,并且都不足以归类到某一个具体的项目上,但又属于某一个特定的工作领域,这种情况该怎么做才能更好地管理这些任务?
**参考方法**:
1. 创建一个「六月工作汇总」的项目
2. 将这个月所有琐碎任务都关联到这个项目上
3. 将这个项目关联到特定的二级领域
4. 实现以下层级结构
* 二级领域 XXX
* 202506 - 工作汇总
* 琐碎任务 1
* 琐碎任务 2
## 领域设计
**问题**
经常遇到一些笔记它暂时不属于任何当前已建立的领域,但是又有留存的必要,为了它单独创建一个领域不值得,但不建立领域又少了一个分类的维度,怎么办?
**回答**
我在 FLO.W 系统的领域模块里,留存了一个「无领域笔记」视图,筛选出了所有「没有设置一级或二级领域」的笔记。这样一来你就可以集中查看那些没有设置领域的笔记,看看它们是否存在哪些共性,如果有的话,或许就可以为这些笔记创建一个「一级」或者「二级」领域了。

因此如果你觉得这个模块有必要显示出来的话,可以直接在导航条上 @ 这个页面。(方法参考 @导航条视频完整解读 )
**问题**
模板里的领域有一级二级,如何创建三级四级呢
**回答**
本模板在「领域」模块中采用「一级」与「二级」的双层结构,是经过审慎设计的。其目的是在「宏观战略」与「具体行动」之间建立最清晰、最高效的连接。在考虑增加更多层级前,理解其设计初衷至关重要。
首先你需要先阅读 [理解何为领域](/docs/basic-feature/area) 这篇文章,然后再往下阅读。
限制地增加三级、四级领域,容易导致管理结构臃肿、决策负担加重,并可能让信息固化在某个角落,违背了信息流动的核心理念。当需要比二级领域更精细的分类时,不推荐直接创建新的数据库层级,而是建议根据其本质,选择以下两种更符合系统逻辑的路径。
当一个想法的本质是「为了完成某件具体的事」时,它更适合作为项目进行管理。
* **场景示例**:
在一级领域「职业发展」和二级领域「数据分析能力」下,想要开始学习 Python。此时不应创建三级领域「Python学习」。
* **推荐操作**:
在 `Project|项目管理` 数据库中,创建一个名为「学习 - Python 基础入门」的新项目,并将其关联到二级领域「数据分析能力」。
* **核心优势**:
项目天然具备目标和时限,能驱动具体任务的拆解和执行,形成行动闭环。项目完成后归档,能保持领域结构的长期清爽与战略性。
当一个想法的本质是「长期持续的方向」时,它更适合作为项目进行管理。
当一个想法的本质是「需要对某个特定知识领域进行深度梳理」时,它更适合作为知识网络的核心节点。
* **场景示例**:
在一级领域「个人心智成长」下,对「斯多葛主义哲学」产生了深厚兴趣,并希望系统整理。
* **推荐操作**:
1. 在 `笔记管理` 数据库中,创建一篇名为「专题:斯多葛主义哲学研究」的笔记。
2. 将这篇笔记关联到一级领域「个人心智成长」。
3. 所有关于此主题的更细分的笔记(如读书笔记、个人思考等),都通过「父/子级」关系链接到这篇「专题笔记」上。
* **核心优势**:
以笔记为核心构建知识网络,比创建僵化的层级更灵活、更轻便。专题笔记页面本身就成为该主题的思考中心与索引目录。
\| --- | --- | --- |
\| 一个**有明确目标、能在一段时间内完成**的事情 | 将其定义为一个 **`项目 (Project)`** | 用 **行动** 来定义目标 |
\| 一个**需要长期学习和积累**的知识主题 | 将其创建为一篇 **`专题笔记 (Topic Note)`** | 用 **知识** 来组织知识 |
**社群读者提问**
我有一些需要长期践行的个人原则,想为它创建一个项目来不断完善。我感觉它应该属于【个人成长】这个一级领域之下,但又觉得它像一个二级领域。我该如何安放它,才能构建出【`个人成长 -> 践行原则 -> 完善原则的项目 -> 具体任务`】 这样的层级呢?
**我的回答**
**一、【领域】是房间,【笔记】是书**
在开始操作前,我们首先要建立一个认知
* **【领域 Area】是「房间」**:它代表你人生的一个长期责任区,是一个你需要持续打理和投入的空间,比如书房(个人成长)、厨房(健康管理)。它是结构,是容器。
* **【笔记 Note】是「书」或「工具」**:它代表具体的知识、信息、方法论、参考资料。你的「个人原则」就是一本需要被反复阅读和修订的「人生指导手册」。它是内容,是实体。
读者问题的核心困惑,就在于**试图将一本「书」,当成一个「房间」来对待**。
**二、错误的做法:用层级硬塞**
如果我们遵循传统文件夹的层级思维,就会像提问者那样,试图构建一个看似合理的层级链条:
* 一级领域:个人成长 (房间)
* 二级领域:践行原则 (试图把书当成一个小房间)
* 项目:完善个人原则
* 任务...
这个结构的问题在于,【践行原则】本身并不具备【领域】的特性。它没有独立的、需要长期投入的目标,本质上是一份需要被参考的「内容」。强行把它设为二级领域,会让你的领域结构变得既有房间,又有书,造成混乱。
**三、FLO.W 的解决方案**
「践行原则」是高度浓缩的智慧结晶,是指导你行动的SOP,这正是【笔记】数据库存在的意义。
1. 进入 `笔记管理` 数据库
2. 创建一个新的笔记,标题可以是「我的个人践行原则」
3. 在这篇笔记的页面内部,详细写下你的每一条原则
4. 将这篇笔记关联到【一级领域】的「个人成长」
现在,你的「书」已经放进了正确的「房间」。
现在,你可以为「完善原则」这个目标创建一个项目,并让它和你刚刚创建的原则笔记产生联动。
1. 进入 `项目管理` 数据库
2. 创建一个新项目,例如:「Q4 个人原则复盘与迭代」
3. 将这个项目关联到【二级领域】的「个人心智模型建设」(或者其他你自定义的二级领域)下
4. **最关键的一步**:在这个项目的「关联笔记」属性中,找到并关联上你那篇名为「我的个人践行原则」的笔记
这样一来,我们就构建了一个全新的、更强大的结构:
* **一级领域:** 个人成长
* **二级领域:** 个人心智模型建设
* **项目:** Q4 个人原则复盘与迭代
* **关联的笔记** **【我的个人践行原则】**
* **任务:** 1. 复盘上季度原则执行情况...
【原则】这篇笔记不再是层级链条中僵化的一环,而是像一个外挂的知识 U 盘,灵活地插入到了需要它的项目中。
**这种做法的好处是:**
* **结构清晰**:你的【领域】结构永远只存放责任区,保持着战略高度的纯粹性
* **高度灵活**:同一篇「原则」笔记,未来还可以被「年度规划项目」、「人际关系复盘项目」等多个不同的项目所关联复用,真正实现知识的流动
当你遇到一个新概念,不确定该如何安放时,可以问自己一个问题:它是一个我需要长期负责的「地方」,还是一个我需要参考或行动的「东西」?
* 如果是「地方」,它应该是一个领域
* 如果是「东西」,它很可能是一篇【笔记】或一个【项目】
***
**想深入了解?** 阅读 [FLO.W 设计初衷](/flow/design-philosophy) 或 [重新审视 Notion,我的七年心得感悟](/blog/notion-7-year-reflection)。
---
# 故障排除 (https://21notion.com/docs/faq/troubleshooting)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
遇到问题?本页面收录了 FLO.W 模板的常见故障及解决方案。
## 误删内容恢复
不小心删错了东西?别慌,按照下面的方法可以找回来。
最简单的方法:立即按快捷键撤销。
* **Windows**:`Ctrl + Z`
* **Mac**:`Cmd + Z`
可以连续按多次,逐步撤回之前的操作。
**注意**:关闭页面或刷新后,撤销记录会清空,这个方法就失效了。
如果你不小心删掉了页面上的某个模块(比如一个数据库视图),但页面本身还在——别担心,你删掉的只是页面上的「展示窗口」,数据库本身和里面的数据都还在。
**方法一:通过页面历史恢复**
1. 点击页面右上角的 `···` 菜单
2. 选择「版本历史」
3. 在右侧时间线中找到删除之前的版本
4. 点击「恢复」
**方法二:从数据库页面重新嵌入**
如果页面历史无法恢复,可以手动把数据库重新放回来。FLO.W 的所有原始数据库都集中存放在导航栏的「数据库」页面中,只需要找到它、复制链接、粘贴回来即可:
1. 打开 FLO.W 顶部导航栏,进入「数据库」页面
2. 找到你需要的数据库(如「打卡动态」)
3. 进入该数据库,使用 `Ctrl+L`(Mac:`Cmd+L`)复制链接
4. 回到原来的页面,粘贴链接,创建镜像视图
5. 根据需要调整数据库设置(布局、属性可见性等)
Notion 删除的页面会进入「回收站」,30 天内可以找回:
1. 点击左侧边栏底部的「回收站」
2. 搜索被删除的页面名称
3. 找到后点击「恢复」
**注意**:回收站内容有保留期限,请尽早恢复。
## 模板激活问题
如果您在数据库中创建笔记时遇到模板无法激活的问题:

**解决步骤**
1. 点击数据库的视图标题
2. 打开【源数据库】
3. 使用 `Ctrl+L`(Windows)或 `Cmd+L`(Mac)复制【源数据库】的链接
4. 将复制的链接粘贴到出问题的数据库页面中
5. 创建一个新的镜像视图
6. 测试新镜像视图的【模板】是否能正常激活
**如果问题仍然存在**
* 请在飞书群新开一个话题提问
* 提供具体的错误截图和操作步骤
* 我们会协助您快速解决问题
**预防措施**
* 避免随意删除或移动源数据库
* 保持模板结构的完整性
在实际操作过程中,当你创建一个新的页面,却发现页面的样子与我视频中展现的样子不一样,原因可能是你没有成功激活模板。这个时候你可以点击页面下方的这个模板按钮,稍等片刻就可以重新激活模板了。

但有时候你可能会发现页面中并没有类似的模板按钮,原因在于,这个页面已经不是「空白页面」了,只有「**没有任何内容的空白页面**」才会出现模板按钮。
在这种情况下,你可以点击页面,全选所有内容(包括空白的段落),然后执行删除操作,就可以将页面还原为「空白页面」,然后模板按钮就会出现了。
## 已知错误修复
由于 FLO.W 系统的体量过于庞大,因此有可能在各种细节角落存在一些错误,本章节即为修复这些错误而建。
> **适用范围**:2025 年 11 月 3 日之前复制模板的用户。之后复制的模板已修复此问题。
**问题表现**
在剪藏文章中,点击【完成】按钮,无法将阅读状态改为【已完成】

**解决方法**
点击【完成】这个字段,会弹出如下提示

然后再点击【编辑属性 - 编辑自动化】,然后点击出现错误的地方

把【已删除选项】改成【已完成】

最后点击保存按钮即可

> **适用范围**:2025 年 11 月 3 日之前复制模板的用户。之后复制的模板已修复此问题。
**问题表现**
当月份来到 11 月或者 12 月的时候,热力图的显示就会无法正确对齐,如下图所示:

**解决方法**
复制下面这段代码,然后覆盖原有的代码即可
```
/* ========== 打卡统计看板 (基于当前月份) - 集成习惯分类和月度目标 ========== */
lets(
/* --- 核心变量 --- */
boardReferenceDate, now(), /* 看板始终基于当前日期和时间 */
currentYear, boardReferenceDate.formatDate("YYYY"), /* 当前年份字符串 */
currentMonth, boardReferenceDate.formatDate("MM"), /* 当前月份字符串 */
boardYearMonth, currentYear + "/" + currentMonth, /* 当前年月,例如 "2025/05" */
/* --- 今日打卡状态 --- */
todayDateText, now().formatDate("YYYY/MM/DD"),
allRecords, prop("打卡记录"), /* 所有打卡记录 */
isCheckedInToday, allRecords.filter(current.prop("日期").formatDate("YYYY/MM/DD") == todayDateText).length() > 0,
todayCheckInStatusText, if(isCheckedInToday, "✅ 今天已打卡", "❌ 今天未打卡"),
habitCategory, prop("习惯分类"), /* 获取习惯分类 */
monthlyLimitTarget, prop("目标/上限"), /* 获取每月上限或下限目标值 */
/* 根据习惯分类调整标记和颜色 */
triggerMark, if(habitCategory == "好习惯", "✓", "x"),
userDefinedColorForHabit, prop("习惯颜色"),
triggerColor, if(
habitCategory == "好习惯",
"green",
empty(userDefinedColorForHabit) ? "red" : userDefinedColorForHabit
),
/* --- 1. 计算当月触发/完成次数 --- */
/* allRecords 已在上方定义 */
monthlyTriggers,
allRecords.filter(
current.prop("日期").formatDate("YYYY/MM") == boardYearMonth
).length(),
/* --- 2. 构建第一行显示的习惯信息字符串 (对好坏习惯均显示) --- */
habitInfo,
lets(
baseText, format("本月 ") + monthlyTriggers + " 次",
actualSuffixText, /* 初始化后缀文本 */
if(empty(monthlyLimitTarget),
"", /* 如果没有设置目标/上限,则后缀为空 */
if(habitCategory == "好习惯",
lets(
neededForTarget, monthlyLimitTarget - monthlyTriggers,
if(neededForTarget <= 0,
"|已达标",
"|还需 " + format(neededForTarget) + " 次"
)
),
/* 当为坏习惯时 */
lets(
remainingCount, monthlyLimitTarget - monthlyTriggers,
if(remainingCount >= 0,
"|剩余 " + format(remainingCount) + " 次",
"|已超额 " + format(abs(remainingCount)) + " 次"
)
)
)
),
(baseText + actualSuffixText).style("b", "u") /* 组合并应用样式 */
),
/* --- 3. 月份和星期表头 --- */
monthHeader,
lets(
monthNum, boardReferenceDate.formatDate("MM").toNumber(),
monthText, if(monthNum >= 11,
boardReferenceDate.formatDate("MMM"), /* 11、12月用缩写 */
boardReferenceDate.formatDate("MM") + "月" /* 1-10月用数字 */
),
monthText.style(
triggerColor + "_background", "c", "b", triggerColor
)
),
dayAbbreviations, ["M", "T", "W", "T", "F", "S", "S"],
weekHeader, dayAbbreviations.map(
lets(
dayAbbr, current,
dayIndex, index,
systemToday, now().day(),
isToday, (systemToday == 0 && dayIndex == 6) || (systemToday != 0 && systemToday - 1 == dayIndex),
dayAbbr.style(
triggerColor + "_background", "c", "b",
isToday ? ((triggerColor == "yellow" || triggerColor == "pink" || triggerColor == "green" || triggerColor == "gray") ? "brown" : "white") : triggerColor
)
)
).join(" "),
fullHeader, monthHeader + " " + weekHeader,
/* --- 4. 每周打卡热图 --- */
firstDayOfBoardMonth, parseDate(currentYear + "-" + currentMonth),
startDayOfWeekForBoardMonth, firstDayOfBoardMonth.day(),
week1StartDate, firstDayOfBoardMonth.dateSubtract((startDayOfWeekForBoardMonth + 6) % 7, "days"),
weekDaysOffsets, [0, 1, 2, 3, 4, 5, 6],
weekOffsetsForMap, [0, 7, 14, 21, 28, 35],
allWeekViewsRendered, weekOffsetsForMap.map(
lets(
daysToAdd, current,
currentWeekStartDate, week1StartDate.dateAdd(daysToAdd, "days"),
currentWeekIndex, index,
isThisWeekPotentiallyRelevant, currentWeekStartDate.formatDate("YYYY/MM") == boardYearMonth || currentWeekStartDate.dateAdd(6, "days").formatDate("YYYY/MM") == boardYearMonth,
displayThisWeek, (currentWeekIndex < 5) || (currentWeekIndex == 5 && isThisWeekPotentiallyRelevant),
weekViewContent, displayThisWeek ? (
(currentWeekStartDate.formatDate("WW") + "周").style(
currentWeekStartDate.formatDate("YYYY/WW") == now().formatDate("YYYY/WW") ? triggerColor + "_background" : "",
"c", "b", triggerColor
) + " " +
weekDaysOffsets.map(
lets(
dayOffset, current,
currentDayInGrid, currentWeekStartDate.dateAdd(dayOffset, "days"),
isCurrentDisplayMonth, currentDayInGrid.formatDate("YYYY/MM") == boardYearMonth,
dailyTriggersCount, isCurrentDisplayMonth ?
allRecords.filter(
current.prop("日期").formatDate("YYYY/MM/DD") == currentDayInGrid.formatDate("YYYY/MM/DD")
).length() : 0,
isActualToday, currentDayInGrid.formatDate("YYYY/MM/DD") == todayDateText, /* 使用 todayDateText 比较 */
(dailyTriggersCount > 0 ? triggerMark : (isCurrentDisplayMonth ? "·" : " ")).style(
dailyTriggersCount > 0 ? triggerColor + "_background" : (isActualToday && isCurrentDisplayMonth ? "blue_background" : ""),
"c", "b",
dailyTriggersCount > 0 ? triggerColor : (isCurrentDisplayMonth ? (isActualToday ? "white" : "gray") : "")
)
)
).join(" ")
) : "",
weekViewContent
)
).filter(current != "").join("\n"),
/* --- 构建本月目标/上限的文本行 (for summary) --- */
monthlyTargetDisplayLine,
if(empty(monthlyLimitTarget),
"", /* 如果目标/上限为空,则此行为空 */
if(habitCategory == "好习惯",
format("本月目标 ") + format(monthlyLimitTarget) + " 次",
format("本月上限 ") + format(monthlyLimitTarget) + " 次"
)
),
/* --- 计算上个月和年度统计 (for summary) --- */
dateForLastMonth, boardReferenceDate.dateSubtract(1, "months"),
lastMonthYearMonth, dateForLastMonth.formatDate("YYYY/MM"),
lastMonthTriggers, allRecords.filter(
current.prop("日期").formatDate("YYYY/MM") == lastMonthYearMonth
).length(),
percentageChangeText, /* 调整 "从0增加" 的措辞 */
if(lastMonthTriggers == 0,
/* 当上个月为0次时 */
if(monthlyTriggers > 0,
"本月增加 " + format(monthlyTriggers) + " 次", /* 修正:去掉重复的 "上个月 0" */
"无变化" /* 如果本月也为0次,则为无变化 */
),
/* 当上个月不为0次时,计算百分比 */
lets(
diff, monthlyTriggers - lastMonthTriggers,
percentage, round(diff / lastMonthTriggers * 100),
if(percentage == 0,
"无变化",
if(percentage > 0,
"增加 " + format(percentage) + "%",
"下降 " + format(abs(percentage)) + "%"
)
)
)
),
lastMonthSummary, "上个月 " + format(lastMonthTriggers) + " 次|" + percentageChangeText,
thisYearTriggers, allRecords.filter(
current.prop("日期").formatDate("YYYY") == currentYear
).length(),
thisYearSummary, "今年总计 " + format(thisYearTriggers) + " 次",
/* --- 5. 最终拼接所有部分 --- */
finalOutput,
todayCheckInStatusText + "\n" +
habitInfo + "\n" +
fullHeader + "\n" +
allWeekViewsRendered + "\n\n" +
if(empty(monthlyTargetDisplayLine), "", monthlyTargetDisplayLine + "\n") +
lastMonthSummary + "\n" +
thisYearSummary + "\n",
finalOutput
)
```
> **适用范围**:2025 年 11 月 2 日之前复制模板的用户。之后复制的模板已修复此问题。
**问题表现**
打开剪藏模块中的文章,找到【关联字段最后编辑时间】这个字段,点击之后发现如下图所示的错误:

**解决方法**
复制以下代码,然后完整覆盖即可
```
lets(
project,prop("关联项目").map(current.prop("上次编辑时间")),
task,prop("关联任务").map(current.prop("上次编辑时间")),
extract,prop("关联摘录").map(current.prop("Last Edited Time")),
author,prop("出自").map(current.prop("Last Edited Time")),
category,prop("书单分类").map(current.prop("Last Edited Time")),
subArea,prop("次级领域").map(current.prop("Last Edited Time")),
note,prop("关联笔记").map(current.prop("上次编辑时间")),
Area,prop("一级领域").map(current.prop("Last Edited Time")),
content,prop("Last Edited Time"),
[Area,note,subArea,category,author,author,extract,task,project,content].flat().unique().sort().reverse().first()
)
```
这次改动不影响任何功能,只是删去了一段无用的代码。
> **适用范围**:2025 年 9 月 14 日之前复制模板的用户。之后复制的模板已修复此问题。
**问题表现**
在某些情况下,如果你打开数据库,点击顶部的【主页】按钮
却跳转到了网页的某个地方
**解决方法**
**方法 1:修复链接**
进入你的模板主页,然后使用快捷键 Ctrl+L(Mac 用户请使用 Cmd+L),复制主页链接
回到你出现问题的数据库页面,然后编辑【主页】按钮的超链接
1. 鼠标悬停在【主页】两个字上
2. 点击【编辑】按钮,这个时候会弹出一个框
在【页面或 URL】的输入框内,粘贴步骤 1 获得的链接,粘贴之后回车,然后再点击【主页】按钮,就可以跳转到正确的主页了。
**方法 2:删除导航**
鉴于这个位置的导航使用频率比较低,因此你也可以直接把整串导航删掉,一般情况下不会影响使用。
> **适用范围**:2025 年 9 月 14 日之前复制模板的用户。之后复制的模板已修复此问题。
**问题表现**
在【生活 - 愿望】模块中,存在一个【加入已购买】的按钮
如果你点击这个按钮出现错误,可能是个这个按钮中的某个步骤出现了错误
**解决办法**
按照下图所示方法,重新编辑一下这个按钮即可
***
## Notion 打不开?
如果 Notion 网站或客户端突然无法访问,可能是 Notion 官方服务出了问题,不是你的网络或模板的原因。
* 访问 [Notion 官方状态页面](https://www.notion-status.com/) 查看当前服务是否正常
* 如果不是官方故障,可以参考 [Notion 访问加速方案](/docs/notion-download#notion-access-speed)
***
**问题没解决?** 加入 [飞书交流群](/docs/faq/support#join-feishu-group) 获取人工支持。
---
# 资产清单 (https://21notion.com/docs/lifestyle/assets-inventory)
## 模块介绍
你买的那个键盘花了 500 块,用了两年后闲置在角落,它的每日成本是多少?
这个模块会告诉你答案。记录每件物品的购买日期和价格,系统会自动计算它的每日成本和使用天数。三个月后当你又想买新键盘时,打开这里,你会更清醒地知道:上一个还没用够本。这不是让你变成守财奴,而是让你的每一次消费都更有掌控感。

> 🎯 **资产清单**是 FLO.W 模板的众多内置功能之一。除此之外,你还将获得任务管理、项目追踪、笔记系统等完整的效率工具箱——一套模板,覆盖工作与生活的方方面面。
>
>
>
> [👉 查看完整功能与价格](/pricing)
---
# 游戏记录 (https://21notion.com/docs/lifestyle/gaming-tracker)
## 模块介绍
通关一款游戏就像完成一场冒险,但这些经历不应该像云烟一样散去。
这个模块记录你的游戏库、通关进度、游戏评价和消费金额。两年后当朋友问你「这游戏值得玩吗」,你不用努力回忆,打开这里就是完整的游戏人生。每一款通关的游戏都是一段独特的旅程,值得被好好记录和回味。

> 🎯 **游戏记录**是 FLO.W 模板的众多内置功能之一。除此之外,你还将获得任务管理、项目追踪、笔记系统等完整的效率工具箱——一套模板,覆盖工作与生活的方方面面。
>
>
>
> [👉 查看完整功能与价格](/pricing)
---
# 习惯打卡 (https://21notion.com/docs/lifestyle/habits-tracker)
## 模块介绍
改变一个习惯就像推巨石上山,最难的不是力气不够,而是看不到自己已经走了多远。这个模块用热力图让每一天的坚持都变成可见的色块,读书、运动、早睡、背单词,无论你想养成什么习惯,打开这里就能看见自己与昨天的较量。当满满的绿色方块铺满日历,那种成就感会成为你继续前进的最好动力。

> 🎯 **习惯打卡**是 FLO.W 模板的众多内置功能之一。除此之外,你还将获得任务管理、项目追踪、笔记系统等完整的效率工具箱——一套模板,覆盖工作与生活的方方面面。
>
>
>
> [👉 查看完整功能与价格](/pricing)
## 常见问题
**提问**
因为使用高频,有没有方法可以一打开 notion,就可以打卡?这样缩短打卡路径,高效。
**回答**
在你想要快速打卡的地方,创建一个【按钮】。按钮的基本逻辑如下:
* 点击按钮后,在【数据库】创建一个页面,这个【数据库】的名称是【FLO.W 习惯打卡 DB】
* 编辑这个【新建页面】的【日期】字段,将其设置为【触发日期】
* 编辑这个【新建页面】的【关联习惯】字段,将其关联到【你希望打卡的那个习惯页面上】
按钮的逻辑需要一定的学习和研究成本,如果不会操作的话,可以在群内新开一个话题提问。
**提问**
重复点击了【打卡】按钮,导致【打卡统计】出现错误,如何清除重复打卡的记录?
**回答**
在下图所示位置,找到具体的打卡目标,然后删掉重复出现的日期页面。
**提问**
每一次打卡都会新增一个新页面吗?这样时间久了之后不就一大堆页面了,然后影响数据库的加载效率和稳定性?
**回答**
1. 这里会显示的页面有限,多到一定程度就会折叠起来。另外如果实在不想看,也可以隐藏这些字段。
2. 打卡的机制的确是每打一次卡就生成一个新的页面,不过这些页面不会跟你的笔记放在一起,是独立的一个数据库。又因为打卡页面是空白的,所以也不会污染搜索结果。
3. 打卡统计的函数性能开销不大,加载时不会占用太多的性能。
4. Notion 的函数只有被加载时才会运行,也就是说,如果你放着不看,那么它就相当于不存在。
---
# 生活记录 (https://21notion.com/docs/lifestyle)
import { CheckCircle, TvMinimalPlay, Box, Joystick, TicketMinus } from 'lucide-react';
生活不只有工作和学习。FLO.W 的生活记录模块帮助你追踪那些容易被遗忘但同样重要的生活细节——习惯养成、消费记录、娱乐时光。
> 💡 **模块定位**:这些功能是 FLO.W 系统的「生活配套」,你可以按需启用。它们与核心的任务、项目、笔记模块相互独立,不会增加日常使用的复杂度。
## 模块一览
} title="习惯打卡" href="/docs/lifestyle/habits-tracker">
用热力图记录每日坚持,让改变可见
} title="影视记录" href="/docs/lifestyle/movie-tracker">
记录观影体验,追踪想看和已看
} title="资产清单" href="/docs/lifestyle/assets-inventory">
计算每日成本,让消费更有掌控感
} title="游戏记录" href="/docs/lifestyle/gaming-tracker">
记录通关进度,回味游戏人生
} title="订阅管理" href="/docs/lifestyle/subscription-tracker">
追踪订阅费用,到期自动提醒
## 使用建议
这些模块的设计理念是「**低摩擦记录**」——不要为了记录而记录,而是在真正发生时顺手一记。
* **习惯打卡**:选 1-3 个最想改变的习惯开始,贪多嚼不烂
* **影视记录**:看完电影后花 30 秒写个评价,三个月后你会感谢自己
* **资产清单**:买新东西时记一笔,做消费决策时有据可依
* **游戏记录**:通关后记录感受,是给自己的游戏人生留档
* **订阅管理**:把所有自动扣费的服务都录入,设好提醒避免浪费
---
# 影视记录 (https://21notion.com/docs/lifestyle/movie-tracker)
## 模块介绍
看过的电影和剧集,不应该像快餐一样被消费掉。
这个模块帮你记录每一次观影体验:你的评价、观看时间、触动你的演员和导演。更重要的是,它还能提醒你期待的新片上映、追的剧更新了。从「想看」到「已看」,从「追踪」到「回味」,让你所有的观影记忆都有迹可循。
三个月后,当朋友问你「最近有什么好看的」,你不用努力回忆,打开这里就是答案。

> 🎯 **影视记录**是 FLO.W 模板的众多内置功能之一。除此之外,你还将获得任务管理、项目追踪、笔记系统等完整的效率工具箱——一套模板,覆盖工作与生活的方方面面。
>
>
>
> [👉 查看完整功能与价格](/pricing)
## 常见问题
画廊海报效果:

要想在画廊中显示海报,有两种方法。
1. 将海报直接粘贴到正文中,然后在【数据库设置 - 布局】中,将【卡片预览】设置为【页面内容】

2. 将海报上传到数据库的【文件】字段中,
首先你需要给数据库创建一个【文件】字段,用于上传海报

然后将【卡片预览】设置为这个文件字段


---
# 订阅管理 (https://21notion.com/docs/lifestyle/subscription-tracker)
## 模块介绍
ChatGPT、Notion、各种会员,每个月几十块感觉不多,但年底一算可能是好几千。
这些自动扣费的订阅就像温水煮青蛙,让你的钱在不知不觉中流失。这个模块追踪所有订阅服务,到期前自动提醒你续费还是取消。不是让你舍不得花钱,而是让你清醒地知道,每一笔钱都花在了真正需要的地方。

> 🎯 **订阅管理**是 FLO.W 模板的众多内置功能之一。除此之外,你还将获得任务管理、项目追踪、笔记系统等完整的效率工具箱——一套模板,覆盖工作与生活的方方面面。
>
>
>
> [👉 查看完整功能与价格](/pricing)
---
# 领域字段解析 (https://21notion.com/docs/properties/area)
## 一级领域字段解析
* **领域目标**:就是你在这个方向上最想达成的事,相当于给自己定个长期目标,告诉自己「我要往哪走」。
* **领域描述**:是用来写你做这件事的想法和理念的。为什么要做?想创造什么价值?有时候做着做着容易迷失,翻回来看看这段话,能帮你重新找回当初的想法。
* **核心方向**:就是把大目标拆开,变成几条可以执行的路径,把「目标」变成「怎么干」。
* **领域缺口**:自我诊断——现在缺什么?是资源不够、时间不够、还是认知有盲区?写出来提醒自己该补哪些短板。
* **领域校准**:定期回顾的时间点。比如每季度看一次,目标还对不对?方向要不要调整?防止埋头干活却走偏了。
参考:

整体逻辑就是:**先定目标** → **说清楚为什么做** → **怎么做** → **差什么** → **定期 review**
---
# 剪藏字段解析 (https://21notion.com/docs/properties/explore)
## 设计逻辑
信息港口是 FLO.W 模板中统一管理所有「输入型内容」的数据库——无论是书籍、文章、视频、课程还是帖子,都汇聚在这里。
这样设计的核心原因:
* **统一入口**:不需要在多个数据库之间切换,所有待读/在读/已读内容都在一处
* **灵活分类**:通过「内容形式」字段区分类型,再配合视图筛选,既保持数据统一,又能按需查看
* **关联流动**:阅读不是孤立行为,它与任务、项目、笔记、领域都有关系,这些关联让知识真正流动起来
***
## 字段说明与使用方法
### 📌 基础信息字段
| 字段 | 说明 | 使用方法 |
| -------- | ------ | ------------------------- |
| **Name** | 内容标题 | 填写书名、文章标题、视频名称等 |
| **内容形式** | 内容的类型 | 选择:书籍 / 文章 / 视频 / 课程 / 帖子 |
| **阅读状态** | 当前进度状态 | 未开始 → 进行中 → 已完成 |
| **URL** | 内容来源链接 | 填写原文/视频/课程的网址,方便回溯 |
| **封面** | 内容封面图 | 上传或粘贴封面图片,让列表视图更直观 |
***
### 📖 书籍专用字段
以下字段仅在「内容形式 = 书籍」时有意义:
| 字段 | 说明 | 使用方法 |
| -------- | ------- | -------------------------- |
| **总页数** | 书籍总页数 | 填写数字,用于计算阅读进度 |
| **已读页数** | 当前已读页数 | 每次阅读后更新,系统自动计算进度百分比 |
| **阅读进度** | 自动计算的进度 | 公式字段,无需手动填写,显示「已读页数 ÷ 总页数」 |
| **字数** | 书籍总字数 | 可选填写,部分电子书会显示字数 |
| **豆瓣评分** | 豆瓣上的评分 | 填写 0-10 的数字,帮助判断是否值得读 |
| **书单分类** | 书籍的主题分类 | 关联到书单分类库,如「效率」「心理学」「商业」等 |
| **关联摘录** | 精华段落 | 页面内嵌的摘录数据库会自动关联,无需手动设置 |
关联案例:[如何用 FLO.W 模板读一本书](/blog/book-reading)
### 🎯 阅读意图字段
| 字段 | 说明 | 使用方法 |
| -------- | -------- | ------------------------------- |
| **为什么读** | 阅读动机与期待 | 在开始前写下:想解决什么问题?想学到什么?这能帮助保持阅读焦点 |
| **读后感** | 阅读后的整体感受 | 完成后简短记录:这本书/文章给我最大的收获是什么? |
***
### 🔗 关联字段
这些字段让阅读内容与系统其他部分产生连接:
| 字段 | 说明 | 使用场景 |
| --------------- | --------- | ------------------------------ |
| **一级领域 / 次级领域** | 内容所属的知识领域 | 这篇内容属于哪个领域?关联后可在领域页面看到所有相关内容 |
| **出自** | 作者/博主/频道 | 关联到人物库,方便追踪某位作者的所有作品 |
| **关联任务** | 触发的待办事项 | 读完后有什么要做的?直接关联任务 |
| **关联项目** | 所属的项目 | 这次阅读是为了哪个项目?关联后项目页面会显示所有参考资料 |
| **关联笔记** | 延伸的笔记 | 基于这篇内容写了什么笔记?双向关联,知识不会散落 |
| **阅读报告** | 周期性阅读汇总 | 自动关联到阅读报告,无需手动操作,用于生成月度/年度阅读统计 |
***
### ⚙️ 系统字段
| 字段 | 说明 | 备注 |
| ------------ | -------- | ---------------------- |
| **创建日期** | 页面创建时间 | 自动记录,无需手动填写 |
| **完成日期** | 标记完成的日期 | 点击「完成」按钮时自动填写 |
| **完成** | 一键完成按钮 | 点击后自动将状态改为「已完成」并记录完成日期 |
| **URL Icon** | 根据链接显示图标 | 公式字段,自动提取网站图标 |
| **站点提取** | 提取链接的域名 | 公式字段,显示内容来源站点 |
---
# 笔记字段解析 (https://21notion.com/docs/properties/note)
## 笔记类型
关注笔记的本质目的,「疑问」需要被回答,「流程」意味着可以被复用,尽量用有限的标签来涵盖自己的日常笔记类型,让自己可以在一则笔记诞生时,最快地找到存放位置。因为每个人的日常笔记类型都不一样,所以这里的「类型」也是可以高度自定义的,但不建议设置太多的笔记类型,否则反而会加重分类的负担。
在 FLOW 系统中,适当的模糊是允许的,因为除了「笔记类型」可以作为笔记的分类维度,还有更多的方法和视角可以帮助你找到需要的笔记。
**当前预设的六种笔记类型**
| 类型 | 说明 |
| ----------------------- | ---------------------------------------------------------------------------- |
| **Exp - 经验 / 总结 / 复盘** | 用于记录从实践(项目、任务、生活经历)中获得的经验教训、对某个复杂主题的深度研究总结、或周期性的个人/工作复盘思考。这类笔记是知识内化和提炼升华的关键。 |
| **Log - 日志 / 过程 / 经历** | 用于记录日常的日记、工作日志、项目进展的具体过程、个人重要的经历或观察发现。 |
| **Ask - 困惑 / 未知 / 难题** | 用于记录在学习、工作或生活中产生的具体疑问、需要进一步探究的问题、面临的挑战或难题 |
| **How - 方法 / 流程 / 指南** | 用于记录具体的操作方法、工作流程、SOP(标准作业程序)、某项技能的习得指南或教程 |
| **Idea - 思考 / 灵感 / 观点** | 用于快速捕捉任何一闪而过的灵感、初步的想法、独特的个人观点或创新的解决方案 |
| **Ref - 资源 / 摘录 / 工具** | 用于存储有价值的外部资源链接、文章/书籍的精华摘录、推荐的工具清单、或者其他值得参考的资料片段。 |
## 出链与入链
在 FLOW 系统的笔记页面中,你可以在关联模块位置看到出链和入链这两个选项,它们的用法都是一样的,都可以让你将笔记和其他笔记关联起来。
* 出链是主动关联,是我想起了有哪些笔记与本条有关
* 入链是被动关联,是我被哪些笔记关联了
这个机制是为了构建一种笔记之间的方向感

### 什么是方向感
它指的是从某一条笔记出发,能清晰地感知信息的上下文结构、因果关系或发展路径。也就是说,不仅知道有哪些关联笔记,还能知道它们之间**谁是起点,谁是延伸,谁是总结,谁是补充**。
### 出链与入链的本质
* **出链**:当前笔记主动提到或引用了其他笔记。意味着「我依赖它、我解释它、我基于它延伸出观点」。
* **入链**:其他笔记提到或引用了当前笔记。意味着「它被谁关注、它是哪个话题的基础或来源」。
### 如何使用出链与入链
* **查看出链** → 得到「它引用了谁」,适合延伸阅读(如递进阅读、概念拆解)
* **查看入链** → 得到「谁引用了它」,适合回顾总结(如找到上层结构、总结类笔记)
## 父级与子级
## 同级笔记
笔记管理数据库在开启了「子项目」功能的前提下,假设存在以下笔记结构
* 父笔记
* 子笔记 A
* 子笔记 B
* 子笔记 C
* …
那么当你访问「子笔记 A」时,就会在「同级笔记」的位置显示「子笔记 B、C、D….」

## 专题笔记
当一则笔记有子笔记时,我们就可以将其称之为专题笔记。
### 专题笔记实现逻辑
1. 开启【笔记数据库】的「子项目」功能,如果已开启请忽略。【子项目】的功能位置可能有变化

2. 使用函数来判断一则笔记是否为「专题笔记」
`empty(子级).not() or empty(父级).not()`
如果结果为真,函数就会自动打勾
然后将所有筛选结果汇聚到这个页面

### 如何添加子笔记
请参考:[父级与子级](#父级与子级)
### 专题笔记的应用示例

## 关注度
**用「关注度」来标记「此刻」需要关注的笔记内容**
只有当一则笔记的「完成度」处在「`进行中`」时,才需要为它分配注意力,但常态是当笔记数量足够多,如果只有「进行中」这个分类的话,就会过载,所以需要进一步聚焦,用「关注度」来标记现在需要分配更多注意力的笔记
* Active:最近几天正在处理的笔记内容
* Waiting:遇到阻塞暂时搁置,等有更多材料,可以进一步完善补充
* Paused:当前笔记做到一半还未完成,且有完成的必要,但暂时无法完成且重要性低,可被暂停

**补充**
* 如果笔记不处于「进行中」的状态,则不需要设置「关注度」
* 如果你是 Notion 付费用户,可以设置一个自动化,自动取消「关注度」

## 完成度
每一则笔记都有三种生命周期,未开始、进行中、已完成,分别用来表示我对它们的处理进度
* 未开始:只有笔记标题或粗略的想法,先记录下来以防丢失
* 进行中:正在编辑中
* 已完成:笔记标题所能涵盖的内容已经完成

**补充**
* 不必过于追求精确的分类
* 凭你的第一直觉去设定笔记的完成度即可
## 常用笔记
过滤筛选常用的笔记,用来快速访问、快速记录。例如常用的 Prompt、经常翻阅的手册、流程、指南等。

随后这些笔记会出现在下图所示位置

## 随机排序
**字段位置**
这个字段目前存在于以下几个位置:
1. 【笔记数据库】
2. 【项目管理 - 内容创作 - 选题库】
**字段解释**
* 这是个自动计算的函数,不需要手动干预
* 可以根据当前页面的【创建时间】自动生成一串随机数
**字段用法**
* 对【随机排序】这个字段进行排序(升序或者降序都行),就可以实现数据库页面的随机浏览
**功能场景**
对笔记或选题等页面随机排序,就可以实现随机回顾笔记内容,帮助你发现(偶遇)被遗忘的旧笔记,而不是按创建时间或字母顺序查看
---
# 项目字段解析 (https://21notion.com/docs/properties/project)
## 前置与后续
### 字段解释
当前的 FLO.W 系统存在这样的一个以「一级领域」为顶层设计的基本框架,具体你可以看 [模板手册](/docs) 的这一篇文章: [理解何为领域](/docs/basic-feature/area) 。
* 一级领域
* 二级领域
* 项目 A
* 项目 B
* 任务 1
* 任务 2
在这样的框架设计下,各个项目之间都是平行的,除非它们都关联到了同一个【二级领域】上
例如:
* 二级领域 - Python 数据分析
* 项目 A
* 项目 B
但是这样一来可能会出现一些特殊情况。
### 可能存在的情况
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
有时候,一个「项目」的粒度太大,导致我们根本无法开始行动。比如,你想创建一个项目叫「学习 Notion 课程」,但这个目标过于庞大和模糊。你可能希望把它拆解成更小的、可管理的单元,比如:
* 学习 Notion 课程 (父项目)
* 学习第一章:基础入门 (子项目)
* 学习第二章:数据库详解 (子项目)
* 学习第三章:高阶公式 (子项目)
在这里,你可能会觉得「学习第一章」本身足够复杂,需要关联它自己的任务和笔记,因此它不能只是一个简单的任务,而应该是一个「子项目」。
有些项目之间存在严格的顺序关系,必须完成一个,才能开始下一个。
例如:
1. 你必须先完成项目「完成 APP 的 UI 设计」。
2. 然后才能开始项目「启动 APP 的前端开发」。
在目前的平行结构下,我们无法清晰地表达这种「A 是 B 的前置条件」的依赖关系。
为了解决以上两种需求,可以利用项目的前置和后续功能

1. 这个特性是【进阶版 · 大版本免费升级权益】的升级权益
2. 如果您是进阶版用户,请在「飞书交流群」群公告里,找到更新方法和详细说明
3. 基础版 / 专业版 升级到进阶版的方法 → [版本升级](/docs/faq/support)
## 关联条目最后编辑时间
在 FLOW 系统中,你会在很多数据库中看到一个叫做「关联条目最后编辑时间」的字段,例如:

这个字段的基本用途是,显示与当前页面相关联的所有页面的最后编辑时间。
Notion 自带的「上次编辑时间」只能告诉你**这个页面本身**何时被修改过。而「关联条目最后编辑时间」这个字段,会自动检查所有**与这个页面关联在一起的内容**(比如关联的任务、项目、子笔记、父笔记、出链、入链等),然后告诉你在所有这些内容中,最近的一次编辑时间是什么时候。
当你把一篇几个月前写的旧笔记链接到一个新项目上时,这篇旧笔记的「**`关联条目最后编辑时间`**」会立刻更新到今天。这意味着它有机会重新出现在你的视野中。这个机制能帮你把过去积累的智慧和当下的工作联系起来,产生意想不到的化学反应。
---
# 任务字段解析 (https://21notion.com/docs/properties/task)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
本文档将详细解析 FLO.W 模板中任务数据库的各个字段,帮助您更好地理解和使用任务管理功能。
## 任务类型:日程和待办的区别
| **特点** | **📅 日程(约会)** | **✅ 待办(作业)** |
| ------ | --------------- | ------------ |
| 时间特征 | 固定时间点(下午3点开会) | 截止时间(周五前完成) |
| 灵活程度 | 不可调整(会议室已预定) | 可自主安排(根据状态) |
| 常见场景 | 会议、航班、婚礼、生日 | 写报告、购物、取快递 |
| 注意事项 | 需准时到场,确保时间段不被打扰 | 时间灵活,注意截止期限 |
## 排期与完成日期
很多人会把这两个字段搞混,最核心的区别是:
* **排期** = 你**计划**什么时候做(预期)
* **完成日期** = 你**实际**什么时候做完的(结果)
举个例子:你计划周一到周五写一篇文章,那「排期」就是周一 \~ 周五。结果你周三就写完了,那「完成日期」填周三。
## 下一步做什么
为当前任务设置一个可以立刻去执行的动作,让你下次再看到当前任务时,可以不用进行任何思考地去执行,然后依靠惯性将这个任务进一步拆解和完成
## 同级任务
「同级任务」是一个公式字段,会自动列出**同一个项目下的其他任务**,帮你快速了解相关工作的进展。
**显示规则:**
* 通过「关联项目」找到同项目下的所有任务,排除当前任务本身
* 按创建日期从新到旧排列,最多显示 20 条
* 每条任务显示:任务名称 + 创建日期(蓝色)+ 当前状态(颜色区分)
* 绿色:完成
* 蓝色:执行
* 红色:待办 / 搁置 / 收集 / 放弃
**使用场景:** 当你正在做一个项目中的某个任务时,不用切换到项目页面,就能直接看到这个项目下其他任务的状态。
> 此功能为[进阶版更新](/docs/faq/support#upgrade-pricing)专属功能。
## 任务提醒

**原因:** 你已经填写了「完成日期」,但「状态」还不是「完成」或「放弃」。
* 如果任务确实完成:把「状态」改为「完成」。
* 如果任务是放弃的:把「状态」改为「放弃」,完成日期可保留作为记录。
* 如果误填了完成日期:清空「完成日期」即可。
说明任务已经过了截止时间但还未完成。
* **逾期 N 天**:截止日期已过 N 天(按天计算)。
* **超时 X 小时 Y 分**:排期设置了具体时刻,当天已超过该时刻(按小时/分钟计算)。
* 解决:完成任务后把「状态」改为「完成」并填写「完成日期」。
**原因:** 「状态」字段为空,但「完成日期」已填写,系统推断任务已完成。
* 解决:把「状态」改为「完成」,提示就会变成正常的完成信息。
* 排期中没有设置「具体时间」。当排期只有日期(全天事件)时,系统只按「天」来提示。
* 解决:在「排期」中为截止时间添加具体时刻(例如 17:00),之后会显示小时/分钟级别的提示。
* 「按时完成」要求完成时间与截止时间完全一致,实际操作中很少刚好相等。
* 看到「提前完成」或「逾期完成」都是正常的,不必在意。
* **待排期**:任务没有设置排期,状态是收集/搁置/待办。
* **进行中 ( 未排期 )**:状态已经是「执行」,但还没有设置排期。
* 解决:至少设置一个截止日期;如果暂时不安排,也可放在「搁置」。
* 「完成日期」为空,或与实际时间不一致。
* 解决:在「完成日期」填入真实的完成时间,状态为「完成」后就会显示对应的完成信息。
* 当排期的开始或截止日期是明天时,系统会优先显示「明天开始/明天截止」的提醒。
* 若希望看到更精确的倒计时,请为排期设置具体时刻。
1. **状态是否正确**:完成就选「完成」,放弃就选「放弃」。
2. **排期是否为空**:为空会提示「待排期」。
3. **是否需要精细时间**:需要就给排期加上具体时刻;全天默认按「天」提示。
4. **完成日期**:完成后及时填写,误填及时更正。
* 在 Notion 中,如果只设置日期而不设置具体时间,则这个日期的时间默认是 00:00。
* 计算时间差时,系统按照 00:00 去计算,可能与你的直觉有差异。
## 任务状态字段使用指南
在 FLO.W 思流系统中,任务状态是用来标记任务所处的生命周期阶段。理解每个状态的含义,可以帮助你更高效地管理任务流转。

🟣 **收集**:还未明确的想法或待整理的事项
当你脑海中突然冒出一个想法,比如「要不要做个新功能」「或许可以写篇文章讲这个话题」,但具体怎么做、是否要做都还不确定时,就将它记录在「收集」状态。
**下一步行动**:定期回顾「收集」中的任务,决定是否将它转为「待办」,或者直接删除/放弃。
***
🟢 **待办**:已明确且确定要做的任务
当一个任务已经想清楚了「是什么」「为什么做」「怎么做」,只是还没到执行的时间点,就标记为「待办」。
**下一步行动**:当你准备开始执行时,将状态改为「执行」。
***
🟤 **搁置**:暂时不做,但未来可能重启的任务
当一个任务因为某些原因无法继续推进,但你又不想彻底放弃时,可以标记为「搁置」。
**与「放弃」的区别**:搁置是「暂停」,放弃是「终止」。搁置的任务依然保留在系统中,你可以定期回顾是否要重新激活。
🔵 **执行**:正在进行中的任务
只要你已经开始动手做这件事,或者今天就要开始做,就标记为「执行」。这是你当前的工作焦点。
**建议**:同时处于「执行」状态的任务不宜过多,建议控制在 3-5 个以内,保持专注。
**下一步行动**:完成后将状态改为「完成」,或者如果暂时做不了,可以改回「待办」或「搁置」。
⚫ **完成**:已经完成的任务
任务达成目标后,标记为「完成」。这是任务的正常结局。
**系统行为**:完成的任务会自动归档,你可以在复盘报告中查看已完成任务的统计数据。
***
🟠 **放弃**:确定不再执行的任务
当你明确决定不做某个任务时,标记为「放弃」。
**与「搁置」的区别**:放弃是明确的结束,意味着这个任务不会再出现在你的工作流中。
### 实践建议
**日常使用流程**:
1. 随时将想法记录到「收集」
2. 每天或每周整理「收集」,将明确的任务转为「待办」
3. 每天从「待办」中选择任务,开始执行时改为「执行」
4. 完成后标记为「完成」,如果做不了可以「搁置」或「放弃」
**常见误区**:
* ❌ 把所有任务都标记为「执行」→ 会导致无法聚焦
* ❌ 把「收集」当成垃圾桶→ 需要定期清理,否则会失去意义
* ❌ 不敢使用「放弃」→ 及时放弃无价值的任务,是保持系统整洁的关键
**核心原则**:状态的本质是帮助你**在正确的时间看到正确的任务**。不同状态的任务,会出现在不同的视图中,让你的工作流保持清晰和高效。
---
# Notion Template Design Philosophy - How FLO.W Helps You Build a Reliable Second Brain (https://21notion.com/en/docs/about)
What does a typical knowledge worker face every day? WeChat, Lark, and DingTalk constantly ringing; leaders scheduling meetings at any time; colleagues asking for data from last week; daily reports that require effort to fabricate a bunch of encrypted communications. After work, you want to teach yourself AI for a side hustle, and also need to find time to read, learn, watch shows, play games, and date - every task feels important, but you don't know what to do first, so you scroll through your phone to temporarily put aside all worries.
All of the above reflects my own experience. Over the years, this has become the driving force for my testing of various note-taking software. Initially, I researched this for personal interest, but later I treated it as a life project: could I find the most suitable tool for everyone, and then solve problems related to efficiency improvement, learning advancement, workflow building, and knowledge management?
This Template is a phased achievement after 4 years of my note-taking software reviews. Our goal is certainly not to learn how to use a specific tool, nor should we treat time management as the primary goal. What I believe is truly important is being able to find a set of methods and workflows that suit you, so that whether you're using Lark, Siyuan, Obsidian, or Apple Notes, or the newly launched FLO.W all-in-one Template, it can help you build a reliable second brain, allowing you to focus on truly important thinking and creation.
The fastest way for any productivity tool to deliver value is to use it to clear today's memory burden - that is, to record things you can't or don't want to forget right now in the simplest way possible with this tool, and then go do what you should be doing, because you no longer need to worry about forgetting. What runs counter to improving efficiency is actually spending too much time researching and imagining how much benefit productivity tools can bring you. Although this statement may discourage the majority of users who might purchase my Template on impulse, this ultimately represents my true perspective on tools. I don't intend to lie, and my Template will not have designs that are superficial and only increase anxiety.
---
# Purchase Guide (https://21notion.com/en/docs/get-started)
## Why Choose FLO.W
If you've read this far, it shows you have a genuine desire to improve your Notion skills and productivity. But before making a decision, let me ask you a few questions:
* Do you often feel overwhelmed by tasks, unsure where to start?
* Do you have many ideas and inspirations that always slip away before you can capture them?
* Have you tried many note-taking methods but never found the one that suits you?
* Do you feel like there's never enough time, often working overtime without obvious results?
If any of the above resonated with you, then **FLO.W** is designed for you.
***
## 🎯 What Problems Can FLO.W Solve
### From Chaos to Order
FLO.W is based on a **three-level filtering system** that presents the right amount of information, in the right way, at the right time:
* **Level 1: Today's Focus** — Open Notion daily and only see the 3-5 most important tasks
* **Level 2: Context Switching** — Enter specific modules where 80% of daily operations are completed within two clicks
* **Level 3: Deep Dive** — Only access when needed to avoid information overload
### Four Core Modules Covering All Scenarios
| Module | Problem It Solves | What You'll Gain |
| -------------------- | ----------------------------------------------- | -------------------------------------------------- |
| **Task Management** | Too many tasks to remember, confused priorities | Clear daily tasks, never miss important items |
| **Note System** | Scattered knowledge, can't find when needed | Structured knowledge base, accessible anytime |
| **Project Tracking** | Opaque project progress, often delayed | Visual project board, control progress at a glance |
| **Area Planning** | Fuzzy long-term goals, efforts lack direction | Clear life map, every step has meaning |
***
## 🛒 Choose Your Edition
**Best for:** Those who want to quickly experience the Notion workflow without needing too many additional services
**Includes:**
* ✅ Complete FLO.W v1.0 Template
* ✅ Detailed illustrated + video user manual
* ✅ Full coverage of basic features
**Summary:** Ready to use, saves time and effort
👉 [Buy Basic Edition](/pricing)
**Best for:** Those who want guidance to avoid detours and connect with like-minded users
**Includes:**
* ✅ All Basic Edition benefits
* ✅ Private Q\&A community
* ✅ Irregular practical case sharing
* ✅ Continuous iOS Shortcuts updates
**Summary:** Ask questions anytime, worry-free usage
👉 [Buy Professional Edition](/pricing)
Advanced Edition Most Popular
**Best for:** Long-term Notion users who want lasting benefits from a one-time purchase
**Includes:**
* ✅ All Professional Edition benefits
* ✅ **Free major version upgrades**
* ✅ **Long-term value guarantee**
* ✅ Exclusive core user community
* ✅ Priority dedicated service
The FLO.W Template will continue to iterate and upgrade, with each major version update containing numerous new features and optimizations. Based on the current update pace, the value of 2-3 upgrades already exceeds the price difference between Advanced and Basic editions. **Choosing Advanced Edition = One-time investment, permanent benefits**.
👉 [Buy Advanced Edition](/pricing)
***
## Still Have Questions?
Check [Purchase Related Questions](/docs/faq/before-purchase) for more, or contact us through:
* 📧 Email: [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
* 🎮 Discord: [Join the Discord channel to connect with more Notion enthusiasts](https://discord.gg/nPf7YJasru)
* 🐦 Twitter: [@eryidebiji](https://x.com/eryidebiji)
* 📕 Xiaohongshu: [Eryi's Notes](https://www.xiaohongshu.com/user/profile/5b613e2711be105522cb9b6f)
* 📺 Bilibili: [Eryi's Notes](https://space.bilibili.com/319417)
* 💬 WeChat Official Account: Eryi's Notes (Click to view QR code)
---
# Feature Overview (https://21notion.com/en/docs)
import { Download, FileText, Star, BookOpen, Layout, PenTool, CheckSquare, Folder, Map, Globe, Film, Target, Package, Gamepad2, CreditCard, Brain, MousePointer, Zap, Settings, Calculator, Compass, HelpCircle, LifeBuoy, Wrench } from 'lucide-react';
## Basics
Before starting with FLO.W, please understand these basics:
} title="Notion Download" href="/docs/notion-download">
Download and install Notion app
} title="Template Import Guide" href="/docs/template-import-guide">
Learn how to import and use the Template
## Quick Start
Master FLO.W's core features and get started quickly:
} title="Template Overview" href="/docs/basic-feature/template-overview">
Understand the Template's core design philosophy
} title="Homepage Navigation" href="/docs/basic-feature/homepage">
Learn to use the Template's Homepage and navigation module
} title="Note System" href="/docs/basic-feature/note-taking">
Use note-taking functionality
} title="Task Management" href="/docs/basic-feature/task-management">
Master the task management system
} title="Project Management" href="/docs/basic-feature/project-management">
Manage your projects
} title="Area Management" href="/docs/basic-feature/area">
Organize different life Areas
} title="Web Clipper" href="/docs/basic-feature/web-clipper">
Save web content
***
## Lifestyle Tracking
Use FLO.W to record and manage your life:
} title="Movie Tracker" href="/docs/lifestyle/movie-tracker">
Record movie viewing experience and ratings
} title="Habits Tracker" href="/docs/lifestyle/habits-tracker">
Build good lifestyle habits
} title="Assets Inventory" href="/docs/lifestyle/assets-inventory">
Manage personal assets and items
} title="Gaming Tracker" href="/docs/lifestyle/gaming-tracker">
Record game progress and ratings
} title="Subscription Tracker" href="/docs/lifestyle/subscription-tracker">
Manage various subscription services
## Advanced Usage
Explore FLO.W's advanced features:
} title="Notion AI" href="/docs/advance-feature/notion-ai">
Use AI features to boost efficiency
} title="Quick Buttons" href="/docs/advance-feature/notion-button">
Create interactive buttons
} title="Database Automation" href="/docs/advance-feature/automation">
Configure automated workflows
} title="Formula Application" href="/docs/advance-feature/formula">
Master Notion formula usage
## Property Reference
Learn about the configuration and usage of various Database Properties:
} title="Note Properties" href="/docs/properties/note">
Configure various Properties for Notes
} title="Task Properties" href="/docs/properties/task">
Set Property fields for Tasks
} title="Project Properties" href="/docs/properties/project">
Configure Property fields for Projects
} title="Clipper Properties" href="/docs/properties/explore">
Learn more Property configurations
## FAQ
Encountering problems? Check these common questions:
} title="Before Purchase" href="/docs/faq/before-purchase">
Version selection and purchase questions
} title="Getting Started" href="/docs/faq/getting-started">
Onboarding and template import
} title="Customization" href="/docs/faq/customization">
Template modification and personalization
} title="System Design" href="/docs/faq/system-design">
Understanding template design philosophy
} title="Troubleshooting" href="/docs/faq/troubleshooting">
Common issues and error fixes
} title="Upgrade & Support" href="/docs/faq/support">
Version upgrade and technical support
## Technical Support
If you need technical support, join our [Lark community](/docs/faq/support#join-feishu-group)
---
# Notion Download (https://21notion.com/en/docs/notion-download)
## Notion Installation and Download
### Windows
**Method 1: Download Cloud Installation Package**
* [Quark Cloud Drive](https://pan.quark.cn/s/e72959da3f41)
**Method 2: Visit Notion Official Website to Download**
* [Official Website](https://www.notion.com/zh-cn/desktop)
### Apple Users
#### iPhone / iPad Users
Search for Notion in the App Store and install

#### Mac Users
**Method 1: Download Cloud Installation Package**
* [Quark Cloud Drive](https://pan.quark.cn/s/7ddf4197e1f1)
**Method 2: Visit Notion Official Website to Download**
* [Official Website](https://www.notion.com/zh-cn/desktop)
### Android / Huawei Users
Notion's Android installation situation has changed. I'm keeping the historical installation methods below so you can try them if needed, but please note that they may no longer work on some devices. Whether installation succeeds can depend on your device model, system version, and current signature verification.
The more reliable option right now is still:
* Search for `Notion` in Google Play and install it there
* If Google Play is unavailable on your device for now, you can use Notion in the browser first
* For first-time login, we recommend choosing "Sign in with email". If you do not have an account yet, follow the registration guide below
#### Android Users
* Historical installation package (also applicable to HarmonyOS): [Click Here](https://pan.quark.cn/s/ee23057d8a7f)
> Note: This historical package is kept only for optional self-testing. It may fail on some devices because of package aging, system restrictions, or signature verification.
> Login Recommendation: On first login, choose "Sign in with email". If you haven't registered, please complete registration first.
#### Huawei Users
* Historical Android installation package (also applicable to HarmonyOS): [Click Here](https://pan.quark.cn/s/ee23057d8a7f)
> Note: This historical package is kept only for optional self-testing. It may fail on some devices because of package aging, system restrictions, or signature verification.
> Login Recommendation: On first login, choose "Sign in with email". If you haven't registered, please complete registration first.
#### Browser Direct Login
Notion not only supports mobile and desktop, but also direct browser login without installation. If other installation methods fail, try using the browser for faster access.
* Browser login URL: [Click Here](https://www.notion.com/zh-cn)
## Notion Account Registration
1. Visit the official website: [Click Here](https://www.notion.com/zh-cn)
2. Click the \[Login] button in the top right corner

3. Follow the instructions below and click continue

4. Enter your email and click continue
5. Notion will send a verification code to your email. Check your inbox for this code. If you can't find it, it might be in your \[Spam] folder.
> Reminder: If you don't receive the verification code, please check your spam folder or try again later.

6. Return to the registration page, enter the email verification code, then click \[Continue] to log in

7. Enter your custom name, then click \[Continue]

8. Next, Notion will ask you which scenarios you plan to use it for. Choose according to your needs. Only one selection is allowed, but don't worry if you choose wrong - it won't affect subsequent usage.

9. Next, Notion will recommend corresponding Templates based on your selected scenario. You can choose the Templates you need or click "Skip for now". After making your selection, click \[Continue]

10. Next, Notion will prompt you to download the desktop client. If you don't need the client, click \[Skip] repeatedly until you can log in directly through the browser

11. Successfully registered and logged into Notion

## Notion Chinese Localization
Currently, Notion includes official Chinese localization. If you find your Notion interface is in English, please follow the instructions below to modify it.
1. Click \[Settings] to enter settings

2. Find the \[Chinese] option at \[Preferences] - \[Language]

## Notion Beginner Guide
Notion beginners often get lost in complex concepts and Templates. This article uses 5 practical Notion tips to help you quickly get through the adjustment period: start with simple daily recording, temporarily put off large-scale migration; use Inbox to gather scattered items and build a lightweight personal homepage; treat Databases as tools rather than goals, first use Notion as a great editor. After reading, you can establish a sustainable usage rhythm, avoid unnecessary trial and error, and let Notion truly serve you.
Recommended reading:
## FAQ
* What to do if verification code is not received?
* First check your email's \[Spam] or promotions category; if still not received, try again later or switch to a commonly used email (such as Gmail/QQ email).
* For more beginner questions, please refer to [Notion Beginner FAQ](/docs/faq/before-purchase)
---
# Quick Start (https://21notion.com/en/docs/quick-start)
## Three Basic Tips
Whether you're using Notion or any new note-taking software, I recommend following these three tips:
1. Don't immediately migrate your old notes. Because you're not yet familiar with the new software's logic, blindly importing a large number of old notes will only make your new system chaotic from day one.
2. Don't immediately change your workflow. Don't expect a new tool to be fully effective from day one. The correct approach is gradual change. For the first three days, only use Notion to record new tasks and notes, then gradually expand usage scope in the first week.
3. Don't immediately fill in lifestyle modules. Although the Template presets 5 types of lifestyle interest recording modules, filling in this information requires little thinking cost, but the timing is wrong. If you're fighting on both work and life fronts simultaneously, your energy will be severely scattered.
## How to Start After Purchase
### Watch Template Intro Video
I spent 1 month creating a comprehensive intro video for this Template. I strongly recommend all Template users browse through it before using to better understand the Template's design philosophy and basic workflow.
### Read Design Documentation
I also wrote a comprehensive article for this Template that introduces in detail the Template's underlying logic in text and images.
Article link: ["Rethinking Notion, My Seven Years of Reflection"](/blog/notion-7-year-reflection)

### Understand Notion's Basic Design
I created a comprehensive Notion system review 3 years ago. Although Notion has had many updates since then, this video still gives you a basic understanding of Notion.
### More Getting Started Tips
If you're new to Notion, I recommend reading this article to follow steps and avoid pitfalls:
[5 Tips to Get Through Notion Beginner Adjustment Period Faster](/blog/notion-beginner-5-tips)
---
# Template Import (https://21notion.com/en/docs/template-import-guide)
This document will guide you through the complete Template import process so you can quickly start using the FLO.W Template.
## Template Import
### Video Tutorial
I've prepared a detailed video tutorial to help you quickly master the Template import method:
### Illustrated Tutorial
After successful payment, you will receive a Template link. Enter the Template link in your browser's address bar (Chrome or Edge recommended), then press Enter

Click the Template duplicate button in the top right corner

Click the "Add to Private" button (or add to private section) to duplicate the Template to your Notion library

### Template Duplication Failed
If you encounter an error when duplicating the FLO.W Template, don't worry. This doesn't mean the Template has a problem, but rather that Notion occasionally has some "unexpected situations" when duplicating very large Templates.
Since the Template contains a lot of content, Notion will pull data gradually during duplication, which may take a bit longer. Therefore, if the first duplication fails, you can try these 3 methods:
1. Wait about 1 hour before trying again; don't duplicate multiple times in a short period
2. Network environment affects duplication speed. You can try using [Notion Faster](/docs/notion-download#notion-access-speed) to optimize loading, which is usually smoother
3. Create a new workspace, then duplicate to the new space. Specific method 👉 [Click Here](https://leon21.notion.site/25b0e68aa046807785b6cf9e8f3aa91d)
### Cannot Duplicate Template
If after trying the above methods, Template duplication still fails, you can provide feedback through the following channels, and I'll respond as soon as possible:
1. Send email feedback: [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
2. Fill out form feedback:
* [Notion Form](https://www.notion.so/25b0e68aa04680df8500fcf63ec131df?pvs=21)
* [Lark Form](https://h9ttbgjzk5.feishu.cn/share/base/form/shrcnADpGNsH19tYTlnnVjt0vpb)
## Old Notes Migration
The best way to use the FLO.W system is to start recording from scratch, giving yourself a fresh start. Keep your old note data in its original location, review if necessary, and when you feel something is truly important enough, migrate it to the FLO.W system.
If you're certain you want to migrate old notes, please refer to the following methods.
The FLO.W system is absolutely centered around Databases, with all pages uniformly stored in Databases. However, different types of pages (such as Tasks, Projects, Notes, etc.) belong to different Databases. You can find the centralized Database page entries in the "Databases" module of the homepage navigation.

This means the basic logic for migrating pages is:
1. Confirm what type of Notion page you want to migrate
2. Move it to the corresponding type of Database
### Migrate Scattered Pages
Suppose you have several scattered **Task pages**. You can select all these pages, then click the function button in the top left corner, and use the "Move to" function to move these pages to the "**FLO.W Task Management DB**" Database

### Migrate Database Pages
***
Since Database pages have Properties, when you migrate pages from an **old Database** to a **new Database**, the new Database will automatically add corresponding Properties to accommodate these property values.
For example, in the GIF below, "Database 01" has a "Date" Property, while "Database 02" doesn't. When I move a page to "Database 02", you'll see it automatically adds a Date Property:

Therefore, before migrating Database pages, **here are 3 important recommendations - please read them completely:**
1. Clean up old Database Properties before moving pages to remove unnecessary property information, avoiding making FLOW's Database Properties too cluttered.
2. If some Properties must be kept and FLOW Database also has **the same type** of Property, you need to first rename the old Database Property to match FLOW's, then move. This way FLOW's Database won't add extra Properties.
For example, if both Databases have a "**Date**" type Property, the old Database calls it "Task Time" while FLOW Database calls it "Task Schedule Date", then you need to first rename "Task Time" to "Task Schedule Date" before moving.
3. Recommended to familiarize yourself with the FLOW system before migrating pages, to avoid the situation where you can't find your notes after migration
### Batch Migrate Database Pages
Before batch migrating Database pages, please first migrate scattered pages to test if the entire process works properly. Confirm everything is correct before proceeding to the next step. Otherwise, if the Database page structure is damaged, it will be very difficult to recover.
---
# Update Log (https://21notion.com/en/docs/updates)
import { TimelineContainer } from '@/components/docs/timeline-container'
import { TimelineUpdateCard } from '@/components/docs/timeline-update-card'
This page tracks FLO.W template documentation updates. For official Notion feature updates, visit the [Notion Updates Timeline](/notion-updates).
-
Optimized
"iPhone Shortcuts"
documentation: added SiliconFlow account balance reminder in the API configuration step, and supplemented the most common error causes and troubleshooting in the FAQ
-
Optimized
"Task Management - Notion Calendar Sync"
documentation: added sync troubleshooting instructions, workspace binding check steps, and accompanying screenshot
-
Optimized
"Exam Preparation"
tutorial: rewrote the multi-section exam management chapter to emphasize the flexibility of the FLO.W framework and the evolvability of area names
-
Launched the brand new
My Thoughts
section, completely showcasing the design philosophy behind the FLO.W Template
-
Added
"Reading a Book FAQ"
: Answers the difference between excerpt management and Note System
-
Added
"Content Creation"
case documentation, introducing the complete workflow of using FLO.W for content creation
-
Added
"Reading a Book"
case documentation, introducing how to use FLO.W to manage book reading and excerpts
-
Added
"Area Properties"
documentation, explaining in detail the meanings of Area Goal, Description, Core Directions and other Properties
---
# Use Case Index (https://21notion.com/en/docs/use-cases)
import { BookOpen, Briefcase, Heart, Users, Zap, Calculator, Settings, Wrench, PenTool, Target, Home, TrendingUp, Globe } from 'lucide-react';
import { ComingSoonCard } from '@/components/ComingSoonCard';
Welcome to the FLO.W practical application case page! This shows how to use FLO.W in different scenarios to improve efficiency and management capabilities.
> 💡 **Important Note**: All the following application scenarios can be perfectly achieved with the FLO.W Template! The Template features are very comprehensive, sufficient to support these complex usage needs. We are currently updating detailed practical tutorials to help you quickly master specific operation methods.
Usually, using it for 3 days is enough to proficiently master all core features of the Template.
### Learning & Self-Improvement
} title="Course Learning" href="/blog/course-learning">
From hearing to doing, knowledge not forgotten
} title="Reading Notes" href="/blog/book-reading">
From excerpts to reviews, internalize for yourself
} title="Exam Preparation" href="/blog/exam-preparation">
Plan review rhythm, track knowledge blind spots
} title="Skill Mastery" href="/blog/skill-mastery">
Build skill tree, quantify your growth
### Content & Creation
} title="Content Creation" href="/blog/content-create">
From inspiration to draft, smooth workflow
} title="Influencer Career" href="/blog/influencer-career">
Build your influencer career from scratch, plan it like a business
} title="Launch a Column" href="/blog/paid-newsletter">
Plan paid content, build personal brand
### Career & Development
} title="Job Search" href="/blog/job-hunting">
Track interview progress, land your dream company
} title="Annual Review" href="/blog/annual-review">
Quantify work performance, have more confidence in performance reviews
} title="Start a Side Hustle" className="opacity-50">
Coming Soon: From idea to execution, organized throughout the process
### Projects & Coordination
} title="Renovate a New Home" href="/blog/home-renovation">
From budget to construction, full control and peace of mind
} title="Organize an Event" className="opacity-50">
Coming Soon: Coordinate complex items, no more missed details
} title="Develop a Product" className="opacity-50">
Coming Soon: Agile iterative development, record user feedback
} title="Lead a Team" className="opacity-50">
Coming Soon: Assign task objectives, efficient team collaboration
} title="Operate a Community" className="opacity-50">
Coming Soon: Establish SOP, accumulate operational experience
### Lifestyle & Planning
} title="Plan a Trip" href="/blog/travel-planning">
From budget to travelogue, full control without worry
} title="Set Annual OKRs" className="opacity-50">
Coming Soon: Break down life goals, every step counts
} title="Execute a Fitness Plan" href="/blog/fitness-goal">
Project + habit collaboration, linking goals with actions
} title="Personal Health Management" href="/blog/disease-tracking">
Track daily data, manage diseases and chronic conditions
} title="Develop a Hobby" className="opacity-50">
Coming Soon: Track interest moments, document your passion
---
# Automation Tutorial (https://21notion.com/en/docs/advance-feature/automation)
## Description
All Database automations listed on this page require a paid Notion subscription.

## Task-related Automation
**Effect Description**
When creating a \[Task] in the Task Database within \[Project], automatically relate that \[Task] to the \[sub-Area] that the \[Project] belongs to.
**Implementation**
1. Find the automation settings for the Task Database

2. Create an automation action as shown in the image
**Set Trigger**

**Add Action - Define Variable**
As shown in the image, name the variable "Project's sub-Area"

The [`map()`](/notion-formulas/functions/map) function shown here takes the related Project and returns its sub-Area.
**Add Action - Edit Property**

Then find the \[sub-Area] property, click it, and select \[Custom Formula] from the pop-up menu

Then in \[Custom Formula], find and click the variable "Project's sub-Area" you just defined, then click close

The complete flow is shown in the image below. After confirming everything is correct, click the "Enable" button

Note that to implement this automation flow, the Project must first be related to a sub-Area. If when you create a Task, the Project is not related to a sub-Area, automatic relation cannot be achieved, or rather the automation has been triggered but because the "Project's sub-Area" variable is empty, the Task's sub-Area will also be empty.
**When this is worth considering**
When you create a note inside a task, you may want that note to automatically relate to the current task, then inherit the task's related Project, the Project's sub-Area, and the parent Area.
**My recommendation**
I do not recommend setting up global automatic inheritance from the start. Notes and tasks often appear together, but a note's final Project or Area does not always match the task's chain. If everything is filled automatically, you may end up with many weak relations that look organized but do not carry much meaning.
A steadier approach is:
1. If the note is created from a task, relate it to the task first and set the note type
2. If you often need to review by Project or Area later, then consider inheriting the Project and sub-Area automatically
3. If this only happens occasionally, keep it manual instead of building a global automation
4. If you are sure this chain is needed every time, use the automation method above, but Notion database automations require a paid Notion plan
The parent Area can usually be reviewed through the sub-Area, so every note does not need to relate to the parent Area directly.
---
# Formulas and Reports (https://21notion.com/en/docs/advance-feature/formula)
More content coming soon...
## Frequently Asked Questions
### Formula Statistics Report Error
In the FLO.W system, I have built in many automated statistical formulas

But sometimes you may find that after adding a new Task (or Note), the corresponding statistical data has not changed. If this happens, it could be due to the following reasons:
1. When saving the FLO.W Template, Notion did not successfully create a relation between Tasks and the statistical formula
2. Pages created through certain methods are not related to the corresponding formula statistics page
To solve this problem, we have three methods.
**Method 1: Manually Relate Formula Statistics Page**
For example, below is a newly created \[Note] page. You can check if its \[Relation Report] property is blank. If so, please click this property and manually relate it to the \[FLO.W - Note Report] page.

**Method 2: Manually Click the Relation Button**
You can find the button shown below in each report page. After clicking, you can relate "all Tasks" to the "statistical formula", which will give you correct statistical results.

**Method 3: Edit Template, Create Default Relation**
After executing the operations in the video above, all Tasks you create thereafter will automatically be related to the Task statistics formula. If you find that statistical formulas for other Databases are also incorrect, you can edit the Database's default template in the same way.
---
# iPhone Shortcuts (https://21notion.com/en/docs/advance-feature/iPhone-Shortcut)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
{/*
[IN]: Notion API, iOS Shortcuts App
[OUT]: iOS Shortcuts configuration guide
[POS]: Advance feature documentation for mobile productivity
Protocol: Update this header comment and the folder's .folder.md when modifying this file
*/}
## Description
1. All shortcuts listed on this page currently only support iPhone
2. Shortcuts are currently only available to \[Pro Edition] and \[Advanced Edition] users
> **2026 Update**: Notion now has [official mobile voice input](/notion-updates/mobile-voice-input) for direct speech-to-text in the app. The Shortcuts approach on this page still has unique advantages — AI processing and custom database targeting.
## Voice Quick Note Shortcut
### Demo
First activate the shortcut on iPhone, then speak directly what you want to record

This shortcut will automatically perform the following operations:
1. Transcribe voice to text
2. Process the text with DeepSeek API to add appropriate punctuation based on semantics
3. Store the text from step 2 into the Notion Database
The voice note effect is as follows

Next, let's go a bit further.
Since we have already stored the voice in text form in the Notion Database, based on the powerful Database features, we can use Database Buttons to convert the current voice note into a formal Note with one click, or quickly convert it into a Task.

I can create a "Convert to Task" button. Its operation logic is shown below:

Clicking this button will execute the following flow:
1. Create a new page in your Task Database
2. Store the text transcribed by the shortcut into the Task's remarks property
3. Open this newly created Task page

Now that we've covered the effects and logic, let me teach you how to deploy your own shortcut.
### Configuration Tutorial
### 1. Get Notion Database ID
1. Find the FLO.W Template's [Quick Note Database](/docs/basic-feature/note-taking#quick-note-logic)
2. Confirm that the current property name is \[Quick Note Content]. If it is \[Note Content], please change it to \[Quick Note Content]
3. Enter the source Database as shown below

1. Use the shortcut Ctrl+L (or CMD+L) to get the Database link.
2. This link format is generally: `https://www.notion.so/yourworkspace/xxxxxxxxxxxxxxxxxxxxx?v=...`
3. Get the code xxxxxxxxxxxxxxxxxxxxxx **before the question mark**, which is the Database ID
4. Save this Database ID, it will be useful later
### 2. Create Notion Account API Key
1. Visit [Notion Integration](https://www.notion.so/profile/integrations) and log in to your Notion account
2. Create a new integration, you can customize the name, relate it to your Notion workspace, then click the save button in the bottom right corner

1. Click "Configure integration settings" to get the "Internal Integration Secret"
Click the show button to copy this secret. Remember to save this secret, it will be useful later.
The secret format is similar to: `ntn_b386784XXXXXXXXXXXXXXXXXX`

2. Relate this integration to the Quick Note Database
As shown below, re-enter the **source Database** of the Quick Note Database

Then as shown below, relate the \[Integration] you created to this source Database

### 3. Apply for SiliconFlow API
For specific tutorial, see this article: "[DeepSeek R1 Free Usage Tutorial](https://eryinote.com/post/1749)".
In this step, you should obtain the following two things:
1. SiliconFlow API, format similar to: `sk-ddguwXXXXXXXXX`
2. The model name you want to set, format similar to: `deepseek-ai/DeepSeek-V3`. The model name in this step can be freely chosen, it doesn't have to be DeepSeek, but **don't use reasoning models like R1**
> **⚠️ Important reminder**: After obtaining the API Key, please make sure your SiliconFlow account has **a positive balance** (even a small top-up works). The free granted quota may not support the API calls required by this shortcut. The "execution failed" error that many users encounter is usually caused by an empty balance.
Save these two things, they will be needed in later steps.
### 4. Get and Configure Your Shortcut
1. Save the iPhone shortcut template I created. It is currently only available to \[Pro Edition] & \[Advanced Edition] users. Please get the shortcut link in \[Lark Group Announcement] or \[Discord Related Channel]
2. Follow the prompts in the shortcut to modify the parameters in the four places shown below. Please replace the string "Enter XXXXX here", do not modify any other content

The 4 parameters needed in the image above have been prepared in the previous steps. You just need to fill them in in order. Please note that you need to delete my remark information first, then fill in your personal information in the box.
If everything is filled in correctly, you can now activate this shortcut and use voice to record notes.
## Frequently Asked Questions
**Recommended to record within 1 minute.**
Since the transcription process involves not only Notion but also interaction with AI large models, recording for too long may cause transcription failure or unexpected results.
**Note:**
* Voice quick note is only suitable for quickly recording short, scattered ideas or inspiration.
* **Not suitable** for scenarios requiring long recording such as meeting minutes
* If you need meeting recording functionality, it is recommended to subscribe to Notion Business plan, which comes with AI Meeting voice recording functionality for a better experience.
Please troubleshoot step by step:
1. **Check basic information**: Please strictly follow the process to ensure that the ID, Token, and model name filled in each step are completely correct.
2. **Check Database relation**: Check if the created Integration is related to the corresponding Database.
3. **Check API configuration and balance**:
* Ensure the SiliconFlow model name is filled in correctly.
* **Do not use R1** or other reasoning models. You can try this model first: Pro/deepseek-ai/DeepSeek-V3
* Ensure your SiliconFlow account has a certain balance (**not free granted quota**, because granted quota may not support certain models or API permissions).
**Most common error**: If running the shortcut fails with a request error to `https://api.siliconflow.cn/v1/chat/completions`, or the result shows "failed", **90% of the time it's because your SiliconFlow account has no balance**. Please log in to the SiliconFlow dashboard to top up and try again.
---
# Notion AI (https://21notion.com/en/docs/advance-feature/notion-ai)
import { Card } from 'fumadocs-ui/components/card';
FLO.W Template is highly compatible with Notion Agent's powerful features. Through structured Database design and clear information architecture, AI can accurately understand and process your work content.
## Perfect Notion Agent Compatibility
🤖}>
Deep dive into Notion Agent's design philosophy, feature boundaries, and practical scenarios
### Why is FLO.W Extremely Compatible with Notion Agent?
**1. Structured Database Design**
* Tasks, Projects, Notes, and Clips each have independent storage locations
* Clear Property design and semantic tag system
* Agent can accurately understand the purpose and meaning of each Property
**2. Clear Information Boundaries**
* Agent knows where to read information (input boundary)
* Agent knows where to save results (output boundary)
* Avoids aimless AI searching in the workspace
**3. Scenario-based Workflow Support**
* Each Database corresponds to specific work scenarios
* Supports "keyword trigger + sub-document execution" mode
* Can achieve complex automated workflows
### Practical Application Scenarios
With FLO.W Template's structured design, Notion Agent can easily achieve:
* **Automatic Weekly Report Generation**: Read this week's completion status from Task Database
* **Intelligent Task Management**: Batch process Task priorities and statuses
* **Automatic Content Classification**: Automatically categorize new Notes into appropriate tags
* **Project Progress Tracking**: Automatically analyze progress status of Project Database
For more practical usage, please refer to our [Complete Notion Agent Guide](/blog/notion-agent-complete-tutorial).
Notion's AI capabilities are evolving rapidly, with new models, MCP protocol support, custom skills, Plan mode, and code execution. See [Notion AI Updates](/notion-updates?tag=AI) for the latest, or start with [Notion AI code execution and file generation](/notion-updates/ai-code-file-generation) to see how AI can now output PPT, PDF, Word, and HTML files directly.
---
# Notion Button (https://21notion.com/en/docs/advance-feature/notion-button)
Content being updated...
---
# Area Organization (https://21notion.com/en/docs/basic-feature/area)
import { Target } from 'lucide-react';
import { File, Folder, Files } from 'fumadocs-ui/components/files';
This document will help you understand the Area concept in the FLO.W Template and learn how to divide and manage different work and life Areas. In the previous tutorials, whether it's tasks, notes, or projects, they're all relatively intuitive, concrete, and common concepts, but the Area concept that follows is not as common and easy to understand, so it may require some patience and thought from you.
Note: The Area concept comes from Tiago Forte's PARA methodology.
## Area Basic Structure
} title="Area Properties" href="/docs/properties/area#area-properties-explanation">
Understand the meanings of Area Goal, Description, Core Directions and other Properties
First, we can simply and crudely understand Areas as larger folders, which are collections of a series of Projects. That is, in the FLOW system, their hierarchical structure is like this:
However, in long-term practice, I've found that Areas themselves must continue to be subdivided to better associate with Projects. I'll explain the specific reasons in other tutorials. For now, please remember that in the FLOW system, their hierarchical structure is like this:
Below are some reference cases:
| **Area** | **sub-Area** | **Project** | **Task** |
| ------------------ | ------------------------- | ----------------------------------------- | --------------------------------------------------- |
| Channel Operations | Bilibili | Create Notion Review Video | Write draft |
| | | | Record audio |
| | | | Shoot |
| | | | Edit |
| | | | Upload |
| | Xiaohongshu | Create Notion Graphic Posts | Topic planning |
| | | | Write graphic content |
| | | | Create cover image |
| | | | Publish and engage |
| | | Create Lifestyle Scenario Note Posts | Collect lifestyle materials |
| | | | Create template screenshots |
| | | | Write copy script |
| | | | Publish and track data |
| Programming Skills | Backend Development | Develop Payment API for E-commerce Site | Design order Database model |
| | | | Implement Alipay interface integration |
| | | | Write API documentation |
| | | | Complete unit testing |
| | Data Analytics | Analyze Q2 2025 User Purchase Behavior | Clean June sales data |
| | | | Generate user persona report |
| | | | Create interactive sales charts |
| | | | Submit decision proposal |
| Health Management | Physical Training | Complete 2025 Half-Marathon Training Plan | Wednesday 5km run training |
| | | | Buy suitable running shoes and gear |
| | | | Create nutrition supplement plan |
| | | | Participate in July 15 city half-marathon race |
| | Diet Adjustment | Implement Low-Carb High-Protein Diet Plan | Create weekly meal plan |
| | | | Prepare healthy snack alternatives list |
| | | | Learn 3 high-protein low-calorie recipes |
| | | | Record daily diet log and analyze |
| Family Life | Parent-Child Relationship | Cultivate Child's Reading Habits | Read 20 minutes before bed |
| | | | Take child to library once |
| | | | Set up age-appropriate bookshelf for child |
| | | | Participate in July parent-child reading club event |
| | Home Environment | Create Efficient Home Workspace | Organize study space and add necessary furniture |
| | | | Set up comfortable lighting system |
| | | | Organize file storage system |
| | | | Buy ergonomic chair and desk |
## Area Definition
### How to Define Areas
When establishing your Areas, I usually suggest starting with "few", focusing on 3-5 sections you value most. Don't stuff everything into the system from the start, as it can easily make you feel lost. Observe what you've been spending time on recently - those things you continue to invest energy in daily or weekly are likely your most real and active Areas.
Of course, we don't just look at the present, but also anticipate where you hope to grow, maintain, or improve in the next 1-3 years, because the essence of Areas is systematic maintenance zones serving the long term. For naming, suggest using nouns or gerunds, like "Health Management" or "Content Creation", rather than one-time goals like "Lose Weight Successfully" or "Finish a Book". Maintaining an open, continuous state is very important.
Also confirm whether there are really responsibilities and actions in this Area that need long-term maintenance - if it's just a vague idea, or there's no clear investment plan yet, then it might just be a future Project, not a current Area. As for how to classify, there's no fixed answer. Some like to separate work and life, others prefer to integrate them into capability or identity modules. The key is what feels clear and natural to you.
You can also reference the common six categories: health, wealth, career, relationships, learning, leisure, but don't forget to combine with your reality and transform them into expressions close to your life. Areas aren't set in stone - they should flexibly change with your life rhythm, constantly being adjusted, reduced, or renamed. Don't worry too much about defining them perfectly at the start. Use them first, then let them gradually take shape through action and review.
### How to Define sub-Areas
When you've clarified your Areas, the next step is to break them down into reasonable sub-Areas. The core of this step is to "cut" large responsibilities into smaller pieces, but not arbitrarily - rather, based on **different roles you play in that Area, different strategies you adopt, or specific affairs you face** as clues to divide into several relatively independent small blocks.
If your Area is "Channel Operations", you might divide into sub-Areas like "Bilibili", "Xiaohongshu", "Official Account" by platform; under "Health Management", you can set "Physical Training" and "Diet Adjustment"; in "Programming Skills", it might be subdivided into "Backend Development" and "Data Analytics".
In my practice, sub-Areas are actually the main battlefield of your daily work and life, because they will directly associate with Projects.
### How to Create Areas
## Create Area Milestone
### Feature Location
As shown in the image below

### Design Logic
**What problem does this feature solve?**
In the process of long-term deep dive in an Area, we easily fall into a state of "only keeping our heads down working, not looking up to see the road" - completing tasks and advancing projects every day, but rarely stopping to celebrate our phased achievements. Over time, this creates a sense of confusion of "seemingly always working hard, but not knowing how far we've actually gone".
The design intention of "Milestone" is to establish a **growth monument** for each sub-Area. It doesn't record daily trivial tasks, but those **milestone events** worth remembering - such as "Bilibili followers exceed 10,000", "Complete publication of first book", "Obtain certain professional certification".
**Relationship with other features**
* Relationship with sub-Area: Milestones are precisely anchored to specific subdivided directions through the "Relate to sub-Area" Property. This gives each Milestone a clear attribution, making it convenient to review growth trajectory by Area later.
* Difference from Projects: Projects are "ongoing battles" with clear beginnings and ends; while Milestones are "earned badges", frozen records of certain achievements. The achievement of a "Milestone" may depend on the successful completion of multiple Projects.

### Common Misconceptions Clarified
* ❌ Misconception: Milestones should record all completed things
* ✅ Correct: Only record **those phased achievements truly worth celebrating**, maintaining scarcity preserves the sense of ritual
### Applicable Scenarios
* Achieved quantifiable achievements in an Area (follower count, income, work count)
* Completed an important "first time" (first public speech, first paying client)
* Received external recognition (certificates, awards, media coverage)
* Reached self-set phased goals
### Usage Suggestions
* Recommended to review the Milestone list at least once a month - this is an effective self-motivation method
* When creating Milestones, take the opportunity to write down "how I did it" in the page - these review contents have high future value
* Can set calendar view to review your growth trajectory in timeline format
---
# Homepage Navigation (https://21notion.com/en/docs/basic-feature/homepage)
## Homepage Layout
Quickly understand the layout and features of the FLO.W Template homepage through video:
## Top Navigation Bar
### Navigation Bar Principle
Understand how the navigation bar works in Notion Template:
### Move Navigation Bar Position
Learn how to adjust and move the navigation bar position:
## Detailed Feature Modules in Navigation Bar
In actual use, you may feel that the position of some modules is not satisfactory or appropriate enough. The following tutorial will teach you how to migrate feature module positions.
### Clarify Navigation Bar Structure
First, in the FLO.W system, all feature modules are placed in the top navigation bar. For example, the specific project subdivision features circled in the red box below
Expand the small triangle on the left side of "Project Navigation Bar", and you'll find that there are some identical pages inside the small triangle, as shown below
Actually, this is where the detailed feature module "actual pages" (i.e., the page body) are stored, while the pages on the navigation bar are just a type of "page reference"
### Change Feature Module Position
Now if I want to move the "Travel Plan" navigation bar to the "Lifestyle Module", what should I do? There are two approaches.
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
Directly use the @ symbol to reference the "Travel Plan" page in the navigation bar position of "Lifestyle Module"
However, doing this will add a small arrow to the referenced page icon. So if you don't want this small arrow, please use "Method 2" below.
Step 01: Move page to hidden position
First move the "actual page" of "Travel Plan" to the hidden position of "Lifestyle" navigation bar
**How to move the "Travel Plan" page?**
1. Enter the "Travel Plan" page
2. Click the three dots in the top right corner
3. Use the "Move to" function
4. Move the "Travel Plan" page to the "Lifestyle" page
5. After moving, you'll find "Travel Plan" is placed at the very bottom of the "Lifestyle" page
6. Drag "Travel Plan" to the "hidden position" in the top navigation bar
Step 02: Reference the actual page
Then use the @ symbol to reference the "actual page" of "Travel Plan" in the "Lifestyle" navigation bar position, so there won't be a small arrow
---
# Note Management (https://21notion.com/en/docs/basic-feature/note-taking)
import { FileText, Link, GitBranch, Users, FolderGit, Eye, Clock, Star, Shuffle } from 'lucide-react';
This document will teach you how to create, edit, and organize notes in the FLO.W Template to build your knowledge management system.
## Add a Note
## Note Properties Description
Learn about the configuration and usage of various Properties in the note system:
} title="Note Type" href="/docs/properties/note#note-types">
Six preset note types: Exp, Log, Ask, How, Idea, Ref
} title="Outgoing and Incoming Links" href="/docs/properties/note#outgoing-incoming-links">
Build sense of direction and associations between notes
} title="Parent and Child" href="/docs/properties/note#parent-child">
Create hierarchical structure and organization relationships for notes
} title="Sibling Notes" href="/docs/properties/note#sibling-notes">
View related notes at the same level
} title="Topic Notes" href="/docs/properties/note#topic-notes">
Manage topic content with child notes
} title="Attention Level" href="/docs/properties/note#attention-level">
Mark note content that needs attention
} title="Completion Level" href="/docs/properties/note#completion-status">
Track the lifecycle status of notes
} title="Common Notes" href="/docs/properties/note#frequently-used">
Quick access and record common content
} title="Random Sort" href="/docs/properties/note#random-sort">
Randomly review note content
## Create Notes in Tasks
## Diary Creation Methods
### Diary Storage Location
Follow the path shown below, access the Template navigation bar, and enter the diary module. This will centrally store all diaries you create

If you want your created "Diary" to appear in this Database, please ensure your title includes the word "Diary".

### Diary Definition
According to the [Note Type](/docs/properties/note#note-types) definition, "Diary" belongs to the "Log" category.
Diaries are used to simply and directly record daily experiences or feelings. They don't need deliberate refinement and summary, only to authentically capture the "moment". Their value lies in preserving unadorned records, providing material for future review, reflection, or simple reflection.

### Diary Creation Methods
Please note that in the 3 methods below, the description of "Note" specifically refers to "Notes" that exist in the "Note Database"
Method 1: Create through process
Follow the process shown below to create a "Diary".
Method 2: Title keyword
Add the word "Diary" to the "Title" of any "Note", and it will appear in the "Diary Database"
As shown below, this Database has set a filter condition of "contains Diary" for "Title"
Method 3: Activate diary template
In the "Note Page", activate the "Diary Template"
If you don't see the "Diary Template" shown above in the "Note Page", please refer to this solution:
Template not showing
### Modify Diary Template Method
The current preset diary template is shown below with a relatively simple structure.

If you want to modify this diary template, you can refer to this instruction: [How to modify Database default template](/docs/faq/customization#template-default-edit)
## Periodic Review
### Review Note Definition
In the FLO.W system, "Review Notes" are notes with [Note Type](/docs/properties/note#note-types) as "Exp", so theoretically you don't actually need to create a separate so-called "Review Module", because any note you mark as "Exp" type can become a review note.

However, to make it more convenient for you to create and manage review-related notes, and improve the efficiency of the "Periodic Review" action, I've added a "Review" button in the homepage navigation bar. Clicking it will take you to the "Review Center".

### Periodic Review - Diary
The creation method for [Diary](/docs/basic-feature/note-taking#create-diary) has been introduced in detail earlier, so I won't repeat it here.
From an information type perspective, diaries are "Log" type raw records, while weekly review and monthly review are "Exp" type experience refinements. Putting them in the same module also conveys a philosophy: **recording and reflection form a complete closed loop**. You can only keep diaries without reviewing, or only do reviews without keeping diaries, but when you combine both, "Log" in diaries has the opportunity to be refined into "Exp" in reviews, forming higher-density personal insights.

### Periodic Review - Weekly Review
In the "Review Center - Weekly Review" Database, create a new page to activate the "Weekly Review" template, and the preset template content shown below will appear:

You can centrally review tasks and projects completed in **this week**, notes, clips, movies watched, and even items purchased in **this week** in "This Week Overview"

Taking this week's tasks as an example, this filters out "tasks completed this week" through preset filter conditions. So every time you activate the "Weekly Review" template, you can only see this week's completed tasks, not last week's.

But some users may be accustomed to reviewing the previous week's content on every Monday (new week). Based on the preset conditions above, they can only see this week's tasks, not last week's. So the key here is how to add a new filter view in the "Weekly Review" template to also filter out "tasks completed last week".
Since Notion's filter conditions don't have a "Last Week" filter condition, only "Last 7 Days", the following steps will be somewhat tortuous. The specific method is as follows:
Step 1: Understand default template modification
First you need basic knowledge:
How to modify Database default template
.
Step 2: Create filter view
Find the "Weekly Review Template" and create a new filter view in the "This Week Tasks" Database to filter out "tasks completed this month".
Step 3: Group by week
Group by "Completion Date" and set the grouping unit to "Week", referring to the conditions in the image below.
Step 4: View results
This way, when you activate the "Weekly Review" template, you can view the task completion status for each week of this month in the "This Month Completed" view.
Step 5: Need help?
If you're not familiar with the above steps, you can ask questions in the
Lark group
. To get faster and more accurate answers to your questions, please explain in detail the specific step you've reached and include images to explain your question, so you can get help faster.
### Periodic Review - Monthly Review
The implementation logic of monthly review is similar to weekly review, just changing the grouping unit from "Week" to "Month", so I won't go into too much detail. If you have questions, you can also ask and exchange in the Lark group.

## Quick Note Module Usage Logic
### Basic Usage
The feature location of the quick note module is shown below:

You can click the "Add Quick Note" button, then record in the popup sidebar

But it's more recommended to directly click the "New Page" button, then quickly enter in the "Quick Note Content" property

This property is the content that the conversion buttons read later. The page body below is better for temporary screenshots, links, or extra materials, but it will not automatically enter the Note or Task created later.
### Convert Quick Note to Note
After opening the quick note page, you'll see there are two buttons like this

Taking the "Convert to Note" button as an example, after clicking, it will create a "Note Page" and copy the content from the "Quick Note Content" property to the "Remarks" property of the "Note Page":

That is, you can use the "Quick Note" feature to capture some unformed, random inspirations or ideas. When inputting, you don't need to think about whether it's complete or how to categorize it. Then you can choose a fixed time to organize all quick note content. If you think a certain "Quick Note" has value for continued improvement, click the "Convert to Note" button to migrate these fragmented thoughts to the more fully functional "Note Page".
One point is easy to misunderstand: the conversion button essentially creates a new Note record and copies the "Quick Note Content" property into it. Due to Notion button limitations, it cannot automatically read or move paragraphs, images, or lists in the page body.
So the "Convert to Note" button can only migrate information from the "Quick Note Content" property, not information below the "Quick Note" page.

If you have already written a lot of content below the quick note page, there are three ways to handle it:
1. Click "Convert to Note" or "Convert to Task" first, then manually copy the page body into the new page.
2. If the content is only text, organize it into the "Quick Note Content" property first, then click the conversion button.
3. If you know from the beginning that you will write a lot of body content, create a "Note" or "Task" directly instead of starting from "Quick Note".
If you subscribe to Notion AI, you can also ask AI to organize and move the page body for you. But this is AI-assisted work, not something the template button can complete automatically by itself.
### Convert Quick Note to Task
The basic logic of "Convert to Task" is the same as "Convert to Note". If this quick note is more like an action item, click "Convert to Task".
Also note that it only brings the "Quick Note Content" property into the Task. The page body still needs to be handled manually or organized with the help of Notion AI.

### Copy Quick Note Button to Other Places
First, the "Quick Note" button exists in two places: one is the "Homepage", and the other is the "Note Module - Quick Note Page" demonstrated earlier. If you want this button to be placed in other pages, just copy this "Add Quick Note" button and paste it anywhere else.

---
# Project Management (https://21notion.com/en/docs/basic-feature/project-management)
This document will guide you on how to create, configure, and manage projects in the FLO.W Template to achieve efficient project management.
## How to Add a Project
## Task vs Project: How to Choose Correctly
When using the FLO.W Template, many users wonder: when should I create a project, and when do I just need to record a task? Understanding the difference between the two is key to efficient management.
### Concept Understanding
**Tasks** are like each specific action in cooking - washing vegetables, cutting meat, stir-frying, eating, washing dishes. Each action is very specific, you don't need to break it down further, just execute directly.
**Projects** are like "hosting a dinner party", requiring menu determination, guest invitations, ingredient shopping, cooking, table setting, party game preparation, etc. It has a clear endpoint, but requires a combination of a series of tasks to achieve.
### Three Judgment Criteria
#### 1. Do You Need to "See Progress"
This is the most important judgment basis. If you often ask yourself "When will this be done? How much more is needed?", then you need more than just individual task completion prompts, but overall progress visualization.
**Suitable for creating projects:**
* Preparing Double 11 event materials (need to care about overall progress of copy, posters, channel docking)
* Product feature iteration (need to track design, development, testing stage progress)
**Suitable for recording as tasks:**
* Sending an email to contact a KOL (complete upon execution, no progress bar needed)
* Updating a document (single action, no breakdown needed)
#### 2. Are You "Making a Checklist"
When you think of something, if you start thinking "I need to do A first, then B, and also C", then it's a project. If you just think "go do this thing", without the impulse to automatically break it down, then it can be a task.
**Tip:** When 5-6 tasks pointing to the same goal appear in the task list, this is reminding you that it's time to integrate them into a project.
#### 3. Do You Need to Review After Completion
If after completing something, you feel it's necessary to summarize experience, refine methodology, or analyze problems, then it deserves to be a project. Projects have clear boundaries and complete process records, making them the most suitable granularity for review.
**Typical review scenarios:**
* Planning marketing campaigns (analyzing what worked and what didn't)
* Completing product iterations (summarizing development process and improvement points)
* Organizing team training (evaluating training effectiveness and methods)
### Practical Suggestions
#### When Unsure, Prioritize Creating Project
When you can't determine, suggest creating a project first. The project page can serve as a "chaos buffer", you can first put related tasks, ideas, and materials into it, without worrying about whether it's perfect.
If you later find the matter is simple, you can:
* Directly delete the project page (notes and tasks within won't be affected)
* Mark the project as completed and archive, retaining the attempt record
#### Allow Adjustments and Trial & Error
This system allows you to flexibly adjust:
* Tasks can be upgraded to projects
* Projects can be simplified to tasks
* No information will be lost due to adjustments
#### Develop Judgment Intuition
After using for a while, your intuition will become more and more accurate. At first you may need occasional adjustments, but gradually you'll be able to accurately judge whether to use tasks or projects at the moment of recording, because your brain has internalized this judgment logic.
**Core Principle:** Rather than spending time struggling with "should this be a project or not", it's better to start practicing. The system's flexibility ensures you can adjust anytime without losing information.
---
# Task Management (https://21notion.com/en/docs/basic-feature/task-management)
import { Calendar, ArrowRight, Trash2, Bell, CheckSquare as CheckSquareIcon } from 'lucide-react';
This document will guide you on how to create, edit, and manage tasks in the FLO.W Template to improve your work efficiency.
## Task Creation Methods
Quickly understand how to create and manage tasks through the following video:
## Task Properties Description
Learn about the property configuration and usage of the Task Database:
} title="Difference Between Schedule and Todo" href="/docs/properties/task#schedule-vs-todo">
Understand the difference between fixed-time schedules and deadline-based todos
} title="Next Action" href="/docs/properties/task#next-action">
Set immediately executable next actions for tasks
} title="Task Cleanup" href="/docs/properties/task#task-cleanup">
Filter and clean up tasks without Schedule Date or value
} title="Task Reminder" href="/docs/properties/task#task-reminder">
View reminder logic and common issue descriptions
} title="Task Status Property Usage Guide" href="/docs/properties/task#status-guide">
Understand how to use each status in the task lifecycle
## Add Daily Recurring Tasks
### What Are Recurring Tasks
Recurring tasks are fixed items that need to be executed periodically. Notion can automatically create these tasks according to the frequency you set.
**Common Scenarios**:
* Work: Daily standups, weekly reports, data entry, etc.
* Life: Exercise, reading, vocabulary review, cleaning, etc.
### Create Recurring Tasks
Open the Task Template Menu
Find "My Tasks DB", click the small arrow ▾ next to the "New" button in the upper right corner.

Create a Task Template
Click "New template" to enter the template editing page. Set up the template content here:
-
Set the task title (e.g., "Daily Exercise")
-
Fill in the required properties
-
Add body content (optional)
After editing, click anywhere blank to close the template editing page.
Set Up Recurring Generation
Click the small arrow ▾ next to "New" again, find the template you just created (e.g., "Daily Exercise"), and click the
⋯
button on its right.

Configure Generation Frequency
Set the repeat cycle in the popup interface, for example:
-
Every day at 8:00 AM
-
Every Monday
-
1st of every month

Once configured, Notion will automatically create tasks at the frequency you specified.
If your task doesn't need to be linked with other FLO.W modules, you're done at this step.
### Link Recurring Tasks to Projects
If your recurring task belongs to a specific goal (e.g., "Daily Exercise 30min" belongs to the "Lose 5kg" project), you can preset the project relation in the template.
**Method**: Select the corresponding project in the "Related Project" property of the task template.

This way, each automatically created task will be linked to that project, and task completion will count toward project progress.
### FAQ
Click "Tasks" in the top navigation bar to enter the Task Center, which contains "My Tasks DB". You can also find the task entry in the "Today's Todos" section on the Homepage.
Click the small arrow ▾ next to "New", find the corresponding template, and click the `⋯` button on the right:
* **Modify content**: Click "Edit" to modify the template content
* **Modify frequency**: Directly adjust the repeat settings
* **Stop generation**: Turn off the "Repeat" toggle, or delete the template directly
Auto-generated tasks work just like regular tasks. You can:
* Delete it directly
* Change the status to "Abandoned"
* Reschedule to another date
This won't affect the next auto-generation.
Recurring tasks will continue to be generated at the set frequency. It's recommended to regularly clean up completed or unnecessary tasks to keep your task list tidy. You can use the [Task Cleanup](/docs/properties/task#task-cleanup) feature for batch processing.
## Create Tasks in Notes
## Notion Calendar Integration
### Method
Follow the operations below, click "Manage in Calendar", and the "Task Calendar" will open in Notion Calendar.

This way, task todos you create in the "Task Database" will sync to Notion Calendar

If you find that tasks added in **Notion Calendar** are not syncing back to the **Notion app** after following the steps above, open Notion Calendar settings and check whether the correct **Notion workspace** is bound on the left side. If not, click "Add Notion workspace" to complete the connection.

### FAQ
Download link: [https://www.notion.com/zh-cn/product/calendar](https://www.notion.com/zh-cn/product/calendar)
Open Notion Calendar settings

1. Notion Calendar can serve as a central hub
2. Can bidirectionally sync "Notion Database" with "Notion Calendar"
3. Can also bidirectionally sync "Apple Calendar" with "Notion Calendar"
4. But we currently cannot sync "Apple Calendar" through "Notion Calendar" to "Notion Database"
5. Here "Apple Calendar" can be replaced with "Google Calendar"
Besides the solutions provided above, I haven't tried other tools or methods, so I can't answer this question currently.
---
# Design Philosophy (https://21notion.com/en/docs/basic-feature/template-overview)
This article comprehensively introduces the core design philosophy and implementation logic of the FLO.W Template, including tool selection philosophy, efficiency improvement methodology, and how to build a knowledge management system that suits you. Strongly recommend reading this article before using this Template: [📖 Rethinking Notion, My Seven Years of Reflection](/blog/notion-7-year-reflection)
If you're a Notion beginner, recommend reading this article to understand the correct way to use Notion: [🚀 5 Tips to Get Through Notion Beginner Adjustment Period Faster](/blog/notion-beginner-5-tips)
---
# Web Clipper (https://21notion.com/en/docs/basic-feature/web-clipper)
import { Card } from 'fumadocs-ui/components/card';
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
{/*
[IN]: Save to Notion plugin, fumadocs components
[OUT]: Web Clipper usage guide and FAQ
[POS]: Core feature documentation for information gathering
Protocol: Update this file header and the folder's .folder.md when modifying this file
*/}
## Install Plugin
The FLO.W system includes a reading management center that allows you to conveniently manage clipped articles, videos, and posts, or build a systematic reading list. Of course, first you need to install the Save to Notion plugin in your browser. I've prepared a detailed installation tutorial for you.
📖}>
Detailed browser plugin installation and configuration tutorial to help you quickly get started with web clipping
## FAQ
Please pay attention to this step in the clipping tutorial

Free users can create 4 Forms, which is generally enough.
It depends on the website. Some websites set images to not allow syncing. This is not caused by the plugin or Notion. I cannot solve this issue unless the website allows it.
You can clip without opening the web version of Notion, as long as your browser and clipping plugin are working properly.
The problem occurs when you want to modify the custom Properties of the clip Database, but you find no Properties to select.

The reason is that you haven't associated the correct Database. The Save to Notion plugin should associate with the Database named "FLO.W - Information Harbor DB".
Yes. If you need to use your preferred clipping tool on other platforms, just set the clipping destination to "FLO.W - Information Harbor DB".
**Question**
If I've used other clipping tools before, such as Cubox, Readwise, or Jianyue, and already have an existing clipping Database in Notion, how can I move these clipped articles to the FLO.W system?
**Answer**
In the FLO.W system, all clipped articles are stored in the "**FLO.W Information Harbor DB**" Database, so you can batch move articles from your old clipping Database to the "**FLO.W Information Harbor DB**" Database.
However, before moving, please make sure to read this [important notice](/docs/template-import-guide#migrate-old-notes).
First, Save to Notion is not an official Notion plugin, so the Save to Notion account is unrelated to your Notion account.
Second, it supports Google email direct login, or you can fill in any of your own email addresses, but both methods require you to ensure you can log in to these email accounts.
If none of the above methods work, you need to contact Save to Notion plugin's official email: [hello@savetonotion.so](mailto:hello@savetonotion.so)
When searching for the Database name while clipping, it shows "No databases or pages found". You can try the following methods:
1. **Shorten search keywords**: Don't search the full name, search for "Information Harbor" instead of "FLO.W - Information Harbor DB"
2. **Re-login plugin account**: Log out of Save to Notion plugin, completely close and restart your browser, then log in again and try searching
3. **Refresh Notion Database index**: First manually create a few pages in the target Database, press `Ctrl+R` (Mac press `Cmd+R`) in Notion to refresh, then go back to the plugin to search
Currently, direct conversion is not supported.
**Reason:**
If something truly has value to become a [Note](/docs/basic-feature/note-taking), it's better to have an extra manual organization step. Otherwise, there's no difference between [Clipping](#) and [Notes](/docs/basic-feature/note-taking), and eventually your [Note Database](/docs/basic-feature/note-taking) will be filled up.
**Recommended approach:**
1. **Relate Note**: You can quickly create a [Note](/docs/basic-feature/note-taking) that is related to the current clipped article through the "Relate Note" Property in [Clipping](#).
2. **Relate Project/Area**: If your purpose for converting [Clipping](#) to [Note](/docs/basic-feature/note-taking) is to relate to a [Project](/docs/basic-feature/project-management), there's actually no need to do so, because [Clipping](#) can directly relate to [Project](/docs/basic-feature/project-management) or [Area](/docs/basic-feature/area).

---
# Before You Buy (https://21notion.com/en/docs/faq/before-purchase)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Card, Cards } from 'fumadocs-ui/components/card';
This page compiles the most common questions before purchasing the FLO.W template to help you make an informed decision. Trusted by **1,400+ users** with a **99% positive rating** on Bilibili and **4.7/5** on Xiaohongshu.
## Course vs Template
"**Notion All in One**" is my comprehensive Notion tutorial, containing 45 articles, 200+ hands-on examples, and 200,000+ words of content that thoroughly explains all Notion features and usage.
The course was updated from June 2023 to December 2024. It's the leading Notion tutorial in mainland China with over 1.2 million CNY in sales, having helped 7,000+ students master Notion from scratch. The course uses English Notion interface screenshots.
**Note:** The course is available in Chinese only, through Xiaobot and SSPAI.
Think of it this way: the course teaches you the architectural principles of building a Notion system from scratch, while the template is a fully furnished apartment ready for you to move in. So if you have strong self-learning abilities and have the time and patience, you can purchase the course and build your own Notion system. If you prefer to get started quickly without spending time on research and learning, the template is for you.
They are independent products, but course knowledge can help you better understand the template's features and usage.
## Choosing Your Version
* **Basic Edition (¥199)**: Complete template + tutorials, ready to use, ideal for users who want to get started quickly
* **Professional Edition (¥299)**: Basic Edition benefits + Q\&A community + occasional case studies + shortcuts, ideal for users who want guidance to avoid common pitfalls
* **Advanced Edition (¥349)**: Professional Edition benefits + free major version upgrades + core user community, currently the best-selling version
**Recommendation**: If you use Notion long-term and want continuous feature updates, the Advanced Edition is the most hassle-free choice. You'll get all important upgrades for free without worrying about additional costs. See the [pricing page](/pricing) for a detailed feature comparison.
FLO.W covers **15 functional modules** spanning both work and life:
Note system, task management, project operations, life domains, web clipper, habit tracking, media logging, asset inventory, game records, subscription management, automation, formulas, iOS shortcuts, Notion AI, and quick buttons.
Visit the [feature overview](/docs/get-started) page for detailed descriptions of each module.
**Absolutely.**
The FLO.W template is specifically designed with a progressive onboarding path for Notion beginners:
* **Ready to use**: No Notion technical knowledge required. All database relations and views are pre-configured — just copy and start using
* **Complete tutorials**: Every module includes detailed written or video tutorials. 80% of template purchasers are Notion beginners, and most get their personal workflow set up within 3-7 days
* **Avoid common mistakes**: The author ["Eryi's Notes"](/about) is a **Notion Certified Expert** with 4 years of Notion teaching experience. The course has helped 7,000+ students master Notion from scratch, making it the leading Notion course in China. The template is built based on common user needs and refined based on user feedback — the most common beginner pitfalls have already been addressed
Yes!
Since most users don't have a paid Notion subscription, 99% of the template features don't require paid features. Only a very small number of pages (such as database charts) require Notion's paid features, but these don't affect the core workflow. I've also provided free Notion formula alternatives for these visualizations.
Even as a free plan user, you can fully experience the core value of the FLO.W template.
If you want to learn more about the template's features and usage, you can watch this detailed introduction video (in Chinese).
## Purchase & Refund
You're buying time and certainty. Building from scratch is like constructing a house in the dark with your bare hands — slow, exhausting, and prone to constant rework. FLO.W saves you hundreds of hours and puts you on the right track from day one.
After purchase you will receive a template link. Open it in your browser and click "Duplicate" to copy the full workspace into your Notion. The entire process takes less than a minute. See the [template import guide](/docs/get-started/import) for detailed steps.
We accept **Alipay, WeChat Pay, Visa, Mastercard, UnionPay, and Apple Pay**. International users can complete payment using any major credit card. Visit the [pricing page](/pricing) for details.
We occasionally offer promotional discounts. Check the [pricing page](/pricing) for current offers, or follow us on [X (Twitter)](https://x.com/eryidebiji) for announcements.
As a digital product, the template cannot be recalled once delivered, so refunds are not available. However, you can feel confident in your purchase:
* **Preview before buying**: Watch the 40-minute detailed introduction video (in Chinese) to fully understand the template's features
* **Comprehensive tutorials**: All versions include detailed written tutorials, and 80% of beginners get started within 3-7 days
* **Community support**: Professional and Advanced Edition users have access to exclusive Q\&A groups where any usage questions can be answered
## After Purchase
Yes! FLO.W is continuously updated to keep up with Notion's new features and optimize existing workflows.
**Advanced Edition users** enjoy all future major version updates for free on a long-term basis. I announce updates in the community groups and on social media, with detailed upgrade instructions provided.
Multiple support channels are available:
* **Professional and Advanced Edition users**: Ask questions directly in the exclusive community group — I personally answer questions
* **All users**: Send an email to [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com)
* **Self-service**: This documentation site has [detailed tutorials](/docs) and a [troubleshooting guide](/docs/faq/troubleshooting)
You can make moderate customizations! Once the template is copied to your Notion, you can adjust it to suit your needs. However, we recommend reading the [customization guide](/docs/faq/customization) first to understand the template's underlying structure and avoid accidentally breaking key database relations or workflow connections.
***
**Already purchased the template?** Check out [Getting Started](/docs/faq/getting-started) to begin using it.
---
# Customization & Modifications (https://21notion.com/en/docs/faq/customization)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Card, Cards } from 'fumadocs-ui/components/card';
The template is your personal space and can be adjusted according to your needs. This page helps you understand what can be freely modified and what requires caution.
## Template Modification Principles
**Database Property Modifications**
| Safe to Do | Not Recommended |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| Rename properties (e.g., change "Task Name" to "To-do") | Change property types (will cause all existing data in that property to be lost) |
| Add new properties (e.g., add "Estimated Time", "Priority", etc.) | Delete relation properties (will break information flow) |
| Reorder properties (put frequently used ones first, hide rarely used ones) | Delete formula properties (will break automatic calculations) |
| | Delete date properties (will affect calendar views and time filters) |
**Special Note for Advanced Edition Users**:
* If you're an Advanced Edition user with upgrade benefits, we strongly recommend NOT renaming properties
* During upgrades, the new version identifies and updates based on property names. Renamed properties may cause upgrade failures
* If you must make changes, add new properties instead of renaming existing ones
***
**View and Filter Modifications**
You can freely modify these without affecting template functionality:
* Adjust filter conditions (e.g., show only your tasks, incomplete tasks)
* Change sorting methods (e.g., sort by due date, priority)
* Add or delete views (e.g., remove unnecessary report views)
* Adjust grouping methods (e.g., group by project, by status)
* Rename views
***
**Page Content Modifications**
You can freely modify these - this is your personal space:
* Clear or edit demo data and sample text
* Delete tutorial pages
* Change page icons and covers
* Adjust page navigation structure
* Add your own notes and explanations
**Note**:
* Before deleting pages, confirm they aren't linked or referenced elsewhere
* If you delete important demo pages, you can re-copy the template to recover them
***
**Data Record Modifications**
You can freely modify these - this is your data:
* Batch delete demo tasks, projects, notes
* Edit existing records
* Add your own tasks, projects, notes
***
**When is the Right Time to Modify**
* After using the template for 2-4 weeks and clearly knowing which parts don't work for you
* Not recommended to make extensive modifications right after starting
* Suggested to use as-is for a while first, understand what each part does
***
**How to Modify Safely**
* Make a backup copy of the template before making changes
* Test on a test page first, confirm everything works before making full changes
* Take screenshots of original settings before modifying, for easy recovery if needed
## Database Templates
**What are Default Templates**
In the FLO.W system, database templates are the "core mechanism" that ensures features work properly. All database pages automatically apply these templates when created. For example, when creating a Task, the Task Title is automatically named "New Task", and the page icon is set to the default blue circle:

Or, some database pages may include default page content when created.
For example, when you create a [Diary](/docs/basic-feature/note-taking#create-diary), the diary page will show content like this:

**How to Modify Default Templates**
1. Find the template location for the database you want to modify

2. Click step 2 in the image above to enter the template editing interface
3. Modify the default icon or default page content in the template
4. When finished, click on blank space to close the template editing window
This way, the next time you activate the template, the new template content will be applied.
**Tip**: Since templates contain many relational logic elements, unless necessary, we don't recommend making changes casually. It's best to confirm in the community group before modifying.
## Properties & Views
In the various databases of the FLO.W system, there are many properties. You may not need certain properties temporarily, or some important properties might be hidden.
**Method 1: Click the property header**

* Click directly on the property header to quickly toggle show/hide status
**Method 2: Customize layout**

* Click "Customize layout" above the page title
* Make detailed adjustments to properties in the "Layout" options
* Batch manage visibility of multiple properties
**Usage Tips**
* Show relevant properties based on work needs
* On mobile, hide infrequently used properties to optimize display
* Create different views for different use cases
The homepage layout can be fully customized to your preferences. For detailed customization methods, see [Homepage Layout](/docs/basic-feature/homepage#homepage-layout).
For navigation bar adjustment methods, see [Top Navigation Bar](/docs/basic-feature/homepage#top-navigation), including:
* Navigation bar principles
* How to adjust module positions
* How to add/remove navigation items
***
**Want to understand the design philosophy?** Check out [System Design Philosophy](/docs/faq/system-design) to learn why things are designed this way.
---
# Getting Started (https://21notion.com/en/docs/faq/getting-started)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
After purchasing the template, start your FLO.W journey here.
## Getting Started
Based on your Notion experience level, we recommend different learning strategies:
**Notion Beginners**
* We suggest at least skimming through chapters 1 and 2 of the course to understand the most basic Notion operations before using the template
* This helps avoid basic operation issues when using the template
**Users with Some Experience**
* You can start using the template directly and refer to the course content when you encounter questions
* When asking questions in the Lark group, mention that you're a course student, and I'll provide the relevant course chapter for better understanding
**Experienced Users**
* With sufficient hands-on experience and research ability, you can use the template directly
* When encountering issues, you can explore independently or refer to relevant documentation
**Best Practice**: Learning with the course is most effective, but you can also start with simple note-taking to avoid learning without practicing, maintaining a sense of accomplishment.
We've prepared a complete onboarding path for beginners:
1. **Read the Quick Start Guide** - Check out [Quick Start](/docs/quick-start) for three basic recommendations
2. **Download and Install Notion** - If you haven't installed it yet, refer to [Notion Download & Install](/docs/notion-download)
3. **Import the Template** - Follow the [Template Import Tutorial](/docs/template-import-guide) to complete the template copy
4. **Watch the Tutorial Videos** - The template includes detailed video tutorials - just follow along
**Important**: We don't recommend making extensive modifications to the template at the beginning. Use it as-is for 2-4 weeks, understand what each part does, then make adjustments.
## Template Import
Template import failures usually fall into these categories:
1. **Network Issues** - Notion servers are overseas. Use a stable network connection
2. **Browser Compatibility** - We recommend using Chrome or Edge browsers
3. **Account Issues** - Make sure you're logged into your Notion account
For detailed solutions, check [Template Import Tutorial - Copy Failed](/docs/template-import-guide#copy-failed).
We provide a complete Notion installation guide, including:
* Windows / Mac desktop client download
* iPhone / iPad / Android app download
* Account registration process
* Chinese localization settings
* Access acceleration tools
For details, see [Notion Download & Install](/docs/notion-download).
## Version Migration
First, you need to understand that in the FLO.W system, all data is stored in specific databases. Note pages are stored in the Note database, and Project pages are stored in the Project database.
Using Notes as an example, the basic principle of migration is to batch migrate all pages from the Basic Edition Note database to the Advanced Edition Note database.
So you need to know:
* Where is the database?
* How to batch migrate?
Let's use migrating Notes as an example.
Find the Note Database
Click on the Note database tab, then click "Open source database", and note the title of this source database
Select All Note Pages
Select all Note pages
Batch Move to Advanced Edition Database
After selecting all, follow the method shown below to batch move these note pages to the Advanced Edition Note database
**Important Tips**
1. Before batch moving, always migrate one or two pages first to test the process and avoid errors.
2. After migrating Notes, you can proceed to migrate Projects, Areas, and other database content
***
**Having issues?** Check [Troubleshooting](/docs/faq/troubleshooting) or [Technical Support](/docs/faq/support) for help.
---
# Technical Support (https://21notion.com/en/docs/faq/support)
## Upgrade Benefits
Thank you for choosing the FLO.W Notion template. As a **Max Edition** user, you enjoy the special benefit of **free major version upgrades**.
In short, as Notion's features evolve and based on community feedback, I will continuously update and optimize the template's functional modules, add new modules, formulas, and workflow designs.
**Upgrade Scope Definition**
**1. Deep optimization of existing workflows, not unlimited feature additions**
The focus is on helping you complete tasks smoothly and efficiently, not on isolated feature points.
* **Included ✅:** Continuous review and restructuring of your existing core workflows. For example, completely redesigning the "Task Management" pipeline from collection, planning, execution to review, making it smarter and more automated. Or optimizing the "Content Creation" flow from inspiration capture, research, drafting to final publishing. These are all part of the free "major version updates".
* **Not Included ❌:** Developing entirely new domain templates unrelated to existing core workflows, such as a standalone "Pet Health Management" or "Home Renovation Project" template.
**2. Experience enhancement of existing modules, not unlimited product line expansion**
The commitment is to make your existing tools sharper and better.
* **Included ✅:** Continuously upgrading your existing core modules. For example, evolving the "Notes" module from a simple information collector to a powerful knowledge base with advanced tagging, bi-directional linking, and even knowledge graph visualization. Or adding richer views (Gantt charts, Kanban boards) and collaboration features to "Project Management". These are all part of the free "major version updates".
* **Not Included ❌:** Adding a completely independent new "Professional Extension Pack" requiring extensive domain expertise, such as a "Household Asset & Liability Management Module" with complex formulas and report analysis, or a "Personal Health & Fitness Management Module". These would be released as separate paid products.
**3. Adherence to the FLO.W product philosophy**
FLO.W's mission is to build a one-stop personal productivity system around four core scenarios: **"Effective Recording, Efficient Creation, Organized Management, Deep Review"**.
* **Included ✅:** Updates that deepen the experience across these four scenarios are within the scope of free "major version updates". Whether it's integrating new methodologies (such as PARA or Zettelkasten), or adding auxiliary features to close the loop (such as more powerful data dashboards, automated weekly/monthly report generators) — as long as it serves this core philosophy, you'll receive it for free.
* **Not Included ❌:** Any services or derivatives beyond the "product" itself, such as 1-on-1 Notion consulting, paid productivity courses, standalone software apps, or browser extensions.
**Upgrade Examples**
To give you a clearer picture, here are some specific examples:
| **Category** | **✅ Included in "Free Upgrade"** | **❌ Not Included in "Free Upgrade"** |
| ------------------------- | ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| **Workflow Optimization** | Completely restructure the "GTD Task Management" flow for a more automated pipeline. | Release a brand-new standalone student classroom note template. |
| | Optimize the "Content Creation" flow, adding pipeline management from inspiration to publishing. | Release a standalone enterprise CRM system. |
| **Module Enhancement** | Add team collaboration views and permission management to the "Project Database". | Develop a separately paid "Advanced Charts & Data Visualization" plugin. |
| | Add AI auto-tagging and classification to "Quick Notes". | Release a "Personal Finance" premium template with complex accounting standards. |
| | Deeply integrate the "Reading Module" with the "Notes Module" for automatic citation linking. | Develop a paid automation script for syncing template content to other apps. |
| **Experience Innovation** | Launch a new UI design with custom covers and icons for the FLO.W template. | Host a paid offline "Notion Productivity" training camp. |
| | Introduce PARA or Zettelkasten methodologies with corresponding database structure adjustments. | Provide 1-on-1 paid consulting for personal Notion system setup. |
| | Add a global "Data Dashboard" for aggregating key metrics. | Write and publish a paid e-book "Mastering FLO.W: The Art of Digital Life Management". |
| | | If FLO.W adapts to non-Notion platforms (e.g., Feishu, Flowus) in the future, the new platform versions. |
**Additional Statement:**
The world of digital tools and methodologies is constantly evolving, and Notion's own features continue to iterate. Therefore, we cannot foresee and exhaustively list all future possibilities.
Based on this, I reserve the right to make final interpretations and decisions regarding the scope of "major version updates" based on product development, technological changes, and market conditions. Any future decisions will be made on the premise of not harming the core interests of template users and following the core product philosophy described in this document.
Thank you for your understanding and support.
Due to Notion's technical limitations, the template does not support automatic "hot updates". Based on this, FLO.W adopts a modular **manual update mechanism** to ensure user data safety and system flexibility.
**Update Process**
1. Modular Release: When there are feature updates or new modules, I will release an independent **"Feature Component Template"**. This component contains all new features and related databases, and this update method preserves your existing notes library without starting over.
2. Configuration Guide: Along with each new component, a detailed **"Configuration Guide"** (usually in video or illustrated format) will be provided. The guide will explain all the steps needed to integrate the new component into your existing FLO.W system, such as page copying, database linking, etc.
**Modular Update Features**
* Data Preservation: The update process will not touch or overwrite any of your existing personal data and personalized settings, ensuring the integrity and safety of your current workspace content.
* Selective Integration: Users can **choose whether to integrate each released module** based on their own needs. This allows the system to stay lean and avoid bloating from unnecessary features.
* Educational Value: The configuration guides explain the Notion logic behind each feature. Following the manual configuration process objectively helps **users learn Notion's functionality and advanced application methods simultaneously**.
* User Autonomy: The manual configuration process allows users to clearly understand every change to the system structure, thereby enhancing their understanding and control of the entire system.
## Template Upgrade by Price Difference Strategy
Currently, the FLO.W template provides community Q\&A services for Professional Edition and Advanced Edition users. If you purchased the Basic Edition, you can contact customer service on the platform where you bought the template to upgrade by paying the price difference.
**Scan QR Code in Bilibili App**
**Scan QR Code in Xiaohongshu App**
**Scan WeChat QR Code**
Please email [eryidebiji@gmail.com](mailto:eryidebiji@gmail.com) and send your purchase record
Price difference upgrades cannot be combined with other offers. The difference is calculated based on original prices.
1. Basic Edition → Professional Edition: Pay difference of 100 yuan `299-199`
2. Basic Edition → Advanced Edition: Pay difference of 150 yuan `349-199`
3. Professional Edition → Advanced Edition: Pay difference of 50 yuan `349-299`
## Apply to Join Lark Community
Currently, the FLO.W template provides community Q\&A services for Professional Edition and Advanced Edition users. If you purchased the Basic Edition, you can contact customer service on the platform where you bought the template to upgrade by paying the price difference.
ℹ️ For group verification, please send \[Purchase Platform + Order Number]
**Scan QR Code in Lark App**
* Scan QR code in Lark App and enter verification answer
* Verification answer 👉 \[Purchase Platform + Order Number]
**Click Link in Client**
* Group link 👉 [Click Me](https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=249m84a0-e299-45d4-ad5a-4c78c402d5a8), enter verification answer
* Verification answer 👉 \[Purchase Platform + Order Number]
**Scan QR Code in Lark App**
* Scan QR code in Lark App and enter verification answer
* Verification answer 👉 \[Purchase Platform + Order Number]
**Click Link in Client**
* Group link 👉 [Click Me](https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=11fka34d-2b35-4d5e-812f-f03b715323cd), enter verification answer
* Verification answer 👉 \[Purchase Platform + Order Number]
## Question Guidelines
To resolve your issue faster, please provide the following information when posting in the community:
* 🔍 **Issue Description**: Describe the issue in detail
* 📸 **Screenshots/Recordings**: Specific manifestation of the issue
* 🔄 **Steps to Reproduce**: How to reproduce this issue
## Official Notion Updates
The FLO.W template evolves alongside Notion's official feature updates. Visit the [Notion Updates Timeline](/notion-updates) to stay up to date with every noteworthy new feature and improvement.
---
# System Design Philosophy (https://21notion.com/en/docs/faq/system-design)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
import { BlogCTA } from '@/components/blog/blog-cta';
This page explains the core design philosophy of the FLO.W template, helping you understand "why things are designed this way" for better template usage.
## Meta Information Architecture
**Reader's Question:**
Why not merge the Project database with the Task database? Databases already have sub-task functionality, allowing nesting within the same database - theoretically no need for a second database. Is it because the Task database would become too complex? Or are there formula or property conflicts?
**My Answer:**
This question can also be asked as: why aren't the Area and sub-Area databases merged? Or whenever you wonder "why aren't A and B databases combined?", you can refer to the answer below. You'll also learn some of my thinking behind designing this template.
Reason 1: Meta Information
First, the FLO.W system is built on 4 types of meta information. Understanding "meta information" is key to answering this question. I highly recommend reading the article below and searching for the keyword "limited types of meta information".
Article link:
Reconsidering Notion: My 7-Year Reflection
Project:
-
Is a goal container, representing an outcome that requires multiple steps to achieve, with a clear beginning and end
-
Its purpose is "defining direction" and "measuring progress", so its core properties are strategic ones like "Progress Bar", "Project Duration", "Associated Area"
Task:
-
Is an action unit, representing a specific action that can be started immediately
-
Its purpose is "driving execution". So its core properties are execution-oriented ones like "Next Action", "Schedule Date", "Status"
Different databases serve as different information containers, defining information types and flow directions through mutual relations. This is detailed in the article above - if you have time, I recommend reading it to systematically understand the template's construction logic.
Reason 2: Property Confusion
Based on the meta information definition, Task and Project databases must be independent, otherwise properties would mix together, requiring each property to carry two sets of usage logic. A specific "task" entry would show invalid properties like "Project Progress Bar"; a "project" entry would show execution properties like "Next Action".
This would make the database bloated and chaotic, and increase workload when recording, requiring repeated scrolling to find the appropriate property.
Reason 3: Sub-task Views Aren't Flexible
If Tasks were placed as sub-items under Projects, based on my long-term practical experience, you'd inevitably encounter many "view filtering" problems in the future.
Reason 4: Formula Statistics
Currently both Tasks and Projects have their own formula statistical reports. They must be stored in separate databases for formula statistics to work properly, reducing complexity and performance overhead during calculations.
Formula statistics reference:
Click here
**Question**: My daily work is quite fragmented and doesn't fit into any specific project, but it belongs to a specific work area. How can I better manage these tasks?
**Recommended Method**:
1. Create a project called "June Work Summary"
2. Link all fragmented tasks this month to this project
3. Link this project to a specific sub-Area
4. Achieve the following hierarchy:
* sub-Area XXX
* 202506 - Work Summary
* Fragmented Task 1
* Fragmented Task 2
## Area Design
**Question**
I often encounter notes that don't belong to any currently established area, but are worth keeping. Creating a separate area for them isn't worthwhile, but without an area I lose a dimension of classification. What should I do?
**Answer**
In the FLO.W system's Area module, I've kept an "Unassigned Notes" view that filters all notes without an Area or sub-Area set. This way you can collectively review notes without areas set and see if they share any commonalities. If so, perhaps you can create an Area or sub-Area for these notes.

So if you think this module should be visible, you can directly @ this page in the navigation bar. (Method reference @navigation bar video complete guide)
**Question**
The template has Areas and sub-Areas. How do I create third and fourth level areas?
**Answer**
The template adopts a two-tier structure of "Area" and "sub-Area" in the Area module through careful design. The purpose is to establish the clearest, most efficient connection between "macro strategy" and "specific action". Before considering adding more levels, understanding the design intent is crucial.
First you need to read [Understanding Areas](/docs/basic-feature/area), then continue reading below.
Adding unlimited third and fourth level areas easily leads to bloated management structures, increased decision burden, and may cause information to become fixed in corners, violating the core concept of information flow. When classification finer than sub-Area is needed, we don't recommend directly creating new database levels. Instead, choose one of these two paths that better fit system logic based on the nature of what you're organizing.
When the essence of an idea is "to complete something specific", it's better suited as a project.
* **Example Scenario**:
Under Area "Career Development" and sub-Area "Data Analysis Skills", you want to start learning Python. Don't create a third-level area "Python Learning".
* **Recommended Action**:
In the `Project Management` database, create a new project called "Learning - Python Basics" and link it to sub-Area "Data Analysis Skills".
* **Core Advantage**:
Projects naturally have goals and timelines, driving task breakdown and execution, forming action loops. After project completion and archiving, the area structure stays clean and strategic long-term.
When the essence of an idea is "a long-term continuous direction", it's better suited as a project.
When the essence of an idea is "requiring deep organization of a specific knowledge domain", it's better suited as a core node in a knowledge network.
* **Example Scenario**:
Under Area "Personal Mental Growth", you've developed deep interest in "Stoic Philosophy" and want to systematically organize it.
* **Recommended Action**:
1. In the `Note Management` database, create a note called "Topic: Stoic Philosophy Research".
2. Link this note to Area "Personal Mental Growth".
3. All more specific notes on this topic (like reading notes, personal reflections) are linked to this "Topic Note" through "Parent/Child" relationships.
* **Core Advantage**:
Building knowledge networks with notes as core is more flexible and lightweight than creating rigid hierarchies. The topic note page itself becomes the thinking center and index directory for that subject.
\| --- | --- | --- |
\| Something with **clear goals that can be completed in a period of time** | Define it as a **`Project`** | Define goals with **action** |
\| A knowledge topic **requiring long-term learning and accumulation** | Create it as a **`Topic Note`** | Organize knowledge with **knowledge** |
**Community Reader's Question**
> I have some personal principles I want to practice long-term, and I want to create a project to continuously improve them. I feel they should belong under the Area "Personal Growth", but it also feels like a sub-Area. How should I organize it to build the hierarchy of `Personal Growth -> Practicing Principles -> Principle Improvement Project -> Specific Tasks`?
**My Answer**
**I. Areas are rooms, Notes are books**
Before starting operations, we need to establish a concept:
* **Area is a "room"**: It represents a long-term responsibility area of your life, a space you need to continuously maintain and invest in, like a study (personal growth), kitchen (health management). It's structure, it's a container.
* **Note is a "book" or "tool"**: It represents specific knowledge, information, methodologies, reference materials. Your "personal principles" are a "life guidebook" that needs to be repeatedly read and revised. It's content, it's substance.
The core confusion in the reader's question is **trying to treat a "book" as a "room"**.
**II. The Wrong Approach: Forcing Hierarchy**
If we follow traditional folder hierarchy thinking, we'd try to build a seemingly reasonable hierarchy chain like the questioner:
* Area: Personal Growth (room)
* sub-Area: Practicing Principles (trying to make a book into a small room)
* Project: Improve Personal Principles
* Tasks...
The problem with this structure is that "Practicing Principles" itself doesn't have Area characteristics - it doesn't have independent, long-term investment goals. It itself is "content" that needs to be referenced. Forcing it as a sub-Area makes your area structure contain both rooms and books, creating confusion.
**III. FLO.W's Solution**
"Practicing Principles" is highly condensed wisdom, SOPs that guide your actions - this is exactly what the Notes database exists for.
1. Enter the `Note Management` database
2. Create a new note titled "My Personal Practicing Principles"
3. Inside this note page, write down each of your principles in detail
4. Link this note to the Area "Personal Growth"
Now, your "book" is in the correct "room".
Now you can create a project for the goal "Improve Principles" and create linkage with the principles note you just created.
1. Enter the `Project Management` database
2. Create a new project, for example: "Q4 Personal Principles Review and Iteration"
3. Link this project to sub-Area "Personal Mental Model Building" (or another sub-area you've defined)
4. **The key step**: In this project's "Related Notes" property, find and link your note "My Personal Practicing Principles"
This way, we've built a new, more powerful structure:
* **Area:** Personal Growth
* **sub-Area:** Personal Mental Model Building
* **Project:** Q4 Personal Principles Review and Iteration
* **Related Note** **\[My Personal Practicing Principles]**
* **Task:** 1. Review last quarter's principle execution...
The Principles note is no longer a rigid link in a hierarchy chain, but like an external knowledge USB drive, flexibly plugged into projects that need it.
**Benefits of this approach:**
* **Clear structure**: Your Area structure always only stores responsibility areas, maintaining strategic purity
* **Highly flexible**: The same "principles" note can be linked and reused by multiple different projects in the future - "Annual Planning Project", "Relationship Review Project" - truly achieving knowledge flow
When you encounter a new concept and are unsure how to organize it, ask yourself: Is it a "place" I need to be responsible for long-term, or a "thing" I need to reference or act on?
* If it's a "place", it should be an Area
* If it's a "thing", it's likely a Note or a Project
***
**Want to learn more?** Read [FLO.W Design Intent](/flow/design-philosophy) or [Reconsidering Notion: My 7-Year Reflection](/blog/notion-7-year-reflection).
---
# Troubleshooting (https://21notion.com/en/docs/faq/troubleshooting)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import { Card, Cards } from 'fumadocs-ui/components/card';
Having issues? This page documents common FLO.W template problems and their solutions.
## Recovering Deleted Content
Accidentally deleted something? Don't panic — follow these methods to get it back.
The simplest fix: immediately press the undo shortcut.
* **Windows**: `Ctrl + Z`
* **Mac**: `Cmd + Z`
You can press it multiple times to step back through recent actions.
**Note**: Undo history is cleared after closing or refreshing the page, so this only works right away.
If you accidentally deleted a module on a page (like a database view), but the page itself is still there — don't worry. You only removed the "display window"; the database and all its data are still intact.
**Method 1: Restore via Page History**
1. Click the `···` menu at the top-right of the page
2. Select **Page History**
3. Find the version from before the deletion in the left timeline
4. Click **Restore**
**Method 2: Re-embed from the Database Page**
If Page History doesn't work, you can manually add the database back. All original databases in FLO.W are centrally stored in the "Database" page accessible from the top navigation bar — just find it, copy the link, and paste it back:
1. Open the FLO.W top navigation bar and go to the **Database** page
2. Find the database you need (e.g., "Check-in Dynamics")
3. Open it, then press `Ctrl+L` (Mac: `Cmd+L`) to copy the link
4. Go back to the original page, paste the link to create a linked view
5. Adjust database settings as needed (layout, property visibility, etc.)
Deleted pages in Notion go to the **Trash** and can be recovered within 30 days:
1. Click **Trash** at the bottom of the left sidebar
2. Search for the deleted page by name
3. Click **Restore**
**Note**: Trash content has a retention period — restore it as soon as possible.
## Template Activation Issues
If you encounter issues where templates won't activate when creating notes in a database:

**Solution Steps**
1. Click on the database view title
2. Open the Source Database
3. Use `Ctrl+L` (Windows) or `Cmd+L` (Mac) to copy the Source Database link
4. Paste the copied link into the problematic database page
5. Create a new linked view
6. Test if the new linked view's template activates properly
**If the Issue Persists**
* Start a new topic in the Lark group
* Provide specific error screenshots and operation steps
* We'll help you resolve the issue quickly
**Prevention Tips**
* Avoid randomly deleting or moving source databases
* Maintain template structure integrity
During actual operation, when you create a new page but find it looks different from what I showed in the video, the reason might be that you didn't successfully activate the template. In this case, you can click the template button at the bottom of the page, wait a moment, and the template will be reactivated.

But sometimes you might find there's no template button on the page. This is because the page is no longer a "blank page" - only a "**completely empty blank page**" will show the template button.
In this situation, you can click on the page, select all content (including empty paragraphs), then delete them to restore the page to a "blank page", and the template button will appear.
## Known Bug Fixes
Due to the massive scale of the FLO.W system, there may be some errors in various corners. This section is dedicated to fixing these errors.
> **Applies to**: Users who copied the template before November 3, 2025. Templates copied after this date have this issue fixed.
**Issue Description**
In clipped articles, clicking the "Complete" button doesn't change the reading status to "Completed"

**Solution**
Click the "Complete" property, and the following prompt will appear

Then click "Edit property - Edit automation", then click where the error occurred

Change "Deleted option" to "Completed"

Finally click the save button

> **Applies to**: Users who copied the template before November 3, 2025. Templates copied after this date have this issue fixed.
**Issue Description**
When the month reaches November or December, the heatmap display won't align correctly, as shown below:

**Solution**
Copy the code below and replace the original code
```
/* ========== Check-in Statistics Board (Based on Current Month) - Integrated Habit Categories and Monthly Goals ========== */
lets(
/* --- Core Variables --- */
boardReferenceDate, now(), /* Board always based on current date and time */
currentYear, boardReferenceDate.formatDate("YYYY"), /* Current year string */
currentMonth, boardReferenceDate.formatDate("MM"), /* Current month string */
boardYearMonth, currentYear + "/" + currentMonth, /* Current year-month, e.g., "2025/05" */
/* --- Today's Check-in Status --- */
todayDateText, now().formatDate("YYYY/MM/DD"),
allRecords, prop("打卡记录"), /* All check-in records */
isCheckedInToday, allRecords.filter(current.prop("日期").formatDate("YYYY/MM/DD") == todayDateText).length() > 0,
todayCheckInStatusText, if(isCheckedInToday, "✅ 今天已打卡", "❌ 今天未打卡"),
habitCategory, prop("习惯分类"), /* Get habit category */
monthlyLimitTarget, prop("目标/上限"), /* Get monthly limit or target value */
/* Adjust markers and colors based on habit category */
triggerMark, if(habitCategory == "好习惯", "✓", "x"),
userDefinedColorForHabit, prop("习惯颜色"),
triggerColor, if(
habitCategory == "好习惯",
"green",
empty(userDefinedColorForHabit) ? "red" : userDefinedColorForHabit
),
/* --- 1. Calculate Monthly Trigger/Completion Count --- */
/* allRecords already defined above */
monthlyTriggers,
allRecords.filter(
current.prop("日期").formatDate("YYYY/MM") == boardYearMonth
).length(),
/* --- 2. Build First Row Habit Info String (Displayed for Both Good and Bad Habits) --- */
habitInfo,
lets(
baseText, format("本月 ") + monthlyTriggers + " 次",
actualSuffixText, /* Initialize suffix text */
if(empty(monthlyLimitTarget),
"", /* If no target/limit set, suffix is empty */
if(habitCategory == "好习惯",
lets(
neededForTarget, monthlyLimitTarget - monthlyTriggers,
if(neededForTarget <= 0,
"|已达标",
"|还需 " + format(neededForTarget) + " 次"
)
),
/* When it's a bad habit */
lets(
remainingCount, monthlyLimitTarget - monthlyTriggers,
if(remainingCount >= 0,
"|剩余 " + format(remainingCount) + " 次",
"|已超额 " + format(abs(remainingCount)) + " 次"
)
)
)
),
(baseText + actualSuffixText).style("b", "u") /* Combine and apply styles */
),
/* --- 3. Month and Week Headers --- */
monthHeader,
lets(
monthNum, boardReferenceDate.formatDate("MM").toNumber(),
monthText, if(monthNum >= 11,
boardReferenceDate.formatDate("MMM"), /* Nov/Dec use abbreviation */
boardReferenceDate.formatDate("MM") + "月" /* 1-10 use numbers */
),
monthText.style(
triggerColor + "_background", "c", "b", triggerColor
)
),
dayAbbreviations, ["M", "T", "W", "T", "F", "S", "S"],
weekHeader, dayAbbreviations.map(
lets(
dayAbbr, current,
dayIndex, index,
systemToday, now().day(),
isToday, (systemToday == 0 && dayIndex == 6) || (systemToday != 0 && systemToday - 1 == dayIndex),
dayAbbr.style(
triggerColor + "_background", "c", "b",
isToday ? ((triggerColor == "yellow" || triggerColor == "pink" || triggerColor == "green" || triggerColor == "gray") ? "brown" : "white") : triggerColor
)
)
).join(" "),
fullHeader, monthHeader + " " + weekHeader,
/* --- 4. Weekly Check-in Heatmap --- */
firstDayOfBoardMonth, parseDate(currentYear + "-" + currentMonth),
startDayOfWeekForBoardMonth, firstDayOfBoardMonth.day(),
week1StartDate, firstDayOfBoardMonth.dateSubtract((startDayOfWeekForBoardMonth + 6) % 7, "days"),
weekDaysOffsets, [0, 1, 2, 3, 4, 5, 6],
weekOffsetsForMap, [0, 7, 14, 21, 28, 35],
allWeekViewsRendered, weekOffsetsForMap.map(
lets(
daysToAdd, current,
currentWeekStartDate, week1StartDate.dateAdd(daysToAdd, "days"),
currentWeekIndex, index,
isThisWeekPotentiallyRelevant, currentWeekStartDate.formatDate("YYYY/MM") == boardYearMonth || currentWeekStartDate.dateAdd(6, "days").formatDate("YYYY/MM") == boardYearMonth,
displayThisWeek, (currentWeekIndex < 5) || (currentWeekIndex == 5 && isThisWeekPotentiallyRelevant),
weekViewContent, displayThisWeek ? (
(currentWeekStartDate.formatDate("WW") + "周").style(
currentWeekStartDate.formatDate("YYYY/WW") == now().formatDate("YYYY/WW") ? triggerColor + "_background" : "",
"c", "b", triggerColor
) + " " +
weekDaysOffsets.map(
lets(
dayOffset, current,
currentDayInGrid, currentWeekStartDate.dateAdd(dayOffset, "days"),
isCurrentDisplayMonth, currentDayInGrid.formatDate("YYYY/MM") == boardYearMonth,
dailyTriggersCount, isCurrentDisplayMonth ?
allRecords.filter(
current.prop("日期").formatDate("YYYY/MM/DD") == currentDayInGrid.formatDate("YYYY/MM/DD")
).length() : 0,
isActualToday, currentDayInGrid.formatDate("YYYY/MM/DD") == todayDateText, /* Use todayDateText for comparison */
(dailyTriggersCount > 0 ? triggerMark : (isCurrentDisplayMonth ? "·" : " ")).style(
dailyTriggersCount > 0 ? triggerColor + "_background" : (isActualToday && isCurrentDisplayMonth ? "blue_background" : ""),
"c", "b",
dailyTriggersCount > 0 ? triggerColor : (isCurrentDisplayMonth ? (isActualToday ? "white" : "gray") : "")
)
)
).join(" ")
) : "",
weekViewContent
)
).filter(current != "").join("\n"),
/* --- Build Monthly Target/Limit Text Line (for summary) --- */
monthlyTargetDisplayLine,
if(empty(monthlyLimitTarget),
"", /* If target/limit is empty, this line is empty */
if(habitCategory == "好习惯",
format("本月目标 ") + format(monthlyLimitTarget) + " 次",
format("本月上限 ") + format(monthlyLimitTarget) + " 次"
)
),
/* --- Calculate Last Month and Year Statistics (for summary) --- */
dateForLastMonth, boardReferenceDate.dateSubtract(1, "months"),
lastMonthYearMonth, dateForLastMonth.formatDate("YYYY/MM"),
lastMonthTriggers, allRecords.filter(
current.prop("日期").formatDate("YYYY/MM") == lastMonthYearMonth
).length(),
percentageChangeText, /* Adjust wording for "increase from 0" */
if(lastMonthTriggers == 0,
/* When last month was 0 times */
if(monthlyTriggers > 0,
"本月增加 " + format(monthlyTriggers) + " 次", /* Fixed: removed duplicate "last month 0" */
"无变化" /* If this month is also 0, no change */
),
/* When last month wasn't 0, calculate percentage */
lets(
diff, monthlyTriggers - lastMonthTriggers,
percentage, round(diff / lastMonthTriggers * 100),
if(percentage == 0,
"无变化",
if(percentage > 0,
"增加 " + format(percentage) + "%",
"下降 " + format(abs(percentage)) + "%"
)
)
)
),
lastMonthSummary, "上个月 " + format(lastMonthTriggers) + " 次|" + percentageChangeText,
thisYearTriggers, allRecords.filter(
current.prop("日期").formatDate("YYYY") == currentYear
).length(),
thisYearSummary, "今年总计 " + format(thisYearTriggers) + " 次",
/* --- 5. Final Assembly of All Parts --- */
finalOutput,
todayCheckInStatusText + "\n" +
habitInfo + "\n" +
fullHeader + "\n" +
allWeekViewsRendered + "\n\n" +
if(empty(monthlyTargetDisplayLine), "", monthlyTargetDisplayLine + "\n") +
lastMonthSummary + "\n" +
thisYearSummary + "\n",
finalOutput
)
```
> **Applies to**: Users who copied the template before November 2, 2025. Templates copied after this date have this issue fixed.
**Issue Description**
Open an article in the Web Clipper module, find the "Relation Property Last Edited Time" property, and clicking it shows an error like below:

**Solution**
Copy the following code and completely replace the original
```
lets(
project,prop("关联项目").map(current.prop("上次编辑时间")),
task,prop("关联任务").map(current.prop("上次编辑时间")),
extract,prop("关联摘录").map(current.prop("Last Edited Time")),
author,prop("出自").map(current.prop("Last Edited Time")),
category,prop("书单分类").map(current.prop("Last Edited Time")),
subArea,prop("次级领域").map(current.prop("Last Edited Time")),
note,prop("关联笔记").map(current.prop("上次编辑时间")),
Area,prop("一级领域").map(current.prop("Last Edited Time")),
content,prop("Last Edited Time"),
[Area,note,subArea,category,author,author,extract,task,project,content].flat().unique().sort().reverse().first()
)
```
This change doesn't affect any functionality, it just removes unused code.
> **Applies to**: Users who copied the template before September 14, 2025. Templates copied after this date have this issue fixed.
**Issue Description**
In some cases, if you open a database and click the "Homepage" button at the top
But it redirects to some webpage location
**Solution**
**Method 1: Fix the Link**
Go to your template homepage, then use shortcut Ctrl+L (Mac users use Cmd+L) to copy the homepage link
Return to the database page with the issue, then edit the "Homepage" button hyperlink
1. Hover over the word "Homepage"
2. Click the "Edit" button, a popup will appear
In the "Page or URL" input field, paste the link from step 1, press Enter after pasting, then click the "Homepage" button and it will navigate to the correct homepage.
**Method 2: Delete Navigation**
Since this navigation location is used infrequently, you can also directly delete the entire navigation string - it generally won't affect usage.
> **Applies to**: Users who copied the template before September 14, 2025. Templates copied after this date have this issue fixed.
**Issue Description**
In the "Life - Wishlist" module, there's an "Add to Purchased" button
If clicking this button shows an error, one of the steps in this button might have an error
**Solution**
Re-edit this button following the method shown below
***
## Can't Access Notion?
If the Notion website or app suddenly becomes inaccessible, it might be a Notion service outage — not an issue with your network or template.
* Check the [Notion Status Page](https://www.notion-status.com/) to see if services are currently operational
* If it's not an official outage, refer to [Notion Access Speed Solutions](/docs/notion-download#notion-access-speed)
***
**Issue not resolved?** Join the [Lark Community](/docs/faq/support#join-feishu-group) for human support.
---
# Asset Inventory (https://21notion.com/en/docs/lifestyle/assets-inventory)
## Module Introduction
You bought that keyboard for 500 yuan, and after two years it's sitting idle in a corner. What's its daily cost?
This module will tell you the answer. Record the purchase date and price of each item, and the system will automatically calculate its daily cost and days of use. Three months later when you want to buy a new keyboard, open this and you'll know more clearly: you haven't gotten your money's worth from the last one yet. This isn't about making you a miser—it's about giving you more control over every spending decision.

> 🎯 **Asset Inventory** is just one of many built-in features in the FLO.W template. You'll also get task management, project tracking, a notes system, and more — one template covering every aspect of work and life.
>
>
>
> [👉 View full features & pricing](/pricing)
---
# Gaming Tracker (https://21notion.com/en/docs/lifestyle/gaming-tracker)
## Module Introduction
Completing a game is like finishing an adventure, but these experiences shouldn't fade away like mist.
This module records your game library, completion progress, game reviews, and spending. Two years from now when a friend asks "Is this game worth playing?", you won't need to struggle to remember—open this and find your complete gaming history. Every completed game is a unique journey worth recording and savoring.

> 🎯 **Gaming Tracker** is just one of many built-in features in the FLO.W template. You'll also get task management, project tracking, a notes system, and more — one template covering every aspect of work and life.
>
>
>
> [👉 View full features & pricing](/pricing)
---
# Habits Tracker (https://21notion.com/en/docs/lifestyle/habits-tracker)
## Module Introduction
Changing a habit is like pushing a boulder up a mountain—the hardest part isn't lack of strength, but not seeing how far you've come. This module turns every day's persistence into visible color blocks with heatmaps. Reading, exercise, early bedtime, vocabulary memorization—whatever habit you want to build, open this to see your competition with yesterday. When the calendar fills with green squares, that sense of achievement becomes the best motivation to keep moving forward.

> 🎯 **Habits Tracker** is just one of many built-in features in the FLO.W template. You'll also get task management, project tracking, a notes system, and more — one template covering every aspect of work and life.
>
>
>
> [👉 View full features & pricing](/pricing)
## FAQ
**Question**
Because of high-frequency use, is there a way to check in as soon as I open Notion? This would shorten the check-in path and be more efficient.
**Answer**
Create a **Button** where you want quick check-in access. The basic logic of the button is as follows:
* After clicking the button, create a page in a **Database** named **FLO.W Habits Tracker DB**
* Edit the **Date** Property of this **new page** and set it to **Trigger Date**
* Edit the **Related Habit** Property of this **new page** and link it to **the habit page you want to check in**
Button logic requires some learning and research. If you don't know how to operate it, you can start a new topic in the group to ask.
**Question**
I clicked the **Check-in** button multiple times, causing errors in **Check-in Statistics**. How do I remove duplicate check-in records?
**Answer**
Find the specific check-in target at the location shown below, then delete the duplicate date pages.
**Question**
Does every check-in create a new page? Won't this result in a huge pile of pages over time, affecting database loading efficiency and stability?
**Answer**
1. The pages displayed here are limited and will collapse after a certain number. Also, if you really don't want to see them, you can hide these Properties.
2. The check-in mechanism does generate a new page each time, but these pages won't be mixed with your Notes—they're in an independent Database. Also, since check-in pages are blank, they won't pollute search results.
3. The performance overhead of the check-in statistics formula is minimal and won't consume too much performance when loading.
4. Notion formulas only run when loaded—meaning if you don't look at it, it essentially doesn't exist.
---
# Lifestyle Trackers (https://21notion.com/en/docs/lifestyle)
import { CheckCircle, TvMinimalPlay, Box, Joystick, TicketMinus } from 'lucide-react';
Life is more than just work and study. FLO.W's lifestyle tracking modules help you track those easily forgotten but equally important life details—habit building, spending records, entertainment time.
> 💡 **Module Positioning**: These features are FLO.W system's "lifestyle amenities"—you can enable them as needed. They are independent from core Task, Project, and Note modules and won't add complexity to daily use.
## Module Overview
} title="Habits Tracker" href="/docs/lifestyle/habits-tracker">
Record daily persistence with heatmaps, make change visible
} title="Movie Tracker" href="/docs/lifestyle/movie-tracker">
Record viewing experiences, track want-to-watch and watched
} title="Asset Inventory" href="/docs/lifestyle/assets-inventory">
Calculate daily costs, gain more control over spending
} title="Gaming Tracker" href="/docs/lifestyle/gaming-tracker">
Record completion progress, savor your gaming journey
} title="Subscription Manager" href="/docs/lifestyle/subscription-tracker">
Track subscription fees, automatic expiry reminders
## Usage Tips
The design philosophy of these modules is "**low-friction recording**"—don't record for the sake of recording, but quickly jot things down when they actually happen.
* **Habits Tracker**: Start with 1-3 habits you most want to change—too many will be hard to sustain
* **Movie Tracker**: Spend 30 seconds writing a review after watching a movie—three months from now you'll thank yourself
* **Asset Inventory**: Record when buying new things, have data to reference when making spending decisions
* **Gaming Tracker**: Record your thoughts after completion—archive your gaming journey for yourself
* **Subscription Manager**: Log all auto-charging services, set reminders to avoid waste
---
# Movie Tracker (https://21notion.com/en/docs/lifestyle/movie-tracker)
## Module Introduction
Movies and series you've watched shouldn't be consumed like fast food.
This module helps you record every viewing experience: your rating, watch time, actors and directors who moved you. More importantly, it can remind you of new releases you're anticipating and updates to shows you're following. From "want to watch" to "watched," from "tracking" to "savoring," all your viewing memories are traceable.
Three months from now, when a friend asks "what's good to watch lately," you won't need to struggle to remember—open this and find the answer.

> 🎯 **Movie Tracker** is just one of many built-in features in the FLO.W template. You'll also get task management, project tracking, a notes system, and more — one template covering every aspect of work and life.
>
>
>
> [👉 View full features & pricing](/pricing)
## FAQ
Gallery poster effect:

To display posters in the gallery, there are two methods.
1. Paste the poster directly into the page content, then in **Database Settings - Layout**, set **Card Preview** to **Page Content**

2. Upload the poster to a **File** Property in the Database,
First, you need to create a **File** Property for the Database to upload posters

Then set **Card Preview** to this File Property


---
# Subscription Manager (https://21notion.com/en/docs/lifestyle/subscription-tracker)
## Module Introduction
ChatGPT, Notion, various memberships—each feels like just a few dozen yuan per month, but by year-end it could add up to several thousand.
These auto-charging subscriptions are like boiling a frog in warm water, making your money slip away unnoticed. This module tracks all subscription services and automatically reminds you before expiry whether to renew or cancel. It's not about making you reluctant to spend, but about letting you clearly know that every yuan is spent on what you truly need.

> 🎯 **Subscription Manager** is just one of many built-in features in the FLO.W template. You'll also get task management, project tracking, a notes system, and more — one template covering every aspect of work and life.
>
>
>
> [👉 View full features & pricing](/pricing)
---
# Area Properties Guide (https://21notion.com/en/docs/properties/area)
## Primary Area Properties
* **Area Goal**: What you most want to achieve in this direction, equivalent to setting a long-term goal for yourself, telling yourself "where I'm heading."
* **Area Description**: Used to write your thoughts and philosophy about doing this. Why do it? What value do you want to create? Sometimes it's easy to get lost in the process—looking back at this passage can help you rediscover your original intention.
* **Core Directions**: Breaking down the big goal into several actionable paths, turning "goal" into "how to do it."
* **Area Gap**: Self-diagnosis—what's missing now? Not enough resources? Not enough time? Or blind spots in understanding? Write it down to remind yourself what weaknesses to address.
* **Area Calibration**: Timing points for periodic review. For example, check quarterly: is the goal still right? Should the direction be adjusted? Prevents working hard but going off track.
Reference:

The overall logic is: **Set goal first** → **Clarify why** → **How to do it** → **What's missing** → **Periodic review**
---
# Clipper Properties Guide (https://21notion.com/en/docs/properties/explore)
## Design Logic
The Explore Database is the unified database in the FLO.W Template for managing all "input-type content"—whether books, articles, videos, courses, or posts, they all converge here.
The core reasons for this design:
* **Unified Entry**: No need to switch between multiple Databases—all to-read/reading/completed content is in one place
* **Flexible Categorization**: Distinguish types through the "Content Format" Property, combined with view filtering—keeps data unified while allowing on-demand viewing
* **Connected Flow**: Reading is not an isolated behavior; it has relationships with Tasks, Projects, Notes, and Areas. These connections make knowledge truly flow
***
## Property Guide and Usage Methods
### 📌 Basic Information Properties
| Property | Description | Usage Method |
| ------------------ | ----------------------- | ------------------------------------------------------------------- |
| **Name** | Content title | Fill in book title, article title, video name, etc. |
| **Content Format** | Content type | Select: Book / Article / Video / Course / Post |
| **Reading Status** | Current progress status | Not Started → In Progress → Completed |
| **URL** | Content source link | Fill in the URL of original text/video/course for easy backtracking |
| **Cover** | Content cover image | Upload or paste cover image to make list view more intuitive |
***
### 📖 Book-Specific Properties
The following Properties are only meaningful when "Content Format = Book":
| Property | Description | Usage Method |
| ---------------------- | ------------------------ | ------------------------------------------------------------------------------------------ |
| **Total Pages** | Book total pages | Fill in a number, used to calculate reading progress |
| **Pages Read** | Current pages read | Update after each reading session, system automatically calculates progress percentage |
| **Reading Progress** | Auto-calculated progress | Formula Property, no manual filling needed, displays "Pages Read ÷ Total Pages" |
| **Word Count** | Book total word count | Optional fill, some ebooks display word count |
| **Douban Rating** | Rating on Douban | Fill in 0-10 number, helps judge if worth reading |
| **Book List Category** | Book topic category | Link to Book List Database, such as "Productivity" "Psychology" "Business" etc. |
| **Related Excerpts** | Highlight passages | The excerpts Database embedded in the page will automatically link, no manual setup needed |
Related use case: [How to read a book with FLO.W Template](/blog/book-reading)
### 🎯 Reading Intention Properties
| Property | Description | Usage Method |
| ----------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Why Read** | Reading motivation and expectations | Before starting, write down: What problem do I want to solve? What do I want to learn? This helps maintain reading focus |
| **After Reading** | Overall feeling after reading | After completion, briefly record: What was my biggest takeaway from this book/article? |
***
### 🔗 Relation Properties
These Properties create connections between reading content and other parts of the system:
| Property | Description | Usage Scenario |
| ------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Area / sub-Area** | Knowledge area the content belongs to | Which area does this content belong to? After linking, you can see all related content in the Area page |
| **From** | Author/blogger/channel | Link to People Database, convenient for tracking all works by a certain author |
| **Related Task** | Triggered to-dos | What needs to be done after reading? Link directly to Tasks |
| **Related Project** | Project it belongs to | Which project is this reading for? After linking, the project page will display all reference materials |
| **Related Note** | Extended notes | What notes did you write based on this content? Bidirectional link, knowledge won't be scattered |
| **Reading Report** | Periodic reading summary | Automatically links to reading report, no manual operation needed, used to generate monthly/annual reading statistics |
***
### ⚙️ System Properties
| Property | Description | Notes |
| ------------------- | -------------------------- | --------------------------------------------------------------------------------------- |
| **Created Time** | Page creation time | Auto-recorded, no manual filling needed |
| **Completion Date** | Date marked complete | Auto-filled when clicking "Complete" button |
| **Complete** | One-click complete button | After clicking, automatically changes status to "Completed" and records completion date |
| **URL Icon** | Display icon based on link | Formula Property, automatically extracts website icon |
| **Site Extraction** | Extract domain from link | Formula Property, displays content source site |
---
# Note Properties Guide (https://21notion.com/en/docs/properties/note)
## Note Types
Focusing on the essential purpose of notes, "questions" need answers, "processes" mean they can be reused—try to use limited tags to cover your daily note types, so you can quickly find where to store a note when it's created. Because everyone's daily note types are different, the "types" here are highly customizable, but we don't recommend setting too many note types, otherwise it will increase the burden of categorization.
In the FLO.W system, appropriate fuzziness is allowed, because besides "Note Type" serving as a categorization dimension for notes, there are more methods and perspectives to help you find the notes you need.
**Current six preset note types**
| Type | Description |
| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Exp - Experience / Summary / Review** | Used to record lessons learned from practice (Projects, Tasks, life experiences), in-depth research summaries on complex topics, or periodic personal/work review reflections. This type of note is key to knowledge internalization and refinement. |
| **Log - Journal / Process / Experience** | Used to record daily diaries, work logs, specific processes of project progress, important personal experiences or observational discoveries. |
| **Ask - Confusion / Unknown / Problem** | Used to record specific questions arising in learning, work, or life, problems needing further investigation, challenges or difficulties faced |
| **How - Method / Process / Guide** | Used to record specific operation methods, workflows, SOPs (Standard Operating Procedures), skill acquisition guides or tutorials |
| **Idea - Thought / Inspiration / Viewpoint** | Used to quickly capture any fleeting inspiration, initial ideas, unique personal viewpoints or innovative solutions |
| **Ref - Resource / Excerpt / Tool** | Used to store valuable external resource links, curated excerpts from articles/books, recommended tool lists, or other material fragments worth saving. |
## Outgoing Links and Incoming Links
In the FLO.W system's note page, you can see the Outgoing Links and Incoming Links options in the Related module. Their usage is the same—both let you link notes with other notes.
* Outgoing links are active associations—it's me remembering which notes are related to this one
* Incoming links are passive associations—it's me being linked by which notes
This mechanism is to build a sense of direction between notes

### What is a Sense of Direction
It refers to the ability to clearly perceive the contextual structure, causal relationships, or development paths of information starting from a certain note. That is, not just knowing which related notes exist, but also knowing **which is the starting point, which is the extension, which is the summary, which is the supplement** between them.
### The Nature of Outgoing and Incoming Links
* **Outgoing Links**: Current note actively mentions or cites other notes. Means "I depend on it, I explain it, I extend viewpoints based on it."
* **Incoming Links**: Other notes mention or cite the current note. Means "who pays attention to it, for which topic is it the foundation or source."
### How to Use Outgoing and Incoming Links
* **View Outgoing Links** → Get "what it cites," suitable for extended reading (such as progressive reading, concept breakdown)
* **View Incoming Links** → Get "who cites it," suitable for review and summary (such as finding upper-level structures, summary-type notes)
## Parent and Child
## Sibling Notes
In the Note Management Database, with the "Sub-items" feature enabled, assuming the following note structure exists
* Parent note
* Child note A
* Child note B
* Child note C
* …
Then when you visit "Child note A," "Child notes B, C, D…." will be displayed in the "Sibling Notes" section

## Topic Notes
When a note has child notes, we can call it a topic note.
### Topic Note Implementation Logic
1. Enable the "Sub-items" feature of the **Note Database**. If already enabled, ignore this. The location of the **Sub-items** feature may vary

2. Use a Formula to determine whether a note is a "topic note"
`empty(prop("Sub-items")).not() or empty(prop("Parent")).not()`
If the result is true, the Formula will automatically check the box
Then filter all results to this page

### How to Add Child Notes
Please refer to: [Parent and Child](#parent-child)
### Topic Note Application Example

## Attention Level
**Use "Attention Level" to mark note content that needs attention "right now"**
Only when a note's "Completion Status" is in "`In Progress`" do you need to allocate attention to it, but normally when there are enough notes, if there's only the "In Progress" category, it will be overloaded, so further focus is needed—use "Attention Level" to mark notes that currently need more attention
* Active:Note content being processed in the last few days
* Waiting:Blocked and temporarily on hold, waiting for more material to further improve and supplement
* Paused:Current note is half-done and not yet completed, completion is necessary but temporarily impossible and low priority, can be paused

**Supplement**
* If a note is not in "In Progress" status, there's no need to set "Attention Level"
* If you're a Notion paid user, you can set an Automation to automatically cancel "Attention Level"

## Completion Status
Every note has three life cycles: Not Started, In Progress, Completed, used to indicate my processing progress
* Not Started:Only note title or rough idea, record first to prevent loss
* In Progress:Currently being edited
* Completed:The content covered by the note title is finished

**Supplement**
* Don't overly pursue precise categorization
* Just follow your first instinct to set the note's Completion Status
## Frequently Used
Filter for frequently used notes for quick access and quick recording. For example, commonly used Prompts, frequently referenced manuals, processes, guides, etc.

Subsequently, these notes will appear in the position shown below

## Random Sort
**Property Location**
This Property currently exists in the following locations:
1. **Note Database**
2. **Project Management - Content Creation - Topic Library**
**Property Explanation**
* This is an auto-calculated Formula, no manual intervention needed
* Can automatically generate a string of random numbers based on the current page's **Created Time**
**Property Usage**
* Sort by the **Random Sort** Property (ascending or descending both work), and you can achieve random browsing of Database pages
**Function Scenario**
Randomly sort notes or topics, etc., to achieve random review of note content, helping you discover (stumble upon) forgotten old notes, rather than viewing by creation time or alphabetical order
---
# Project Properties Guide (https://21notion.com/en/docs/properties/project)
## Prerequisites and Dependencies
### Property Explanation
The current FLO.W system has a basic framework with "Area" as the top-level design. Specifically, you can see this article in the [Template Manual](/docs): [Understanding Areas](/docs/basic-feature/area).
* Area
* sub-Area
* Project A
* Project B
* Task 1
* Task 2
Under this framework design, all projects are parallel to each other, unless they're all linked to the same **sub-Area**
For example:
* sub-Area - Python Data Analysis
* Project A
* Project B
But this way, some special situations may arise.
### Possible Scenarios
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
Sometimes, the granularity of a "Project" is too large, making it impossible for us to start taking action. For example, you want to create a project called "Learn Notion Course," but this goal is too massive and vague. You might want to break it down into smaller, manageable units, such as:
* Learn Notion Course (parent project)
* Learn Chapter 1: Basics (sub-project)
* Learn Chapter 2: Database Deep Dive (sub-project)
* Learn Chapter 3: Advanced Formulas (sub-project)
Here, you might feel that "Learn Chapter 1" is complex enough that it needs to link to its own Tasks and Notes, so it can't just be a simple Task—it should be a "sub-project."
Some projects have strict sequential relationships—you must complete one before starting the next.
For example:
1. You must first complete the project "Complete APP UI Design."
2. Then you can start the project "Start APP Frontend Development."
In the current parallel structure, we can't clearly express this dependency where "A is B's prerequisite."
To address both needs above, you can use the project's Prerequisites and Dependencies feature

1. This feature is an upgrade benefit of \[Advanced Edition · Major Version Free Upgrade]
2. If you're an Advanced Edition user, please find the update method and detailed instructions in the group announcement
3. Basic Edition / Professional Edition upgrade to Advanced Edition method → [Version Upgrade](/docs/faq/support)
## Related Items Last Edited Time
In the FLO.W system, you'll see a Property called "Related Items Last Edited Time" in many Databases, for example:

The basic purpose of this Property is to display the last edited time of all pages associated with the current page.
Notion's built-in "Last Edited Time" only tells you when **this page itself** was last modified. The "Related Items Last Edited Time" Property automatically checks all **content linked to this page** (such as related Tasks, Projects, child notes, parent notes, outgoing links, incoming links, etc.), then tells you which was the most recent edit time among all this content.
When you link an old note written months ago to a new project, this old note's **`Related Items Last Edited Time`** will immediately update to today. This means it has a chance to reappear in your view. This mechanism helps you connect past accumulated wisdom with current work, creating unexpected chemistry.
---
# Task Properties Guide (https://21notion.com/en/docs/properties/task)
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
This document will provide a detailed explanation of each Property in the FLO.W Template's Task Database, helping you better understand and use the task management features.
## Task Types: Schedule vs Todo
| **Feature** | **📅 Schedule (Appointment)** | **✅ Todo (Assignment)** |
| ------------------- | ----------------------------------------------------- | ---------------------------------------------- |
| Time Characteristic | Fixed time point (3 PM meeting) | Deadline (complete by Friday) |
| Flexibility | Not adjustable (meeting room booked) | Self-arrangeable (based on status) |
| Common Scenarios | Meetings, flights, weddings, birthdays | Writing reports, shopping, picking up packages |
| Notes | Must arrive on time, ensure time slot isn't disturbed | Time flexible, pay attention to deadline |
## Schedule Date vs Completion Date
Many people confuse these two properties. The key difference is:
* **Schedule Date** = when you **plan** to do it (expectation)
* **Completion Date** = when you **actually** finished it (result)
For example: you plan to write an article from Monday to Friday, so **Schedule Date** is Mon \~ Fri. You finish it on Wednesday, so **Completion Date** is Wednesday.
## Next Action
Set an immediately executable action for the current task, so that next time you see the current task, you can execute it without any thinking, then rely on inertia to further break down and complete this task
## Sibling Tasks
**Sibling Tasks** is a formula property that automatically lists **other tasks under the same project**, helping you quickly see the progress of related work.
**Display rules:**
* Finds all tasks under the same project via the **Project Relation**, excluding the current task
* Sorted by creation date (newest first), up to 20 entries
* Each task shows: task name + creation date (blue) + current status (color-coded)
* Green: Completed
* Blue: In Progress
* Red: Todo / On Hold / Collect / Abandoned
**Use case:** When working on a task within a project, you can see the status of other tasks in the same project without switching to the project page.
> This is an [Advanced Edition update](/docs/faq/support#upgrade-pricing) exclusive feature.
## Task Reminders

**Reason:** You've filled in **Completion Date**, but **Status** is not yet **Completed** or **Abandoned**.
* If the task is actually complete: Change **Status** to **Completed**.
* If the task was abandoned: Change **Status** to **Abandoned**. You can keep the Completion Date as a record.
* If the Completion Date was filled by mistake: Clear the **Completion Date**.
This means the task has passed its deadline but is not yet completed.
* **Overdue N days**: The due date has passed by N days (calculated by day).
* **Overtime X hours Y minutes**: A specific time was set in the schedule, and that time has passed today (calculated by hours/minutes).
* Solution: Complete the task, change **Status** to **Completed**, and fill in **Completion Date**.
**Reason:** The **Status** field is empty, but **Completion Date** has been filled in, so the system infers the task is complete.
* Solution: Change **Status** to **Completed**, and the prompt will switch to normal completion info.
* No **specific time** is set in the schedule. When the schedule only has dates (all-day events), the system only prompts by **day**.
* Solution: Add a specific time to the due date in **Schedule Date** (e.g., 17:00), and it will show hour/minute-level prompts.
* "Completed on Time" requires the completion time and deadline to be exactly the same, which rarely happens in practice.
* Seeing "Early" or "Overdue" completion prompts is perfectly normal.
* **Pending Schedule**: The task has no schedule set, and status is Collect/On Hold/Todo.
* **In Progress (no schedule)**: Status is already **In Progress**, but no schedule has been set.
* Solution: Set at least a due date. If not arranging for now, you can put it **On Hold**.
* **Completion Date** is empty or inconsistent with the actual time.
* Solution: Fill in the actual completion time in **Completion Date**. Once status is **Completed**, the corresponding completion info will display.
* When the schedule's start or due date is tomorrow, the system prioritizes showing a "Starts Tomorrow / Due Tomorrow" reminder.
* If you want a more precise countdown, set a specific time in the schedule.
1. **Is status correct?** Select **Completed** if done, **Abandoned** if dropped.
2. **Is schedule empty?** If empty, it will show **Pending Schedule**.
3. **Need precise time?** Add a specific time to the schedule; all-day events default to day-level prompts.
4. **Completion Date**: Fill in promptly after completion; correct promptly if filled by mistake.
* In Notion, if only a date is set without a specific time, the time defaults to 00:00.
* When calculating time differences, the system uses 00:00, which may differ from your intuition.
## Task Status Usage Guide
In the FLO.W system, task status is used to mark which life cycle stage a task is in. Understanding the meaning of each status helps you manage task flow more efficiently.

🟣 **Collect**: Ideas not yet clarified or items to be organized
When an idea suddenly pops into your mind, but what exactly to do or whether to do it isn't certain yet, record it in the **Collect** status.
**Next Action**: Periodically review tasks in **Collect**, decide whether to convert to **Todo**, or directly delete/abandon.
***
🟢 **Todo**: Clear and confirmed tasks to do
When a task already has clarity on "what it is," "why do it," "how to do it," just hasn't reached the execution time point yet, mark as **Todo**.
**Next Action**: When ready to start executing, change status to **In Progress**.
***
🟤 **On Hold**: Not doing for now, but may restart in the future
When a task cannot continue progressing for some reason, but you don't want to completely abandon it, mark as **On Hold**.
**Difference from "Abandoned"**: On Hold is "pause," Abandoned is "terminate." Tasks on hold remain in the system, and you can periodically review whether to reactivate.
🔵 **In Progress**: Task currently in progress
As long as you've started working on this, or are starting it today, mark as **In Progress**. This is your current work focus.
**Recommendation**: Don't have too many tasks in **In Progress** status simultaneously—suggest controlling within 3-5 to maintain focus.
**Next Action**: After completion, change status to **Completed**; if temporarily can't continue, can change back to **Todo** or **On Hold**.
⚫ **Completed**: Tasks already finished
After a task achieves its goal, mark as **Completed**. This is the normal ending of a task.
**System Behavior**: Completed tasks will automatically archive, and you can view statistics of completed tasks in review reports.
***
🟠 **Abandoned**: Tasks confirmed no longer to be executed
When you clearly decide not to do a task, mark as **Abandoned**.
**Difference from "On Hold"**: Abandonment is a definite ending, meaning this task won't appear in your workflow again.
### Practice Recommendations
**Daily Usage Flow**:
1. Anytime record ideas in **Collect**
2. Daily or weekly organize **Collect**, convert clear tasks to **Todo**
3. Daily select tasks from **Todo**, change to **In Progress** when starting
4. Mark as **Completed** after finishing, or if can't continue can **On Hold** or **Abandon**
**Common Pitfalls**:
* ❌ Mark all tasks as **In Progress** → leads to inability to focus
* ❌ Use **Collect** as a trash can → need periodic cleanup, otherwise loses meaning
* ❌ Afraid to use **Abandoned** → promptly abandoning worthless tasks is key to keeping system clean
**Core Principle**: The essence of status is to help you **see the right tasks at the right time**. Tasks with different statuses will appear in different views, keeping your workflow clear and efficient.
---
# 模板案例 (https://21notion.com/notion-formulas/flow-template)
学习 Notion 函数很有趣,但很多人真正想要的不是“学会一个函数”,而是让自己的 Notion 页面先变得更好用。
第一次看懂 `if()` 的判断,第一次用 `dateBetween()` 算出两个日期之间差了几天,第一次用 `style()` 把结果变成彩色标签,都会有一点「原来 Notion 还可以这样玩」的感觉。
但真正开始搭自己的系统时,兴奋感很快会被另一件事打断:任务提醒要怎么写,项目进度要怎么算,年度热力图要怎么生成,报表里的统计结果要怎么保持准确。
函数可以慢慢学,但这些结果最好现在就能用。FLO.W 把常见公式放进任务、项目、笔记、报表和生活记录页面里,让它们直接变成提醒、进度、热力图、统计报告和评分分析。
## 这不是另一篇公式教程
这本手册负责解释函数:`if()` 怎么判断,`dateBetween()` 返回什么,`map()` 和 `filter()` 什么时候用。
FLO.W 模板案例负责展示另一件事:这些函数放进真实系统以后,会变成什么结果。
同一个 `if()`,在手册里是一条条件判断;放进任务系统里,它可以把逾期任务标出来。`dateBetween()` 在函数页里只是两个日期的差值;放进复盘或项目页面里,它就能变成剩余天数、延期天数和连续记录。`style()` 本身只是样式函数;放进看板和报表里,它会让重要状态更容易被扫到。
所以这页不是让你背更多函数,而是让你看到:公式最后应该藏在页面背后,让系统自己给出提醒、进度和判断。
## 学函数很有趣,搭系统更费时间
查一个函数很快,真正费时间的是把它放进一套长期可用的数据库里。
你需要决定字段怎么命名,状态选项怎么设计,日期为空时怎么处理,关联数据库怎么连接,汇总结果能不能继续被公式读取。
这些事情看起来都只是细节,但任何一个没处理好,公式结果就会变得不稳定。
FLO.W 把这些麻烦提前处理了一遍。它先搭好数据库、字段、关联、汇总和常用公式,再把结果放回具体页面。你看到的是一套已经能工作的页面,而不是一段孤立代码。
## 任务:让逾期自动露出来
任务系统里最有价值的公式,通常不需要复杂到看不懂。它只要每天减少一次人工检查,就已经很值得。
一条任务有没有排期,是否已经完成,完成日期有没有晚于截止时间,当前状态和日期是否矛盾,这些判断都适合交给公式。

这类结果背后会用到 `ifs()` 做多条件判断,用 `dateBetween()` 计算时间差,再用 `style()` 把结果变成更容易扫读的标签。
你打开任务列表时,不需要逐条判断哪条更急。需要注意的任务应该自己浮出来。
## 报表:让分散数据自己汇总
FLO.W 里有专门的报表页面,用来汇总任务、笔记和其他数据库里的记录。
这些报表依赖关联、汇总和公式。它们会把分散在不同页面里的数据收回来,再整理成可以直接阅读的结果。

这里的重点不在某一个函数多漂亮,而在数据流有没有接上。任务完成后,项目进度会跟着变化;笔记增加后,统计报告会跟着变化;新的记录进入系统后,复盘页面也能看到它。
这就是公式在完整系统里的价值。它负责把分散动作变成可见反馈。
## 习惯:让连续行动看得见
习惯打卡的问题很微妙。
单独完成一天,感觉不到什么变化。漏掉一天,也很容易被自己忽略。时间一长,真正需要看的其实是趋势:最近是不是稳定,有没有连续中断,哪几个月明显松掉了。

FLO.W 的习惯模块会把每日记录转成热力图。公式在这里不只是算次数,它会把一年里的行动痕迹变成一张能读懂的图。
这类页面背后会用到日期判断、数量统计和样式显示。用户看到的是色块,系统底下跑的是结构化记录。
## 生活:让记录产生判断
公式也可以处理很日常的问题。
比如资产清单里,一件物品买了多少钱,用了多久,每日成本是多少,闲置之后还值不值得继续保留,这些都可以从购买日期、价格和使用状态里算出来。

这类公式不炫技,但很实用。它把原本凭感觉判断的消费,变成可以看见的数字。
很多人学公式时只盯着函数写法,其实更值得关注的是:这个结果能不能让下一次判断更清楚。
## 兴趣:让回忆有迹可循
FLO.W 也把游戏、影视、订阅、习惯这些生活模块放进同一个系统。
以游戏记录为例,通关状态、平台、评分、游玩进度和数量统计可以集中展示。时间久了以后,它会变成一份自己的游戏档案。

影视记录也是类似逻辑。评分、观看状态、更新时间和想看列表都可以被结构化记录,再通过视图和公式整理出来。

这些场景看起来离公式手册很远,但它们恰好说明了公式最自然的使用方式:藏在具体页面里,让记录自己变得可读。
## 手册查函数,模板跑结果
这本手册适合随查随用。你想确认 `ifs()` 怎么写,想看 `dateBetween()` 的返回值,想理解某个公式片段为什么这样写,都可以直接查。
FLO.W 负责另一件事:把常见公式放进任务、项目、笔记、报表和生活记录里,让它们先产生结果。
如果你已经有自己的系统,可以把这里的函数说明当作维修手册。如果你想少花一点时间从空白数据库开始搭结构,可以直接从 FLO.W 开始,再按自己的习惯微调。
## 直接使用这套结果
想先用上这些已经配置好的任务提醒、项目进度、统计报表和生活记录,可以从 FLO.W 模板开始。
* [查看 FLO.W 获取方式](/pricing)
* [了解 FLO.W 模板设计说明](/flow)
---
# 速查入口 (https://21notion.com/notion-formulas)
## 如何阅读这本手册
* 刚开始学公式:先看「基础入门」。
* 想查某个函数:去「函数索引」,每个函数都有独立页面。
* 想直接解决一个场景:去「公式片段库」,找到相近片段后改属性名。
* 公式变复杂、报错或需要长期维护:去「写法与排查」。
## 常用入口
* [函数速查总表](/notion-formulas/functions)
* [逻辑与判断函数](/notion-formulas/functions/logic)
* [文本函数](/notion-formulas/functions/text)
* [数字与数学函数](/notion-formulas/functions/number)
* [日期与时间函数](/notion-formulas/functions/date-functions)
* [列表函数](/notion-formulas/functions/list)
* [常用公式片段](/notion-formulas/cases/beginner)
* [常见错误与排查](/notion-formulas/best-practices/debugging)
## 新手最短路径
建议按以下顺序学习,不要一开始就背函数大全:
1. 会引用属性:`prop("属性名")`
2. 会做基础计算:`+`、`-`、`*`、`/`
3. 会判断条件:[`if()`](/notion-formulas/functions/if)、[`ifs()`](/notion-formulas/functions/ifs)、[`empty()`](/notion-formulas/functions/empty)
4. 会处理文本:[`format()`](/notion-formulas/functions/format)、`+`、[`contains()`](/notion-formulas/functions/contains)、[`replaceAll()`](/notion-formulas/functions/replace-all)、[`trim()`](/notion-formulas/functions/trim)
5. 会处理日期:[`today()`](/notion-formulas/functions/today)、[`now()`](/notion-formulas/functions/now)、[`dateAdd()`](/notion-formulas/functions/date-add)、[`dateBetween()`](/notion-formulas/functions/date-between)、[`formatDate()`](/notion-formulas/functions/format-date)
6. 会处理列表:[`map()`](/notion-formulas/functions/map)、[`filter()`](/notion-formulas/functions/filter)、[`length()`](/notion-formulas/functions/length)、[`join()`](/notion-formulas/functions/join)、[`first()`](/notion-formulas/functions/first)
7. 会写变量:[`let()`](/notion-formulas/functions/let)、[`lets()`](/notion-formulas/functions/lets)
8. 会拆解复杂公式:先拆成多个辅助属性,再合并为一个公式
9. 会调试:识别类型错误、空值错误、深度限制、列表和单值混用
---
# 数据类型 (https://21notion.com/notion-formulas/basics/data-types)
公式中的每一个值都有类型。大多数错误都来自类型不匹配。
| 数据类型 | 中文说明 | 常见来源 | 示例 | 常用函数 |
| ---------- | ---- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Text | 文本 | 标题、文本、单选、邮箱、URL、电话号码 | `"Notion"` | [`format()`](/notion-formulas/functions/format)、[`contains()`](/notion-formulas/functions/contains)、[`replaceAll()`](/notion-formulas/functions/replace-all)、[`trim()`](/notion-formulas/functions/trim) |
| Number | 数字 | 数字属性、计算结果 | `12`、`3.14` | [`round()`](/notion-formulas/functions/round)、[`sum()`](/notion-formulas/functions/sum)、[`mean()`](/notion-formulas/functions/mean) |
| Boolean | 布尔值 | 复选框、比较结果 | `true`、`false` | [`if()`](/notion-formulas/functions/if)、`and`、`or`、`not` |
| Date | 日期 | 日期、创建时间、编辑时间 | [`today()`](/notion-formulas/functions/today)、[`now()`](/notion-formulas/functions/now) | [`dateAdd()`](/notion-formulas/functions/date-add)、[`dateBetween()`](/notion-formulas/functions/date-between)、[`formatDate()`](/notion-formulas/functions/format-date) |
| Date range | 日期区间 | 含开始与结束的日期属性 | `dateRange(start, end)` | [`dateStart()`](/notion-formulas/functions/date-start)、[`dateEnd()`](/notion-formulas/functions/date-end) |
| List | 列表 | 多选、关联、多人、Rollup、[`split()`](/notion-formulas/functions/split)、[`match()`](/notion-formulas/functions/match) | `[1, 2, 3]` | [`map()`](/notion-formulas/functions/map)、[`filter()`](/notion-formulas/functions/filter)、[`length()`](/notion-formulas/functions/length)、[`join()`](/notion-formulas/functions/join) |
| Person | 成员 | 成员、创建者、编辑者 | 工作区用户 | [`name()`](/notion-formulas/functions/name)、[`email()`](/notion-formulas/functions/email) |
| Page | 页面 | 关联属性中的页面 | 关联任务、关联项目 | [`id()`](/notion-formulas/functions/id)、`prop()` |
| Empty | 空值 | 未填写、空文本、空列表等 | `empty(prop("备注"))` | [`empty()`](/notion-formulas/functions/empty)、[`if()`](/notion-formulas/functions/if) |
## 类型转换
常见转换只有两个必须熟练掌握:
```text
/* 数字、日期、布尔值转文本 */
format(prop("金额")) + " 元"
```
```text
/* 文本转数字 */
toNumber(prop("文本数字")) + 10
```
注意:[`formatNumber()`](/notion-formulas/functions/format-number) 返回的是文本,不能再直接参与数字运算。需要做数学计算时,应先计算,再格式化。
## 空值判断
`empty(value)` 用来判断一个值是否为空。需要注意,`0`、空字符串 `""`、空列表 `[]` 都可能被视为空。
```text
if(empty(prop("备注")), "未填写", prop("备注"))
```
处理数字时,不要把 `0` 和「未填写」混为一谈。若 `0` 是有效结果,可以结合属性是否存在、业务规则或辅助字段判断。
***
---
# 公式编辑器与写法 (https://21notion.com/notion-formulas/basics/editor)
Notion 公式编辑器支持多行输入、缩进和注释。复杂公式建议使用多行写法。
```text
lets(
原价, prop("原价"),
折扣率, prop("折扣率"),
折后价, 原价 * (1 - 折扣率),
round(折后价, 2)
)
```
注释写法:
```text
/* 这里计算折后价格 */
prop("原价") * 0.8
```
***
Notion 公式常见两种写法:
```text
length(prop("标题"))
```
```text
prop("标题").length()
```
很多函数都可以点链式书写,列表函数尤其常见:
```text
prop("任务").filter(current.prop("状态") == "已完成").length()
```
若某个点链式写法在你的工作区无法通过,优先改成公式编辑器提示的写法。
在 [`map()`](/notion-formulas/functions/map)、[`filter()`](/notion-formulas/functions/filter)、[`some()`](/notion-formulas/functions/some)、[`every()`](/notion-formulas/functions/every)、[`find()`](/notion-formulas/functions/find)、[`findIndex()`](/notion-formulas/functions/find-index) 这类遍历函数中:
* `current` 表示当前遍历到的列表元素。
* `index` 表示当前元素的位置,从 `0` 开始。
```text
prop("任务").filter(current.prop("状态") == "已完成")
```
```text
prop("标签").map(format(index + 1) + ". " + current)
```
[`let()`](/notion-formulas/functions/let) 定义一个变量:
```text
let(
折扣价,
prop("原价") * 0.8,
round(折扣价, 2)
)
```
[`lets()`](/notion-formulas/functions/lets) 定义多个变量:
```text
lets(
原价, prop("原价"),
折扣率, prop("折扣率"),
折后价, 原价 * (1 - 折扣率),
round(折后价, 2)
)
```
变量适合用来减少重复、提高可读性。复杂公式优先用 [`lets()`](/notion-formulas/functions/lets)。
***
---
# 运算符与第一个公式 (https://21notion.com/notion-formulas/basics/first-formula)
```text
/* 计算净收入 */
prop("收入") - prop("支出")
```
```text
/* 根据状态显示文案 */
if(prop("完成"), "已完成", "进行中")
```
```text
/* 截止日期提醒 */
ifs(
empty(prop("截止日期")), "未设置日期",
prop("截止日期") < today(), "已逾期",
prop("截止日期") == today(), "今天截止",
"未到期"
)
```
***
| 运算符 | 类型 | 作用 | 示例 | | |
| -------------- | ------- | ---------- | --------------------------------- | -------- | -------------------------- |
| `+` | 数字 / 文本 | 数字相加,或文本连接 | `prop("姓") + prop("名")` | | |
| `-` | 数字 | 相减 | `prop("预算") - prop("支出")` | | |
| `*` | 数字 | 相乘 | `prop("单价") * prop("数量")` | | |
| `/` | 数字 | 相除 | `prop("总分") / 3` | | |
| `%` | 数字 | 取余 | `prop("序号") % 2` | | |
| `^` | 数字 | 幂运算 | `2 ^ 3` | | |
| `==` | 比较 | 等于 | `prop("状态") == "已完成"` | | |
| `!=` | 比较 | 不等于 | `prop("状态") != "已完成"` | | |
| `>` | 比较 | 大于 | `prop("分数") > 90` | | |
| `<` | 比较 | 小于 | `prop("库存") < 10` | | |
| `>=` | 比较 | 大于等于 | `prop("分数") >= 60` | | |
| `<=` | 比较 | 小于等于 | `prop("年龄") <= 18` | | |
| `and` / `&&` | 逻辑 | 两个条件都成立 | `prop("完成") and prop("归档")` | | |
| `or` / \` | | \` | 逻辑 | 至少一个条件成立 | `prop("紧急") or prop("重要")` |
| `not` / `!` | 逻辑 | 取反 | `not prop("完成")` | | |
| `条件 ? 真值 : 假值` | 条件 | 三元表达式 | `prop("分数") >= 60 ? "及格" : "不及格"` | | |
## 推荐写法
复杂条件建议使用英文单词形式,阅读成本更低:
```text
prop("重要") and prop("紧急")
```
不要使用单个 `|` 表示逻辑或。使用 `or` 或 `||`。
***
---
# 公式是什么 (https://21notion.com/notion-formulas/basics/what-is-formula)
Notion 公式是在数据库的一整列属性中运行的规则。它不会只计算某一个孤立的单元格,而是会对数据库中的每一行,也就是每一个页面,按同一套规则计算结果。
例如,在任务数据库中添加一个公式属性「是否逾期」:
```text
ifs(
empty(prop("截止日期")), "未设置日期",
prop("截止日期") < today(), "已逾期",
"未逾期"
)
```
这个公式会对每一个任务都执行一遍。每一行里的 `prop("截止日期")` 都指向当前任务自己的「截止日期」。
公式最常见的使用位置是数据库的「公式」属性。一个公式属性保存的是一段计算规则,Notion 会把这段规则应用到数据库中的每一条记录。
添加路径通常是:数据库右上角或表格最后一列 → 添加属性 → 选择「公式」。
一个公式里通常有四类东西:
| 类型 | 示例 | 说明 |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
| 字面量 | `"已完成"`、`100`、`true` | 直接写在公式中的固定值 |
| 属性引用 | `prop("状态")` | 当前行的某个属性值 |
| 运算符 | `+`、`>=`、`and` | 用来计算、比较、连接或判断 |
| 函数 | [`if()`](/notion-formulas/functions/if)、[`dateAdd()`](/notion-formulas/functions/date-add)、[`map()`](/notion-formulas/functions/map) | Notion 内置的处理能力 |
经典写法:
```text
prop("状态")
```
在新版公式编辑器里,属性可能显示为一个彩色令牌。为了方便复制,本手册统一使用 `prop("属性名")` 写法。
---
# 公式写作规则 (https://21notion.com/notion-formulas/best-practices/clarity)
本页用于整理复杂公式。写长公式前先看这里,避免后期排错和维护变得困难。
## 让所有分支尽量返回同一种类型
不推荐:
```text
if(prop("完成"), true, "未完成")
```
推荐:
```text
if(prop("完成"), "已完成", "未完成")
```
或:
```text
if(prop("完成"), true, false)
```
尤其是在自动化、按钮变量、日期字段填充中,返回类型要更严格。
## 复杂公式先写成自然语言
例如「项目健康度」先写成:
1. 取出全部任务。
2. 统计完成任务数。
3. 统计逾期未完成任务数。
4. 计算完成率和逾期率。
5. 根据分数输出颜色标签。
再翻译成:
```text
lets(
任务, prop("任务"),
总数, 任务.length(),
完成数, 任务.filter(current.prop("状态") == "已完成").length(),
逾期数, 任务.filter(current.prop("状态") != "已完成" and not(empty(current.prop("截止日期"))) and current.prop("截止日期") < today()).length(),
...
)
```
## 使用变量命名业务含义
不推荐:
```text
lets(a, prop("任务"), b, a.length(), c, a.filter(current.prop("状态") == "已完成").length(), c / b)
```
推荐:
```text
lets(
任务列表, prop("任务"),
总数, 任务列表.length(),
完成数, 任务列表.filter(current.prop("状态") == "已完成").length(),
if(总数 == 0, 0, 完成数 / 总数)
)
```
## 空值先判断,再计算
凡是日期、关联、成员、数字输入,都建议先考虑是否为空。
```text
if(empty(prop("日期")), "", formatDate(prop("日期"), "YYYY-MM-DD"))
```
```text
if(empty(prop("项目")), "无项目", prop("项目").first().prop("状态"))
```
## 大公式分层设计
对于模板系统,建议分为三类公式:
| 类型 | 用途 | 是否展示 |
| ---- | ------------------ | ---- |
| 原始输入 | 用户手动填写的数据 | 展示 |
| 中间指标 | 辅助计算,如完成数、逾期数、剩余天数 | 可隐藏 |
| 展示结果 | 给用户看的状态、标签、进度条 | 展示 |
如果所有逻辑都塞进一个公式,短期看起来整洁,长期维护成本会很高。
***
---
# 常见错误与排查 (https://21notion.com/notion-formulas/best-practices/debugging)
本页用于排查公式报错。先找到最接近的错误类型,再对照安全写法修改。
## 类型不匹配
错误示例:
```text
"金额:" + prop("金额")
```
如果 `金额` 是数字,可能需要转文本:
```text
"金额:" + format(prop("金额"))
```
## 日期为空导致错误
错误示例:
```text
formatDate(prop("截止日期"), "YYYY-MM-DD")
```
安全写法:
```text
if(empty(prop("截止日期")), "未设置", formatDate(prop("截止日期"), "YYYY-MM-DD"))
```
## 列表和单值混用
成员属性、关联属性、多选属性经常返回列表。
错误思路:
```text
prop("负责人").name()
```
更稳妥写法:
```text
prop("负责人").map(current.name()).join("、")
```
如果只取第一个:
```text
prop("负责人").first().name()
```
## [`dateBetween()`](/notion-formulas/functions/date-between) 出现一天偏差
如果你使用 [`now()`](/notion-formulas/functions/now),具体时间会参与计算。截止日期如果没有时间,可能出现不符合直觉的差值。
任务截止日期判断建议使用:
```text
dateBetween(prop("截止日期"), today(), "days")
```
而不是:
```text
dateBetween(prop("截止日期"), now(), "days")
```
## 公式层级过深
Notion 官方错误说明中提到,公式引用公式、公式引用 Rollup、Rollup 再引用公式时,会增加公式深度。深度上限为 15 层。
解决方法:
1. 减少公式之间的链式引用。
2. 把过长的公式拆分到更靠近数据源的数据库中。
3. 避免在多个 Rollup 之间来回传递同一个计算值。
4. 对大系统使用「原始数据 → 中间指标 → 展示结果」三层结构,不要无限嵌套。
## 正则表达式转义错误
在 Notion 字符串中写正则时,反斜杠通常要双写。
匹配数字:
```text
match(prop("文本"), "\\d+")
```
匹配点号:
```text
test(prop("域名"), "\\.")
```
## 自动化返回类型错误
如果自动化要求填入日期,你的公式必须返回日期,不应返回文本日期。
错误示例:
```text
formatDate(dateAdd(today(), 1, "days"), "YYYY-MM-DD")
```
正确方向:
```text
dateAdd(today(), 1, "days")
```
***
---
# 自动化、按钮与校对清单 (https://21notion.com/notion-formulas/best-practices/maintenance)
本页用于检查公式在自动化、按钮和长期维护场景里的稳定性。发布前可以按清单逐项确认。
公式不仅可以用于数据库公式属性,也可以用于部分数据库自动化和按钮动作中的变量或字段填充。
但需要注意:
1. 并非所有自动化位置都支持公式。
2. 公式在自动化中往往需要返回指定类型,例如日期字段必须返回日期,文本字段必须返回文本。
3. 在同一个自动化动作里定义的变量,不能互相引用。
4. 如果公式返回了错误类型,自动化可能无法保存或无法运行。
5. Slack 通知等部分动作可能不支持公式。
自动化里设置「明天」日期的常见公式:
```text
dateAdd(today(), 1, "days")
```
如果某个日期为空,则返回空值的思路:
```text
if(empty(prop("日期")), empty(), dateAdd(prop("日期"), 1, "days"))
```
***
## 发布前校对清单
* 逻辑连接:条件连接使用 `or` 或 `||`。
* [`day()`](/notion-formulas/functions/day):返回值按 `1=周一`、`7=周日` 理解。
* 日期单位:只使用 Notion 支持的日期单位。
* 文本连接:文本拼接使用 `+`。
* 列表合并:列表合并使用 [`concat()`](/notion-formulas/functions/concat)。
* 文本清洗:需要去空格时优先检查 [`trim()`](/notion-formulas/functions/trim)。
* 成员/关联属性:通常按列表处理,使用 [`first()`](/notion-formulas/functions/first) 或 [`map()`](/notion-formulas/functions/map)。
* 公式深度:避免超过 15 层深度限制。
* 最新函数:[`padStart()`](/notion-formulas/functions/pad-start)、[`padEnd()`](/notion-formulas/functions/pad-end)、[`count()`](/notion-formulas/functions/count)、[`formatNumber()`](/notion-formulas/functions/format-number)、[`splice()`](/notion-formulas/functions/splice) 单独确认可用性。
---
# 关联统计公式 (https://21notion.com/notion-formulas/cases/advanced)
本页收录关联数据库相关公式。适合在项目、任务、客户等多数据库结构里查用。
如果公式涉及关联属性、Rollup 替代、多层关联统计,优先从这里找片段。
| 场景 | 用到的主要函数 |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| 读取关联页面 | [`first()`](/notion-formulas/functions/first)、`prop()` |
| 替代部分 Rollup | [`map()`](/notion-formulas/functions/map)、[`filter()`](/notion-formulas/functions/filter)、[`sum()`](/notion-formulas/functions/sum) |
| 多层关联统计 | [`map()`](/notion-formulas/functions/map)、[`flat()`](/notion-formulas/functions/flat)、[`length()`](/notion-formulas/functions/length) |
## 关联属性通常是列表
即使你在业务上只关联一个页面,公式里也经常需要把它当作列表处理。
常见写法:
```text
prop("项目").first()
```
访问第一个关联项目的状态:
```text
prop("项目").first().prop("状态")
```
为了避免空值错误,建议先判断:
```text
if(
empty(prop("项目")),
"未关联项目",
prop("项目").first().prop("状态")
)
```
## 直接用公式替代部分 Rollup
过去很多统计必须依赖 Rollup。Formulas 2.0 后,可以直接在公式里处理关联页面。
任务总数:
```text
prop("任务").length()
```
已完成任务数:
```text
prop("任务").filter(current.prop("状态") == "已完成").length()
```
任务工时合计:
```text
prop("任务").map(current.prop("工时")).sum()
```
最高优先级分:
```text
prop("任务").map(current.prop("优先级分")).max()
```
## 多层关联
例如:客户 → 项目 → 任务。
统计客户所有项目下的全部任务:
```text
prop("项目").map(current.prop("任务")).flat()
```
统计全部已完成任务:
```text
prop("项目")
.map(current.prop("任务"))
.flat()
.filter(current.prop("状态") == "已完成")
.length()
```
说明:多层关联公式容易触发性能问题或公式深度限制,建议用辅助属性拆分。
***
---
# 常用片段 (https://21notion.com/notion-formulas/cases/beginner)
本页收录日常最常用的小公式。适合已经知道问题场景,想直接复制公式时使用。
使用时先确认自己的属性名,再复制对应片段。
| 场景 | 用到的主要函数 |
| ------ | --------------------------------------------------------------------------------------------------------------------------------- |
| 安全显示日期 | [`empty()`](/notion-formulas/functions/empty)、[`formatDate()`](/notion-formulas/functions/format-date) |
| 安全显示成员 | [`map()`](/notion-formulas/functions/map)、[`name()`](/notion-formulas/functions/name)、[`join()`](/notion-formulas/functions/join) |
| 文本清洗 | [`trim()`](/notion-formulas/functions/trim)、[`replaceAll()`](/notion-formulas/functions/replace-all) |
| 状态标签 | [`ifs()`](/notion-formulas/functions/ifs)、[`style()`](/notion-formulas/functions/style) |
## 安全显示日期
```text
if(empty(prop("日期")), "未设置", formatDate(prop("日期"), "YYYY-MM-DD"))
```
## 安全显示成员
```text
if(empty(prop("成员")), "未分配", prop("成员").map(current.name()).join("、"))
```
## 安全显示关联页面标题
```text
if(empty(prop("项目")), "无项目", prop("项目").map(current.prop("项目名称")).join("、"))
```
## 已完成任务比例
```text
lets(
任务, prop("任务"),
总数, 任务.length(),
完成数, 任务.filter(current.prop("状态") == "已完成").length(),
if(总数 == 0, 0, 完成数 / 总数)
)
```
## 文本清洗
```text
trim(replaceAll(prop("文本"), "\\s+", " "))
```
## 中文顿号连接列表
```text
prop("标签").join("、")
```
## 从文本中提取数字
```text
match(prop("文本"), "\\d+")
```
## 判断是否本周内截止
```text
lets(
剩余天数, dateBetween(prop("截止日期"), today(), "days"),
剩余天数 >= 0 and 剩余天数 <= 7
)
```
## 生成序号文本
优先用最新参考函数:
```text
format(prop("序号")).padStart(3, "0")
```
兼容写法:
```text
substring("000" + format(prop("序号")), length("000" + format(prop("序号"))) - 3)
```
## 多条件状态标签
```text
ifs(
prop("状态") == "已完成", style("已完成", "green", "b"),
empty(prop("截止日期")), style("未排期", "gray"),
prop("截止日期") < today(), style("逾期", "red", "b"),
prop("截止日期") == today(), style("今日", "yellow", "b"),
style("进行中", "blue")
)
```
---
# 任务与项目公式 (https://21notion.com/notion-formulas/cases/intermediate)
本页按任务和项目管理场景整理。适合在任务库、项目库、读书库、客户库里快速找公式片段。
每个片段先列出需要准备的属性,再给出可复制公式。
| 场景 | 用到的主要函数 |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| 截止状态 | [`lets()`](/notion-formulas/functions/lets)、[`dateBetween()`](/notion-formulas/functions/date-between)、[`ifs()`](/notion-formulas/functions/ifs) |
| 进度显示 | [`min()`](/notion-formulas/functions/min)、[`max()`](/notion-formulas/functions/max)、[`repeat()`](/notion-formulas/functions/repeat) |
| 项目统计 | [`filter()`](/notion-formulas/functions/filter)、[`length()`](/notion-formulas/functions/length)、[`round()`](/notion-formulas/functions/round) |
| 文本处理 | [`split()`](/notion-formulas/functions/split)、[`trim()`](/notion-formulas/functions/trim)、[`unique()`](/notion-formulas/functions/unique) |
## 任务状态:今日、逾期、未来
属性准备:
* `截止日期`:日期
* `状态`:单选,含「已完成」
```text
lets(
已完成, prop("状态") == "已完成",
剩余天数, dateBetween(prop("截止日期"), today(), "days"),
ifs(
已完成, style("已完成", "green"),
empty(prop("截止日期")), style("未设置日期", "gray"),
剩余天数 < 0, style("逾期 " + format(abs(剩余天数)) + " 天", "red", "b"),
剩余天数 == 0, style("今天截止", "yellow", "b"),
剩余天数 <= 3, style("即将截止", "orange"),
style("正常", "blue")
)
)
```
## 完成率进度条
属性准备:
* `完成率`:数字,范围 0 到 1
```text
lets(
比例, min(1, max(0, prop("完成率"))),
格数, round(比例 * 10),
repeat("█", 格数) + repeat("░", 10 - 格数) + " " + format(round(比例 * 100)) + "%"
)
```
## 优先级评分
属性准备:
* `重要性`:单选,重要 / 普通
* `紧急性`:单选,紧急 / 不紧急
```text
ifs(
prop("重要性") == "重要" and prop("紧急性") == "紧急", "1 立即处理",
prop("重要性") == "重要" and prop("紧急性") != "紧急", "2 计划处理",
prop("重要性") != "重要" and prop("紧急性") == "紧急", "3 委托或快速处理",
"4 延后或删除"
)
```
## 自动生成页面摘要
属性准备:
* `状态`:单选
* `负责人`:成员
* `截止日期`:日期
```text
lets(
负责人文本, if(empty(prop("负责人")), "未分配", prop("负责人").map(current.name()).join("、")),
日期文本, if(empty(prop("截止日期")), "未设置截止日", formatDate(prop("截止日期"), "YYYY-MM-DD")),
"状态:" + prop("状态") + " | 负责人:" + 负责人文本 + " | 截止:" + 日期文本
)
```
## 从关联任务计算项目完成率
属性准备:
* 项目数据库关联任务数据库,关联属性名为 `任务`
* 任务数据库有 `状态`,完成状态为「已完成」
```text
lets(
全部任务, prop("任务"),
总数, 全部任务.length(),
完成数, 全部任务.filter(current.prop("状态") == "已完成").length(),
if(总数 == 0, 0, round(完成数 / 总数 * 100) / 100)
)
```
显示为文本进度:
```text
lets(
全部任务, prop("任务"),
总数, 全部任务.length(),
完成数, 全部任务.filter(current.prop("状态") == "已完成").length(),
比例, if(总数 == 0, 0, 完成数 / 总数),
format(完成数) + "/" + format(总数) + "(" + format(round(比例 * 100)) + "%)"
)
```
## 项目健康度
属性准备:
* `任务`:关联任务
* 任务库有 `状态`、`截止日期`
```text
lets(
任务, prop("任务"),
总数, 任务.length(),
完成数, 任务.filter(current.prop("状态") == "已完成").length(),
逾期数, 任务.filter(current.prop("状态") != "已完成" and not(empty(current.prop("截止日期"))) and current.prop("截止日期") < today()).length(),
完成率, if(总数 == 0, 0, 完成数 / 总数),
逾期率, if(总数 == 0, 0, 逾期数 / 总数),
分数, round((完成率 * 0.7 + (1 - 逾期率) * 0.3) * 100),
ifs(
总数 == 0, style("暂无任务", "gray"),
分数 >= 85, style("健康 " + format(分数), "green", "b"),
分数 >= 60, style("一般 " + format(分数), "yellow", "b"),
style("风险 " + format(分数), "red", "b")
)
)
```
## 读书笔记字数估算
属性准备:
* `笔记`:文本
```text
length(replaceAll(prop("笔记"), "\\s+", ""))
```
## 标签清洗
属性准备:
* `输入标签`:文本,用逗号分隔
```text
split(prop("输入标签"), ",").map(current.trim()).filter(not(empty(current))).unique().join("、")
```
## 邮箱格式粗略校验
```text
if(
test(prop("邮箱"), "^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$"),
"格式正常",
"格式可能有误"
)
```
说明:这是粗略校验,不等于真实邮箱可达性验证。
## 生成外部搜索链接
```text
link(
"搜索",
"https://www.google.com/search?q=" + replaceAll(prop("关键词"), " ", "+")
)
```
***
---
# abs (https://21notion.com/notion-formulas/functions/abs)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`abs()`](/notion-formulas/functions/abs) |
| 分类 | 数字与数学 |
| 语法 | `abs(number)` |
| 作用 | 绝对值 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# add (https://21notion.com/notion-formulas/functions/add)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`add()`](/notion-formulas/functions/add) |
| 分类 | 数字与数学 |
| 语法 | `add(a, b, ...)` |
| 作用 | 相加 |
| 返回值 | Number |

## 示例与说明
以下函数通常可以用运算符替代:
```text
add(1, 2)
```
```text
1 + 2
```
```text
subtract(prop("预算"), prop("支出"))
```
```text
prop("预算") - prop("支出")
```
建议:简单公式用运算符,嵌套函数或需要统一风格时再使用函数。
## 相关函数
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`abs()`](/notion-formulas/functions/abs)
---
# 高级函数 (https://21notion.com/notion-formulas/functions/advanced)
## 成员、页面、变量
| 函数 | 作用 | 返回值或替代方案 |
| --------------------------------------------- | -------------- | -------- |
| [`name()`](/notion-formulas/functions/name) | 获取成员名称 | Text |
| [`email()`](/notion-formulas/functions/email) | 获取成员邮箱 | Text |
| [`id()`](/notion-formulas/functions/id) | 获取当前页面或指定页面 ID | Text |
| [`let()`](/notion-formulas/functions/let) | 定义一个变量 | 表达式结果 |
| [`lets()`](/notion-formulas/functions/lets) | 定义多个变量 | 表达式结果 |
## 最新参考
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------------------ | --------------- | ------------------------------------------------------------------------------------------------------------ |
| [`padStart()`](/notion-formulas/functions/pad-start) | 在文本左侧补齐到指定长度 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |
| [`padEnd()`](/notion-formulas/functions/pad-end) | 在文本右侧补齐到指定长度 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |
| [`count()`](/notion-formulas/functions/count) | 统计列表数量或符合条件的数量 | `length(list)` 或 `filter(...).length()` |
| [`formatNumber()`](/notion-formulas/functions/format-number) | 将数字格式化为文本 | `format(round(...))` 手动拼接 |
| [`splice()`](/notion-formulas/functions/splice) | 删除或插入列表元素,返回新列表 | [`slice()`](/notion-formulas/functions/slice) + [`concat()`](/notion-formulas/functions/concat) |
---
# at (https://21notion.com/notion-formulas/functions/at)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------- |
| 函数 | [`at()`](/notion-formulas/functions/at) |
| 分类 | 列表 |
| 语法 | `at(list, index)` |
| 作用 | 取指定位置元素 |
| 返回值 | 任意类型 |

## 示例与说明
```text
prop("关联项目").first()
```
```text
prop("标签").last()
```
```text
prop("标签").at(1)
```
注意:列表索引从 `0` 开始。`at(1)` 是第二个元素。
如果你只允许一个关联对象,也仍然建议写:
```text
prop("项目").first().prop("状态")
```
## 相关函数
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`reverse()`](/notion-formulas/functions/reverse)
---
# cbrt (https://21notion.com/notion-formulas/functions/cbrt)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`cbrt()`](/notion-formulas/functions/cbrt) |
| 分类 | 数字与数学 |
| 语法 | `cbrt(number)` |
| 作用 | 立方根 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# ceil (https://21notion.com/notion-formulas/functions/ceil)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`ceil()`](/notion-formulas/functions/ceil) |
| 分类 | 数字与数学 |
| 语法 | `ceil(number)` |
| 作用 | 向上取整 |
| 返回值 | Number |

## 示例与说明
```text
round(3.14159, 2)
```
```text
ceil(prop("页数") / prop("每批页数"))
```
```text
floor(prop("完成率") * 10) / 10
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`round()`](/notion-formulas/functions/round)
* [`floor()`](/notion-formulas/functions/floor)
---
# concat (https://21notion.com/notion-formulas/functions/concat)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`concat()`](/notion-formulas/functions/concat) |
| 分类 | 列表 |
| 语法 | `concat(list1, list2, ...)` |
| 作用 | 合并列表 |
| 返回值 | List |

## 示例与说明
```text
concat(prop("标签A"), prop("标签B"))
```
用于合并列表。文本连接请优先使用 `+`。
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`sort()`](/notion-formulas/functions/sort)
* [`reverse()`](/notion-formulas/functions/reverse)
---
# contains (https://21notion.com/notion-formulas/functions/contains)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------------- |
| 函数 | [`contains()`](/notion-formulas/functions/contains) |
| 分类 | 文本 |
| 语法 | `contains(text, search)` |
| 作用 | 判断文本是否包含指定内容 |
| 返回值 | Boolean |

## 示例与说明
```text
contains(prop("标题"), "复盘")
```
不区分大小写的英文判断:
```text
contains(lower(prop("标题")), "notion")
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`upper()`](/notion-formulas/functions/upper)
---
# count (https://21notion.com/notion-formulas/functions/count)
## 速查
| 项目 | 内容 |
| ------ | --------------------------------------------- |
| 函数 | [`count()`](/notion-formulas/functions/count) |
| 分类 | 最新参考 |
| 语法 | `count(list)` / `list.count(expression?)` |
| 作用 | 统计列表数量或符合条件的数量 |
| 推荐替代方案 | `length(list)` 或 `filter(...).length()` |

## 示例与说明
若支持:
```text
prop("任务").count(current.prop("状态") == "已完成")
```
兼容替代写法:
```text
prop("任务").filter(current.prop("状态") == "已完成").length()
```
## 相关函数
* [`padStart()`](/notion-formulas/functions/pad-start)
* [`padEnd()`](/notion-formulas/functions/pad-end)
* [`formatNumber()`](/notion-formulas/functions/format-number)
* [`splice()`](/notion-formulas/functions/splice)
* [`length()`](/notion-formulas/functions/length)
* [`filter()`](/notion-formulas/functions/filter)
---
# dateAdd (https://21notion.com/notion-formulas/functions/date-add)
## 速查
| 项目 | 内容 |
| --- | -------------------------------------------------- |
| 函数 | [`dateAdd()`](/notion-formulas/functions/date-add) |
| 分类 | 日期与时间 |
| 语法 | `dateAdd(date, amount, unit)` |
| 作用 | 增加时间 |
| 返回值 | Date |

## 示例与说明
```text
dateAdd(prop("开始日期"), 7, "days")
```
```text
dateSubtract(prop("截止日期"), 1, "weeks")
```
官方帮助页明确列出的单位:
```text
years, quarters, months, weeks, days, hours, minutes
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`dateSubtract()`](/notion-formulas/functions/date-subtract)
---
# dateBetween (https://21notion.com/notion-formulas/functions/date-between)
## 速查
| 项目 | 内容 |
| --- | ---------------------------------------------------------- |
| 函数 | [`dateBetween()`](/notion-formulas/functions/date-between) |
| 分类 | 日期与时间 |
| 语法 | `dateBetween(date1, date2, unit)` |
| 作用 | 两个日期之间的差值 |
| 返回值 | Number |

## 示例与说明
```text
dateBetween(prop("截止日期"), today(), "days")
```
常见截止日期状态:
```text
lets(
剩余天数, dateBetween(prop("截止日期"), today(), "days"),
ifs(
empty(prop("截止日期")), "未设置截止日",
剩余天数 < 0, "已逾期 " + format(abs(剩余天数)) + " 天",
剩余天数 == 0, "今天截止",
剩余天数 == 1, "明天截止",
剩余天数 <= 7, "7 天内截止",
"未到期"
)
)
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`lets()`](/notion-formulas/functions/lets)
* [`ifs()`](/notion-formulas/functions/ifs)
* [`empty()`](/notion-formulas/functions/empty)
* [`format()`](/notion-formulas/functions/format)
* [`abs()`](/notion-formulas/functions/abs)
---
# dateEnd (https://21notion.com/notion-formulas/functions/date-end)
## 速查
| 项目 | 内容 |
| --- | -------------------------------------------------- |
| 函数 | [`dateEnd()`](/notion-formulas/functions/date-end) |
| 分类 | 日期与时间 |
| 语法 | `dateEnd(dateRange)` |
| 作用 | 日期区间结束时间 |
| 返回值 | Date |

## 示例与说明
```text
dateRange(prop("开始"), prop("结束"))
```
```text
dateStart(prop("时间段"))
```
```text
dateEnd(prop("时间段"))
```
适合会议、周期、项目阶段等场景。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`dateRange()`](/notion-formulas/functions/date-range)
* [`dateStart()`](/notion-formulas/functions/date-start)
---
# 日期与时间函数 (https://21notion.com/notion-formulas/functions/date-functions)
## 日期与时间
| 函数 | 作用 | 返回值或替代方案 |
| -------------------------------------------------------------- | ---------------- | ---------- |
| [`now()`](/notion-formulas/functions/now) | 当前日期和时间 | Date |
| [`today()`](/notion-formulas/functions/today) | 当前日期 | Date |
| [`minute()`](/notion-formulas/functions/minute) | 分钟 | Number |
| [`hour()`](/notion-formulas/functions/hour) | 小时 | Number |
| [`day()`](/notion-formulas/functions/day) | 星期几,1=周一,7=周日 | Number |
| [`date()`](/notion-formulas/functions/date) | 一个月中的第几日 | Number |
| [`week()`](/notion-formulas/functions/week) | ISO 周数 | Number |
| [`month()`](/notion-formulas/functions/month) | 月份 | Number |
| [`year()`](/notion-formulas/functions/year) | 年份 | Number |
| [`dateAdd()`](/notion-formulas/functions/date-add) | 增加时间 | Date |
| [`dateSubtract()`](/notion-formulas/functions/date-subtract) | 减少时间 | Date |
| [`dateBetween()`](/notion-formulas/functions/date-between) | 两个日期之间的差值 | Number |
| [`dateRange()`](/notion-formulas/functions/date-range) | 创建日期区间 | Date range |
| [`dateStart()`](/notion-formulas/functions/date-start) | 日期区间开始时间 | Date |
| [`dateEnd()`](/notion-formulas/functions/date-end) | 日期区间结束时间 | Date |
| [`timestamp()`](/notion-formulas/functions/timestamp) | 转为 Unix 毫秒时间戳 | Number |
| [`fromTimestamp()`](/notion-formulas/functions/from-timestamp) | 毫秒时间戳转日期 | Date |
| [`formatDate()`](/notion-formulas/functions/format-date) | 格式化日期 | Text |
| [`parseDate()`](/notion-formulas/functions/parse-date) | 解析 ISO 8601 日期文本 | Date |
---
# dateRange (https://21notion.com/notion-formulas/functions/date-range)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------ |
| 函数 | [`dateRange()`](/notion-formulas/functions/date-range) |
| 分类 | 日期与时间 |
| 语法 | `dateRange(start, end)` |
| 作用 | 创建日期区间 |
| 返回值 | Date range |

## 示例与说明
```text
dateRange(prop("开始"), prop("结束"))
```
```text
dateStart(prop("时间段"))
```
```text
dateEnd(prop("时间段"))
```
适合会议、周期、项目阶段等场景。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`dateStart()`](/notion-formulas/functions/date-start)
* [`dateEnd()`](/notion-formulas/functions/date-end)
---
# dateStart (https://21notion.com/notion-formulas/functions/date-start)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------ |
| 函数 | [`dateStart()`](/notion-formulas/functions/date-start) |
| 分类 | 日期与时间 |
| 语法 | `dateStart(dateRange)` |
| 作用 | 日期区间开始时间 |
| 返回值 | Date |

## 示例与说明
```text
dateRange(prop("开始"), prop("结束"))
```
```text
dateStart(prop("时间段"))
```
```text
dateEnd(prop("时间段"))
```
适合会议、周期、项目阶段等场景。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`dateRange()`](/notion-formulas/functions/date-range)
* [`dateEnd()`](/notion-formulas/functions/date-end)
---
# dateSubtract (https://21notion.com/notion-formulas/functions/date-subtract)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------------ |
| 函数 | [`dateSubtract()`](/notion-formulas/functions/date-subtract) |
| 分类 | 日期与时间 |
| 语法 | `dateSubtract(date, amount, unit)` |
| 作用 | 减少时间 |
| 返回值 | Date |

## 示例与说明
```text
dateAdd(prop("开始日期"), 7, "days")
```
```text
dateSubtract(prop("截止日期"), 1, "weeks")
```
官方帮助页明确列出的单位:
```text
years, quarters, months, weeks, days, hours, minutes
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`dateAdd()`](/notion-formulas/functions/date-add)
---
# date (https://21notion.com/notion-formulas/functions/date)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`date()`](/notion-formulas/functions/date) |
| 分类 | 日期与时间 |
| 语法 | `date(date)` |
| 作用 | 一个月中的第几日 |
| 返回值 | Number |

## 示例与说明
```text
year(prop("日期"))
```
```text
month(prop("日期"))
```
```text
date(prop("日期"))
```
```text
day(prop("日期"))
```
[`day()`](/notion-formulas/functions/day) 返回 `1` 到 `7`,其中 `1` 是周一,`7` 是周日。
判断周末:
```text
day(prop("日期")) >= 6
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`week()`](/notion-formulas/functions/week)
* [`year()`](/notion-formulas/functions/year)
* [`month()`](/notion-formulas/functions/month)
---
# day (https://21notion.com/notion-formulas/functions/day)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`day()`](/notion-formulas/functions/day) |
| 分类 | 日期与时间 |
| 语法 | `day(date)` |
| 作用 | 星期几,1=周一,7=周日 |
| 返回值 | Number |

## 示例与说明
```text
year(prop("日期"))
```
```text
month(prop("日期"))
```
```text
date(prop("日期"))
```
```text
day(prop("日期"))
```
[`day()`](/notion-formulas/functions/day) 返回 `1` 到 `7`,其中 `1` 是周一,`7` 是周日。
判断周末:
```text
day(prop("日期")) >= 6
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`date()`](/notion-formulas/functions/date)
* [`week()`](/notion-formulas/functions/week)
* [`year()`](/notion-formulas/functions/year)
* [`month()`](/notion-formulas/functions/month)
---
# divide (https://21notion.com/notion-formulas/functions/divide)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`divide()`](/notion-formulas/functions/divide) |
| 分类 | 数字与数学 |
| 语法 | `divide(a, b)` |
| 作用 | 相除 |
| 返回值 | Number |

## 示例与说明
`divide()` 用来做除法,通常也可以直接用 `/` 运算符替代。
```text
divide(10, 2)
```
```text
10 / 2
```
计算完成率:
```text
divide(prop("已完成任务"), prop("总任务数"))
```
建议:简单除法可以直接写 `/`;需要保持函数风格时再使用 `divide()`。
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`abs()`](/notion-formulas/functions/abs)
---
# e (https://21notion.com/notion-formulas/functions/e)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------- |
| 函数 | [`e()`](/notion-formulas/functions/e) |
| 分类 | 数字与数学 |
| 语法 | [`e()`](/notion-formulas/functions/e) |
| 作用 | 自然常数 e |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# email (https://21notion.com/notion-formulas/functions/email)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`email()`](/notion-formulas/functions/email) |
| 分类 | 成员、页面、变量 |
| 语法 | `email(person)` |
| 作用 | 获取成员邮箱 |
| 返回值 | Text |

## 示例与说明
成员属性可能是列表,尤其是允许多人的成员属性。因此常见写法是:
```text
prop("负责人").map(current.name()).join("、")
```
```text
prop("负责人").map(current.email()).join("、")
```
若成员属性只允许一个人,也可以先取第一个:
```text
prop("负责人").first().name()
```
## 相关函数
* [`name()`](/notion-formulas/functions/name)
* [`id()`](/notion-formulas/functions/id)
* [`let()`](/notion-formulas/functions/let)
* [`lets()`](/notion-formulas/functions/lets)
* [`map()`](/notion-formulas/functions/map)
* [`join()`](/notion-formulas/functions/join)
* [`first()`](/notion-formulas/functions/first)
---
# empty (https://21notion.com/notion-formulas/functions/empty)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`empty()`](/notion-formulas/functions/empty) |
| 分类 | 逻辑与判断 |
| 语法 | `empty(value)` |
| 作用 | 判断是否为空 |
| 返回值 | Boolean |

## 示例与说明
```text
empty(prop("备注"))
```
```text
if(empty(prop("截止日期")), "未设置", formatDate(prop("截止日期"), "YYYY-MM-DD"))
```
在自动化或日期公式中,也可以看到 [`empty()`](/notion-formulas/functions/empty) 作为返回空值的写法。若在普通数据库公式中使用,请以公式编辑器实际提示为准。
## 相关函数
* [`if()`](/notion-formulas/functions/if)
* [`ifs()`](/notion-formulas/functions/ifs)
* [`equal()`](/notion-formulas/functions/equal)
* [`unequal()`](/notion-formulas/functions/unequal)
* [`formatDate()`](/notion-formulas/functions/format-date)
---
# equal (https://21notion.com/notion-formulas/functions/equal)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`equal()`](/notion-formulas/functions/equal) |
| 分类 | 逻辑与判断 |
| 语法 | `equal(value1, value2)` |
| 作用 | 判断相等,等同于 `==` |
| 返回值 | Boolean |

## 示例与说明
```text
equal(prop("状态"), "已完成")
```
```text
unequal(prop("负责人"), prop("创建者"))
```
在日常公式中,直接判断相等时常用运算符:
```text
prop("状态") == "已完成"
```
判断不相等时,可以直接使用 `unequal(prop("状态"), "已完成")`。
***
## 相关函数
* [`if()`](/notion-formulas/functions/if)
* [`ifs()`](/notion-formulas/functions/ifs)
* [`empty()`](/notion-formulas/functions/empty)
* [`unequal()`](/notion-formulas/functions/unequal)
---
# every (https://21notion.com/notion-formulas/functions/every)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`every()`](/notion-formulas/functions/every) |
| 分类 | 列表 |
| 语法 | `every(list, condition)` |
| 作用 | 是否全部元素符合条件 |
| 返回值 | Boolean |

## 示例与说明
至少一个任务逾期:
```text
prop("任务").some(not(empty(current.prop("截止日期"))) and current.prop("截止日期") < today() and current.prop("状态") != "已完成")
```
所有任务都完成:
```text
prop("任务").every(current.prop("状态") == "已完成")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`some()`](/notion-formulas/functions/some)
* [`empty()`](/notion-formulas/functions/empty)
* [`today()`](/notion-formulas/functions/today)
---
# exp (https://21notion.com/notion-formulas/functions/exp)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`exp()`](/notion-formulas/functions/exp) |
| 分类 | 数字与数学 |
| 语法 | `exp(number)` |
| 作用 | e 的指定次幂 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# filter (https://21notion.com/notion-formulas/functions/filter)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`filter()`](/notion-formulas/functions/filter) |
| 分类 | 列表 |
| 语法 | `filter(list, condition)` |
| 作用 | 筛选列表 |
| 返回值 | List |

## 示例与说明
[`filter()`](/notion-formulas/functions/filter) 筛选符合条件的元素。
```text
prop("任务").filter(current.prop("状态") == "已完成")
```
统计已完成任务数:
```text
prop("任务").filter(current.prop("状态") == "已完成").length()
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`length()`](/notion-formulas/functions/length)
---
# findIndex (https://21notion.com/notion-formulas/functions/find-index)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------ |
| 函数 | [`findIndex()`](/notion-formulas/functions/find-index) |
| 分类 | 列表 |
| 语法 | `findIndex(list, condition)` |
| 作用 | 找到第一个符合条件元素的位置 |
| 返回值 | Number |

## 示例与说明
找到第一个高优先级任务:
```text
prop("任务").find(current.prop("优先级") == "高")
```
找到第一个高优先级任务的位置:
```text
prop("任务").findIndex(current.prop("优先级") == "高")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`find()`](/notion-formulas/functions/find)
---
# find (https://21notion.com/notion-formulas/functions/find)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`find()`](/notion-formulas/functions/find) |
| 分类 | 列表 |
| 语法 | `find(list, condition)` |
| 作用 | 找到第一个符合条件的元素 |
| 返回值 | 任意类型 |

## 示例与说明
找到第一个高优先级任务:
```text
prop("任务").find(current.prop("优先级") == "高")
```
找到第一个高优先级任务的位置:
```text
prop("任务").findIndex(current.prop("优先级") == "高")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`findIndex()`](/notion-formulas/functions/find-index)
---
# first (https://21notion.com/notion-formulas/functions/first)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`first()`](/notion-formulas/functions/first) |
| 分类 | 列表 |
| 语法 | `first(list)` |
| 作用 | 第一个元素 |
| 返回值 | 任意类型 |

## 示例与说明
```text
prop("关联项目").first()
```
```text
prop("标签").last()
```
```text
prop("标签").at(1)
```
注意:列表索引从 `0` 开始。`at(1)` 是第二个元素。
如果你只允许一个关联对象,也仍然建议写:
```text
prop("项目").first().prop("状态")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`reverse()`](/notion-formulas/functions/reverse)
---
# flat (https://21notion.com/notion-formulas/functions/flat)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`flat()`](/notion-formulas/functions/flat) |
| 分类 | 列表 |
| 语法 | `flat(list)` |
| 作用 | 展开嵌套列表 |
| 返回值 | List |

## 示例与说明
当 [`map()`](/notion-formulas/functions/map) 返回列表的列表时,可以用 [`flat()`](/notion-formulas/functions/flat) 展开。
```text
prop("项目").map(current.prop("任务")).flat()
```
常见于「项目 → 任务 → 子任务」这类多层关联。
***
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`map()`](/notion-formulas/functions/map)
---
# floor (https://21notion.com/notion-formulas/functions/floor)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`floor()`](/notion-formulas/functions/floor) |
| 分类 | 数字与数学 |
| 语法 | `floor(number)` |
| 作用 | 向下取整 |
| 返回值 | Number |

## 示例与说明
```text
round(3.14159, 2)
```
```text
ceil(prop("页数") / prop("每批页数"))
```
```text
floor(prop("完成率") * 10) / 10
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`round()`](/notion-formulas/functions/round)
* [`ceil()`](/notion-formulas/functions/ceil)
---
# formatDate (https://21notion.com/notion-formulas/functions/format-date)
## 速查
| 项目 | 内容 |
| --- | -------------------------------------------------------- |
| 函数 | [`formatDate()`](/notion-formulas/functions/format-date) |
| 分类 | 日期与时间 |
| 语法 | `formatDate(date, format)` |
| 作用 | 格式化日期 |
| 返回值 | Text |

## 示例与说明
```text
formatDate(prop("日期"), "YYYY-MM-DD")
```
```text
formatDate(prop("日期"), "YYYY年MM月DD日")
```
常用格式:
| 目标 | 示例格式 |
| ---- | ------------------ |
| 年月日 | `YYYY-MM-DD` |
| 中文日期 | `YYYY年MM月DD日` |
| 年月 | `YYYY-MM` |
| 日期时间 | `YYYY-MM-DD HH:mm` |
| 星期 | `dddd` |
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
---
# formatNumber (https://21notion.com/notion-formulas/functions/format-number)
## 速查
| 项目 | 内容 |
| ------ | ------------------------------------------------------------ |
| 函数 | [`formatNumber()`](/notion-formulas/functions/format-number) |
| 分类 | 最新参考 |
| 语法 | `formatNumber(number, format?, precision?)` |
| 作用 | 将数字格式化为文本 |
| 推荐替代方案 | `format(round(...))` 手动拼接 |
## 示例与说明
```text
formatNumber(1234567)
```
```text
formatNumber(prop("金额"), "cny", 2)
```
注意:返回值是文本。格式化后不要再参与加减乘除。
## 相关函数
* [`padStart()`](/notion-formulas/functions/pad-start)
* [`padEnd()`](/notion-formulas/functions/pad-end)
* [`count()`](/notion-formulas/functions/count)
* [`splice()`](/notion-formulas/functions/splice)
* [`format()`](/notion-formulas/functions/format)
* [`round()`](/notion-formulas/functions/round)
---
# format (https://21notion.com/notion-formulas/functions/format)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`format()`](/notion-formulas/functions/format) |
| 分类 | 文本 |
| 语法 | `format(value)` |
| 作用 | 转为文本 |
| 返回值 | Text |

## 示例与说明
```text
"金额:" + format(prop("金额")) + " 元"
```
```text
"完成率:" + format(round(prop("完成率") * 100)) + "%"
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`round()`](/notion-formulas/functions/round)
---
# fromTimestamp (https://21notion.com/notion-formulas/functions/from-timestamp)
## 速查
| 项目 | 内容 |
| --- | -------------------------------------------------------------- |
| 函数 | [`fromTimestamp()`](/notion-formulas/functions/from-timestamp) |
| 分类 | 日期与时间 |
| 语法 | `fromTimestamp(number)` |
| 作用 | 毫秒时间戳转日期 |
| 返回值 | Date |

## 示例与说明
```text
timestamp(prop("日期"))
```
返回 Unix 毫秒时间戳。
```text
fromTimestamp(1714521600000)
```
注意:官方说明中,[`fromTimestamp()`](/notion-formulas/functions/from-timestamp) 不保留秒和毫秒。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`timestamp()`](/notion-formulas/functions/timestamp)
---
# hour (https://21notion.com/notion-formulas/functions/hour)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`hour()`](/notion-formulas/functions/hour) |
| 分类 | 日期与时间 |
| 语法 | `hour(date)` |
| 作用 | 小时 |
| 返回值 | Number |

## 示例与说明
```text
hour(prop("时间"))
```
判断是否为上午:
```text
hour(prop("时间")) < 12
```
按小时显示时间段:
```text
format(hour(prop("时间"))) + " 点"
```
建议:`hour()` 读取日期时间中的小时。如果日期属性没有具体时间,结果可能不符合预期。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`week()`](/notion-formulas/functions/week)
* [`year()`](/notion-formulas/functions/year)
* [`month()`](/notion-formulas/functions/month)
---
# id (https://21notion.com/notion-formulas/functions/id)
## 速查
| 项目 | 内容 |
| --- | ---------------------------------------------------- |
| 函数 | [`id()`](/notion-formulas/functions/id) |
| 分类 | 成员、页面、变量 |
| 语法 | [`id()`](/notion-formulas/functions/id) / `id(page)` |
| 作用 | 获取当前页面或指定页面 ID |
| 返回值 | Text |

## 示例与说明
```text
id()
```
返回当前页面 ID。
```text
id(prop("关联项目").first())
```
返回第一个关联项目页面的 ID。
***
## 相关函数
* [`name()`](/notion-formulas/functions/name)
* [`email()`](/notion-formulas/functions/email)
* [`let()`](/notion-formulas/functions/let)
* [`lets()`](/notion-formulas/functions/lets)
* [`first()`](/notion-formulas/functions/first)
---
# if (https://21notion.com/notion-formulas/functions/if)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------- |
| 函数 | [`if()`](/notion-formulas/functions/if) |
| 分类 | 逻辑与判断 |
| 语法 | `if(condition, trueValue, falseValue)` |
| 作用 | 单条件判断 |
| 返回值 | 任意类型 |

## 示例与说明
语法:
```text
if(condition, valueIfTrue, valueIfFalse)
```
示例:
```text
if(prop("分数") >= 60, "及格", "不及格")
```
```text
if(empty(prop("负责人")), "待分配", prop("负责人").map(current.name()).join("、"))
```
建议:[`if()`](/notion-formulas/functions/if) 适合二选一。超过三层嵌套时,优先改用 [`ifs()`](/notion-formulas/functions/ifs) 或 [`lets()`](/notion-formulas/functions/lets)。
## 相关函数
* [`ifs()`](/notion-formulas/functions/ifs)
* [`empty()`](/notion-formulas/functions/empty)
* [`equal()`](/notion-formulas/functions/equal)
* [`unequal()`](/notion-formulas/functions/unequal)
* [`map()`](/notion-formulas/functions/map)
* [`name()`](/notion-formulas/functions/name)
* [`join()`](/notion-formulas/functions/join)
* [`lets()`](/notion-formulas/functions/lets)
---
# ifs (https://21notion.com/notion-formulas/functions/ifs)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------------ |
| 函数 | [`ifs()`](/notion-formulas/functions/ifs) |
| 分类 | 逻辑与判断 |
| 语法 | `ifs(condition1, value1, condition2, value2, ..., fallback)` |
| 作用 | 多条件判断 |
| 返回值 | 任意类型 |

## 示例与说明
语法:
```text
ifs(condition1, value1, condition2, value2, fallback)
```
示例:
```text
ifs(
prop("分数") >= 90, "优秀",
prop("分数") >= 80, "良好",
prop("分数") >= 60, "及格",
"不及格"
)
```
注意:条件会从前往后判断,命中第一个 `true` 后返回对应结果。因此条件顺序非常重要。
## 相关函数
* [`if()`](/notion-formulas/functions/if)
* [`empty()`](/notion-formulas/functions/empty)
* [`equal()`](/notion-formulas/functions/equal)
* [`unequal()`](/notion-formulas/functions/unequal)
---
# includes (https://21notion.com/notion-formulas/functions/includes)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------------- |
| 函数 | [`includes()`](/notion-formulas/functions/includes) |
| 分类 | 列表 |
| 语法 | `includes(list, value)` |
| 作用 | 判断列表是否包含某值 |
| 返回值 | Boolean |

## 示例与说明
```text
prop("标签").includes("重要")
```
```text
if(prop("标签").includes("重要"), "重点", "普通")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`if()`](/notion-formulas/functions/if)
---
# 全部函数索引 (https://21notion.com/notion-formulas/functions)
import {
CalendarDays,
GitBranch,
Hash,
ListTree,
TextCursorInput,
WandSparkles,
} from 'lucide-react';
## 按类别查找
} title="逻辑与判断函数" href="/notion-formulas/functions/logic">
`if()`、`ifs()`、`empty()` 等条件判断函数。
} title="文本函数" href="/notion-formulas/functions/text">
`length()`、`replaceAll()`、`style()` 等文本处理函数。
} title="数字与数学函数" href="/notion-formulas/functions/number">
`round()`、`sum()`、`mean()` 等数字计算函数。
} title="日期与时间函数" href="/notion-formulas/functions/date-functions">
`today()`、`dateAdd()`、`dateBetween()` 等日期函数。
} title="列表函数" href="/notion-formulas/functions/list">
`map()`、`filter()`、`join()` 等列表处理函数。
} title="高级函数" href="/notion-formulas/functions/advanced">
`let()`、`lets()`、`name()` 等高级函数。
## 全部函数索引
## 逻辑与判断
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------- | -------------- | -------- |
| [`if()`](/notion-formulas/functions/if) | 单条件判断 | 任意类型 |
| [`ifs()`](/notion-formulas/functions/ifs) | 多条件判断 | 任意类型 |
| [`empty()`](/notion-formulas/functions/empty) | 判断是否为空 | Boolean |
| [`equal()`](/notion-formulas/functions/equal) | 判断相等,等同于 `==` | Boolean |
| [`unequal()`](/notion-formulas/functions/unequal) | 判断不相等,等同于 `!=` | Boolean |
## 文本
| 函数 | 作用 | 返回值或替代方案 |
| -------------------------------------------------------- | ------------ | -------- |
| [`length()`](/notion-formulas/functions/length) | 文本字符数或列表元素数 | Number |
| [`substring()`](/notion-formulas/functions/substring) | 截取文本 | Text |
| [`contains()`](/notion-formulas/functions/contains) | 判断文本是否包含指定内容 | Boolean |
| [`replace()`](/notion-formulas/functions/replace) | 替换第一个匹配项 | Text |
| [`replaceAll()`](/notion-formulas/functions/replace-all) | 替换所有匹配项 | Text |
| [`lower()`](/notion-formulas/functions/lower) | 转小写 | Text |
| [`upper()`](/notion-formulas/functions/upper) | 转大写 | Text |
| [`repeat()`](/notion-formulas/functions/repeat) | 重复文本 | Text |
| [`trim()`](/notion-formulas/functions/trim) | 去除文本首尾空白 | Text |
| [`link()`](/notion-formulas/functions/link) | 生成可点击链接 | Text |
| [`style()`](/notion-formulas/functions/style) | 添加文本样式 | Text |
| [`unstyle()`](/notion-formulas/functions/unstyle) | 移除文本样式 | Text |
| [`format()`](/notion-formulas/functions/format) | 转为文本 | Text |
| [`test()`](/notion-formulas/functions/test) | 正则测试 | Boolean |
| [`match()`](/notion-formulas/functions/match) | 正则匹配,返回所有匹配项 | List |
## 数字与数学
| 函数 | 作用 | 返回值或替代方案 |
| ---------------------------------------------------- | ---------- | -------- |
| [`add()`](/notion-formulas/functions/add) | 相加 | Number |
| [`subtract()`](/notion-formulas/functions/subtract) | 相减 | Number |
| [`multiply()`](/notion-formulas/functions/multiply) | 相乘 | Number |
| [`divide()`](/notion-formulas/functions/divide) | 相除 | Number |
| [`mod()`](/notion-formulas/functions/mod) | 取余 | Number |
| [`pow()`](/notion-formulas/functions/pow) | 幂运算 | Number |
| [`abs()`](/notion-formulas/functions/abs) | 绝对值 | Number |
| [`round()`](/notion-formulas/functions/round) | 四舍五入 | Number |
| [`ceil()`](/notion-formulas/functions/ceil) | 向上取整 | Number |
| [`floor()`](/notion-formulas/functions/floor) | 向下取整 | Number |
| [`sqrt()`](/notion-formulas/functions/sqrt) | 平方根 | Number |
| [`cbrt()`](/notion-formulas/functions/cbrt) | 立方根 | Number |
| [`exp()`](/notion-formulas/functions/exp) | e 的指定次幂 | Number |
| [`ln()`](/notion-formulas/functions/ln) | 自然对数 | Number |
| [`log10()`](/notion-formulas/functions/log10) | 以 10 为底的对数 | Number |
| [`log2()`](/notion-formulas/functions/log2) | 以 2 为底的对数 | Number |
| [`sign()`](/notion-formulas/functions/sign) | 数字符号 | Number |
| [`min()`](/notion-formulas/functions/min) | 最小值 | Number |
| [`max()`](/notion-formulas/functions/max) | 最大值 | Number |
| [`sum()`](/notion-formulas/functions/sum) | 求和 | Number |
| [`mean()`](/notion-formulas/functions/mean) | 平均值 | Number |
| [`median()`](/notion-formulas/functions/median) | 中位数 | Number |
| [`toNumber()`](/notion-formulas/functions/to-number) | 转为数字 | Number |
| [`pi()`](/notion-formulas/functions/pi) | 圆周率 | Number |
| [`e()`](/notion-formulas/functions/e) | 自然常数 e | Number |
## 日期与时间
| 函数 | 作用 | 返回值或替代方案 |
| -------------------------------------------------------------- | ---------------- | ---------- |
| [`now()`](/notion-formulas/functions/now) | 当前日期和时间 | Date |
| [`today()`](/notion-formulas/functions/today) | 当前日期 | Date |
| [`minute()`](/notion-formulas/functions/minute) | 分钟 | Number |
| [`hour()`](/notion-formulas/functions/hour) | 小时 | Number |
| [`day()`](/notion-formulas/functions/day) | 星期几,1=周一,7=周日 | Number |
| [`date()`](/notion-formulas/functions/date) | 一个月中的第几日 | Number |
| [`week()`](/notion-formulas/functions/week) | ISO 周数 | Number |
| [`month()`](/notion-formulas/functions/month) | 月份 | Number |
| [`year()`](/notion-formulas/functions/year) | 年份 | Number |
| [`dateAdd()`](/notion-formulas/functions/date-add) | 增加时间 | Date |
| [`dateSubtract()`](/notion-formulas/functions/date-subtract) | 减少时间 | Date |
| [`dateBetween()`](/notion-formulas/functions/date-between) | 两个日期之间的差值 | Number |
| [`dateRange()`](/notion-formulas/functions/date-range) | 创建日期区间 | Date range |
| [`dateStart()`](/notion-formulas/functions/date-start) | 日期区间开始时间 | Date |
| [`dateEnd()`](/notion-formulas/functions/date-end) | 日期区间结束时间 | Date |
| [`timestamp()`](/notion-formulas/functions/timestamp) | 转为 Unix 毫秒时间戳 | Number |
| [`fromTimestamp()`](/notion-formulas/functions/from-timestamp) | 毫秒时间戳转日期 | Date |
| [`formatDate()`](/notion-formulas/functions/format-date) | 格式化日期 | Text |
| [`parseDate()`](/notion-formulas/functions/parse-date) | 解析 ISO 8601 日期文本 | Date |
## 列表
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------------ | -------------- | -------- |
| [`at()`](/notion-formulas/functions/at) | 取指定位置元素 | 任意类型 |
| [`first()`](/notion-formulas/functions/first) | 第一个元素 | 任意类型 |
| [`last()`](/notion-formulas/functions/last) | 最后一个元素 | 任意类型 |
| [`slice()`](/notion-formulas/functions/slice) | 截取列表 | List |
| [`concat()`](/notion-formulas/functions/concat) | 合并列表 | List |
| [`sort()`](/notion-formulas/functions/sort) | 排序 | List |
| [`reverse()`](/notion-formulas/functions/reverse) | 反转列表 | List |
| [`join()`](/notion-formulas/functions/join) | 列表转文本 | Text |
| [`split()`](/notion-formulas/functions/split) | 文本拆成列表 | List |
| [`unique()`](/notion-formulas/functions/unique) | 去重 | List |
| [`includes()`](/notion-formulas/functions/includes) | 判断列表是否包含某值 | Boolean |
| [`find()`](/notion-formulas/functions/find) | 找到第一个符合条件的元素 | 任意类型 |
| [`findIndex()`](/notion-formulas/functions/find-index) | 找到第一个符合条件元素的位置 | Number |
| [`filter()`](/notion-formulas/functions/filter) | 筛选列表 | List |
| [`some()`](/notion-formulas/functions/some) | 是否至少一个元素符合条件 | Boolean |
| [`every()`](/notion-formulas/functions/every) | 是否全部元素符合条件 | Boolean |
| [`map()`](/notion-formulas/functions/map) | 映射列表 | List |
| [`flat()`](/notion-formulas/functions/flat) | 展开嵌套列表 | List |
## 成员、页面、变量
| 函数 | 作用 | 返回值或替代方案 |
| --------------------------------------------- | -------------- | -------- |
| [`name()`](/notion-formulas/functions/name) | 获取成员名称 | Text |
| [`email()`](/notion-formulas/functions/email) | 获取成员邮箱 | Text |
| [`id()`](/notion-formulas/functions/id) | 获取当前页面或指定页面 ID | Text |
| [`let()`](/notion-formulas/functions/let) | 定义一个变量 | 表达式结果 |
| [`lets()`](/notion-formulas/functions/lets) | 定义多个变量 | 表达式结果 |
## 最新参考
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------------------ | --------------- | ------------------------------------------------------------------------------------------------------------ |
| [`padStart()`](/notion-formulas/functions/pad-start) | 在文本左侧补齐到指定长度 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |
| [`padEnd()`](/notion-formulas/functions/pad-end) | 在文本右侧补齐到指定长度 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |
| [`count()`](/notion-formulas/functions/count) | 统计列表数量或符合条件的数量 | `length(list)` 或 `filter(...).length()` |
| [`formatNumber()`](/notion-formulas/functions/format-number) | 将数字格式化为文本 | `format(round(...))` 手动拼接 |
| [`splice()`](/notion-formulas/functions/splice) | 删除或插入列表元素,返回新列表 | [`slice()`](/notion-formulas/functions/slice) + [`concat()`](/notion-formulas/functions/concat) |
---
# join (https://21notion.com/notion-formulas/functions/join)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`join()`](/notion-formulas/functions/join) |
| 分类 | 列表 |
| 语法 | `join(list, separator)` |
| 作用 | 列表转文本 |
| 返回值 | Text |

## 示例与说明
```text
prop("标签").join("、")
```
```text
split(prop("关键词"), ",")
```
清洗逗号分隔标签:
```text
split(prop("关键词"), ",").map(current.trim()).unique().join("、")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`split()`](/notion-formulas/functions/split)
* [`map()`](/notion-formulas/functions/map)
* [`trim()`](/notion-formulas/functions/trim)
* [`unique()`](/notion-formulas/functions/unique)
---
# last (https://21notion.com/notion-formulas/functions/last)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`last()`](/notion-formulas/functions/last) |
| 分类 | 列表 |
| 语法 | `last(list)` |
| 作用 | 最后一个元素 |
| 返回值 | 任意类型 |

## 示例与说明
```text
prop("关联项目").first()
```
```text
prop("标签").last()
```
```text
prop("标签").at(1)
```
注意:列表索引从 `0` 开始。`at(1)` 是第二个元素。
如果你只允许一个关联对象,也仍然建议写:
```text
prop("项目").first().prop("状态")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`reverse()`](/notion-formulas/functions/reverse)
---
# length (https://21notion.com/notion-formulas/functions/length)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`length()`](/notion-formulas/functions/length) |
| 分类 | 文本 |
| 语法 | `length(textOrList)` |
| 作用 | 文本字符数或列表元素数 |
| 返回值 | Number |

## 示例与说明
```text
length("你好 Notion")
```
```text
length(prop("任务"))
```
[`length()`](/notion-formulas/functions/length) 既能统计文本字符数量,也能统计列表元素数量。对于任务数量、标签数量、关联条目数量,都很常用。
## 相关函数
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`upper()`](/notion-formulas/functions/upper)
---
# let (https://21notion.com/notion-formulas/functions/let)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`let()`](/notion-formulas/functions/let) |
| 分类 | 成员、页面、变量 |
| 语法 | `let(name, value, expression)` |
| 作用 | 定义一个变量 |
| 返回值 | 表达式结果 |

## 相关函数
* [`name()`](/notion-formulas/functions/name)
* [`email()`](/notion-formulas/functions/email)
* [`id()`](/notion-formulas/functions/id)
* [`lets()`](/notion-formulas/functions/lets)
---
# lets (https://21notion.com/notion-formulas/functions/lets)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------------- |
| 函数 | [`lets()`](/notion-formulas/functions/lets) |
| 分类 | 成员、页面、变量 |
| 语法 | `lets(name1, value1, name2, value2, ..., expression)` |
| 作用 | 定义多个变量 |
| 返回值 | 表达式结果 |

## 相关函数
* [`name()`](/notion-formulas/functions/name)
* [`email()`](/notion-formulas/functions/email)
* [`id()`](/notion-formulas/functions/id)
* [`let()`](/notion-formulas/functions/let)
---
# link (https://21notion.com/notion-formulas/functions/link)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`link()`](/notion-formulas/functions/link) |
| 分类 | 文本 |
| 语法 | `link(label, url)` |
| 作用 | 生成可点击链接 |
| 返回值 | Text |

## 示例与说明
```text
link("打开官网", prop("网址"))
```
若 URL 为空,建议先判断:
```text
if(empty(prop("网址")), "", link("打开链接", prop("网址")))
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`if()`](/notion-formulas/functions/if)
* [`empty()`](/notion-formulas/functions/empty)
---
# 列表函数 (https://21notion.com/notion-formulas/functions/list)
## 列表
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------------ | -------------- | -------- |
| [`at()`](/notion-formulas/functions/at) | 取指定位置元素 | 任意类型 |
| [`first()`](/notion-formulas/functions/first) | 第一个元素 | 任意类型 |
| [`last()`](/notion-formulas/functions/last) | 最后一个元素 | 任意类型 |
| [`slice()`](/notion-formulas/functions/slice) | 截取列表 | List |
| [`concat()`](/notion-formulas/functions/concat) | 合并列表 | List |
| [`sort()`](/notion-formulas/functions/sort) | 排序 | List |
| [`reverse()`](/notion-formulas/functions/reverse) | 反转列表 | List |
| [`join()`](/notion-formulas/functions/join) | 列表转文本 | Text |
| [`split()`](/notion-formulas/functions/split) | 文本拆成列表 | List |
| [`unique()`](/notion-formulas/functions/unique) | 去重 | List |
| [`includes()`](/notion-formulas/functions/includes) | 判断列表是否包含某值 | Boolean |
| [`find()`](/notion-formulas/functions/find) | 找到第一个符合条件的元素 | 任意类型 |
| [`findIndex()`](/notion-formulas/functions/find-index) | 找到第一个符合条件元素的位置 | Number |
| [`filter()`](/notion-formulas/functions/filter) | 筛选列表 | List |
| [`some()`](/notion-formulas/functions/some) | 是否至少一个元素符合条件 | Boolean |
| [`every()`](/notion-formulas/functions/every) | 是否全部元素符合条件 | Boolean |
| [`map()`](/notion-formulas/functions/map) | 映射列表 | List |
| [`flat()`](/notion-formulas/functions/flat) | 展开嵌套列表 | List |
---
# ln (https://21notion.com/notion-formulas/functions/ln)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------- |
| 函数 | [`ln()`](/notion-formulas/functions/ln) |
| 分类 | 数字与数学 |
| 语法 | `ln(number)` |
| 作用 | 自然对数 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# log10 (https://21notion.com/notion-formulas/functions/log10)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`log10()`](/notion-formulas/functions/log10) |
| 分类 | 数字与数学 |
| 语法 | `log10(number)` |
| 作用 | 以 10 为底的对数 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# log2 (https://21notion.com/notion-formulas/functions/log2)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`log2()`](/notion-formulas/functions/log2) |
| 分类 | 数字与数学 |
| 语法 | `log2(number)` |
| 作用 | 以 2 为底的对数 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# 逻辑与判断函数 (https://21notion.com/notion-formulas/functions/logic)
## 逻辑与判断
| 函数 | 作用 | 返回值或替代方案 |
| ------------------------------------------------- | -------------- | -------- |
| [`if()`](/notion-formulas/functions/if) | 单条件判断 | 任意类型 |
| [`ifs()`](/notion-formulas/functions/ifs) | 多条件判断 | 任意类型 |
| [`empty()`](/notion-formulas/functions/empty) | 判断是否为空 | Boolean |
| [`equal()`](/notion-formulas/functions/equal) | 判断相等,等同于 `==` | Boolean |
| [`unequal()`](/notion-formulas/functions/unequal) | 判断不相等,等同于 `!=` | Boolean |
---
# lower (https://21notion.com/notion-formulas/functions/lower)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`lower()`](/notion-formulas/functions/lower) |
| 分类 | 文本 |
| 语法 | `lower(text)` |
| 作用 | 转小写 |
| 返回值 | Text |

## 示例与说明
```text
lower("NOTION")
```
```text
upper("notion")
```
主要用于英文文本归一化。
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`upper()`](/notion-formulas/functions/upper)
---
# map (https://21notion.com/notion-formulas/functions/map)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`map()`](/notion-formulas/functions/map) |
| 分类 | 列表 |
| 语法 | `map(list, expression)` |
| 作用 | 映射列表 |
| 返回值 | List |
## 示例与说明
[`map()`](/notion-formulas/functions/map) 将列表中的每个元素转换成另一个值。
```text
prop("任务").map(current.prop("状态"))
```
显示所有关联任务名称,保守写法是引用任务数据库中的标题属性:
```text
prop("任务").map(current.prop("任务名称")).join("、")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`join()`](/notion-formulas/functions/join)
---
# match (https://21notion.com/notion-formulas/functions/match)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`match()`](/notion-formulas/functions/match) |
| 分类 | 文本 |
| 语法 | `match(text, regex)` |
| 作用 | 正则匹配,返回所有匹配项 |
| 返回值 | List |

## 示例与说明
```text
match("订单号:A123,B456", "[A-Z]\\d+")
```
```text
match(prop("正文"), "#\\w+").join("、")
```
注意:正则表达式中的反斜杠通常需要写成 `\\`。
***
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`join()`](/notion-formulas/functions/join)
---
# max (https://21notion.com/notion-formulas/functions/max)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`max()`](/notion-formulas/functions/max) |
| 分类 | 数字与数学 |
| 语法 | `max(values...)` |
| 作用 | 最大值 |
| 返回值 | Number |

## 示例与说明
```text
min(prop("报价A"), prop("报价B"), prop("报价C"))
```
```text
max(prop("任务").map(current.prop("优先级分")))
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`min()`](/notion-formulas/functions/min)
* [`map()`](/notion-formulas/functions/map)
---
# mean (https://21notion.com/notion-formulas/functions/mean)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`mean()`](/notion-formulas/functions/mean) |
| 分类 | 数字与数学 |
| 语法 | `mean(values...)` |
| 作用 | 平均值 |
| 返回值 | Number |

## 示例与说明
```text
sum(prop("收入"), prop("奖金"), prop("补贴"))
```
```text
mean(prop("语文"), prop("数学"), prop("英语"))
```
对关联任务求和:
```text
prop("任务").map(current.prop("工时")).sum()
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`sum()`](/notion-formulas/functions/sum)
* [`map()`](/notion-formulas/functions/map)
---
# median (https://21notion.com/notion-formulas/functions/median)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`median()`](/notion-formulas/functions/median) |
| 分类 | 数字与数学 |
| 语法 | `median(values...)` |
| 作用 | 中位数 |
| 返回值 | Number |

## 示例与说明
```text
median(1, 3, 9)
```
计算多个评分的中位数:
```text
median(prop("评分A"), prop("评分B"), prop("评分C"))
```
对关联任务的工时取中位数:
```text
prop("任务").map(current.prop("工时")).median()
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`sum()`](/notion-formulas/functions/sum)
* [`mean()`](/notion-formulas/functions/mean)
* [`map()`](/notion-formulas/functions/map)
---
# min (https://21notion.com/notion-formulas/functions/min)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`min()`](/notion-formulas/functions/min) |
| 分类 | 数字与数学 |
| 语法 | `min(values...)` |
| 作用 | 最小值 |
| 返回值 | Number |

## 示例与说明
```text
min(prop("报价A"), prop("报价B"), prop("报价C"))
```
```text
max(prop("任务").map(current.prop("优先级分")))
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`max()`](/notion-formulas/functions/max)
* [`map()`](/notion-formulas/functions/map)
---
# minute (https://21notion.com/notion-formulas/functions/minute)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`minute()`](/notion-formulas/functions/minute) |
| 分类 | 日期与时间 |
| 语法 | `minute(date)` |
| 作用 | 分钟 |
| 返回值 | Number |

## 示例与说明
```text
minute(prop("时间"))
```
判断是否为整点:
```text
minute(prop("时间")) == 0
```
显示分钟:
```text
format(minute(prop("时间"))) + " 分"
```
建议:`minute()` 读取日期时间中的分钟。如果日期属性没有具体时间,通常不会得到有意义的分钟值。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`week()`](/notion-formulas/functions/week)
* [`year()`](/notion-formulas/functions/year)
* [`month()`](/notion-formulas/functions/month)
---
# mod (https://21notion.com/notion-formulas/functions/mod)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`mod()`](/notion-formulas/functions/mod) |
| 分类 | 数字与数学 |
| 语法 | `mod(a, b)` |
| 作用 | 取余 |
| 返回值 | Number |

## 示例与说明
```text
mod(10, 3)
```
判断是否为偶数:
```text
mod(prop("序号"), 2) == 0
```
按序号分组:
```text
mod(prop("序号"), 3)
```
建议:`mod()` 常用于周期、分组、单双数判断。
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`pow()`](/notion-formulas/functions/pow)
* [`abs()`](/notion-formulas/functions/abs)
---
# month (https://21notion.com/notion-formulas/functions/month)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`month()`](/notion-formulas/functions/month) |
| 分类 | 日期与时间 |
| 语法 | `month(date)` |
| 作用 | 月份 |
| 返回值 | Number |

## 示例与说明
```text
year(prop("日期"))
```
```text
month(prop("日期"))
```
```text
date(prop("日期"))
```
```text
day(prop("日期"))
```
[`day()`](/notion-formulas/functions/day) 返回 `1` 到 `7`,其中 `1` 是周一,`7` 是周日。
判断周末:
```text
day(prop("日期")) >= 6
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`year()`](/notion-formulas/functions/year)
---
# multiply (https://21notion.com/notion-formulas/functions/multiply)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------------- |
| 函数 | [`multiply()`](/notion-formulas/functions/multiply) |
| 分类 | 数字与数学 |
| 语法 | `multiply(a, b, ...)` |
| 作用 | 相乘 |
| 返回值 | Number |

## 示例与说明
`multiply()` 用来做乘法,通常也可以直接用 `*` 运算符替代。
```text
multiply(3, 4)
```
```text
3 * 4
```
计算含税金额:
```text
multiply(prop("金额"), 1.13)
```
建议:简单乘法可以直接写 `*`;需要保持函数风格时再使用 `multiply()`。
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`abs()`](/notion-formulas/functions/abs)
---
# name (https://21notion.com/notion-formulas/functions/name)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`name()`](/notion-formulas/functions/name) |
| 分类 | 成员、页面、变量 |
| 语法 | `name(person)` |
| 作用 | 获取成员名称 |
| 返回值 | Text |

## 示例与说明
成员属性可能是列表,尤其是允许多人的成员属性。因此常见写法是:
```text
prop("负责人").map(current.name()).join("、")
```
```text
prop("负责人").map(current.email()).join("、")
```
若成员属性只允许一个人,也可以先取第一个:
```text
prop("负责人").first().name()
```
## 相关函数
* [`email()`](/notion-formulas/functions/email)
* [`id()`](/notion-formulas/functions/id)
* [`let()`](/notion-formulas/functions/let)
* [`lets()`](/notion-formulas/functions/lets)
* [`map()`](/notion-formulas/functions/map)
* [`join()`](/notion-formulas/functions/join)
* [`first()`](/notion-formulas/functions/first)
---
# now (https://21notion.com/notion-formulas/functions/now)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`now()`](/notion-formulas/functions/now) |
| 分类 | 日期与时间 |
| 语法 | [`now()`](/notion-formulas/functions/now) |
| 作用 | 当前日期和时间 |
| 返回值 | Date |

## 示例与说明
```text
now()
```
返回当前日期和时间。
```text
today()
```
返回当前日期。做截止日期判断时,优先使用 [`today()`](/notion-formulas/functions/today),可以减少因具体时间导致的偏差。
## 相关函数
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`week()`](/notion-formulas/functions/week)
---
# 数字与数学函数 (https://21notion.com/notion-formulas/functions/number)
## 数字与数学
| 函数 | 作用 | 返回值或替代方案 |
| ---------------------------------------------------- | ---------- | -------- |
| [`add()`](/notion-formulas/functions/add) | 相加 | Number |
| [`subtract()`](/notion-formulas/functions/subtract) | 相减 | Number |
| [`multiply()`](/notion-formulas/functions/multiply) | 相乘 | Number |
| [`divide()`](/notion-formulas/functions/divide) | 相除 | Number |
| [`mod()`](/notion-formulas/functions/mod) | 取余 | Number |
| [`pow()`](/notion-formulas/functions/pow) | 幂运算 | Number |
| [`abs()`](/notion-formulas/functions/abs) | 绝对值 | Number |
| [`round()`](/notion-formulas/functions/round) | 四舍五入 | Number |
| [`ceil()`](/notion-formulas/functions/ceil) | 向上取整 | Number |
| [`floor()`](/notion-formulas/functions/floor) | 向下取整 | Number |
| [`sqrt()`](/notion-formulas/functions/sqrt) | 平方根 | Number |
| [`cbrt()`](/notion-formulas/functions/cbrt) | 立方根 | Number |
| [`exp()`](/notion-formulas/functions/exp) | e 的指定次幂 | Number |
| [`ln()`](/notion-formulas/functions/ln) | 自然对数 | Number |
| [`log10()`](/notion-formulas/functions/log10) | 以 10 为底的对数 | Number |
| [`log2()`](/notion-formulas/functions/log2) | 以 2 为底的对数 | Number |
| [`sign()`](/notion-formulas/functions/sign) | 数字符号 | Number |
| [`min()`](/notion-formulas/functions/min) | 最小值 | Number |
| [`max()`](/notion-formulas/functions/max) | 最大值 | Number |
| [`sum()`](/notion-formulas/functions/sum) | 求和 | Number |
| [`mean()`](/notion-formulas/functions/mean) | 平均值 | Number |
| [`median()`](/notion-formulas/functions/median) | 中位数 | Number |
| [`toNumber()`](/notion-formulas/functions/to-number) | 转为数字 | Number |
| [`pi()`](/notion-formulas/functions/pi) | 圆周率 | Number |
| [`e()`](/notion-formulas/functions/e) | 自然常数 e | Number |
---
# padEnd (https://21notion.com/notion-formulas/functions/pad-end)
## 速查
| 项目 | 内容 |
| ------ | ------------------------------------------------------------------------------------------------------------ |
| 函数 | [`padEnd()`](/notion-formulas/functions/pad-end) |
| 分类 | 最新参考 |
| 语法 | `padEnd(text, length, padText)` |
| 作用 | 在文本右侧补齐到指定长度 |
| 推荐替代方案 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |

## 示例与说明
```text
padEnd(prop("编码"), 10, " ")
```
## 相关函数
* [`padStart()`](/notion-formulas/functions/pad-start)
* [`count()`](/notion-formulas/functions/count)
* [`formatNumber()`](/notion-formulas/functions/format-number)
* [`splice()`](/notion-formulas/functions/splice)
* [`repeat()`](/notion-formulas/functions/repeat)
* [`substring()`](/notion-formulas/functions/substring)
---
# padStart (https://21notion.com/notion-formulas/functions/pad-start)
## 速查
| 项目 | 内容 |
| ------ | ------------------------------------------------------------------------------------------------------------ |
| 函数 | [`padStart()`](/notion-formulas/functions/pad-start) |
| 分类 | 最新参考 |
| 语法 | `padStart(text, length, padText)` |
| 作用 | 在文本左侧补齐到指定长度 |
| 推荐替代方案 | [`repeat()`](/notion-formulas/functions/repeat) + [`substring()`](/notion-formulas/functions/substring) 手动拼接 |

## 示例与说明
```text
padStart(format(prop("序号")), 4, "0")
```
结果示例:`7` → `0007`。
点链式写法:
```text
format(prop("序号")).padStart(4, "0")
```
## 相关函数
* [`padEnd()`](/notion-formulas/functions/pad-end)
* [`count()`](/notion-formulas/functions/count)
* [`formatNumber()`](/notion-formulas/functions/format-number)
* [`splice()`](/notion-formulas/functions/splice)
* [`repeat()`](/notion-formulas/functions/repeat)
* [`substring()`](/notion-formulas/functions/substring)
* [`format()`](/notion-formulas/functions/format)
---
# parseDate (https://21notion.com/notion-formulas/functions/parse-date)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------------ |
| 函数 | [`parseDate()`](/notion-formulas/functions/parse-date) |
| 分类 | 日期与时间 |
| 语法 | `parseDate(text)` |
| 作用 | 解析 ISO 8601 日期文本 |
| 返回值 | Date |

## 示例与说明
```text
parseDate("2026-04-28")
```
适合把 ISO 8601 日期文本转为日期值。
***
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
---
# pi (https://21notion.com/notion-formulas/functions/pi)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------- |
| 函数 | [`pi()`](/notion-formulas/functions/pi) |
| 分类 | 数字与数学 |
| 语法 | [`pi()`](/notion-formulas/functions/pi) |
| 作用 | 圆周率 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# pow (https://21notion.com/notion-formulas/functions/pow)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`pow()`](/notion-formulas/functions/pow) |
| 分类 | 数字与数学 |
| 语法 | `pow(a, b)` |
| 作用 | 幂运算 |
| 返回值 | Number |

## 示例与说明
```text
pow(2, 3)
```
计算平方:
```text
pow(prop("边长"), 2)
```
计算复利倍数:
```text
pow(1 + prop("年化率"), prop("年数"))
```
建议:`pow()` 适合幂运算、平方、增长倍数等场景。
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`abs()`](/notion-formulas/functions/abs)
---
# repeat (https://21notion.com/notion-formulas/functions/repeat)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`repeat()`](/notion-formulas/functions/repeat) |
| 分类 | 文本 |
| 语法 | `repeat(text, count)` |
| 作用 | 重复文本 |
| 返回值 | Text |

## 示例与说明
```text
repeat("⭐", prop("评分"))
```
进度条示例:
```text
lets(
进度, floor(prop("完成率") * 10),
repeat("█", 进度) + repeat("░", 10 - 进度)
)
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`lets()`](/notion-formulas/functions/lets)
* [`floor()`](/notion-formulas/functions/floor)
---
# replaceAll (https://21notion.com/notion-formulas/functions/replace-all)
## 速查
| 项目 | 内容 |
| --- | -------------------------------------------------------- |
| 函数 | [`replaceAll()`](/notion-formulas/functions/replace-all) |
| 分类 | 文本 |
| 语法 | `replaceAll(text, pattern, replacement)` |
| 作用 | 替换所有匹配项 |
| 返回值 | Text |

## 示例与说明
[`replace()`](/notion-formulas/functions/replace) 只替换第一个匹配项:
```text
replace("A-B-C", "-", "/")
```
[`replaceAll()`](/notion-formulas/functions/replace-all) 替换全部匹配项:
```text
replaceAll("A-B-C", "-", "/")
```
去掉所有空白:
```text
replaceAll(prop("文本"), "\\s+", "")
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`lower()`](/notion-formulas/functions/lower)
* [`upper()`](/notion-formulas/functions/upper)
---
# replace (https://21notion.com/notion-formulas/functions/replace)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------- |
| 函数 | [`replace()`](/notion-formulas/functions/replace) |
| 分类 | 文本 |
| 语法 | `replace(text, pattern, replacement)` |
| 作用 | 替换第一个匹配项 |
| 返回值 | Text |

## 示例与说明
[`replace()`](/notion-formulas/functions/replace) 只替换第一个匹配项:
```text
replace("A-B-C", "-", "/")
```
[`replaceAll()`](/notion-formulas/functions/replace-all) 替换全部匹配项:
```text
replaceAll("A-B-C", "-", "/")
```
去掉所有空白:
```text
replaceAll(prop("文本"), "\\s+", "")
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`upper()`](/notion-formulas/functions/upper)
---
# reverse (https://21notion.com/notion-formulas/functions/reverse)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------- |
| 函数 | [`reverse()`](/notion-formulas/functions/reverse) |
| 分类 | 列表 |
| 语法 | `reverse(list)` |
| 作用 | 反转列表 |
| 返回值 | List |

## 示例与说明
```text
prop("分数列表").sort()
```
```text
prop("分数列表").sort().reverse()
```
对于页面列表,排序前通常需要先 [`map()`](/notion-formulas/functions/map) 出可排序字段。
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`map()`](/notion-formulas/functions/map)
---
# round (https://21notion.com/notion-formulas/functions/round)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`round()`](/notion-formulas/functions/round) |
| 分类 | 数字与数学 |
| 语法 | `round(number, places?)` |
| 作用 | 四舍五入 |
| 返回值 | Number |

## 示例与说明
```text
round(3.14159, 2)
```
```text
ceil(prop("页数") / prop("每批页数"))
```
```text
floor(prop("完成率") * 10) / 10
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`ceil()`](/notion-formulas/functions/ceil)
* [`floor()`](/notion-formulas/functions/floor)
---
# sign (https://21notion.com/notion-formulas/functions/sign)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`sign()`](/notion-formulas/functions/sign) |
| 分类 | 数字与数学 |
| 语法 | `sign(number)` |
| 作用 | 数字符号 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# slice (https://21notion.com/notion-formulas/functions/slice)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`slice()`](/notion-formulas/functions/slice) |
| 分类 | 列表 |
| 语法 | `slice(list, start, end?)` |
| 作用 | 截取列表 |
| 返回值 | List |

## 示例与说明
```text
prop("标签").slice(0, 3)
```
返回前三个标签。
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`reverse()`](/notion-formulas/functions/reverse)
---
# some (https://21notion.com/notion-formulas/functions/some)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`some()`](/notion-formulas/functions/some) |
| 分类 | 列表 |
| 语法 | `some(list, condition)` |
| 作用 | 是否至少一个元素符合条件 |
| 返回值 | Boolean |

## 示例与说明
至少一个任务逾期:
```text
prop("任务").some(not(empty(current.prop("截止日期"))) and current.prop("截止日期") < today() and current.prop("状态") != "已完成")
```
所有任务都完成:
```text
prop("任务").every(current.prop("状态") == "已完成")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`empty()`](/notion-formulas/functions/empty)
* [`today()`](/notion-formulas/functions/today)
* [`every()`](/notion-formulas/functions/every)
---
# sort (https://21notion.com/notion-formulas/functions/sort)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`sort()`](/notion-formulas/functions/sort) |
| 分类 | 列表 |
| 语法 | `sort(list)` |
| 作用 | 排序 |
| 返回值 | List |

## 示例与说明
```text
prop("分数列表").sort()
```
```text
prop("分数列表").sort().reverse()
```
对于页面列表,排序前通常需要先 [`map()`](/notion-formulas/functions/map) 出可排序字段。
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`reverse()`](/notion-formulas/functions/reverse)
* [`map()`](/notion-formulas/functions/map)
---
# splice (https://21notion.com/notion-formulas/functions/splice)
## 速查
| 项目 | 内容 |
| ------ | ----------------------------------------------------------------------------------------------- |
| 函数 | [`splice()`](/notion-formulas/functions/splice) |
| 分类 | 最新参考 |
| 语法 | `splice(list, start, deleteCount?, ...items)` |
| 作用 | 删除或插入列表元素,返回新列表 |
| 推荐替代方案 | [`slice()`](/notion-formulas/functions/slice) + [`concat()`](/notion-formulas/functions/concat) |

## 示例与说明
```text
splice(["A", "B", "C"], 1, 1)
```
结果示例:`["A", "C"]`。
插入元素:
```text
splice(["A", "C"], 1, 0, "B")
```
结果示例:`["A", "B", "C"]`。
替代写法:
```text
concat(slice(["A", "B", "C"], 0, 1), slice(["A", "B", "C"], 2))
```
***
## 相关函数
* [`padStart()`](/notion-formulas/functions/pad-start)
* [`padEnd()`](/notion-formulas/functions/pad-end)
* [`count()`](/notion-formulas/functions/count)
* [`formatNumber()`](/notion-formulas/functions/format-number)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
---
# split (https://21notion.com/notion-formulas/functions/split)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`split()`](/notion-formulas/functions/split) |
| 分类 | 列表 |
| 语法 | `split(text, separator)` |
| 作用 | 文本拆成列表 |
| 返回值 | List |

## 示例与说明
```text
prop("标签").join("、")
```
```text
split(prop("关键词"), ",")
```
清洗逗号分隔标签:
```text
split(prop("关键词"), ",").map(current.trim()).unique().join("、")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`join()`](/notion-formulas/functions/join)
* [`map()`](/notion-formulas/functions/map)
* [`trim()`](/notion-formulas/functions/trim)
* [`unique()`](/notion-formulas/functions/unique)
---
# sqrt (https://21notion.com/notion-formulas/functions/sqrt)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`sqrt()`](/notion-formulas/functions/sqrt) |
| 分类 | 数字与数学 |
| 语法 | `sqrt(number)` |
| 作用 | 平方根 |
| 返回值 | Number |

## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# style (https://21notion.com/notion-formulas/functions/style)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`style()`](/notion-formulas/functions/style) |
| 分类 | 文本 |
| 语法 | `style(text, ...styles)` |
| 作用 | 添加文本样式 |
| 返回值 | Text |

## 示例与说明
常见样式参数:
* `"b"`:粗体
* `"i"`:斜体
* `"u"`:下划线
* `"s"`:删除线
* `"c"`:代码样式
* `"red"`、`"blue"`、`"green"`、`"yellow"`、`"orange"`、`"purple"`、`"pink"`、`"brown"`、`"gray"`
* `"red_background"`、`"yellow_background"` 等背景色
```text
style("重要", "b", "red")
```
```text
ifs(
prop("状态") == "已完成", style("已完成", "b", "green"),
prop("状态") == "进行中", style("进行中", "b", "blue"),
style("未开始", "gray")
)
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`ifs()`](/notion-formulas/functions/ifs)
---
# substring (https://21notion.com/notion-formulas/functions/substring)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------------- |
| 函数 | [`substring()`](/notion-formulas/functions/substring) |
| 分类 | 文本 |
| 语法 | `substring(text, start, end?)` |
| 作用 | 截取文本 |
| 返回值 | Text |

## 示例与说明
索引从 `0` 开始,结束位置不包含在结果内。
```text
substring("Notion公式", 0, 6)
```
```text
substring(prop("手机号"), length(prop("手机号")) - 4)
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`upper()`](/notion-formulas/functions/upper)
---
# subtract (https://21notion.com/notion-formulas/functions/subtract)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------------- |
| 函数 | [`subtract()`](/notion-formulas/functions/subtract) |
| 分类 | 数字与数学 |
| 语法 | `subtract(a, b)` |
| 作用 | 相减 |
| 返回值 | Number |

## 示例与说明
以下函数通常可以用运算符替代:
```text
add(1, 2)
```
```text
1 + 2
```
```text
subtract(prop("预算"), prop("支出"))
```
```text
prop("预算") - prop("支出")
```
建议:简单公式用运算符,嵌套函数或需要统一风格时再使用函数。
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`abs()`](/notion-formulas/functions/abs)
---
# sum (https://21notion.com/notion-formulas/functions/sum)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------- |
| 函数 | [`sum()`](/notion-formulas/functions/sum) |
| 分类 | 数字与数学 |
| 语法 | `sum(values...)` |
| 作用 | 求和 |
| 返回值 | Number |

## 示例与说明
```text
sum(prop("收入"), prop("奖金"), prop("补贴"))
```
```text
mean(prop("语文"), prop("数学"), prop("英语"))
```
对关联任务求和:
```text
prop("任务").map(current.prop("工时")).sum()
```
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
* [`mean()`](/notion-formulas/functions/mean)
* [`map()`](/notion-formulas/functions/map)
---
# test (https://21notion.com/notion-formulas/functions/test)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`test()`](/notion-formulas/functions/test) |
| 分类 | 文本 |
| 语法 | `test(text, regex)` |
| 作用 | 正则测试 |
| 返回值 | Boolean |

## 示例与说明
```text
test(prop("邮箱"), "^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$")
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
---
# 文本函数 (https://21notion.com/notion-formulas/functions/text)
## 文本
| 函数 | 作用 | 返回值或替代方案 |
| -------------------------------------------------------- | ------------ | -------- |
| [`length()`](/notion-formulas/functions/length) | 文本字符数或列表元素数 | Number |
| [`substring()`](/notion-formulas/functions/substring) | 截取文本 | Text |
| [`contains()`](/notion-formulas/functions/contains) | 判断文本是否包含指定内容 | Boolean |
| [`replace()`](/notion-formulas/functions/replace) | 替换第一个匹配项 | Text |
| [`replaceAll()`](/notion-formulas/functions/replace-all) | 替换所有匹配项 | Text |
| [`lower()`](/notion-formulas/functions/lower) | 转小写 | Text |
| [`upper()`](/notion-formulas/functions/upper) | 转大写 | Text |
| [`repeat()`](/notion-formulas/functions/repeat) | 重复文本 | Text |
| [`trim()`](/notion-formulas/functions/trim) | 去除文本首尾空白 | Text |
| [`link()`](/notion-formulas/functions/link) | 生成可点击链接 | Text |
| [`style()`](/notion-formulas/functions/style) | 添加文本样式 | Text |
| [`unstyle()`](/notion-formulas/functions/unstyle) | 移除文本样式 | Text |
| [`format()`](/notion-formulas/functions/format) | 转为文本 | Text |
| [`test()`](/notion-formulas/functions/test) | 正则测试 | Boolean |
| [`match()`](/notion-formulas/functions/match) | 正则匹配,返回所有匹配项 | List |
---
# timestamp (https://21notion.com/notion-formulas/functions/timestamp)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------------- |
| 函数 | [`timestamp()`](/notion-formulas/functions/timestamp) |
| 分类 | 日期与时间 |
| 语法 | `timestamp(date)` |
| 作用 | 转为 Unix 毫秒时间戳 |
| 返回值 | Number |

## 示例与说明
```text
timestamp(prop("日期"))
```
返回 Unix 毫秒时间戳。
```text
fromTimestamp(1714521600000)
```
注意:官方说明中,[`fromTimestamp()`](/notion-formulas/functions/from-timestamp) 不保留秒和毫秒。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`fromTimestamp()`](/notion-formulas/functions/from-timestamp)
---
# toNumber (https://21notion.com/notion-formulas/functions/to-number)
## 速查
| 项目 | 内容 |
| --- | ---------------------------------------------------- |
| 函数 | [`toNumber()`](/notion-formulas/functions/to-number) |
| 分类 | 数字与数学 |
| 语法 | `toNumber(value)` |
| 作用 | 转为数字 |
| 返回值 | Number |

## 示例与说明
```text
toNumber(prop("文本金额"))
```
复选框转数字:
```text
toNumber(prop("完成"))
```
`true` 通常转为 `1`,`false` 通常转为 `0`。
***
## 相关函数
* [`add()`](/notion-formulas/functions/add)
* [`subtract()`](/notion-formulas/functions/subtract)
* [`multiply()`](/notion-formulas/functions/multiply)
* [`divide()`](/notion-formulas/functions/divide)
* [`mod()`](/notion-formulas/functions/mod)
* [`pow()`](/notion-formulas/functions/pow)
---
# today (https://21notion.com/notion-formulas/functions/today)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`today()`](/notion-formulas/functions/today) |
| 分类 | 日期与时间 |
| 语法 | [`today()`](/notion-formulas/functions/today) |
| 作用 | 当前日期 |
| 返回值 | Date |

## 示例与说明
```text
now()
```
返回当前日期和时间。
```text
today()
```
返回当前日期。做截止日期判断时,优先使用 [`today()`](/notion-formulas/functions/today),可以减少因具体时间导致的偏差。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`week()`](/notion-formulas/functions/week)
---
# trim (https://21notion.com/notion-formulas/functions/trim)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`trim()`](/notion-formulas/functions/trim) |
| 分类 | 文本 |
| 语法 | `trim(text)` |
| 作用 | 去除文本首尾空白 |
| 返回值 | Text |

## 示例与说明
```text
trim(prop("输入文本"))
```
适合清洗用户手动输入、表单输入、复制粘贴后的文本。
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
---
# unequal (https://21notion.com/notion-formulas/functions/unequal)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------- |
| 函数 | [`unequal()`](/notion-formulas/functions/unequal) |
| 分类 | 逻辑与判断 |
| 语法 | `unequal(value1, value2)` |
| 作用 | 判断不相等,等同于 `!=` |
| 返回值 | Boolean |

## 示例与说明
```text
equal(prop("状态"), "已完成")
```
```text
unequal(prop("负责人"), prop("创建者"))
```
在日常公式中,直接判断相等时常用运算符:
```text
prop("状态") == "已完成"
```
判断不相等时,可以直接使用 `unequal(prop("状态"), "已完成")`。
***
## 相关函数
* [`if()`](/notion-formulas/functions/if)
* [`ifs()`](/notion-formulas/functions/ifs)
* [`empty()`](/notion-formulas/functions/empty)
* [`equal()`](/notion-formulas/functions/equal)
---
# unique (https://21notion.com/notion-formulas/functions/unique)
## 速查
| 项目 | 内容 |
| --- | ----------------------------------------------- |
| 函数 | [`unique()`](/notion-formulas/functions/unique) |
| 分类 | 列表 |
| 语法 | `unique(list)` |
| 作用 | 去重 |
| 返回值 | List |

## 示例与说明
```text
prop("标签").unique()
```
去重后展示:
```text
prop("标签").unique().join("、")
```
## 相关函数
* [`at()`](/notion-formulas/functions/at)
* [`first()`](/notion-formulas/functions/first)
* [`last()`](/notion-formulas/functions/last)
* [`slice()`](/notion-formulas/functions/slice)
* [`concat()`](/notion-formulas/functions/concat)
* [`sort()`](/notion-formulas/functions/sort)
* [`join()`](/notion-formulas/functions/join)
---
# unstyle (https://21notion.com/notion-formulas/functions/unstyle)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------------- |
| 函数 | [`unstyle()`](/notion-formulas/functions/unstyle) |
| 分类 | 文本 |
| 语法 | `unstyle(text, ...styles?)` |
| 作用 | 移除文本样式 |
| 返回值 | Text |

## 示例与说明
```text
unstyle(style("重要", "b", "red"))
```
```text
unstyle(style("重要", "b", "red"), "red")
```
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
* [`style()`](/notion-formulas/functions/style)
---
# upper (https://21notion.com/notion-formulas/functions/upper)
## 速查
| 项目 | 内容 |
| --- | --------------------------------------------- |
| 函数 | [`upper()`](/notion-formulas/functions/upper) |
| 分类 | 文本 |
| 语法 | `upper(text)` |
| 作用 | 转大写 |
| 返回值 | Text |

## 示例与说明
```text
lower("NOTION")
```
```text
upper("notion")
```
主要用于英文文本归一化。
## 相关函数
* [`length()`](/notion-formulas/functions/length)
* [`substring()`](/notion-formulas/functions/substring)
* [`contains()`](/notion-formulas/functions/contains)
* [`replace()`](/notion-formulas/functions/replace)
* [`replaceAll()`](/notion-formulas/functions/replace-all)
* [`lower()`](/notion-formulas/functions/lower)
---
# week (https://21notion.com/notion-formulas/functions/week)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`week()`](/notion-formulas/functions/week) |
| 分类 | 日期与时间 |
| 语法 | `week(date)` |
| 作用 | ISO 周数 |
| 返回值 | Number |

## 示例与说明
```text
week(prop("日期"))
```
生成周报标题:
```text
"第 " + format(week(prop("日期"))) + " 周"
```
判断是否在本周:
```text
week(prop("日期")) == week(today())
```
建议:`week()` 返回 ISO 周数,适合周报、周计划和按周分组。
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`year()`](/notion-formulas/functions/year)
* [`month()`](/notion-formulas/functions/month)
---
# year (https://21notion.com/notion-formulas/functions/year)
## 速查
| 项目 | 内容 |
| --- | ------------------------------------------- |
| 函数 | [`year()`](/notion-formulas/functions/year) |
| 分类 | 日期与时间 |
| 语法 | `year(date)` |
| 作用 | 年份 |
| 返回值 | Number |

## 示例与说明
```text
year(prop("日期"))
```
```text
month(prop("日期"))
```
```text
date(prop("日期"))
```
```text
day(prop("日期"))
```
[`day()`](/notion-formulas/functions/day) 返回 `1` 到 `7`,其中 `1` 是周一,`7` 是周日。
判断周末:
```text
day(prop("日期")) >= 6
```
## 相关函数
* [`now()`](/notion-formulas/functions/now)
* [`today()`](/notion-formulas/functions/today)
* [`minute()`](/notion-formulas/functions/minute)
* [`hour()`](/notion-formulas/functions/hour)
* [`day()`](/notion-formulas/functions/day)
* [`date()`](/notion-formulas/functions/date)
* [`month()`](/notion-formulas/functions/month)