| 204 | """ |
| 205 | |
| 206 | def __init__( |
| 207 | self, |
| 208 | markdown: Markdown, |
| 209 | token: Token, |
| 210 | source_range: tuple[int, int] | None = None, |
| 211 | *args, |
| 212 | **kwargs, |
| 213 | ) -> None: |
| 214 | self._markdown_ref = weakref.ref(markdown) |
| 215 | """A reference to the Markdown document that contains this block.""" |
| 216 | self._content: Content = Content() |
| 217 | self._token: Token = token |
| 218 | self._blocks: list[MarkdownBlock] = [] |
| 219 | self._inline_token: Token | None = None |
| 220 | self.source_range: tuple[int, int] = source_range or ( |
| 221 | (token.map[0], token.map[1]) if token.map is not None else (0, 0) |
| 222 | ) |
| 223 | |
| 224 | super().__init__( |
| 225 | *args, |
| 226 | name=token.type, |
| 227 | classes=f"level-{token.level}", |
| 228 | expand=True, |
| 229 | **kwargs, |
| 230 | ) |
| 231 | |
| 232 | @property |
| 233 | def _markdown(self) -> Markdown: |