# Plain HTML / JS

> Drop-in script for static sites with no framework.

If you have a static site with no build step, you can fetch posts client-side via a thin proxy. **Never put `MENTIONWELL_API_KEY` into client-side HTML directly** — it's a server-side secret.

## Recommended: tiny proxy

Run a free Cloudflare Worker (see [React + Vite](/docs/frameworks/react#cloudflare-worker)). Point your static site at `/api/blog/...`.

## Inline rendering

```html
<div id="blogoto-list"></div>

<script>
  fetch("/api/blog/posts?limit=12")
    .then((r) => r.json())
    .then(({ posts }) => {
      const container = document.getElementById("blogoto-list");
      container.innerHTML = posts.map((p) => `
        <article>
          <a href="/blog/${p.slug}.html"><h2>${p.title}</h2></a>
          <p>${p.excerpt}</p>
        </article>
      `).join("");
    });
</script>
```

## RSS link

```html
<link rel="alternate" type="application/rss+xml"
      href="https://mentionwell.com/api/sites/your-site-slug/feed.xml" />
```


---

Canonical URL: https://mentionwell.com/docs/frameworks/html
Live HTML version: https://mentionwell.com/docs/frameworks/html
Section: Quickstarts by stack
Site index for AI ingestion: https://mentionwell.com/llms.txt
Full reference: https://mentionwell.com/llms-full.txt
