A professional Jekyll template for Lawrence Berkeley National Laboratory research projects, featuring responsive design, dark mode support, and LBNL brand compliance.
- 🔬 LBNL Brand Compliant: Follows official LBNL Visual Identity Guidelines
- 📱 Responsive Design: Mobile-first Bootstrap framework with Bootswatch themes
- 🌙 Dark Mode: Automatic system preference detection with manual toggle
- 🎨 Customizable: Choose from 8+ Bootswatch themes and 9 LBNL accent colors
- 🏢 Sponsor Integration: Dynamic sponsor logo display from YAML configuration
- ♿ Accessible: WCAG compliant with proper ARIA labels and keyboard navigation
- 🚀 GitHub Pages Ready: Optimized for seamless GitHub Pages deployment
-
Download the template:
- Click the green "Code" button → "Download ZIP"
- Extract the ZIP file to a temporary location
-
Copy to your project:
# Navigate to your project directory cd your-project-directory # Copy template files (adjust path as needed) cp -r /path/to/lbnl-jekyll-template/* .
-
Run setup:
chmod +x setup.sh ./setup.sh
- Click "Use this template" on GitHub
- Create your new repository
- Clone your new repository:
git clone https://github.com/yourusername/your-repo.git cd your-repo ./setup.sh
Perfect for adding a Jekyll site to an existing repository:
- Download and extract the template
- Copy to subdirectory:
cd your-existing-repo mkdir docs # or website, blog, etc. cp -r /path/to/lbnl-jekyll-template/* docs/ cd docs ./setup.sh
The setup.sh script will guide you through:
- Theme Selection: Choose from 8+ Bootswatch themes
- Color Customization: Pick your LBNL accent color
- Site Configuration: Set title, description, and URLs
- GitHub Integration: Auto-detect or manually configure repository settings
The script will:
- ✅ Generate all Jekyll files with your preferences
- ✅ Create proper directory structure
- ✅ Set up LBNL-compliant styling
- ✅ Configure GitHub Pages deployment
- ✅ Clean up template files automatically
Before running your site, you'll need to add your project logos:
-
Project Logo (
assets/logos/project-logo.png):- Used in the navigation bar
- Recommended size: 200x40px (or similar aspect ratio)
- Should work well on light backgrounds
- PNG format with transparent background preferred
-
Project Icon (
assets/logos/project-icon.png):- Used as the favicon/browser tab icon
- Recommended size: 32x32px or 64x64px
- PNG format
- Should be recognizable at small sizes
If you have sponsor organizations to display in the footer:
-
Add logo files to
assets/logos/:- Sponsor logos as needed
-
Configure sponsors in
_data/sponsors.yaml
- If logos are missing, the site will still function
- Navigation will show text-only branding
- Browser icon will use default favicon
- Footer sponsor section will be empty
For LBNL projects, ensure logos follow the LBNL Visual Identity Guidelines:
- Use official LBNL logos when representing Berkeley Lab
- Maintain proper spacing and proportions
- Ensure sufficient contrast for accessibility
- Consider dark mode compatibility
# Add your logos
cp /path/to/your/project-logo.png assets/logos/project-logo.png
cp /path/to/your/project-icon.png assets/logos/project-icon.png
# Add sponsor logos (optional)
cp /path/to/sponsor1-logo.png assets/logos/sponsor1-logo.png
cp /path/to/sponsor2-logo.png assets/logos/sponsor2-logo.pngAfter running the setup script, you'll have a complete Jekyll site with:
your-project/
├── _config.yml # Site configuration
├── Gemfile # Ruby dependencies
├── index.md # Home page
├── _layouts/
│ └── default.html # Main layout with navbar and footer
├── _includes/
│ └── navbar.html # Navigation component
├── _data/
│ └── sponsors.yaml # Sponsor configuration
├── assets/
│ ├── css/
│ │ └── main.scss # LBNL-styled CSS
│ ├── images/ # Content images directory
│ └── logos/ # Project and sponsor logos
│ ├── project-logo.png # ⚠️ ADD: Navigation logo (~200x40px)
│ ├── project-icon.png # ⚠️ ADD: Favicon (32x32px)
│ ├── lbnl-logo.png
│ └── doe-logo.png
├── pages/
│ ├── about.md # About page
│ └── contact.md # Contact page
└── .gitignore # Git ignore rules
bundle installbundle exec jekyll serve --baseurl ""
open http://localhost:4000- Edit
_config.ymlfor site details - Update
index.mdfor your home page - Modify
pages/about.mdandpages/contact.md - Add logos to
assets/logos/ - Configure sponsors in
_data/sponsors.yaml - Add funding acknowledgment in
_config.yml(see Legal/Funding Acknowledgment section below)
If installed in repository root:
git add .
git commit -m "Add LBNL Jekyll site"
git push origin mainIf installed in subdirectory:
git add .
git commit -m "Add LBNL Jekyll site to docs/"
git push origin mainThen in GitHub: Settings → Pages → Source → Deploy from branch → Choose branch and folder
Install in repository root for a dedicated project site.
Install in docs/ subdirectory alongside your code.
Use as template repository for your lab's main website.
Customize for workshops, conferences, or events.
The template includes a collapsible accordion in the footer for displaying funding acknowledgments and legal disclaimers, which is commonly required for research projects.
The funding acknowledgment is configured automatically during setup:
- During
./setup.sh: You'll be prompted to enter your funding acknowledgment text - Multi-line input: Enter your text and press Enter twice when finished
- Skip to disable: Leave blank to hide the legal footer entirely
- Auto-mode: Use
./setup.sh -yto skip (disables funding acknowledgment)
After setup, you can modify the funding acknowledgment in _config.yml:
# Legal/Funding Acknowledgment (appears in footer accordion)
funding_acknowledgment: |
This work was supported by the U.S. Department of Energy, Office of Science,
under Contract No. DE-XXXX-XXXXXXXXX. Additional support was provided by
[specific funding agencies or grants - customize this text for your project].
**Disclaimer:** This document was prepared as an account of work sponsored by
the United States Government. Neither the United States Government nor any
agency thereof, nor any of their employees, makes any warranty, express or
implied, or assumes any legal liability or responsibility for the accuracy,
completeness, or usefulness of any information disclosed.To disable: Comment out the entire funding_acknowledgment: section with #
- Setup Integration: Prompted during initial site setup
- Collapsible Design: Users click "Funding & Legal Information" to expand the accordion
- Markdown Support: Use formatting like
**bold**and links in your acknowledgment text - Easy to Modify: Located in the main
_config.ymlfile with clear documentation - Optional: Automatically disabled when left blank during setup
- Mobile Responsive: Accordion works well on all device sizes
Theme: Edit the import in assets/css/main.scss
@import url('https://cdn.jsdelivr.net/npm/bootswatch@5.3.0/dist/THEME/bootstrap.min.css');Colors: Change the accent color variable
--lbnl-accent: var(--lbnl-COLOR);Content: All pages are in Markdown for easy editing
- Add custom CSS to
assets/css/main.scss - Create new page templates in
_layouts/ - Add custom JavaScript to
_includes/ - Modify the navbar in
_includes/navbar.html
The template includes built-in support for Mermaid diagrams. Simply use fenced code blocks with the mermaid language:
```mermaid
flowchart TD
A[Research Question] --> B[Data Collection]
B --> C[Analysis]
C --> D[Publication]
```- Flowcharts: Process flows and decision trees
- Sequence Diagrams: System interactions
- Class Diagrams: Object-oriented designs
- Gantt Charts: Project timelines
- Git Graphs: Version control flows
- State Diagrams: System states
- And more: See Mermaid documentation
Mermaid diagrams automatically use LBNL colors and adapt to dark/light mode:
- Light Mode: Uses LBNL primary colors with your chosen accent
- Dark Mode: Automatically adjusts for better contrast
- Responsive: Diagrams scale properly on mobile devices
- Ruby 2.7+
- Bundler gem
- Git (optional, for deployment)
chmod +x setup.shgem install bundler
bundle install- Check Actions tab for errors
- Verify
baseurlmatches repository structure - Ensure all files use
relative_urlfilter
- Jekyll: https://jekyllrb.com/docs/
- Bootstrap: https://getbootstrap.com/docs/
- LBNL Guidelines: https://creative.lbl.gov/visual-identity/