@@ -22,7 +22,7 @@ struct DocumentationPageProcessor {
22
22
let repositoryOwnerName : String
23
23
let repositoryName : String
24
24
let packageName : String
25
- let docVersion : DocRoute . DocVersion
25
+ let docVersion : DocVersion
26
26
let referenceLatest : Version . Kind ?
27
27
let referenceKind : Version . Kind
28
28
let canonicalUrl : String ?
@@ -49,7 +49,7 @@ struct DocumentationPageProcessor {
49
49
repositoryOwnerName: String ,
50
50
repositoryName: String ,
51
51
packageName: String ,
52
- docVersion: DocRoute . DocVersion ,
52
+ docVersion: DocVersion ,
53
53
referenceLatest: Version . Kind ? ,
54
54
referenceKind: Version . Kind ,
55
55
canonicalUrl: String ? ,
@@ -134,7 +134,7 @@ struct DocumentationPageProcessor {
134
134
SiteURL . relativeURL (
135
135
owner: repositoryOwner,
136
136
repository: repositoryName,
137
- documentation: . internal( reference : version. reference,
137
+ documentation: . internal( docVersion : . reference ( version. reference) ,
138
138
archive: currentArchive. name) ,
139
139
fragment: . documentation
140
140
)
@@ -171,7 +171,7 @@ struct DocumentationPageProcessor {
171
171
SiteURL . relativeURL (
172
172
owner: repositoryOwner,
173
173
repository: repositoryName,
174
- documentation: . internal( reference : docVersion. reference , archive: archive. name) ,
174
+ documentation: . internal( docVersion : docVersion, archive: archive. name) ,
175
175
fragment: . documentation
176
176
)
177
177
) ,
@@ -210,7 +210,7 @@ struct DocumentationPageProcessor {
210
210
SiteURL . relativeURL (
211
211
owner: repositoryOwner,
212
212
repository: repositoryName,
213
- documentation: . internal( reference : latestStable. reference,
213
+ documentation: . internal( docVersion : . reference ( latestStable. reference) ,
214
214
archive: docArchive. name) ,
215
215
fragment: . documentation
216
216
)
@@ -308,13 +308,13 @@ struct DocumentationPageProcessor {
308
308
)
309
309
}
310
310
311
- static func rewriteBaseUrls( document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocRoute . DocVersion ) throws {
311
+ static func rewriteBaseUrls( document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocVersion ) throws {
312
312
try rewriteScriptBaseUrl ( document: document, owner: owner, repository: repository, docVersion: docVersion)
313
313
try rewriteAttribute ( " href " , document: document, owner: owner, repository: repository, docVersion: docVersion)
314
314
try rewriteAttribute ( " src " , document: document, owner: owner, repository: repository, docVersion: docVersion)
315
315
}
316
316
317
- static func rewriteScriptBaseUrl( document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocRoute . DocVersion ) throws {
317
+ static func rewriteScriptBaseUrl( document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocVersion ) throws {
318
318
// Possible rewrite strategies
319
319
// / -> /a/b/1.2.3 (toReference)
320
320
// / -> /a/b/~ (current)
@@ -328,11 +328,13 @@ struct DocumentationPageProcessor {
328
328
let path = " / \( owner) / \( repository) / \( String . current) / " . lowercased ( )
329
329
try e. html ( #"var baseUrl = " \#( path) ""# )
330
330
}
331
- let fullyQualifiedPrefix = " / \( owner) / \( repository) / \( reference) " . lowercased ( )
332
- if value == #"var baseUrl = " \#( fullyQualifiedPrefix) /""# {
333
- // /a/b/1.2.3 -> /a/b/~ (current)
334
- let path = " / \( owner) / \( repository) / \( String . current) / " . lowercased ( )
335
- try e. html ( #"var baseUrl = " \#( path) ""# )
331
+ if let reference {
332
+ let fullyQualifiedPrefix = " / \( owner) / \( repository) / \( reference) " . lowercased ( )
333
+ if value == #"var baseUrl = " \#( fullyQualifiedPrefix) /""# {
334
+ // /a/b/1.2.3 -> /a/b/~ (current)
335
+ let path = " / \( owner) / \( repository) / \( String . current) / " . lowercased ( )
336
+ try e. html ( #"var baseUrl = " \#( path) ""# )
337
+ }
336
338
}
337
339
}
338
340
case . reference( let reference) :
@@ -347,7 +349,7 @@ struct DocumentationPageProcessor {
347
349
}
348
350
}
349
351
350
- static func rewriteAttribute( _ attribute: String , document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocRoute . DocVersion ) throws {
352
+ static func rewriteAttribute( _ attribute: String , document: SwiftSoup . Document , owner: String , repository: String , docVersion: DocVersion ) throws {
351
353
// Possible rewrite strategies
352
354
// / -> /a/b/1.2.3 (toReference)
353
355
// / -> /a/b/~ (current)
@@ -360,7 +362,7 @@ struct DocumentationPageProcessor {
360
362
// no /{owner}/{repo}/ prefix -> it's a dynamic base url resource, i.e. a "/" resource
361
363
// / -> /a/b/~ (current)
362
364
try e. attr ( attribute, " / \( owner) / \( repository) / \( String . current) \( value) " . lowercased ( ) )
363
- } else {
365
+ } else if let reference {
364
366
let fullyQualifiedPrefix = " / \( owner) / \( repository) / \( reference) " . lowercased ( )
365
367
if value. lowercased ( ) . hasPrefix ( fullyQualifiedPrefix) {
366
368
// matches expected fully qualified resource path
0 commit comments