Rust项目Zola的源码分析
Zola是一个快速的静态站点生成工具,使用Rust语言实现。阅读源代码是很好的学习Rust的方式,今天将探索下Zola项目的源代码。 zola命令行只有4个命令,代码分析也将从命令行开始。 init 创建site目录结构 build 构建site内容,生成目标位于public目
Zola是一个快速的静态站点生成工具,使用Rust语言实现。阅读源代码是很好的学习Rust的方式,今天将探索下Zola项目的源代码。 zola命令行只有4个命令,代码分析也将从命令行开始。 init 创建site目录结构 build 构建site内容,生成目标位于public目
Zola是一个快速的静态站点生成工具,使用Rust语言实现,类似于Hugo、Pelican、Jekyll。 站点内容使用CommonMark语法,兼容Markdown规范,使用Rust库pulldown-cmark来解析Markdown文件; 页面模板及主题样式文件中使用Ter
Boa是Rust语言实现的实验性Javascript语言编译与执行引擎,参考实现EcmaScript规范。在Rust项目中引用的包名为boa_engine, 当前版本为0.17.3。Boa提供了基于WASM实现网页版playground,可动手实践,实时查看执行结果 https:
Cargo是Rust的包管理工具, 通过rustup脚本来安装rust工具链时会自动安装cargo命令, 可用来创建Rust项目、安装与管理依赖、构建项目与发布包。 cargo工具的基本使用创建项目 cargo new helloworld 新建一个生成可执行文件的项目,等同
wasm-bingen是一个Rust库与命令行工具,解决wasm模块与Javascript之间的交互。 在Rust代码中使用#[wasm_bindgen]来将Javascript变量与方法导入到Rust代码,和将Rust代码中声明的方法导出到Javascript中。 wasm-b
在创建Yew项目的过程中使用了trunk工具,功能类似于nodejs项目中的webpack, 于是延伸学习了trunk的使用。 Trunk是用于构建、打包Rust WASM应用,并能发布为web项目。 支持基于wasm-bindgen的项目, 比如当前比较流行的Yew和Seed。
Yew是rustlang语言中开发web应用的框架,定义组件的形式类似React。Yew中使用宏html!来定义html内容,Props传递组件参数,也有use_state等hook概念,如果熟悉React的话很容易上手。Yew会将html转换为rustlang代码,生成WebA
为corends安装了redis插件,需要在配置文件Corefile中添加redis插件的配置项。 另外, DNS记录保存于redis, 需要了redis中保存数据的结构、完成写入redis记录的操作。 Corefile中配置redis插件配置文件的格式,在redis插件描述中写
在项目中使用了coredns来作为简单的DNS服务器, 已经能通过file插件在Corefile中来自定义子域名的A地址记录。最近需要实现程序新增DNS记录的功能,于是乎查找coredns plugin列表,选择redis插件 。但是, redis为非coredns自带插件, 需
使用Hugo来搭建静态内容超级简单了。 参考 https://gohugo.io/getting-started/quick-start/ 快速起步下载hugo软件包,解压到本地之后就可以开始了。命令如下 123456hugo new site quickstartcd quic