Skip to content

A mini suite of collaborative tools for me and my fam.

Notifications You must be signed in to change notification settings

slz4025/mini-suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini-suite

mini-suite is a set of basic productivity tools, which currently includes the following:

  • Document (markdown) editor
  • Spreadsheet (csv) editor

It aims to:

  1. provide "essential" features,
  2. deliver a simple, accessible, and performant experience,
  3. be usable from most browsers and operating systems.

Note that it is not collaborative and does not have file versioning. Use git or a similar tool for that purpose instead.

What can I do with the document editor?

demo

The document editor allows you edit a markdown file as a series of blocks. A new block is formed wherever there is a double new-line in your markdown contents. You can explore other markdown files that are linked from the markdown file you are currently viewing/editing.

After you setup your environment, you can create/edit a markdown file via doc my_file.md.

What can I do with the spreadsheet editor?

The spreadsheet editor allows you to manipulate table-based data via a GUI.

It offers the following features:

  1. Create a new csv file or view/edit an existing csv file,
  2. Focus on a selection of cells,
  3. Quickly input basic types: boolean, integers, floats, and strings,
  4. Write markdown in cells,
  5. Program and execute Python code in cells which can depend on other cells,
  6. Cut, copy, paste, delete, insert, and move a selection of cells,
  7. Erase or edit a selection of cells in bulk.

After you setup your environment, you can edit a csv file via sheet my_file.csv.

Setup

  1. Install numpy (1.26.4) and pandas (2.2.2) locally. These are dependencies of the spreadsheet editor.
  2. Prepare the environment: $ bash setup.sh.
  3. Find the path of the repository: $ pwd.
  4. Export the path: $ export MINISUITE_PATH=<path>.
  5. Create aliases for these tools: $ source mini_suite.sh.
  6. Feel free to add steps 3 and 4 to your ~/.bashrc.

You can also configure dark-mode for each tool by going to the settings.py in the tool's folder and setting DARK_MODE to True.

How does this work?

Each tool runs as a web application so it can be used on any standard operating system. It uses HTML/CSS that I would expect to be compatible with most browsers.

I'm testing this with Firefox and qutebrowser on OpenBSD 7.3 and Firefox on MacOS. The tools offer key shortcuts which can be pressed with the Ctrl or Meta key. Note that because qutebrowser is modal, some of the keyboard shortcuts will not work.

The server is written in Python 3.10 using flask. The frontend has some JavaScript and communicates with the backend using htmx.

The markdown processor I'm using is the Python port of markdown-it.

About

A mini suite of collaborative tools for me and my fam.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published