# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 2159
# self = https://watcher.sour.is?uri=https://f.adi.onl/user/adi/twtxt.txt&offset=1059
# next = https://watcher.sour.is?uri=https://f.adi.onl/user/adi/twtxt.txt&offset=1159
# prev = https://watcher.sour.is?uri=https://f.adi.onl/user/adi/twtxt.txt&offset=959
@mckinley Theme could be better.
Also, am considering using the site's directory name as the default name so you could just type bin/mkws instead of bin/mkws https://example.com, assuming you have the source files in an example.com directory.
I'm also considering also removing <link rel=icon href=/favicon.ico type=image/x-icon> but @mckinley has something to say about it https://mckinley.cc/blog/20210824.html πŸ˜‹
@mckinley What's _teddit_?
πŸ˜‹ > πŸ˜›
@jlj Thanks! Also https://twtxt.net/twt/62afapa πŸ˜‹
I got Reddit Premium for submitting your article @mckinley, was that you?
So I do have to add initial-scale=1 to the default layout https://css-tricks.com/probably-use-initial-scale1/
@prologic Yeah, but hold on, I overdosed on HTML and CSS. A break would be nice.
@prologic For instance you could render a username and avatar semantically speaking as.\n\n
\n \n
\n username\n \n
=
@prologic That would be the general idea!
@prologic The classes are required and the structure but not the tags.
@adi @prologic But maybe I could work with the HTML before them and bake microformats in more semantically while keeping stuff simple? Did the HTML get more complex with the addition of mf2? Did you add tags without affecting functionality there?
@adi @prologic \n\n> I think you want the version before I added mf2 support? πŸ€” Shall I just make that a configuration option?\n\nNeah, I'd rather have microformats by default.
@adi @prologic While still keeping the microformats?
@prologic Yeah, but maybe we could put those on semantic elements as much as possible?
@mckinley Yup, got it, 2nd "social". 😁
@prologic Less tags I believe, more semantic, less divs, less spans more semantic elements like figures, figcaptions for instance.
@mckinley I don't believe so, is that I read "anti-social social media" as "anti social media social media" because https://twtxt.net/ is not "antisocial"/"anti-social" but twtxt would be as you put.
I'm going to host a yarn instance at https://c.mkws.sh for community purposes but I have to work on yarn's HTML output as I believe it could be better and skin it accordingly.
@prologic @mckinley @jlj @anth @prologic As you prefer/feel/have time. πŸ˜‹
@anth @jlj @mckinley That CSS text-shadow looks pretty cool!
@maya \n\n> Twtxt’s original spec is like taking a 140 character long string of text, loading it into a cannon, and shooting it off into space.\n\nThat would be "antisocial" as I wrote it and what you ment by "anti-social".\n\nYeah, twxt and https://twtxt.net/ kinda overlap. I would say yarn would be "anti social media social media", as joke, truth is I personally am neither anti nor pro anything.
@jlj 😁, glad you're having fun, just saw https://nfld.uk/, looking cool! 😎\n\n> Now I need some content. ;-)\n\nWouldn't worry about that, I constantly get content ideas for both of my sites while not actively looking for them.\n\n> Built with mkws.sh\n\nCould you update this link so it would say just \n\n> Built with mkws\n\nI would say mkws is the name of the program and mkws.sh is the name of the web site?
@prologic @mckinley Yeah, article was good! 😁
@prologic https://mckinley.cc/blog/20210831.html\n\n> I've recently become active again on twtxt.net, the platform that puts the "social" in "anti-social social media".\n\nIt's not antisocial to be clear. Maybe it would be better put as "anti social media social media". 😁
@mckinley I didn't say you were 1st, highest was 3rd I believe.
@prologic https://lobste.rs/s/poxwde/documents_are_not_programs, https://news.ycombinator.com/item?id=28378789
@naveen @trevcan @jpinto @nathias @zain @anup @hesam @johnbiggs @wearsthefoxhat @xn @sebas1969 @namikis @mario @sb @prologic @manbart @mckinley was frontpage on Hacker News and Lobsters.
@adi @prologic @mkws @archerships is following @mkws but not me. ☹
@prologic @mkws Delete it? πŸ˜› Is that a bug or feature?
@adi @mckinley It was good content!
@mckinley 😁
@mckinley Good comment here https://www.reddit.com/r/programming/comments/pfwkaw/documents_programs/hb7x3x3/?utm_source=reddit&utm_medium=web2x&context=3
@adi @mkws @prologic
@anup hello, @anup!πŸ‘‹
Good writing @mckinley!
That @mkws was my feed, I rather post as myself, buy can't delete that user.
@adi @mckinley Yup, that's exactly the problem, treating documents as "apps". _Forcefully_ treating documents as "apps" I may even say.
@adi @mckinley I'm also in it! 😁
Morning! Reading @mckinley's blog post over β˜•, it starts well!.
@lohn @eldersnake @adi Stuff has some comments and may be a little broken (from the unpublished stuff I showed you) because I added selectively serving .gz, .br, uncompressed files tonight so it's a good idea to fix some scripts.
@adi @lohn @eldersnake Linting https://mkws.sh/bin/precommit, deploy script https://mkws.sh/bin/up.
@adi @lohn @eldersnake Before I go, I have some other stuff you could look at at https://mkws.sh/bin/dv, _dev_ script, starts a simple webserver https://mkws.sh/https/https.go, uses https://livejs.com/ for live reloading and https://eradman.com/entrproject/ for file monitoring.
@adi @lohn @eldersnake Thanks for the questions @lohn! Looking forward to continuing the conversation, but I'm out for tonight as I'm beat! πŸ›ŒπŸ˜΄
@adi @lohn @eldersnake \n\n> A common practice in SSG is to separate the code/content/siteready. As I understand now, #mkws puts almost everything in the root dir. There is a way to separate those things?\n\nYou could do, assuming mkws is in your $PATH, do something like:\n\n MKWSTHEMEDIR=/path/to/share/dir mkws https://example.com /path/to/src/dir\n\nIt would get you the output in the current directory tho.\n\nYou could also just output elsewhere from bin/mkws.\n\nI however recommend publishing the sources also, keeping sensitive info in ENV vars.=
@adi @eldersnake @lohn \n\n> Any thing about internationalization? Make #mkws runs in multiple languages and generate multilanguage content?\n\nDidn't get to that yet! It's not that hard! You could use the https://www.gnu.org/software/gettext/ utilities. I, personally, would/will write a CLI version of https://man.openbsd.org/catgets
@lohn \n\n> I learned a lot of Hugo looking as other’s solutions. Do you have some other theme option for #mkws?\n\nFor now I have all the source files also on https://mkws.sh/ and https://adi.onl (s/html/upphtml/g in urls, e.g. https://mkws.sh/index.html https://mkws.sh/index.upphtml, https://mkws.sh/docs.upphtml) maybe @eldersnake could also give you his sources, he was also very satisfied, the other weren't so brave. πŸ˜›\n\nI recommend distributing the sources of the website, you can hide sensitive information in environment variables.
@lohn \n> Almost every thing I think to do I’ll have to mod #mkws mkws.sh file. Is there the expected behavior or am I imagine things?\n\nNot necessarly _expected_ but recommended skips writing config files, do your config in code, and don't restrict your self to /bin/mkws, script the whole thing. There's not much to upgrade in /bin/mkws, if any. I believe any config I'll ever add is Markdown front matter, some variant of it.
> There is an out of the box way to #mkws to create posts pages based in a list of Markdown files in a directory? And generate a list of those posts?\n\nAnd here https://mkws.sh/share/f.upp, and here https://mkws.sh/share/sitemap.uppxml
@lohn \n> There is an out of the box way to #mkws to create posts pages based in a list of Markdown files in a directory? And generate a list of those posts?\n\nNot right now, you could look here for inspiration https://mkws.sh/blog.upphtml\n\nThe p directory is basically:\n\n |adi@huike ~/s/m/p ls -1\n 2021-02-28 15:34:42 Welcome\n 2021-02-28 15:35:21 How to add a navigation menu\n 2021-02-28 15:35:39 How to add custom titles\n 2021-03-09 19:45:23 How to render Markdown\n\n/bin/mkws is https://mkws.sh/bin/mkws~
@adi @lohn I'll have to put a list of all the versions I guess at some point or something like that.
@lohn For now I'm not using version control at all, stuff is very simple and small. You can address me directly. 😁
@lohn @prologic Sure!!! Go ahead, happy to answer!! πŸ‘‚
@lohn @prologic \n\n> Yup! I made some tests. It’s really generally simpler and easier to use. Congratulations!\n\nThanks! What kind of tests?
@lyse @mckinley _wrong_ from what point of view? Please don't misunderstand me, I'm not picking sides, just reading your opinions.
Very happy some other problems appeared, I was tired of doing HTML and CSS.
But those IndieWeb websites, oof, not easy to follow and read.
Yeah, fixed my websites for IndieAuth login and Webmentions, they didn't Accept-Encoding gzip.
@prologic Hmmm... Seems there already is a Indieweb standard for Likes?
I believe I'm going to rewrite this from scratch https://si3t.ch/Logiciel-libre/Code/sbwcgi.html also, separate custom 404 and caching into separate binaries.
Guys, what are you running on your servers?
@prologic Yes! I used it my precommit script as you saw.
Working on implementing https://framagit.org/hucste/tools/-/blob/master/OpenBSD/slowcgi/sbw.cgi, also C version https://si3t.ch/Logiciel-libre/Code/sbwcgi.html. Works great on my test server!
@prologic Both you guys please be aware of https://shelcheck.net/!
@lohn @prologic \n\n> I saw your project yesterday. I can’t express how happy I am to have a decent shell SSG. You are now truly one of my heroes.\n\nStraight to the _What people are saying_ section. Neah, heroes save people, you don't need saving. πŸ€—πŸ€. Now please go build something πŸ› πŸ”§βš™βš’πŸ”©πŸ€”πŸΉ
This is the webserver for mkws https://mkws.sh/https/https.go, @prologic let me know your opinion. Could this be made simpler?
@adi @lohn @prologic (You can also see the sources of the pages by just s/html/upphtml/ in the file name, e.g. https://mkws.sh/index.html: https://mkws.sh/index.upphtml, https://mkws.sh/blog.html: https://mkws.sh/blog.upphtml), also https://mkws.sh/share/l.upphtml)
@adi @lohn @prologic \n\n> As a network guy, Bash is my main language\n\nHa! Although we prefer POSIX.
@adi @lohn @prologic @lohn, I see you're using Hugo, might wanna give my static site generator https://mkws.sh a shot if you prefer. πŸ”¨πŸ˜ŽπŸ˜‹
@lohn @prologic I have to implement lots of #indieweb stuff myself, I don't believe webmentions are implemented in any way in yarn? @prologic
@adi @prologic (Here are some other goodies I have:
https://mkws.sh/bin/precommit - inspired by git pre-commit hook, run linters, validators, and shellcheck in this script
https://mkws.sh/bin/dv - run _dev_ environment: monitor files, start development web server, live reload offered by
https://livejs.com/, scripts also recompiles/restarts web server, nice to have when playing with headers
https://mkws.sh/bin/d - wrapper for above script, runs it via doas because I have to access TSL certs
https://mkws.sh/bin/up - deployment script)
@prologic \n\n1. That's illegal, right?\n2. It would be nice to have VPS I can automatically ssh into build the binaries there, and copy them back on the https://mkws.sh server. That's how I build the Linux version.\n\nHere is my current build script: https://mkws.sh/bin/mkws
@prologic https://www.w3.org/TR/webmention/ -ish I guess. Just notify an url another url has liked/starred it?
@eldersnake @prologic I was actually talking something like stars for an url or a web site? Sounds Indieweb-ish.
@adi @prologic @eldersnake And it fits my use case pretty well.
@adi @eldersnake @prologic https://www.scaleway.com/en/pricing/#apple-silicon, looks pretty cheap.
@eldersnake @prologic ...for compiling for macOS. I believe is great to self host but one the problems is that GitHub is so tied up in a lot of stuff, like https://jamstack.org/ or https://opencollective.com/. Is there an IndieWeb equivalent to GitHub ⭐s?
Nop, not using GitHub Actions.
@eldersnake I'll quote a piece of your https://www.thelinuxrain.org/articles/mkws-static-site-generation-with-the-shell article on the What people are saying section. I'll guess I'll use https://twtxt.net/user/eldersnake/avatar this avatar?
@prologic Done!
@eldersnake https://solar.lowtechmagazine.com/ is wow content wise, design wise and tech wise.
@prologic @mckinley\n\n> Oh wow! 😳 Like just straight up deleted?! πŸ€” That’s a bit harsh no? πŸ˜‚\n\nMy opinion exactly, no archive for a few months I guess?
@prologic @eldersnake @mckinley Are you considering launching it commercially?
@prologic Removing DMs would definitely remove any trust/privacy issues between users and pods owners because users wouldn't need to trust the pod owner regarding their privacy. That's how trust works, trustworthy people/tech don't need to be trusted.
@mckinley @eldersnake Also take a look at https://tinykvm.com/ for hosting, a small, simple, static site.
@eldersnake Don't they have a warning system tho so you wouldn't experience downtime?
@eldersnake I understood how your site's hosting works a while ago. πŸ˜ŽπŸ˜›
@adi @eldersnake The emails I sent from my personal email address.
@adi @eldersnake No, which email I sent did you get the chance to read?
@adi @eldersnake The one on https://andrewjvpowell.com/ or the other one?
@eldersnake Which email did you eventually see?
It's a good idea to have a new xcd picturing someone thinking/writing about standards and having that comic pop-up in his head. \n\n_Always__
@eldersnake Hi @eldersnake, welcome back, let me just wake up properly. 😴
@niplav https://en.wikipedia.org/wiki/8.3_filename
@mckinley @lyse Depends on what you understand by "wrong". πŸ˜‹
@lyse @mckinley Well, it's not a web _site_, it's an _app_.
@mckinley @lyse http://www.webbloatscore.com?url=https://mkws.sh/ 0.112 😎
One of my problems with self hosting is the lack o visual consistency between pieces of software. Maybe it would be a good idea to develop some sort of "skinning" standard.
@adi @lyse @mckinley I mean, it's a headache to just read about it, consider working on it.