This guide will help you get the Avango documentation site running locally using the new Jekyll + Primer CSS framework.
Before you begin, make sure you have the following installed:
Ruby (version 2.7 or higher)
ruby --version
Bundler
gem install bundler
Node.js (version 14 or higher)
node --version
Git
git --version
# Clone the repository (if you haven't already)
git clone https://github.com/avango-tech/docs.avango.io.git
cd docs
# Run the bootstrap script (installs all dependencies)
./script/bootstrap
# Start the development server
./script/server
# Clone the repository
git clone https://github.com/avango-tech/docs.avango.io.git
cd docs
# Install Ruby dependencies
bundle install
# Install Node dependencies (Primer CSS)
npm install
# Start the development server with live reload
bundle exec jekyll serve --watch --livereload
Once the server is running, open your browser to:
http://localhost:4000
The site will automatically reload when you make changes to files.
docs/
├── _includes/ # Reusable components
│ ├── header.html # Site header with navigation
│ └── footer.html # Site footer
├── _layouts/ # Page templates
│ ├── home.html # Homepage layout
│ └── support-page.html # Documentation page layout
├── assets/
│ ├── css/
│ │ ├── style.scss # Main stylesheet (imports Primer)
│ │ └── _custom.scss # Custom Avango styles
│ └── img/ # Images and logos
├── api/ # API documentation
├── script/ # Build and dev scripts
├── _config.yml # Jekyll configuration
├── Gemfile # Ruby dependencies
├── package.json # Node dependencies
└── index.html # Homepage content
index.html
home layout_includes/header.html or _includes/footer.html
assets/css/_custom.scss
Create a new file with Jekyll front matter:
---
layout: support-page
title: Your Page Title
description: Page description
---
<section class="container-lg p-responsive py-5">
<h2 class="alt-h2">Your Content</h2>
<p class="text-gray">Your content here...</p>
</section>
<div class="container-lg p-responsive">
<!-- Responsive container -->
<div class="col-md-6 float-left">
<!-- 6-column grid -->
<div class="clearfix gutter-spacious"><!-- Spaced grid --></div>
</div>
</div>
<h1 class="alt-h1">Main heading</h1>
<h2 class="alt-h2">Section heading</h2>
<p class="alt-lead text-gray">Lead text</p>
<div class="mb-3">
<!-- Margin bottom -->
<div class="py-5">
<!-- Padding Y-axis -->
<div class="mt-lg-6"><!-- Margin top (large screens) --></div>
</div>
</div>
<a href="#" class="btn btn-primary">Primary</a>
<a href="#" class="btn btn-outline">Outline</a>
<a href="#" class="btn btn-large">Large</a>
<div class="bg-gray-light">
<!-- Background -->
<p class="text-gray"><!-- Text color --></p>
<p class="text-white"><!-- White text --></p>
</div>
# Build the site
./script/build
# Or manually
bundle exec jekyll build
The built site will be in the _site directory.
The site automatically deploys to GitHub Pages when you push to the main branch.
git add .
git commit -m "Update documentation"
git push origin main
GitHub Actions will build and deploy automatically.
# Kill the process using port 4000
lsof -ti:4000 | xargs kill -9
# Or use a different port
bundle exec jekyll serve --port 4001
# Update bundler
gem install bundler
# Clean and reinstall
rm -rf .bundle vendor
bundle install
# Clean and reinstall
rm -rf node_modules package-lock.json
npm install
Happy coding! 🚀