Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nymanjens/piga
List editor for power users, backed by a self-hosted server
https://github.com/nymanjens/piga
selfhosted todolist website
Last synced: 2 months ago
JSON representation
List editor for power users, backed by a self-hosted server
- Host: GitHub
- URL: https://github.com/nymanjens/piga
- Owner: nymanjens
- License: other
- Created: 2018-07-13T19:42:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T09:04:12.000Z (3 months ago)
- Last Synced: 2024-10-27T10:18:56.188Z (3 months ago)
- Topics: selfhosted, todolist, website
- Language: Scala
- Homepage:
- Size: 2.48 MB
- Stars: 57
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Task Keeper
===========[![CI Status](https://github.com/nymanjens/piga/actions/workflows/ci.yml/badge.svg)](https://github.com/nymanjens/piga/actions)
This project aims to be a list editor for power users.
Example use cases:
* A TODO list
* A list of meals and ingredients
* Notes from a meeting
* A list of things to remember## Features
* Document editing:
* Productivity **shortcuts** for actions such as 'remove task', 'swap task down',
'open link', 'convert selection to lower case', ...
* Ability to **collapse** all indented tasks beneath selected task
* Tasks can have **tags**
* Many documents:
* Easy **switching** between documents## Screenshot
![screenshot](screenshot.png "Screenshot")
## Installation from release
- Install Java 11 (JDK 11) on your server
- Download "Binaries (compiled files) with demo configuration" from the [latest
release](https://github.com/nymanjens/piga/releases)
- Unpack the archive
- Open `conf/application.conf` in the unpacked folder:
- Configure a database. The easiest way is to set up a MariaDB server locally,
create an empty database called `piga` and configure it as follows:```
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost/piga?user=mysqluser&password=mysqlpassword"
db.default.slick.profile = "slick.jdbc.MySQLProfile$"
```- Choose secret values for `play.http.secret.key` and `app.setup.defaultPassword`
- Open a terminal in the unpacked folder
- Run following commands to get the app running:```
# Create database tables
bin/server -DdropAndCreateNewDb# Create admin user
bin/server -DcreateAdminUser# Run application
bin/server
```- Browse to http://:9000/app/useradministration (username: "admin", password: "changeme")
## Installation with Docker
The following commands will launch a new server alongside a database in Docker containers:
```
# Get the docker-compose.yml file
wget https://raw.githubusercontent.com/nymanjens/piga/master/docker-compose.yml# Choose a unique random string here of sufficient length
export APPLICATION_SECRET="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"# Create an empty database with a single admin user
docker-compose run web bin/server -DdropAndCreateNewDb
docker-compose run web bin/server -DcreateAdminUser# Bring up the server
docker-compose up
```When done, browse to http://:9000/app/useradministration (username: "admin", password: "changeme")
## Configuration
- `conf/application.conf`:
Setup and configure a database here.
- Add users:
A default user is created with the `-DcreateAdminUser` flag (username: admin, password:
changeme). This account can create new users.## Shortcuts
- **Basics**
- **Indentation**
- `tab`: Increase current indentation
- `shift + tab`: Decrease current indentation
- **Formatting**
- `ctrl + I`: Toggle 'italic'
- `ctrl + B`: Toggle 'bold'
- ``ctrl + `` `: Toggle 'code font'
- `alt + shift + 5`: Toggle 'strikethrough'
- `ctrl + \`: Reset formatting
- **Undo/redo**
- `ctrl + Z`: undo
- `ctrl + Y`: redo
- `ctrl + shift + Z`: redo
- **Special actions**
- `ctrl + K`: Create or edit a link
- `alt + shift + T`: Create or edit a tag
- `ctrl + P`: Open "Go to file" dialog
- `ctrl + plus`: Expand current task
- `ctrl + minus`: Collapse current task
- `alt + shift + 4`: Mark as 'done'
- **Power user shortcuts**
- **Copying**
- `ctrl + shift + C`: Copy selected task and its children
- `ctrl + shift + X`: Cut selected task and its children
- `alt + shift + M`: Copy selected task and its children as Markdown
- **Tasks**
- `alt + up`: Swap current task with the previous task
- `alt + down`: Swap current task with the next task
- `ctrl + shift + P`: Go to the parent task
- `ctrl + D`: Delete current task
- `ctrl + shift + B`: Duplicate current task
- **Change casing**
- `ctrl + alt + U`: Convert selection to uppercase
- `ctrl + shift + U`: Convert selection to uppercase
- `ctrl + alt + L`: Convert selection to lowercase
- `ctrl + shift + L`: Convert selection to lowercase
- `alt + shift + L`: Convert selection to CamelCase
- `alt + shift + K`: Convert selection to snake_case
- `alt + shift + H`: Convert selection to dash-case
- **Selection**
- `ctrl + enter`: Open selected link
- `ctrl + M`: Select current word
- `ctrl + shift + M`: Select current quoted sentence
- `ctrl + J`: Select current task
- `ctrl + G`: Find next occurrence of selected text
- **Other**
- `ctrl + Q`: Go to the last edit
- `ctrl + shift + delete`: Delete the remainder of the line after the cursor