-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathindex.html
More file actions
71 lines (68 loc) · 3.79 KB
/
Copy pathindex.html
File metadata and controls
71 lines (68 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover" />
<title>Oksskolten</title>
<meta name="description" content="AI-native RSS reader with full-text extraction, summarization, translation, and interactive chat." />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Oksskolten — The AI-native RSS reader" />
<meta property="og:description" content="AI-native RSS reader with full-text extraction, summarization, translation, and interactive chat." />
<meta property="og:url" content="https://demo.oksskolten.com" />
<meta property="og:image" content="https://demo.oksskolten.com/og-image-light.png" />
<meta property="og:image:width" content="1280" />
<meta property="og:image:height" content="640" />
<meta property="og:site_name" content="Oksskolten" />
<meta property="og:locale" content="en" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Oksskolten — The AI-native RSS reader" />
<meta name="twitter:description" content="AI-native RSS reader with full-text extraction, summarization, translation, and interactive chat." />
<meta name="twitter:image" content="https://demo.oksskolten.com/oksskolten-header-light.png" />
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)" />
<meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" type="image/png" href="/icons/favicon-black.png?v=6" media="(prefers-color-scheme: light)" />
<link rel="icon" type="image/png" href="/icons/favicon-white.png?v=6" media="(prefers-color-scheme: dark)" />
<link rel="apple-touch-icon" href="/apple-touch-icon-180x180.png" />
<script>
(function(){
var m = localStorage.getItem('theme');
var d = m === 'dark' || (m !== 'light' && matchMedia('(prefers-color-scheme:dark)').matches);
if(d) document.documentElement.classList.add('dark');
var r = document.documentElement.style;
r.colorScheme = d ? 'dark' : 'light';
var bg = localStorage.getItem('theme-bg') || (d ? '#111111' : '#ffffff');
r.backgroundColor = bg;
r.setProperty('--color-bg', bg);
r.setProperty('--color-bg-card', bg);
r.setProperty('--color-bg-header', bg);
var h = bg.match(/[a-f\d]{2}/gi);
if(h) r.setProperty('--color-bg-header-rgb', h.map(function(x){return parseInt(x,16)}).join(' '));
})();
</script>
<style>body{background-color:var(--color-bg)}</style>
</head>
<body>
<div id="root"></div>
<script>
window.addEventListener('error', function(e) {
var d = document.getElementById('root');
if (d && !d.hasChildNodes()) {
d.style.cssText = 'padding:2rem;font-family:monospace;font-size:14px;color:#c00;white-space:pre-wrap;word-break:break-all;';
d.textContent = '[boot error] ' + (e.message || 'unknown') + '\n' + (e.filename || '') + ':' + (e.lineno || '');
}
});
window.addEventListener('unhandledrejection', function(e) {
var d = document.getElementById('root');
if (d && !d.hasChildNodes()) {
d.style.cssText = 'padding:2rem;font-family:monospace;font-size:14px;color:#c00;white-space:pre-wrap;word-break:break-all;';
d.textContent = '[promise error] ' + (e.reason && (e.reason.message || e.reason) || 'unknown');
}
});
</script>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>