Antora 补充用户界面从 doc.css

问题描述

我正在使用 antora 来记录产品架构规范。我们有大型图表,因此在最大化浏览器窗口时允许 svg 图像尽可能放大是一个很大的优势。

我什至不是 css 新手。我几乎一无所知。我可以构建 antora 文档(网页),所以从用户的角度我只知道一点点 antora。

我发现了有关如何进行缩放的评论https://gitter.im/antora/users?at=5d97c8ea37073b36a06fddb8

如果我编辑 doc.css,构建一个 ui-bundle.zip,将 local-antora-playbook.yml 指向新创建的 ui-bundle.zip 并重建站点,我可以获得想要的结果。

.doc {
  color: var(--doc-font-color);
  font-size: var(--doc-font-size);
  hyphens: auto;
  line-height: var(--doc-line-height);
  margin: var(--doc-margin);
  /* max-width: var(--doc-max-width); */
  padding: 0 1rem 4rem;
}

@media screen and (min-width: 1024px) {
  .doc {
    flex: auto;
    font-size: var(--doc-font-size--desktop);
    margin: var(--doc-margin--desktop);
    /* max-width: var(--doc-max-width--desktop); */
    min-width: 0;
  }
}

这是我在上面找到并发布的评论链接中的建议编辑。我更愿意使用这里引用的补充用户界面方法Antora top navigation bar customization 并在 antora https://gitlab.com/antora/docs.antora.org 的文档中实际使用。

当我通过补充 ui 方法构建时,我可以看到我编辑的 doc.css 是在新站点中创建的。但是,在最大化时,我没有得到能够使用 Web 浏览器的最大宽度的预期结果。我知道在 css 中,如果您稍后声明某些内容,则它优先。我想知道是否由于采购文件的顺序而根本没有观察到最大宽度的缺失。我尝试了不同的文件名,如 doc.css 和 xdoc.css,认为它们是按字母顺序来源的。这似乎没有帮助。

有没有办法让这个小的 css 更改并在我构建它时使用补充 ui 方法将它放入我的 antora 站点

我希望使用补充 ui 方法,这样我们就可以随时了解 antora 的变化,并且只对 max-width 进行微小的更改。我采用的方法需要使用微小的更改构建 antora 并指向那个新的 zip 文件来构建 antora,而不是在公共 antora 存储库中采购当前最新的 antora。

对于调试,我还尝试了使用补充 ui 构建过程的这种方法。我知道 !important 不推荐使用,但我只是想弄清楚我是否可以得到一些工作,而不是完整构建到 zip 文件

.doc {
  color: var(--doc-font-color);
  font-size: var(--doc-font-size);
  hyphens: auto;
  line-height: var(--doc-line-height);
  margin: var(--doc-margin);
  /* max-width: var(--doc-max-width); */
  max-width: none !important;
  padding: 0 1rem 4rem;
}

@media screen and (min-width: 1024px) {
  .doc {
    flex: auto;
    font-size: var(--doc-font-size--desktop);
    margin: var(--doc-margin--desktop);
    /* max-width: var(--doc-max-width--desktop); */
    max-width: none !important;
    min-width: 0;
  }
}

解决方法

可以使用补充 UI 更改有效的 css,但性能稍差(需要获取额外的 css 文件),我不推荐这样做。构建 UI 包的过程将所有 css 放在一个优化文件中,以后无法使用补充 UI 对其进行真正修改。因此,您需要做的是在您的补充 UI 中添加一个“新”css 文件,其中包含您想要的修改或覆盖,并且还包括一个可拉入您的附加文件的部分。

例如,如果您的附加文件是 css/expand-svg.css,您还需要一个 partials/head-styles.hbs 包含

    <link rel="stylesheet" href="{{uiRootPath}}/css/site.css">
    <link rel="stylesheet" href="{{uiRootPath}}/css/expand-svg.css">

我用包含

的附加css文件尝试了这个
.doc {
    max-width: none;
}

@media screen and (min-width: 1024px) {
    .doc {
        max-width: none;
    }
}

它似乎可以如您所愿。不需要 !important,因为额外的 css 出现在默认 UI css 之后,因此会覆盖它。