diff --git a/bin/epub b/bin/epub index 2ff80af..2dc5723 100755 --- a/bin/epub +++ b/bin/epub @@ -28,7 +28,7 @@ convert_to_epub() { pandoc -o "$OUTPUT_BOOK" --metadata-file="$meta_file" \ --toc-depth=2 \ --top-level-division=chapter \ - --file-scope=true \ + --split-level=1 \ --css="$css_file" \ --webtex \ --wrap=preserve \ @@ -39,14 +39,14 @@ convert_to_epub() { "${TEMP_DIR}"/ch2.md \ "${TEMP_DIR}"/ch3.md \ "${TEMP_DIR}"/ch4.md \ - "${TEMP_DIR}"/part-ii.md \ "${TEMP_DIR}"/ch5.md \ + "${TEMP_DIR}"/part-ii.md \ "${TEMP_DIR}"/ch6.md \ "${TEMP_DIR}"/ch7.md \ "${TEMP_DIR}"/ch8.md \ "${TEMP_DIR}"/ch9.md \ - "${TEMP_DIR}"/part-iii.md \ "${TEMP_DIR}"/ch10.md \ + "${TEMP_DIR}"/part-iii.md \ "${TEMP_DIR}"/ch11.md \ "${TEMP_DIR}"/ch12.md \ "${TEMP_DIR}"/ch13.md \ diff --git a/bin/preprocess-epub.py b/bin/preprocess-epub.py index 758f41a..abeabaf 100755 --- a/bin/preprocess-epub.py +++ b/bin/preprocess-epub.py @@ -15,6 +15,15 @@ from pathlib import Path FIGURE_SHORTCODE_RE = re.compile(r"\{\{<\s*figure\b(.*?)>\}\}", re.DOTALL) ATTR_RE = re.compile(r'([\w-]+)="([^"]*)"') ABS_IMAGE_RE = re.compile(r'!\[([^\]]*)\]\(/(?!static/)([^)]+)\)') +FRONT_MATTER_RE = re.compile(r"\A---\s*\n(.*?)\n---\s*\n?", re.DOTALL) +TITLE_RE = re.compile(r'^title:\s*(?:"([^"]*)"|\'([^\']*)\'|(.+?))\s*$', re.MULTILINE) +LINK_HEADING_RE = re.compile(r"^(#{2,6})\s+(\[[^\]]+\]\([^)]+\))\s*$", re.MULTILINE) +HEADER_ID_RE = re.compile(r"\{#([A-Za-z0-9_:-]+)\}") +RAW_ID_RE = re.compile(r'(]*\bid=")([^"]+)(")', re.IGNORECASE) +RAW_HREF_RE = re.compile(r'(]*\bhref=")(/[^"#?)]*)(#[^"]*)?(")', re.IGNORECASE) +MD_HREF_RE = re.compile(r"(?