# 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](#special-folder-types) section for details. ## Build ```bash # local go build -o datascape . # QNAP NAS (linux/arm) GOOS=linux GOARCH=arm go build -o datascape . ``` ## Usage ```bash 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.