Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions jupyter_book_to_htmlbook/file_processing.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ def process_chapter_soup(

else:
chapter['xmlns'] = 'http://www.w3.org/1999/xhtml' # type: ignore
del chapter['class']
del chapter['class'] # type: ignore

# promote subheadings within "base" chapter
chapter = promote_headings(chapter)
Expand All @@ -242,10 +242,12 @@ def process_chapter_soup(
subsections, sub_bib = process_chapter_subparts(subfile)
if subsections:
for subsection in subsections:
chapter.append(subsection)
chapter.append(subsection) # type: ignore
if bib and sub_bib:
entries = sub_bib.find_all("dd") # type: ignore
bib.dl.extend(entries) # type: ignore
# throw away the sub-bib section
_ = sub_bib.extract()
elif sub_bib:
bib = sub_bib

Expand Down Expand Up @@ -328,7 +330,7 @@ def process_chapter(toc_element,
chapter, ids = process_ids(chapter, book_ids)

# write the file, preserving any directory structure(s) from source
if type(toc_element) == list:
if type(toc_element) is list:
dir_structure = [p for p in toc_element[0].parts
if p not in source_dir.parts]
else:
Expand Down
41 changes: 40 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions poetry.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[virtualenvs]
in-project = true
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ PyYAML = "^6.0"
jupyter-book = "^0.15.1"
docutils = "0.17.1"
lxml = "^6.0.1"
standard-imghdr = "^3.13.0"

[tool.poetry.scripts]
jb2htmlbook = "jupyter_book_to_htmlbook.main:main"
Expand All @@ -20,6 +21,7 @@ jb2atlas = "jupyter_book_to_htmlbook.main:main"
[tool.poetry.group.dev.dependencies]
pytest = "^8.4.2"
pytest-cov = "^7.0.0"
types-beautifulsoup4 = "^4.12.0.20250516"

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
97 changes: 54 additions & 43 deletions tests/example_book/_build/html/bibliography.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!DOCTYPE html>


<html lang="en" >
<html lang="en" data-content_root="" >

<head>
<meta charset="utf-8" />
Expand All @@ -15,19 +15,19 @@

<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>

<!-- Loaded before other Sphinx assets -->
<link href="_static/styles/theme.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="_static/styles/bootstrap.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />


<link href="_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=e353d410970836974a52" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
<link href="_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" />

<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" href="_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
Expand All @@ -38,8 +38,9 @@
<link rel="stylesheet" type="text/css" href="_static/design-style.4045f2051d55cab465a707391d5b2007.min.css" />

<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=e353d410970836974a52" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52" />
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>

<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
Expand Down Expand Up @@ -74,19 +75,23 @@



<a class="skip-link" href="#main-content">Skip to main content</a>
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>

<div id="pst-scroll-pixel-helper"></div>

<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>


<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
id="pst-primary-sidebar-checkbox"/>
<label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label>

<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
id="pst-secondary-sidebar-checkbox"/>
<label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label>

<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
Expand All @@ -108,13 +113,21 @@
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>

<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>


<nav class="bd-header navbar navbar-expand-lg bd-navbar">
</nav>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
</header>


<div class="bd-container">
<div class="bd-container__inner bd-page-width">



<div class="bd-sidebar-primary bd-sidebar">


Expand All @@ -128,6 +141,9 @@

<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">





<a class="navbar-brand logo" href="intro.html">
Expand All @@ -136,6 +152,7 @@




<p class="title logo__title">Hello World with Jupyter Book</p>

</a></div>
Expand Down Expand Up @@ -163,11 +180,6 @@
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="notebooks/code_py.html">Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="notebooks/code_r.html">This Is a Title</a></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Edge Cases</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="notebooks/many_a_levels.html">My Main Title</a></li>

</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">References</span></p>
<ul class="current nav bd-sidenav">
Expand All @@ -190,7 +202,7 @@

</div>

<main id="main-content" class="bd-main">
<main id="main-content" class="bd-main" role="main">



Expand All @@ -199,7 +211,7 @@
<div class="bd-content">
<div class="bd-article-container">

<div class="bd-header-article">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">

<div class="header-article-items__start">
Expand Down Expand Up @@ -281,20 +293,22 @@
</button>



<script>
document.write(`
<button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
<span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
<span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i>
</button>
`);
</script>


<script>
document.write(`
<button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<button class="btn btn-sm pst-navbar-icon search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
`);
</script>
Expand All @@ -321,7 +335,7 @@ <h1>Bibliography</h1>


<div id="searchbox"></div>
<article class="bd-article" role="main">
<article class="bd-article">

<section id="bibliography">
<h1>Bibliography<a class="headerlink" href="#bibliography" title="Permalink to this heading">#</a></h1>
Expand Down Expand Up @@ -366,11 +380,10 @@ <h1>Bibliography<a class="headerlink" href="#bibliography" title="Permalink to t



<footer class="bd-footer-article">


<footer class="prev-next-footer d-print-none">

<div class="footer-article-items footer-article__inner">

<div class="footer-article-item"><!-- Previous / next buttons -->
<div class="prev-next-area">
<a class="left-prev"
href="notebooks/glossary.html"
Expand All @@ -381,10 +394,7 @@ <h1>Bibliography<a class="headerlink" href="#bibliography" title="Permalink to t
<p class="prev-next-title">Glossary</p>
</div>
</a>
</div></div>

</div>

</footer>

</div>
Expand All @@ -407,6 +417,7 @@ <h1>Bibliography<a class="headerlink" href="#bibliography" title="Permalink to t

<div class="footer-item">


<p class="copyright">

© Copyright 2022.
Expand All @@ -433,8 +444,8 @@ <h1>Bibliography<a class="headerlink" href="#bibliography" title="Permalink to t
</div>

<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="_static/scripts/bootstrap.js?digest=e353d410970836974a52"></script>
<script src="_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52"></script>
<script src="_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script>

<footer class="bd-footer">
</footer>
Expand Down
Loading