Beautiful Web Type — Deployment & Usage Guide
Prerequisites
- Ruby 2.7 or higher (required for Jekyll)
- Bundler gem (
gem install bundler) - Git
- Optional: Node.js (if modifying any build scripts or asset pipelines)
Installation
- Clone the repository:
git clone https://github.com/ubuwaits/beautiful-web-type.git
cd beautiful-web-type
- Install Ruby dependencies:
bundle install
This installs Jekyll and any plugins required to build the site locally.
Configuration
The site uses standard Jekyll configuration via _config.yml:
baseurl: Set to empty string""for custom domains (production). Use/beautiful-web-typeonly if hosting as a GitHub Pages project site without a custom domain.url: Set tohttps://beautifulwebtype.comfor production, orhttp://localhost:4000for local development.- GitHub Pages settings: Ensure the repository Settings → Pages → Source is set to deploy from the
gh-pagesbranch (ormainbranch root, depending on your configuration).
No API keys or environment variables are required—this is a static HTML showcase site.
Build & Run
Local Development
Start the Jekyll development server with live reload:
bundle exec jekyll serve
Access the site at http://localhost:4000.
To build for production (generates static files in _site/):
bundle exec jekyll build
Build with Drafts/Future Posts (if applicable)
bundle exec jekyll serve --drafts --future
Deployment
Primary: GitHub Pages (Recommended)
- Push changes to the
gh-pagesbranch (or configure repository Settings → Pages to usemainbranch). - Ensure the custom domain
beautifulwebtype.comis configured in the repository Settings → Pages → Custom domain. - GitHub Actions will automatically build and deploy the Jekyll site.
DNS Configuration for Custom Domain:
- Create a CNAME record pointing
beautifulwebtype.comtoubuwaits.github.io - Or create A records pointing to GitHub Pages IP addresses (185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153)
Alternative Platforms
Netlify:
- Connect repository to Netlify
- Build command:
bundle exec jekyll build - Publish directory:
_site/
Vercel:
- Install Vercel CLI:
npm i -g vercel - Run
vercelin project root - Set framework preset to "Jekyll"
Static Host (Any):
Upload the contents of the _site/ directory after running bundle exec jekyll build to any static web host (AWS S3, Surge.sh, Cloudflare Pages, etc.).
Troubleshooting
Bundle install fails with permission errors
bundle install --path vendor/bundle
Or use a Ruby version manager (rbenv/rvm) to avoid system Ruby permissions.
Jekyll serve fails with "Address already in use"
bundle exec jekyll serve --port 4001
Assets not loading (CSS/Fonts 404)
Check _config.yml baseurl setting:
- For
localhost:4000:baseurl: "" - For
username.github.io/repo-name:baseurl: "/repo-name" - For custom domain root:
baseurl: ""
GitHub Pages build fails
- Ensure all plugins used are in the GitHub Pages whitelist
- Check that
Gemfileincludesgem "github-pages"for local parity with GitHub's build environment
Font files not displaying in glyph inspector
Verify that font files in the repository are being copied to _site/ during build. Jekyll excludes files starting with underscores by default; ensure font directories don't start with _ or are explicitly included in _config.yml:
include:
- assets/fonts