🔗

自定义域名

💡
我写这篇文章的目的,是帮助大家利用 Notion 来搭建个人主页,以此创建更多样、更开放的互联网环境。
这篇文章受到最开始的目的是为了替代一个基于 Notion 的第三方服务 Super ,它允许你为自己的 Notion 公开页面自定义域名和字体,更允许你注入 JS 以此部署 Google Analytics 等等服务。
于是,我搜索到了 Fruition ,它教你在免费的情况下利用 Cloudflare 的 Worker 来实现与 Super 一样的服务。在 Fruition 的基础上,我写下这篇文章,并为大家优化了一些内容,如:字体链接改成了国内 CDN 等。
整个过程非常简单,平均大概花费 10 分钟的时间。

准备

首先,你需要:
  1. 一个你自己的域名;
  1. 一个 Cloudflare 的账户;
    1. 你可以在 https://dash.cloudflare.com/sign-up 注册一个账户;
  1. 一个你准备公开的 Notion 页面的地址;
    1.  

开始

第一步 将你的域名 DNS 由 Cloudflare 接管

我将以阿里云上购买域名为例子,进行示范。附上 官方教程
添加站点 和 选择计划
添加 DNS 解析
这一步,如果你需要绑定的域名或者子域名没有 DNS 记录,那么添加一条 A 记录,名称和指向的记录见下图。
由 Cloudflare 接管域名 DNS
结果
在一小时内,如果你在站点的概述页面看到「好消息!Cloudflare 正在保护您的站点」则说明成功。

第二步 创建 Workers 并添加路由

创建 Workers 子域
 
创建 Worker
这一步是关键,会涉及一些代码的内容。下面这个简单的小程序帮助你方便得生成需要的内容。
Custom Worker
 
如果你只需要将 notion.so 的域名换成你自己的域名,那么简单填写最上方的两个内容即可。
小程序更多的自定义内容,请看下方的 教程。
当你完成内容的填写后,点击「复制代码」即可。
教程
最简单的例子见图。
待完善。
添加路由
 
完成
现在访问你的域名,你就可以前往公开的 Notion 主页了。

缺点

自定义域名可以让你在分享主页的链接时更为美观、也可以帮助你统计页面的访问情况。
但是会造成一些问题:
  1. 其他 Notion 用户无法评论, 原因是 notion.so 域名下的登录信息是无法用在你的域名上的。
  1. 通过你的主页访问其他 Notion 页面时,显示的链接也是你的域名。 这是由于,Worker 会接管所有 notion.so 的访问,然后转到你域名上。
如果,只想要一个简单的分享链接,不在乎是否能统计页面访信息,但是又希望 Notion 的其他用户能够评论,那么链接转发的方式也许更适合你。

Thanks