39501f39bc
Validate Flux manifests / kustomize-build (pull_request) Failing after 21s
- Add docs-site/src/pages/vin-decoder.astro: Redoc reference page rendering /specs/vin-decoder.yaml (matches pattern of existing API pages) - Copy apis/vin-decoder/openapi.yaml to docs-site/public/specs/vin-decoder.yaml so Redoc can serve the spec - Add VIN Decoder card to index.astro hero grid (4th API) - Add docs-site/src/pages/blog/vin-decoder.mdx: 1,500+ word SEO blog post 'How to Decode a VIN Number with Node.js Using Free NHTSA Data' with meta description, working code examples, VIN structure explanation, NHTSA vPIC background, and use-case context - npm run build exits 0; /vin-decoder and /blog/vin-decoder routes present Closes leeworks-agents/api-company#123 Closes leeworks-agents/api-company#124
28 lines
988 B
Plaintext
28 lines
988 B
Plaintext
---
|
|
import Base from '../layouts/Base.astro';
|
|
|
|
const apiName = 'vin-decoder';
|
|
const title = 'VIN Decoder API';
|
|
const description = 'Decode any 17-character VIN into make, model, year, trim, engine, body class, and more. Powered by the NHTSA vPIC public-domain database.';
|
|
---
|
|
<Base title={title} description={description}>
|
|
<style>
|
|
#redoc-container { background: #fff; }
|
|
</style>
|
|
<div id="redoc-container"></div>
|
|
<script is:inline define:vars={{ specUrl: `/specs/${apiName}.yaml` }}>
|
|
// Load Redoc from CDN
|
|
var script = document.createElement('script');
|
|
script.src = 'https://cdn.jsdelivr.net/npm/redoc@latest/bundles/redoc.standalone.js';
|
|
script.onload = function () {
|
|
Redoc.init(specUrl, {
|
|
theme: {
|
|
colors: { primary: { main: '#667eea' } },
|
|
typography: { fontFamily: 'system-ui, sans-serif' },
|
|
},
|
|
}, document.getElementById('redoc-container'));
|
|
};
|
|
document.head.appendChild(script);
|
|
</script>
|
|
</Base>
|