Added general content blocks
This commit is contained in:
@@ -69,6 +69,7 @@ export function buildSite(content: Content, visibility: Visibility): Site {
|
||||
pages,
|
||||
tags,
|
||||
byPath,
|
||||
known: new Set(content.articles.keys()),
|
||||
roots,
|
||||
diagnostics: [...content.diagnostics, ...problems.list],
|
||||
}
|
||||
|
||||
10
src/lib/site/links.ts
Normal file
10
src/lib/site/links.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import type { LinkTarget } from '../markdoc/types'
|
||||
import type { Site } from './types'
|
||||
|
||||
export const linkTo =
|
||||
(site: Site) =>
|
||||
(id: string): LinkTarget => {
|
||||
const article = site.articles.get(id)
|
||||
if (article) return { path: article.path }
|
||||
return site.known.has(id) ? { path: null } : undefined
|
||||
}
|
||||
@@ -33,6 +33,7 @@ export type Site = {
|
||||
pages: Map<string, Page>
|
||||
tags: Map<string, Tag>
|
||||
byPath: Map<string, Routed>
|
||||
known: Set<string>
|
||||
roots: Article[]
|
||||
diagnostics: Diagnostic[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user