Sashmark / Help

Sashmark is in development. Nothing has been released yet, and there is no public build. These pages describe the development build. See the roadmap for what is still planned.

Reading a file

Skimmark shows each Markdown file as one clean, formatted page without the raw Markdown symbols. Skimmark is a reader for now. It never changes your files.

What renders

  • Headings, paragraphs, lists, quotes, and tables. A table's columns fit their content: a short column such as a # column stays narrow, and long text gets the rest of the page width and wraps. A table is never wider than the page.
  • Task lists, with their check boxes.
  • Code blocks, with line numbers down the left side. Long lines wrap to the width of the block, so there is no sideways scrolling; a wrapped line keeps one line number, and its continuation lines start under its text, not under the numbers. The first line sits at the top of the block. A block that names its language (for example ```python) is shown with syntax colors. Point at a code block to see its Copy button in the top-right corner. Copy takes the code exactly as written, without the wrapping; after a copy the button reads Copied for a moment (screen readers hear "Copied").
  • Raw HTML in the file, such as <b> or <script>, is shown as plain text. Nothing in it runs.
  • No math. Skimmark shows standard Markdown, which has no math. Text such as $x^2$ or $$x^2$$ shows exactly as typed, dollar signs included. Prices and shell variables such as $HOME also stay as plain text.
  • "Could not render this part". If Skimmark cannot format one part of a file, for example a link with no text such as [](https://example.com), it never hides that part. You see a dashed box with the note Could not render this part and the part's text exactly as it is in the file. The rest of the page formats as usual. That part is read-only and saving keeps it as it is on disk; see When editing is off.
  • Broken Markdown shows as text instead of breaking the page. A code block that is never closed runs to the end of the file, so everything after its opening line shows as code. If a file cannot be formatted at all, Skimmark shows its plain text instead of a blank page.

Frontmatter

Many AI-written files start with a block of settings between two --- lines, called frontmatter:

---
title: Plan for Jane Doe
status: draft
tags: [planning, q4]
---
  • Skimmark shows it as a small two-column table (name and value) at the top of the page, and the rest of the file below it. The --- lines and the raw settings text are not repeated in the page.
  • Nested values show on one line, for example {owner: Jane Doe, tags: [planning, q4]}. Dates and numbers show as written.
  • Collapse and expand. Click the table's header, or move to it with Tab and press Enter. The table shrinks to one line with its first three entries, for example title: Plan for Jane Doe · status: draft · tags: [planning, q4]. Do the same again to expand it. The table starts expanded each time a file opens; this choice is not saved.
  • Invalid frontmatter. If the block is not valid YAML, or is not a list of names and values, you see its raw text in a box labelled "Invalid frontmatter". The rest of the file still shows.
  • Edit raw. Under the table (or the invalid text) is an Edit raw button for changing the frontmatter's text. See Editing and saving a file.
  • An empty block (two --- lines with nothing between) shows nothing. The block only counts as frontmatter if --- is the very first line and a later line is exactly ---.

Images

  • Images next to the file load and fit the page width. Paths are relative to the file's folder, for example ![Diagram](img/diagram.png); a title (![Diagram](img/diagram.png "Title")) is optional. Both / and \ work, and so do file: addresses.
  • Supported types: PNG, JPEG, GIF, WebP, SVG, BMP, ICO, and AVIF, up to 20 MB each.
  • Missing images. If an image is not there, is not an image file, or is too large, you see an outlined box with the image's description and its path.
  • Web images (http:// or https://) are not loaded. You see a box with the address instead. Skimmark does not connect to the internet to show a file.
  • Web and email links (http, https, mailto) open in your default browser or email app.
  • Links to other Markdown files, such as [Plan](notes/plan.md#goals), open the file in a tab, just as if you had opened it yourself. If the file is not there, you see "File not found:" followed by the path.
  • All other links do nothing, for example links to other kinds of files, #section links within the page, and unusual addresses such as ftp:.

What it does not do yet

  • Keeping your place on reload. When an open file changes on disk, its tab updates by itself and keeps your place in the page (by text, in the tab on screen; files over about 100,000 characters keep the scroll position instead). See When a file changes on disk.

View as Markdown