m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 04da9b3da3837c077d277b0673e4ad0fe513ca5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 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.html).

## 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.