Beam超轻量级博客系统

联合创作 · 2023-10-02 13:33

Beam 是一个简单的工具,允许成员撰写帖子以在一个组织中共享,可以把它想象成一个极轻量级的内部博客,Beam 使用 Next.js 构建,并使用 PlanetScale 数据库进行存储。


其功能包括一个简单的基于 Markdown 的编辑器,带有图像预览和拖放、评论和点赞、搜索、带有黑夜模式支持的响应式布局页面,以及隐藏帖子的管理员角色。



设置


安装依赖项




npm install


创建数据库





cp .env.example .env



  • 使用来自 PlanetScale 的连接字符串打开.env并设置变量DATABASE_URL

  • 创建数据库架构:




cp .env.example .env


配置身份验证


默认情况下,Beam 使用 GitHub 进行身份验证,但如果您愿意,也可以使用 Okta 。



  • 在 GitHub 上创建 OAuth 应用程序注意,必须创建一个单独的应用程序以供生产使用

    • 转到开发人员设置

    • 单击新建 OAuth 应用程序

    • 对于回调 URL,输入http://localhost:3000/api/auth/callback/github

    • 创建应用程序后,单击生成新的客户端密码


  • 在里面设置环境变量.env

    • 设置AUTH_PROVIDERgithub

    • 设置GITHUB_ID为客户端 ID 值

    • 设置GITHUB_SECRET为上面生成的秘密值

    • 设置GITHUB_ALLOWED_ORG为您的 Beam 成员设置所属的 GitHub 组织名称

    • 设置NEXTAUTH_SECRET为随机秘密,很好的资源。


浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报