Skip to content
/ Nboat2 Public

The newest version of Neboer's blog. Neboer's blog isn't only about technique!

Notifications You must be signed in to change notification settings

Neboer/Nboat2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NBoat2

Nboat2是Nboat的重置版。重新用熟悉的语言和框架实现了Nboat并把一直希望加入的新功能加入了。

部署说明

部署nboat2非常简单,只需要修改一下主页图片的地址和libs_maker里对应库的地址就可以了

存储结构

数据库的模型可以在database model里找到。目前计划是存markdown编译好的HTML(在修改和创建的时候就做好) 目前尚不确定应该在哪一层做到这一点。数据库不负责转换HTML,调用者要转换好然后再把编译好的HTML作为 一个属性传入数据库。

开发笔记

  • express 5看起来挺香的,可惜截止到这个提交,express5还只停留在5.0.0-alpha.8的版本,没有正式版放出来, 依赖库肯定也支持的更慢,这其实也是开源世界的一个特点吧。因此这个博客将在很长一段时间内都使用目前的这些框架, 确保各个模块之间协调工作,不会产生任何问题

  • 删去一个主题博客中的一篇小博文的时候,会造成小博文index的断档,这个问题其实并不影响正常的博客浏览。 因为是这样,用户访问大博文里的小文章内容的时候,数据库也要返回整个大博文对象。 此时只需要定位到前后博文的index就可以把这两个作为参数传递给视图了,同时也可以把所有博文的index都变成列表, 传给视图渲染器,视图渲染器会根据这个列表来渲染一个pagination分页器,并不影响实际浏览。

    这样做的优势是非常明显的,不需要大量修改数据库里的index,同时也保持了博客url的一致性。 但是这样的缺点就是删除博文可以迅速反映在url index列表的变化上,我不在乎这个。

  • 后端设计中间件的时候遇到了问题,这主要是源自于我菜(自我承认),随着我逐渐掌握express middleware的用法, 开发进程会越来越顺利的。

  • 标题的渲染

    markdown支持h1作为标题,这和title属性可能会形成冲突。 博客为了避免标题不一致而产生问题,我们规定:

    • 在非主题博文的环境中,博客的正文内容里不应该包含“h1”级别标题,如果包含了标题也会在上传过程中被前端代码过滤。
    • 在主题博文中,博客的正文应该包含h1标题,渲染时,博文的大标题会一直在上方显示,而博文的小标题则作为博文的内容的一部分显示在下方。
  • 分页

    分页是一个很严重的问题。这里用到的两个分页,一个是大博文内部分页,一个是blog list的分页。 分页是由分页渲染器制作的,用户看到的、访问的页面总是从1开始,但是博文内部等却总是从0开始。

About

The newest version of Neboer's blog. Neboer's blog isn't only about technique!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published