You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: FUNCTIONAL_MANUAL.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,14 +133,25 @@ Accessed via the gear icon in the title bar. The settings are organized into cat
133
133
-**LLM Provider:** Configure your connection to a local AI service. You can detect running services and select a model.
134
134
-**Appearance:** Change the UI scale and choose from different icon sets.
135
135
-**Keyboard Shortcuts:** View and customize keyboard shortcuts for all major application actions. You can record a new key combination for any command.
136
-
-**General:** Configure application behavior, like auto-saving logs and opting into pre-release updates.
136
+
-**General:** Configure application behavior, like auto-saving logs, opting into pre-release updates, and choosing how PlantUML diagrams are rendered.
137
137
-**Database:** View detailed statistics about your local database file, and perform maintenance tasks such as creating a compressed backup, checking file integrity, and optimizing the database size (`VACUUM`).
138
138
-**Advanced:** View and edit the raw JSON configuration file using an interactive tree or a raw text editor, and import/export your settings.
139
139
140
140
### Info View
141
141
142
142
Accessed via the info icon in the title bar. This view contains tabs for reading the application's `README.md`, this `FUNCTIONAL_MANUAL.md`, the `TECHNICAL_MANUAL.md`, and the `VERSION_LOG.md`.
143
143
144
+
#### PlantUML Rendering Modes
145
+
146
+
The **General** settings category includes a **PlantUML Rendering** selector. Choose between:
147
+
148
+
-**Remote (plantuml.com):** Encodes the diagram and requests the SVG from the public PlantUML server.
149
+
-**Offline (local renderer):** Invokes the bundled PlantUML engine inside the desktop application. This mode requires a local Java Runtime Environment and access to Graphviz (or the bundled `viz.js` assets) so the renderer can generate diagrams without contacting plantuml.com.
150
+
151
+
If the Java runtime is unavailable, DocForge will report the error in the preview and you can switch back to remote rendering at any time.
152
+
153
+
The chosen rendering mode is used for PlantUML code blocks inside Markdown documents *and* for standalone `.puml` documents rendered through the dedicated PlantUML previewer.
154
+
144
155
### Logger Panel
145
156
146
157
Accessed via the terminal icon in the title bar, this panel is your primary tool for debugging and monitoring application activity.
Copy file name to clipboardExpand all lines: TECHNICAL_MANUAL.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@ This document provides a technical overview of the DocForge application's archit
14
14
-**Bundler:**[esbuild](https://esbuild.github.io/) for fast and efficient bundling of the application's source code.
15
15
-**Styling:**[Tailwind CSS](https://tailwindcss.com/) for a utility-first CSS framework.
16
16
-**Packaging:**[electron-builder](https://www.electron.build/) for creating distributable application packages.
17
+
-**Diagram Rendering:**[PlantUML](https://plantuml.com/) via either the public plantuml.com service or the bundled [`node-plantuml`](https://www.npmjs.com/package/node-plantuml) renderer. Offline rendering requires a locally installed Java Runtime Environment and access to Graphviz (or the cached `viz.js` binary) so that diagrams can be rendered without network access.
17
18
18
19
---
19
20
@@ -93,7 +94,8 @@ This system provides a consistent and extensible editing experience for all docu
93
94
-**`CodeEditor.tsx`:** A React component that wraps and configures the Monaco Editor instance. It's responsible for managing the editor's content, theme, and language for syntax highlighting based on props.
94
95
-**`PreviewPane.tsx`:** This component is responsible for displaying the rendered output of a document. It debounces content updates for performance and uses the `PreviewService` to get the correct output.
95
96
-**`services/previewService.ts`:** This service acts as a registry for all available renderer "plugins." It exposes a method, `getRendererForLanguage()`, which finds and returns the appropriate renderer for a given language ID (e.g., 'markdown').
96
-
-**Renderer Plugins (`services/preview/`):** Each file format with a preview is supported by a dedicated renderer class that implements the `IRenderer` interface. This makes the system highly extensible: to support a new format, one only needs to create a new renderer class and add it to the `previewService` registry. Currently, renderers for Markdown, HTML, and plaintext (fallback) are implemented.
97
+
-**Renderer Plugins (`services/preview/`):** Each file format with a preview is supported by a dedicated renderer class that implements the `IRenderer` interface. This makes the system highly extensible: to support a new format, one only needs to create a new renderer class and add it to the `previewService` registry. The bundled plugins cover Markdown (with Mermaid + PlantUML support), standalone PlantUML documents, HTML, PDFs, common image formats, and a plaintext fallback renderer.
98
+
- Both the Markdown renderer and the standalone PlantUML renderer share the `PlantUMLDiagram` component, which routes diagrams through either the remote plantuml.com server or the offline `node-plantuml` IPC bridge depending on the active setting.
Copy file name to clipboardExpand all lines: docs/FUNCTIONAL_MANUAL.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,14 +133,25 @@ Accessed via the gear icon in the title bar. The settings are organized into cat
133
133
-**LLM Provider:** Configure your connection to a local AI service. You can detect running services and select a model.
134
134
-**Appearance:** Change the UI scale and choose from different icon sets.
135
135
-**Keyboard Shortcuts:** View and customize keyboard shortcuts for all major application actions. You can record a new key combination for any command.
136
-
-**General:** Configure application behavior, like auto-saving logs and opting into pre-release updates.
136
+
-**General:** Configure application behavior, like auto-saving logs, opting into pre-release updates, and choosing how PlantUML diagrams are rendered.
137
137
-**Database:** View detailed statistics about your local database file, and perform maintenance tasks such as creating a compressed backup, checking file integrity, and optimizing the database size (`VACUUM`).
138
138
-**Advanced:** View and edit the raw JSON configuration file using an interactive tree or a raw text editor, and import/export your settings.
139
139
140
140
### Info View
141
141
142
142
Accessed via the info icon in the title bar. This view contains tabs for reading the application's `README.md`, this `FUNCTIONAL_MANUAL.md`, the `TECHNICAL_MANUAL.md`, and the `VERSION_LOG.md`.
143
143
144
+
#### PlantUML Rendering Modes
145
+
146
+
The **General** settings category includes a **PlantUML Rendering** selector. Choose between:
147
+
148
+
-**Remote (plantuml.com):** Encodes the diagram and requests the SVG from the public PlantUML server.
149
+
-**Offline (local renderer):** Invokes the bundled PlantUML engine inside the desktop application. This mode requires a local Java Runtime Environment and access to Graphviz (or the bundled `viz.js` assets) so the renderer can generate diagrams without contacting plantuml.com.
150
+
151
+
If the Java runtime is unavailable, DocForge will report the error in the preview and you can switch back to remote rendering at any time.
152
+
153
+
The chosen rendering mode is used for PlantUML code blocks inside Markdown documents *and* for standalone `.puml` documents rendered through the dedicated PlantUML previewer.
154
+
144
155
### Logger Panel
145
156
146
157
Accessed via the terminal icon in the title bar, this panel is your primary tool for debugging and monitoring application activity.
Copy file name to clipboardExpand all lines: docs/TECHNICAL_MANUAL.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,7 @@ This document provides a technical overview of the DocForge application's archit
14
14
-**Bundler:**[esbuild](https://esbuild.github.io/) for fast and efficient bundling of the application's source code.
15
15
-**Styling:**[Tailwind CSS](https://tailwindcss.com/) for a utility-first CSS framework.
16
16
-**Packaging:**[electron-builder](https://www.electron.build/) for creating distributable application packages.
17
+
-**Diagram Rendering:**[PlantUML](https://plantuml.com/) via either the public plantuml.com service or the bundled [`node-plantuml`](https://www.npmjs.com/package/node-plantuml) renderer. Offline rendering requires a locally installed Java Runtime Environment and access to Graphviz (or the cached `viz.js` binary) so that diagrams can be rendered without network access.
17
18
18
19
---
19
20
@@ -93,7 +94,8 @@ This system provides a consistent and extensible editing experience for all docu
93
94
-**`CodeEditor.tsx`:** A React component that wraps and configures the Monaco Editor instance. It's responsible for managing the editor's content, theme, and language for syntax highlighting based on props.
94
95
-**`PreviewPane.tsx`:** This component is responsible for displaying the rendered output of a document. It debounces content updates for performance and uses the `PreviewService` to get the correct output.
95
96
-**`services/previewService.ts`:** This service acts as a registry for all available renderer "plugins." It exposes a method, `getRendererForLanguage()`, which finds and returns the appropriate renderer for a given language ID (e.g., 'markdown').
96
-
-**Renderer Plugins (`services/preview/`):** Each file format with a preview is supported by a dedicated renderer class that implements the `IRenderer` interface. This makes the system highly extensible: to support a new format, one only needs to create a new renderer class and add it to the `previewService` registry. Currently, renderers for Markdown, HTML, and plaintext (fallback) are implemented.
97
+
-**Renderer Plugins (`services/preview/`):** Each file format with a preview is supported by a dedicated renderer class that implements the `IRenderer` interface. This makes the system highly extensible: to support a new format, one only needs to create a new renderer class and add it to the `previewService` registry. The bundled plugins cover Markdown (with Mermaid + PlantUML support), standalone PlantUML documents, HTML, PDFs, common image formats, and a plaintext fallback renderer.
98
+
- Both the Markdown renderer and the standalone PlantUML renderer share the `PlantUMLDiagram` component, which routes diagrams through either the remote plantuml.com server or the offline `node-plantuml` IPC bridge depending on the active setting.
0 commit comments