Something went wrong. Try again.
Automerge backed Markdown editor for the Atmosphere
Something went wrong. Try again.
123456789101112131415161718192021222324252627// Keep this allowlist aligned with the text formats the file/content-type// layer understands. Unknown dotted names still default to Markdown.const SUPPORTED_TEXT_EXTENSIONS = new Set(['md', 'wiki', 'markdown', 'txt', 'json', 'base'])const MARKDOWN_EXTENSIONS = new Set(['md', 'wiki', 'markdown'])
function filenameExtension(name: string): string | null { const basenameStart = name.lastIndexOf('/') + 1 const dot = name.lastIndexOf('.') if (dot <= basenameStart || dot === name.length - 1) return null return name.slice(dot + 1).toLowerCase()}
export function hasSupportedTextExtension(name: string): boolean { const extension = filenameExtension(name) return extension !== null && SUPPORTED_TEXT_EXTENSIONS.has(extension)}
export function isMarkdownFilename(name: string): boolean { const extension = filenameExtension(name) return extension !== null && MARKDOWN_EXTENSIONS.has(extension)}
/** Ensure an extensionless or unknown-dotted filename defaults to .md. */export function ensureMdExtension(name: string): string { return hasSupportedTextExtension(name) ? name : `${name}.md`}