# Sunday Corner This is a tiny CGI script to host an ephermeral microblog -- make your random thoughts from the week avaialable on your website for one day on Sunday. See a working instance [here](https://m-chrzan.xyz/sunday-corner). ## Installing the CGI script Install it as you would any other Ruby CGI script on your webserver. Idk how to do it in every configuration, but here's how I did it on my Nginx setup: ### Nginx location /sunday.html { include fastcgi_params; fastcgi_param SCRIPT_FILENAME ; fastcgi_pass unix:/run/fcgiwrap.socket; } Make sure sunday.rb is executable by your webserver process (e.g. by running `chmod a+x sunday.rb`). ## Configuration sunday.rb has a few configurable variables. `THOUGHTS_DIR` should point to the directory where you will submit your thoughts. More details about it under "Adding thoughts" below. Defaults to `/srv/thoughts`, make sure to create this directory if you keep the default. Change `heading` to contain a personalized heading for your Sunday Corner. You can also change the `no_thoughts` message which will appear on a Sunday if you hadn't added any thoughts that week. And you can also change the `not_sunday` message which will inform your impatient visitors to wait until next Sunday for the next batch of thoughts. ## Thinking thoughts This one is hard. But not as hard as you might think! ## Adding thoughts This one is easy! At it's simplest, just point `THOUGHTS_DIR` in sunday.rb to a directory where you will manually create thoughts files. A thoughts file's filename is the date of the Sunday on which it will be displayed (in YYYY-MM-DD format). Its contents are your thoughts throughout the week. ### Making it even easier The think.rb script makes adding thoughts even easier (doesn't help with the thinking thoughts part, unfortunately). It: * Generates the correct filename for the thoughts file based on when the next Sunday is. * If it already exists, copies the remote thoughts file for next Sunday from your remote. * Drops you into an editor to edit the thoughts file. * Once you're done editing, copies it back to your remote. For it to work properly, make sure `THOUGHTS_DIR` in think.rb points correctly to your remote thoughts directory. The script requires `scp` as a dependency, but that usually comes with SSH, which you probably already have.