hexo 博客支持PWA和压缩博文

目标网站

https://blog.rmiao.top/

PWA

yarn add hexo-offline

然后在root config.yml里新增

# offline config passed to sw-precache.
service_worker:
  maximumFileSizeToCacheInBytes: 5242880
  staticFileGlobs:
  - /**/*.{js,html,css,png,jpg,gif,svg,eot,ttf,woff,woff2}
  - /lib/**/*.js
  - /lib/**/*.css
  - /images/*
  - /js/src/**/*.js
  stripPrefix: public
  verbose: true
  runtimeCaching:
    - urlPattern: /*
      handler: cacheFirst
      options:
        origin: cdn.bootcss.com

然后添加manifest.json, 比如我使用了 hexo-theme-next的主题,在layout/_custom/header.swig 中引用了manifest.json


<link rel="manifest" href="/manifest.json">

manifest生成地址: https://app-manifest.firebaseapp.com/

比如,我的为

{
    "name": "风 - Ryan Miao",
    "short_name": "风",
    "theme_color": "#2196f3",
    "background_color": "#2196f3",
    "display": "browser",
    "scope": "/",
    "start_url": "/"
  }

具体缓存策略还是看下官方文档,这里不求甚解缓存。重启博客,打开控制台,查看网络,会发现,所有的文件都是(from ServiceWorker) 或者(from disk cache)或者(from memory cache)

当hexo g之后,会多出一个service-worker.js里面则是会缓存的内容。

压缩

看了下计算,压缩大概可以节省一半空间。

$ npm install gulp -g
$ npm install gulp-minify-css gulp-uglify gulp-htmlmin gulp-htmlclean gulp --save

或者使用yarn 

yarn global add gulp
yarn add gulp-minify-css gulp-uglify gulp-htmlmin gulp-htmlclean gulp

然后,在根目录新增 gulpfile.js :


var gulp = require('gulp');
var minifycss = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var htmlmin = require('gulp-htmlmin');
var htmlclean = require('gulp-htmlclean');
// 压缩 public 目录 css
gulp.task('minify-css', function() {
    return gulp.src('./public/**/*.css')
        .pipe(minifycss())
        .pipe(gulp.dest('./public'));
});
// 压缩 public 目录 html
gulp.task('minify-html', function() {
  return gulp.src('./public/**/*.html')
    .pipe(htmlclean())
    .pipe(htmlmin({
         removeComments: true,
         minifyJS: true,
         minifyCSS: true,
         minifyURLs: true,
    }))
    .pipe(gulp.dest('./public'))
});
// 压缩 public/js 目录 js
gulp.task('minify-js', function() {
    return gulp.src('./public/**/*.js')
        .pipe(uglify())
        .pipe(gulp.dest('./public'));
});
// 执行 gulp 命令时执行的任务
gulp.task('default', [
    'minify-html','minify-css','minify-js'
]);

运行:

hexo clean && hexo g && gulp &&  hexo s

参考

https://blog.naaln.com/2017/09/hexo-with-pwa/

原文地址:https://www.cnblogs.com/woshimrf/p/hexp-pwa-compress.html

时间: 2024-11-12 05:26:34

hexo 博客支持PWA和压缩博文的相关文章

搭建hexo博客

安装Git 下载 msysgit 并执行即可完成安装. 安装Node.js 在 Windows 环境下安装 Node.js 非常简单,仅须下载安装文件并执行即可完成安装. 安装hexo 利用 npm 命令即可安装.(在任意位置点击鼠标右键,选择Git bash) npm install -g hexo 安装完成后,在你喜爱的文件夹下(如E:\hexo),执行以下指令(在H:\hexo内点击鼠标右键,选择Git bash),Hexo 即会自动在目标文件夹建立网站所需要的所有文件.创建hexo文件夹

linux 搭建hexo博客

搭建环境: CentOS 6.5 1.安装git的编译包 yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel curl autoconf 2.下载和安装Git 这里我们需要单独下载官方版本的较为新的Git安装包,即便很多人说直接在线yum install git也可以安装Git,但是默认的版本即便安装上了,以后我们需要提交版本是无法提交的.这里我下载到当前最新的2.4.6版本Git安装.

Hexo 博客 之 腾讯云部署过程

写在前面 Hexo 博客搭好了有差不多两周时间了,这期间走了很多弯路,跳了很多坑.一些坑自己 bing 到了答案,找到了解决方法,一些坑则是自己摸索出来的解决方法.现在准备写几篇关于搭建流程.搭建过程中遇到的问题和解决方法.俗话说得好,好记性不如烂键盘嘛. 暂时准备写三篇关于 Hexo 博客搭建的博文: 关于 Hexo 博客 腾讯云部署过程 关于 Hexo 博客 NexT 主题的美化插件设置 点击这里 关于 Hexo 博客 添加域名映射和 https 点击这里 本文介绍 本博客是关于 Hexo

将Hexo博客部署到云主机

摘要: 在云主机上搭建一个 git 裸仓库,然后使用 nginx 作为网页服务器,就可以轻松将 Hexo 博客通过 git 部署到云主机上. 这是一个忧伤的故事 我的博客KiwenLau之前部署在Coding Pages上,挺不错的,还可以一键启用 HTTPS.作为一个喜欢折腾的人,我突然打算使用 CDN 加速一下访问速度,然而,国内的 CDN 服务要求网站必须备案.特意邮件问了 Coding 的客服,看来他们近期是不打算支持备案的,于是我就不得不考虑弄个云主机来玩玩了. 后来,Coding P

码云上部署hexo博客框架

title: 码云上部署hexo博客框架 Hexo框架在码云上实现个人博客 本文受 https://www.jianshu.com/p/84ae2ba1c133 启发编写 本地调试 安装完Node.js https://nodejs.org/en/ 安装git bash工具 https://gitforwindows.org/ 在目录下建立博客文件夹,同时cd进目录 右键 git bash here 输入命令 npm install -g hexo-cli 查看是否安装成功,输入命令 hexo

用Typora写Hexo博客

Typora是一个非常方便的markdown编辑器,支持所见即所得,同时也比较方便的支持本地图片的插入.使用Typora写Hexo博客,需要关注的地方就是在Typora中插入图片时,不用修改即可发布到网站. 先通过hexo产生一篇文章 myblog$ hexo n "用Typora写Hexo博客" 这时候在source/_posts下会产生下列文件和文件夹 localhost:_posts niuxinli$ ls 用* 用Typora写Hexo博客.md 用Typora写Hexo博客

为Hexo博客添加评论模块

1. 登录多说网站http://duoshuo.com/,创建站点: 123 可以使用常用的社交账号进行登录,无需注册选择`我要安装`来创建一个站点录入基本的创建信息,点击`创建`按钮来创建一个站点 2. 修改主题配置文件: 我用的主题是freemind,主题地址https://github.com/wzpan/hexo-theme-freemind.git,修改主题的步骤请参考”修改Hexo博客主题”1.打开当前主题路径/_config.yml,找到duoshuo_shortname标签,设置

Hexo博客迁移到Coding

Coding是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能. Coding提供社会化协作功能,包含了社交元素,为开发者提供技术讨论和协作平台. 一.创建项目 注:选择公开 点击创建之后 获取页面HTTPS或SSH地址 二.Clone项目到本地 $ git clone https://coding.net/itmyhome/blog.git blog 三.推送代码 如果已有hexo博客代码 放在blog目录下(.deploy .git除外),其他不变 修改根目

ubuntu安装hexo博客

ubuntu下安装hexo博客 一 安装git sudo apt-get install git 二 安装nodejs 官网下载linux安装包.tar.gz文件 解压 tar zxvf 这样变可以切到该文件下执行node npm 如果要在任意目录可以访问的话,需要将node 所在的目录,添加PATH环境变量里面,或者通过软连接的形式将node和npm链接到系统默认的PATH目录下的一个,软链接方式如下 ln -s /home/kun/mysofltware/node-v0.10.26-linu