与 Hexo 配合使用 Sass 和 Webpack

为何使用 Sass 和 Webpack Sass 是 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 都会提供易用的管理后台,方便用户随时更新内容 没有在线后台,需要在本地安装额外软件更新网站内容 静 安装脚本运行环境需要较复杂的配置 服务端无需脚本运行环境,几乎无需服务端任何配置 静 实时产生网页需要较大的运算量(包括脚本运行、数据库查询),对服务器造成较大的压力 服务端几乎无需计算,响应速度极快 静 如果需要迁移服务器,...