initialize website

Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
nicole mikołajczyk
2026-03-07 18:54:40 +01:00
parent 6c10d9f5ba
commit ea295d58a4
10 changed files with 3113 additions and 2 deletions

3
packages/website/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
dist
.astro
node_modules

View File

@@ -0,0 +1,28 @@
// @ts-check
import mdx from "@astrojs/mdx";
import sitemap from "@astrojs/sitemap";
import { defineConfig } from "astro/config";
import rehypeExternalLinks from "rehype-external-links";
export default defineConfig({
site: "https://nicolium.app/",
integrations: [
mdx({
rehypePlugins: [
[
rehypeExternalLinks,
{ target: "_blank", rel: ["noopener", "noreferrer"] },
],
],
}),
sitemap(),
],
markdown: {
rehypePlugins: [
[
rehypeExternalLinks,
{ target: "_blank", rel: ["noopener", "noreferrer"] },
],
],
},
});

View File

@@ -0,0 +1,20 @@
{
"name": "website",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^4.3.13",
"@astrojs/rss": "^4.0.15",
"@astrojs/sitemap": "^3.7.0",
"@mkljczk/astro-theme": "github:mkljczk/mkljczk-astro-theme",
"astro": "^5.18.0",
"rehype-external-links": "^3.0.0",
"sharp": "^0.34.3"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0.5 0.5 10 10" style="fill: #ff3ca8;" height="1024" width="1024">
<style>
svg { fill: #d80482; }
@media (prefers-color-scheme: dark) { path { fill: #ff3ca8; } }
</style>
<g transform="rotate(56.2 5.5 5.5)">
<path d="M6 2 L7 2 L7 6 L5 6 L5 9 L4 9 L4 5 L6 5 L6 2 Z"/><path d="M8 2 L9 2 L9 3 L8 3 Z"/><path d="M8 4 L9 4 L9 6 L8 6 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 393 B

View File

@@ -0,0 +1,18 @@
---
import BaseFooter from "@mkljczk/astro-theme/components/Footer.astro";
const footerLinks = [
{
label: "Source code",
href: "https://codeberg.org/mkljczk/nicolium",
target: "_blank",
},
];
---
<BaseFooter
slot="footer"
links={footerLinks}
copyText="Nicolium"
withTransFlag
/>

View File

@@ -0,0 +1,15 @@
---
import BaseHeader from "@mkljczk/astro-theme/components/Header.astro";
const navItems = [
{ label: "Source code", href: "https://codeberg.org/mkljczk/nicolium", target: "_blank" },
];
---
<BaseHeader
siteTitle="Nicolium"
homeHref="/"
menuExpandTitle="Expand"
menuCollapseTitle="Collapse"
navItems={navItems}
/>

View File

@@ -0,0 +1,72 @@
---
import BaseHead from "@mkljczk/astro-theme/components/BaseHead.astro";
import Hero from "@mkljczk/astro-theme/components/Hero.astro";
import Section from "@mkljczk/astro-theme/components/Section.astro";
import Footer from "../components/Footer.astro";
import Header from "../components/Header.astro";
---
<!doctype html>
<html lang="pl">
<head>
<BaseHead
siteTitle="Nicolium"
description="Mastodon-compatible social media front-end"
faviconPath="favicon.svg"
/>
</head>
<body>
<Header />
<main>
<Hero
heading="Nicolium"
subheading="A feature-rich Fediverse web client for Mastodon-compatible backends"
buttonText="Try Nicolium"
buttonLink="https://web.nicolium.app"
buttonTarget="_blank"
button2Text="Source code"
button2Link="https://codeberg.org/mkljczk/nicolium"
button2Target="_blank"
/>
<section class="sections">
<div class="container">
<Section
heading="Use with your favorite Fediverse platform."
subheading="Nicolium works with any backend implementing Mastodon API."
/>
<Section
heading="Feature-rich."
subheading="Nicolium includes a lot features to improve your experience, like WYSIWYG text editor, draft posts and language detection."
/>
<Section
heading="Get the most out of your Fediverse instance."
subheading="Nicolium implements features not present in standard Mastodon API, like emoji reactions, chats or interaction policies."
/>
<Section
heading="Customizable."
subheading="Nicolium lets you choose between three themes and adjust accent color to your liking."
/>
<Section
heading="Stay private."
subheading="Nicolium includes features which help you maintain online privacy. This includes URL cleaning, which helps you remove unwanted parts of URLs used to mark your online activity."
/>
<Section
heading="Open source."
subheading="Nicolium is free and open source software. You can participate in development, contribute to the project or report bugs."
buttonText="Codeberg"
buttonLink="https://codeberg.org/mkljczk/nicolium"
buttonTarget="_blank"
button2Text="GitHub"
button2Link="https://github.com/mkljczk/nicolium"
button2Target="_blank"
/>
</div>
</section>
</main>
<Footer />
</body><style>
.sections {
padding: 2rem 0;
}
</style>
</html>

View File

@@ -0,0 +1,8 @@
{
"extends": "astro/tsconfigs/strict",
"include": [".astro/types.d.ts", "**/*"],
"exclude": ["dist"],
"compilerOptions": {
"strictNullChecks": true
}
}

2942
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff