This directory contains the Jekyll-based help documentation for CodeFrog, hosted on GitHub Pages at help.codefrog.app.
public_html/
├── _config.yml # Jekyll configuration
├── Gemfile # Ruby dependencies
├── CNAME # Custom domain configuration
├── _layouts/ # Jekyll layouts
│ └── help.html # Main help page layout
├── _data/ # Data files
│ └── features.yml # Feature list data
├── assets/ # Static assets
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript (Simple-Jekyll-Search)
│ └── images/ # Images
├── help/ # Help documentation
│ ├── index.md # Complete Feature List
│ └── mas/ # Mac App Store help pages
│ ├── shortcuts.md
│ ├── workflows.md
│ ├── accessibility.md
│ ├── security.md
│ ├── osv.md
│ ├── secrets.md
│ ├── launch-checklist.md
│ └── ...
└── search.json # Search index (generated)
- Ruby 2.7 or later
- Bundler gem:
gem install bundler
-
Install dependencies:
cd landing-page/public_html bundle install -
Run local server:
bundle exec jekyll serve --livereload -
Open browser:
http://localhost:4000/help/
For local Apache development with PHP redirects, the .htaccess file provides redirects from legacy PHP URLs to new Jekyll structure.
Use the deployment script:
./landing-page/scripts/deploy_docs.shThe script will:
- Check for uncommitted changes
- Install dependencies
- Build the Jekyll site
- Deploy to
gh-pagesbranch - Push to GitHub
-
Build the site:
cd landing-page/public_html JEKYLL_ENV=production bundle exec jekyll build -d _site
-
Deploy
_sitedirectory to GitHub Pages (gh-pages branch)
- Create a new Markdown file in
help/mas/(orhelp/direct/for Direct Download) - Add front matter:
--- title: Page Title layout: help redirect_from: - /help/old-page.php ---
- Write content in Markdown
- Add to navigation in
_layouts/help.htmlif needed
Search uses Lunr.js (a lightweight, client-side search engine) with a generated search.json file. The search index is built client-side from all pages in the help/ directory.
- ✅ Actively maintained (unlike deprecated Simple-Jekyll-Search)
- ✅ Client-side only (no server or API keys needed)
- ✅ Works perfectly with GitHub Pages
- ✅ Fast and lightweight
- ✅ Full-text search with relevance scoring
The search implementation is in assets/js/lunr-search.js and uses the Lunr.js CDN.
Legacy PHP URLs are redirected using:
- GitHub Pages:
jekyll-redirect-fromplugin (in page front matter) - Local Apache:
.htaccessrules
The site is configured for help.codefrog.app:
- CNAME file contains the domain
- DNS: CNAME record pointing to GitHub Pages
- HTTPS: Enabled in GitHub Pages settings
- Update Features: Edit
_data/features.yml - Update Styles: Edit
assets/css/help.css - Update Layout: Edit
_layouts/help.html - Add Pages: Create new Markdown files in
help/