3
packages/website/.gitignore
vendored
Normal file
3
packages/website/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
dist
|
||||
.astro
|
||||
node_modules
|
||||
28
packages/website/astro.config.mjs
Normal file
28
packages/website/astro.config.mjs
Normal 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"] },
|
||||
],
|
||||
],
|
||||
},
|
||||
});
|
||||
20
packages/website/package.json
Normal file
20
packages/website/package.json
Normal 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"
|
||||
}
|
||||
}
|
||||
BIN
packages/website/public/favicon.ico
Normal file
BIN
packages/website/public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
9
packages/website/public/favicon.svg
Normal file
9
packages/website/public/favicon.svg
Normal 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 |
18
packages/website/src/components/Footer.astro
Normal file
18
packages/website/src/components/Footer.astro
Normal 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
|
||||
/>
|
||||
15
packages/website/src/components/Header.astro
Normal file
15
packages/website/src/components/Header.astro
Normal 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}
|
||||
/>
|
||||
72
packages/website/src/pages/index.astro
Normal file
72
packages/website/src/pages/index.astro
Normal 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>
|
||||
8
packages/website/tsconfig.json
Normal file
8
packages/website/tsconfig.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"include": [".astro/types.d.ts", "**/*"],
|
||||
"exclude": ["dist"],
|
||||
"compilerOptions": {
|
||||
"strictNullChecks": true
|
||||
}
|
||||
}
|
||||
2942
pnpm-lock.yaml
generated
2942
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user