PleaseDoNotRobFish  Please, Do Not Rob Fish

No really. Don't do it.

The canonical Fossil source: Fossil PleaseDoNotRobFish
My hosted version of PleaseDoNotRobFish: pleasedonot.rob.fish


Little Gif, Screenshot and other content management/uploader app for myself. Tries to make a nice interface for sharing content privately and being able to retrospectively find content as well as annotate/tag it.

Development

Setup

asdf local 2.7.0
./bin/setup

You'll also want to ensure that the settings in config/ are to your liking.

Finally use the user tool to make youself a new user:

./bin/app user create --help

Tools

An IRB shell is available with the environment loaded up via:

./bin/app console

Debuggers, via the break gem, can be dropped in with:

binding.break

Additionally the project is configured with Zeitwerk for auto-loading and reloading of code in development, the only time you should have to manually restart the server is when changing env.rb, config.ru or config/<environment>.yml.

Generators can be ran with bin/app generate and there are additional tools available to explore if you run bin/app.

Frontend

Assets are bundled with Vite and integrated with ruby via Ruby-Vite.

For easy scripting, Alpine.js is provided.

There is a Tailwind CSS setup for styling that is backed by some additional PostCSS plugins, check out postcss.config.js for what plugins are active. Make style changes to the css files in app/frontend/css/ and then run the bin/vite dev npm script to watch things:

bin/vite dev

When it looks good, run the production build to get things smaller:

bin/vite build

Release Prep

At the least these two commands should be ran and pass:

Rubocop:

bundle exec rubocop -A

Tests, with coverage:

bundle exec rake

Optionally, but good to test if changing something in lib/ that should be documented:

bundle exec rake rdoc