Commit Graph
100 Commits
Author SHA1 Message Date
cfngc4594 e06f286815 feat(playground): add Description and Workspace layouts with tabs for better organization 2025-02-23 19:17:03 +08:00
cfngc4594 d5cda08a3e feat(components/ui): add Badge and Tabs components from shadcn/ui 2025-02-23 16:37:12 +08:00
cfngc4594 6f2d853531 feat(code-editor): use default file path for code editor based on language 2025-02-23 16:11:53 +08:00
cfngc4594 545f094f49 feat(config): add default file paths for supported languages 2025-02-23 16:11:47 +08:00
cfngc4594 4cd56f6fab refactor(option): Rename code-editor-options.ts to option.ts and add wordWrap option
Renamed code-editor-options.ts to option.ts and added the wordWrap: "on" option to enable word wrapping in the code editor.
2025-02-23 15:05:46 +08:00
cfngc4594 269f41525b style(mdx): Add subheading anchor style, underline on hover
- Added `subheading-anchor` style to control subheading anchor display.
- Removed default underline and added underline on hover for improved user experience.
2025-02-23 15:02:55 +08:00
cfngc4594 f7e94564be feat(components/mdx-preview): add rehype-slug and rehype-autolink-headings for MDX previews
This commit adds `rehype-slug` and `rehype-autolink-headings` to the MDX preview component.

- `rehype-slug` generates unique IDs for headings.
- `rehype-autolink-headings` adds anchor links to headings, improving navigation.

This enhances the usability of MDX previews by enabling users to easily link to specific sections within the content.
2025-02-23 15:02:36 +08:00
cfngc4594 3277156673 chore(deps): update rehype dependencies, add rehype-autolink-headings and rehype-slug packages 2025-02-23 14:57:15 +08:00
cfngc4594 ca04733475 feat(code-editor): enable word wrap in editor options 2025-02-23 14:34:14 +08:00
cfngc4594 b2b6d1e484 feat(code-editor): Merge editor options and support dynamic font and line height adjustment
- In the CodeEditor component, merged the default CODE_EDITOR_OPTIONS with dynamic options returned by useCodeEditorOption to support runtime font size and line height adjustments.

- Additionally, added the useCodeEditorOption hook to useCodeEditor.ts to manage the state of font size and line height.

- This allows users to dynamically adjust the editor's display properties.
2025-02-23 14:23:59 +08:00
cfngc4594 5af57fbfcf refactor(code-editor): improve commented validation logging for better debugging 2025-02-23 13:56:11 +08:00
cfngc4594 9e1bca2cce feat(code-editor): enhance language client integration with dynamic server configuration 2025-02-23 13:55:37 +08:00
cfngc4594 62149db922 feat(useCodeEditor): Add languageClient state to support language servers
- Introduces MonacoLanguageClient state to facilitate language server integration in the code editor.
2025-02-23 13:54:09 +08:00
cfngc4594 0dafb06e86 feat(lsp): add configuration for supported language servers 2025-02-23 13:52:06 +08:00
cfngc4594 14330323af chore(demo): update demo image for improved visuals 2025-02-22 12:10:56 +08:00
cfngc4594 9aa8b7e211 refactor(code-editor): optimize dynamic imports and code structure 2025-02-22 11:47:00 +08:00
cfngc4594 840cd1e70b feat(docker): update docker-compose commands and add health checks for services 2025-02-22 00:10:47 +08:00
cfngc4594 a69f819da4 feat(playground): style resizable handle 2025-02-21 21:34:37 +08:00
cfngc4594 2b5b4dee57 fix(banner): wrap link in a paragraph for better semantic structure 2025-02-21 21:20:52 +08:00
cfngc4594 326cce7836 feat(playground): restructure app layout and implement playground with resizable panels 2025-02-21 21:06:26 +08:00
cfngc4594 a699fc8069 refactor(components): rename problem-description.tsx to mdx-preview.tsx 2025-02-21 21:06:06 +08:00
cfngc4594 e74e2e3102 feat(components/ui): add Resizable component from shadcn/ui 2025-02-21 20:02:31 +08:00
cfngc4594 ecbb083008 feat(docker): simplify docker compose commands and add compose.yml for service configuration 2025-02-21 19:56:49 +08:00
cfngc4594 8f5be0e437 feat(layout): implement app layout with banner and code editor components 2025-02-21 19:49:56 +08:00
cfngc4594 9a04f90538 feat(code-editor): adjust height calculation for code editor component 2025-02-21 19:49:50 +08:00
cfngc4594 eacd415667 feat(styles): update code font properties for improved readability 2025-02-21 19:49:32 +08:00
cfngc4594 15d8f7a22e feat(readme): add important notice for WSL users regarding network mode for Monaco Editor 2025-02-21 11:25:58 +08:00
cfngc4594 d450302a29 feat(readme): center-align LSP server settings table for improved readability 2025-02-21 10:53:54 +08:00
cfngc4594 dd979d31b2 feat(code-editor): decrease top padding in code editor options for better layout 2025-02-21 02:09:31 +08:00
cfngc4594 d289736976 feat(readme): update demo image and remove outdated development note 2025-02-21 01:48:34 +08:00
cfngc4594 e47f68f99e feat(problem-description): add default problem statement for "Two Sum" challenge 2025-02-21 01:44:44 +08:00
cfngc4594 b8100570e3 feat(problem-description): import mdx.css for enhanced styling 2025-02-21 01:39:58 +08:00
cfngc4594 0c276eeef9 feat(styles): add mdx.css for improved code styling and line numbering 2025-02-21 01:39:46 +08:00
cfngc4594 89512c8e6a feat(code-editor): increase top padding in code editor options for improved layout 2025-02-21 00:56:41 +08:00
cfngc4594 051868cb65 feat(readme): add demo image and update description for upcoming features 2025-02-21 00:56:03 +08:00
cfngc4594 eed3a9d9ef feat(styles): update global styles to use Fira Code font for better code readability 2025-02-21 00:21:34 +08:00
cfngc4594 1142cb950f feat(page): Implement problem preview and code editor layout
This commit splits the home page into two halves:

- The left half displays a preview of the problem description using the `MdxPreview` component.
- The right half provides a code editor using the `CodeEditor` component.

This improves the user experience by allowing users to view the problem description and write code simultaneously.
2025-02-21 00:10:31 +08:00
cfngc4594 17894b6e96 feat(mdx): implement MdxPreview component with error handling and loading state 2025-02-21 00:08:21 +08:00
cfngc4594 11fa68c4b7 feat(layout): replace ModeToggle with Banner component in RootLayout 2025-02-21 00:07:56 +08:00
cfngc4594 62ccb1fbcc feat(banner): add Banner component for project promotion with GitHub link 2025-02-21 00:07:45 +08:00
cfngc4594 8d6e5067dc feat(config): add site configuration with GitHub repository URL 2025-02-21 00:07:34 +08:00
cfngc4594 8cf98674ef chore(deps): add rehype-pretty-code package 2025-02-20 22:31:04 +08:00
cfngc4594 b495cc4ea6 fix(shiki): downgrade @shikijs/monaco and shiki to version 2.5.0 to resolve 'getHighlighter' import error 2025-02-20 22:30:17 +08:00
cfngc4594 3f3b153c4b feat(problem-description): Use compileMDX with remarkGfm for MDX rendering 2025-02-20 18:46:20 +08:00
cfngc4594 8498f57fbc chore(deps): add remark-gfm package for GitHub Flavored Markdown support 2025-02-20 18:42:42 +08:00
cfngc4594 7db6f4e20e feat(components): add ProblemDescription component to render markdown
- Added ProblemDescription component that uses MDXRemote to render markdown content.
- Includes a Skeleton loader while content is loading and a horizontal scrollbar.
- Wrapped content in a ScrollArea with a max-height limit for better UI experience.
2025-02-20 17:58:49 +08:00
cfngc4594 a4a037f5a4 feat(components/ui): add Scroll Area component from shadcn/ui 2025-02-20 15:56:55 +08:00
cfngc4594 e29ab229b5 feat(styles): add GitHub markdown CSS and responsive styling for markdown content 2025-02-20 15:50:08 +08:00
cfngc4594 1f2394576b chore(deps): add github-markdown-css package 2025-02-20 15:49:30 +08:00
cfngc4594 a5a172bb17 chore(deps): add next-mdx-remote package 2025-02-20 15:43:55 +08:00
cfngc4594 162825250b feat(code-editor): add loading skeleton for dynamic editor component 2025-02-20 15:43:03 +08:00
cfngc4594 96c946a2ca feat(layout): integrate mode toggle in layout and simplify home page structure 2025-02-20 14:43:56 +08:00
cfngc4594 286a4739c3 style(header): adjust header height and padding for improved layout 2025-02-20 14:28:04 +08:00
cfngc4594 3f84208733 docs: update section title from "Development Setup" to "Manual Setup" in README 2025-02-20 14:18:13 +08:00
cfngc4594 d3d27768fb feat(code-editor): update default value for code editor based on language 2025-02-20 14:14:04 +08:00
cfngc4594 5d99032be9 feat(config): add default code snippets for C and C++ languages 2025-02-20 14:13:56 +08:00
cfngc4594 6329babfca feat(code-editor): use Zustand state for dynamic language selection 2025-02-20 14:06:13 +08:00
cfngc4594 1bc1b638e2 feat(store): add Zustand store for managing code editor language state 2025-02-20 14:04:36 +08:00
cfngc4594 bb81c4f7e1 feat(lsp): add default language configuration 2025-02-20 14:04:02 +08:00
cfngc4594 9c78049359 feat(lsp): add supported languages with icons for C and C++ 2025-02-20 14:02:42 +08:00
cfngc4594 921c702166 chore(deps): add devicons-react package 2025-02-20 14:01:57 +08:00
cfngc4594 728d9557da refactor(layout): remove unused font imports from layout component 2025-02-20 13:09:57 +08:00
cfngc4594 31491c496e refactor: import CodeEditor directly instead of using dynamic import 2025-02-20 11:27:07 +08:00
cfngc4594 d7a019c711 chore(font): change Fira Code font weight to 500 2025-02-20 10:13:41 +08:00
cfngc4594 75f1e656e6 chore(editor): comment out onValidate function in CodeEditor component 2025-02-20 09:17:31 +08:00
cfngc4594 07e3707c3f feat(editor): use predefined options for code editor configuration 2025-02-20 09:11:31 +08:00
cfngc4594 01f188ac56 feat(editor): add default configuration for Monaco code editor 2025-02-20 09:11:20 +08:00
cfngc4594 9057c5971e feat(styles): Use Fira Code font for body text 2025-02-20 09:11:02 +08:00
cfngc4594 2f901ba062 chore(deps): add @fontsource/fira-code package 2025-02-20 09:08:41 +08:00
cfngc4594 5a2d4f77da chore: update Dockerfile to specify Node.js v20 or higher for resolving ReferenceError 2025-02-20 08:54:37 +08:00
cfngc4594 3f2bc8c332 chore: replace hardcoded WebSocket URL with environment variable
- Replaced the hardcoded LSP WebSocket URL with a configurable environment variable (NEXT_PUBLIC_LSP_C_URL).
- Default to "ws://localhost:4594/clangd" if the environment variable is not set.
2025-02-20 08:44:11 +08:00
cfngc4594 6c5beeb27c chore: add .env.example for environment variable configuration
- Added .env.example to provide a template for environment variables.
- Included the WebSocket URL for the LSP service (C Language - clangd).
2025-02-20 08:43:54 +08:00
cfngc4594 8cd8a2977c chore: update .gitignore to explicitly commit env files
- .env, .env.local, and .env*.local will now be explicitly committed if needed.
- Removed the wildcard .env* from being ignored, allowing specific env files to be tracked.
2025-02-20 08:42:01 +08:00
cfngc4594 a1c4f2160b docs: add placeholder .gitkeep file to 'public' folder 2025-02-20 01:31:14 +08:00
cfngc4594 e9da555705 refactor: move Monaco Editor logic to CodeEditor component
- Moved Monaco Editor initialization and related logic from src/app/page.tsx to src/components/code-editor.tsx
2025-02-20 01:10:25 +08:00
cfngc4594 f0b2428e8b fix(code-editor): adjust loading skeleton padding for improved layout 2025-02-20 01:05:30 +08:00
cfngc4594 63501a3f6c feat(code-editor): refactor layout structure and improve editor height handling 2025-02-20 00:59:53 +08:00
cfngc4594 423951ec58 feat(code-editor): update theme handling and optimize highlighter integration 2025-02-20 00:30:45 +08:00
cfngc4594 2f2b172fb8 feat(shiki): add Shiki highlighter initialization for syntax highlighting 2025-02-20 00:30:32 +08:00
cfngc4594 541aa43d06 chore(deps): add zustand package for state management 2025-02-19 23:03:44 +08:00
cfngc4594 fd48fa0fff feat(code-editor): integrate Shiki highlighter for enhanced syntax highlighting 2025-02-19 23:03:11 +08:00
cfngc4594 5ca8ef91ea fix(deps): replace incorrect @shikijs/markdown-it with @shikijs/monaco 2025-02-19 22:51:25 +08:00
cfngc4594 9c9ed0ddd0 refactor: Move code editor logic to CodeEditor component 2025-02-19 22:46:30 +08:00
cfngc4594 c195dffc10 feat(theme): Add ModeToggle component for theme switching 2025-02-19 22:45:30 +08:00
cfngc4594 98fc2c75ef feat(component/ui): add Button and DropdownMenu components from shadcn/ui 2025-02-19 22:41:26 +08:00
cfngc4594 d1bb42765d feat(layout): change default theme from dark to system in RootLayout component 2025-02-19 22:40:27 +08:00
cfngc4594 eead1884e1 feat(layout): change default theme to dark in RootLayout component 2025-02-19 21:57:47 +08:00
cfngc4594 73aae933ee feat(component/ui): add Toggle component from shadcn/ui 2025-02-19 21:44:24 +08:00
cfngc4594 38dc197eb7 fix(layout): suppress hydration warning in RootLayout component 2025-02-19 21:30:01 +08:00
cfngc4594 40bb1d8b57 chore(deps): add shiki and @shikijs/markdown-it packages 2025-02-19 21:22:54 +08:00
cfngc4594 7c6c196cb2 feat(theme): wrap application in ThemeProvider for improved theme management 2025-02-19 21:20:25 +08:00
cfngc4594 273c8e6b67 feat(theme): add ThemeProvider component for theme management 2025-02-19 21:20:12 +08:00
cfngc4594 2bf6265367 chore(deps): add next-themes package 2025-02-19 21:18:30 +08:00
cfngc4594 51ac474751 chore: add MIT License file to the repository 2025-02-19 18:38:49 +08:00
cfngc4594 fd8c4432e1 docs: enhance README with additional setup instructions for cloning and starting containers 2025-02-19 18:29:04 +08:00
cfngc4594 d851bfa5cb docs: update README for improved quick start instructions and LSP server settings 2025-02-19 18:22:27 +08:00
cfngc4594 8338ed2e8f chore(public): remove unnecessary svg resources 2025-02-19 18:21:54 +08:00
cfngc4594 342d35de6f fix(docker): upgrade Node.js version to 22-alpine in Dockerfile to resolve reference error 2025-02-19 17:30:43 +08:00
cfngc4594 1d65c3cb4a feat(docker): add service configuration for monaco-editor-lsp-next in Docker Compose 2025-02-19 17:18:56 +08:00
cfngc4594 b7020b6f28 feat(config): enable standalone output mode for Docker builds in Next.js 2025-02-19 17:14:25 +08:00