ekphosv0.20.0

Markdown Features

Supported markdown syntax and rendering

Ekphos supports standard markdown plus wiki links and other enhancements.

Headings

All six heading levels are supported with distinct styling:

# Heading 1    ▼/▶ blue, bold, uppercase (foldable)
## Heading 2   ▼/▶ green, bold (foldable)
### Heading 3  ▼/▶ yellow, bold (foldable)
#### Heading 4 › magenta, bold
##### Heading 5   teal, bold
###### Heading 6  subtle, italic

Heading Folding

H1-H3 headings can be folded to collapse their content, creating a cleaner workspace for long documents.

Fold indicators:

  • Expanded (children visible)
  • Folded (children hidden)

Keybindings in Content View:

  • Space or click to toggle fold on a heading
  • za vim-style toggle fold
  • zM fold all headings
  • zR unfold all headings

When folded, all content until the next heading of equal or higher level is hidden.

Only H1-H3 appear in the outline panel for navigation and support folding.

Text Formatting

**bold text**
*italic text*
~~strikethrough~~
`inline code`
> blockquote

Lists

Unordered

- Item one
- Item two
  - Nested item
* Also works with asterisks

Ordered

1. First item
2. Second item
3. Third item

Task Lists

- [ ] Unchecked task
- [x] Completed task
- [ ] Task with [[wiki link]]
- [ ] Task with [markdown link](https://example.com)
- [ ] Task with ![image](screenshot.png)
- [ ] Task with !![text-only image](diagram.png)

Tasks are interactive - press Space in content view to toggle the checkbox.

Tasks with links: When a task contains links (wikilinks, markdown links, or images), use ] / [ to navigate between the checkbox and links. Space toggles the checkbox when it's selected, or opens the link when a link is selected.

Smart image rendering:

  • Standalone images (![](path) on its own line): Render at full content width with border
  • Inline images (in lists, tasks, or with other text): Render as compact thumbnails below the text

All images can be opened with Space or Enter when selected.

[Link text](https://example.com)

Press Space to open in browser. Use ] and [ to navigate between multiple links on the same line.

Obsidian-style linking between notes:

[[note name]]
[[folder/nested note]]
[[note name|display text]]
[[note name#heading]]
[[note name#heading|display text]]

Syntax:

FormatDescription
[[note]]Basic link to note
[[note|alias]]Link with custom display text
[[note#heading]]Link to specific heading in note
[[note#heading|alias]]Heading link with custom display text

Features:

  • Valid links shown in cyan
  • Invalid links shown in red
  • Type [[ in edit mode for autocomplete
  • Creates non-existent notes on navigation
  • Aliases display the custom text instead of note name
  • Heading links navigate to the specified section

Recursive Search:

Wiki links use recursive search to find notes in any subdirectory, similar to Obsidian. [[note]] will find a note named "note" even if it's located in a nested folder like folder/subfolder/note.md. Root-level notes are matched first for backwards compatibility.

The autocomplete popup shows the note title with a subtle folder path hint below for nested notes, making it easy to identify where each note is located while keeping wikilinks clean and simple.

Code Blocks

Fenced code blocks with syntax highlighting:

```rust
fn main() {
    println!("Hello, ekphos!");
}
```

Supported Languages

50+ languages via syntect:

Rust, Python, JavaScript, TypeScript, Go, C, C++, Java, Ruby, PHP, Shell, SQL, HTML, CSS, JSON, YAML, and many more.

Tables

| Header 1 | Header 2 |
|----------|----------|
| Cell 1   | Cell 2   |
| Cell 3   | Cell 4   |

Tables render with proper borders and header styling.

Images

![Alt text](image.png)
![Remote](https://example.com/image.jpg)

Supported formats: PNG, JPEG, GIF, WebP, BMP

Features:

  • Local and remote URLs
  • Inline preview in compatible terminals
  • Click, press Enter, or o to open in system viewer

Supported Path Types

Path TypeExampleDescription
Relative![](image.png)Resolved relative to the current note's directory
Relative with ./![](./assets/img.png)Explicit relative path
Home directory![](~/Pictures/photo.jpg)Expands ~ to user's home directory
Absolute![](/Users/name/img.png)Full filesystem path
Remote URL![](https://example.com/img.jpg)HTTP/HTTPS URLs

Relative paths are resolved from the markdown file's location, not the current working directory.

Compatible Terminals

For inline image preview:

  • iTerm2 (macOS)
  • Kitty
  • WezTerm
  • Ghostty
  • Sixel-enabled terminals

Use double-bang syntax !![]() to display an image as a text link without preview:

!![Alt text](image.png)
!![](screenshot.png)

Behavior:

  • Displays as plain text (alt text or path) instead of image preview
  • No thumbnail rendering in lists or tasks
  • Still navigable with ] / [
  • Still openable with Space or Enter

Use cases:

  • Reference images without cluttering the view
  • Link to images in terminals without image support
  • Keep notes compact while preserving image links

Collapsible Sections

HTML details/summary for expandable content:

<details>
<summary>Click to expand</summary>

Hidden content here.

</details>

Press Space to toggle in content view.

Horizontal Rules

---
***
___

Editor Syntax Highlighting

In edit mode, real-time highlighting shows:

ElementColor
HeadingsLevel-based colors
Bold/italicBright
Inline codeGreen
LinksCyan, underlined
Wiki links (valid)Cyan
Wiki links (invalid)Red
BlockquotesCyan
List markersYellow
Task boxesCyan

On this page