Skip to content

Commit dbbe641

Browse files
committed
also display a link to any markdown supplements that contributed to docs
1 parent 763e186 commit dbbe641

File tree

9 files changed

+36
-14
lines changed

9 files changed

+36
-14
lines changed

Sources/SwiftinitPages/Surfaces/Vertices/Swiftinit.Docs.ArticlePage.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ extension Swiftinit.Docs.ArticlePage:Swiftinit.VersionedPage
7474

7575
$0 ?= (self.vertex.overview?.markdown).map(self.context.prose(_:))
7676

77-
if let file:Unidoc.Scalar = self.vertex.file
77+
if let file:Unidoc.Scalar = self.vertex.readme
7878
{
7979
$0 ?= self.context.link(file: file)
8080
}

Sources/SwiftinitPages/Surfaces/Vertices/Swiftinit.Docs.DeclPage.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ extension Swiftinit.Docs.DeclPage:Swiftinit.VersionedPage
122122
{
123123
$0 ?= self.context.link(file: location.file, line: location.position.line)
124124
}
125+
if let file:Unidoc.Scalar = self.vertex.readme
126+
{
127+
$0 ?= self.context.link(file: file)
128+
}
125129
}
126130

127131
if let _:[String] = self.vertex.signature.spis

Sources/UnidocLinker/Sema/Unidoc.Linker.Tables.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ extension Unidoc.Linker.Tables
396396
var vertex:Unidoc.Vertex.Article = .init(id: scalar,
397397
stem: .article(namespace.module, symbol.name),
398398
culture: namespace.culture,
399-
file: node.article.file.map { self.current.id + $0 },
399+
readme: node.article.file.map { self.current.id + $0 },
400400
headline: node.headline,
401401
group: self.groupContainingMember[a])
402402

@@ -497,6 +497,8 @@ extension Unidoc.Linker.Tables
497497
{
498498
$0.link(article: article)
499499
}
500+
501+
vertex.readme = article.file.map { self.current.id + $0 }
500502
}
501503

502504
self.decls.append(vertex)

Sources/UnidocQueries/Volumes/Unidoc.LookupAdjacent.ScalarsView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ extension Unidoc.LookupAdjacent.ScalarsView
4242
$0.append(self.path / Unidoc.Vertex[.culture])
4343
$0.append(self.path / Unidoc.Vertex[.extendee])
4444
$0.append(self.path / Unidoc.Vertex[.renamed])
45+
$0.append(self.path / Unidoc.Vertex[.readme])
4546
$0.append(self.path / Unidoc.Vertex[.file])
4647
}
4748

Sources/UnidocQueries/Volumes/Unidoc.LookupAdjacent.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ extension Unidoc.LookupAdjacent:Unidoc.LookupContext
104104
{
105105
pipeline[.set] = .init
106106
{
107-
let dependencies:Mongo.List<Unidoc.VolumeMetadata.Dependency, Mongo.KeyPath> = .init(
107+
let dependencies:
108+
Mongo.List<Unidoc.VolumeMetadata.Dependency, Mongo.KeyPath> = .init(
108109
in: volume / Unidoc.VolumeMetadata[.dependencies])
109110
let extensions:Mongo.List<Unidoc.Group, Mongo.KeyPath> = .init(
110111
in: groups)

Sources/UnidocQueries/Volumes/Unidoc.VertexQuery.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,8 @@ extension Unidoc.VertexQuery:Unidoc.VolumeQuery
344344
{
345345
$0[edges.volumes] = .init
346346
{
347-
$0[.ne] = Unidoc.PrincipalOutput[.volume] / Unidoc.VolumeMetadata[.id]
347+
$0[.ne] =
348+
Unidoc.PrincipalOutput[.volume] / Unidoc.VolumeMetadata[.id]
348349
}
349350
}
350351
}

Sources/UnidocRecords/Volumes/Vertices/Unidoc.Vertex.Article.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ extension Unidoc.Vertex
1616
public
1717
var culture:Unidoc.Scalar
1818
public
19-
var file:Unidoc.Scalar?
19+
var readme:Unidoc.Scalar?
20+
21+
@available(*, deprecated, renamed: "readme")
22+
public
23+
var file:Unidoc.Scalar? { self.readme }
2024

2125
public
2226
var headline:MarkdownBytecode
@@ -31,7 +35,7 @@ extension Unidoc.Vertex
3135
init(id:Unidoc.Scalar,
3236
stem:Unidoc.Stem,
3337
culture:Unidoc.Scalar,
34-
file:Unidoc.Scalar? = nil,
38+
readme:Unidoc.Scalar? = nil,
3539
headline:MarkdownBytecode = [],
3640
overview:Unidoc.Passage? = nil,
3741
details:Unidoc.Passage? = nil,
@@ -41,7 +45,7 @@ extension Unidoc.Vertex
4145
self.stem = stem
4246

4347
self.culture = culture
44-
self.file = file
48+
self.readme = readme
4549

4650
self.headline = headline
4751
self.overview = overview

Sources/UnidocRecords/Volumes/Vertices/Unidoc.Vertex.Decl.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ extension Unidoc.Vertex
3737
public
3838
var renamed:Unidoc.Scalar?
3939
public
40+
var readme:Unidoc.Scalar?
41+
public
4042
var file:Unidoc.Scalar?
4143
// TODO: consider combining this into flags.
4244
public
@@ -63,6 +65,7 @@ extension Unidoc.Vertex
6365
culture:Unidoc.Scalar,
6466
scope:[Unidoc.Scalar],
6567
renamed:Unidoc.Scalar? = nil,
68+
readme:Unidoc.Scalar? = nil,
6669
file:Unidoc.Scalar? = nil,
6770
position:SourcePosition? = nil,
6871
overview:Unidoc.Passage? = nil,
@@ -86,8 +89,8 @@ extension Unidoc.Vertex
8689
self.group = group
8790

8891
self.renamed = renamed
92+
self.readme = readme
8993
self.file = file
90-
9194
self.position = position
9295
self.overview = overview
9396
self.details = details

Sources/UnidocRecords/Volumes/Vertices/Unidoc.Vertex.swift

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,10 @@ extension Unidoc.Vertex
217217
/// Only appears in ``Decl``. The field contains a scalar.
218218
case renamed = "a"
219219
/// Can appear in ``Article``, ``Culture``, or ``Decl``.
220-
/// The field contains a scalar. In ``Culture``, it points to the readme
221-
/// article for the module.
220+
/// The field contains a scalar. In ``Article`` or ``Decl``, the file references a
221+
/// markdown supplement.
222+
case readme = "m"
223+
/// Only appears in ``Decl``. The field contains a scalar.
222224
case file = "f"
223225

224226
/// Only appears in ``Decl``.
@@ -264,7 +266,7 @@ extension Unidoc.Vertex:BSONDocumentEncodable
264266
bson[.stem] = self.stem
265267

266268
bson[.culture] = self.culture
267-
bson[.file] = self.file
269+
bson[.readme] = self.readme
268270
bson[.headline] = self.headline
269271

270272
bson[.overview] = self.overview
@@ -304,6 +306,7 @@ extension Unidoc.Vertex:BSONDocumentEncodable
304306
bson[.culture] = self.culture
305307
bson[.scope] = self.scope.isEmpty ? nil : self.scope
306308
bson[.renamed] = self.renamed
309+
bson[.readme] = self.readme
307310
bson[.file] = self.file
308311

309312
bson[.position] = self.position
@@ -322,7 +325,7 @@ extension Unidoc.Vertex:BSONDocumentEncodable
322325
bson[.stem] = self.stem
323326

324327
bson[.module] = self.module
325-
bson[.file] = self.readme
328+
bson[.readme] = self.readme
326329
bson[.census] = self.census
327330

328331
bson[.overview] = self.overview
@@ -371,7 +374,8 @@ extension Unidoc.Vertex:BSONDocumentDecodable
371374
case .module?:
372375
self = .culture(.init(id: id,
373376
module: try bson[.module].decode(),
374-
readme: try bson[.file]?.decode(),
377+
// Needed until we can migrate the database.
378+
readme: try bson[.readme]?.decode() ?? bson[.file]?.decode(),
375379
census: try bson[.census].decode(),
376380
overview: try bson[.overview]?.decode(),
377381
details: try bson[.details]?.decode(),
@@ -401,6 +405,7 @@ extension Unidoc.Vertex:BSONDocumentDecodable
401405
culture: culture,
402406
scope: try bson[.scope]?.decode() ?? [],
403407
renamed: try bson[.renamed]?.decode(),
408+
readme: try bson[.readme]?.decode(),
404409
file: try bson[.file]?.decode(),
405410
position: try bson[.position]?.decode(),
406411
overview: try bson[.overview]?.decode(),
@@ -412,7 +417,8 @@ extension Unidoc.Vertex:BSONDocumentDecodable
412417
self = .article(.init(id: id,
413418
stem: try bson[.stem].decode(),
414419
culture: try bson[.culture].decode(),
415-
file: try bson[.file]?.decode(),
420+
// Needed until we can migrate the database.
421+
readme: try bson[.readme]?.decode() ?? bson[.file]?.decode(),
416422
headline: try bson[.headline].decode(),
417423
overview: try bson[.overview]?.decode(),
418424
details: try bson[.details]?.decode(),

0 commit comments

Comments
 (0)