piga

List editor for power users, backed by a self-hosted server

Stars
44
Forks
0
Open issues
0
Closed issues
2
Last release
5 months ago
Last commit
5 months ago
Watchers
44
Total releases
31
Total commits
1.22K
Open PRs
0
Closed PRs
0
Repo URL
Platform
License
other
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

Task Keeper

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

Installation from release

  • Download "Binaries (compiled files) with demo configuration" from the latest release
  • 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 facto 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://<ip_address>: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://<ip_address>: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

  • 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

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.