Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 98 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
## Outliner

![Outliner Icon](src-tauri/icons/128x128@2x.png)

A fast, keyboard‑first outliner for capturing, organizing, and zooming through ideas. Runs as a desktop app via Tauri, and can be served in the browser for quick local testing.

### What is an outliner?

An outliner lets you write in a structured tree of bullets, expanding/collapsing detail to think at the right level. It’s great for notes, plans, drafts, and managing complex projects.

If you’re new to the concept, these are good starting points:

- [Dave Winer's Outliners](http://outliners.com/default.html)
- [Wikipedia: Outliner](https://en.wikipedia.org/wiki/Outliner)

### Highlights

- **Instant navigation**: zoom in/out, expand/collapse, jump around with the keyboard
- **Clean, themeable UI**: built-in light, dark, and synthwave‑84 themes
- **Local-first**: JSON-based storage designed for speed and simplicity
- **Cross-platform foundation**: Tauri + TypeScript

### Install

Choose one of the following:

- **Option A — Prebuilt app (recommended)**
Prebuilt binaries will be published on the project’s Releases page.
Link: `https://github.com/AngeloR/outliner/releases`

- **Option B — Build from source**
See Prerequisites, then:

```bash
git clone https://github.com/AngeloR/outliner
cd outliner
npm install
npm run tauri build
```

### Prerequisites (for building locally)

- **Node.js and npm**: Tested with Node 24.5.0 and npm 11.5.1 (Volta configured)
- **Rust toolchain**: Stable Rust + Cargo (required by Tauri)
- **Platform deps**:
- macOS: Xcode Command Line Tools (`xcode-select --install`)
- Windows/Linux: See Tauri prerequisites
- **Tauri CLI**: Installed automatically via npm scripts; you can also `npm exec tauri -- --help`

Helpful links:

- [Tauri prerequisites](https://tauri.app/start/prerequisites/)
- [Install Rust](https://www.rust-lang.org/tools/install)

### Run and build

- **Desktop (dev):**
```bash
npm run tauri dev
```
- **Desktop (release build):**
```bash
npm run build # bundle frontend
npm run tauri build # produce a signed, distributable app in src-tauri/target
```
- **Web (serve the static UI for quick testing):**
```bash
npm run build # bundle frontend to public/assets
npm run dev # serve ./public at http://localhost:3000
```
Note: Some desktop-only features (like filesystem access) require the Tauri app.

### Keyboard-first by design

Press the in‑app help (`?`) to see available shortcuts, or explore the `src/keyboard-shortcuts/` directory. Common actions include creating bullets, indent/outdent, lift/lower, and zoom.

### Screenshots

Add a few screenshots here (default, dark, synthwave‑84). Example filenames you can drop into `docs/screenshots/`:

![Default theme](docs/screenshots/light-theme.png)
![Dark theme](docs/screenshots/dark-theme.png)
![Synthwave‑84 theme](docs/screenshots/synthwave-84-theme.png)

### Development

Useful commands:

```bash
npm run webpack-local # development build with watch
npm run build # production bundle
npm run dev # serve ./public for quick browser testing
npm run test # run unit tests (Jest)
```

### Acknowledgements

- Inspired by decades of outlining work, especially by **Dave Winer**. See `outliners.com` and `scripting.com` for history and ideas.
Binary file added app-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshots/dark-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshots/light-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshots/synthwave-84-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/128x128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/128x128@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src-tauri/icons/64x64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square107x107Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square142x142Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square150x150Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square284x284Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square30x30Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square310x310Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square44x44Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square71x71Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/Square89x89Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src-tauri/icons/StoreLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<background android:drawable="@color/ic_launcher_background"/>
</adaptive-icon>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions src-tauri/icons/android/values/ic_launcher_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#fff</color>
</resources>
Binary file modified src-tauri/icons/icon.icns
Binary file not shown.
Binary file modified src-tauri/icons/icon.ico
Binary file not shown.
Binary file modified src-tauri/icons/icon.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@1x.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@2x.png
Binary file added src-tauri/icons/ios/AppIcon-20x20@3x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@1x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@2x.png
Binary file added src-tauri/icons/ios/AppIcon-29x29@3x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@1x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@2x-1.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@2x.png
Binary file added src-tauri/icons/ios/AppIcon-40x40@3x.png
Binary file added src-tauri/icons/ios/AppIcon-512@2x.png
Binary file added src-tauri/icons/ios/AppIcon-60x60@2x.png
Binary file added src-tauri/icons/ios/AppIcon-60x60@3x.png
Binary file added src-tauri/icons/ios/AppIcon-76x76@1x.png
Binary file added src-tauri/icons/ios/AppIcon-76x76@2x.png
Binary file added src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
Loading