网站更新日志

  • 2025-12-19 - 修 CVE,顺便重新复习下 next(ChatGPT 真的是太好用啦)
    • 模板“借鉴”了一下 next 官方的 blog-starter
    • markdown 解析改用 unified
    • 语法高亮改用 shiki
    • 加载条砍了
  • 2025-02-02 - 改为使用 next 实现
  • 2024-08-03 - 改为使用 nuxt+farrow 实现
  • 2019-07-21 - 建站,使用 Wordpress

[Next]文本资源与组件代码分离的方式

可以使用raw-loader将文本(比如.md, .wgsl)单独放在文件内

配置完成后,开发环境下修改文本,引用了文本的组件也会对应更新

下文以配置.md为例

  1. 安装 raw-loader
    npm add raw-loader
    
  2. 配置next.config.ts
    const nextConfig: NextConfig = {
      webpack: (config) => {
        config.module.rules.push({
          test: /\.md$/i,
          use: "raw-loader",
        });
        return config;
      },
    };
    
  3. 找个地方写d.ts
    declare module "*.md" {
      const content: string;
      export default content;
    }
    
  4. 使用文件时正常引用即可
    import foo from "./foo.md";
    console.log(typeof foo); // string
    
Next.js

[Vulkan]Vulkan.hpp智能指针的使用

直接使用

auto instance = vk::CreateInstanceUnique({});

搭配其他不返回智能指针的库使用

vk::SurfaceKHR ret;
glfwCreateWindowSurface(instance, window, nullptr, &ret);
auto surface = vk::UniqueSurfaceKHR(
    vk::SurfaceKHR(ret),
    vk::UniqueSurfaceKHR::ObjectDestroy(instance));
Vulkan