Skip to content

MarcosFlavioGS/Skald

Repository files navigation

ChatGPT Image 10 de abr  de 2026, 15_42_35

Skald

Skald is a small, native desktop app for calm creative writing. You work in plain Markdown (.md) files, organized into projects on disk, with optional wiki-style links between notes. The UI is built with Iced and Rust.

Projects and settings live under ~/.skald/ (see Projects and storage).


Features

  • Welcome screen — Create or open a project; layout is centered and uncluttered.
  • Workspace — Sidebar file tree, centered writing column, save with Ctrl+S (dirty-state tracking).
  • Wiki links[[Target]] and [<Target>]; outgoing links and simple backlinks in a side panel (details).
  • Themes — Dracula and Nord presets via Iced.
  • Settings — Dedicated screen for theme, font sizes, editor column width, welcome typography, and optional UI font family; changes are written to config.toml (details).
  • Keyboard zoomCtrl+ / Ctrl− (use Cmd on macOS) adjusts editor and sidebar font sizes and persists to config without extra on-screen controls.

Requirements

  • Rust toolchain with Cargo (this crate uses Rust 2024 edition; use a current stable compiler that supports it).

Quick start

Clone the repository, then from the project root:

cargo run

Release build:

cargo build --release
# Binary: target/release/skald

Run tests and checks:

cargo test
cargo fmt
cargo clippy -- -D warnings

Install (optional)

With just:

just run          # debug run
just check        # cargo fmt --check + clippy -D warnings
just install      # release binary to ~/.local/bin + Linux .desktop when on Linux

On Linux, just install copies skald to ~/.local/bin/ and, when applicable, adds a Freedesktop entry under ~/.local/share/applications/. Ensure ~/.local/bin is on your PATH.

On Windows, just install builds the binary and runs a PowerShell script that copies skald.exe to %USERPROFILE%\.local\bin\, adds that directory to your user PATH, and creates a Start Menu shortcut.

To build a standalone installer .exe for distribution (requires Inno Setup 6):

just build-windows-installer
# Output: dist\skald-0.1.0-windows-setup.exe

Configuration

On first run, Skald creates ~/.skald/config.toml with defaults. You can edit it by hand or use Settings inside the app (theme, sizes, optional font_family). Bundled typography defaults to Source Serif 4; licensing for the bundled font is described in doc/fonts.md.


Documentation

Contributor-oriented notes live in doc/:

Document Contents
project-analysis.md Crate layout, dependencies, data paths
architecture.md App state, screens, navigation
iced.md How Iced is wired in this project
themes-and-config.md config.toml keys and Settings screen
projects-and-storage.md ~/.skald/projects layout
wiki-links.md Link syntax and resolution
fonts.md Bundled font and optional family name

Current limitations

  • No Markdown preview or WYSIWYG (plain-text editing only).
  • Link navigation uses the links panel, not in-editor clicks.
  • Backlinks scan project files when you open a note — fine for small trees.

See project-analysis.md for more follow-ups.


License

This repository does not yet include a top-level license file for the application code. The bundled Source Serif 4 font is under the SIL Open Font License; see doc/fonts.md.

About

A calm space for stories and poems

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors