如何搭建一个像本站一样的静态博客


鉴于不想让本博客变得过于扯淡,写点比较靠谱的(大多数信息来自各种工具的官网文档)。

概述(如果只想知道“怎么做”可以略过)

以下内容假设读者对于静态网站搭建博客没有任何了解。

  • 什么是“静态网站搭建的博客”

    当然就是这个博客所在的服务器所提供的网页都是static的,一成不变的。它不会分析是谁在请求这个网页,所有人请求的结果都是一样的,服务器不会处理数据,当然也就是static(静态)的。< !--more-->
  • 静态网站的服务器从哪里来

    不同于新浪博客或者CSDN,简书之类的博客平台,那些网站关心的是博主上传的文字,而最终读者请求到的网页是博主无法控制的,也许是因为,对于自己不会编写网页的人来说,自己控制最终的网页并没有意义,而大多数人大概都不会编写网页。本文介绍的方法使用[GithubPages](https://pages.github.com/)提供静态服务器(虽然貌似它对Jkeyll支持更好)
  • 如何生成我的静态网站,手写网页吗?

    当然不必要,实质上,一个blog主要需要关心的就是里面文章,所以,可以用一种方式把文章组织起来,然后再使用一些工具来把这些文章的内容自动生成一个静态的网站就可以了。
  • 自己建的博客比起新浪博客等有什么优点?

    • 显然,对于前者,博主是能100%控制博客的每一个细节的,这也就是说,前者的自由度更高。
    • 个人认为,能搭建起来一个完全由自己控制的博客已经说明了博主有一定的动手能力,至少对于电脑不可能是一个小白。
    • 这一过程本身也许对于搭建者来说,是对自己的知识和动手能力的一种检验。
    • 前者更加geek。有一个独一无二的域名不是更酷吗?

    Hexo

    如果你想要详细了解Hexo,可以去它的官网阅读它的文档,本blog不会搬运任何文档。在hexo之前,wordpress貌似是一个比较流行的博客框架。作为一个经常阅读各种大佬的博客(包括垠神的“当然我在扯淡”,各种中小学开发者大佬,云风酷壳)的辣鸡(找到这些博客原因一般是寻找某些现成的答案),一次偶然看见某博主说Hexo比起wordpress来说原生支持markdown,而且看起来这个博主的blog十分地炫酷,本辣鸡也就跟风选了Hexo。Hexo带有很多现成的工具,比如自动地把站点部署到githubpages,或者是生成sitemap。Hexo的主题也可以带有很多功能,比如通过两三行代码添加一个评论系统

    Hexo的工作方式

    hexo本身自己就带有一个服务器,可以通过hexo server这个命令启动hexo服务器,然后这个服务器会提供访问这个站点的文章的网页。显然这个网站并不处理别的信息,所以当然可能用户会想要把这些网页部署在别的服务器上,所以你可以通过hexo generate或者简写hexo g来生成一个完整的静态网站。至于怎么生成一个hexo站点,这是hexo的官方文档需要说明的事。

    GithubPages

    完全理解GithubPages的生成过程,你可能需要一些关于gitgithub的知识。但是简单来说,你只要把自己的某个仓库命名为自己的githubID,然后就可以从(你的ID).github.io以静态页面的形式访问了。比如你在这个仓库里面放了一个index.html,里面写着“hello world”,那么通过浏览器打开上面那个网址,看见的就会是”hello world”。

    Markdown

    简单来说markdown是一种标记语言。你可以在markdown里面嵌入任何html标记。但是基本上,markdown实际上是标记了一篇文档的结构,你可以以不同的方式渲染markdown,而结构正是渲染的依据。说实在的我感觉markdown比word好用多了,我现在认为,在大多数场合,Markdown或者LaTeX取代word之后,它们比word会工作地得好。简而言之你可以用markdonw写出带有标题,列表等等元素的文章,就像我正在做的。点击本节标题可以查看Markdown的wiki页面。

    域名

    显然如果你的博客地址就是xxx.github.io这并不够酷。可以从出售域名的商人那里买一个域名。我是从狗爹买的域名,国内的域名虽然解析快但是在这个神奇的国家需要备案……算了吧,我暂时还想多活两年。一般来说域名提供商会给你一个控制台,然后你可以把这个域名指向你的博客,如果是githubpages的话,在静态站点内增加一个CNAME貌似可以把xxx.github.io重定向到你的域名,然后再由这个域名重定向到静态站点(听起来好绕)。具体添加CNAME文件的方式是把这个叫做CNAME的文件添加到/source,CNAME文件里面填上你的域名,不带”www”,这样就不会造成每部署一次CNAME就被覆盖掉。说实话我不知道为什么可以这么做,别人也没说他怎么知道的。可能这个信息……已经转了N手了吧,我现在再转一遍。至于怎么把域名重定向到你的GithubPages,这一步我也不是太理解,属于照抄别人的配置。

    material这个主题的文档不完善之处

    本blog目前用的主题是hexo-material。然而如果看它的官网文档的“创建关于页面”,会感觉莫名其妙。其实这个功能详细的文档在它的Github页面的Wiki里面。

    RSS

    本BLOG并没有RSS,这其实是跟风的结果,因为众多大佬的BLOG也没有RSS。简单来说,RSS是用来订阅BLOG的,有了RSS,就可以整合式地通过阅读器来阅读许多来源的文章,而不是一个一个地访问那些博客的首页。但显然本辣鸡关注的BLOG数量并不足以让我有动力去使用这种阅读器。

    以上这些东西基本就是目前为止搭建本博客所用到的。


文章作者: Gregor
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Gregor !
 上一篇
Python和函数式编程 Python和函数式编程
最近QQ挂着Python Logo在某QQ群吹水,有人说Python语法反直觉,又有人说要举个实例而那个说Python语法混乱的人八成也说不出Python语法哪里混乱。而这个时候借着我在某培训班重新看了一遍Python的字符串和列表语法随口
下一篇 
Pragmatic或者Romantic Pragmatic或者Romantic
我其实是一个不怎么喜欢读或者看故事的人,因为我一直以来最感兴趣的事是事物运作背后的原理,而我觉得一个故事如果能讲得精彩已经不错了,如果在此基础上包含一些思想应该属于精品,如果再包含一些对什么规律的解释那就可以说是不可多得了。
2017-11-21
  目录