nebula(星云)——一款现代化的知识社区前台项目,使用 Vue + NuxtJS + Element-UI 实现
Go to file
2022-09-18 18:56:42 +08:00
assets Merge branch 'format' of F:\jiebang\nebula with conflicts. 2022-08-03 08:55:58 +08:00
components 🎨 接口数据结构变更 2022-08-27 16:05:43 +08:00
config 🎨 vditor 组件 cdn 切换 2022-05-24 11:07:05 +08:00
layouts ⬆️ 升级 vditor,使用 less 替换 sass 2022-05-23 12:56:16 +08:00
middleware first commit 2020-07-03 11:04:25 +08:00
pages 🎨 接口数据结构变更 2022-08-27 16:05:43 +08:00
plugins 浏览器指纹 2022-01-14 10:38:55 +08:00
server 💩 websocket 2021-03-25 21:48:05 +08:00
static Merge branch 'format' of F:\jiebang\nebula with conflicts. 2022-08-03 08:55:58 +08:00
store 🎨 接口数据结构变更 2022-08-27 16:05:43 +08:00
.dockerignore 👷 add Dockerfile 2022-09-18 16:05:51 +08:00
.editorconfig first commit 2020-06-19 17:10:44 +08:00
.gitignore first commit 2020-06-19 17:10:44 +08:00
.onedev-buildspec.yml Add .onedev-buildspec.yml 2022-09-18 10:55:27 +00:00
Dockerfile 🎨 update Dockerfile 2022-09-18 18:56:42 +08:00
environment.js 专题模块功能 2020-08-01 00:41:54 +08:00
nuxt.config.js ⬆️ 升级依赖 2021-08-12 11:35:53 +08:00
package.json ⬆️ 升级 vditor,使用 less 替换 sass 2022-05-23 12:56:16 +08:00
pm2.json 🎨 update Dockerfile 2022-09-18 18:56:42 +08:00
pm2.sh 🎨 update Dockerfile 2022-09-18 18:56:42 +08:00
README.md Update README.md 2022-08-02 08:15:00 +08:00
yarn.lock 👷 add Dockerfile 2022-09-18 16:05:51 +08:00

nebula

💡 简介

nebula[ˈnebyələ]n.星云)是一款现代化的知识社区项目,使用 Vue + NuxtJS + Element-UI 实现

forest [ˈfôrəst]n.森林)一起食用,让我们一起探索知识社区的未来。

动机

在 2019 年的某一天,受到 Hugh 的邀请, 构建一个开源嵌入式知识学习交流平台。因此就有了 nebula 这个项目。 nebula 在很多方面受到了 Symphony 的启发,并尝试着在 SymphonyB3log 思想 的基础上进一步探索。

特性

  • 内容编辑器
    • MarkdownGFM
    • emoji
    • 上传文件
      • 图片
      • 文件
      • 单独渲染 MP3 文件
      • 单独渲染视频文件
    • 剪切板处理
      • 粘贴内容处理为 Markdown
      • 粘贴图片自动重新上传
    • 数学公式LaTeX、流程图支持
    • 工具栏
      • 表情
      • 粗体
      • 斜体
      • 引用
      • 无序列表
      • 有序列表
      • 链接
      • 上传
      • 预览
      • 全屏
    • 编辑模式
      • 传统的 Markdown 分屏编辑预览
      • 保留 Markdown 标记符的即时渲染
      • 类富文本编辑器的所见即所得
  • 注册
    • 用户名
    • 邮箱
    • 验证码
  • 登录
    • 账户(用户名/邮箱)
    • 密码
    • 忘记密码
      • 邮箱
      • 邮箱验证
  • 发帖
    • 帖子类型
      • 普通帖子
    • 标题
    • 正文
      • 内容编辑器
    • 标签
      • 使用已有(选择、自动完成)或创建
      • 默认“待分类”
    • 发布后
      • 可更新
      • 可删除
  • 回帖
    • 内容编辑器
    • 回复(回复针对回帖)
  • 货币
    • 货币规则
  • 浏览贴子
    • 编辑自己的帖子
    • 发布时间/浏览数/标签
    • 分享
      • 微信
      • 分享链接(带用户标识)

报告缺陷

社区系统可能存在一些潜在的缺陷,大家如果有空的话可以帮助我们一起解决。

如果你在使用社区时发现了如下类型的问题,请回帖进行反馈,并附上 bug 截图以及操作步骤:

  • 功能性缺陷:例如发布文章失败、创建作品集失败等
  • 安全性漏洞:例如 XSS/CSRF、盗用用户信息等

功能建议

欢迎对社区提出功能特性方面的建议,我们一起讨论,如果有可能我们会尽快实现。

在提功能建议前可以先看一下 计划表 ,避免重复提议

鸣谢

  • 感谢 JetBrains 对本项目的帮助,为作者提供了开源许可版 JetBrains 全家桶

JetBrains

Build Setup

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm dev

# build for production and launch server
$ npm build
$ npm start

# generate static project
$ npm generate

项目部署

  1. 关闭本地项目后,在控制台执行 npm run build 进行打包
  2. 拷贝以下文件至服务器

build

  1. 服务器安装 Nodejs 环境
  2. 项目目录下执行 npm install
  3. 执行 npm install pm2 -g
  4. 执行 pm2 list 检查 pm2 是否安装好
  5. 执行 pm2 start npm --name nebula -- run start

For detailed explanation on how things work, check out Nuxt.js docs.