从0到有-如何搭建个人博客
来源:互联网 发布:hash源码 编辑:程序博客网 时间:2024/05/19 23:11
初衷: 搭建一片属于自己的天地,然后开始默默耕耘。
个人博客是一个能够让人写写画画的地方,记录生活中偶然遇见的一件趣事、有感而发时的胡言乱语、忧郁烦躁时的倾诉抱怨又或是分享自己的对于世界的看法。而写博客的过程是一个客观的、全面的、独立思考的过程,我们在写博客的过程中思考遇到的各种事、各种人,然后让自身得到成长。
对于技术人员程序员来说,拥有自己的技术博客又是尤其重要。写一篇技术博客就是详细的记录“发现-思考-解决”一个自己碰到的技术难点的过程。写技术博客拥有很多的好处:
- 让自己可以对某一技术点得到全面、深入的掌握
- 记录自己的成长过程,审视来路获得成长
- 通过记录分享让后来者少踩一些没有必要的坑
综上,其实很早之前就想搭建自己的个人博客 ,但是对于一个拖延症病入膏肓的人来说,终于还是等到现在才着手来做。
其实有很多第三方的博客系统可以直接使用,像博客园、简书等。其中简书支持md语法,界面也算简洁漂亮,注册账号后即可开始使用,确实有着不错的体验。但是,个人博客要寄存在第三方站点,一是一定会有很多的限制,二是多少让人感觉有些不爽。而对于程序员来说,就更加倾向于自己动手搭建博客了。所以第三方博客系统被pass掉,那么如何搭建真正的个人博客呢。
博客系统选择
想要自己搭建博客系统,主流的方法有两种。
- 自己购买域名、购买虚拟主机作为网站服务器,使用wordpress快速建站系统来搭建个人博客网站。
- 使用Github Pages作为免费服务器,Jekyll或者Hexo作为静态网页生成器搭建博客网站。
第一种方法中的域名和虚拟主机都是要收费的,并且私人域名还要通过审核。而第二种方法只要求有github账号就可以了。不仅完全免费,且采用方法二搭建静态博客网站,拥有诸多优势:
- 不用配置服务器
- 不用数据库
- 支持markdown方式书写
- 此外,还可以享受github的版本控制功能
所以我选择了Github+静态网站生成器的方式搭建个人博客。
什么是Github Pages
如果你使用过git,那就一定听说过Github,被称为全球最大的同性交友网站,很多著名的开源软件项目都托管在上面。
而Github Pages是github推出的一项功能。Github Pages被设计为专门用来托管由用户编写的静态网站。简单的说,你在本地使用html+css+js写了一个可以用本地浏览器打开的网页。然后你把网页的源码上传到你的Github代码仓库,gihub就会自动生成并托管整个网站,别人就可以访问你的网页了。
此时的Github就充当了免费服务器的功能。
什么是静态网站生成器(Jekyll vs Hexo)
hexo和jekyll一样都是静态网站生成工具。
顾名思义,他们的工作就是生成一个静态网站的源码。比如说把你用md语法写的md格式的文章,他们会自动的把它转化为可以在浏览器展示的html文件。
hexo是使用node js开发的,jekyll则是用ruby开发。由于两者的功能是一样的,而我又对js比较熟悉,自然选择了Hexo。其实使用这两个工具你并不需要懂ruby或js,他们的官网都有完善的使用说明,并不需要实际编程。并且两者都有非常多开箱即用的主题,只需要简单的几条命令便可以搭建出一个漂亮的博客。但是如果你有自定义主题的需求,那就最好在你熟悉的语言环境下了。鉴于Hexo越来越火,所以我还是推荐使用Hexo。
现在搭建博客的大体步骤就就很清晰了:
你先在本地通过Hexo生成静态网页源码,然后上传到github,由github生成并托管整个网站。
实例操作
至于使用Github+Hexo搭建博客的具体步骤,本来我是想写一篇手把手教学的。但是网上这些文章实在是太多了。一来进行重复工作毫无意义,二来我对于是不是能比他们写的更清晰详细也没有把握。
所以在下面放上两篇使用Github+Hexo搭建博客的详细教程供大家学习!
- 史上最详细的Hexo博客搭建图文教程
- 从0到有-如何搭建个人博客
- 如何搭建个人博客
- 如何搭建个人博客?
- 如何发布新文章到hexo搭建的个人博客
- 如何发布新文章到hexo搭建的个人博客
- 如何搭建个人独立博客
- 如何搭建个人独立博客
- 如何搭建个人独立博客?
- 如何搭建一个个人博客
- 从0开始搭建自己的个人网站教程(三)如何把代码部署到虚拟主机
- 从“0”开始搭建个人博客(4)——补充
- 从零搭建个人博客(2)-博客UI搭建
- 自己动手搭建个人博客到优化
- 从零开始到搭建hexo个人博客
- Hexo个人博客从零开始到搭建完整
- 如何搭建自己的个人博客网站
- 如何搭建个人博客网站(Mac)
- 如何在github上搭建个人博客
- zoj1076Gene Assembly
- 计算机视觉学习步骤
- 数据库隔离级别
- Java 线程池
- 上传excel+验证是否excel+解析+校验数据
- 从0到有-如何搭建个人博客
- MySQL表的增删改查
- php-fpm进程数优化
- pyDash:一个基于 web 的 Linux 性能监测工具
- 桟的链式存储结构
- 机器学习若干问题物理意义——信息熵
- iPython/Jupyter交互环境
- LTspice introduction
- Python笔记:面向对象,类