Skip to content

Add GitHub Pages site and logo kit under site/#134

Merged
wrhalpin merged 1 commit into
mainfrom
claude/create-gnat-admin-guide-BOSrp
Apr 20, 2026
Merged

Add GitHub Pages site and logo kit under site/#134
wrhalpin merged 1 commit into
mainfrom
claude/create-gnat-admin-guide-BOSrp

Conversation

@wrhalpin
Copy link
Copy Markdown
Owner

Logo kit: full mascot, 256/128/64/32 resized variants, apple-touch-icon (180x180), favicon.ico (16+32+48), og-image (1200x630 social card).

Site: single-page GitHub Pages site with hero, stats bar, 9 feature cards, 159-platform grid, install block. Navy/teal palette matching the presentation deck. Configure GitHub Pages to serve from site/.

https://claude.ai/code/session_01H5UbjsuiiGya5n1eUCxoaR

Logo kit: full mascot, 256/128/64/32 resized variants, apple-touch-icon
(180x180), favicon.ico (16+32+48), og-image (1200x630 social card).

Site: single-page GitHub Pages site with hero, stats bar, 9 feature
cards, 159-platform grid, install block. Navy/teal palette matching
the presentation deck. Configure GitHub Pages to serve from site/.

https://claude.ai/code/session_01H5UbjsuiiGya5n1eUCxoaR
Copilot AI review requested due to automatic review settings April 20, 2026 12:57
@wrhalpin wrhalpin merged commit c2cd973 into main Apr 20, 2026
1 of 19 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new static GitHub Pages landing site under site/ along with a logo/icon asset kit to present GNAT’s capabilities and installation options.

Changes:

  • Add a single-page marketing site (site/index.html) with hero, stats, feature cards, platform grid, and install section.
  • Add site styling (site/assets/css/style.css) for nav, sections, cards, and responsive behavior.
  • Add logo/icon assets for various sizes plus social preview and favicon images under site/assets/images/.

Reviewed changes

Copilot reviewed 2 out of 10 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
site/index.html New one-page marketing/landing page with navigation anchors, content sections, and install commands.
site/assets/css/style.css Styling for the new static site (layout, colors, components, responsive rules).
site/assets/images/gnat-logo-32.png 32px logo asset for site/icon usage.
site/assets/images/gnat-logo-64.png 64px logo asset used in the navbar.
site/assets/images/gnat-logo-128.png 128px logo asset for general usage.
site/assets/images/gnat-logo-256.png 256px logo asset for general usage.
site/assets/images/gnat-logo-full.png Full mascot/hero image used in the hero section.
site/assets/images/apple-touch-icon.png iOS home screen icon.
site/assets/images/favicon.ico Multi-size favicon for browsers.
site/assets/images/og-image.png Open Graph/social share image.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread site/assets/css/style.css

/* ── Sections ────────────────────────────────── */
section { padding: 64px 0; }
section:nth-child(even) { background: var(--navy2); }
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

section:nth-child(even) is overriding the .hero section’s gradient background because the hero is a <section> and is an even-numbered child of <body> (after <nav>). This results in the hero background becoming var(--navy2) instead of the intended gradient; consider switching to section:nth-of-type(even) scoped to non-hero sections (e.g., body > section:not(.hero):nth-of-type(even)) or moving the .hero background rule after this selector / increasing its specificity.

Suggested change
section:nth-child(even) { background: var(--navy2); }
body > section:not(.hero):nth-of-type(even) { background: var(--navy2); }

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +137 to +143
<div>pip install gnat</div>
<div style="color: var(--muted); margin-top: 12px;"># Optional extras</div>
<div>pip install "gnat[telemetry]"&nbsp;&nbsp;&nbsp;# Kafka + Redis</div>
<div>pip install "gnat[rules]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Hy rule engine</div>
<div>pip install "gnat[analysis]"&nbsp;&nbsp;&nbsp;&nbsp;# Campaign tracking</div>
<div>pip install "gnat[serve]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Web dashboard</div>
<div>pip install "gnat[all]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Everything</div>
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The install commands are laid out using multiple <div>s and &nbsp; spacing. This is not very accessible/semantic for “code” content and makes copy/paste error-prone; consider using a single <pre><code> block (or <code> elements with white-space: pre) and CSS for any muted comment lines/alignment.

Suggested change
<div>pip install gnat</div>
<div style="color: var(--muted); margin-top: 12px;"># Optional extras</div>
<div>pip install "gnat[telemetry]"&nbsp;&nbsp;&nbsp;# Kafka + Redis</div>
<div>pip install "gnat[rules]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Hy rule engine</div>
<div>pip install "gnat[analysis]"&nbsp;&nbsp;&nbsp;&nbsp;# Campaign tracking</div>
<div>pip install "gnat[serve]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Web dashboard</div>
<div>pip install "gnat[all]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Everything</div>
<pre><code>pip install gnat
<span style="color: var(--muted);"># Optional extras</span>
pip install "gnat[telemetry]" # Kafka + Redis
pip install "gnat[rules]" # Hy rule engine
pip install "gnat[analysis]" # Campaign tracking
pip install "gnat[serve]" # Web dashboard
pip install "gnat[all]" # Everything</code></pre>

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
<meta name="description" content="GNAT (GNAT's Not A TIP) — A production-ready Python library for unified cyber threat intelligence across 159 platforms with STIX 2.1 ORM, AI agents, and detection rule translation.">
<meta property="og:title" content="GNAT — Python Cyber Threat Intel Made Simple">
<meta property="og:description" content="One library. Every platform. Total control. 159 connectors, STIX 2.1 ORM, AI agents, HuntGNAT detection rules, campaign tracking, and telemetry ingestion.">
<meta property="og:image" content="assets/images/og-image.png">
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Open Graph image is set to a relative path (assets/images/og-image.png). Many social scrapers expect an absolute URL (and often og:url) and may fail to resolve relative assets, especially on GitHub Pages project sites under a subpath. Consider using an absolute og:image URL for the deployed site (and adding og:url).

Suggested change
<meta property="og:image" content="assets/images/og-image.png">
<meta property="og:image" content="https://wrhalpin.github.io/gnat/assets/images/og-image.png">
<meta property="og:url" content="https://wrhalpin.github.io/gnat/">

Copilot uses AI. Check for mistakes.
Comment thread site/assets/css/style.css
Comment on lines +18 to +40
html { scroll-behavior: smooth; }

body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background: var(--navy);
color: var(--offwhite);
line-height: 1.6;
}

a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--mint); }

.container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

/* ── Nav ─────────────────────────────────────── */
nav {
position: sticky; top: 0; z-index: 100;
background: rgba(15, 32, 68, 0.95);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(91, 147, 217, 0.15);
padding: 12px 0;
}
nav .container { display: flex; align-items: center; justify-content: space-between; }
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the nav is position: sticky, jumping to #features/#platforms/#install will likely leave the section header hidden under the nav. Consider adding scroll-padding-top on html (or scroll-margin-top on the target sections/headings) to offset anchor scrolling by the nav height.

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +151 to +156
<p>GNAT &mdash; GNAT's Not A TIP &mdash; Version 1.5.0</p>
<p style="margin-top: 8px;">
<a href="https://github.com/wrhalpin/gnat">GitHub</a> &middot;
Apache License 2.0 &middot;
Python 3.9 &ndash; 3.13
</p>
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Footer hardcodes Version 1.5.0, but the repository’s declared package version is 1.9.0 in pyproject.toml. To avoid stale marketing info, consider generating this from a single source of truth or updating the footer to match the current release/versioning scheme used in the repo.

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +16 to +21
<body>

<!-- Nav -->
<nav>
<div class="container">
<a href="#" class="brand">
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The brand link uses href="#", which changes the URL fragment and can create awkward back-button behavior. Prefer linking to the real page root (e.g., index.html or /) or to a named top anchor (e.g., href="#top" with a corresponding id).

Suggested change
<body>
<!-- Nav -->
<nav>
<div class="container">
<a href="#" class="brand">
<body id="top">
<!-- Nav -->
<nav>
<div class="container">
<a href="#top" class="brand">

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
<span>VirusTotal</span><span>Mandiant</span><span>MISP</span><span>OpenCTI</span>
<span>Elastic SIEM</span><span>QRadar</span><span>Cortex XDR</span><span>SentinelOne</span>
<span>Palo Alto XSOAR</span><span>Wiz</span><span>Orca Security</span><span>Okta</span>
<span>Entra ID</span><span>CrowdStrike</span><span>Recorded Future</span><span>AlienVault OTX</span>
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The “Supported Platforms” list includes a duplicate entry (CrowdStrike appears twice). If this section is meant to be representative, duplicates make the list look less curated and can undermine the “159 platforms” claim; consider deduplicating or intentionally labeling variants.

Suggested change
<span>Entra ID</span><span>CrowdStrike</span><span>Recorded Future</span><span>AlienVault OTX</span>
<span>Entra ID</span><span>Recorded Future</span><span>AlienVault OTX</span>

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +138 to +153
<div style="color: var(--muted); margin-top: 12px;"># Optional extras</div>
<div>pip install "gnat[telemetry]"&nbsp;&nbsp;&nbsp;# Kafka + Redis</div>
<div>pip install "gnat[rules]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Hy rule engine</div>
<div>pip install "gnat[analysis]"&nbsp;&nbsp;&nbsp;&nbsp;# Campaign tracking</div>
<div>pip install "gnat[serve]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Web dashboard</div>
<div>pip install "gnat[all]"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Everything</div>
</div>
</div>
</section>

<!-- Footer -->
<footer>
<div class="container">
<p>GNAT &mdash; GNAT's Not A TIP &mdash; Version 1.5.0</p>
<p style="margin-top: 8px;">
<a href="https://github.com/wrhalpin/gnat">GitHub</a> &middot;
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline styles are used for spacing/color in the install block and footer. Moving these into CSS classes will make the page easier to maintain and theme (and avoids mixing content with presentation).

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +37 to +38
<img src="assets/images/gnat-logo-full.png" alt="GNAT Mascot">
<h1>GNAT</h1>
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gnat-logo-full.png is ~1.4MB (in-repo) but is used as a 220px hero image. This will significantly slow first paint on mobile; consider optimizing/compressing this asset and/or serving responsive sizes via srcset (and add explicit width/height to avoid layout shift).

Copilot uses AI. Check for mistakes.
Comment thread site/index.html
Comment on lines +42 to +46
<span class="badge teal">159 Connectors</span>
<span class="badge green">5,100+ Tests</span>
<span class="badge teal">STIX 2.1</span>
<span class="badge amber">Python 3.9+</span>
<span class="badge teal">Apache 2.0</span>
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page repeatedly claims 159 connectors/platforms, but the repository metadata still describes 158 platforms (e.g., pyproject.toml project description). If the connector count changed, consider updating the other source(s) too, or derive this number from a single authoritative place to avoid inconsistencies.

Copilot uses AI. Check for mistakes.
@wrhalpin wrhalpin deleted the claude/create-gnat-admin-guide-BOSrp branch April 20, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants