diff --git a/.github/workflows/flutter-linux.yml b/.github/workflows/flutter-linux.yml
index 1b1766ee..a712d7eb 100644
--- a/.github/workflows/flutter-linux.yml
+++ b/.github/workflows/flutter-linux.yml
@@ -32,6 +32,8 @@ jobs:
bubblewrap \
clang \
cmake \
+ fonts-noto-core \
+ fonts-noto-mono \
ninja-build \
pkg-config \
libgtk-3-dev \
@@ -85,6 +87,9 @@ jobs:
- name: Generate localizations
run: flutter gen-l10n
+ - name: Audit localization catalogs
+ run: flutter test test/src/localization_audit_test.dart
+
- name: Verify generated files are committed
run: git diff --exit-code
@@ -109,7 +114,9 @@ jobs:
env WEBKIT_DISABLE_COMPOSITING_MODE=1 LIBGL_ALWAYS_SOFTWARE=1 \
/usr/bin/python3 -u tools/visualization_smoke.py \
--assets build/linux/x64/release/bundle/share/busymark/visualization \
- --d2 build/linux/x64/release/bundle/libexec/busymark/d2
+ --d2 build/linux/x64/release/bundle/libexec/busymark/d2 \
+ --demo test/fixtures/markdown/basic.md \
+ --plantuml-corpus test/fixtures/visualization/plantuml-conformance.md
- name: Exercise the release binary visualization and PDF paths under X11
run: |
@@ -148,7 +155,9 @@ jobs:
LIBGL_ALWAYS_SOFTWARE=1 \
/usr/bin/python3 -u tools/visualization_smoke.py \
--assets build/linux/x64/release/bundle/share/busymark/visualization \
- --d2 build/linux/x64/release/bundle/libexec/busymark/d2
+ --d2 build/linux/x64/release/bundle/libexec/busymark/d2 \
+ --demo test/fixtures/markdown/basic.md \
+ --plantuml-corpus test/fixtures/visualization/plantuml-conformance.md
report="${RUNNER_TEMP}/visualization-release-wayland.json"
XDG_RUNTIME_DIR="$runtime_dir" WAYLAND_DISPLAY=wayland-99 \
GDK_BACKEND=wayland BUSYMARK_RELEASE_SMOKE=1 \
diff --git a/README.md b/README.md
index b1e72fc4..2326f36b 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
# BusyMark
-BusyMark is a Markdown editor for Linux with support for Writerside-compatible documentation
-projects.
+Markdown and Writerside editor for Linux.
[](https://snapcraft.io/busymark)
@@ -11,331 +10,179 @@ projects.
- Split view with a Writerside project tree, Markdown editor, and rendered preview. -
- ## Features -- Open individual Markdown files. -- Open Markdown documentation folders. -- Open Writerside-compatible project folders. -- Create Writerside-compatible starter projects. -- Create Writerside Markdown and XML topics from the TOC. -- Create, select, import, edit, and reuse Writerside instances and TOC libraries. -- Edit and save local files. -- Read rendered Markdown without editing it. -- Render Mermaid, PlantUML, D2, and fenced OpenAPI content locally and offline. -- Typeset inline and display mathematics locally and offline with bundled - MathJax, including Writerside math forms and vector PDF output. -- Edit Markdown with free-form AI instructions, an explicit change target, and - explicitly selected context through Ollama, OpenAI, or Gemini, with - diff-before-apply review. -- Export Markdown documents as accessible, tagged PDF files. -- Navigate project files, table of contents, and document outline. -- Review, stage, commit, branch, synchronize, and inspect history in Git-backed - documentation workspaces using the user's normal Git configuration and tools. -- Run basic diagnostics. -- Reopen recent workspaces. -- Use native Linux desktop chrome with a GTK headerbar. +* **Markdown editing** — Source, Editor, Reading, and Split views with formatting tools, syntax highlighting, code folding, tables, images, links, code blocks, callouts, collapsible content, and document diagnostics. +* **Writerside projects** — Open and create Writerside-compatible projects; edit Markdown and XML topics; manage instances, tables of contents, reusable TOC libraries, and project structure. +* **Project navigation and search** — Files, TOC, and Outline views, tabbed documents, command palette, keyboard shortcuts, document search and replace, reviewed workspace-wide replacement, and Markdown TOC generation. +* **Technical documentation** — Local rendering of Mermaid, PlantUML, D2, fenced OpenAPI specifications, and MathJax mathematical expressions. +* **PDF and HTML publishing** — Export Markdown documents and Writerside instances to configurable PDF or portable offline HTML, with controls for layout, typography, tables of contents, heading numbering, and HTML styling. +* **Git integration** — Review changes and diffs, stage and unstage files, commit, create and switch branches, fetch, pull, push, inspect file and project history, compare historical versions, and restore earlier file versions. +* **AI-assisted editing** — Optional Ollama, OpenAI, and Gemini integration with explicit edit scope and shared context, proposal review before changes are applied, and AI-assisted Git commit-message drafting. +* **Workspace reliability** — Detect files changed outside BusyMark, recover unsaved documents, restore previous workspace sessions, manage remote-image permissions, and protect Git operations behind workspace trust. ## Screenshots
-
+
- Welcome screen for creating or opening Markdown and Writerside workspaces. + Split view with Markdown source and rendered document. |
- Editor view with formatting tools and document outline navigation. + Editor view with formatting tools and document navigation. |
- Reading view for rendered Markdown documentation. + Reading view for rendered documentation. |
- Keyboard shortcuts shown in the built-in shortcut reference. + Keyboard shortcuts reference. + |
+
+
+ + Mermaid and PlantUML diagrams rendered directly in the document. + |
+
+
+ + D2 diagram rendering. + |
+
+
+ + OpenAPI documentation rendering. + |
+
+
+ + Writerside project and table-of-contents editing. |