InkStone

Markdown Features

Contents

Callouts

Callouts are blockquotes with a type identifier. InkStone renders them as styled boxes.

> [!note]
> A neutral informational note.

A neutral informational note.

> [!tip] Pro tip
> A helpful suggestion with a custom title.
Pro tip

A helpful suggestion with a custom title.

> [!warning] Watch out
> Something that could go wrong.
Watch out

Something that could go wrong.

> [!info] Did you know
> A fact or context.
Did you know

A fact or context.

> [!danger] Danger
> A critical warning.
Danger

A critical warning.

> [!success] Done
> Confirmation of completion.
Done

Confirmation of completion.

> [!question] FAQ
> A question and its answer.
FAQ

A question and its answer.

> [!abstract] Summary
> A condensed overview.
Summary

A condensed overview.

> [!bug] Known issue
> A documented bug or limitation.
Known issue

A documented bug or limitation.

> [!example] Example
> A worked example.
Example

A worked example.

> [!quote] Quote
> A blockquote with attribution style.
Quote

A blockquote with attribution style.


Collapsible callouts

Add - after the type to make the callout collapsed by default, + to pin it open:

> [!tip]- Click to expand
> This content is hidden until the user clicks.

> [!info]+ Always open
> This callout starts expanded and stays that way.
Click to expand

This content is hidden until the user clicks.

Starts open

This callout starts expanded and stays that way.


Multi-paragraph callouts

Indent continuation lines with > to include multiple paragraphs:

> [!note] Multi-paragraph
> First paragraph.
>
> Second paragraph — still inside the callout.
Multi-paragraph

First paragraph.

Second paragraph — still inside the callout.


Checkboxes

- [ ] Unchecked task
- [x] Completed task
  - [ ] Nested unchecked
  - [x] Nested completed

Rendered as interactive-looking (but static) checkbox lists with indentation.


Highlights

This is ==highlighted text== inline.

This is highlighted text inline.

Renders with a yellow background highlight, identical to Obsidian's highlight marker.


Footnotes

This sentence has a footnote.[^1]

[^1]: This is the footnote definition, rendered at the bottom of the page.

This sentence has a footnote.1

Footnote references are clickable; clicking the number in the footer returns to the inline marker.


Syntax highlighting

Fenced code blocks with a language tag get syntax highlighting, a copy button, and a language label:

```python
def hello(name: str) -> str:
    return f"Hello, {name}!"
```
```bash
git clone https://github.com/airenare/inkstone.git
cd inkstone && pip install -r requirements.txt
```
```yaml
---
website: true
title: My Post
---
```

Supported languages include python, bash, yaml, json, javascript, typescript, html, css, sql, markdown, and many more (via Pygments).


Math / LaTeX

Inline math uses single $ delimiters; block math uses $$. Both are rendered via KaTeX.

The formula is $E = mc^2$.

$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

The formula is E = mc^2.

\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
Safe from markdown mangling

InkStone pre-processes math blocks before the markdown parser runs, preventing _ and * characters inside formulas from being interpreted as emphasis.


Mermaid Diagrams

Fenced ```mermaid ``` blocks render as interactive diagrams client-side. Diagrams adapt automatically to the current dark/light theme.

```mermaid
graph LR
    A[Obsidian vault] --> B[InkStone]
    B --> C[Live website]
```
graph LR A[Obsidian vault] --> B[InkStone] B --> C[Live website]
```mermaid
sequenceDiagram
    Browser->>Server: GET /blog/my-post
    Server->>Vault: read My Post.md
    Vault-->>Server: markdown + frontmatter
    Server-->>Browser: rendered HTML
```
sequenceDiagram Browser->>Server: GET /blog/my-post Server->>Vault: read My Post.md Vault-->>Server: markdown + frontmatter Server-->>Browser: rendered HTML

All standard Mermaid diagram types are supported: graph, sequenceDiagram, flowchart, classDiagram, gantt, pie, erDiagram, and more.


  1. This is the footnote definition, rendered at the bottom of the page.