mikitex70 / plantuml-markdown

PlantUML plugin for Python-Markdown
BSD 2-Clause "Simplified" License
196 stars 55 forks source link

Raise RuntimeError("UML block not closed") when a md file has two plantuml sections #10

Closed devmiyax closed 6 years ago

devmiyax commented 6 years ago

Input

```plantuml format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram"
Bob->Alice : hello
```

```plantuml format="png" classes="uml myDiagram" alt="My super diagram placeholder" title="My super diagram"
Bob<-Alice : hello
```

Current Result

INFO    -  Building documentation... 
INFO    -  Cleaning site directory 
ERROR   -  Error building page design.md 
Traceback (most recent call last):
  File "/usr/local/bin/mkdocs", line 11, in 
    sys.exit(cli())
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/__main__.py", line 127, in serve_command
    livereload=livereload
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/commands/serve.py", line 117, in serve
    config = builder()
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/commands/serve.py", line 112, in builder
    build(config, live_server=live_server, dirty=dirty)
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/commands/build.py", line 282, in build
    build_pages(config, dirty=dirty)
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/commands/build.py", line 242, in build_pages
    _build_page(page, config, site_navigation, env)
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/commands/build.py", line 137, in _build_page
    page.render(config, site_navigation)
  File "/usr/local/lib/python2.7/dist-packages/mkdocs/nav.py", line 295, in render
    self.content = md.convert(self.markdown)
  File "/usr/local/lib/python2.7/dist-packages/markdown/__init__.py", line 371, in convert
    root = self.parser.parseDocument(self.lines).getroot()
  File "/usr/local/lib/python2.7/dist-packages/markdown/blockparser.py", line 65, in parseDocument
    self.parseChunk(self.root, '\n'.join(lines))
  File "/usr/local/lib/python2.7/dist-packages/markdown/blockparser.py", line 80, in parseChunk
    self.parseBlocks(parent, text.split('\n\n'))
  File "/usr/local/lib/python2.7/dist-packages/markdown/blockparser.py", line 98, in parseBlocks
    if processor.run(parent, blocks) is not False:
  File "/usr/local/lib/python2.7/dist-packages/markdown/extensions/plantuml.py", line 98, in run
    raise RuntimeError("UML block not closed")
RuntimeError: UML block not closed

Expected result

devmiyax commented 6 years ago

Thank you!