Obsidian settings for images: File path is ../../../public/images/obsidian-image-settings.png
, but Next.js will serve the file under /images/obsidian-image-settings.png
.
Custom renderer
Add image.markdoc.ts
to the markdoc
folder used for customizing Markdoc (export it from index.ts
too) with the following code:
import { nodes } from "@markdoc/markdoc"; import Image from "../../components/image.tsx"; export default { ...nodes.image, render: Image, };
The link component:
type ImageProps = { src: string; alt?: string; title?: string; }; export default function Image({ src, ...props }: ImageProps) { // Fix src and remove everything before public const fixedSrc = src.substring(src.indexOf("public") + "public".length); return <img src={fixedSrc} {...props} />; }