Leafee98's Blog

使用 git hook 实现自动构建 Hugo 静态网站

Categories: tech
Tags: git git-hook hugo

Hugo 是一个优秀的静态网站生成器,并且结构对 Git 十分友好,所以一般会将 Hugo 搭配 Git 使用来提供较高的可操作性,很多人还会搭配 GitHub Pages 来实现免服务器建立个人博客。但是在不使用 GitHub Pages 的情况下,使用静态博客就会不可避免地要重复构建网站,每次都要手动构建再上传构建结果未免过于繁琐,这篇文章将介绍已有自建服务器的情况下,通过 Git Hook 实现在推送时自动重新构建网站内容的方式。

迁移到 wayland 事记

Categories: tech
Tags: linux KVM

一些环境变量 🔗

设置了一些环境变量,如果不设置这些环境变量,那么有一部分程序会在启动时字体发毛,比如 MOZ_ENABLE_WAYLAND 能够避免 firefox 出现字体发毛。

export GDK_BACKEND=wayland      # GTK
export QT_QPA_PLATFORM=wayland  # QT
export CLUTTER_BACKEND=wayland  # Clutter
export SDL_VIDEODRIVER=wayland  # SDL
# mozilla wayland envionment
export MOZ_ENABLE_WAYLAND=1

其他的配置 🔗

electron 🔗

为了 electron 专门添加的配置文件, /.config/electron-flags.conf

# file name: ~/.config/electron-flags.conf
--enable-features=UseOzonePlatform
--ozone-platform=wayland

按照行为来说,上述配置文件应该是所有版本的 electron 都会生效,但是对于旧一些的版本,比如 12 和 13,则需要添加单独的配置文件,但是由于配置内容相同,所以只需要分别建立软链接。

Linux 文件系统中的权限

Categories: tech

常规权限 🔗

读权限(r) 🔗

  • 对文件来说, 就是文件的读取权限, 如 cat .
  • 对目录来说, 就是查询目录下文件结构的权限, 如 ls .

写权限(w) 🔗

  • 对文件来说, 就是文件的写入权限, 如重定向输出到这个文件.
  • 对目录来说, 就是修改此目录下的文件结构的权限, 包括创建文件/删除文件/移动文件.

执行权限(x) 🔗

  • 对文件来说, 就是文件的执行权限.
  • 对于目录来说, 就是进入此目录的权限, 并控制访问此目录中的其他文件或目录的权限, 若无此权限, 则目录的读写权限也会受到影响.

下面为一些各种情况下进行操作的示例. 可以发现没有 x 权限时, r 权限只能列出目录的文件名称, 不能得知其权限和修改时间等信息; w 权限无法在目录中创建文件; 无法对目录中的文件的内容进行读取或修改.

为单一命令设置环境变量的终端函数

Categories: tech
Tags: linux shell bash

实际应用 🔗

需求 🔗

  • 一个命令行函数
  • 将其参数作为命令运行
  • 为运行的命令设置环境变量, 同时不影响原本的 shell 环境变量

结果 🔗

function proxyenv {
        (
                proxy_dest="http://localhost:8888"

                proxy=${proxy_dest}
                http_proxy=${proxy_dest}
                https_proxy=${proxy_dest}

                PROXY=${proxy_dest}
                HTTP_PROXY=${proxy_dest}
                HTTPS_PROXY=${proxy_dest}

                export proxy http_proxy https_proxy PROXY HTTP_RPOXY HTTPS_PROXY
                "$@"
        )
}

Update: 注意最后一条命令现在是 "$@" 而不是以前的 eval "$@",这样才能够避免括号产生额外的意义。

部署davical到apache2

Categories: tech

起源于 radicale 的 well-known 自动配置不能与 thunderbird 的 tbsync 插件和平地工作, 以及使用 python 实现的 radicale 在过去的半年中失去响应了 3 次, 所以决定找一个可能更稳定一些, 更加通用一些的支持 caldav 的服务程序, 最终选定了 davical .

Webdav的挂载

Categories: tech

webdav 挂载到本地文件系统有优有劣, 好处是权限更加开放, 使用也比较方便, 但缺点是在需要同步时受网络影响较大, 所以建议不要直接打开挂载到本地目录的 webdav 文件, 尤其是 GUI 会卡顿较长时间.

Categories