EvanLuo42

一名 IBDP M25 学生。不定期发布生活感想(牢骚)、音乐推荐和技术文章。

向着 NYU 奔赴 第一期

在最后两门期中考试结束之前的周天晚上,突发奇想开启了这个系列。可能是因为这几周越来越向往 NYU 了吧,也可能是临近期中有点焦虑。期望是每周的这个时候都能写下一点这周做的事情和心情。希望有朝一日被 NYU Tisch 录取之后回过来再看这个系列的时候能够收货很多感慨吧。 就在今天早上,其实是昨天晚上,我突然就有一种干劲。于是我早上起来就坐到电脑前面开始整理作品集了,整理完作品集又开始补我的文书。感觉我爸妈有点吃惊,但实际上我只是因为害怕申请不上 NYU。自从被 NYU 的夏校录取,以及学长陆续申上了 NYU 后,我感觉我越来越喜欢 NYU了。我期望我能和他们在一所学习,期望以后能在一起做游戏。所以我也害怕我的作品集不够出色,害怕成绩不够优秀。 整理完作品集之后感觉稍微好了一点,有一种“我好像还可以的嘛”的感觉。虽然决定学游戏设计是在 10 年级时候才确定的,但是随着一次次参加 gamejam 和一次次打开 Unity 水平越来越高了。现在用起 Unity 终于有点得心应手的感觉了。 好期待五一啊,想去日本放松一下。

April 21, 2024 · 1 min · EvanLuo42

Cargo Make 教程

最近在看 rCore 学习操作系统。其实不只是 rCore,其他的操作系统相关课程总是避免不了出现 Makefile。虽然也不是看不懂吧,但是 Makefile 的语法总归是没那么现代。写起来不是那么得心应手。所以我就 Google 了一下 Rust 工具链有没有什么替代品,于是发现了 cargo-make。cargo-make 同样需要写一个脚本,但是是用 Toml 写,可读性高了不少。 安装 安装 cargo-make 非常的简单,只需要运行 cargo install cargo-make 即可。可以发现 cargo-make 以 cargo 开头,这种命名格式基本上就意味着它是 cargo 插件了,所以 cargo-make 是以运行 cargo make ... 的形式跑起来的。 使用 和 Makefile 相似,我们同样需要在项目根目录下创建 Makefile.toml 文件。 以下是官方文档中的示例配置文件: [tasks.format] install_crate = "rustfmt" command = "cargo" args = ["fmt", "--", "--emit=files"] [tasks.clean] command = "cargo" args = ["clean"] [tasks.build] command = "cargo" args = ["build"] dependencies = ["clean"] [tasks....

April 7, 2024 · 2 min · EvanLuo42

在 Hugo 中为 Typst 配置语法高亮(PaperMod 主题)

如果你使用 Typst 的话,你肯定想在自己的 Blog 中对 Typst 代码进行高亮。但由于目前为止 Typst 还处于发展阶段,比较小众, highlight.js 并没有对 Typst 进行支持。但感谢社区的贡献,一款 highlight.js 的 Typst 支持库诞生了:来自于 typst.ts 项目的 highlighter。 本文主要针对于 Papermod 主题进行 highlighter 的配置。 首先我们需要进入到 Blog 目录下的 themes 目录,并找到 PaperMod 的位置。在此我用 %blog_dir%/themes/PaperMod 表示。可以发现其中的结构如下: . ├── LICENSE ├── README.md ├── assets ├── go.mod ├── i18n ├── images ├── layouts └── theme.toml 首先我们先要进入到 assets 目录更换 highlight.js 的版本,因为 highlighter 最低需要 11.9.0 的版本。我们前往官网下载最新版本,并将 highlight.min.js 丢入 ./assets/js 替换掉原本的(可以对原先的 highlight.js 进行备份操作)。 然后我们前往 ./layouts/partials/head.html 进行 HTML 头的修改以初始化 highlight....

December 4, 2023 · 2 min · EvanLuo42

Typst Tablex 简单教程

Typst 目前最好用的表格库应该就是 Tablex 了,虽然官方文档还是很清楚的,但是不妨在这里逐步实现一个复杂的三线表。 在读完本文后,你将会实现如下的效果: 配置 Typst 现在已经推出了包管理器功能。在 .typ 文件当中添加一行代码即可引入 Tablex 库: #import "@preview/tablex:<version>": * // <version> 最好填最新版 如果只想引入需要的函数,可以把 * 换成对应的函数名称 使用 首先我们需要使用 Tablex 的 tablex() 函数显示出一个表格: #tablex() 然后我们要进行一些配置,比如列数、居中等: #tablex( columns: 11, // 通过查看成品图,可以发现总共有 11 列数据 align: center + horizon, // 在每一个 cell 中上下左右都居中对齐 auto-vlines: false, // 因为我们要做的是三线格,所以把垂直的线去掉 repeat-header: true, // 在表格过长,需要两页展示时,会在显示内容的同时,重新加上表头 ) 这是表格的配置部分,下面我们要来写表头。 在成品图当中,我们发现有一些表头横跨了三行,也有的表头横跨了十列。这是通过 colspanx() 与 rowspanx() 实现的。colspanx() 指的是该表头横跨几列。rowspanx() 同理。在编写的时候,我们可以把这种横跨了几列或几行的元素看作一个单独的 cell,把它们当做普通的单元格来写,这样会好理解一点。也就是说我们的成品表格的表头应该有三行。 那我们可以写出以下代码: #tablex( columns: 11, align: center + horizon, auto-vlines: false, repeat-header: true, // 第一行 rowspanx(3)[*Sugar \ Concn....

December 3, 2023 · 2 min · EvanLuo42