2026-05-08 10:16:40 +02:00
2026-05-08 09:56:30 +02:00
2026-04-29 14:18:27 +02:00
2026-04-15 12:32:28 +02:00
2026-05-08 08:34:23 +02:00
2026-04-29 13:17:42 +02:00
2026-04-09 21:51:12 +02:00
2026-04-09 21:51:12 +02:00
2026-05-08 08:34:23 +02:00
2026-04-10 11:13:43 +02:00
2026-05-07 19:35:10 +02:00
2026-05-08 10:16:40 +02:00
2026-05-07 09:41:20 +02:00
2026-04-28 17:43:20 +02:00
2026-04-23 20:43:05 +02:00
2026-04-23 14:02:41 +02:00
2026-05-07 07:55:33 +02:00

datascape

Minimal self-hosted personal wiki. Folders are pages.

Features

  • Pages every folder is a page. Place an index.md inside a folder and it renders as HTML. Drop any other files (PDFs, images, etc.) alongside it and they appear in the listing below the content. Navigating to a path that does not exist shows a [CREATE] prompt.

  • Search search across all page names (folder names) in the wiki, accessible from the navigation bar.

  • Wikilinks link between pages with [[Page Name]] syntax. When a page is renamed or moved, all wikilinks pointing to it are rewritten automatically to reflect the new path.

  • Movie import import movie entries via the OMDb API. Fetches title, year, runtime, genre, director, cast, plot, and poster, and pre-fills a new page with that metadata.

  • Special folder types folders can opt into custom rendering (e.g. a photo diary with calendar navigation). See the Special Folder Types section for details.

Build

# local
go build -o datascape .

# QNAP NAS (linux/arm)
GOOS=linux GOARCH=arm go build -o datascape .

Usage

go run . -dir ./wiki -addr :8080
go run . -dir ./wiki -addr :8080 -user me -pass secret
Flag Default Description
-addr :8080 Listen address
-dir ./wiki Wiki root directory
-cache ./cache Thumbnail cache directory
-user (none) Basic auth username — omit to disable auth
-pass (none) Basic auth password
-reindex-interval 30m Periodic search index rebuild interval (0 disables)

Special Folder Types

A folder can opt into special rendering by adding a .page-settings file:

type = diary

Diary

Designed for a chronological photo diary. Expected structure:

FolderName/
  .page-settings        ← type = diary
  YYYY/
    YYYY-MM-DD Desc.jpg ← photos named with date prefix
    MM/
      DD/
        index.md        ← diary entry for that day
View What renders
Year (YYYY/) Section per month with link and photo count
Month (MM/) Section per day with entry content and photo grid
Day (DD/) Entry content and photo grid

Days with photos but no index.md still appear in the month view and can be created by clicking their heading link.

S
Description
No description provided
Readme 7.9 MiB
Languages
Go 46.5%
JavaScript 34.6%
HTML 9.7%
CSS 8.6%
Makefile 0.6%