博客的几种技术路线及选择——你好,博客系列(一)

博客的几种技术路线及选择

进入我的博客阅读体验更好哦!博客文章链接:博客的几种技术路线及选择——你好,博客!系列(一)(www.lxq.icu)

什么是博客?

正如“一千个人眼中有一千个哈姆雷特”,博客对于不同的人群来说是截然不同的,想要开始使用博客,首先就需要问你自己:什么是博客?

别给博客贴上标签

初次接触markdown时别人是这样向我介绍的:“markdown是极客的文本标记语言。”我听了之后略一思索,极客是一群狂热追求技术的人,自问自己还达不到狂热一说,于是便放弃了接触markdown。然而,时隔大半年我已经抛弃了word,markdown使用得不亦乐乎。现在回想起不由地发笑,但也陷入思考——事物的标签不是绝对的,技术尤甚

不同的博客需求对应的不同选择

正因我想要搭建博客时毫无思路,所以浏览了众多关于博客技术路线的回答与文章,我发现使用博客的主要有以下三种人:

  1. 注重内容,旨在分享,对博客所涉及的Web知识和个性化追求不多的人
  2. Web学习者,正需要一个博客类型的网站项目练手,对博客技术非常感兴趣
  3. 想要有个性化的分享平台却缺少学习博客技术或搭建博客的时间与精力的人

对于第一类人,博客更像是一种服务。正如劳动有分工,程序员间也不是人人都需要掌握Web开发技术,甚至使用博客的人并不局限于程序员,也有社科人文等方面从业人员的需要。这样的人群有些已经自带了一些流量,需要的只是一个平台,博客甚至只是他们传播内容的一种形式。对于这一类人来说,一些博客站如简书或是直接使用社交平台都是比较好的选择。

对于第二类人,博客对于他们来说是一个项目、挑战,他们期待通过博客来了解网站运行流程,来深入前后端交互,来体会网站运维。对于他们来说从零搭建虽然困难不少但却有时间和学习的兴趣。然而他们苦恼的可能是选择太多,技术不熟悉等等。当然我也属于此列,我的推荐是优先选择有一定基础,技术较为熟悉的开发路线,其次可以选择基于所熟悉语言的Web框架(比如Java的Spring,Python的Django、Flask等)。除了Web框架,前端的一些框架也是少不了的(Jquery,Vue,Bootstrap),同时还有数据库(一些常用的数据库:MySQL、MongoDB等;有些Web框架自带了数据库如Django的SQLite3)。最后也可以选择最老牌的WordPress搭建(当然我不太推荐,技术太成熟和老套往往会破坏学习效果)。

对于第三类人,博客技术也许不是他们的追求,但也许在其他技术方面他们有广泛的兴趣,他们往往不满于博客大站的广告、千篇一律,想要有个性化的表现,也有一定精力去进行个性化设置选择。但如果让他们从零开始搭建博客往往代价太高,他们需要的是一种快速、免费又实用的解决方案。Hexo+Github Pages是现在来说较好的解决方案,不需要考虑数据库、域名和服务器的麻烦,但每一次的编辑操作相对要繁琐一些。同时还可以使用博客园,在博客园中安装皮肤这篇文章提供了一个个性化解决方案,虽然也要耗费一番精力,但毕竟背靠大站,同时我认为此博客主题属实不错:guangzan - 博客园

我的选择

具体到我个人,我所选择的技术路线是Django+Bootstrp+SQLite3,之所以这样选择是因为之前我开发过一个基于django的天气查询网站,已经对Django和Bootstrp有所了解。当然我也学习并尝试了使用Vue来制作博客,但最后因为我通过将typora的样式通过改写和重组织融入到博客中简化了前端页面,所有最后没有采用Vue。

博客需求

在搭建博客站前推荐大家先列出自己的需求,以此决定技术路线中一些具体分支。比如我决定舍弃Vue的原因就是在衡量了需求和目标后觉得使用Vue有些杀鸡用牛刀。

参考了很多优秀的个人博客,我总结了一个博客的需求列表:

  • 文章遍历(按发布时间倒序)
  • 文章分类(一对多)
  • 文章标签(多对多)
  • 文章摘要
  • 文章归档
    • 按发布时间归档
    • 按分类归档
  • 文章查询
    • 根据分类查找文章
    • 根据标签查找文章
    • 全文搜索
  • 文章支持markdown
    • 支持基础markdown
    • 文章支持公式表达
    • 代码高亮
  • 文章目录
  • 文章阅读量统计
  • 标签展示页(标签的词云图)
  • 站主展示页
  • 站主相关链接
  • 友链
  • 评论功能
  • 博客分页功能
  • RSS订阅
  • 域名独有
  • 服务器独有
  • 文章图片支持图床
  • SSL认证(网站支持HTTPS)
  • 多域名访问

功能需求

一个基础的博客其实只需要做到我高亮所标注的功能就可以了,但为了寥寥几项功能开发一个能搭载这些功能的平台未免有些大材小用,何不趁热打铁把博客做得更加完善呢?标注下划线的几项功能其实就是标注高亮功能的扩展和简单重复,几乎不需要额外的工作,但加上了这几项功能的博客其实就已经相对完整了。

非功能需求

非功能需求作为功能需求的补充往往是一些具体细节、性能要求及质量属性。比如我想要我的博客在文章展示上更加美观且我在写博客的时候更加容易,那么实现文章支持markdown就显得很有必要了。再比如我想要文章的可读性更棒,那么就需要增加文章目录功能。或者说我想要和读者进行互动和交流,那么是不是应该引入评论功能呢?在上述需求列表中我对非功能需求进行了加粗(当然有些也可以是功能需求),它们可以在开发中或维护时根据实际情况再选择添加与否。一个博客的质量高低很大程度取决其非功能需求。

设计约束

在需求列表中标注斜体的后几项需求我将其归类为设计约束(需要遵从的一些标准、规范),这类问题在博客上线时有些棘手但不会影响博客作为项目的开发。比如若是博客要在短时间内上线,那么可能首要考虑的问题就是域名备案了(大概需要20天),而域名备案少不了购买服务器——总之就是麻烦事一茬接一茬,很令人恼火。在此我们先不谈这一类需求,之后的文章我会就具体问题给出我的解决方案。

总结

博客是什么取决于你把博客看作是服务,项目还是分享平台,如果你决定独自开发一个博客或是不使用各大博客平台已经给定的千篇一律的博客而是追求一定程度的个性化,那么就需要你为之付出时间与精力。祝愿大家都能根据自己的实际需要找到最适合自己的博客。

你好,博客!系列文章未完待续,敬请期待。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值