diff --git a/markdown_view_plugin/hatch_build.py b/markdown_view_plugin/hatch_build.py index 6c2588a..7fa381f 100644 --- a/markdown_view_plugin/hatch_build.py +++ b/markdown_view_plugin/hatch_build.py @@ -7,7 +7,7 @@ from hatchling.builders.hooks.plugin.interface import BuildHookInterface class MarkdownBuildHook(BuildHookInterface): def initialize(self, version, build_data): # 1. Compile the UI exactly once per build - ui_dir = pathlib.Path(__file__).parent / "ui" + ui_dir = pathlib.Path(__file__).parent / "markdown_view_plugin" / "ui" dist_dir = ui_dir / "dist" # Clean any existing dist directory to ensure fresh build diff --git a/markdown_view_plugin/markdown_view_plugin/__init__.py b/markdown_view_plugin/markdown_view_plugin/__init__.py new file mode 100644 index 0000000..500c08f --- /dev/null +++ b/markdown_view_plugin/markdown_view_plugin/__init__.py @@ -0,0 +1 @@ +from markdown_view_plugin.markdown_view_plugin import MarkdownViewPlugin diff --git a/markdown_view_plugin/markdown_view_plugin.py b/markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py similarity index 100% rename from markdown_view_plugin/markdown_view_plugin.py rename to markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py diff --git a/markdown_view_plugin/markdown_view_plugin/ui/.DS_Store b/markdown_view_plugin/markdown_view_plugin/ui/.DS_Store new file mode 100644 index 0000000..b460e1c Binary files /dev/null and b/markdown_view_plugin/markdown_view_plugin/ui/.DS_Store differ diff --git a/markdown_view_plugin/ui/index.html b/markdown_view_plugin/markdown_view_plugin/ui/index.html similarity index 100% rename from markdown_view_plugin/ui/index.html rename to markdown_view_plugin/markdown_view_plugin/ui/index.html diff --git a/markdown_view_plugin/ui/package.json b/markdown_view_plugin/markdown_view_plugin/ui/package.json similarity index 100% rename from markdown_view_plugin/ui/package.json rename to markdown_view_plugin/markdown_view_plugin/ui/package.json diff --git a/markdown_view_plugin/ui/pnpm-lock.yaml b/markdown_view_plugin/markdown_view_plugin/ui/pnpm-lock.yaml similarity index 100% rename from markdown_view_plugin/ui/pnpm-lock.yaml rename to markdown_view_plugin/markdown_view_plugin/ui/pnpm-lock.yaml diff --git a/markdown_view_plugin/ui/src/App.tsx b/markdown_view_plugin/markdown_view_plugin/ui/src/App.tsx similarity index 100% rename from markdown_view_plugin/ui/src/App.tsx rename to markdown_view_plugin/markdown_view_plugin/ui/src/App.tsx diff --git a/markdown_view_plugin/markdown_view_plugin/ui/src/View.tsx b/markdown_view_plugin/markdown_view_plugin/ui/src/View.tsx new file mode 100644 index 0000000..ff42e32 --- /dev/null +++ b/markdown_view_plugin/markdown_view_plugin/ui/src/View.tsx @@ -0,0 +1,88 @@ +import React, { useEffect, useState } from 'react'; +import ReactMarkdown from 'react-markdown'; +import remarkGfm from 'remark-gfm'; +import { fetchMarkdownContent } from './api'; +// import { SunIcon, MoonIcon } from '@chakra-ui/icons'; +import { useColorMode } from '@chakra-ui/system'; + +// Custom renderer to mimic Airflow core UI style +const markdownComponents = { + h1: (props: any) =>

, + h2: (props: any) =>

, + h3: (props: any) =>

, + p: (props: any) =>

, + code: (props: any) => { + const { inline, className, children, ...rest } = props; + return !inline ? ( +

+        {children}
+      
+ ) : ( + {children} + ); + }, + a: (props: any) => , + ul: (props: any) =>