Skip to content

Commit 77aedf7

Browse files
authored
wip (#246)
1 parent 17cd58e commit 77aedf7

11 files changed

Lines changed: 688 additions & 85 deletions

File tree

docs/.vitepress/config.mts

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
import { defineConfig } from 'vitepress'
22

3+
const SITE_URL = 'https://maris-development.github.io/beacon/'
4+
const OG_IMAGE = SITE_URL + 'hero.png'
5+
const DESCRIPTION =
6+
'Beacon is an open-source (AGPL-3.0) data lakehouse query engine for scientific and climate data — query NetCDF, Zarr, Parquet, GeoTIFF, CSV, ODV, Arrow and Atlas files in place over SQL and JSON APIs, on local storage or S3, with no data migration.'
7+
8+
const structuredData = [
9+
{
10+
'@context': 'https://schema.org',
11+
'@type': 'WebSite',
12+
name: 'Beacon',
13+
url: SITE_URL,
14+
description: DESCRIPTION
15+
},
16+
{
17+
'@context': 'https://schema.org',
18+
'@type': 'SoftwareApplication',
19+
name: 'Beacon',
20+
applicationCategory: 'DeveloperApplication',
21+
operatingSystem: 'Linux, macOS, Docker',
22+
description: DESCRIPTION,
23+
url: SITE_URL,
24+
license: 'https://www.gnu.org/licenses/agpl-3.0.html',
25+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
26+
sameAs: ['https://github.com/maris-development/beacon']
27+
}
28+
]
29+
330
// https://vitepress.dev/reference/site-config
431
export default defineConfig({
532
markdown: {
@@ -8,12 +35,46 @@ export default defineConfig({
835
light: 'light-plus',
936
}
1037
},
11-
head: [['link', { rel: 'icon', href: '/beacon/favicon.ico' }]],
38+
head: [
39+
['link', { rel: 'icon', href: '/beacon/favicon.ico' }],
40+
['meta', { name: 'author', content: 'MARIS' }],
41+
['meta', { property: 'og:type', content: 'website' }],
42+
['meta', { property: 'og:site_name', content: 'Beacon' }],
43+
['meta', { property: 'og:image', content: OG_IMAGE }],
44+
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
45+
['meta', { name: 'twitter:image', content: OG_IMAGE }],
46+
['script', { type: 'application/ld+json' }, JSON.stringify(structuredData[0])],
47+
['script', { type: 'application/ld+json' }, JSON.stringify(structuredData[1])],
48+
],
1249
base: '/beacon/',
1350
ignoreDeadLinks: true,
1451
title: "Beacon",
15-
description: "Beacon Documentation",
52+
description: DESCRIPTION,
1653
lastUpdated: true,
54+
sitemap: { hostname: SITE_URL },
55+
transformHead({ pageData }) {
56+
const path = pageData.relativePath
57+
.replace(/\.md$/, '.html')
58+
.replace(/(^|\/)index\.html$/, '$1')
59+
const url = SITE_URL + path
60+
const isHome =
61+
pageData.frontmatter?.layout === 'home' ||
62+
!pageData.title ||
63+
pageData.title === 'Beacon'
64+
const title = isHome
65+
? 'Beacon — a data lakehouse for scientific data'
66+
: `${pageData.title} | Beacon`
67+
const description =
68+
pageData.description || pageData.frontmatter?.description || DESCRIPTION
69+
return [
70+
['link', { rel: 'canonical', href: url }],
71+
['meta', { property: 'og:title', content: title }],
72+
['meta', { property: 'og:description', content: description }],
73+
['meta', { property: 'og:url', content: url }],
74+
['meta', { name: 'twitter:title', content: title }],
75+
['meta', { name: 'twitter:description', content: description }]
76+
]
77+
},
1778
themeConfig: {
1879
search: {
1980
provider: 'local'
@@ -817,6 +878,14 @@ export default defineConfig({
817878
socialLinks: [
818879
{ icon: 'slack', link: 'https://join.slack.com/t/beacontechnic-wwa5548/shared_invite/zt-2dp1vv56r-tj_KFac0sAKNuAgUKPPDRg' },
819880
{ icon: 'github', link: 'https://github.com/maris-development/beacon' },
820-
]
881+
],
882+
editLink: {
883+
pattern: 'https://github.com/maris-development/beacon/edit/main/docs/:path',
884+
text: 'Edit this page on GitHub'
885+
},
886+
footer: {
887+
message: 'Released under the AGPL-3.0 License.',
888+
copyright: 'Copyright © MARIS & the Beacon contributors'
889+
}
821890
}
822891
})

docs/.vitepress/theme/components/ArchDiagram.vue

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const cards = [
7474
<style scoped>
7575
.arch {
7676
margin: 3.75rem auto 1rem;
77-
max-width: 880px;
77+
max-width: 1000px;
7878
padding: 0 1.5rem;
7979
text-align: center;
8080
}
@@ -92,15 +92,15 @@ const cards = [
9292
.depcards {
9393
display: grid;
9494
grid-template-columns: repeat(3, 1fr);
95-
gap: 0.8rem;
95+
gap: 1rem;
9696
}
9797
9898
.depcard {
9999
border: 1px solid var(--vp-c-divider);
100-
border-top: 3px solid var(--vp-c-divider);
101-
border-radius: 12px;
100+
border-top: 4px solid var(--vp-c-divider);
101+
border-radius: 14px;
102102
background: var(--vp-c-bg-soft);
103-
padding: 16px 14px 14px;
103+
padding: 22px 20px 20px;
104104
text-align: left;
105105
}
106106
.accent-cloud { border-top-color: var(--vp-c-brand-1); }
@@ -110,13 +110,13 @@ const cards = [
110110
.depcard-head {
111111
display: flex;
112112
align-items: center;
113-
gap: 8px;
114-
margin-bottom: 14px;
115-
font-size: 14px;
113+
gap: 10px;
114+
margin-bottom: 18px;
115+
font-size: 16px;
116116
font-weight: 700;
117117
color: var(--vp-c-text-1);
118118
}
119-
.dh-ico { font-size: 16px; }
119+
.dh-ico { font-size: 18px; }
120120
121121
.depflow {
122122
display: flex;
@@ -126,38 +126,38 @@ const cards = [
126126
.dep-node {
127127
display: flex;
128128
align-items: center;
129-
gap: 10px;
130-
padding: 8px 10px;
129+
gap: 12px;
130+
padding: 11px 13px;
131131
border: 1px solid var(--vp-c-divider);
132-
border-radius: 8px;
132+
border-radius: 10px;
133133
background: var(--vp-c-bg);
134134
}
135135
.dn-ico {
136-
width: 24px;
136+
width: 28px;
137137
text-align: center;
138-
font-size: 17px;
138+
font-size: 20px;
139139
flex: none;
140140
}
141141
.dn-logo {
142-
width: 22px;
143-
height: 22px;
142+
width: 26px;
143+
height: 26px;
144144
flex: none;
145145
}
146-
.dn-text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
147-
.dn-text b { font-size: 13px; color: var(--vp-c-text-1); }
148-
.dn-text small { font-size: 11px; color: var(--vp-c-text-3); }
146+
.dn-text { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
147+
.dn-text b { font-size: 14.5px; color: var(--vp-c-text-1); }
148+
.dn-text small { font-size: 12px; color: var(--vp-c-text-3); }
149149
150150
/* vertical connector + label, aligned under the node icon column */
151151
.dep-link {
152152
display: flex;
153153
align-items: center;
154-
gap: 8px;
155-
padding: 2px 0 2px 21px;
154+
gap: 10px;
155+
padding: 3px 0 3px 26px;
156156
}
157157
.dl-line {
158158
position: relative;
159159
width: 2px;
160-
height: 22px;
160+
height: 28px;
161161
background: var(--vp-c-divider);
162162
flex: none;
163163
}
@@ -175,26 +175,26 @@ const cards = [
175175
0% { top: -5px; opacity: 0; }
176176
15% { opacity: 1; }
177177
85% { opacity: 1; }
178-
100% { top: 22px; opacity: 0; }
178+
100% { top: 28px; opacity: 0; }
179179
}
180180
.dep-link em {
181181
font-style: normal;
182-
font-size: 10.5px;
182+
font-size: 11.5px;
183183
color: var(--vp-c-text-3);
184184
}
185185
186186
.depcard-foot {
187-
margin: 14px 0 0;
188-
font-size: 11.5px;
189-
line-height: 1.45;
187+
margin: 18px 0 0;
188+
font-size: 12.5px;
189+
line-height: 1.5;
190190
color: var(--vp-c-text-2);
191191
}
192192
193193
@media (prefers-reduced-motion: reduce) {
194194
.dl-dot { display: none; }
195195
}
196196
197-
@media (max-width: 640px) {
198-
.depcards { grid-template-columns: 1fr; max-width: 360px; margin-inline: auto; }
197+
@media (max-width: 720px) {
198+
.depcards { grid-template-columns: 1fr; max-width: 380px; margin-inline: auto; }
199199
}
200200
</style>

0 commit comments

Comments
 (0)