ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
What do you think about polls in Gemini? I've seen several guestbooks, one or two capsules with "like" button, but only one poll, and that was closed. I believe it's a nice way to ask your readers to provide feedback - instead of asking them to write you an email or expecting them to write a blog post, you offer them to express their opinion via a single click. (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
Also, I wanted to play with @marginalia's idea of "re-rendering static page when something changes on it" (instead of when someone loads it). When you think about it - it totally makes sense, but goes so much against what's considered "usual way of doing things" in WWW world. (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
Rendered static HTML [2021-08-13] (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
When implementing some kind of user-provided feedback like comments or likes or polls on a website, you saved them in a database, and rendered HTML every time someone loads a page (or, at least that's how I was told to do it in 2008). However, when you think about it, you realize that people tend to write comments on your site much less often than they read them. Moreover, when someone writes a comment - they usually "read" it instantly right after that (i.e. reload the same page), so there's guaranteed one "read" (i.e. page render) action per each "write" (i.e. adding a comment). So it makes total sense to (re-)render the page when a comment is added! (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
Thanks to gemtext simplicity, it's pretty trivial to write a sed script which "patches" a page and updates number of votes casted for each option. So here it is: my first poll! (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
What is your personal opinion about polls on Gemini? (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
They are awesome!!! (10 votes)
They go against the read-only spirit of Gemini (8 votes)
But how will you manage it when you start cross-posting to gemini, gopher, and HTML? (7 votes)
It's a dark pattern to increase readers' engagement to your capsule, you corp bastard! (10 votes)
I love you. Please add more polls! (11 votes)
I hate you. Please remove yourself from Gemini and clean up after yourself. Thank you. (5 votes)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
Note that in order to avoid double- and multi-voting, your IP is saved together with your vote (Did someone say "IPv6"?!). To vote anonymously, send your opinion by email or consider using a web proxy. Note that at the moment of writing, of three proxies known to me, proxy.flounder.online has been deprecated, proxy.vulpes.one strips question marks from queries (but you can fix it manually if you know what to add), and only portal.mozz.us works as expected. Also note that voting through proxy will likely erase previous vote submitted through same proxy (assuming it has only one outgoing IP address). (1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
(1 vote)
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
ls/{s/([0-9]* votes?)/(1 vote)/;t;s/$/ (1 vote)/;}
Also, you can always change your vote if you change your mind! (1 vote)