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.
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 <path to sunday.rb>;
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.