project management, but gay
Find a file
Nicole Tietz-Sokolskaya 0611aac45f Escape HTML while parsing Markdown documents to remove XSS vulnerabilities (#4)
Here, I opted to use the Markdown parser's detection of HTML so that we don't add another library. This does limit users somewhat, because it means that *no* inline HTML is allowed, but I think this is acceptable: this is a platform for project management, not general-purpose publishing, so inline HTML is probably not necessary. There is a clear upgrade path in the future to add sanitizing instead of escaping tags, if we want.

This approach also gives us a clear place to plug in detection of extra things, like custom `@` tags or other features.

Reviewed-on: #4
2024-06-03 18:15:52 +00:00
_docs/decisions Switch DB layer to Diesel from SeaORM and Fjall (#2) 2024-06-02 18:37:15 +00:00
_experiments/2024-03-02-database-benchmark Add ADR for our choice of SQLite as our primary database, 2024-03-16 11:12:46 -04:00
frontend Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
migrations Switch DB layer to Diesel from SeaORM and Fjall (#2) 2024-06-02 18:37:15 +00:00
src Escape HTML while parsing Markdown documents to remove XSS vulnerabilities (#4) 2024-06-03 18:15:52 +00:00
templates Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
.adr-dir Add ADR for our choice of SQLite as our primary database, 2024-03-16 11:12:46 -04:00
.env.example Create web skeleton, including Tailwind for CSS and hot reloading of CSS 2024-03-23 12:43:02 -04:00
.gitignore Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
Cargo.lock Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
Cargo.toml Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
diesel.toml Switch DB layer to Diesel from SeaORM and Fjall (#2) 2024-06-02 18:37:15 +00:00
Makefile Create project and documents (#1) 2024-05-21 12:59:04 +00:00
package-lock.json Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
package.json Improve editor user experience (no longer WYSIWYG, fixed bugs, added view vs. edit distinction) (#3) 2024-06-03 14:56:15 +00:00
README.md Switch DB layer to Diesel from SeaORM and Fjall (#2) 2024-06-02 18:37:15 +00:00
rust-toolchain.toml Create web skeleton, including Tailwind for CSS and hot reloading of CSS 2024-03-23 12:43:02 -04:00
rustfmt.toml Switch DB layer to Diesel from SeaORM and Fjall (#2) 2024-06-02 18:37:15 +00:00
tailwind.config.js Create project and documents (#1) 2024-05-21 12:59:04 +00:00

Pique

Pique is project management software that is a delight to use!

This project is in very early stages, so here's what you need to know:

  • It's being developed by Nicole / ntietz as a side project
  • It's not production ready!
  • It's not open-source and contributions are not welcome
  • It will be free to use while it's in development, but will likely transition to paid plans pretty quickly. I hope to always offer some paid plan, but that is if I can do it without burning my budget.

If it's not open-source, why can you see this? Simply because I (Nicole) find it much better and easier to work in the open. The code is available because there is utility in that. It has few drawbacks. If someone wants to steal it, they can, but that's pretty illegal. Eventually it might wind up open-source, or as a coop, or just as a solo dev project. I don't know, but openness is a core value for me, so here we are.

If you want to use it, and there is not a plan available yet, just let me know. My personal email is me@ntietz.com and I can get you set up.

Workflow and setup

Rust

This project uses Rust. Setup the toolchain on your local machine as per usual. We use nightly, and installation and management using rustup is recommended.

DB (Diesel)

We use Diesel for database interaction. You'll want the CLI, which you can install with the following command. This will install it for your user on your system, including support for SQLite.

cargo install diesel_cli --no-default-features -F sqlite-bundled

Tailwind

We use Tailwind for our styling. You'll want to install the CLI:

npm install -D tailwindcss

Docs

Decisions are recorded in ADRs1 using a command-line tool to create and manage them. You can install it with:

cargo install adrs

See the adrs docs for more infomration on usage.



  1. Archictecture Decision Records are a lightweight way of recording decisions made on a project. ↩︎