前言
80、90后最早接触的个人博客应该是QQ空间了,可以自行装扮布置,当时主要用来做个人相册,也是当年非主流重要的基地。
大二的时候在CSDN上写过两篇技术文章,也用过云笔记,最终都放弃了,主要原因是是得绑定账号,并且每次查看都要打开客户端或者浏览器等。
大三用Jekyll搭建了个人博客,用了两个月就转战Hexo了,一直持续到现在。
回过头看,收获还是蛮多的,有水文,也有熬夜写的技术文章。内容总的来说更擅长记录总结,不擅长发表感悟,也不喜欢在文章中掺杂太多废话和闲聊,希望每一句都是干货,知识点尽可能简洁、清晰。
写作过程中最令人头疼的就是文章结构如何组织,一旦写的不好就会出现“上文xxx”,“下文xxx”。好的文章还是要不断打磨修改,还要定期更新避免过时。
因为最近打算搞团队能力建设,所以梳理了下博客相关的内容,也补充了解一些没用过的博客框架,带领大家入门折腾。
为什么你需要一个Blog?
如果此前有写些东西,那么博客可以帮你发布到互联网,让更多人能够看到。并且养成良好的写作习惯,提高效率。
如果此前未写过东西,可以思考下写作能带来的益处,每一篇文章都是自己积累的财富,也是一路成长的脚印。
- 知识积累沉淀:作为程序员有太多要学习的东西了,光靠记忆效率是很低的,需要一个专门的平台来归档、管理。便于复习和回顾。
- 偶发感悟,或者有开心的事、人生大事,苦于没有平台记录和分享。
- 能力提升:专业知识、写作表达、逻辑条理。
- 倒逼自己输出:例如有用户提问或者评论,会推动自己去更新内容。
- 紧跟互联网时代:就像当年大家都玩QQ空间,你不玩就OUT了。
- 从知识获取者转变为知识创作者、贡献者。
- 打造个人品牌,行业影响力,副业创收…
- 元宇宙时代每个人都应该建设自己的一亩三分地,和装修一样,有满满的成就感。
- 组织角度:可以作为团队培训资料,减少重复工作和踩坑。
- …
坏处嘛,除了需要投入时间精力外,也想不到其他的了。
- Web1.0:用户只能查看内容
- Web2.0:用户可以贡献内容,平台所有、平台控制、平台支配,平台化
- Web3.0(元宇宙):用户贡献内容,用户所有、用户支配,去中心化
推荐阅读:2022 年了,聊聊我为什么还在写博客
可以写些什么?
博客内容可以是专业技术、美好记忆、心得感悟、晒娃撒狗粮、读书观影旅游分享、个人相册、个人音乐播放器等等。
关于技术文章,推荐发布行业通用知识,有参考价值,可供复习回顾。尽量避免记录性内容,比如环境搭建、解决问题等,很容易过时,并且难以复制。
注意个人隐私安全和公司保密协议,有些内容可以记录但是不要公开发布,例如
- 使用网名,不带真实个人信息。
- 不发布公司内部技术,例如公司特定的设计规范、配置项、命令行等。一方面不通用,另一方面可能涉及保密协议。
- 内容不带公司字样,可能会被公司爬虫检测到。
可以尝试给自己的博客做一层加密校验,给需要加密的文章做个标记或者分类
根据自己的想法划分了几个境界:
- 初出茅庐:阅读+收藏网址,参与评论和提问、长期关注他人、付费阅读、付费下载
- 小试牛刀(入门):注册博客平台账户,或者搭建了个人网站,在上面发布过文章
- 持之以恒(活跃度):个人博客有较多输出,长期维护
- 小有名气(知名度):有较多的点赞和关注,评论或者加好友互动,有人愿意为你的知识买单打赏
- 传道授业(专业度):发布过系列知识、专题、开课
- 声名远扬:出书,业内大佬
个人站点搭建方式
博客主要分为三种方式:
- 使用第三方博客平台(中心化、平台化):在三方平台创作和发布。
- 使用静态框架搭建,生成静态页面发布:本地编写Markdown,通过SSG工具转换成静态html,发布到静态网页托管服务。
- 使用动态框架搭建,自行部署平台服务,运行时请求数据库,实时生成html:在平台上创作和发布。
第三方博客平台本质也是动态框架,三方只是提供了托管服务,加了一些特色功能,并且在中间收取费用。
例如
WordPress.org
是开源的动态博客框架,WordPress.com、Bluehost、DreamHost、SiteGround等则是三方托管服务。
第三方博客平台 | 静态框架 | 动态框架 | |
---|---|---|---|
搜索引擎优化 | 便于SEO,例如百度搜索结果前排基本都是CSDN | 需要自行优化、推广 | 需要自行优化、推广 |
技术门槛 | 几乎没有 | 有一定门槛,视框架和功能而定 | 有一定门槛,视框架和功能而定 |
成本 | 部分平台需要收费 | GitHub Pages、Gitee Pages免费。自建空间需要云服务或者主机+域名费用 | 云服务或者主机+域名费用 |
编辑器 | 在线编辑 | Markdown,可以嵌入HTML | 在线富文本编辑,可以插入不同控件,所见即所得 |
数据存储 | 数据库系统,和账号绑定,有数据丢失、隐私泄漏的风险 | 文件系统,可以使用Git管理 | 数据库系统,不便于导出导入和迁移 |
可移植性 | 弱,大部分不支持导入导出 | 强,直接部署静态页面即可 | 弱,难以迁移数据到其他框架 |
主题样式 | 大多数无法选择,部分支持配置主题 | 主题丰富,可以定制布局和样式。 | 主题丰富,可以定制布局和样式。 |
环境配置 | 和账号绑定,网页在线编辑 | 新电脑需要重新配置环境 | 自建服务,部署在服务器 |
部署发布 | 在线发布,平台托管 | GitHub Pages、Gitee Pages,或者自行购买云服务或者主机 | 自行购买云服务或者主机 |
自由度 | 低,开发者只能上传内容,平台审核 | 高 | 高,除了博客之外,还可以做论坛、电商等站点 |
域名 | 使用平台子域名 | 绑定自己的域名,便于记忆和宣传 | 绑定自己的域名,便于记忆和宣传 |
代表产品 | CSDN、简书、掘金等 | Hugo、Hexo、Jekyll、Nuxt等 | WordPress、Typecho、Halo、Solo等 |
优点 | 无门槛、0成本、利于SEO | 低成本、主题丰富 | 功能丰富、扩展性、交互能力强 |
从写作方式上划分
- 本地编写Markdown。采用文件系统进行管理
- 客户端或者网页在线编辑器,富文本编辑器。采用数据库系统进行管理
老实说自从学过Markdown之后,基本就不怎么用富文本编辑器了。
富文本编辑器需要特定的软件,特定的文件格式,写作过程中还要去修改样式、排版。使用Makrdown则可以顺畅的写完,专注于内容,不拘泥于编辑器,甚至可以使用vim、txt这些普通的文本编辑器。
从发布方式上划分
- 三方提供主机服务(平台):国内平台大部分免费,国外平台大部分需要付费,免费的功能受限。一般是使用子域名,也可以绑定自定义域名。
- 购买云服务器,自行搭建环境、配置域名、管理数据,同时可以开放给其他人使用。
- 购买本地主机,自行搭建环境、配置域名、管理数据,同时可以开放给其他人使用。
- 纯静态网页托管服务:GitHub Pages、Gitee Pages,一般是子域名,也可以绑定自定义域名。
个人站点搭建流程
不同框架自建站点的流程基本相同,只是内部引擎和实现不太一样:
- 确定博客框架,下载并安装对应的环境
- 配置主题模版,有需要的话可以安装插件,修改配置和样式。
- 写作:
- 动态框架:在客户端或者网页端写作,保存在数据库中,动态请求服务端数据进行显示
- 静态框架:使用Markdown写作,保存为md文件,最终生成静态html部署
- 管理文章中引用到图片:
- 可以通过相对路径引用,静态打包一起部署
- 可以创建图床,通过url链接引用。(可以直接放在GitHub中,如果嫌图片访问慢,可以使用云服务)
- 部署发布:如果没有发布需求,只想本地看看到上一步就可以了
- 免费的静态网页托管服务:GitHub Pages、Gitee Pages。只适用于SSG
- 购买云服务器,自行部署:阿里云、腾讯云等,可以结合Docker容器部署,使用服务器公网IP。
- 本地主机服务:可以使用树莓派作为小型服务器,可以结合Docker容器部署。外网访问需要自行申请公网IP。如果没有公网IP,可以使用内网穿透服务。
- 绑定域名:
- 使用子域名:部署到GitHub Pages、Gitee Pages、WordPress.com等服务,可以直接使用它们的子域名。
- 自行购买:阿里云、腾讯云都可以购买域名,根据不同框架说明绑定域名即可。
- 如果部署在国内的主机,需要备案
域名本身不需要备案,但需要实名认证。
域名指向国内的服务器需要备案,指向国外的服务器不需要备案。
GitHub Pages是国外主机,因此不需要备案。
选择合适的工具
没有最好的,只有最合适的。
可以从以下几个纬度对比:
- 成本:第三方博客<静态框架<动态框架。主机和云服务成本较高(一年几千),建议使用免费托管服务,除非网站访问量大,需要增加带宽
- 功能和可扩展性:第三方博客<静态框架<动态框架
- 上手难度:第三方博客<自建博客
- 主题和样式:第三方博客<自建博客,看个人喜好,静态和动态框架都有大量主题,够用就行
- 维护方式:文件系统 or 数据库系统
- 写作方式、发布方式。
尽可能用熟悉的或者现成的环境,例如Node、Python、PHP等
为什么不选择第三方平台?
第三方博客相比自建博客,存在很多痛点:
- 自由度低:样式固定,无法设置个性化主题
- 需要打开客户端或者网页端写作
- 账号登录,绑定手机号
- 大量的广告插入,消息推送
- 内容受平台管控和审核,评论限制,例如不允许转发到其他平台
- 关服整改:例如博客园整改
- 存在数据丢失、泄漏的风险
- 链接跳转会有安全提示,例如即将离开CSDN、掘金页面…
- 浏览门槛:例如CSDN很多精华文章和专栏都需要购买或者关注
- 文章质量参差不齐,浪里淘金:吐槽CSDN垃圾堆。一部分是由于面向大众,非程序员社区,一部分是爬虫、转载导致很多格式错乱。
静态网站的优势
静态网站相比动态网站有几点优势:
- 利于SEO
- 运行高效:纯静态网站可以通过CDN加速,动态网站还受限于服务端处理能力
- 更加安全:难以被攻击
- 部署简单,成本低廉:使用GitHub Pages、Gitee Pages免费托管
- 本地生成,实时预览
总结
对样式没有太大要求、图省事的、不确定是否能持续产出,推荐用第三方博客平台。
有一定追求和想法,想进一步打造个人品牌,推荐自建博客。希望便捷低成本的选择静态框架,希望拥有更多功能和玩法的选择动态框架
希望专注文档和内容的选择文档和知识库管理工具
话说回来,博客内容才是关键,样式那些花里胡哨的可有可无,当然设计精美的博客总是能更吸引人眼球。
有精力的话可以运营多平台,扩大影响力,通过一键同步脚本简化操作。
平台和工具汇总
第三方博客平台
使用较简单,注册账号,在网页上编辑文章即可。
国内主流博客平台:
- 稀土掘金:如其名,文章质量较高,前端技术较多
- CSDN:用来搜Bug和解决方案比较多,好的学习文章浪里淘金,同时充斥大量广告,资本化严重
- 简书:和CSDN类似,内容相对优质一些,广告稍微少点
- 博客园:国内较早的博客平台
- 51CTO:IT技术社区
- 开源中国:国内最大的开源社区
- 思否Segmentfault:技术问答为主
- …
小众社区:
国外也有很多平台,不过可能用着不太习惯,并且访问速度受限,大部分托管需要付费等,这里不做太多介绍:
动态博客框架
自行部署平台服务和动态页面,运行时请求数据库:在平台上创作和发布。使用和第三方博客平台类似,但是自由度更高。
- WordPress.org、WordPress.org中文网:基于PHP,全球使用最广的博客系统,不仅用于博客,也用于在线业务
- Halo:基于Java的开源建站和内容管理系统(CMS),默认使用H2 Database,运行后数据会保存在
~/.halo
下 - Solo、入门文档:基于Java
- Typecho:基于PHP
- …
静态站点生成器(SSG)
开源的静态站点生成器,主要用于生成博客和文档。通过本地Markdown写作,Git版本管理,生成静态网页发布。
文档管理工具
SSG除了用作个人博客框架外,还可以做文档管理工具。不同于博客的随意性,文档管理工具更适合创作专题内容和系列文章。
- 更专注于内容创作
- 支持导出电子书
- 主题模版较少,不像博客有很多个性化的需求
本质是一样的,只是主题风格偏向文档结构:
- Hexo、Jekyll、Hugo等也有文档风格的主题,不过数量较少
- GitBook
- gitbook-cli:一个基于Node的命令行工具,用于生成静态网页,可以托管到GitPages,支持本地运行预览。相比gitbook.com更加轻量,可惜已经不再维护,重心从开源工具转向商业化产品。
- gitbook.com:一个写作平台,发布到gitbook子域名,例如
https://afauria.gitbook.io/
,优点是可以GitHub仓库同步。缺点是国内访问慢。
- Docusaurus:Facebook出品,基于React,有中文文档
- VuePress:基于Vue,有中文文档
- 默认只有一套主题,更多见社区主题、awesome-vuepress
- Docsify:不会静态生成html,而是运行时解析markdown渲染。只需要一个单页应用,对搜索引擎不太友好,有中文文档。
- MkDocs:基于Python
- 主题:默认有两套,还有一些三方的主题
- Sphinx:基于Python,官网是真的丑
- 主题画廊:包含几十套主题
- …
玩Python的感觉审美都比较传统,没有前端的玩的花
Docusaurus和VuePress配置相对复杂一些,需要懂一些Vue和React基本概念,Docsify相对更简洁易用
比较特殊的是Docsify,不属于上文提到的动态框架和静态框架,而是JS运行时解析markdown渲染,本质是一个单页应用。
- 动态框架:使用动态网页语言开发和部署,例如JSP、PHP等,在后台实时生成静态页面返回给浏览器。
- 静态工具:本地生成html静态页面,直接发布。
- JS运行时解析:发布html页面,浏览器执行JS脚本,请求文档和数据进行渲染。
静态页面不代表不能请求数据,可以通过ajax等技术去请求后端,局部刷新。
三方工具
上面提到的都是建站相关的工具,如果只想做知识归档,也可以用云笔记、云文档等。一般是客户端或者网页端在线写作,部分支持导出电子书。相比博客平台,笔记和云文档私密性较高,不会自动公开,也不会被搜索引擎索引。
这类软件大多数还添加了团队协作相关的功能、使得这些工具不那么纯粹。并且免费版功能受限,专业版都要收费。
- 看云:电子书阅读和创作平台,可以设置付费,支持导出电子书。已迁移到顶想云知识管理。
- 语雀:文档与知识库工具,写作体验好,功能丰富,包括文档、表格、笔记、待办、团队协作、项目管理等。支持导出电子书。
- 各种云笔记工具:印象笔记、有道云笔记、Notion等。
- KB、Tower、WPS、Read the Docs等在线文档、协作、知识库工具
结语
本文介绍了几种博客搭建的方式,可以明显看到个人倾向是静态框架。没有介绍具体的搭建步骤,官方文档写的更好。
我个人用的是Hexo+GitHub Pages+自定义域名,平常用Markdown写作,使用Git管理源文件,写完一键发布。
电子书使用的是GitBook,主要用来构建知识体系。
注:hexo需要新版本node,gitbook-cli只能通过旧版本node运行,因此无法共存。
使用n管理node版本:使用hexo时切换到
n node/14.17.6
,使用gitbook-cli时切换到n node/10.24.0
基本没有做推广和运营,导致曝光率不高,后续可能会同步到其他平台,提高曝光率,当然创作水平也有待提升。
TODO:
- 由于GitBook已经不再维护,计划迁移到其他知识库工具。
- 一键发布多平台脚本,参考写作助手
- 文章加密访问,权限校验
参考资料:
静态站点生成器列表:(SSG,Static Site Generator)
-
- 静态框架:Hexo、Hugo、VuePress、Jekyll
- 动态框架:WordPress、Typecho、Halo、Solo
11个最流行的静态(博客)网站生成工具:Jekyll、Octopress、Hexo、Hugo、Pelican、Middleman、Metalsmith、DocPad、Wintersmith、Cactus、HubPress
静态博客搭建工具汇总:Jekyll、Hugo、Hexo、Sphinx、MkDocs、Docsify、Nuxt、VuePress、GitBook、WordPress、Read the Docs
整理最全的博客建站工具,各种博客、创作平台、写作、博客工具合集:Halo、Hexo、Solo、PerfreeBlog、OneBlog、Tale、My Blog、My Site、Bolo、WordPress、Typecho、B3log、Hugo、DoraCMS、VuePress、VitePress、Docsify、Jekyll、Docusaurus
爆肝1个多月,严选10大热门静态博客框架:Solo、Pelican、Hexo、Jekyll、Octopress、Hugo、VuePress、GitBook、Docsify、WordPress.org
写博客的网站有哪些,10个最佳博客网站介绍?:WordPress.org、Wix.com、Joomla.com、WordPress.com、Medium.com、Ghost.com、Squarespace.com、Weebly.com、Blogger.com、Tumblr.com
-
- 自托管博客平台:WordPress.org、Drupal、Ghost、Joomla
- 三方托管博客平台:WordPress.com、Blogger、Medium、HubSpot CMS、Wix、Squarespace、Weebly、Typepad、LiveJournal、Tumblr、Instagram
2022年5大免费博客平台建站工具:Wix、WordPress.com、SquareSpace、SITE123、Webnode
-
- CMS Hub 提供丰富的功能
- WordPress丰富的主题和强大的插件
- Squarespace设计、视觉精美
- 快速设置的 Wix
- Weebly 易于使用
- 用于定制的工艺 CMS
- Contently 用于企业内容营销
- Joomla 社区建设
- Drupal 的灵活性
- Write.as隐私
- 简单Blogger
- 多媒体 Tumblr