教程

给 Hugo 支持的静态博客添加 HTMX 支持

TLNR

  1. Download htmx.min.js into static\js\ folder.
  2. Append <script async defer src="{{ "js/htmx.min.js" | relURL }}"></script> into layouts\_default\baseof.html head block.
  3. Append hx-boost="true" to <div class="container container--outer"> in the same file.

太长不看教程

  1. 下载 htmx.min.js 放到 static\js\ 目录下;
  2. 添加 <script async defer src="{{ "js/htmx.min.js" | relURL }}"></script> 代码到 layouts\_default\baseof.html 文件的 <head> 里;
  3. 在同一文件种,添加 hx-boost="true" 标签到 <div class="container container--outer"> 里。

实际用途

直接就将一个静态博客变成类似SPA的体验了喵!非常神奇喵!在博客内跳转再也不会闪烁+加载一堆CSS等操作了,而仅仅只是将内容替换掉喵!

编译一个支持Infiniband的OpenWRT固件

前言

我有一台服务器,我有一堆 Mellonx ConnectX 2/3 的 IB 卡,我还有一台 IB Switch,以及 100Gbps 的光模块若干喵……(以上全部是捡垃圾来的喵)

于是,我现在需要一个 OpenWRT 软路由,同时支持高速 IB 网络喵!

Revanced Step

ReVanced 去掉APP里烦人的广告喵!

前言

一年前,有一个 Vanced YouTube 项目,通过修改 U2B 的 APK 包来免除广告,得到和 YouTube Premium 一样的体验——然后这个项目就被律师函了,现在项目已经关闭,只有两个付费广告拦截插件了喵。

Using traefik as proxy in docker

使用 Traefik 作为前端反代替换 nginx

前言

Traefik 是一组 go 写的网络代理,不过这次我们只用它 Proxy 这一部分来替换 nginx 作为网页前端反代使用喵~(其实它还可以作为 HAProxy 的替换喵)

优点:

Zfs Tips

ZFS Tips for Home NAS

Automatic Mount when Boot

事实上,ZFS 现在已经通过设置多个 systemd .service 和 .target 来开启自动挂载功能。1


sudo systemctl enable zfs-import-cache.service
sudo systemctl disable zfs-import-scan.service
sudo systemctl enable zfs-mount.service
sudo systemctl enable zfs-share.service
sudo systemctl enable zfs-zed.service
sudo systemctl enable zfs.target

Automatic Share with Samba using sharesmb property

  1. 安装并配置 Samba , 关键是要在 /etc/samba/smb.conf 里配置好 [global] 部分2
[global]
...
   usershare path = /var/lib/samba/usershares
   usershare max shares = 100
   usershare allow guests = yes
   usershare owner only = no
  1. 建立 /var/lib/samba/usershares 目录,并设置权限:
sudo mkdir -p /var/lib/samba/usershares
sudo chmod +t /var/lib/samba/usershares
  1. 启动或者重启 Samba 服务:
sudo systemctl restart smbd.service
  1. 自动设置 ZFS dataset 分享:
sudo zfs set sharesmb=on /tank/volume

公主链接抽卡指南

前言

如果你嫌弃该文章过于复杂晦涩,文末有一个 简单方案 喵~

本文仅限娱乐用途,如有雷同,那是你抄袭了我的文章喵~

前置知识点

敲黑板,这些考试都会出现!

卡池机制

  • 多重池子:PCR 的每个池子都有多重子池子,而从哪个池子出货则会根据算法决定;
  • 普通池子:只有标称的 3% 三星卡,基本都是常驻三星,其他的都是普通卡;
  • 奖励池子:池子里全部是三星卡,一般都是当季限定的卡;Fes池子则是所有Fes角色的卡池;
  • 池子轮换:在特定条件下池子内容会被替换成新的:
    • 维护结束(根据维护时间)
    • 日期更换(每天东京时间凌晨5点)
    • 开新卡池(一般是下午3点)
    • 池子抽空(该时间不确定)
    • 午间、夜间(大约为中午12点和下午6点左右,该轮换规则不确定)

奖励计数器

  • 定义:每一次10连或者单抽,都会有一个额外的计数器累加,这个计数器的值会被用来决定抽卡的结果;
  • 每次出货则会重置奖励计数器,但是10连抽并不会在中途重置,而是等所有结果都出了再重置;
  • 使用氪金钻石抽1日1回限定时,也会累加奖励计数器,而且比一次10连还高;
  • 使用登录奖励的一次券抽取时,奖励计数器会累加相当于一次10连;
  • 每日免费10连和普通免费石头10连的奖励值一致;
  • 达成每日任务的奖励值会累加到第二天的奖励计数器,但是不会超过30连;

决定出货内容的基本算法

  1. 根据抽取请求决定奖励计数器累加值,累加到已有计数器上;
  2. 丢骰子,与已有奖励计数器比较,决定本次是否从奖励池子抽取;成功则抽取一张;10连必中则这里骰子焊死;
  3. 从普通池子获取剩余请求卡;
  4. 洗卡,根据结果决定是否重启奖励计数器;发回结果;让绿毛出来演戏;

抽取手顺

想要提高 PCR gacha 中奖率,照着这个方式做就行了喵:

树莓派上安装 Homeassistant 备忘

前言

这不是 Home Assistant 项目的官方教程, 但是它可以达成以下目标:

  • 摆脱 Docker 的依赖(和一堆问题)
  • 摆脱 Hass.IO 的控制(甚至离线运作)

准备阶段

  • 准备好树莓派、电源、TF卡、读卡器 etc
  • 下载 Arch Linux Arm 的镜像(根据树莓派版本来喵)
  • 根据安装提示写入镜像到 TF 卡 以树莓派3为例

安装阶段

  • install pikaur 或者你喜欢的 AUR 包管理器喵~
  • pikaur -Syu 滚滚挂一下喵~
  • pikaur -S python38 安装 Python 3.8 包(因为 HASS 还不支持 Python 3.9
  • sudo adduser homeassistant 添加一个跑 HASS 的用户
  • sudo -u homeassistant <tmux/bash/fish...> 切换到该用户 Shell
  • virtualenv virtualenv --python=/usr/bin/python3.8 homeassistant 准备 venv, 并指定 Python 版本
  • source homeassistant/bin/active 加载环境
  • pip install homeassistant -upgrade 安装/升级 HASS , 要注意的是,HASS 严格指定了包括 pip 在内的众多 Python 包版本,除了这个包其它包都不要手动升级,否则会被 HASS 自动降级喵……

配置阶段

  • hass 先启动看看会不会报错,第一次启动它会自动pip安装大量包来进行自我补完喵……
  • 浏览器开启 http://[树莓派IP]:8123 进行初次启动配置
  • 局域网里其它机器来个 nginx 代理 SSL 和 域名绑定

Zigbee2MQTT 集成

TBD

Rabbitmq on Wsl2

首先,把兔子抓过来

基于 RabbitMQ 官方的安装步骤

使用其中 Cloudsmith Quick Start Script 小节的指令在 Ubuntu 20.04 @ WSL2 里进行安装:

#!/bin/sh

sudo apt-get install curl gnupg debian-keyring debian-archive-keyring apt-transport-https -y

## Team RabbitMQ's main signing key
sudo apt-key adv --keyserver "hkps://keys.openpgp.org" --recv-keys "0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"
## Cloudsmith: modern Erlang repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo apt-key add -
## Cloudsmith: RabbitMQ repository
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo apt-key add -

## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Provides modern Erlang/OTP releases
##
deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic main
deb-src https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic main

## Provides RabbitMQ
##
deb https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic main
deb-src https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic main
EOF

## Update package indices
sudo apt-get update -y

## Install Erlang packages
sudo apt-get install -y erlang-base \
                        erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
                        erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
                        erlang-runtime-tools erlang-snmp erlang-ssl \
                        erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

如果一运行 sudo rabbitmqctl 就出现如下提示,需要再安装 libncurses5

My First Hugo Post

……卧槽竟然用 hugo 这么简单这么快喵喵喵!而且主题那么多选择毫不费力喵!

Hugo 从安装到写字到部署

直接复制这些代码就行了喵……保证不超过1分钟就能开始写字喵……

使用 Nuxt.js 静态构建 Blog

前置需求

最近又想要重新开放个人博客,因为很多东西写微博上写不下喵……

比如,有个很好的 UE 相关实现;又比如,自己折腾了一些小项目和小玩意什么的喵~

再或者看到了什么不得了的色图喵