mirror of
https://github.com/rishikanthc/Scriberr.git
synced 2026-06-28 06:46:25 +00:00
update logo
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<div align="center">
|
||||
|
||||
<img alt="Scriberr" src="assets/scriberr-logo.svg" width="480" />
|
||||
<img alt="Scriberr" src="cropped-main-logo.png" width="480" />
|
||||
|
||||
Self‑hostable, secure & private offline transcription. Drop in a recording, get clean transcripts, highlight key moments, take notes or chat with your audio using your favorite LLM — all without sending your data to the cloud.
|
||||
|
||||
|
||||
BIN
cropped-main-logo.png
Normal file
BIN
cropped-main-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
cropped-thumb.png
Normal file
BIN
cropped-thumb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -70,6 +70,26 @@ func SetupStaticRoutes(router *gin.Engine, authService *auth.AuthService) {
|
||||
c.Data(http.StatusOK, "image/svg+xml", fileContent)
|
||||
})
|
||||
|
||||
// Serve scriberr-logo.png
|
||||
router.GET("/scriberr-logo.png", func(c *gin.Context) {
|
||||
fileContent, err := staticFiles.ReadFile("dist/scriberr-logo.png")
|
||||
if err != nil {
|
||||
c.Status(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
c.Data(http.StatusOK, "image/png", fileContent)
|
||||
})
|
||||
|
||||
// Serve scriberr-thumb.png
|
||||
router.GET("/scriberr-thumb.png", func(c *gin.Context) {
|
||||
fileContent, err := staticFiles.ReadFile("dist/scriberr-thumb.png")
|
||||
if err != nil {
|
||||
c.Status(http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
c.Data(http.StatusOK, "image/png", fileContent)
|
||||
})
|
||||
|
||||
// Serve index.html for root and any unmatched routes (SPA behavior)
|
||||
router.NoRoute(func(c *gin.Context) {
|
||||
// For API routes, return 404
|
||||
|
||||
BIN
scriberr-logo.png
Normal file
BIN
scriberr-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
scriberr-thumb.png
Normal file
BIN
scriberr-thumb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<link rel="icon" type="image/png" href="/scriberr-thumb.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr - Audio Transcription</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
|
||||
@@ -2,9 +2,10 @@ export function ScriberrLogo({ className = "", onClick }: { className?: string;
|
||||
const clickable = typeof onClick === 'function'
|
||||
return (
|
||||
<div className={`${className}`}>
|
||||
<span
|
||||
className={`logo-font-poiret text-3xl sm:text-4xl font-normal bg-clip-text text-transparent bg-gradient-to-r from-[var(--brand-accent-start)] to-[var(--brand-accent-end)] select-none ${clickable ? 'cursor-pointer hover:opacity-90 focus:opacity-90 outline-none' : ''}`}
|
||||
aria-label="Scriberr"
|
||||
<img
|
||||
src="/scriberr-logo.png"
|
||||
alt="Scriberr"
|
||||
className={`h-8 sm:h-10 w-auto select-none ${clickable ? 'cursor-pointer hover:opacity-90 focus:opacity-90 outline-none' : ''}`}
|
||||
role={clickable ? 'button' as const : undefined}
|
||||
tabIndex={clickable ? 0 : undefined}
|
||||
onClick={onClick}
|
||||
@@ -15,9 +16,7 @@ export function ScriberrLogo({ className = "", onClick }: { className?: string;
|
||||
onClick?.()
|
||||
}
|
||||
}}
|
||||
>
|
||||
Scriberr
|
||||
</span>
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr API Reference</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/api.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,17 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr — Changelog</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/changelog.tsx"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr Docs — Contributing</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&family=Noto+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/docs/contributing.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr Docs — Diarization</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&family=Noto+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/docs/diarization.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Docs | Scriberr</title>
|
||||
<meta http-equiv="refresh" content="0; url=/docs/intro.html" />
|
||||
<link rel="canonical" href="/docs/intro.html" />
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="/docs/intro.html">/docs/intro.html</a>…</p>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr Docs — Installation</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&family=Noto+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/docs/installation.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,15 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Scriberr Docs — Introduction</title>
|
||||
<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@300;400;500;600;700&family=Poiret+One&family=Noto+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/docs/intro.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,6 +2,10 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/scriberr-thumb.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/scriberr-thumb.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/scriberr-thumb.png" />
|
||||
<link rel="shortcut icon" href="/scriberr-thumb.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Scriberr — sleek, minimal transcription app. Transcribe, summarize and annotate audio effortlessly." />
|
||||
<title>Scriberr — Transcribe audio. Summarize. Annotate.</title>
|
||||
|
||||
@@ -63,6 +63,13 @@
|
||||
"description": "Upload an audio file without starting transcription",
|
||||
"tag": "transcription"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/v1/transcription/upload-video",
|
||||
"summary": "Upload video file for transcription",
|
||||
"description": "Upload a video file, extract audio from it using ffmpeg, and create a transcription job",
|
||||
"tag": "transcription"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/v1/transcription/submit",
|
||||
|
||||
@@ -7,8 +7,8 @@ export default function Hero() {
|
||||
<span className="eyebrow mb-3 inline-block">
|
||||
Self-hosted offline audio transcription
|
||||
</span>
|
||||
<h1 className="headline">
|
||||
<ScriberrLogo className="text-5xl sm:text-6xl md:text-7xl font-normal" />
|
||||
<h1 className="headline flex justify-center mb-4">
|
||||
<ScriberrLogo className="h-16 sm:h-20 md:h-24 lg:h-28 xl:h-32" />
|
||||
</h1>
|
||||
<p className="subcopy mt-3 mx-auto max-w-2xl">
|
||||
Transcribe audio locally into text - Summarize and Chat with your
|
||||
|
||||
@@ -8,7 +8,7 @@ export default function Navbar() {
|
||||
<header className="sticky top-0 z-40 bg-white/80 backdrop-blur shadow-soft">
|
||||
<div className="container-narrow py-4 flex items-center justify-between">
|
||||
<a href="#" className="flex items-center gap-3">
|
||||
<ScriberrLogo className="text-2xl sm:text-3xl font-semibold" />
|
||||
<ScriberrLogo className="h-8 sm:h-10" />
|
||||
</a>
|
||||
<nav className="hidden md:flex items-center gap-6 text-sm text-gray-600">
|
||||
<a href="/docs/intro.html" className="hover:text-gray-900">Docs</a>
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
export function ScriberrLogo({ className = '' }: { className?: string }) {
|
||||
return (
|
||||
<span
|
||||
className={
|
||||
`logo-font-poiret text-2xl sm:text-3xl bg-clip-text text-transparent bg-gradient-to-r from-blue-600 to-purple-400 select-none ${className}`
|
||||
}
|
||||
aria-label="Scriberr"
|
||||
>
|
||||
Scriberr
|
||||
</span>
|
||||
<img
|
||||
src="/scriberr-logo.png"
|
||||
alt="Scriberr"
|
||||
className={`w-auto select-none ${className}`}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user