Wanderland is a document focused, general purpose computation environment. It is built around the desire to return to a world where computing can be both enjoyable and approachable, and not abstracted away as a form of consumption.
Once upon a time, a computer came with a runtime and a book that described it. You could make them dance and sing just by PEEK and POKE and a bit of luck. When GORILLAS.BAS was an inspiration for an entire classroom full of Visual Basic based knock offs, playing games in class was an opportunity to learn and encouraged. When the structure of the document you were editing was available to you, adding an image at the end of a long day wasn't a calculated risk. When you could hold the whole system in your head at once, and it at once both inspired imagination and your smile, then you knew you were home.
Computers can be fun again. And PEEKable. And really lovely to POKE.
We'll give you more than 64 or 640K this time.
Markdown, YAML and Web Components are all you need to get started.
There are lots of examples and the documentation is included. Just like in the good old days, nothing to buy once you bring it home. Just the manual and a few starter programs in the back.
Knowledge work generates a lot of artifacts - documents, code, tasks, conversations.
Wanderland organizes these as linked nodes in a shared graph... with benefits
And it's all given a passport and a journal.
Think of a traditional notebook. Notes for a project, maybe a few bookmarks, and a code sample or two. The kind of thing you'd capture in Obsidian or Notion if you're into that kind of thing. In Wanderland, that notebook comes alive.
# My Notebook
## Stuff To-Do
- [ ] live your best life, as only you can
- [ ] laugh at yourself, you're only human
- [ ] love your tools, love is understanding
## My Bookmarks
### Inspriration
```http
url: https://supercoolapp.asinspriation.com
```
### Reference
```http
auth: Basic bc308cf249ac26186d05f417024ecd67947fc379ef28f1208a5860ed50848f22
url: https://docs.framework.iwantotuse.io
```
## My Code
### Bookmark Manager
```python[add-to-bookmarks]
"""
Add to Bookmarks
Adds a URL to a bookmark group as an HTTP fence.
PARAMS:
topic (string): The bookmark topic name
url (string): The new url to add
RETURNS:
{ success: bool, topic: string, slug: string, message: string }
"""
topic = config.get('topic')
url_to_add = config.get('url')
if not topic or not url_to_add:
result = {"success": False, "error": "topic and url parameters required"}
else:
# Ensure for topic section presence
current_list = peek("my-notebook", f"my-bookmarks.{topic}", level='sprout') or []
if not isinstance(current_list, list):
poke("my-notebook", f"my-bookmarks.{topic}", "set", "```http\n{url}\n```")
result = {"success": True, "topic": topic, "url": url_to_add, "message": "created topic and added url"}
else:
poke("my-notebook", f"my-bookmarks.{topic}", "append", "```http\n{url}\n```")
result = {"success": True, "topic": topic, "url": url_to_add, "message": "added url to topic"}
```
## My Notes
```oculus-node
slug: "quick-reference"
section: "vim-keybinds"
```
```oculus-fence
fence_id: "add-to-bookmarks"
```
When that notebook is POSTed to Wanderland's knowledge graph Oculus, it becomes:
my-notebookmy-notebook:my-bookmarks, my-notebook:my-bookmarks.inspiration etcadd-to-bookmarks, exposed as an HTTP API for any Wanderland client, available for managing bookmarks programatically using Wanderland's PEEK and POKE building blocksmy-notebook:my-bookmarks.inspiration.http & my-notebook:my-bookmarks.reference.http, exposed through the same HTTP API, available to retrieve the contents of the listed page from any Wanderland clientlantern component framework that comes with Wanderland, will transclude the quick-reference:vim-keybinds section from another graph node and place it on the page above a small form that allows you to quickly add bookmarks to your notebookIn Wanderland, everything becomes what you need it to be:
Just a bunch of little things that mostly don't suck, all trying their best to be wonderful
Welcome to Wanderland, it's lovely in here
The source is available for download and contains a simple hello-world example that boots as both a CLI tool through Commander and as an HTTP API, served through Rack
The Wanderland web toolkit. A collection of web components and boundary extensions to Wanderland Core that deliver a fully declarative web programming language. This site is being served by an early alpha of the Lantern framework. See more
A source code service that serves live code from git repositories via API. Built as an application on Wanderland with custom Tree Sitter based boundaries, Dark Lantern provides Wanderland with introspective tools for understanding your code. See more
A hierarchical datastore that composes itself into a system from simple rules, like an org chart for your data. A full replacement for the original Oculus graph engine, Crossings is a drop in upgrade for the append-only datastore built into Wanderland Core - providing a richer experience. See more
Wanderland is under active development.
The product site launches are supported by Oculus, the original knowledge graph, while the next-generation is stabilized.
API surfaces listed under Reference are the current source of truth. Expect things to break occasionally :)
wanderland.dev