Merge pull request #33089 from overleaf/ds-export-md-files-pandoc

[WEB + CLSI] Download as markdown

GitOrigin-RevId: 181eddf2513e9c5edacbab37e93f9cac2191ee1a
This commit is contained in:
Mathias Jakobsen
2026-05-08 08:09:07 +00:00
committed by Copybot
parent eddcc5a42e
commit 5dc67db403
13 changed files with 377 additions and 30 deletions
@@ -142,3 +142,43 @@ export const ExportProjectDocx = () => {
</OLDropdownMenuItem>
)
}
export const ExportProjectMarkdown = () => {
const { t } = useTranslation()
const { projectId } = useProjectContext()
const exportMarkdownEnabled = useFeatureFlag('export-markdown')
const enablePandocConversions =
getMeta('ol-ExposedSettings')?.enablePandocConversions
const anonymous = getMeta('ol-anonymous')
const showExportMarkdown =
exportMarkdownEnabled && enablePandocConversions && !anonymous
useCommandProvider(
() =>
showExportMarkdown
? [
{
id: 'export-as-markdown',
href: `/project/${projectId}/download/conversion/markdown`,
label: t('export_as_markdown'),
},
]
: [],
[t, showExportMarkdown, projectId]
)
if (!showExportMarkdown) {
return null
}
return (
<OLDropdownMenuItem
href={`/project/${projectId}/download/conversion/markdown`}
target="_blank"
rel="noreferrer"
>
{t('export_as_markdown')}
</OLDropdownMenuItem>
)
}
@@ -95,6 +95,7 @@ export const ToolbarMenuBar = () => {
'download-as-source-zip',
'download-pdf',
'export-as-docx',
'export-as-markdown',
],
},
],
@@ -14,6 +14,7 @@ import {
DownloadProjectPDF,
DownloadProjectZip,
ExportProjectDocx,
ExportProjectMarkdown,
} from './download-project'
import { useCallback, useState } from 'react'
import OLDropdownMenuItem from '@/shared/components/ol/ol-dropdown-menu-item'
@@ -81,6 +82,7 @@ export const ToolbarProjectTitle = () => {
<DownloadProjectPDF />
<DownloadProjectZip />
<ExportProjectDocx />
<ExportProjectMarkdown />
<DropdownDivider />
<DuplicateProject />
<OLDropdownMenuItem