-
Notifications
You must be signed in to change notification settings - Fork 166
Add a helper function for rendering page breadcrumbs as HTML #1378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a helper function for rendering page breadcrumbs as HTML #1378
Conversation
|
@swift-ci please test |
rdar://163326857
134fe56 to
f3cf42a
Compare
|
@swift-ci please test |
heckj
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor wording suggestion, LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Just one question about the behavior for language-specific names.
| return switch goal { | ||
| case .richness: | ||
| if names.count == 1 { | ||
| [.text(names.first!.value)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we want this behavior if there is only one language-specific name? If there is a language-specific name, even if there is only one, wouldn't we want to go through the logic in the else block that applies a "class" attribute (which I assume is used for formatting)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good question that I don't know if I've written down the answer to anywhere.
The idea is that the language specific elements would have classes like "swift-only" or "occ-only" that can be shown or hidden through very small CSS changes. For example, consider this HTML that represents a link to a method with different names in Swift and Objective-C:
<a href=../somemethod(with:and:)/index.html>
<code class="swift-only">someMethod(with:and:)</code>
<code class="occ-only">someMethodWithFirst:AndSecond:</code>
</a>If we add this CSS to the page:
.swift-only {}
.occ-only {
display: none;
}the rendered page will only display the Swift title for that link. If we flip the CSS, then the rendered page will only display the Objective-C title for that link.
If the symbol has the same title on both languages, or is only available in a single language,then it's unnecessary to have 2 <code> elements, and the HTML can be simplified to just:
<a href=../somemethod(with:and:)/index.html>
<code>someMethod(with:and:)</code>
</a>Co-authored-by: Joseph Heck <j_heck@apple.com>
|
@swift-ci please test |
Bug/issue #, if applicable: rdar://163326857
Summary
This is another slice of #1366
It adds a helper function to the
DocCHTML/MarkdownRendererto render page breadcrumbs as HTMLDependencies
None.
Testing
Nothing in particular for this PR. It only adds an internal helper function. See #1366 for how it eventually does get used.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.
./bin/testscript and it succeeded