Skip to content

Add Calendly booking link (v1.3.0) - #16

Merged
impuls42 merged 2 commits into
mainfrom
claude/add-calendly-cv-3wa0zn
Sep 29, 2026
Merged

impuls42 merged 2 commits into
mainfrom
claude/add-calendly-cv-3wa0zn

Conversation

@impuls42

@impuls42 impuls42 commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

What

Adds an optional calendly config key. Set it to a Calendly path and the CV header gets a booking link:

calendly: janesmith/30min   # or just: janesmith
  • On screen: an icon at the end of the social row, with a "Book a meeting (Calendly)" tooltip.
  • In print: a Calendly: https://calendly.com/... line under the other links, so a saved PDF keeps a clickable booking link.

Also rewords the README tagline so it no longer pitches the theme at academic CVs only.

Why

A booking link takes a reader from the CV straight to a meeting slot. The theme already handles LinkedIn, GitHub, Telegram and the rest as per-service keys, so Calendly follows the same pattern instead of going into website, which would also log its clicks as website in analytics.

How

  • _layouts/cv.html: one {% if site.calendly %} block in .cv-socials and one in .cv-socials-print, built like the other social entries. The link carries data-ym-goal="calendly_click" and data-goatcounter-click="calendly".
  • Icon: the Calendly mark from Simple Icons 16.33.0 (CC0). The theme's LeetCode path already comes from Simple Icons, byte for byte. A bare glyph would stand out next to the filled rounded squares, so the mark is scaled to 16px and drawn in white on the same rounded-square path the LinkedIn/GitHub/Twitter icons use.
  • The tooltip says "Book a meeting (Calendly)" rather than just "Calendly" because the link is an action, not a profile. It is also the link's accessible name.
  • No CSS changes. The existing rules already hide the icon row in print and show the text links instead.
  • Plain link only. A Calendly embed script would go against the no-JS and no-external-dependency rules in CONSTITUTION.md.
  • VERSION 1.2.0 → 1.3.0 (additive, so MINOR), plus CHANGELOG.md, the README config example and feature list, and _config.demo.yml so the CI demo build renders it. The Gemfile.lock change is the gem's own version line.
  • README tagline: "Build a CV or résumé with a classic Harvard look. It is customizable, mobile-friendly and ready for GitHub Pages."

Verification

Everything below ran against the demo site, built the way CI does (JEKYLL_ENV=production bundle exec jekyll build --trace --config _config.demo.yml).

  • The build succeeds, and index.html has both the icon link and the print line for https://calendly.com/yourcalendlyusername/30min.
  • Rendered in headless Chromium:
    • desktop and 390px mobile: all six social icons in one row, Calendly last, same size and baseline as the others;
    • print media: Calendly: https://calendly.com/yourcalendlyusername/30min right after the LeetCode line;
    • A4 PDF: still 2 pages, same as before the change, and the Calendly URL is a clickable link annotation.
  • GoatCounter: built the demo with a placeholder goatcounter host, loaded GoatCounter's count.js (sendBeacon stubbed, other requests blocked) and clicked the print button, then the Calendly icon. Both go out as events the same way:
    • p=print e=true t="Print / Save as PDF"
    • p=calendly e=true t="Book a meeting (Calendly)"
  • With calendly unset, the page renders the same as on main: main.css is identical and index.html differs only by two blank lines.
  • gem build produces harvard-style-cv-theme-1.3.0 with only LICENSE, README.md, VERSION, the two layouts and main.scss.

Rollout

Sites that pin the theme to a tag pick this up once v1.3.0 is tagged and their Gemfile is bumped.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AEe5EffoheRJFinXoAKbZ4

New optional `calendly` config key. It takes a Calendly path
(`username` or `username/event`) and the theme builds the
https://calendly.com/... URL, like the other social keys.

- On screen: an icon at the end of the social row. The Calendly mark
  (Simple Icons, CC0) is drawn in white on the same rounded square as
  the LinkedIn/GitHub/Telegram icons, with a "Book a meeting (Calendly)"
  tooltip and the usual data-ym-goal / data-goatcounter-click hooks.
- In print: a "Calendly: https://calendly.com/..." line with the other
  links, so the saved PDF keeps a clickable booking link.

It is a plain link, so no Calendly script or embed widget is loaded.

VERSION 1.2.0 -> 1.3.0 (additive, so MINOR). CHANGELOG, the README
config example and feature list, and the demo config are updated. The
Gemfile.lock change is the gem's own version line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEe5EffoheRJFinXoAKbZ4
The tagline pitched the theme at academic CVs only. Reword it to cover
any CV or résumé.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEe5EffoheRJFinXoAKbZ4
@impuls42
impuls42 merged commit 31cc91d into main Sep 29, 2026
1 check passed
@impuls42
impuls42 deleted the claude/add-calendly-cv-3wa0zn branch September 29, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants