【发布时间】:2021-08-13 22:01:23
【问题描述】:
可以使用以下命令同时设置 rustdoc 的 favicon 和 logo:
#![doc(html_favicon_url = "<url_to>/favicon.ico")]#![doc(html_logo_url = "<url_to>/logo.png")]
如文档所述here。
但我不想公开上传我的徽标,因此想自动将这些文件包含在 /target/doc 中并从那里引用它们。
目前我已将相应的数据 url(base64 编码)放入这些字段中,它工作正常,但它极大地膨胀了设置这些属性的源文件。
我知道我可以在使用脚本生成文档后将图像复制到 target/doc,然后使用相对 url 引用它们,但我想避免这种情况,这样我仍然可以使用 @987654329 生成文档@。
编辑
评论中关于在.cargo/config.toml 中使用rustdocflags 设置rustdoc 的--output 标志的建议也不起作用,因为它导致error: Option 'output' given more than once。除此之外,它不适合我,因为(至少据我所知)我只能在那里给出绝对路径,而我需要使用图像的相对路径的解决方案,因为我将这些图像存储在cargo 根目录的子目录,方便使用 git 等转移到另一个系统。
【问题讨论】:
-
"但我想避免这种情况,这样我仍然可以使用
cargo doc"生成文档——也许您可以再详细说明一下?将两个动作包装在一起的脚本或cargo命令是否不够? -
如果我将这两个动作都放在一个脚本中,我将不得不运行我认为不理想的脚本(例如 ./myscript.sh),因为对于这个特定的项目,我必须记住这一点我无法像往常一样使用
cargo doc生成文档。 -
您可以创建一个脚本,将其参数转发给
rustdoc,然后将所需的静态资产复制到生成的输出文件夹中;然后通过项目根目录中.cargo/config.toml中的build.rustdoc设置配置Cargo 以使用该脚本。 -
@eggyal
build.rustdoc听起来很有趣。我尝试提供我的 bash 脚本,但似乎只允许执行可执行文件(至少在 Windows 上),因为我现在收到错误%1 is not a valid Win32 application. (os error 193)。我可能会创建一个小的可执行文件来执行此操作,但我不确定这是否值得麻烦,因为这样我也可以只保留 base64 编码的图像(特别是考虑到我也需要将可执行文件添加到 git)。 .. -
明确地说,这个想法是将生成的 rustdoc 输出到已经包含图像的位置,以便图像的相对路径能够成功。无论如何,我现在认为将图像复制到目标目录的build script 实际上可能是您最好的选择。
标签: rust rust-cargo rustdoc cargo-doc