diff --git a/packages/obsidian/package.json b/packages/obsidian/package.json index ae4c5ad2..7e73f4a8 100644 --- a/packages/obsidian/package.json +++ b/packages/obsidian/package.json @@ -16,22 +16,14 @@ "license": "Apache 2.0", "devDependencies": { "@types/mime-types": "^2.1.1", - "@types/prosemirror-model": "1.16.2", "@types/react-dom": "^18.0.11", - "@types/prosemirror-state": "^1.3.0", - "@types/prosemirror-transform": "^1.4.2", - "@types/prosemirror-view": "^1.23.1", "obsidian": "1.1.1" }, "dependencies": { - "@atlaskit/adf-utils": "^18.1.1", - "@atlaskit/editor-json-transformer": "^8.8.4", - "@atlaskit/renderer": "^107.3.3", "confluence.js": "^1.6.3", "mime-types": "^2.1.35", "react": "^16.14.0", "react-dom": "^16.14.0", - "react-intl-next": "npm:react-intl@^5.18.1", "@markdown-confluence/lib": "4.9.0", "@markdown-confluence/mermaid-electron-renderer": "4.9.0" }, diff --git a/packages/obsidian/src/AdfView.ts b/packages/obsidian/src/AdfView.ts deleted file mode 100644 index 2ddc2249..00000000 --- a/packages/obsidian/src/AdfView.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { - FileSystemAdapter, - ItemView, - Vault, - Workspace, - WorkspaceLeaf, -} from "obsidian"; -import { - ConfluenceUploadSettings, - convertMDtoADF, - LoaderAdaptor, -} from "@markdown-confluence/lib"; -import React from "react"; -import ReactDOM from "react-dom"; -import { ReactRenderer } from "@atlaskit/renderer"; -import { JSONDocNode } from "@atlaskit/editor-json-transformer"; -import { traverse } from "@atlaskit/adf-utils/traverse"; -import { IntlProvider } from "react-intl-next"; - -export const ADF_VIEW_TYPE = "AtlassianDocumentFormatView"; - -export default class AdfView extends ItemView { - settings: ConfluenceUploadSettings.ConfluenceSettings; - filePath: string | undefined; - fileName: string; - vault: Vault; - workspace: Workspace; - adaptor: LoaderAdaptor; - - getViewType(): string { - return ADF_VIEW_TYPE; - } - - getDisplayText(): string { - return "ADF Preview"; - } - - override getIcon() { - return "dot-network"; - } - - constructor( - settings: ConfluenceUploadSettings.ConfluenceSettings, - leaf: WorkspaceLeaf, - initialFileInfo: { path: string | undefined; basename: string }, - adaptor: LoaderAdaptor - ) { - super(leaf); - this.settings = settings; - this.filePath = initialFileInfo.path; - this.fileName = initialFileInfo.basename; - this.vault = this.app.vault; - this.workspace = this.app.workspace; - this.adaptor = adaptor; - } - - override async onOpen() { - const container = this.containerEl.children[1] as HTMLElement; - container.style.backgroundColor = "#FFFFFF"; - - if (!this.filePath) { - container.textContent = "Current file not supported"; - return; - } - - const md = await this.adaptor.loadMarkdownFile(this.filePath); - const adf = convertMDtoADF(md, this.settings).contents; - const renderADF = this.convertMediaFilesToLocalPath(adf); - - const locale = "en"; - const messages = { - // Your localized messages - }; - - const intlProvider = React.createElement( - IntlProvider, - { - locale: locale, - messages: messages, - }, - // @ts-ignore - React.createElement(ReactRenderer, { document: renderADF }) - ); - - ReactDOM.render(intlProvider, container); - } - - convertMediaFilesToLocalPath(adf: JSONDocNode): JSONDocNode { - return traverse(adf, { - media: (node) => { - if (node?.attrs?.["type"] === "file") { - const currentUrl = node?.attrs?.["url"] as string; - const test = this.app.vault.adapter as FileSystemAdapter; - const vaultPath = - this.app.metadataCache.getFirstLinkpathDest( - currentUrl.replace("file://", ""), - this.filePath ?? "" - ); - if (!vaultPath) { - return false; - } - const path = test.getResourcePath(vaultPath.path); - node.attrs["type"] = "external"; - node.attrs["url"] = path; - return node; - } - return; - }, - }) as JSONDocNode; - } - - getBasePath() { - const adapter = app.vault.adapter; - if (adapter instanceof FileSystemAdapter) { - return adapter.getBasePath(); - } - throw new Error("No Path???"); - } - - override async onClose() { - // Nothing to clean up. - } -}