Skip to content

Commit 3d5cae1

Browse files
committed
render article links with the article title instead of the file path
1 parent 6f2b300 commit 3d5cae1

File tree

7 files changed

+42
-14
lines changed

7 files changed

+42
-14
lines changed

Assets/css/Main.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/css/Main.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,6 @@ let package:Package = .init(
385385
.target(name: "SwiftinitPages", dependencies:
386386
[
387387
.target(name: "GitHubAPI"),
388-
.target(name: "MarkdownRendering"),
389388
.target(name: "SwiftinitRender"),
390389
.target(name: "UnidocAPI"),
391390
.target(name: "UnidocProfiling"),
@@ -396,6 +395,7 @@ let package:Package = .init(
396395
[
397396
.target(name: "HTTP"),
398397
.target(name: "HTML"),
398+
.target(name: "MarkdownRendering"),
399399
.target(name: "Media"),
400400
.target(name: "Swiftinit"),
401401
.target(name: "UnidocRecords"),

Sources/SwiftinitPages/Contexts/IdentifiablePageContext.swift

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import HTML
22
import LexicalPaths
33
import MarkdownABI
4+
import MarkdownRendering
45
import Signatures
56
import SwiftinitRender
67
import Symbols
@@ -154,13 +155,6 @@ extension IdentifiablePageContext where ID:VersionedPageIdentifier
154155

155156
var domain:Unidoc.VolumeMetadata.Domain { .init(self.volume) }
156157

157-
func link(module:Unidoc.Scalar) -> HTML.Link<Symbol.Module>?
158-
{
159-
self.cache[culture: module].map
160-
{
161-
.init(display: $0.module.id, target: $1)
162-
}
163-
}
164158
func link(decl:Unidoc.Scalar) -> HTML.Link<String>?
165159
{
166160
self.cache[decl: decl].map
@@ -190,6 +184,23 @@ extension IdentifiablePageContext where ID:VersionedPageIdentifier
190184
extension IdentifiablePageContext:Swiftinit.VersionedPageContext
191185
where ID:VersionedPageIdentifier
192186
{
187+
@usableFromInline internal
188+
func link(article:Unidoc.Scalar) -> HTML.Link<MarkdownBytecode.SafeView>?
189+
{
190+
self.cache[article: article].map
191+
{
192+
.init(display: $0.headline.safe, target: $1)
193+
}
194+
}
195+
@usableFromInline internal
196+
func link(module:Unidoc.Scalar) -> HTML.Link<Symbol.Module>?
197+
{
198+
self.cache[culture: module].map
199+
{
200+
.init(display: $0.module.id, target: $1)
201+
}
202+
}
203+
193204
@usableFromInline internal
194205
func vector<Display, Vector>(_ vector:Vector,
195206
display:Display) -> HTML.VectorLink<Display, Vector>

Sources/SwiftinitPages/Sections/ProseSection.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import HTML
22
import MarkdownABI
33
import MarkdownRendering
4+
import SymbolGraphs
45
import Unidoc
56
import UnidocRecords
67

@@ -63,6 +64,13 @@ extension ProseSection:HyperTextRenderableMarkdown
6364
html[.code] = text
6465

6566
case .path(let stem, let scalars):
67+
if let scalar:Unidoc.Scalar = scalars.first,
68+
SymbolGraph.Plane.article.contains(scalar.citizen)
69+
{
70+
html ?= self.context.link(article: scalar)
71+
return
72+
}
73+
6674
// Take the suffix of the stem, because it may include a module namespace,
6775
// and we never render the module namespace, even if it was written in the
6876
// codelink text.

Sources/SwiftinitRender/Swiftinit.VersionedPageContext.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
import HTML
2+
import MarkdownABI
3+
import MarkdownRendering
4+
import Symbols
25
import Unidoc
36
import UnidocRecords
47

@@ -11,6 +14,10 @@ extension Swiftinit
1114
public
1215
protocol _SwiftinitVersionedPageContext:AnyObject
1316
{
17+
func link(article:Unidoc.Scalar) -> HTML.Link<MarkdownBytecode.SafeView>?
18+
19+
func link(module:Unidoc.Scalar) -> HTML.Link<Symbol.Module>?
20+
1421
func vector<Display, Vector>(_ vector:Vector,
1522
display:Display) -> HTML.VectorLink<Display, Vector>
1623
where Vector:Sequence<Unidoc.Scalar>

Stylesheets/_Tables.scss

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@ section.details table
2424
padding-left: 0;
2525
}
2626
}
27-
section.details table.dependencies
27+
section.details table.dependencies,
28+
section.details table.platforms,
29+
section.details table.tags
2830
{
2931
width: 100%;
30-
32+
}
33+
section.details table.dependencies
34+
{
3135
td:first-child
3236
{
3337
font-style: italic;
@@ -39,8 +43,6 @@ section.details table.dependencies
3943
}
4044
section.details table.tags
4145
{
42-
width: 100%;
43-
4446
tr.modern
4547
{
4648
font-weight: 700;

0 commit comments

Comments
 (0)