2
超轻量级博客系统
source link: https://www.oschina.net/p/beam
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Beam 是一个简单的工具,允许成员撰写帖子以在一个组织中共享,可以把它想象成一个极轻量级的内部博客,Beam 使用 Next.js 构建,并使用 PlanetScale 数据库进行存储。
其功能包括一个简单的基于 Markdown 的编辑器,带有图像预览和拖放、评论和点赞、搜索、带有黑夜模式支持的响应式布局页面,以及隐藏帖子的管理员角色。
安装依赖项
npm install
创建数据库
- 创建 PlanetScale 数据库
- 创建一个连接字符串以连接到您的数据库。选择Prisma作为格式
- 设置环境变量:
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_PROVIDER
为github
- 设置
GITHUB_ID
为客户端 ID 值 - 设置
GITHUB_SECRET
为上面生成的秘密值 - 设置
GITHUB_ALLOWED_ORG
为您的 Beam 成员设置所属的 GitHub 组织名称 - 设置
NEXTAUTH_SECRET
为随机秘密,很好的资源。
- 设置
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK