| | |
| | | repoId: string |
| | | category: string |
| | | categoryId: string |
| | | themeUrl?: string |
| | | lightTheme?: string |
| | | darkTheme?: string |
| | | mapping?: "url" | "title" | "og:title" | "specific" | "number" | "pathname" |
| | | strict?: boolean |
| | | reactionsEnabled?: boolean |
| | | inputPosition?: "top" | "bottom" |
| | | lang?: string |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | export default ((opts: Options) => { |
| | | const Comments: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => { |
| | | const Comments: QuartzComponent = ({ displayClass, fileData, cfg }: QuartzComponentProps) => { |
| | | // check if comments should be displayed according to frontmatter |
| | | const disableComment: boolean = |
| | | typeof fileData.frontmatter?.comments !== "undefined" && |
| | | (!fileData.frontmatter?.comments || fileData.frontmatter?.comments === "false") |
| | | if (disableComment) { |
| | | return <></> |
| | | } |
| | | |
| | | return ( |
| | | <div |
| | | class={classNames(displayClass, "giscus")} |
| | |
| | | data-strict={boolToStringBool(opts.options.strict ?? true)} |
| | | data-reactions-enabled={boolToStringBool(opts.options.reactionsEnabled ?? true)} |
| | | data-input-position={opts.options.inputPosition ?? "bottom"} |
| | | data-light-theme={opts.options.lightTheme ?? "light"} |
| | | data-dark-theme={opts.options.darkTheme ?? "dark"} |
| | | data-theme-url={ |
| | | opts.options.themeUrl ?? `https://${cfg.baseUrl ?? "example.com"}/static/giscus` |
| | | } |
| | | data-lang={opts.options.lang ?? "en"} |
| | | ></div> |
| | | ) |
| | | } |