A customizable personal dashboard built with ClojureScript and UIx.
Launchpad is a flexible dashboard that allows you to organize and access your frequently used links in a structured table format. It supports tag-based filtering and templating for dynamic link generation.
- Tag-based filtering system
- Configurable table layout
- URL templating support
- YAML configuration
- Sidebar sections for additional links
- Modern React-based UI using UIx
- Node.js
- ClojureScript development environment
- Shadow-cljs
- UIx (React wrapper), https://github.com/pitch-io/uix
- js-yaml, https://github.com/nodeca/js-yaml
- shadow-cljs, https://github.com/thheller/shadow-cljs
- cljs-http, https://github.com/r0man/cljs-http
The dashboard is configured through a config.yml
file that should contain:
columns
: Column definitions with tagsrows
: Row definitions with tagstemplates
: URL templates for generating linksitems
: List of items to displayaside
: Sidebar sections with additional links
Example configuration structure:
columns:
- [tag1, tag2]
rows:
- [[tag3, tag4]]
templates:
pattern:
url: "https://example.com/#{path}"
short: "#{label}"
items:
- label: "Example"
tags: tag1 tag3
aside:
section1:
- title: "Link 1"
url: "https://example.com"
- Install dependencies, see UIx
- Start shadow-cljs development server with
npm run dev
- Open your browser at the development URL
http://localhost:8080/
npm i # install NPM deps
npm run dev # run dev build in watch mode with CLJS REPL
npm run release # build production bundle
There is also a Dockerfile for easy deployment with nginx.
tbd.
Contributions are welcome! Please feel free to submit a Pull Request.
Built with:
- ClojureScript
- UIx
- shadow-cljs