Skip to content

Commit 73a701d

Browse files
committed
Merge branch 'develop' into feature/add-umami
2 parents 226a4fd + 0254846 commit 73a701d

File tree

165 files changed

+2797
-3647
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+2797
-3647
lines changed

.github/workflows/gh-pages.yml

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,52 @@ name: GitHub Pages
22

33
on:
44
push:
5-
branches:
6-
- develop
75

86
jobs:
7+
# BUILD
98
build:
109
runs-on: ubuntu-latest
1110
steps:
1211
- name: Checkout
1312
uses: actions/checkout@v4
14-
# with:
15-
# submodules: true
16-
13+
- name: Setup Pages
14+
uses: actions/configure-pages@v5
1715
- name: Setup Hugo
1816
uses: peaceiris/actions-hugo@v3
1917
with:
2018
hugo-version: '0.133.0'
21-
# extended: true
22-
2319
- uses: actions/setup-node@v4
2420
with:
2521
node-version: 22
2622
cache: 'npm'
2723
cache-dependency-path: package-lock.json
28-
29-
30-
- name: Install Tools
31-
run: npm install -g postcss-cli autoprefixer
32-
24+
registry-url: 'https://npm.pkg.github.com/'
3325
- name: NPM install
3426
run: |
3527
npm config set "@skymatic:registry" https://npm.pkg.github.com/
36-
npm config set '//npm.pkg.github.com/:_authToken' "${{ secrets.FONTAWESOME_AUTH_TOKEN }}"
37-
npm install
38-
28+
npm ci --ignore-scripts
29+
env:
30+
NODE_AUTH_TOKEN: ${{ secrets.FONTAWESOME_AUTH_TOKEN }}
3931
- name: Build
4032
run: hugo
41-
42-
- name: Deploy
43-
uses: peaceiris/actions-gh-pages@v4
33+
- name: Upload artifact
34+
uses: actions/upload-pages-artifact@v3
4435
with:
45-
github_token: ${{ secrets.GITHUB_TOKEN }}
46-
publish_dir: ./public
47-
publish_branch: main
48-
cname: cryptomator.org
36+
path: 'public'
37+
38+
# DEPLOY
39+
deploy:
40+
if: github.ref == 'refs/heads/main'
41+
name: Deploy to GitHub Pages
42+
runs-on: ubuntu-latest
43+
needs: [build]
44+
permissions: # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
45+
pages: write # to deploy to Pages
46+
id-token: write # to verify the deployment originates from an appropriate source
47+
steps:
48+
- name: Deploy to GitHub Pages
49+
id: deployment
50+
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action
51+
environment: # Deploy to the github-pages environment
52+
name: github-pages
53+
url: ${{ steps.deployment.outputs.page_url }}

.nojekyll

Whitespace-only changes.

CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,34 @@
33
# Usage
44
## Requirements
55
* Hugo
6-
* NPM
7-
* postcss-cli (`npm install -g postcss-cli`)
8-
* autoprefixer (`npm install -g autoprefixer`)
96
* Fontawesome Pro `npm config set "@skymatic:registry" https://npm.pkg.github.com/ && npm config set "//npm.pkg.github.com/:_authToken" TOKEN`
107

118
## Building
129
1. `npm install`
1310
1. run hugo
14-
* for production simply run `hugo`
15-
* for local development run `HUGO_ENV=development hugo server`
11+
* for production builds simply run `npm run build`
12+
* for local development run `npm run dev`
13+
* for local production tests `npm run serve`
14+
15+
## Optional Dependencies for Size Optimizations
16+
17+
### Font Subsets
18+
To create subsets of font files, e.g. when we know only very few characters are required to render the title of the page "CRYPTOMATOR HUB":
19+
20+
1. First install `pip install fonttools brotli`
21+
2. `pyftsubset quicksand-bold.woff2 --text="CRYPTOMATOR HUB" --verbose --flavor=woff2 --output-file=quicksand-bold.reduced.woff2`
22+
23+
### Image Conversions
24+
Using WebP (for smaller images) or AVIF (for >80 kiB due to larger overhead) may yield in better compression. [Here](https://www.reddit.com/r/AV1/comments/aabqdc/lossless_compression_test_png_vs_webp_vs_avif/) is a (rather old) comparison benchmark. However, we need to test the best format ourselves.
25+
26+
* `brew install libavif` (see [GitHub Project Page](https://github.com/AOMediaCodec/libavif?tab=readme-ov-file#installation) for other installation methods)
27+
* Example (lossless): `avifenc -l input.png output.avif`
28+
* Example (lossy): `avifenc --qcolor 70 --qalpha 100 --depth 8 input.png output.avif`
29+
* `brew install libwebm`
30+
* Example (lossless): `cwebp -preset drawing -lossless -z 6 input.png -o output.webp`
31+
* Example (lossy): `cwebp -preset drawing -q 90 -alpha_q 100 input.png -o output.webp`
32+
* `brew install optipng`
33+
* Example: `optipng -o3 image.png`
34+
35+
> [!TIP]
36+
> If you see color banding in lossy conversions, try avif with 10 bit color depth.

assets/css/custom.css

Lines changed: 70 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* custom classes: */
22
.header-bg {
3-
background-image: url(/img/home/header-background.png), linear-gradient(to bottom, #0b0f17 0%, #143454 38%, #3f8bd9 72%, #9ac7f5 90%);
3+
background-image: url(/img/home/header-background.avif), linear-gradient(to bottom, rgb(4.31% 5.88% 9.02%) 0%, rgb(7.84% 20.39% 32.94%) 38%, rgb(24.71% 54.51% 85.1%) 72%, rgb(60.39% 78.04% 96.08%) 90%);
44
background-size: auto 100%;
55
}
66

@@ -12,12 +12,12 @@
1212
}
1313

1414
.btn {
15-
@apply inline-block border rounded no-underline text-center px-4 py-2;
15+
@apply inline-block border rounded-sm no-underline text-center px-4 py-2;
1616
}
1717

1818
.btn:hover,
1919
.btn:focus {
20-
@apply no-underline outline-none;
20+
@apply no-underline outline-hidden;
2121
}
2222

2323
.btn:disabled,
@@ -81,8 +81,74 @@
8181
@apply cursor-not-allowed no-underline text-gray-300;
8282
}
8383

84+
.text-link {
85+
@apply text-primary no-underline hover:underline;
86+
}
87+
88+
.font-h1 {
89+
@apply font-headline font-medium text-3xl md:text-4xl leading-tight;
90+
}
91+
92+
.font-h2 {
93+
@apply font-headline font-medium text-xl md:text-2xl leading-snug;
94+
}
95+
96+
.font-h3 {
97+
@apply font-headline text-lg md:text-xl leading-relaxed;
98+
}
99+
100+
.font-p {
101+
@apply text-sm md:text-base leading-relaxed;
102+
}
103+
104+
.font-code {
105+
@apply font-semibold;
106+
}
107+
108+
.lead {
109+
@apply text-lg md:text-xl leading-relaxed text-gray-700;
110+
}
111+
112+
.label-uppercase {
113+
@apply block font-bold text-xs uppercase tracking-wide text-gray-600;
114+
}
115+
116+
ul.list-primary,
117+
ul.list-primary ul {
118+
@apply list-disc text-base leading-relaxed pl-6.5;
119+
}
120+
121+
ul.list-primary-sm,
122+
ul.list-primary-sm ul {
123+
@apply text-sm pl-5.5;
124+
}
125+
126+
ul.list-primary li {
127+
@apply pl-1.5 my-2;
128+
}
129+
130+
ul.list-primary-sm li {
131+
@apply pl-1.5 my-1;
132+
}
133+
134+
ul.list-primary li::marker {
135+
@apply text-gray-400;
136+
}
137+
138+
.white-box {
139+
@apply rounded-sm shadow-sm bg-white;
140+
}
141+
142+
.input-box {
143+
@apply rounded-sm border-gray-300 focus:ring-0 focus:border-secondary;
144+
}
145+
146+
.pre-box {
147+
@apply rounded-sm overflow-x-auto text-white bg-gray-800 p-4;
148+
}
149+
84150
.StripeElement {
85-
@apply rounded border border-gray-300 px-3 py-2;
151+
@apply rounded-sm border border-gray-300 px-3 py-2;
86152
}
87153

88154
.StripeElement--focus {
@@ -127,14 +193,6 @@ textarea:read-only {
127193
min-height: 80vh;
128194
}
129195

130-
nav a {
131-
color: inherit;
132-
}
133-
134-
nav a:hover {
135-
color: inherit;
136-
}
137-
138196
.bg-trans-white {
139197
background-color: rgba(255, 255, 255, 0.05);
140198
}
@@ -168,8 +226,3 @@ nav a:hover {
168226
margin-top: -96px;
169227
visibility: hidden;
170228
}
171-
172-
/* see https://alpinejs.dev/directives/cloak */
173-
[x-cloak] {
174-
display: none !important;
175-
}

0 commit comments

Comments
 (0)