Swift-markdown: Fatal error: A closed block directive container cannot accept further lines of content

i am currently unable to build docs for the swift-testing package due to a crash in swift-markdown:

Markdown/BlockDirectiveParser.swift:221: 
Fatal error: A closed block directive container cannot 
accept further lines of content.

i am using the latest release of swift-markdown (0.2.0), but this sounds reminiscent of some bugs @Kyle-Ye fixed recently.

1 Like

I can't reproduce the issue you mention here using the following way:

  1. Build the documentation via Xcode 15.0 (Apple-Swift 5.9 Toolchain's swift-docc) on swift-testing main.
  2. Build the documentation via swift-docc + swift-markdown main branch on swift-testing main.

corresponding time for main branch - UTC 2023/10/29 05:09:22

It should be fixed already so I suggest you can just upgrade the toolchain. (Swift-Markdown 0.2 was released some time ago.)

If you have a version dependency for swift-markdown, you can upvote the topic so that we can push to release a new 0.3 version.

I have the permission to do so, but I suggest we leave it to @QuietMisdreavus or at least with her consent first.

1 Like

i can confirm the issue is fixed in the main branch of swift-markdown, and was able to export docs for swift-testing using a custom-built documentation toolchain. sadly, because of SPM, i cannot release a version of swift-unidoc that depends on an unstable swift-markdown pin.

as a procedural matter, i suggest that all maintainers of a public project should be able to tag additional patch versions. semver patches are cheap, and a 0.2.1 doesn’t interfere with any long-term plans to release a 0.3.0 down the line.

1 Like

Totally agree your idea. But this is not a thing I could control and give help.

Discussing this matter in a workgroup meeting might potentially facilitate a faster resolution to this issue, but I'm not sure if it might be a bit of an overkill.

1 Like

Swift-Markdown's current version policy is to publish a new patch version when a new major release of Swift is made (i.e. 5.9 or 5.10, not necessarily holding out until Swift 6 :sweat_smile:) based on the code that shipped in that release's branch on the Swift-Markdown repo, with patch releases occurring as needed between then. It looks like Swift 5.9 released on the day that i came back after several weeks' leave from work, so that's probably how i missed it. I can tag a 0.3.0 based on what released in Swift 5.9 some time today.

2 Likes

yes please!

Done! You can now use 0.3.0 as a version tag for Swift-Markdown. Release Swift-Markdown 0.3.0 · apple/swift-markdown · GitHub

1 Like

thank you! (fyi i’ve also exported the docs here)

2 Likes