nuxt-ai-ready 1.1.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/devtools/200.html +1 -1
- package/dist/devtools/404.html +1 -1
- package/dist/devtools/_nuxt/{VknhyWgh.js → B3Ds4CMX.js} +9 -9
- package/dist/devtools/_nuxt/{DyJALZ6q.js → BJvOQeGa.js} +1 -1
- package/dist/devtools/_nuxt/{CjfD5hoM.js → BnE_ySps.js} +1 -1
- package/dist/devtools/_nuxt/{CZdspAFn.js → CUIIuZnV.js} +1 -1
- package/dist/devtools/_nuxt/{CHKympLa.js → DeQwb5tt.js} +1 -1
- package/dist/devtools/_nuxt/{DevtoolsPanel.qhktN3Wk.css → DevtoolsPanel.Cxop9qdH.css} +1 -1
- package/dist/devtools/_nuxt/{vYrR1_KZ.js → HY0PaRNK.js} +1 -1
- package/dist/devtools/_nuxt/{qvoJrJX7.js → Nz1-S7oK.js} +1 -1
- package/dist/devtools/_nuxt/builds/latest.json +1 -1
- package/dist/devtools/_nuxt/builds/meta/cfed7300-fd87-4d26-98a1-6e1d8a608160.json +1 -0
- package/dist/devtools/_nuxt/{entry.C0SdbkkM.css → entry.BLpi4vfB.css} +1 -1
- package/dist/devtools/_nuxt/index.rMesxbQE.css +1 -0
- package/dist/devtools/debug/index.html +1 -1
- package/dist/devtools/docs/index.html +1 -1
- package/dist/devtools/index.html +1 -1
- package/dist/devtools/llms-txt/index.html +1 -1
- package/dist/devtools/pages/index.html +1 -1
- package/dist/module.d.mts +11 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +122 -12
- package/dist/runtime/app/plugins/md-alternate.server.d.ts +2 -0
- package/dist/runtime/app/plugins/md-alternate.server.js +16 -0
- package/dist/runtime/llms-txt-utils.js +37 -4
- package/dist/runtime/server/db/drizzle/queries.d.ts +3 -1
- package/dist/runtime/server/db/drizzle/queries.js +71 -11
- package/dist/runtime/server/db/queries.d.ts +7 -1
- package/dist/runtime/server/db/queries.js +33 -14
- package/dist/runtime/server/db/schema/postgres.d.ts +34 -0
- package/dist/runtime/server/db/schema/postgres.js +4 -2
- package/dist/runtime/server/db/schema/sqlite.d.ts +38 -0
- package/dist/runtime/server/db/schema/sqlite.js +4 -2
- package/dist/runtime/server/db/schema-sql.d.ts +18 -2
- package/dist/runtime/server/db/schema-sql.js +100 -85
- package/dist/runtime/server/db/shared.d.ts +13 -3
- package/dist/runtime/server/db/shared.js +31 -14
- package/dist/runtime/server/middleware/markdown.d.ts +1 -1
- package/dist/runtime/server/middleware/markdown.js +103 -40
- package/dist/runtime/server/middleware/markdown.prerender.js +47 -3
- package/dist/runtime/server/utils/content.d.ts +8 -0
- package/dist/runtime/server/utils/content.js +4 -0
- package/dist/runtime/server/utils/frontmatter.d.ts +14 -0
- package/dist/runtime/server/utils/frontmatter.js +23 -0
- package/dist/runtime/server/utils/i18n.d.ts +32 -0
- package/dist/runtime/server/utils/i18n.js +33 -0
- package/dist/runtime/server/utils.d.ts +4 -0
- package/dist/runtime/server/utils.js +41 -8
- package/dist/runtime/types.d.ts +13 -0
- package/package.json +5 -5
- package/dist/devtools/_nuxt/builds/meta/2aca1f11-85cd-4d36-8731-76930fe40304.json +0 -1
- package/dist/devtools/_nuxt/index.DSRoq8hn.css +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
5
5
|
[![Nuxt][nuxt-src]][nuxt-href]
|
|
6
6
|
|
|
7
|
-
> Best practice AI & LLM discoverability for Nuxt sites
|
|
7
|
+
> Best practice AI & LLM discoverability for Nuxt sites. Score 100 on [`npx @vercel/agent-readability audit <URL>`](https://github.com/vercel-labs/agent-readability).
|
|
8
8
|
|
|
9
9
|
## Why Nuxt AI Ready?
|
|
10
10
|
|
|
@@ -18,11 +18,13 @@ Nuxt AI Ready implements both. It converts your pages to markdown, generates llm
|
|
|
18
18
|
|
|
19
19
|
- 📄 **llms.txt Generation**: Auto-generate `llms.txt` and `llms-full.txt` with page metadata and full markdown content
|
|
20
20
|
- 🚀 **On-Demand Markdown**: Any route available as `.md` (e.g., `/about` → `/about.md`), automatically served to AI crawlers
|
|
21
|
+
- 📝 **[Nuxt Content](https://content.nuxt.com) Integration**: Routes backed by a page collection serve source markdown directly, skipping HTML→markdown conversion
|
|
21
22
|
- 📡 **Content Signals**: Configure AI training/search/input permissions via [Nuxt Robots](https://nuxtseo.com/robots)
|
|
22
23
|
- 🌐 **Sitemap Integration**: Index AI-allowed pages via [Nuxt Sitemap](https://nuxtseo.com/sitemap)
|
|
23
24
|
- ⚡ **MCP Server**: `list_pages` and `search_pages` tools with FTS5 full-text search
|
|
24
25
|
- 🗄️ **Runtime Indexing**: Index pages on-demand without prerendering, with SQLite/D1/LibSQL support
|
|
25
26
|
- 🔔 **[IndexNow](https://nuxtseo.com/ai-ready/guides/indexnow)**: Instantly notify Bing, Yandex, and other search engines when pages change
|
|
27
|
+
- 🌏 **[i18n Aware](https://nuxtseo.com/ai-ready/guides/i18n)**: Auto-detects [`@nuxtjs/i18n`](https://i18n.nuxtjs.org/) for hreflang `Link` headers, locale-tagged frontmatter, and an Available Languages section in `llms.txt`
|
|
26
28
|
- 🧠 **[RAG Ready](https://nuxtseo.com/ai-ready/advanced/rag-example)**: Markdown output optimized for vectorizing and semantic search
|
|
27
29
|
|
|
28
30
|
## Installation
|
package/dist/devtools/200.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-ai-ready/_nuxt/entry.
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-ai-ready/_nuxt/entry.BLpi4vfB.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-ai-ready/_nuxt/B3Ds4CMX.js"><script type="module" src="/__nuxt-ai-ready/_nuxt/B3Ds4CMX.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-ai-ready",buildId:"cfed7300-fd87-4d26-98a1-6e1d8a608160",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1777105835626,false]</script></body></html>
|
package/dist/devtools/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-ai-ready/_nuxt/entry.
|
|
1
|
+
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-ai-ready/_nuxt/entry.BLpi4vfB.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-ai-ready/_nuxt/B3Ds4CMX.js"><script type="module" src="/__nuxt-ai-ready/_nuxt/B3Ds4CMX.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-ai-ready",buildId:"cfed7300-fd87-4d26-98a1-6e1d8a608160",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1777105835626,false]</script></body></html>
|