Repository navigation
feat: the clients' photos and LinkedIn links under What clients said, a daily link check, and release 1.11.0 - #19
Merged
Merged
Conversation
Each review under "What clients said" now opens with the client: a round photo (their LinkedIn profile photo, cropped to the face, 144 px for a 48 px circle), the name with a small LinkedIn icon, the company and how they hired me, then the quote. On naidenko.dev the name and the photo open the client's LinkedIn profile in a new tab; the photo's link is out of the tab order and hidden from screen readers, and the name's says "… on LinkedIn (opens in a new tab)". Clicks count as testimonial_click with the client. The Toptal build shows the photos and names without links, as it links no LinkedIn profile. /index.md links the names the same way.
scripts/check-links.mjs fails a build whose page links a page, file or anchor the build lacks, naidenko.dev and toptal.naidenko.dev written in full included; `pnpm run deploy` and CI run it on both builds. The Worker's daily cron (17 3 * * *, beside the retention job) reads the sitemap's pages from the deployed build and posts broken outside links to Slack with the pages that carry them. The site has 118 outside links, 105 of them the sample report's references, and a Free plan's cron may make 50 subrequests, so the home page's links go every day and the others fifteen a day, with redirects followed by hand and counted, 40 requests at most. A 404, 410, network error, timeout or redirect loop, twice in a row, is broken; a 401, 403, 429 or 5xx is a bot wall as often as not (EPAM's Cloudflare challenge, GlobalLogic's Imperva), so it goes to the logs as unverified. LinkedIn answers 999 to any script and Toptal's terms bar scripts: neither is fetched.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Each review under "What clients said" now opens with the client: a round photo (their LinkedIn
profile photo, cropped to the face; 144 px files for a 48 px circle, 40 px on a phone), the name
with a small LinkedIn icon, the company and how they hired me, then the quote. On naidenko.dev the
name and the photo open the client's LinkedIn profile in a new tab. The photo's link is out of the
tab order and hidden from screen readers; the name's is labelled "… on LinkedIn (opens in a new
tab)". Clicks count as
testimonial_clickwith the client. The Toptal build shows the photos andnames without links, since it links no LinkedIn profile, and
/index.mdlinks the names the sameway.
Links are now checked twice over.
scripts/check-links.mjsfails a build whose page links a page,file or anchor the build lacks;
pnpm run deployand CI run it on both builds. The Worker's dailycron (
17 3 * * *, beside the retention job) checks the outside links and posts broken ones toSlack with the pages that carry them: the home page's every day, the sample report's 105
references fifteen a day, within a Free plan's 50 subrequests (redirects followed by hand and
counted). A 404, 410, network error, timeout or redirect loop, twice in a row, is broken; 401,
403, 429 and 5xx go to the logs as unverified, since EPAM and GlobalLogic answer that way to any
script. LinkedIn (999 for anything) and Toptal (its terms bar scripts) are not fetched.
Tests: unit tests red first (the link checks, the Markdown's linked names), e2e tests for the
photos, the links, the Toptal build and the click event. Checks on this tree: format, lint, types,
294 unit tests, e2e 226 passed and 12 skipped. The cron ran locally (
wrangler dev --test-scheduled) against the real links: 27 of 28 answered, GlobalLogic's 503 logged asunverified, nothing posted.