Compare commits

..

61 Commits

Author SHA1 Message Date
ddaac80f2e Update build 2024-10-17 11:58:21 +02:00
116d9d28f8 Replace Twitter with Nostr 2024-10-17 11:58:08 +02:00
692b49fe43 Update build 2024-10-16 12:57:09 +02:00
6df3be1f2b Update content 2024-10-16 12:56:54 +02:00
0dcefbcd50 Remove board information 2024-09-03 18:46:58 +02:00
7eb15d8f49 Update build 2024-09-03 18:39:32 +02:00
77df0c47ca Switch to new legal registration 2024-09-03 18:38:33 +02:00
20f59d2fad Improve wording 2024-09-03 18:38:20 +02:00
b4ae35fc24 Update services 2024-08-21 16:52:36 +02:00
3be5c532d2 Update build 2024-08-04 16:40:10 +02:00
0472848132 Update services 2024-08-04 16:36:25 +02:00
f175f2d0e3 Add link to account dashboard to all pages 2024-03-29 11:24:03 +04:00
4b52a12943 Content 2024-01-27 08:17:54 +02:00
c53cfffda5 Don't link items without URL 2024-01-27 08:17:35 +02:00
Râu Cao
f08a119f2f Improve copy 2023-11-17 14:15:22 +01:00
Râu Cao
e038b92c77 Update services 2023-11-17 14:06:18 +01:00
Râu Cao
95c8f845bb Update release build 2023-11-17 13:53:04 +01:00
Râu Cao
0b719783e0 Revert "Don't advertise kredits for now"
This reverts commit c0b19223d8.
2023-11-17 13:49:03 +01:00
Râu Cao
35f2f76d38 Update release build 2023-07-26 09:48:23 +02:00
Râu Cao
7824a0b0ac Update theme 2023-07-26 09:47:59 +02:00
Râu Cao
70c3d986d6 Update data 2023-07-26 09:47:49 +02:00
Râu Cao
0e16fa0509 Add npm-run-all package 2023-07-26 09:47:33 +02:00
Râu Cao
b97948e190 Update release build 2022-12-24 17:02:48 +07:00
Râu Cao
331b724a9c Update board members 2022-12-24 17:02:32 +07:00
Râu Cao
09a26b2ba1 Add jitsi service 2022-09-19 11:41:01 +02:00
Râu Cao
7828213b5b Update release build 2022-09-17 10:21:44 +02:00
Râu Cao
c0b19223d8 Don't advertise kredits for now 2022-09-17 10:20:33 +02:00
Râu Cao
622e0ce9f6 Add upcoming services 2022-09-17 10:20:18 +02:00
Râu Cao
c11696aa90 Wording 2022-09-17 10:19:49 +02:00
Râu Cao
24bf97f656 Add PGP key for KIF email 2022-09-17 10:19:17 +02:00
b19b838422 Merge pull request 'Update frontpage content' (#9) from feature/frontpage_content into master
Reviewed-on: Kosmos/website#9
2022-09-04 19:28:14 +00:00
Râu Cao
b64a998a86 Update README 2022-09-04 21:21:44 +02:00
Râu Cao
ade75e9621 Update README 2022-09-04 21:14:50 +02:00
Râu Cao
e7f2ef9689 Update frontpage content
Add links to the new pages, embedded in additional copy.
2022-09-04 21:10:03 +02:00
fccdb83a9a Update release build 2022-07-11 13:27:53 +02:00
1ee4c3a3a9 Add relative link to home page in topbar 2022-07-11 13:27:17 +02:00
418669defb Merge pull request 'Set up Hugo, add new website/content' (#8) from feature/hugo into master
Reviewed-on: #8
2022-07-11 11:07:00 +00:00
b43721921b Update release build 2022-07-03 20:12:42 +02:00
05e2d5abd2 Add mobile nav
Pure CSS, baby!
2022-07-03 20:12:19 +02:00
28b79acd1f Tweak white space 2022-07-02 17:23:25 +02:00
d1da00305a Update header image 2022-07-02 17:19:51 +02:00
4f1d03ba5f Add custom header image
Add support for configuring a custom header image from a page's front
matter, and use a new one for foundation.
2022-07-02 17:08:07 +02:00
7faf3602fd Update release build 2022-06-30 16:15:13 +02:00
83e506b8e7 Add topnav outlinks 2022-06-30 16:13:32 +02:00
47925e40fb Finalize first version of foundation content 2022-06-30 15:35:40 +02:00
aebbd9796e Update release build 2022-06-30 15:18:52 +02:00
93dc1fad82 Add more foundation content 2022-06-24 20:14:00 +02:00
7bf64eb559 Add first foundation content 2022-06-23 21:16:26 +02:00
4d90fe1626 Add background color for divider image/area 2022-06-23 16:32:35 +02:00
87d6ace2dd Build release 2022-06-23 11:50:08 +02:00
a09576a97e Remove absolute link from data text 2022-06-23 11:49:38 +02:00
e50759ba69 Use relative permalink for CSS 2022-06-23 11:46:28 +02:00
a14e6ebe62 Fix kosmos.social URL 2022-06-22 20:12:07 +02:00
9e1c2bd397 Add projects content 2022-06-22 17:27:29 +02:00
5a9ffaab62 Add asset fingerprinting, build/dev scripts
Add fingerprinting for the CSS file, as well as npm scripts for all
common build and dev tasks.
2022-06-04 11:09:00 +02:00
f0f7bfd190 Add services list from data template 2022-06-01 17:09:17 +02:00
6be29ea741 Add some content 2022-05-27 19:47:59 +02:00
80f9b45682 Add the comet 2022-05-27 15:11:52 +02:00
2aa6612a28 Add optional page description/subheading 2022-05-27 15:11:29 +02:00
f65aadc03c Add main menu, basic layout 2022-05-27 12:49:18 +02:00
1e728d56e6 WIP Set up new layout, Tailwind CSS 2022-05-27 10:45:33 +02:00
58 changed files with 2889 additions and 1272 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
.hugo_build.lock
node_modules

View File

View File

@@ -1,10 +1,14 @@
# kosmos.org
This website (or rather foundation for a future website) is a simple static
site. It is built using the [Hugo](https://gohugo.io/) static site generator.
This website is a simple static site. It is built using the
[Hugo](https://gohugo.io/) static site generator.
## Getting started
1. Clone this Git repository
2. [Install Hugo](https://gohugo.io/getting-started/installing/)
3. Run `hugo server`
3. Run `npm run dev`
## Build for production
npm run build:release

View File

@@ -1,5 +0,0 @@
theme = "kosmos-22"
baseURL = 'https://kosmos.org/'
languageCode = 'en-us'
title = 'Kosmos'
disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT"]

14
config.yaml Normal file
View File

@@ -0,0 +1,14 @@
theme: kosmos-22
baseURL: https://kosmos.org/
languageCode: en-us
title: Kosmos
disableKinds:
- taxonomy
- term
- RSS
- sitemap
- robotsTXT
markup:
goldmark:
renderer:
unsafe: true # Allow HTML in md files

View File

@@ -1,5 +0,0 @@
---
title: Contact Us
---
Contact us.

View File

@@ -1,5 +1,77 @@
---
title: Kosmos Infrastructure Foundation
description: Providing physical infrastructure for Kosmos software and services
headerImage: servers-02.jpg
menu:
main:
identifier: foundation
name: Foundation
weight: 10
---
Foundation content
The Kosmos Infrastructure Foundation (KIF) is the host organization for Kosmos
hosted services. It acts as an infrastructure provider to the developers and
users of [free and open-source
software](https://en.wikipedia.org/wiki/Free_and_open-source_software). It is
appointed this role by the Kosmos co-operative, and is run by members of the
co-operative itself.
The foundation also accepts financial contributions on behalf of the
co-operative, both for the development and maintenance of Kosmos applications
and infrastructure, and related free and open-source software, as well
as for providing hosted services to individuals and organizations.
## Our Mission
We believe that neither the development nor usage of free software should be
entirely dependent upon select corporations or VC-funded startup companies.
Thus, we think that free software benefits from community-owned, sovereign and
open communication and collaboration platforms that are only beholden to free
software's most important stakeholders: its creators and users.
In this context, our mission is as follows:
<ul class="list-disc ml-4">
<li class="mb-2">
Provide community-controlled infrastructure for the collaborative
development of all Kosmos applications, as well as related and unrelated
free software
</li>
<li class="mb-2">
Provide a professional, reliable hosting environment for research,
development, testing, and demonstration of all Kosmos applications, as well
as related and unrelated free software
</li>
<li>
Provide, on a not-for-profit basis, easy-to-use services surrounding Kosmos
applications to end users, both individual and organizations
</li>
<li>
Help other organizations with both self-hosting and providing hosted
services to their own users or the wider public
</li>
</ul>
## Contact
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
<div>
### Address
Kosmos Infrastructure Foundation
Beta Building, Oficina 6
Próspera ZEDE
St. Johns Bay, Roatán, Islas de Bahia 34101
Honduras
</div>
<div>
### E-Mail
[foundation@kosmos.org](mailto:foundation@kosmos.org)
<span class="text-sm font-mono">([PGP](/0xC6C569307DE33574.asc))</span>
</div>
</div>

View File

@@ -0,0 +1,10 @@
---
title: Projects
menu:
main:
identifier: projects
name: Projects
weight: 3
---
{{< partial "projects" >}}

View File

@@ -0,0 +1,10 @@
---
title: Services
menu:
main:
identifier: services
name: Services
weight: 5
---
{{< partial "services/community" >}}

71
data/projects.yaml Normal file
View File

@@ -0,0 +1,71 @@
- name: Kosmos Accounts & Services
description: >-
Kosmos Accounts give people access to our hosted
services. An account dashboard and control panel
offers account management functionality and
additional integrations.
status: >-
Accounts are in beta and already in use by some
developers and other users. Registration is
currently by invitation only.
links:
- section: Links
items:
- title: Account dashboard
url: https://accounts.kosmos.org
- title: Services
url: "/services"
- section: Source code
items:
- title: Akkounts (account dashboard/control panel)
url: https://gitea.kosmos.org/kosmos/akkounts
- title: Chef cookbooks (infrastructure automation)
url: https://gitea.kosmos.org/kosmos/chef
- name: Kosmos Chat
description: >-
Kosmos Chat is a group chat application, based
exclusively on open protocols, standards, and data
formats. All of its components can be either
self-hosted or connected to hosted services. No user
data is ever locked into hosted silos.
status: >-
An alpha version of the client app is in use by developers, and a public
beta version is planned for 2024.
links:
- section: Links
items:
- title: Overview & planned features (partially outdated)
url: https://wiki.kosmos.org/Kosmos_Chat
- title: Web client (alpha version)
url: https://hyperchannel.kosmos.org
- section: Source code
items:
- title: Hyperchannel (Web client)
url: https://github.com/67P/hyperchannel
- title: Sockethub (Protocol proxy)
url: https://github.com/sockethub/sockethub/
- name: Kredits
description: >-
Kredits are a system for tracking opensource project
contributions, enabling and facilitating the fair
and transparent use of project funds, as well as
improving project management and governance.
status: >-
We have been experimenting with the system in
pre-production for a while, and have run multiple
trials for development grant payouts. Currently
working on production migration/launch.
links:
- section: Links
items:
- title: Overview & technical details
url: https://wiki.kosmos.org/Kredits
- title: Contribution Dashboard
url: https://kredits.kosmos.org
- section: Source code
items:
- title: List of software and repositories
url: https://wiki.kosmos.org/Kredits#Software

View File

@@ -0,0 +1,51 @@
- category: Communication
items:
- name: Chat
url: https://wiki.kosmos.org/Services:Chat
description: Chat rooms and instant messaging (XMPP/Jabber)
- name: Social
url: https://kosmos.social
description: Social media (micro-blogging on the fediverse)
- name: Forums
url: https://community.kosmos.org
description: Kosmos community forums and user support/help site
- name: E-Mail
description: A no-bullshit email account, with PGP extras
- name: Nostr
url: https://nostr.kosmos.org
description: A spam-free Nostr relay, zap wallet, and NIP-05 addresses
- category: Software development
items:
- name: Gitea
url: https://gitea.kosmos.org
description: Code hosting and collaboration for software projects
- name: Drone CI
url: https://drone.kosmos.org
description: Continuous integration and build pipelines
- category: Account & Auxiliary services
items:
- name: Accounts
url: https://accounts.kosmos.org
description: Manage your Kosmos account and services
- name: Storage
url: https://remotestorage.io
description: Personal data storage and synchronization for the Web
- name: Sockethub
url: https://sockethub.org
description: Access other Internet protocols from Web apps
- name: Lightning Network
url: https://lightningaddress.com
description: A simple, always-on inbox for receiving sats
- category: P2P Network Services
items:
- name: IPFS
url: https://wiki.kosmos.org/Kredits:IPFS
description: Nodes and Web gateway for the IPFS decentralized filesystem
- name: Rootstock
url: https://rootstock.io/
description: Testnet and Mainnet full nodes with publicly accessible APIs
- category: Coming Soon
items:
- name: Video Chat
description: Secure and flexible video conferencing, for 1:1 and groups
coming_soon: true

1
node_modules/.bin/acorn generated vendored
View File

@@ -1 +0,0 @@
../acorn/bin/acorn

1
node_modules/.bin/autoprefixer generated vendored
View File

@@ -1 +0,0 @@
../autoprefixer/bin/autoprefixer

1
node_modules/.bin/browserslist generated vendored
View File

@@ -1 +0,0 @@
../browserslist/cli.js

1
node_modules/.bin/cssesc generated vendored
View File

@@ -1 +0,0 @@
../cssesc/bin/cssesc

1
node_modules/.bin/detective generated vendored
View File

@@ -1 +0,0 @@
../detective/bin/detective.js

1
node_modules/.bin/nanoid generated vendored
View File

@@ -1 +0,0 @@
../nanoid/bin/nanoid.cjs

1
node_modules/.bin/resolve generated vendored
View File

@@ -1 +0,0 @@
../resolve/bin/resolve

1
node_modules/.bin/tailwind generated vendored
View File

@@ -1 +0,0 @@
../tailwindcss/lib/cli.js

1
node_modules/.bin/tailwindcss generated vendored
View File

@@ -1 +0,0 @@
../tailwindcss/lib/cli.js

740
node_modules/.package-lock.json generated vendored
View File

@@ -1,740 +0,0 @@
{
"name": "website",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/@nodelib/fs.walk": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/acorn": {
"version": "7.4.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/acorn-node": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
"integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
"dev": true,
"dependencies": {
"acorn": "^7.0.0",
"acorn-walk": "^7.0.0",
"xtend": "^4.0.2"
}
},
"node_modules/acorn-walk": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/arg": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz",
"integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==",
"dev": true
},
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"dependencies": {
"fill-range": "^7.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
"dev": true,
"engines": {
"node": ">= 6"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/chokidar/node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true,
"bin": {
"cssesc": "bin/cssesc"
},
"engines": {
"node": ">=4"
}
},
"node_modules/defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
"dev": true
},
"node_modules/detective": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
"integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
"dev": true,
"dependencies": {
"acorn-node": "^1.6.1",
"defined": "^1.0.0",
"minimist": "^1.1.1"
},
"bin": {
"detective": "bin/detective.js"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
"dev": true
},
"node_modules/dlv": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
"dev": true
},
"node_modules/fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
"glob-parent": "^5.1.2",
"merge2": "^1.3.0",
"micromatch": "^4.0.4"
},
"engines": {
"node": ">=8.6.0"
}
},
"node_modules/fast-glob/node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-core-module": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/lilconfig": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz",
"integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==",
"dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/micromatch": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"dev": true,
"dependencies": {
"braces": "^3.0.2",
"picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"dev": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-hash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
"dev": true,
"engines": {
"node": ">= 6"
}
},
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/postcss-js": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
"integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
"dev": true,
"dependencies": {
"camelcase-css": "^2.0.1"
},
"engines": {
"node": "^12 || ^14 || >= 16"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": {
"postcss": "^8.3.3"
}
},
"node_modules/postcss-load-config": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
"integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
"dev": true,
"dependencies": {
"lilconfig": "^2.0.5",
"yaml": "^1.10.2"
},
"engines": {
"node": ">= 10"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": {
"postcss": ">=8.0.9",
"ts-node": ">=9.0.0"
},
"peerDependenciesMeta": {
"postcss": {
"optional": true
},
"ts-node": {
"optional": true
}
}
},
"node_modules/postcss-nested": {
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
"integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
"dev": true,
"dependencies": {
"postcss-selector-parser": "^6.0.6"
},
"engines": {
"node": ">=12.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": {
"postcss": "^8.2.14"
}
},
"node_modules/postcss-selector-parser": {
"version": "6.0.10",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
"dev": true,
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
},
"engines": {
"node": ">=4"
}
},
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/quick-lru": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
"dev": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": {
"node": ">=8.10.0"
}
},
"node_modules/resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
"integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"dependencies": {
"is-core-module": "^2.8.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
}
},
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/tailwindcss": {
"version": "3.0.24",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.24.tgz",
"integrity": "sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==",
"dev": true,
"dependencies": {
"arg": "^5.0.1",
"chokidar": "^3.5.3",
"color-name": "^1.1.4",
"detective": "^5.2.0",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.11",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"lilconfig": "^2.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
"postcss": "^8.4.12",
"postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4",
"postcss-nested": "5.0.6",
"postcss-selector-parser": "^6.0.10",
"postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1",
"resolve": "^1.22.0"
},
"bin": {
"tailwind": "lib/cli.js",
"tailwindcss": "lib/cli.js"
},
"engines": {
"node": ">=12.13.0"
},
"peerDependencies": {
"postcss": "^8.0.9"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"engines": {
"node": ">=0.4"
}
},
"node_modules/yaml": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
"engines": {
"node": ">= 6"
}
}
}
}

2067
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,15 @@
"private": true,
"description": "The website on kosmos.org",
"scripts": {
"build:css": "",
"dev": "tailwindcss -i ./themes/kosmos-22/source/main.css -o ./themes/kosmos-22/static/css/main.css --watch"
"clean": "rm -rf public/*",
"build:css": "tailwindcss -i ./themes/kosmos-22/source/main.css -o ./themes/kosmos-22/assets/css/main.css",
"build:site": "hugo",
"build:release": "npm-run-all clean prod:css prod:site",
"prod:css": "npm run build:css -- --minify",
"prod:site": "hugo --gc --minify",
"dev": "npm-run-all --parallel dev:*",
"dev:css": "npm run build:css -- --watch",
"dev:site": "hugo server --disableFastRender"
},
"repository": {
"type": "git",
@@ -14,6 +21,7 @@
"author": "Kosmos Contributors",
"license": "MIT",
"devDependencies": {
"npm-run-all": "^4.1.5",
"tailwindcss": "3.0.24"
}
}

View File

@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
+7/QZWH35ajvGOdThw==
=mM0O
-----END PGP PUBLIC KEY BLOCK-----

File diff suppressed because one or more lines are too long

124
public/css/style.css Normal file
View File

@@ -0,0 +1,124 @@
* {
margin: 0;
padding: 0;
}
body, html {
box-sizing: border-box;
height: 100%;
font-size: 16px;
}
*, *:before, *:after {
box-sizing: inherit;
}
body {
background-color: #fff;
color: #232323;
font-family: 'Open Sans', sans-serif;
text-rendering: optimizeLegibility;
text-align: center;
}
html, body, #wrapper {
min-height: 100%;
}
#wrapper {
min-height: 100%;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
header {
height: 100%;
max-width: 90%;
margin: 0 auto 10vh;
text-align: center;
}
header h1 {
display: inline-block;
margin-bottom: 2rem;
margin-right: -0.25em; /* fix trailing space from letter-spacing */
font-size: 7vw;
font-weight: 700;
letter-spacing: 0.5em;
text-transform: uppercase;
background: #232323 url(https://kredits.kosmos.org/img/bg-947d3bf6bb15a1a3b07afcba4c307690.jpg);
background-size: cover;
background-repeat: no-repeat;
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
}
header h2 {
font-size: 1rem;
font-weight: normal;
color: #888888;
}
main {
width: 768px;
max-width: 90%;
text-align: left;
}
main p {
line-height: 1.6em;
margin-bottom: 1em;
}
footer {
height: 100%;
max-width: 90%;
margin: 7vh auto;
text-align: center;
}
footer a {
font-size: 0.9rem;
font-weight: bold;
display: inline-block;
background-color: #444;
color: white;
text-decoration: none;
padding: 0.5em 2em;
border-radius: 0.5em;
border: 3px solid white;
}
footer a:hover {
background-color: #555;
}
footer a:active {
border: 3px solid #ccc;
}
.hidden {
display: none !important;
}
@media screen and (max-width: 760px) {
header {
margin-top: 4rem;
}
header h1 {
font-size: 10vw;
margin-bottom: 1rem;
}
header h2 {
font-weight: 300;
font-size: 1rem;
}
footer {
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

1
public/img/comet.svg Normal file
View File

@@ -0,0 +1 @@
<svg width="65.364" height="55.773" enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 65.364 55.773" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" transform="translate(28.868 20.259)" fill="#000"><path id="path2" d="m22.81-9.2546-0.0137-0.0072c-0.0445-0.0196-0.0895-0.04052-0.13335-0.06078l-23.822-10.937s2.0034 9.219 2.914 11.778c0 0-27.292-8.1582-30.623-8.9354 1.0916 4.2618 20.006 40.848 20.006 40.848 3.8225 7.7608 12.677 12.083 21.912 12.083 12.949 0 23.446-10.497 23.446-23.446 6.6e-4 -9.4655-5.609-17.62-13.685-21.323z" fill="#fff" stroke-width=".65365"/></g></svg>

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
public/img/network-01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

BIN
public/img/servers-01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
public/img/servers-02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

15
public/index.html Normal file
View File

@@ -0,0 +1,15 @@
<!doctype html><html lang=en><head><meta name=generator content="Hugo 0.135.0"><meta charset=utf-8><title>Kosmos</title>
<meta content='width=device-width,minimum-scale=1,maximum-scale=1' name=viewport><link href=https://assets.kosmos.org/fonts/open-sans/open-sans.css rel=stylesheet><link href=/css/style.css rel=stylesheet></head><body><div id=wrapper><header><h1>Kosmos</h1><h2>Let a million servers bloom</h2></header><main><p>We are an open co-operative of people, who are developing a free,
open-source, and user-centric alternative to centralized group chat
platforms, based on widely used protocols and standards.
<a href=/projects>Learn more about our projects</a>.</p><p>We also offer <a href=/services>hosted services</a> for a variety of
applications on a not-for-profit basis. And we recently created a
community-led <a href=/foundation>foundation</a> for this purpose.</p><p>We collaborate on source code on
<a href=https://github.com/67P rel=me>GitHub</a>
as well as our own
<a href=https://gitea.kosmos.org/kosmos rel=me>Gitea</a>.
For announcements and other news, you can follow us on the
<a href=https://kosmos.social/@kosmos rel=me>Fediverse</a>
or on
<a href=https://njump.me/nprofile1qythwumn8ghj7mn0wd68ytntdaek6mmn9ehhyee0qy88wumn8ghj7mn0wvhxcmmv9uqzpvlpklqw7jpff0v9vgpml4rqvfw7jhf6lwy5uhcfk9xdru88p9703as9vx rel=me>Nostr</a>.</p><p class=hidden>For status and incident updates regarding Kosmos infrastructure, please follow
<a href=https://kosmos.social/@ops rel=me>ops@kosmos.social</a>.</p></main><footer><p><a href=https://accounts.kosmos.org class="block font-bold"><span>Log in to your account</span></a></p></footer></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
shortcodes/partial.html Normal file
View File

@@ -0,0 +1 @@
{{ partial (.Get 0) }}

View File

@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
+7/QZWH35ajvGOdThw==
=mM0O
-----END PGP PUBLIC KEY BLOCK-----

BIN
static/img/network-01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

BIN
static/img/servers-01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

BIN
static/img/servers-02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

View File

@@ -1,11 +1,15 @@
module.exports = {
content: [
"./content/**/*.{html,js}",
"./content/**/*.{md,html}",
"./layouts/**/*.{html,js}",
"./themes/**/*.{html,js}"
],
theme: {
extend: {},
extend: {
fontFamily: {
sans: ['Open Sans', 'sans-serif']
}
},
},
plugins: [],
}

File diff suppressed because one or more lines are too long

View File

@@ -4,10 +4,12 @@
{{ partial "meta.html" . }}
<title>{{ block "title" . }}{{ .Title }} | {{ .Site.Title }}{{ end }}</title>
<link href='https://assets.kosmos.org/fonts/open-sans/open-sans.css' rel='stylesheet'>
<link href="/css/main.css" rel="stylesheet" />
{{ $css := resources.Get "css/main.css" | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}" />
</head>
<body>
<main>
<body class="text-center">
{{ partial "topnav" . }}
<main class="text-left">
{{- block "main" . }}{{- end }}
</main>
<footer>

View File

@@ -0,0 +1,23 @@
{{ define "main" }}
{{ if .Params.HeaderImage }}
<!-- <div class="w&#45;full h&#45;32 bg&#45;[center_bottom_23rem] bg&#45;cover" -->
<!-- style="background&#45;image: url(/img/{{ .Params.HeaderImage }})"> -->
<div class="w-full h-32 bg-[center] bg-cover"
style="background-image: url(/img/{{ .Params.HeaderImage }})">
</div>
{{ else }}
<div class="w-full h-32 bg-[url('/img/lagoon-close-02.jpg')]
bg-[center_top_30rem] bg-cover">
</div>
{{ end }}
<div class="max-w-5xl mx-auto -mt-12 py-8 px-8 text-left bg-white">
<header class="mb-8">
<h1 class="text-2xl font-bold">{{ .Title }}</h1>
{{ if .Description }}
<p class="mt-2 text-lg text-zinc-500">{{ .Description }}</p>
{{ end }}
</header>
<div class="content">
{{ .Content }}
</div>
{{ end }}

View File

@@ -1,6 +1,13 @@
{{ define "main" }}
<header>
<h2>{{ .Title }}</h1>
<div class="w-full h-32 bg-[url('/img/lagoon-close-02.jpg')]
bg-[center_top_30rem] bg-cover">
</div>
<div class="max-w-5xl mx-auto -mt-12 py-8 px-8 text-left bg-white">
<header class="mb-8">
<h1 class="text-2xl font-bold">{{ .Title }}</h1>
{{ if .Description }}
<p class="mt-2 text-lg text-zinc-500">{{ .Description }}</p>
{{ end }}
</header>
<div class="content">
{{ .Content }}

View File

@@ -1,10 +0,0 @@
{{ define "title" }}{{ .Title }} | KIF{{ end }}
{{ define "main" }}
<header>
<h2>{{ .Title }}</h1>
</header>
<div class="content">
{{ .Content }}
</div>
{{ end }}

View File

@@ -11,30 +11,29 @@
<div id="wrapper">
<header>
<h1>Kosmos</h1>
<h2>Group communication for the 21st century</h2>
<h2>Let a million servers bloom</h2>
</header>
<main>
<p>
We are an open co-operative of people, who are developing a free,
open-source, and user-centric alternative to centralized group chat
platforms, based on widely used protocols and standards.
<a href="/projects">Learn more about our projects</a>.
</p>
<p>
We also develop a system for rewarding contributors and enabling
governance based on contributions, called Kredits, which we started
using in production recently.
We also offer <a href="/services">hosted services</a> for a variety of
applications on a not-for-profit basis. And we recently created a
community-led <a href="/foundation">foundation</a> for this purpose.
</p>
<p>
You can find all relevant information and further links in our
<a href="https://wiki.kosmos.org">wiki</a>.
We collaborate on source code on
<a href="https://github.com/67P" rel="me">GitHub</a>
as well as our own
<a href="https://gitea.kosmos.org/kosmos" rel="me">Gitea</a>.
For announcements and other news, you can follow us on the
<a href="https://kosmos.social/@kosmos" rel="me">fediverse</a>
(recommended) or on
<a href="https://twitter.com/KosmosHQ" rel="me">Twitter</a>.
<a href="https://kosmos.social/@kosmos" rel="me">Fediverse</a>
or on
<a href="https://njump.me/nprofile1qythwumn8ghj7mn0wd68ytntdaek6mmn9ehhyee0qy88wumn8ghj7mn0wvhxcmmv9uqzpvlpklqw7jpff0v9vgpml4rqvfw7jhf6lwy5uhcfk9xdru88p9703as9vx" rel="me">Nostr</a>.
</p>
<p class="hidden">
For status and incident updates regarding Kosmos infrastructure, please follow
@@ -42,6 +41,11 @@
</p>
</main>
<footer>
<p>
<a href="https://accounts.kosmos.org" class="block font-bold">
<span class="">Log in to your account</span>
</a>
</p>
</footer>
</div>
</body>

View File

@@ -0,0 +1,8 @@
<ul class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-5 gap-6 mb-8">
{{ range site.Data.kif.board }}
<li>
{{ .name }}<br>
<span class="text-discreet text-sm">{{ .role }}</span>
</li>
{{ end }}
</ul>

View File

@@ -0,0 +1,19 @@
{{ range site.Data.projects }}
<h2>{{ .name }}</h2>
<p>{{ .description | markdownify }}</p>
<p class="text-discreet">
<strong>Status:</strong> {{ .status | markdownify }}
</p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
{{ range .links }}
<div>
<h3 class="mt-6">{{ .section }}</h3>
<ul class="list-disc list-inside leading-relaxed">
{{ range .items }}
<li><a href="{{ .url }}">{{ .title | markdownify }}</a></li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
{{ end }}

View File

@@ -0,0 +1,28 @@
{{ range site.Data.services.community }}
<h3>{{ .category }}</h3>
<ul class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6 mb-8">
{{ range .items }}
<li>
{{ if .coming_soon }}
<h4 class="text-lg font-bold mb-2">
{{ if .url }}
<a href="{{ .url }}" class="!text-zinc-500">{{ .name }}</a>
{{ else }}
<span class="!text-zinc-500">{{ .name }}</span>
{{ end }}
</h4>
<p class="text-zinc-500">{{ .description }}</p>
{{ else }}
<h4 class="text-lg font-bold mb-2">
{{ if .url }}
<a href="{{ .url }}" class="!text-black">{{ .name }}</a>
{{ else }}
<span class="!text-black">{{ .name }}</span>
{{ end }}
</h4>
<p>{{ .description }}</p>
{{ end }}
</li>
{{ end }}
</ul>
{{ end }}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{{ partial (.Get 0) (.Get 1) }}

View File

@@ -1,3 +1,51 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
h2 {
@apply text-lg font-bold mb-6 mt-8;
}
h3 {
@apply mb-4 text-sm uppercase text-zinc-500;
}
h3:not(:first-child) {
@apply mt-6;
}
p + p,
p + ul {
@apply mt-6;
}
/* ul { */
/* @apply list-disc list-inside leading-relaxed; */
/* } */
}
@layer components {
.text-discreet {
@apply text-zinc-500;
}
.content {
@apply pb-20;
}
.content a { @apply text-sky-600 border-b border-zinc-300; }
.content a:hover { @apply text-sky-700 border-b border-zinc-400; }
.content a:visited { @apply text-indigo-600 }
.content a:active { @apply text-sky-500; }
input#mobile-nav-is-open + div > a svg:last-of-type { @apply hidden; }
input#mobile-nav-is-open:checked + div > a svg:first-of-type { @apply hidden; }
input#mobile-nav-is-open:checked + div > a svg:last-of-type { @apply block; }
input#mobile-nav-is-open + div > div.backdrop { @apply hidden; }
input#mobile-nav-is-open:checked + div > div.backdrop { @apply block; }
input#mobile-nav-is-open + div > nav { @apply hidden; }
input#mobile-nav-is-open:checked + div > nav { @apply block }
}

View File

@@ -1,477 +0,0 @@
/*
! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
box-sizing: border-box;
/* 1 */
border-width: 0;
/* 2 */
border-style: solid;
/* 2 */
border-color: #e5e7eb;
/* 2 */
}
::before,
::after {
--tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/
html {
line-height: 1.5;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-moz-tab-size: 4;
/* 3 */
-o-tab-size: 4;
tab-size: 4;
/* 3 */
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
/* 4 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
margin: 0;
/* 1 */
line-height: inherit;
/* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
height: 0;
/* 1 */
color: inherit;
/* 2 */
border-top-width: 1px;
/* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
color: inherit;
text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
font-weight: bolder;
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* 1 */
font-size: 1em;
/* 2 */
}
/*
Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
text-indent: 0;
/* 1 */
border-color: inherit;
/* 2 */
border-collapse: collapse;
/* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-size: 100%;
/* 1 */
line-height: inherit;
/* 1 */
color: inherit;
/* 1 */
margin: 0;
/* 2 */
padding: 0;
/* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button;
/* 1 */
background-color: transparent;
/* 2 */
background-image: none;
/* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
display: block;
/* 1 */
vertical-align: middle;
/* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
max-width: 100%;
height: auto;
}
/*
Ensure the default browser behavior of the `hidden` attribute.
*/
[hidden] {
display: none;
}
*, ::before, ::after {
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
.block {
display: block;
}
.hidden {
display: none;
}

View File

@@ -57,8 +57,9 @@ header h1 {
}
header h2 {
font-weight: 300;
font-size: 1.4rem;
font-size: 1rem;
font-weight: normal;
color: #888888;
}
main {
@@ -72,6 +73,33 @@ main p {
margin-bottom: 1em;
}
footer {
height: 100%;
max-width: 90%;
margin: 7vh auto;
text-align: center;
}
footer a {
font-size: 0.9rem;
font-weight: bold;
display: inline-block;
background-color: #444;
color: white;
text-decoration: none;
padding: 0.5em 2em;
border-radius: 0.5em;
border: 3px solid white;
}
footer a:hover {
background-color: #555;
}
footer a:active {
border: 3px solid #ccc;
}
.hidden {
display: none !important;
}
@@ -82,10 +110,15 @@ main p {
}
header h1 {
font-size: 8vw;
font-size: 10vw;
margin-bottom: 1rem;
}
header h2 {
font-weight: 300;
font-size: 1rem;
}
footer {
margin-bottom: 4rem;
}
}

View File

@@ -0,0 +1 @@
<svg width="65.364" height="55.773" enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 65.364 55.773" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g id="layer1" transform="translate(28.868 20.259)" fill="#000"><path id="path2" d="m22.81-9.2546-0.0137-0.0072c-0.0445-0.0196-0.0895-0.04052-0.13335-0.06078l-23.822-10.937s2.0034 9.219 2.914 11.778c0 0-27.292-8.1582-30.623-8.9354 1.0916 4.2618 20.006 40.848 20.006 40.848 3.8225 7.7608 12.677 12.083 21.912 12.083 12.949 0 23.446-10.497 23.446-23.446 6.6e-4 -9.4655-5.609-17.62-13.685-21.323z" fill="#fff" stroke-width=".65365"/></g></svg>

After

Width:  |  Height:  |  Size: 611 B