Skip to content

Add Gatsby documentation website with GitHub Pages deployment#199

Merged
jaypatrick merged 3 commits into
mainfrom
copilot/build-website-for-md-files
Dec 29, 2025
Merged

Add Gatsby documentation website with GitHub Pages deployment#199
jaypatrick merged 3 commits into
mainfrom
copilot/build-website-for-md-files

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 29, 2025

Creates a static documentation website to organize 58+ markdown files for non-technical users, showcasing recent improvements and providing better discoverability than raw GitHub markdown.

Implementation

Website Structure (src/website/)

  • Gatsby 5.13 static site generator with React 18
  • Automatic page generation from markdown via GraphQL queries
  • Categorized navigation: Core Docs, Guides (9), API Reference (23), Technical (15)
  • Custom responsive CSS with grid layouts, no heavy frameworks

Pages

  • Homepage: Feature overview, how-it-works guide, quick links
  • Documentation index: Category-based organization with excerpts
  • Getting Started: Installation paths by language
  • Recent Improvements: Highlights Phase 2, Rust modernization, validation enforcement, test updates

Deployment

  • GitHub Actions workflow: build on push to main, deploy to gh-pages branch
  • Triggered by changes to src/website/** or docs/**
  • Site URL: https://jaypatrick.github.io/ad-blocking

Build Output

  • 66 pages generated (5 static + 61 from markdown)
  • Path prefix configured for GitHub Pages subdirectory routing

Configuration

// gatsby-config.js - Sources docs from repository root
{
  resolve: `gatsby-source-filesystem`,
  options: {
    name: `docs`,
    path: `${__dirname}/../../docs`,
  },
}
// gatsby-node.js - Dynamic page generation
exports.createPages = async ({ graphql, actions }) => {
  const result = await graphql(`
    query {
      allMarkdownRemark {
        nodes {
          id
          fields { slug }
        }
      }
    }
  `)
  
  result.data.allMarkdownRemark.nodes.forEach(node => {
    createPage({
      path: node.fields.slug,
      component: docTemplate,
      context: { id: node.id }
    })
  })
}

Screenshots

Homepage - Feature overview with clear CTAs
Homepage

Documentation - Organized by category with excerpts
Documentation

Recent Improvements - Showcases modernization work
Improvements

Updates

  • README: Added website link and documentation section
  • Project structure: Updated to include src/website/ directory

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • unpkg.com
    • Triggering command: /usr/local/bin/node node scripts/postinstall.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

We need to build a website via github pages, something that organizes the huge amount of .md files we have. The website would be geared more towards non-technical users, but it should showcase all of the improvements we've made over the last couple of weeks. A static generator is fine, something that is easy to maintain via git. What are your thoughts?


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits December 29, 2025 04:29
Co-authored-by: jaypatrick <1800595+jaypatrick@users.noreply.github.com>
Co-authored-by: jaypatrick <1800595+jaypatrick@users.noreply.github.com>
Copilot AI changed the title [WIP] Add website to organize markdown files using GitHub Pages Add Gatsby documentation website with GitHub Pages deployment Dec 29, 2025
Copilot AI requested a review from jaypatrick December 29, 2025 04:34
@jaypatrick jaypatrick marked this pull request as ready for review December 29, 2025 04:35
@github-actions github-actions Bot added documentation Improvements or additions to documentation configuration ci labels Dec 29, 2025
@jaypatrick jaypatrick merged commit 3a9957e into main Dec 29, 2025
9 checks passed
@jaypatrick jaypatrick deleted the copilot/build-website-for-md-files branch December 29, 2025 04:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci configuration documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants