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

77 commits

Author SHA1 Message Date
Rohan Kumar
838d73ed22
Reduce zopfli level, switch from jq to jaq
jaq is faster and more strict which is exactly what I want. zopfli level
9 is overkill and takes almost twice as long for barely any difference.
2023-08-27 14:31:32 -07:00
Rohan Kumar
4a54eb8299
Add .gif, .ico to rsync skip-compress 2023-08-16 10:47:27 -07:00
Rohan Kumar
3df303dfcf
update build scripts
- new version of webhint has false positives
- new html-proofer has different flags
- add a comment
2023-04-24 09:54:00 -07:00
Rohan Kumar
5cbe4ef6c2
Clean up + rename get-webmention script
Now caches webmentions for an hour
2022-12-24 10:11:25 -08:00
Rohan Kumar
a22528a3b5
Fix: fetch webmention json only once
Hugo parallelization means the webmention json may be fetched multiple
times, which is excessive.
2022-12-24 08:26:31 -08:00
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
ed04b8628d
Run Nu validator on xhtml
Nu updated to flag XHTML-isms. Run on XHTML files so it can default to
strict mode.
2022-11-26 00:16:55 -08:00
Rohan Kumar
ff21ae6e3b
Fix deploy for gemini about page 2022-11-04 11:07:06 -07:00
Rohan Kumar
ca386ed375
make deploy-envs: remove SSH flags + obsolete var 2022-09-02 09:29:06 -07:00
Rohan Kumar
e07e479460
fix file attrs 2022-08-31 20:35:37 -07:00
Rohan Kumar
9783690e6a
more ssh updates 2022-08-31 13:47:56 -07:00
Rohan Kumar
0866e4d2bc
Don't brotli-compress the Tor hidden service
The Tor hidden service does not use TLS, so it doesn't use HTTP/2 or
HTTP/3. Therefore, it can't use Brotli; statically-compressing Brotli
content is just wasted CPU cycles.
2022-08-13 14:25:54 -07:00
Rohan Kumar
679feb8f5c
exclude BIMI icon and search from Nu validator 2022-08-13 14:05:23 -07:00
Rohan Kumar
b0f70e63f3
Breaking html-proofer changes 2022-08-12 00:00:01 -07:00
Rohan Kumar
d73ee7ebf5
Speed up internal jobs
- Make xhtml and html alternates the same (we're polygot), cutting
  static-compression time in half
- Make axe-ff run on local files, reducing some overhead.
2022-08-10 21:30:22 -07:00
Rohan Kumar
7cf0e4bc9b
Internal: check-whole-site: deploy in parallel
Saves about a minute of time.
2022-08-05 22:49:18 -07:00
Rohan Kumar
f95e28ec98
Actually don't preserve mtime 2022-08-02 18:27:36 -07:00
Rohan Kumar
99f7222fdd
rsync: preserve mtime, perms 2022-08-02 18:21:41 -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
70b8a5e9cb
re-org the About section, add breadcrumbs
Create an "about" section.

Add breadcrumbs to show relationships between pages with full page
titles.
2022-07-07 17:44:34 -07:00
Rohan Kumar
4cb2f44afc
Avoid overwriting htmltest cache 2022-06-29 18:15:28 -07:00
Rohan Kumar
84aaf683b0
Validate and fix feeds, persist link-check cache 2022-06-17 22:09:32 -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
21aca6d4fe
Fix: don't put onion links in gemini capsule 2022-06-10 18:41:21 -07:00
Rohan Kumar
c9291830d0
Automatically pull webring links during build 2022-06-07 09:39:32 -07:00
Rohan Kumar
bc6577e241
Make: Allow setting hugo flags for deploy-staging 2022-06-03 15:49:11 -07:00
Rohan Kumar
a9ebc9e0c4
Don't compress envs deploy 2022-06-02 17:17:19 -07:00
Rohan Kumar
cb26956bca
Internal: improve scripts
- I forgot to compress xhtml files. fix that.

- Stylistic change: remove unnecessary brace expansions
- Don't repeatedly append to a file; run commands in a different scope
  and write all at once.

Move Nu HTML validator filtering into a shell script:
- Return a bad exit code if validation errors are found after filtering
- Remove null-ish values from the JSON output; the final output *should*
  be an empty string, since nothing should be reported.
2022-06-02 17:18:13 -07:00
Rohan Kumar
b4850ed89a
Use XML declaration on XHTML, other XHTML tweaks
- Remove XHTML content-type meta header from HTML documents, reverting
  back to the meta charset
- Give XHTML documents their own XHTML declaration
- Remove now-redundant meta charset from XHTML
- Since XHTML and HTML documents differ now, compress after running
  xhtmlize and make xhtmlize only act on uncompressed files.
- Validate XHTML using vnu
2022-05-31 17:16:44 -07:00
Rohan Kumar
90aeb2d23a
Create both index.html and index.xhtml files
Combines well with content-negotiation based on the "Accept" header.
2022-05-30 16:09:40 -07:00
Rohan Kumar
1aed7a66d4
Switch to XHTML5 markup
The site now has polygot markup and can handle both XHTML5 and HTML5
parsing rules. My staging site will be XHTML but my main site will be
HTML5, just in case of parse errors.

If other tools (e.g. LightHouse) end up supporting XHTML5, I'll consider
switching the content-type to XHTML.
2022-05-30 17:39:45 -07:00
Rohan Kumar
c84c8d4214
BREAKING: Prettify URLs, add Atom feeds
Adding a bunch of server configs to do the re-directs too.
2022-05-26 18:57:49 -07:00
Rohan Kumar
a9039e1bde
Adjust image transcript approach
- Use section instead of nested article
- Adjust stylesheets to match above markup changes
- Mention upcoming aria-details
2022-05-12 17:33:12 -07:00
Rohan Kumar
3f7e32e70f
Build system: allow parallel builds
Make it possible to build the tilde, staging, production, and onion
sites in parallel. Lint the staging site before deploying it.

Also make these bmake-compatible so I can use bmake instead of gmake.
2022-05-11 10:09:58 -07:00
Rohan Kumar
7a3aee1539
Streamline lint configuration
- Add lint using local installation of the Nu HTML Validator and some
  jq-based filtering of false positives
- Move linter configs to directory, to de-clutter the repo
2022-05-11 10:01:22 -07:00
Rohan Kumar
978b4b2b1a
Improve tap target + font size for WCAG AAA
Increased font size to decrease chars-per-line (SC 1.4.8) and increase
tap target size.

Pad the nav links more and add some extra space between them to meet SC
2.5.5.
2022-05-03 17:05:47 -07:00
Rohan Kumar
eb8ca07b9f
Goldmark 1.4.12, switch to good unminified output
- Goldmark 1.4.12 switches footnotes from a <section> to a <div>; update
  regexes and stylesheet to account for this.
- Goldmark 1.4.12 allows multiple footnotes with the same reference; use
  that.
- Clean up templates for unminified output. Also delete an unused class.
- Switch to unminified output by default.
2022-04-25 08:49:13 -07:00
Rohan Kumar
c609681824
Oops, that wasn't a typo. 2022-04-23 20:27:35 -07:00
Rohan Kumar
4214a351ba
Fix stylelint 2022-04-13 18:22:07 -07:00
Rohan Kumar
e455703209
Remove "last deployed" date
Visitors can see that on post update dates; I can see that in
builds.sr.ht.

This results in not having to upload every page on a trivial change. Add
the "-c" rsync flag to take advantage of that. Doing so should also
result in longer-lived cached copies, with etags and last-modified
headers.
2022-04-04 19:00:07 -07:00
Rohan Kumar
bbe85b76e9
Makefile: reduce ect compression, skip cache 2022-03-28 14:56:49 -07:00
Rohan Kumar
2bf7359303
Optimize head size
- apple-touch-icon not needed, will be fetched from doc root
- re-order <head> elements to optimize for compression algorithm size
  savings. shaved off like 15 bytes. this was a good use of my time.
2022-02-28 16:00:05 -08:00
Rohan Kumar
2fefe939db
Fix: drop static-webmentions 2021-12-13 15:34:37 -08:00
Rohan Kumar
d6363e2948
Fix makefiles 2021-07-19 02:58:39 -07:00
Rohan Kumar
c844256b8d
Makefile: compress missed assets 2021-07-08 14:55:49 -07:00
Rohan Kumar
0c048abd35
Chore: fix rsync, config.toml 2021-06-26 19:36:37 -07:00
Rohan Kumar
f4a07c96a8
CI: deploy onion site 2021-06-16 12:19:27 -07:00
Rohan Kumar
f61bbfe3d2
Update assets with precompressed versions
No need to re-compress the same file every CI job.
2021-06-13 17:25:59 -07:00
Rohan Kumar
72b20bf6e0
Switch from Zopfli to Efficient Compression Tool
ECT is more efficient than Zopfli given the same amount of time. It uses
Zopfli under the hood.

- Switch from binaries.tar.br to binaries.tar.gz
- Bring in the statically-linked ect/brotli binaries from
  binaries.tar.gz
2021-06-02 20:01:40 -07:00