1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-11-10 00:12:09 +00:00
Commit graph

14 commits

Author SHA1 Message Date
Rohan Kumar
8709bf9ec2
Overhaul webmention generation
Use a new branch of webmentiond that lets me pull in all webmentions for
all pages in a single JSON response

Before, Hugo would make one request to webmentiond per page to ask for
approved webmentions for that page. Sometimes, it makes two requests
because some pages used to have a different canonical location. In all,
it ended up making over 150 requests within a second or two. Webmentiond
can handle this for now, but this isn't sustainable: page count will
only increase with time. I wanted to have Hugo instead get all
webmentions for all pages in one cached request.

I recompiled webmentiond from
https://github.com/zerok/webmentiond/pull/65, which updates the API to
support admin access keys. The admin API allows pulling in all
webmentions for all pages, instead of pulling them in for one page at a
time.

Doing so requires getting a bearer token, so I had to manage a new CI
secret: the password for getting a token. I get the token in a shell
script (get-token.sh) and write it to a temporary file, then have Hugo
read the token from that file. The shell script gets the password using
either the CI secret (in CI) or using my password manager (on my
workstation).

TODO: support marginalia (mentions with fragments in their targets)
2022-12-19 11:07:57 -08:00
Rohan Kumar
205c7a1105
Chore: gitignore, some comments 2022-10-21 11:23:22 -07:00
Rohan Kumar
c0904f3b32
Moar site testing
- Replace achecker flags with a config file
- Bring back webhint
- Amend check-whole-site so that it will deploy to staging if all checks
  pass, and then run webhint on every staging page.
2022-07-17 20:01:54 -07:00
Rohan Kumar
fba366ca11
Check and fix broken links 2022-06-17 20:36:35 -07:00
Rohan Kumar
2f8e5d8a4d
Use Equal Access to checl whole site 2022-06-15 19:43:01 -07:00
Rohan Kumar
c9291830d0
Automatically pull webring links during build 2022-06-07 09:39:32 -07:00
Rohan Kumar
7a54e7ec2e
Update .gitignore 2022-02-28 14:20:43 -08:00
Rohan Kumar
4d7625227b
IndieWeb: gather WebWentions with static-webmention
Update the Makefile to download the old version of the site, run
static-webmentions, and collect the WebMentions to send in a json file
saved as a build artifact.

Don't send these automatically; just save them for now. Until I work out
a solution to save sent WebMentions and avoid sending duplicates, I'll
keep the sending of WebMentions manual.

For some reason this caused webhint's axe/aria test to error out with a
"Protocol error" so I disabled it. Axe tests are covered by Lighthouse
anyway.
2021-01-09 21:48:34 -08:00
Rohan Kumar
e989ff01c4
CI: don't install packages globally
Install bins into ~/bin instead and use local npm packages
2020-12-23 18:22:03 -08:00
Rohan Kumar
51a6d4edde
CI: test with lighthouse, webhint in staging 2020-12-23 17:04:28 -08:00
Rohan Kumar
64496029ff
Add new/updated files for testing
Add new/updated config files for lighthouse, webhint, and lychee.
Ignore artifacts produced by lighthouse in .gitignroe
2020-12-21 16:47:40 -08:00
rohan kumar
40ea94c33b
CI: use Makefile to lint, build, and deploy
Switch from the deploy.sh shell script to a more configurable Makefile.
2020-12-12 21:04:01 -08:00
rohan kumar
74e939f40b
Implement cache-busting and SRI for CSS
Use Hugo's fingerprinting pipes [0] to give external stylesheets an
identifier to enable cache-busting [1].
Since Hugo's fingerprinting automatically generates the information
needed for SRI [2], include an integrity attribute too.

I discovered this feature through webhint [3], and added the .hintrc
file I used to the repo root.

[0]: https://gohugo.io/hugo-pipes/fingerprint/
[1]: https://css-tricks.com/strategies-for-cache-busting-css/
[2]: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
[3]: https://webhint.io/
2020-12-11 17:33:38 -08:00
Rohan Kumar
d364a8fb9f
Batman!! (this commit has no parents)
The sight of an animal using a JavaScript captivates Computer Scientists
and laymen alike, perhaps because it forces us to question some of our
ideas about human uniqueness.

Does the animal know how JavaScript works? Did it anticipate the need
for the tool and select it instead of Haskell or Zig?

To some, this fascination with JavaScript seems arbitrary and
anthropocentric; after all, animals engage in many other complex
activities, like Agile Planning and ordering Juice on the Internet.
However, we know that complex behaviour need not be cognitively
demanding.

JavaScript development can therefore provide a powerful window into the
minds of animals, and help us to learn what capacities we share with
them — and what might have changed to allow for the incontrovertibly
unique levels of technology shown by modern humans, such as integers and
block scope.
2020-11-03 15:52:34 -08:00