+
+ Download a static copy of your page to share with others.
+
+
+ {
+ if (!contentParserRef.current) {
+ contentParserRef.current = new ContentParser(props.currentPage);
+ }
+ return contentParserRef.current.onExportHtml();
+ }}
+ >
+ Export to HTML
+
+ {
+ if (!contentParserRef.current) {
+ contentParserRef.current = new ContentParser(props.currentPage);
+ }
+ return contentParserRef.current.onExportMarkdown();
+ }}
+ >
+ Export to Markdown
+
+
+
+ );
+};
diff --git a/packages/component/src/components/share-menu/SharePage.tsx b/packages/component/src/components/share-menu/SharePage.tsx
new file mode 100644
index 0000000000..82e991518c
--- /dev/null
+++ b/packages/component/src/components/share-menu/SharePage.tsx
@@ -0,0 +1,70 @@
+import { getEnvironment } from '@affine/env';
+import type { LocalWorkspace } from '@affine/workspace/type';
+import { WorkspaceFlavour } from '@affine/workspace/type';
+import { useBlockSuiteWorkspacePageIsPublic } from '@toeverything/hooks/use-blocksuite-workspace-page-is-public';
+import type { FC } from 'react';
+import { useCallback, useMemo } from 'react';
+
+import { Button } from '../..';
+import type { ShareMenuProps } from './index';
+import { buttonStyle, descriptionStyle, menuItemStyle } from './index.css';
+
+export const LocalSharePage: FC