与 Hexo 配合使用 Sass 和 Webpack
为何使用 Sass 和 WebpackSass 是 CSS 的超集,在 CSS 的基础上扩展了大量的语法,支持规则嵌套、变量定义、include 等功能,也可以进行数学运算。主要功能可以在官方入门教程中查看。Sass 原先的文件格式扩展名是 sass,其结构类似 yaml,似乎不与传统 CSS 兼容;而目前 Sass 的文件格式是 scss,兼容 CSS 文件。我使用 Sass 的目的,一是更加清晰的 CSS 规则管理。例如,我有一些 CSS 规则希望只对网站顶栏生效,我就可以将它们全部放到一个代码块中方便管理:header { h1 { ... }}二是减少网页加载时的 CSS 代码量。虽然我的网站使用了 Bootstrap,但是我只使用了一小部分功能,即 Bootstrap 的栅格系统,导航栏和下拉菜单,其它大部分功能都没有使用,这部分 CSS 就不必加载。同时,我还通过 CSS !important 覆盖的方式对一些 Bootstrap 的颜色、形状进行了自定义,这也引入了额外的代码量。我在我的 scss 文件中定义了全局的控件颜色、字体大小等,...
开始使用 Hexo 静态网站生成器
什么是静态网站生成器我们常用的 WordPress、Typecho 等 CMS(内容管理系统)都是动态网站。当用户访问网页时,服务端运行使用 PHP、Python、Node.js 等语言的程序,根据用户的请求实时产生网页,将其返回给用户。而 Jekyll、Hexo、Hugo 等静态网站生成器采取的是另一种方法:提前预测用户的请求,一次性产生对应的 HTML 文件。这两种方式的主要优缺点如下:谁更占优动态网站静态网站动可以实现复杂的交互,根据用户的输入随时改变内容只能响应预定的输入,灵活性差动大多数 CMS 都会提供易用的管理后台,方便用户随时更新内容没有在线后台,需要在本地安装额外软件更新网站内容静安装脚本运行环境需要较复杂的配置服务端无需脚本运行环境,几乎无需服务端任何配置静实时产生网页需要较大的运算量(包括脚本运行、数据库查询),对服务器造成较大的压力服务端几乎无需计算,响应速度极快静如果需要迁移服务器,需要同时迁移脚本、数据库,...