import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" import style from "./styles/backlinks.scss" import { resolveRelative, simplifySlug } from "../util/path" import { i18n } from "../i18n" import { classNames } from "../util/lang" interface BacklinksOptions { hideWhenEmpty: boolean } const defaultOptions: BacklinksOptions = { hideWhenEmpty: true, } export default ((opts?: Partial) => { const options: BacklinksOptions = { ...defaultOptions, ...opts } const Backlinks: QuartzComponent = ({ fileData, allFiles, displayClass, cfg, }: QuartzComponentProps) => { const slug = simplifySlug(fileData.slug!) const backlinkFiles = allFiles.filter((file) => file.links?.includes(slug)) if (options.hideWhenEmpty && backlinkFiles.length == 0) { return null } return (

{i18n(cfg.locale).components.backlinks.title}

) } Backlinks.css = style return Backlinks }) satisfies QuartzComponentConstructor