Launch redesigned JavaScript concept pages with AI and analytics - #19
Merged
Conversation
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.
The site now gives each of its 35 JavaScript concepts a complete, crawlable page with the original description, a highlighted code example, and click-to-reveal output. The redesigned interface adds a blue logo and favicon, local Manrope typography, collapsible sidebar navigation, a fixed footer, social sharing, and responsive scrolling within the content panel.
The collapsible AI panel lets visitors connect their own OpenAI or Anthropic API key, load available models, and ask follow-up questions about the current concept. Requests go directly to the provider. Keys stay in page memory unless the visitor explicitly chooses storage for that browser tab; prompts and answers are excluded from analytics.
Google Analytics and the separate EU PostHog project load only on production hosts after consent. The footer includes per-concept Practice Pad campaign tags, LinkedIn, GitHub, Contact, and privacy controls. Preview and localhost traffic never enter analytics reports.
The build produces canonical metadata, a sitemap, robots.txt, a 404 page, security headers, and minified, content-hashed assets. The logo and archived images use optimized WebP. Netlify and GitHub Actions use Node 22, and unused legacy dependencies have been removed. Cloudflare DNS and Netlify HTTPS are configured for https://www.javascriptin30words.com, with www as the primary hostname.
Validation:
A live paid AI answer still requires a visitor-supplied API key. Production traffic collection must be verified after deployment. This pull request updates the deploy preview; merging to master publishes the redesigned site.