hexo 博客支持PWA和压缩博文

简介: 目标网站https://blog.rmiao.top/PWAyarn add hexo-offline然后在root config.yml里新增# offline config passed to sw-precache.

目标网站

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/





唯有不断学习方能改变! -- Ryan Miao
目录
相关文章
|
4月前
|
数据采集 人工智能 监控
医疗AI智能体:整体效能评估可视化:从原理到实践的10大核心量化指标体系.130
本文系统阐述医疗AI智能体的量化评估体系,强调其行业特殊性——关乎生命健康、强合规要求、用户多元、闭环严苛。提出覆盖技术(幻觉率、准确率、响应时间、召回率)与业务(满意度、审核通过率、问诊完成率、交互时长)的8大核心指标,配套数据采集、计算、监控、迭代闭环流程及可落地代码实现,为临床合规落地提供客观依据。
442 9
|
5月前
|
数据采集 人工智能 监控
办公Agent + 企业知识库:自动生成季度报告与竞品分析文档
本文揭秘一款专为企业打造的办公Agent:它能自动连通CRM、飞书、竞品官网等知识源,按模板生成季度复盘与竞品分析初稿,引用皆可溯源。实测报告撰写从12小时缩至3分钟,人工仅需微调。不吹“全能”,只解决找资料慢、信息散、更新滞三大痛点。(239字)
422 4
|
12月前
|
监控 前端开发 Linux
Zabbix 7.4 新功能介绍
Zabbix 7.4重磅升级:主机向导简化配置,监控指标卡片直观展示,Map层级自由调整,无限嵌套发现打破限制,TLS加密保障通信安全,助力运维效率飞跃提升!
666 1
|
3月前
|
人工智能 运维 安全
最新版通义千问(Qwen3.8-Max-Preview)功能介绍及使用指南
作为阿里云通义千问系列2026年重磅迭代的**旗舰级预览模型**,Qwen3.8-Max-Preview依托2.4T超大规模参数架构全面升级,定位为当前国产综合实力顶尖、可对标国际顶级水平的通用大模型,在逻辑推理、工程编程、超长文本处理、多模态理解、复杂任务拆解等核心维度完成跨越式迭代。相较于上一代Qwen3.7-Max,新版预览模型实现上下文窗口扩容、推理精度提升、代码工程能力强化、算力成本大幅优化,同时开放三大官方使用入口,适配个人提效、开发者落地、企业商用全场景。目前该模型已正式上线阿里云百炼Token Plan、Qoder编程智能体、QoderWork办公助理三大生态平台,以超低预览计
2055 1
|
10月前
|
JSON 物联网 数据处理
C语言中高效处理JSON数据(cJSON库使用教程与入门指南)
cJSON 是轻量级C语言JSON库,适用于嵌入式系统,支持JSON解析与生成。本文详解其安装、使用方法及注意事项,助力C语言开发者高效处理JSON数据,适合初学者入门。
|
12月前
|
安全 网络安全 Windows
Windows Server 2019 IP黑名单设置,保护云服务器安全
本文介绍如何在Windows Server 2019云服务器上设置IP黑名单,通过防火墙高级安全功能,五步完成入站规则配置,有效拦截恶意IP的扫描与暴力破解,提升服务器安全性。结合云平台安全组可实现双重防护,操作简单、成本低,是保障业务稳定运行的实用技巧。
916 4
|
11月前
|
存储 人工智能 自然语言处理
游戏云,市场份额第一!
IDC最新报告显示,阿里云稳居中国游戏云市场第一,整体份额达41%。依托AI与云计算融合创新,助力米哈游、网易等企业出海,推动游戏研发、运营升级,持续引领行业发展。
840 0
游戏云,市场份额第一!
|
Ubuntu Linux Windows
IP地址查看方法
本指南介绍了在不同操作系统中查看设备IP地址的方法。在Windows系统中,可通过命令提示符(输入`ipconfig`)或设置界面查找IPv4地址;Linux系统中,使用终端命令`ifconfig`或`ip addr show`获取网络接口的IP;Mac系统则可在“系统偏好设置”中的“网络”查看,或通过终端执行相同命令获取。这些方法简单易行,适用于各种常见场景。
5995 11

热门文章

最新文章