fix: BUG-055,058,060,061,067,069,053 - QA low/info fixes
All checks were successful
Deploy to Production / Deploy to Server (push) Successful in 1m35s
All checks were successful
Deploy to Production / Deploy to Server (push) Successful in 1m35s
- BUG-055: Remove duplicate preconnect tags from homepage - BUG-058: Add twitter:image meta tag to homepage - BUG-060: Add og:title/description/url to sub-pages - BUG-061: Add /status to sitemap.xml - BUG-067: Add skip-to-content link on all pages - BUG-069: Add legal footer to /docs page - BUG-053: Minify app.js with terser
This commit is contained in:
parent
60efc5e206
commit
7037b885e2
14 changed files with 278 additions and 94 deletions
|
|
@ -106,13 +106,25 @@
|
|||
/* 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; }
|
||||
.skip-link { position: absolute; top: -100%; left: 16px; background: #34d399; color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; text-decoration: none; }
|
||||
.skip-link:focus { top: 0; }
|
||||
</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="#main" class="skip-link">Skip to content</a>
|
||||
<a href="/" class="back-link">← Back to docfast.dev</a>
|
||||
<main id="main">
|
||||
<div id="swagger-ui"></div>
|
||||
</main>
|
||||
<footer style="padding:24px 0;border-top:1px solid #1e2433;text-align:center;">
|
||||
<div style="max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;">
|
||||
<a href="/impressum" style="color:#7a8194;font-size:0.85rem;text-decoration:none;font-family:'Inter',system-ui,sans-serif;">Impressum</a>
|
||||
<a href="/privacy" style="color:#7a8194;font-size:0.85rem;text-decoration:none;font-family:'Inter',system-ui,sans-serif;">Privacy Policy</a>
|
||||
<a href="/terms" style="color:#7a8194;font-size:0.85rem;text-decoration:none;font-family:'Inter',system-ui,sans-serif;">Terms of Service</a>
|
||||
</div>
|
||||
</footer>
|
||||
<script src="/swagger-ui/swagger-ui-bundle.js"></script>
|
||||
<script src="/swagger-init.js"></script>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Impressum — DocFast</title>
|
||||
<meta name="description" content="Legal notice and company information for DocFast API service.">
|
||||
<meta property="og:title" content="Impressum — DocFast">
|
||||
<meta property="og:description" content="Legal notice and company information for DocFast API service.">
|
||||
<meta property="og:url" content="https://docfast.dev/impressum">
|
||||
<link rel="canonical" href="https://docfast.dev/impressum">
|
||||
<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 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
|
|
@ -44,13 +47,17 @@ footer .container { display: flex; justify-content: space-between; align-items:
|
|||
footer .container { flex-direction: column; text-align: center; }
|
||||
.nav-links { gap: 16px; }
|
||||
}
|
||||
/* Skip to content */
|
||||
.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; }
|
||||
.skip-link:focus { top: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to content</a>
|
||||
|
||||
{{> nav}}
|
||||
|
||||
<main>
|
||||
<main id="main">
|
||||
<div class="container">
|
||||
<h1>Impressum</h1>
|
||||
<p><em>Legal notice according to § 5 ECG and § 25 MedienG (Austrian law)</em></p>
|
||||
|
|
|
|||
|
|
@ -13,9 +13,8 @@
|
|||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="DocFast — HTML & Markdown to PDF API">
|
||||
<meta name="twitter:description" content="Convert HTML and Markdown to beautiful PDFs with a simple API call.">
|
||||
<meta name="twitter:image" content="https://docfast.dev/og-image.png">
|
||||
<link rel="canonical" href="https://docfast.dev">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<script type="application/ld+json">
|
||||
{"@context":"https://schema.org","@type":"SoftwareApplication","name":"DocFast","url":"https://docfast.dev","applicationCategory":"DeveloperApplication","operatingSystem":"Web","description":"Convert HTML and Markdown to beautiful PDFs with a simple API call. Fast, reliable, developer-friendly.","offers":[{"@type":"Offer","price":"0","priceCurrency":"EUR","name":"Free","description":"100 PDFs/month"},{"@type":"Offer","price":"9","priceCurrency":"EUR","name":"Pro","description":"5,000 PDFs per month","billingIncrement":"P1M"}]}
|
||||
</script>
|
||||
|
|
@ -262,12 +261,16 @@ html, body {
|
|||
|
||||
/* Focus-visible for accessibility */
|
||||
.btn:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
||||
/* Skip to content */
|
||||
.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; }
|
||||
.skip-link:focus { top: 0; }
|
||||
</style>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to content</a>
|
||||
|
||||
<nav aria-label="Main navigation">
|
||||
<div class="container">
|
||||
|
|
@ -280,7 +283,7 @@ html, body {
|
|||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="hero" role="main">
|
||||
<main class="hero" role="main" id="main">
|
||||
<div class="container">
|
||||
<div class="badge">🚀 Simple PDF API for Developers</div>
|
||||
<h1>HTML to <span class="gradient">PDF</span><br>in one API call</h1>
|
||||
|
|
@ -542,6 +545,6 @@ html, body {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/app.js"></script>
|
||||
<script src="/app.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Privacy Policy — DocFast</title>
|
||||
<meta name="description" content="Privacy policy for DocFast API service - GDPR compliant data protection information.">
|
||||
<meta property="og:title" content="Privacy Policy — DocFast">
|
||||
<meta property="og:description" content="Privacy policy for DocFast API service - GDPR compliant data protection information.">
|
||||
<meta property="og:url" content="https://docfast.dev/privacy">
|
||||
<link rel="canonical" href="https://docfast.dev/privacy">
|
||||
<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 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
|
|
@ -44,13 +47,17 @@ footer .container { display: flex; justify-content: space-between; align-items:
|
|||
footer .container { flex-direction: column; text-align: center; }
|
||||
.nav-links { gap: 16px; }
|
||||
}
|
||||
/* Skip to content */
|
||||
.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; }
|
||||
.skip-link:focus { top: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to content</a>
|
||||
|
||||
{{> nav}}
|
||||
|
||||
<main>
|
||||
<main id="main">
|
||||
<div class="container">
|
||||
<h1>Privacy Policy</h1>
|
||||
<p><em>Last updated: February 16, 2026</em></p>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Terms of Service — DocFast</title>
|
||||
<meta name="description" content="Terms of service for DocFast API - legal terms and conditions for using our PDF generation service.">
|
||||
<meta property="og:title" content="Terms of Service — DocFast">
|
||||
<meta property="og:description" content="Terms of service for DocFast API - legal terms and conditions for using our PDF generation service.">
|
||||
<meta property="og:url" content="https://docfast.dev/terms">
|
||||
<link rel="canonical" href="https://docfast.dev/terms">
|
||||
<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 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
||||
|
|
@ -44,13 +47,17 @@ footer .container { display: flex; justify-content: space-between; align-items:
|
|||
footer .container { flex-direction: column; text-align: center; }
|
||||
.nav-links { gap: 16px; }
|
||||
}
|
||||
/* Skip to content */
|
||||
.skip-link { position: absolute; top: -100%; left: 16px; background: var(--accent); color: #0b0d11; padding: 8px 16px; border-radius: 0 0 8px 8px; font-weight: 600; font-size: 0.9rem; z-index: 200; transition: top 0.2s; }
|
||||
.skip-link:focus { top: 0; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#main" class="skip-link">Skip to content</a>
|
||||
|
||||
{{> nav}}
|
||||
|
||||
<main>
|
||||
<main id="main">
|
||||
<div class="container">
|
||||
<h1>Terms of Service</h1>
|
||||
<p><em>Last updated: February 16, 2026</em></p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue