2026-09-25 09:52:01 +02:00
2026-08-03 19:29:27 +02:00
2026-07-23 17:38:13 +02:00
2026-09-22 21:24:15 +02:00
2026-05-08 20:47:02 +02:00
2026-08-23 14:25:12 +02:00
2026-09-17 17:46:36 +02:00
2026-06-12 14:10:00 +02:00
2026-04-09 21:51:12 +02:00
2026-04-09 21:51:12 +02:00
2026-09-17 17:46:36 +02:00
2026-06-05 10:10:58 +02:00
2026-09-17 17:46:36 +02:00
2026-05-29 09:21:19 +02:00
2026-06-25 14:23:15 +02:00
2026-09-25 09:52:01 +02:00
2026-09-17 17:46:36 +02:00
2026-07-20 09:08:35 +02:00
2026-08-23 14:25:12 +02:00
2026-06-16 10:25:24 +02:00
2026-07-24 16:10:44 +02:00
2026-06-24 08:36:03 +02:00
2026-09-17 17:46:36 +02:00
2026-09-07 16:23:38 +02:00
2026-09-17 17:46:36 +02:00

datascape

Minimal self-hosted personal wiki. Folders are pages.

Features

  • Pages: a folder's index.md renders as HTML, and the folder's other files are listed below it. Going to a missing path lets you create the page there.
  • Editing: edit the whole page or a single heading's section. Tick task checkboxes directly on the rendered page.
  • Move, rename, delete: moving a page onto an empty folder offers to merge into it.
  • View settings: show the file list as a list or thumbnail grid, sorted by name, date, or size. Videos get thumbnails when ffmpeg is installed.
  • Search: find pages by name.
  • Wikilinks: [[query]] or [[query::label]]. They open a search, so links still work after a page is renamed. Typing [[ in the editor suggests page names. Embed files with ![caption](photo.jpg "left").
  • Movie import: create a page from OMDb metadata. Asks once for a free OMDb API key and keeps it in the browser.
  • Special folders: a photo diary and a fitness dashboard.
  • Quick-add bookmarklet: save the current tab to a wiki page.
  • Companion app: an optional desktop helper, downloadable from the wiki footer. It opens wiki files in local apps and folders in the file manager.

Build & run

The wiki binary embeds the companion binaries, so build those first:

make companion-release                         # once, and after companion changes
go build -o datascape .                        # local
GOOS=linux GOARCH=arm go build -o datascape .  # QNAP NAS
./datascape -dir ./wiki -addr :8080 -user me -pass secret
Flag Default
-addr :8080 Listen address
-dir ./wiki Wiki root
-cache ./cache Thumbnail cache
-user, -pass Basic auth (omit to disable)
-reindex-interval 30m Search index rebuild (0 = off)

.page-settings

Per-folder key = value file. The view button in the Files header sets the first three keys.

Key Values (default first)
view list, thumbnail
sort name, modified, size
order asc, desc
type diary, fitness

Keyboard shortcuts

All use Alt+Shift.

Where Keys
Anywhere E edit, N new page, M move, F search
Editor S save, 1–3 heading, B/I bold/italic, C/K code/code block, L link, P wikilink, G embed, U/O/X bullet/numbered/task list, Q quote, R rule, T format table, D/W date (ISO/long), V movie, Y delete line

Diary

Diary/
  .page-settings         ← type = diary
  2026/
    index.md             ← # 2026, ## 2026-05, ### 2026-05-11 sections
    2026-05-11 Beach.jpg ← photos go under their date's section

The year page shows each day's section with its photos. Months and days that are missing (up to today) appear as placeholders with an [edit] button. A calendar in the sidebar jumps to any date.

Bookmarkable shortcuts: <diary>/today/, <diary>/this-month/, <diary>/this-year/.

Fitness

With type = fitness, a folder shows weight charts (daily and weekly mean, with your goal) below its content. Copy the Waistline app's export into the folder as waistline_export.json. Each new export replaces the old file.

Quick-add bookmarklet

Replace wiki.host and /Topics/Bookmarks/ with your host and target page:

javascript:(function(){var s=window.getSelection().toString().trim();var t=s||document.title;var u=location.href;var to='/Topics/Bookmarks/';var q='?to='+encodeURIComponent(to)+'&url='+encodeURIComponent(u)+'&title='+encodeURIComponent(t);window.open('https://wiki.host/quickadd'+q,'quickadd','width=480,height=320');})();

Each save adds this to the target page's index.md:

- [Example Page](https://example.com)
  2026-05-11 14:30
  optional comment
S
Description
No description provided
Readme
4.6 MiB
Languages
Go 45.6%
JavaScript 38%
HTML 8.1%
CSS 7.9%
Makefile 0.4%