# 给 mdbook 增加备案号显示

- Link: https://www.ixiqin.com/2023/07/25/add_id_into_mdbook/
- Published: 2023-07-25T00:29:35+08:00
- Author: 白宦成

文章目录

 [Toggle](https://www.ixiqin.com/2023/07/25/add_id_into_mdbook/#)

 * [实现思路](https://www.ixiqin.com/2023/07/25/add_id_into_mdbook/#%e5%ae%9e%e7%8e%b0%e6%80%9d%e8%b7%af)
 * [参考文档](https://www.ixiqin.com/2023/07/25/add_id_into_mdbook/#%e5%8f%82%e8%80%83%e6%96%87%e6%a1%a3)

由于 Gitbook 长期不维护，为了保障整个架构持续可用，所以导致我不得不从 Gitbook 迁移
到 mdbook。

在使用 mdbook 的时候，有个问题是，我的不少电子书域名都是备案过后的，mdbook 又不像
gitbook 支持可以在目录里跳转外链，因此我需要自己实现给 mdbook 添加一个外链。

## 实现思路

由于没办法直接通过在 Markdown 当中实现跳转外链，那么一个比较简单粗暴的方法就是直接
在模板当中添加，刚好 mdbook 在文档中有[说明具体的操作方法](https://rust-lang.github.io/mdBook/format/theme/index.html)。

你只需要在 mdbook 的根目录中创建一个 `theme` 文件夹，并生成一个 `index.hbs` 文件，
用于渲染页面。

接下来，你只需要在适当的位置添加上你需要的代码即可（下方的 toc 后面的 有序列表便是
我手动添加的）

    ```shcb-line-numbers
       <nav id="sidebar" class="sidebar" aria-label="Table of contents">
                <div class="sidebar-scrollbox">
                    {{#toc}}{{/toc}}

                     <ol class="chapter">
                        <li class="chapter-item expanded "><a href="https://beian.miit.gov.cn/" target="_blank">这里是你的备案号</a></li>
                    </ol>

                </div>
                <div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>

            </nav>
    Code language: HTML, XML (xml)
    ```

## 参考文档

[https://github.com/rust-lang/mdBook/issues/1354](https://github.com/rust-lang/mdBook/issues/1354)
