专栏文章

如何建立自己的文章系统(数据库版)

科技·工程参与者 9已保存评论 20

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
20 条
当前快照
1 份
快照标识符
@mlmkrqqh
此快照首次捕获于
2026/02/15 01:13
5 天前
此快照最后确认于
2026/02/19 01:14
13 小时前
查看原文
你是否想要一个个人博客,但是嫌 github 上的 commit 太慢了?现在,我向您提供一个文章模版,按照下面的步骤做,你就可以有一个个人博客了!

准备

  1. 注册一个 github 账号。
  2. fork 我的仓库。

开始

数据库

  1. 访问 Supabase 数据库。这是动态文章的原理,它把文章存在数据库。选择 Continue with GitHub,使用 GitHub 登录
  2. 创建组织,输入好名字后,点击 Create organization。在弹出的页面里创建项目。接着,会跳转到 https://supabase.com/dashboard/project/项目ip
  3. 左侧侧边栏点击 Authentication。在第二级侧边栏选择 Sign In / Providers,把 User Signups 里的所有选项关掉,保存。然后在第二级侧边栏选择 Users,创建用户,一定要记住你的密码,因为只有这个密码能发布、删除、创建文章。最后,复制一下用户 id
  4. 在左侧侧边栏点击 SQL Editor,输入下面代码:
SQL
-- 创建article表
CREATE TABLE article (
    id VARCHAR(8) PRIMARY KEY,
    title TEXT NOT NULL,
    created_at TIMESTAMPTZ DEFAULT NOW(),
    updated_at TIMESTAMPTZ DEFAULT NOW(),
    md TEXT,
    tag TEXT
);

-- 启用行级安全性
ALTER TABLE article ENABLE ROW LEVEL SECURITY;

-- 创建策略:允许匿名用户查询
CREATE POLICY "anon_can_select" ON article
    FOR SELECT USING (true);

-- 创建策略:允许指定用户插入
CREATE POLICY "user_can_insert" ON article
    FOR INSERT WITH CHECK (auth.uid() = '用户id');

-- 创建策略:允许指定用户更新
CREATE POLICY "user_can_update" ON article
    FOR UPDATE USING (auth.uid() = '用户id');

-- 创建策略:允许指定用户删除
CREATE POLICY "user_can_delete" ON article
    FOR DELETE USING (auth.uid() = '用户id');
运行以后,数据库就配置好了。

仓库

返回你 fork 好的仓库,编辑index.html404.html
  1. 找到第 632632632632 的两个变量。
  2. 第一个变量的前面,设置为你的项目 ip;
  3. 第二个变量设置为https://supabase.com/dashboard/project/项目ip/settings/api-keys/legacyanon public
  4. 去到 github 设置,设置一下 pages。然后,你就可以在你的用户名.github.io/article看到你的文章啦!

注意事项

  1. 不要泄露自己的 Supabace 数据库里的任何本文没有提到的秘钥!
  2. 不要用常用密码,因为密码泄露的后果很严重!
  3. 可以自定义风格,但是 script 标签的内容不能动,不然可能导致功能不全。
  4. 404.html 也要更新;一定要放在单独仓库,不然会有页面显示问题。
  5. 给我点 star!

效果预览

update 2026.2.10 修改了部分笔误

评论

20 条评论,欢迎与作者交流。

正在加载评论...