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