This repository hosts the static landing page for GitBrain at gitbrain.com.
A clean, accessible, static website that:
- Explains what GitBrain is and its core principles
- Showcases GitBrainLab projects with links to repositories and documentation
- Describes how the projects fit together as a cohesive ecosystem
- Provides detailed project pages with architecture diagrams and use cases
- Works well on mobile devices and follows accessibility best practices
- Pure HTML + CSS β No build step required
- No external dependencies β Self-contained, no CDNs
- Typography β Uses JetBrains Mono (self-hosted) for labels/module titles; font files included under
assets/fonts/jetbrains-mono/with OFL license - Mobile-responsive β Works on all screen sizes with responsive diagrams
- Accessible β Skip links, semantic HTML, high contrast, keyboard navigation, ARIA labels
- Dark mode β Premium dark theme by default
.
βββ index.html # Main landing page
βββ architecture.html # Integrated ecosystem architecture
βββ 404.html # Error page
βββ CNAME # Custom domain configuration
βββ robots.txt # Search engine directives
βββ sitemap.xml # Site map for SEO
βββ README.md # This file
βββ projects/ # Individual project detail pages
β βββ context.html
β βββ chartspec.html
β βββ shelfsignals.html
β βββ crowdcode.html
β βββ happenstance.html
βββ docs/ # Documentation hub
β βββ index.html
β βββ context.html
β βββ chartspec.html
β βββ shelfsignals.html
β βββ crowdcode.html
β βββ happenstance.html
βββ styles/
β βββ main.css # All styles including responsive diagrams
βββ assets/
βββ logo.svg # GitBrain logo
βββ favicon.svg # Site favicon
βββ social-card.svg # Open Graph/Twitter card image
βββ fonts/
βββ jetbrains-mono/ # Self-hosted JetBrains Mono font
βββ JetBrainsMono-Regular.woff2
βββ JetBrainsMono-SemiBold.woff2
βββ OFL.txt # Font license (SIL Open Font License)
Since this is a static site, you can preview it with any local web server:
python -m http.server 8000python -m SimpleHTTPServer 8000npx serveThen open http://localhost:8000 in your browser.
To add a new project to the GitBrain ecosystem:
Add a new bento tile in the <section id="projects">:
<article class="bento-tile" data-size="medium">
<div class="tile-header">
<h3>ProjectName</h3>
<div class="tile-meta">
<span class="meta-item">Type: Category</span>
<span class="meta-item">Surface: Interface</span>
</div>
</div>
<p class="tile-description">Short description of the project</p>
<div class="tile-links">
<a href="/projects/projectname.html" class="tile-link">Learn more β</a>
<a href="/docs/projectname.html" class="tile-link">Docs β</a>
<a href="https://github.com/gitbrainlab/ProjectName" class="tile-link" target="_blank" rel="noopener noreferrer">GitHub β</a>
</div>
</article>Create /projects/projectname.html using this template structure:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#0a0a0f">
<title>ProjectName β GitBrain</title>
<meta name="description" content="Project description">
<link rel="canonical" href="https://gitbrain.com/projects/projectname.html">
<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg">
<link rel="stylesheet" href="/styles/main.css">
</head>
<body>
<!-- Breadcrumb navigation -->
<nav class="breadcrumb">
<div class="container">
<nav aria-label="Breadcrumb">
<a href="/">Home</a>
<span>β</span>
<a href="/#projects">Projects</a>
<span>β</span>
<span aria-current="page">ProjectName</span>
</nav>
</div>
</nav>
<!-- Project header -->
<header class="project-header">
<div class="container">
<h1 class="project-title">ProjectName</h1>
<p class="project-tagline">One-line description</p>
<div class="project-links">
<a href="https://github.com/gitbrainlab/ProjectName" target="_blank" rel="noopener noreferrer">
<span>π¦</span> View Repository
</a>
<a href="/docs/projectname.html">
<span>π</span> Documentation
</a>
</div>
</div>
</header>
<main id="main">
<!-- At a Glance section -->
<section class="project-section">
<div class="container">
<h2>At a Glance</h2>
<dl class="project-attrs">
<div>
<dt>Why</dt>
<dd>Why this project exists / problem it solves</dd>
</div>
<div>
<dt>Benefit</dt>
<dd>Main benefit / value proposition</dd>
</div>
<div>
<dt>For</dt>
<dd>Target audience / who should use this</dd>
</div>
<div>
<dt>Use</dt>
<dd>How to use it at a high level</dd>
</div>
</dl>
</div>
</section>
<!-- Architecture section with diagrams -->
<section class="project-section">
<div class="container">
<h2>Architecture</h2>
<h3>Context Diagram</h3>
<p>How the project interacts with external systems:</p>
<pre class="diagram" aria-label="Context diagram for ProjectName">
βββββββββββββββββββββββ
β Users β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β ProjectName β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β External Systems β
βββββββββββββββββββββββ
</pre>
<h3>Internal Architecture</h3>
<p>Key modules inside the project:</p>
<pre class="diagram" aria-label="Internal architecture of ProjectName">
βββββββββββββββββββββββββββββββ
β ProjectName Core β
βββββββββββββββββββββββββββββββ€
β ββββββββββββββββββββββ β
β β Component A β β
β βββββββββββ¬βββββββββββ β
β βΌ β
β ββββββββββββββββββββββ β
β β Component B β β
β ββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββ
</pre>
</div>
</section>
<!-- How to Use section -->
<section class="project-section">
<div class="container">
<h2>How to Use</h2>
<ol class="step-list">
<li>
<strong>Step 1 title</strong>
<span>Step 1 description</span>
</li>
<li>
<strong>Step 2 title</strong>
<span>Step 2 description</span>
</li>
<!-- Add 3-6 steps total -->
</ol>
</div>
</section>
<!-- Related Projects section -->
<section class="project-section">
<div class="container">
<h2>Related Projects</h2>
<div class="related-projects">
<a href="/projects/otherproject.html" class="related-project-card">
<h3>OtherProject</h3>
<p>How it relates to this project</p>
</a>
<a href="/architecture.html" class="related-project-card">
<h3>View Ecosystem</h3>
<p>See how this fits into the broader GitBrain architecture</p>
</a>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="footer">
<div class="container">
<nav class="footer-nav">
<a href="/">Home</a>
<a href="/#projects">Projects</a>
<a href="/architecture.html">Architecture</a>
<a href="https://github.com/gitbrainlab" target="_blank" rel="noopener noreferrer">GitHub</a>
</nav>
<p class="footer-copyright">Β© 2024 GitBrain. Open source projects.</p>
</div>
</footer>
</body>
</html>Create /docs/projectname.html with getting started guide structure (see existing docs for template).
Add the new project to /architecture.html in the integrated diagram and project links section.
Add entries to sitemap.xml:
<url>
<loc>https://gitbrain.com/projects/projectname.html</loc>
<lastmod>YYYY-MM-DD</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gitbrain.com/docs/projectname.html</loc>
<lastmod>YYYY-MM-DD</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>All architecture diagrams use ASCII box-drawing characters for consistency:
- Use box-drawing characters:
β β β β β β β β€ β¬ β΄ βΌ - Arrows:
β βorβΆ βΌ β² β - Keep diagrams under 75 characters wide for mobile readability
- Use
<pre class="diagram" aria-label="Description">wrapper - Include descriptive aria-label for accessibility
- Diagrams automatically scroll horizontally on narrow screens
βββββββββββββββββββββββ
β Users β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β Your Project β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β Dependencies β
βββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββ
β Project Core β
βββββββββββββββββββββββββββββββββββ€
β ββββββββββββββββββββββ β
β β Module A β β
β βββββββββββ¬βββββββββββ β
β βΌ β
β ββββββββββββββββββββββ β
β β Module B β β
β ββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββ
This site is deployed using GitHub Pages.
- Go to Settings β Pages in the GitHub repository
- Set Source to: Deploy from a branch
- Select Branch:
main - Select Folder:
/ (root) - Click Save
The CNAME file in the root configures the custom domain gitbrain.com.
The DNS records for gitbrain.com should point to GitHub Pages:
- A records pointing to GitHub Pages IPs (185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153)
- Or a CNAME record pointing to
gitbrainlab.github.io
Note: DNS changes are handled outside this repository.
See individual project repositories for their respective licenses.