Hugo静态网站增加对PWA的支持

Progressive Web App (PWA) 是一种增强型网页应用形式,具备: 可被安装(添加到主屏幕) 离线访问 类似原生 App 的体验 实现 PWA 核心需要以下三个要素: manifest.json: 用于描述你的 Web App 的外观和行为,如图标、名称、主题色等。 service-worker.js: 是一个浏览器后台脚本,可以拦截网络请求、缓存资源,实现离线访问。 在 HTML 中注册 Service Worker 和引入 manifest 第一步:添加 manifest.json 创建 static/manifest.json: { "name": "Hugo PWA", "short_name": "PWA", "start_url": "/", "display": "standalone", "background_color": "#ffffff", "theme_color": "#317EFB", "icons": [ { "src": "/icons/icon-192.png", "type": "image/png", "sizes": "192x192" }, { "src": "/icons/icon-512.png", "type": "image/png", "sizes": "512x512" } ] } 第二步:添加 service-worker.js 在 static/service-worker.js 中添加: const cacheName = 'v1'; const cacheAssets = [ '/', '/index.html', '/style.css', // 可以添加其他需要缓存的资源路径 ]; self.addEventListener('install', e => { e.waitUntil( caches.open(cacheName).then(cache => { console.log('Caching files...'); return cache.addAll(cacheAssets); }) ); }); self.addEventListener('fetch', e => { e.respondWith( fetch(e.request).catch(() => caches.match(e.request)) ); }); 第三步:在页面中注册 service worker 和引入 manifest ...

June 17, 2025 · 1 min · 魔芋土豆

百元搭建的博客

搭建博客需要什么? 一个域名 一个云服务器 一个静态网站生成器 一个博客主题 网站备案 SSL证书 域名 + 云服务器 域名和云服务器是博客搭建的基本条件,购入之后作为个人资产。 博客主题 + 静态网站生成器 有很多开源的静态网站生成器和博客主题,按需和个人喜好选择。本站采用Hugo + PaperMod。 网站备案 合规要求。 SSL证书 非必须,但建议配置。 汇总 条目 费用 话费时间 域名 7元/年 0天 云服务器 99元/年 0天 静态网站生成器 0元 0天 博客主题 0元 0天 网站备案 0元 7天 SSL证书 0元 0天 网站搭建 0元 1天 备注:网站搭建很简单,在Linux系统的云服务器上,安装nginx即可。

June 13, 2025 · 1 min · 魔芋土豆

更换SSL证书的方法

背景说明 网站通过NGINX代理 NGINX通过Docker部署 域名通过阿里云购入 SSL证书通过阿里云申请 更换方法 基于上面的背景,更换SSL证书共分为四步: 申请新的SSL证书 点击创建证书,在弹出的页面中,输入域名名称,然后点击提交审核。等待大概10分钟,就会通过审核并完成证书签发,这个过程无需做任何操作,因为域名和SSL证书都是通过阿里云,所以会自动添加记录值和验证。 下载证书 服务器类型为Nginx,点击下载。解压之后,可以得到.key和.pem文件。 配置新的SSL证书 把.key和.pem文件放在cert/目录下(替换原来的证书文件)。 重启NGINX服务 docker restart nginx 至此,SSL证书更换完成。 后记 如果是首次配置SSL证书,还需要在nginx的配置文件中添加如下内容: server { listen 443 ssl; server_name [your domain name]; ssl_certificate cert/1970666.xyz.pem; ssl_certificate_key cert/1970666.xyz.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; location / { root /usr/share/nginx/html/blog; index index.html; try_files $uri $uri/ =404; } access_log /logs/blog.log; } server { listen 80; server_name [your domain name]; rewrite ^(.*)$ https://$host$1; location / { index index.html index.htm; } }

June 12, 2025 · 1 min · 魔芋土豆

建站记

癸卯年冬,余购域名、赁服务器,始建博客。或问其故,答曰:「欲存思想于一隅耳。」 初,择技术栈,踌躇难决。或荐WordPress,言其便;或劝手写代码,称其洁。余思之再三,终选HUGO框架,以其简而有力也。 部署之日,遇谬误无数。终端报红,汗涔涔下;忽而解决,则拊掌大笑。历三昼夜,终见「Hello World」跃于屏上,快哉! 嗟乎!今人著述,多托于社交媒体,然平台无常,倏忽湮灭。昔人刻石于山,今余编码于云,其志一也。

May 27, 2025 · 1 min · 魔芋土豆