owned this note
owned this note
Published
Linked with GitHub
# Documentation Workgroup Meeting - 11 August 2025
hackmd notes: https://hackmd.io/@kTmq8wwxT-S7kpJjg_Bevg/rkrE1YwOlx/edit
## Attendees:
- Joe Heck
- Sven Schmidt
- David Ronnqvist
- Jesse Haigh
- Vera Mitchell
- Franklin Schrans
- Sofia Rodriguez Morales
## Discussion:
- (Joe) follow up copy-to-clipboard with a "selective line highlighting" feature in codeblocks (in articles). Share the use cases we've collected, talk about how to enable it, and invite any feedback.
- (Dave & Sven) discussed the multi-target thing from [the last meeting](https://forums.swift.org/t/documentation-workgroup-meeting-july-28th-2025/81354), and we'd like to chat about that briefly, too
## Action Items
- Welcome Jesse (they/them) - joining Joe to work on DocC feature additions, around code blocks
### Copy to Clipboard Feature
Joe: https://forums.swift.org/t/extending-docc-with-additional-metadata-to-provide-alternate-displays-for-code-blocks/81056/15 up and pitched, leaning into making it a default - but wanted to check here before we leaned into that.
David: Definitely suggest continuing with the forum threads
Vera: This thread is where the discussion is already happening
Sofia: Don't see a hard reason not to offer by default
Franklin: UI only shows on hover, right?
Jesse: Saw some feedback that on-hover is not ideal for Mobile, so changed to always-on. Applied other updates suggested from Marcus.
Franklin: I think we have some different UI for narrow and desktop viewports, definitely worth getting feedback for the specific UI and patterns in use. One example, to take a look, when we show tutorials there's the interface on the right, where in narrow displays, there's a more traditional view to that.
### Highlight sections feature
Joe: heading to get feedback on the specifics for how to wrangle the details of authoring how to highlight
Franklin: definitely lean into forums
David: ++ on using forums - provides an easier async mechanism to read and provide feedback
Vera: Having a written space makes it less difficult to get feedback from folks in different timezones. Single timeslot for a meeting constrains who you can hear back from.
David: Are these intended to land together?
Joe: Not the same PRs, but the same pieces
David: Wondering if we should add this as an experimental feature with a feature flag to extend this and build on the pieces. Leverage the experimental flag to let us land things experimentally. Can ask for feedback about the combined syntax for all pieces later, when proposing the enable them by default (no longer as experimental).
### Multi-target docs feature
(example: https://docs.swift.org/swiftpm/documentation/)
Sven: We typically switch over to default rendering a week or two after 6.2, so earliest would - but you can specify a specific swift version. One thing that would be really important - not do our target merging with the official one. We'd stop doing ours in favor of our earlier setup.
I think the new version is a drop-in replacement for what we do - and adds more. Is there any support for target ordering in display.
David: I don't think so, You might get it yourself if you merge yourself.
Sven: that would be a slight regression then - right now the targets are listed in the order that you provide them in the .spi.yml
Sven: I think we'll want to keep a pull-down to choose the target. Does the synthesized page exist in all, or just combined?
David: Landed in 6.1, but synthesized page is only for combined archives.
Sven: I think what we want to do is use the landing page for multi-target archives, but keep our drop-down to select through to specific targets.
David: Biggest difference for you is that people would move their configuration to a package-level configuration vs. target/target config. The way this works is that it manages the orchestration to build and merges all the pieces.
David: I think it defaults to building all the products (targets linkable by package consumers) when you ask for the combined docs without specifying explicit targets. With the synthesized page on multiple tagets, the synthesized page could become the landing target.
Sven: Right now, you need to specify all the targets you want to generate. I wonder what we'll do w/ 6.2 going forward. I can see people wanting to have a custom list. The mixture of ordering from .spi.yml to ordering of the sidebar - want those to be the same.
Sven: Is there any way to interrogate an archive to understand if it's a multi-target archive?
David: There's a different file that there, and can be checked. Another you can check is the navigator index that has a list of the identifiers that are combined into it.
David: reharding re-ordering for list of targets - would need to look at it. Need to understand if it's a change in that the plugin can orchestrate from the outside, or it that needs to happen in DocC itself. If it can happen in the plugin, then we can make that work with 6.1. If it needs to happen in DocC, we'd need to land that in 6.3 at the earliest. Long term we want to let the author provide explicit ordering by authoring the top-level page.
Sven: Is the sidebar driven by a single JSON file?
David: Yes.
Sven: So it might not be outside of the realm of possibility that we could re-order that if that works.
Franklin: I think we need to update the metadata JSON file to reflect display names for multi-target archives.
Sven: Just in general, we need a good test target to make sure this lies out correctly.
Joe: Could use SwiftPM as an example, but there's FAR more target than you'd want to create.
David: We only have two targets in DocC, so that might be an option, and I have smaller synthetic examples that aren't really interestined to look at, but reflect the basic functionality.
Sven: I think I've hit all the high level pieces. I think we really need a good sample project.
David: for context, this is the DocC docs on GitHub pages that lived on this feature very early on
https://swiftlang.github.io/swift-docc/documentation
### Swift Ecosystems Group mtg
Franklin: Waiting for a response from the ESG, looking forward to connecting with them when they create and pick a slot for that meeting.