This file documents the structure, conventions, and rules for the Alant Health website. It should be consulted by any AI agent or contributor before making edits.
| Field | Value |
|---|---|
| Name | Alant Health |
| Domain | www.alant.health |
| Engine | Jekyll (≥ 3.8.5), GitHub Pages |
| Theme | Clean Blog (custom fork) |
| Owner | Abed Hammoud (abed@alant.health) |
| Repo | alant-health.github.io |
The site serves as a professional portfolio and news hub for Alant Health, covering neurotechnology, medtech, and healthcare innovation.
├── _config.yml # Jekyll configuration
├── _layouts/
│ ├── default.html # Base layout (head, navbar, footer, scripts)
│ ├── home.html # Homepage (hero + professional bio + paginated posts)
│ ├── page.html # Static pages (About, Contact, Privacy)
│ └── post.html # Individual post/article layout
├── _includes/
│ ├── head.html # <head> meta, CSS
│ ├── navbar.html # Site navigation
│ ├── footer.html # Site footer
│ ├── scripts.html # JS includes
│ ├── read_time.html # Reading time calculation
│ └── google-analytics.html
├── _posts/ # All posts (HTML files, date-prefixed)
├── _sass/
│ └── styles.scss # Custom styles
├── assets/
│ └── main.scss # Sass entry point
├── img/
│ ├── bg-alanthealth.jpg # Default background image
│ └── posts/ # Post-specific images
├── index.html # Homepage content
├── about.html # About page
├── contact.html # Contact page
├── privacy-policy.html # Privacy policy
├── llms.txt # LLM-friendly site summary (llmstxt.org spec)
├── AGENT.md # This file — agent/contributor guidelines
├── CNAME # Custom domain: www.alant.health
├── Gemfile # Ruby dependencies
└── posts/ # Pagination output directory
Posts must follow Jekyll’s required naming convention:
YYYY-MM-DD-slug.html
YYYY-MM-DD (e.g., 2026-02-25)clee-tech-eu).html (all posts use raw HTML, not Markdown)Examples:
2026-02-25-clee-tech-eu.html2025-03-21-clee-venture-kick.html2008-11-20-renishaw-acquisition-i.htmlEvery post requires this YAML front matter:
---
layout: post
title: "Post Title Here"
subtitle: "Optional subtitle" # optional
date: YYYY-MM-DD
background: '/img/bg-alanthealth.jpg'
---
| Field | Required | Notes |
|---|---|---|
layout |
Yes | Always post |
title |
Yes | Wrapped in double quotes |
subtitle |
No | Short summary; displayed below title in post header |
date |
Yes | YYYY-MM-DD format, no time or timezone |
background |
Yes | Default: '/img/bg-alanthealth.jpg'; can use post-specific |
author |
No | Not typically used; defaults to site author (“Alant Health”) |
Do not use: tags, categories, permalink, or other front matter fields —
they are not part of the site’s design.
Posts are plain HTML (not Markdown). The typical structure is:
<!-- 1. Optional source/byline header -->
<div class="mb-4">
<h3 class="font-weight-bold">Source Name</h3>
<p class="font-italic">By Author — Date</p>
</div>
<!-- 2. Optional featured image -->
<figure>
<img src="/img/posts/image-name.png" alt="Descriptive alt text">
<figcaption>Optional caption</figcaption>
</figure>
<!-- 3. Body text — sequence of <p> tags -->
<p>Article body text with <a href="https://example.com">inline links</a>.</p>
<!-- 4. Optional blockquotes for direct quotes -->
<blockquote>
<p>"Quote text here."</p>
</blockquote>
<!-- 5. Optional subsections -->
<h3>Section Heading</h3>
<p>Section content...</p>
<!-- 6. Optional embedded LinkedIn post -->
<iframe src="https://www.linkedin.com/embed/feed/update/urn:li:share:XXXXX"
height="800" width="504" frameborder="0" allowfullscreen=""
title="Embedded post"></iframe>
<!-- 7. Optional source attribution -->
<p><strong>Source:</strong> <a href="https://example.com/article">Source Name</a></p>
| Type | Description |
|---|---|
| Press Release | Full article text, source header, source attribution |
| LinkedIn Embed | Brief intro + <iframe> embedding a LinkedIn post |
| Formal PR | Dateline format, blockquotes, media contacts section |
/img/posts/ — all post-specific images go here/img/ — site-wide background imagescleemedical-tech-eu.png, rhovica-founders.jpg, neuromate-peru-team.png.jpg, .png, .webpAlways use absolute paths from site root:
<img src="/img/posts/image-name.png" alt="Descriptive alt text">
Preferred pattern using <figure>:
<figure>
<img src="/img/posts/image-name.png" alt="Descriptive alt text">
<figcaption>Optional caption text</figcaption>
</figure>
Alternative with Bootstrap classes:
<div class="text-center">
<img class="img-fluid rounded mb-4" src="/img/posts/image-name.png" alt="...">
<p class="caption">Caption text</p>
</div>
When creating a post from an external article, always download images locally
to /img/posts/ rather than hotlinking to external URLs.
| Element | Convention |
|---|---|
| Bold | <strong> (never <b>) |
| Italic | class="font-italic" (Bootstrap) or <em> |
| Blockquotes | <blockquote> for direct quotes |
| Links | <a href="..."> with full URLs |
| Line breaks | <br/> (self-closing with slash) |
| Em dashes | — |
| HR | <hr> to separate sections |
| Headings | <h3> for subsections, <h4> for sub-subsections |
/posts/page:num/jekyll-paginate plugin| Plugin | Purpose |
|---|---|
jekyll-feed |
RSS/Atom feed generation |
jekyll-paginate |
Homepage post pagination |
jekyll-sitemap |
Sitemap generation |
www.alant.health (configured via CNAME)main branch triggers automatic deploymentUA-116925250-1 (legacy Universal Analytics; migrate to GA4 when available)_posts/ with correct naming: YYYY-MM-DD-slug.htmllayout: post, title, date, and background/img/posts/ — do not hotlink/img/posts/...)llms.txt if the post is significant (e.g., a major announcement) — add it to the “Recent News” sectionbundle exec jekyll serve if possible before pushingThe site includes a /llms.txt file following the llmstxt.org specification.
This file helps AI models understand the site’s content at inference time.
When to update llms.txt:
Format rules (per llmstxt.org spec):
[name](url): description format