Writing screen

Reading time 5 min

The optional private editor writes server Markdown. Desktop shows file tree, source and rendered preview. The public showcase has no editor service; screenshots use fictional accounts/content in the actual local V2 interface.

Actual V2 editor with synthetic Markdown and live preview

The screenshot is a writing interface, not a production deployment or proof of reader-host access controls.

Screen map

Area Purpose
Files Authorized server source tree
Source path Exact current relative Markdown path
Markdown pane Plain-text editing with visual highlight and line numbers
Preview pane Rendered body in script-blocked frame
Save status Loaded, unsaved, saving, saved or error
Save Explicit server source write
Publish Administrator-only separate output workflow
Account menu Identity, password, sign-out and Admin as applicable
Theme This browser’s dark/light preference

Confirm account/path before typing. Similar titles in two folders are different targets. File tree is not generated HTML, reader search or a list of browser drafts. Administrators can see root source; editors only assigned top-level sections and descendants.

A complete writing session

  1. Sign in to intended private editor and choose an allowed synthetic page.
  2. Read saved source/title and verify source path.
  3. Add complete purpose, steps and expected results, not placeholder prose.
  4. Wait for preview and inspect relevant passage.
  5. Save and read its final status.
  6. Reopen/compare intended server text without losing newer edits.
  7. Administrator builds/publishes after review; host deployment is separate.
  8. Verify final reader/deep URL/search/media.

Preview text is not source-save confirmation. A local save is not publication. Drafts and saving owns late requests, recovery and concurrent-writing limits; Save, publish and deploy separates layers.

Pane and keyboard controls

Control Behavior
Hide editor More preview space; does not save
Show editor Restores Markdown pane
Sync Scroll Approximate relative-height alignment
Ctrl+S/Cmd+S Save current source
Tab Normal focus navigation, not source indent
Source scroll Line/highlight backdrop follows
Theme toggle Browser preference, preview/diagrams repaint

Scroll synchronization compares scroll percentages, not semantic source lines. Tables, diagrams and long code blocks can distort alignment. Turn it off to inspect independent passages. Word/line counts are editing aids, not build page totals or review completeness.

The textarea is not a full IDE: no promised code formatting, shared cursor, merge, Markdown toolbar insertion or automatic server autosave. Fenced commands remain documentation, not executed programs. Review visible focus before a keyboard shortcut.

Preview pipeline and differences

Feature Difference
Markdown and tables Both render
Code Local preview versus build highlighter
Alerts Both support five named alert types
Mermaid Both use local strict-mode lazy library
Footnotes and tasks Reader has extra build plugins
Heading furniture Reader has generated IDs and links
Navigation and search Generated reader, not preview
Link clicks Blocked in preview; navigate in reader

Alert types are NOTE, TIP, IMPORTANT, WARNING and CAUTION.

Source frontmatter is stripped by preview’s simple leading --- regex. Build uses its dedicated parser with broader supported forms. A ---yaml, BOM or unusual metadata delimiter can therefore preview differently. Validate the final build rather than diagnosing all frontmatter from rendered editor body.

Raw HTML preview follows actual server configuration. Even when allowed, preview sits in sandbox="allow-same-origin" without allow-scripts and restrictive frame CSP. Scripts/event handlers do not run as authored preview code. Parent controls fill the frame and render diagrams. This protects preview script execution; it is not permission to place secrets or trust arbitrary HTML/styles/media.

Preview links are intercepted instead of navigating its frame. Media can load from permitted data/blob/HTTP/HTTPS locations. A good-looking image can still contact a remote host; typing a path does not upload bytes. Relative URL context can differ from title-derived reader route and baseUrl. Check generated reader assets/links independently.

Unknown code language falls back to escaped plain code rather than executing it. Mermaid syntax error produces an error box. Broken diagram loading and syntax are separate failures; preserve source/error and inspect local resources. Changing theme rerenders visible diagrams, but local font/library presence is not proof every authored remote dependency is offline.

File tree and refresh

Expand physical folders and select exact Markdown. Refresh tree after other writers/Git changes; it refreshes the listing, not a guaranteed merge/reload of the currently edited text. Loaded file can remain stale while tree is current.

Selecting another file with unsaved text asks to discard current changes. That differs from Keep draft/Save-and-leave departure. Use the right choice and preserve wanted work before switching. Permissions are enforced server-side even when direct source path is known.

New file/folder and row item menus use authorized locations. Keyboard/context controls support tree actions; file operations remain protected/destructive as appropriate. File management covers normalization, creation, rename, deletion and source-versus-reader consequences.

Phone layout

Control/state Result
Edit / Preview One visible pane, no implicit save
View arrow keys Keyboard pane selection
Files Modal drawer over editor
Choose page Closes drawer after selection behavior
Close options Close drawer and return focus
Drawer Tab Focus cycles within visible drawer controls
Rotation Drawer closes/recomputes layout

An open drawer makes background header/content inert. Escape closes it only when another modal/context menu is not taking precedence. Check selected file and Save status after drawer choices; closing it is not confirmation of server write.

Visual viewport height adjusts when a phone keyboard changes available space. Dialogs can scroll and retain controls; a reduced-height emulation is useful but not physical Safari/keyboard validation. Test actual rotation, keyboard-open, focus, zoom and close actions on target devices before claiming production mobile readiness.

Troubleshooting the screen

Symptom Inspect
Empty tree Account grants and content path; not reader host
Missing old page Current tree, source rename or delete and authority
Unsaved after Save Newer typing or error, not just button click
Preview mismatch Parser and plugins, raw HTML, media URL and rendering
Diagram error Syntax versus resource loading
Wrong scroll Disable percentage sync and inspect directly
Stale source Coordinate, reopen and compare, no merge guarantee

Keep errors and source private when content is confidential. Do not paste users files or credentials into public support. An administrator test cannot certify editor boundaries; run allowed and denied tests with synthetic content and writer role.

Validation limits distinguishes local screenshots/regression behavior from production access, device, service, TLS and recovery checks.