All checks were successful
Deploy to Production / Deploy to Server (push) Successful in 1m38s
- BUG-056: Fix sitemap namespace sitemapns.org -> sitemaps.org - BUG-062: Extend <main> to wrap all page content (hero+features+pricing+EU section) - BUG-064: Add sr-only <label> elements to all modal form inputs (signup, recovery, change-email) - BUG-051/052: Remove duplicate X-Content-Type-Options headers from nginx (let helmet handle) - BUG-057: Fix JSON-LD and pricing card: Pro plan is 2,500 PDFs/month not 5,000 - BUG-059: Add meta description, canonical URL, og: tags to /docs page - BUG-063: Change eu-hosting h3 to h2 (correct heading hierarchy) - BUG-065/066: Add aria-modal=true, role=dialog to modals; aria-label=Close to close buttons - BUG-068: Add hash-based modal open for #change-email on page load - Add .sr-only CSS utility class to base and index styles
119 lines
7.2 KiB
HTML
119 lines
7.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>DocFast API Documentation</title>
|
|
<meta name="description" content="DocFast API documentation. Learn how to convert HTML and Markdown to PDF with a simple REST API call. Endpoints, authentication, templates, and examples.">
|
|
<link rel="canonical" href="https://docfast.dev/docs">
|
|
<meta property="og:title" content="DocFast API Documentation">
|
|
<meta property="og:description" content="Convert HTML and Markdown to PDF with a simple REST API call. Full API reference with examples.">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="https://docfast.dev/docs">
|
|
<meta property="og:image" content="https://docfast.dev/og-image.png">
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="DocFast API Documentation">
|
|
<meta name="twitter:description" content="Convert HTML and Markdown to PDF with a simple REST API call.">
|
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>⚡</text></svg>">
|
|
<link rel="stylesheet" href="/swagger-ui/swagger-ui.css">
|
|
<style>
|
|
html { box-sizing: border-box; overflow-y: scroll; }
|
|
*, *:before, *:after { box-sizing: inherit; }
|
|
body { margin: 0; background: #1a1a2e; font-family: 'Inter', -apple-system, system-ui, sans-serif; }
|
|
|
|
/* Top bar */
|
|
.topbar-wrapper { display: flex; align-items: center; }
|
|
.swagger-ui .topbar { background: #0b0d11; border-bottom: 1px solid #1e2433; padding: 12px 0; }
|
|
.swagger-ui .topbar .topbar-wrapper { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
|
|
.swagger-ui .topbar a { font-size: 0; }
|
|
.swagger-ui .topbar .topbar-wrapper::before {
|
|
content: '⚡ DocFast API';
|
|
font-size: 1.25rem;
|
|
font-weight: 700;
|
|
color: #e4e7ed;
|
|
font-family: 'Inter', system-ui, sans-serif;
|
|
}
|
|
.swagger-ui .topbar .topbar-wrapper::after {
|
|
content: '← Back to docfast.dev';
|
|
margin-left: auto;
|
|
font-size: 0.85rem;
|
|
color: #34d399;
|
|
cursor: pointer;
|
|
font-family: 'Inter', system-ui, sans-serif;
|
|
}
|
|
.swagger-ui .topbar .topbar-wrapper { cursor: default; }
|
|
|
|
/* Dark theme overrides */
|
|
.swagger-ui { color: #c8ccd4; }
|
|
.swagger-ui .wrapper { max-width: 1200px; padding: 0 24px; }
|
|
.swagger-ui .scheme-container { background: #151922; border: 1px solid #1e2433; border-radius: 8px; margin: 16px 0; box-shadow: none; }
|
|
.swagger-ui .opblock-tag { color: #e4e7ed !important; border-bottom: 1px solid #1e2433; }
|
|
.swagger-ui .opblock-tag:hover { background: rgba(52,211,153,0.04); }
|
|
.swagger-ui .opblock { background: #151922; border: 1px solid #1e2433 !important; border-radius: 8px !important; margin-bottom: 12px; box-shadow: none !important; }
|
|
.swagger-ui .opblock .opblock-summary { border: none; }
|
|
.swagger-ui .opblock .opblock-summary-method { border-radius: 6px; font-size: 0.75rem; min-width: 70px; }
|
|
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: #34d399; }
|
|
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: #60a5fa; }
|
|
.swagger-ui .opblock.opblock-post { border-color: rgba(52,211,153,0.3) !important; background: rgba(52,211,153,0.03); }
|
|
.swagger-ui .opblock.opblock-get { border-color: rgba(96,165,250,0.3) !important; background: rgba(96,165,250,0.03); }
|
|
.swagger-ui .opblock .opblock-summary-path { color: #e4e7ed; }
|
|
.swagger-ui .opblock .opblock-summary-description { color: #7a8194; }
|
|
.swagger-ui .opblock-body { background: #0b0d11; }
|
|
.swagger-ui .opblock-description-wrapper p,
|
|
.swagger-ui .opblock-external-docs-wrapper p { color: #9ca3af; }
|
|
.swagger-ui table thead tr th { color: #7a8194; border-bottom: 1px solid #1e2433; }
|
|
.swagger-ui table tbody tr td { color: #c8ccd4; border-bottom: 1px solid #1e2433; }
|
|
.swagger-ui .parameter__name { color: #e4e7ed; }
|
|
.swagger-ui .parameter__type { color: #60a5fa; }
|
|
.swagger-ui .parameter__name.required::after { color: #f87171; }
|
|
.swagger-ui input[type=text], .swagger-ui textarea, .swagger-ui select {
|
|
background: #0b0d11; color: #e4e7ed; border: 1px solid #1e2433; border-radius: 6px;
|
|
}
|
|
.swagger-ui .btn { border-radius: 6px; }
|
|
.swagger-ui .btn.execute { background: #34d399; color: #0b0d11; border: none; }
|
|
.swagger-ui .btn.execute:hover { background: #5eead4; }
|
|
.swagger-ui .responses-inner { background: transparent; }
|
|
.swagger-ui .response-col_status { color: #34d399; }
|
|
.swagger-ui .response-col_description { color: #9ca3af; }
|
|
.swagger-ui .model-box, .swagger-ui section.models { background: #151922; border: 1px solid #1e2433; border-radius: 8px; }
|
|
.swagger-ui section.models h4 { color: #e4e7ed; border-bottom: 1px solid #1e2433; }
|
|
.swagger-ui .model { color: #c8ccd4; }
|
|
.swagger-ui .model-title { color: #e4e7ed; }
|
|
.swagger-ui .prop-type { color: #60a5fa; }
|
|
.swagger-ui .info .title { color: #e4e7ed; font-family: 'Inter', system-ui, sans-serif; }
|
|
.swagger-ui .info .description p { color: #9ca3af; }
|
|
.swagger-ui .info a { color: #34d399; }
|
|
.swagger-ui .info h1, .swagger-ui .info h2, .swagger-ui .info h3 { color: #e4e7ed; }
|
|
.swagger-ui .info .base-url { color: #7a8194; }
|
|
.swagger-ui .scheme-container .schemes > label { color: #7a8194; }
|
|
.swagger-ui .loading-container .loading::after { color: #7a8194; }
|
|
.swagger-ui .highlight-code, .swagger-ui .microlight { background: #0b0d11 !important; color: #c8ccd4 !important; border-radius: 6px; }
|
|
.swagger-ui .copy-to-clipboard { right: 10px; top: 10px; }
|
|
.swagger-ui .auth-wrapper .authorize { color: #34d399; border-color: #34d399; }
|
|
.swagger-ui .auth-wrapper .authorize svg { fill: #34d399; }
|
|
.swagger-ui .dialog-ux .modal-ux { background: #151922; border: 1px solid #1e2433; }
|
|
.swagger-ui .dialog-ux .modal-ux-header h3 { color: #e4e7ed; }
|
|
.swagger-ui .dialog-ux .modal-ux-content p { color: #9ca3af; }
|
|
.swagger-ui .model-box-control:focus, .swagger-ui .models-control:focus { outline: none; }
|
|
.swagger-ui .servers > label select { background: #0b0d11; color: #e4e7ed; border: 1px solid #1e2433; }
|
|
.swagger-ui .markdown code, .swagger-ui .renderedMarkdown code { background: rgba(52,211,153,0.1); color: #34d399; padding: 2px 6px; border-radius: 4px; }
|
|
.swagger-ui .markdown p, .swagger-ui .renderedMarkdown p { color: #9ca3af; }
|
|
.swagger-ui .opblock-tag small { color: #7a8194; }
|
|
|
|
/* Hide validator */
|
|
.swagger-ui .errors-wrapper { display: none; }
|
|
|
|
/* Link back */
|
|
.back-link { position: fixed; top: 14px; right: 24px; z-index: 100; color: #34d399; text-decoration: none; font-size: 0.85rem; font-family: 'Inter', system-ui, sans-serif; }
|
|
.back-link:hover { color: #5eead4; }
|
|
</style>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<a href="/" class="back-link">← Back to docfast.dev</a>
|
|
<div id="swagger-ui"></div>
|
|
<script src="/swagger-ui/swagger-ui-bundle.js"></script>
|
|
<script src="/swagger-init.js"></script>
|
|
</body>
|
|
</html>
|