Interfering problem:
Reference to chapter is indistinguishable from reference to html block and (perhaps as a consequence) it is impossible to transclude / refer to html block/element with assigned ID.
For example [[pageurl#markdown-chapter-id]] refering to
# Markdown Chapter ID
Text of the chapter.
is indistinguishable from [[pageurl#span-id]] refering to html span
markdown text
containing<span id="span-id">html elements</span>
which is standard but does not work in Obsidian.
solution:
I would suggest (before Obsidian 1.0) changing syntax for chapter reference from [[pageurl#markdown-chapter-id]] to [[pageurl##markdown-chapter-id]].
- This would put markdown headers with associated chapters on the same level as (markdown)-block-IDs with associated blocks.
First # symbol would always separate fragment from page URL and the second # would denote header just like ^ denotes block. Then we could refer to everything:
![[pageurl#html-element-id]]
![[pageurl##markdown-header-id]]
![[pageurl#^markdown-block-id]]
![[pageurl##first-chapter..#last-chapter]]
![[pageurl#-#intro-chapter..#last-chapter]] where prefixed hyphen excludes introduction chapter from range.
![[pageurl##intro-chapter..-#index-chapter]]
![[pageurl##first-chapter..]] transclusion starts by first chapter up to the end of page.
![[pageurl#-#intro-chapter..]] everything after intro chapter up to the end of page.
![[pageurl#..#last-chapter]] everything up to last chapter (including)
![[pageurl#..-#last-chapter]] everything up to last chapter (excluding)
Possible behavior of references in nested structures: