Ben Schlegel
2023-09-15 91f9ae2d71d5c28ba7d2182eed5a9f77da1fbe8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { GlobalConfiguration } from "../cfg"
import { QuartzPluginData } from "../plugins/vfile"
 
interface Props {
  date: Date
}
 
export type ValidDateType = keyof Required<QuartzPluginData>["dates"]
 
export function getDate(cfg: GlobalConfiguration, data: QuartzPluginData): Date | undefined {
  if (!cfg.defaultDateType) {
    throw new Error(
      `Field 'defaultDateType' was not set in the configuration object of quartz.config.ts. See https://quartz.jzhao.xyz/configuration#general-configuration for more details.`,
    )
  }
  return data.dates?.[cfg.defaultDateType]
}
 
export function formatDate(d: Date): string {
  return d.toLocaleDateString("en-US", {
    year: "numeric",
    month: "short",
    day: "2-digit",
  })
}
 
export function Date({ date }: Props) {
  return <>{formatDate(date)}</>
}