简介
基于Notion,更简单快捷的建站方式
工具
Github
Vercel
CloudFlare
Notion、Wolai、印象笔记、WIX、Baklib、语雀等软件虽然也可以生成公网访问链接,但是不能自定义域名,页面设计也没有很高的自由度,所以不属于本篇介绍内容,有兴趣的人可以自己去了解相关内容。本文建立在你已经拥有一个Github账户的基础上,如果你还没有GitHub仓库,请参见 我的小站 进行注册。
方法一:transitive-bullshit方式✔️实现方法二:simple.ink 工具方法三:GitHub域名重定向方法四:cloudflare中works脚本框架(推荐)👉需求:在不会代码的前提下免费搭建一个自定义域名的主页✔️实现方法四 tangly1024的方法(推荐)
方法一:transitive-bullshit方式
✔️实现
1、抓取 GitHub库,部署到自己的仓库(点击左边三角展开)👋
点击 GitHub仓库 进行抓取,右上角的 Fork 添加到自己的仓库,不建议大家改仓库的名字,因为据作者本身的配置某些地方可能是联系着这个长长的名字的,当然我没有试过改。

1.1、社交媒体账号
这里有一点要注意,推特 、等联系方式,直接输入用户名,因为它本身自带网址前半部分,也可以修改成B站之类的。

这里有一些功能是可选的,比如👇的图片模糊处理功能,这个功能可以渲染你的页面图片使得打开的时候有一种毛玻璃的感觉,但是这并不是加载慢;包括上边栏上下滑动的时候会有毛玻璃实时出现。
- 其原理是加载出来图片后提取图片经由另一个程式进行模糊处理,这其实是把牺牲了加载速度
- 本来经由Vercel部署的网页就因为服务器在国外和GFW的原因加载很慢,经由这个功能后就会更慢

1.2、修改图标和右上角GitHub跳转
2、部署到Vercel(点击左边三角展开)👋
用自己的GitHub账户登陆之后,就会看到一个导入界面,选择配置好的这个库。

在这里可以改名字,虽然我没改,但是最后的域名是基于这个名字生成的,如果改的容易记住也挺好的;这里全部默认,不需要改动,直接 Deploy。

❗️在这里大家最有可能遇到一个问题就是,等了几分钟,最后出现一个红色标识的!,我大部分都卡在了8m或者6m,忘了截图,一直找不到解决办法
2.1、问题及解决
最后尝试新建一个页面导入成功了。
- 推测是因为我 之前的页面 包含的东西太多了,而且有的块的名字还重复了(这是一个重要的点,我检查代码的时候发现重复的标题会导入错误)。
- 如果大家也遇到这个问题,可以新建一个空页面然后打开 Share to Web 。
- 如果大家在命名完页面标题后,发现分享 rootNotionPageId前面和“/”之间有别的字符,可以不用管他,不用输入。
部署完成后就是这个样子了
3、域名绑定(点击左边三角展开)👋
方法一:Vercel域名绑定
Vercel是提供了两种绑定域名的方式
- 一种是将自己的域名提供商的DNS解析服务器改成Vercel提供的
🌟这里不推荐这么做,Vercel本身也不推荐;这样会使得解析变慢,原因同上边,而且他也不是一个很好的域名管理平台,也没有汉化。

- 另一种是不改变DNS解析服务器,在域名解析服务器上添加记录为CHAME模式的记录
🌟Value是值,指向的是Vercel解析
🌟Name是名称车子,如果想设置二级域名可填二级域名的内容,如果不想输入@就可。
🌟CHAME是一种运行模式,除此之外还有A(IPV4地址)、AAAA(IPV6地址)等

- 在CloudFlare上完成记录添加
🌟不同于之前选择的A模式,A模式会直接在GutHub仓库生成一个CHAME文件,CHAME模式个是指向作用。切记把代理状态关掉!!!

4、更新Notion内容(点击左边三角展开)👋
要注意,如果你在Notion中增减内容的话,这个页面是不会随之改变的,必须更新 Vercel 配置才行

在右上角头像处打开 Dashboard(仪表盘) 选择自己的项目进入中国界面,在上侧栏选择 Deployments

在最上侧记录最右边的三个点,选择 Redeploy(重新部署) ,这里记得要打上下面👇的 √,这样会减少部署的难度,是在已有的基础上更新,而不是全推到重来!

🌟就算更新失败了,之前已经成功我网站也会保留下来。
- 如果失败的话,就试试不打✓的完全部署
4.1、Notion中的联系方式
如果想要,通过微文字呼叫邮件或电话号码,地址的超链接来实现,点击就可以跳转到相应APP,可以通过一些HTML的语法来实现。
- 电子邮件: mailto:电子邮件地址

方法二:simple.ink 工具
❗️这个不是一个很推荐的方法,虽然也有页面美化功能和深色模式,但是不能自定义域名。
以及如果你页面内部还有其他的页面,免费方案只允许在添加银行卡信息想前提下访问五个。
方法三:GitHub域名重定向
- 在GitHub新建一个仓库库,名字随意
- 新建一个index.html文件,输入以下代码
- 参考 GitHub其他仓库绑定域名 的办法在CloudFlare上添加域名记录;注意选择 CNAME 模式。
❗️这个方法有不完美的地方,首先它没有网页渲染美化。
它本质上是一个域名重定向,输入自己的域名之后还是跳转到原来的长域名,这点在搜索框也看得出来,也不能更改logo等。
🌟这种方法是比较推荐的,时间、精力成本都很低,更改同步也方便,几乎不会出现问题,除了样式之外其他自由度都很高。
- ❗️如果出现定向失败的问题,一般是由于仓库的问题,GitHub只给和username一样的仓库设置托管。
🔆这个时候可以参考上文notion建站在Vercel托管的例子,将这个仓库导入Vercel,因为仓库只是一个跳转,所以很快就会部署完成,后期更新也很方便。
方法四:cloudflare中works脚本框架(推荐)
利用notion免费搭建自定义域名主页该方案来自Frution
10分钟即可获取拥有自己域名的主页!
代码参考(点击左边三角展开)
自定义字体和CSS版本(和上面相同,只是界面自定义了一下背景等内容,按需选取)
👉需求:在不会代码的前提下免费搭建一个自定义域名的主页
✔️实现
准备(点击左边三角展开):
- 将自己的notion主页设置为share状态
- 一个自己的域名(如果你还没有,并且想免费注册一个,请点击👉)
开始配置CloudFlare账户(点击左边三角展开):
- 输入你的自定义域名

- 选择免费计划

- 如果你没有导入任何A记录,请为域名添加一个A记录,地址可填8.8.8.8

- 复制以下两个DNS名称服务器

- 去你的域名提供商的后台,在域名设置中的nameservers处添加这两个名称服务器,保存。
- 等待一分钟,返回Cloudflare页面检查名称服务器
- 选择灵活的加密模式(这样访问你的网站就会拥有一把小锁了!)

- 始终使用 HTTPS,自动 HTTPS 重写

- 完成以上设置后,cloudflare成功接管你的dns

- 点击Workers,单击管理Workers,为你的workers选择一个任意的子域名(点击创建),直接用系统默认的就行。单机设置并确认。


- 选择免费计划

- 验证邮箱。返回workers页面,点击蓝色的创建Worker按钮

- 好了,将左边的脚本区域清空。

- 准备好代码(这里有方便你一键输出代码的小程序)
- 将你的域名填入上方Your Domain处
- 将你的notion主页链接填入Notion URL中
- 代码自动生成,点击蓝色的COPY THE CODE。代码复制成功!
- 将代码填入第14步中的脚本框。点击保存并部署。
- 保存后单击页面顶部的站点名称,转到Worker界面添加路由


- 路由输入
yourdomain.com/*
,worker选择你刚刚创建的那个

- 点击保存。完成了!
- 你现在可以访问你的域名了!
其实作为网站,最重要的还是内容,如果框架再美,没有实际的内容去填充,
也只不过是徒有其表,你自己可能都忘到天边,别人又怎么会点击进去看呢?
工具始终是工具,最重要的还是使用的人如何输出内容。
值得注意的一点:
有时有些新手朋友们,常会出现,点击域名后跳到notion的登录界面的情况。
1.通常是主页share状态未开
2.主页的标题修改,导致主页链接已经发生变化,所以访问域名会跳转到notion登录界面而不显示你想要展示的主页。
修改域名/页面(点击左边三角展开)
首先您当然可以选择删除原来的worker和DNS记录然后按照上面的步骤重新部署一次,如果你不想这样,那么请往下看
- 打开原来workers,选择快速编辑

- 修改域名为你的新域名 / 修改页面ID为你的新仓库

- 返回workers界面选择触发器修改DNS解析为你的新域名

- 在域名下配置你的DNS,详见

- 如果你要更换的域名之前被其他网站所使用,建议先删除一次在配置,不分情况下需要关闭cfdns解析,使用 仅代理模式
方法四 tangly1024的方法(推荐)
vercel
、zeabur
和vps
可以搭建动态网页、cloudflare-pages
只能搭建静态网页
- 操作
fork
仓库,直接选择部署到上面的平台- 把特定的notion模板添加到自己的notion账户
- 添加环境变量
environment variable
- 内容为
NOTION_PAGE_ID
+32位notionid
(分享页面后的?v=
之前的) - 部署
Deploy
- 页面元素内容在
blog.config.js
修改(不需要修改里面的notionid)
· 大部分文件都在blog.config.js
修改 · 对应主题的专属内容在themes
里面对应的(xx).config.js
修改 · 更新主题在<>code
右上角 Sync fork 更新