### 前言
Essay新版本终于肝完了,这是我17年写的一个项目,本来都不打算更新了,只是最近在使用第三方平台写笔记的时候被恶心到了,想迁移文章发现也很费劲,就想着还是整一个自己喜欢的吧,于是就又捡起来了。
新版本做到了即使完全不懂技术也可以使用的简单程度,图形化配置安装,这相对于之前的版本是一次进步和尝试。
在技术上,这次也做了各种取舍,为了保证整体的写作体验和浏览体验,前端没有使用类似Vue、React这种框架,也没有使用Jquery,只引入了必要的库和一个极小的UI,使用传统方式渲染。
在数据库上选择上,使用了更为轻量的SQLite,这也是尝试了各种数据库后的折中选择。
静态资源的存储,放弃了使用CDN,转而使用最基础的本地存储。
可以说这次更新,除了必要的开发依赖,做到了尽可能不依赖第三方服务。本次更新完成后,我也把散落在各个平台的笔记全部迁移过来了。
### 安装步骤
安装前请确保本地的`Node`版本大于16,本机已安装`sqlite`
```bash
# 下载项目
git clone https://github.com/wmui/essay.git
# 安装依赖
yarn install # or npm install
# 启动项目
npm run start
```
项目启动后,访问`http://127.0.0.1:7001/install`,进入安装界面:

点击下一步,设置管理员密码:

点击完成设置,安装就完成了,超简单

### 开始写作

极致的markdown写作体验,在功能设计上,只提供了必要选项。
可以把重要文章置顶,同时可以选择在导航栏显示文章,这样文章就相当于单页了,使用markdown设计出不同的展示页面,比如“关于我们”。
草稿箱的设计不仅用于放草稿,之前的版本我有设计公开分类和私有分类功能,这次全部割掉了,用草稿箱代替私有文章。
标题输入框也被我割掉了,会自动读取内容的第一个`h1 - h6`标签作为标题,为的是沉浸式写作体验。
文章提供自动保存功能,在写作过程中无需担心内容丢失。
### 功能说明
这次更新相比于之前的版本,阉割掉了很多功能,可以说越更新功能越少,但已有的功能也相对的灵活了很多。整个设计一共就三张表,后面也不会加了,单用户博客,后面也不会改成多用户。
没有前后台的设计,管理员和游客看到的页面是一样的,编辑和删除在文章详情页完成。

评论功能也去掉了,加了一个留言板。

必要的修改项统一放到设置里面

### 结语
这个项目一直是作为技术实践的,因为功能简单,所以代码阅读和重构都很简单。如果这个项目对大家学习有帮助,或者只是单纯的对使用到的技术感兴趣,希望能点个小小star。
github: <https://github.com/wmui/essay>
预览:<https://ppx.link>
以上,感谢阅读!