前言

转眼间距离我开源这个项目已经两年了,最初是奔着学习的目的开发了这个项目,后来一直记录自己的学习笔记。随着时间的增长,发现之前写的代码简直不忍直视,于是就有了重构的想法。这个过程有些漫长,竟然用了整整四个月的业余时间,但是为了能开发出自己心目中满意的博客系统,我还是决定入坑了

分类功能

为了方便查找文章,添加了分类功能。分类支持创建私有分类和公开分类,之所以开发这个功能,是为了方便写不能公开的文章,比如你可以创建一个日记分类。私有分类下的文章只有博主自己能看到,它在前台的显示效果如下图

进入详情页可以对文章进行编辑和删除操作

标签功能

一篇文章除了分类外,还可以为其添加标签,目的同样是为了快速查找文章。唯一的不同是,一篇文章可以有多个标签,但是只能有一个分类(也可以没有分类)。

发布文章

发布文章时,文章可以选择是否允许评论以及是否推荐到首页,如果不推荐到首页,那么它只在分类和标签下显示。为了防止内容丢失,添加了文章自动保存的功能。

单页功能

有时候你可能希望能自定义一些内容,比如在导航栏添加个”关于“栏目,内容是支持HTML的,所以相当于自定义个性网页

用户

其实博客系统是没有用户管理的,只不过评论功能是基于GitHub登录的,而GitHub的鉴权token是有效期的,所以为了能让用户长时间保持登录状态,就把数据保存到了数据库,由后端生成一个新的token

评论功能

评论功能是基于GitHub登录的,鉴权后可以对文章进行留言和点赞,当留言被回复后,用户会收到一封通知邮件。这些留言可以在后台看到

控制面板

其实这是个可有可无的功能,为了查看一些全局的信息还是简单做了下,比如可以在线查看数据库版本、Node版本。

整个项目在技术选型上,前端使用了Nuxt(主要是为了考虑SSR),后端使用的express,数据库是MongoDB。这些技术入门比较简单,但是要想掌握好,也是一个无底洞

结语

以上就是3.0的所有功能,如果发现了bug,欢迎在github上提issue,我将在第一时间修复

项目地址:https://github.com/wmui/essay

以上,感谢阅读!

Essay3.0发布,基于JavaScript的前后端同构博客系统的更多相关文章

  1. vue+node+mongodb前后端分离博客系统

    感悟 历时两个多月,终于利用工作之余完成了这个项目的1.0版本,为什么要写这个项目?其实基于vuejs+nodejs构建的开源博客系统有很多,但是大多数不支持服务端渲染,也不支持动态标题,只是做到了前 ...

  2. 基于SAE+CodeIgniter3.0+管理端angularjs+前台amazeui的多用户博客系统V1.0--系统设计(一)

    开发环境: 服务器系统:CentOS-6.x web服务器:Apache-2.2.x php版本:PHP-5.3.x 开发工具:sublime text 3 ,谷歌浏览器 数据库查询工具:phpmya ...

  3. 【ASP.NET实战教程】基于ASP.NET技术下多用户博客系统全程实战开发(NNblog)

    岁末主推:牛牛老师主讲,多用户博客系统,基于ASP.NET技术,年后将带来移动业务平台项目项目目标: 打造个性品牌Blogo,定制多用户博客 为每一个博客用户提供个性化的 blogo解决方案,打造精品 ...

  4. 基于 Express + MySQL + Redis 搭建多用户博客系统

    1. 项目地址 https://github.com/caochangkui/node-express-koa2-project/tree/master/blog-express 2. 项目实现 Ex ...

  5. 构建基于Javascript的移动CMS——生成博客(二).路由

    在有了上部分的基础之后.我们就能够生成一个博客的内容--BlogPosts Detail.这样就完毕了我们这个移动CMS的差点儿基本的功能了,有了上节想必对于我们来说要获取一个文章已经不是一件难的事情 ...

  6. 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...

  7. 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些 ...

  8. 基于Microsoft Azure、ASP.NET Core和Docker的博客系统

    欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统   2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...

  9. 26种基于PHP的开源博客系统

    26种基于PHP的开源博客系统 来源:本站原创 PHP学习笔记 以下列举的PHP开源Blog系统中,除了我们熟知的WordPress之外,大多都没有使用过,其中一些已经被淘汰,或者有人还在使用.除了做 ...

随机推荐

  1. Python高级有关的题目

    1,copy模块 from copy import deepcopy dic = {} list = [] for i in range(10): dic["num"] = i i ...

  2. Django深度剖析

    启动过程 通过命令行执行 python manage.py runserver 127.0.0.1:8000 启动Django服务 manage.py模块获取到命令行参数manage.py runse ...

  3. hdu3466 Proud Merchants(01背包)

    https://vjudge.net/problem/HDU-3466 一开始想到了是个排序后的背包,但是排序的策略一直没对. 两个物品1和2,当p1+q2>p2+q1 => q1-p1& ...

  4. springboot配置双数据源 MySQL和SqlServer

    1. pom文件的驱动jar包加上去, compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8' 2. application.yml sprin ...

  5. [CSS] Useful CSS tool for Web designer and developer

    1. Color Picker (Chrome) You might know how to use color picker in Chrome, recently there is a featu ...

  6. 修改Electron的libcc(libchromiumcontent)源码,重新编译electron, 设置event.isTrusted为true

    VPN非常注意: 编译的过程需要使用VPN, 否者chromium的源代码无法下载, 后面会出现总总问题 Electron的编译环境, 推荐使用物理机: win10 64位 英文版, 为了避免后期出现 ...

  7. Netty实现的一个异步Socket代码

    本人写的一个使用Netty实现的一个异步Socket代码 package test.core.nio; import com.google.common.util.concurrent.ThreadF ...

  8. 抽奖 mark

    https://blog.csdn.net/Oversdownload/article/details/77454006?utm_source=blogxgwz5

  9. Introducing Apache Spark Datasets(中英双语)

    文章标题 Introducing Apache Spark Datasets 作者介绍 Michael Armbrust, Wenchen Fan, Reynold Xin and Matei Zah ...

  10. 安卓自己定义View进阶-Path基本操作

    版权声明:本人全部文章均採用 [知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议] 转载前请保证理解此协议,原文出处 :http://www.gcssloop.com/#blog htt ...