You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MkDocs构建站点时,Notebook间链接跳转失败求助

问题

我用MkDocs构建静态网站,项目目录结构如下:

docs/
├── index.md
├── numerical_methods
│   └── ode
│       ├── explicit_euler.ipynb
│       └── implicit_euler.ipynb
└── numerical_methods.md

我尝试在explicit_euler.ipynb中添加跳转到implicit_euler.ipynb的链接,使用代码[向后欧拉方法](./numerical_methods/ode/implicit_euler.ipynb),但无法实现跳转。以下是我的mkdocs.yml配置:

site_name: Learning Site
site_dir: public

nav:
  - Home: index.md
  - Numerical Methods: numerical_methods.md

theme: 
  name: material
  icon:
      logo: material/book

  language: en
  features:
    - navigation.tabs
    - content.code.annotate
  palette:
    # Palette toggle for light mode
    - scheme: default
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode

    # Palette toggle for dark mode
    - scheme: slate
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
  plugins:
    - typeset

markdown_extensions:
  - pymdownx.arithmatex:
      generic: true

extra_javascript:
  - javascripts/mathjax.js
  - https://polyfill.io/v3/polyfill.min.js?features=es6
  - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js

plugins:
  - search
  - mkdocs-jupyter:
      include_source: True
解决方案

核心问题拆解

  1. 相对路径错误:两个Notebook文件处于同一目录docs/numerical_methods/ode/,无需完整层级路径,用同级相对路径即可。
  2. 导航未注册文件:当前nav配置仅包含md文件,未将两个Notebook纳入导航,MkDocs不会自动生成未注册文件的静态页面。
  3. 插件路径映射:mkdocs-jupyter会将.ipynb转换为.html,需确保链接与转换后的页面路径匹配。

具体修复步骤

  • 修正链接路径:将链接改为[向后欧拉方法](./implicit_euler.ipynb),直接引用同目录下的文件即可。
  • 更新导航配置:在mkdocs.yml的nav中添加两个Notebook的入口,确保MkDocs生成对应页面:
    nav:
      - Home: index.md
      - Numerical Methods:
          - 数值方法概述: numerical_methods.md
          - 常微分方程求解:
              - 显式欧拉法: numerical_methods/ode/explicit_euler.ipynb
              - 隐式欧拉法: numerical_methods/ode/implicit_euler.ipynb
    
  • 验证生成路径:运行mkdocs build后,查看public目录下的文件结构,确认implicit_euler.html的位置。若插件生成的路径为numerical_methods/ode/implicit_euler.html,链接也可直接使用./implicit_euler.html(插件通常会自动处理.ipynb到.html的映射,用原文件名也能正常跳转)。
  • 检查插件状态:确认mkdocs-jupyter插件已正确启用,include_source: True仅控制是否显示源码,不影响页面生成逻辑。

内容的提问来源于stack exchange,提问作者L Maxime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:32:17