| title | Feature Showcase |
| description | Every Gitian markdown feature demonstrated in one page |
| tags | featuresdemomarkdownshowcase |
This page demonstrates every markdown feature that Gitian supports. Use it as a reference or a test page.
Gitian supports all Obsidian callout types:
note callout. Use it for general information.
tip callout. Use it for helpful suggestions.
warning callout. Use it for things that could go wrong.
danger callout. Use it for critical warnings.
example callout. Use it for code examples or demonstrations.
quote callout. Use it for quotations or citations. — Someone wise
info callout. Use it for supplementary information.
abstract callout. Use it for summaries.
Gitian renders math using KaTeX.
The quadratic formula is and Euler's identity is .
GFM tables with column alignment:
| Feature | Status | Priority |
|---|---|---|
| Callouts | Done | High |
| Math (KaTeX) | Done | Medium |
| Mermaid diagrams | Done | Medium |
| Wikilinks | Done | High |
| Removed | — |
Gitian supports Obsidian-style wikilinks in several formats:
This text has strikethrough applied to it. The legacy renderer in the table above also uses it.
interface Todo {
id: string;
text: string;
completed: boolean;
createdAt: number;
}
function createTodo(text: string): Todo {
return {
id: crypto.randomUUID(),
text,
completed: false,
createdAt: Date.now(),
};
}
from dataclasses import dataclass, field
from datetime import datetime
from uuid import uuid4
@dataclass
class Todo:
text: str
id: str = field(default_factory=lambda: str(uuid4()))
completed: bool = False
created_at: datetime = field(default_factory=datetime.now)
def toggle(self) -> None:
self.completed = not self.completed
use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Debug, Serialize, Deserialize)]
struct Todo {
id: Uuid,
text: String,
completed: bool,
created_at: i64,
}
impl Todo {
fn new(text: impl Into<String>) -> Self {
Self {
id: Uuid::new_v4(),
text: text.into(),
completed: false,
created_at: chrono::Utc::now().timestamp(),
}
}
}
package todo
import (
"time"
"github.com/google/uuid"
)
type Todo struct {
ID string `json:"id"`
Text string `json:"text"`
Completed bool `json:"completed"`
CreatedAt time.Time `json:"created_at"`
}
func New(text string) Todo {
return Todo{
ID: uuid.NewString(),
Text: text,
Completed: false,
CreatedAt: time.Now(),
}
}
func (t *Todo) Toggle() {
t.Completed = !t.Completed
}
CREATE TABLE todos (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
text TEXT NOT NULL,
completed BOOLEAN NOT NULL DEFAULT false,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
SELECT id, text, completed
FROM todos
WHERE completed = false
ORDER BY created_at DESC;
You can combine bold, italic, strikethrough, and inline code freely. Even bold with nested italic works.
Blockquotes can contain formatted text,
code, and even math: