diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 344c456..aee11dc 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -2,30 +2,20 @@ import {themes as prismThemes} from 'prism-react-renderer'; import type {Config} from '@docusaurus/types'; import type * as Preset from '@docusaurus/preset-classic'; -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - const config: Config = { - title: 'My Site', - tagline: 'Dinosaurs are cool', + title: 'Libre Wedding Planner', + tagline: 'Free and open-source wedding planning software to organize your wedding', favicon: 'img/favicon.ico', - // Set the production url of your site here - url: 'https://your-docusaurus-site.example.com', - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' + url: 'https://libreweddingplanner.org', baseUrl: '/', - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: 'facebook', // Usually your GitHub org/user name. - projectName: 'docusaurus', // Usually your repo name. + organizationName: 'bustikiller', + projectName: 'wedding-planner-website', onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', - // Even if you don't use internationalization, you can use this field to set - // useful metadata like html lang. For example, if your site is Chinese, you - // may want to replace "en" with "zh-Hans". i18n: { defaultLocale: 'en', locales: ['en'], @@ -37,10 +27,8 @@ const config: Config = { { docs: { sidebarPath: './sidebars.ts', - // Please change this to your repo. - // Remove this to remove the "edit this page" links. editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', + 'https://gitea.bustikiller.com/bustikiller/wedding-planner-website/', }, blog: { showReadingTime: true, @@ -48,11 +36,8 @@ const config: Config = { type: ['rss', 'atom'], xslt: true, }, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', - // Useful options to enforce blogging best practices + 'https://gitea.bustikiller.com/bustikiller/wedding-planner-website/', onInlineTags: 'warn', onInlineAuthors: 'warn', onUntruncatedBlogPosts: 'warn', @@ -65,13 +50,12 @@ const config: Config = { ], themeConfig: { - // Replace with your project's social card image: 'img/docusaurus-social-card.jpg', navbar: { - title: 'My Site', + title: 'Libre Wedding Planner', logo: { - alt: 'My Site Logo', - src: 'img/logo.svg', + alt: 'Libre Wedding Planner Logo', + src: 'img/logo.png', }, items: [ { @@ -81,11 +65,6 @@ const config: Config = { label: 'Tutorial', }, {to: '/blog', label: 'Blog', position: 'left'}, - { - href: 'https://github.com/facebook/docusaurus', - label: 'GitHub', - position: 'right', - }, ], }, footer: { @@ -101,19 +80,19 @@ const config: Config = { ], }, { - title: 'Community', + title: 'Source code', items: [ { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/docusaurus', + label: 'Backend', + href: 'https://gitea.bustikiller.com/bustikiller/wedding-planner/', }, { - label: 'Discord', - href: 'https://discordapp.com/invite/docusaurus', + label: 'Frontend', + href: 'https://gitea.bustikiller.com/bustikiller/wedding-planner-frontend/', }, { - label: 'X', - href: 'https://x.com/docusaurus', + label: 'Website', + href: 'https://gitea.bustikiller.com/bustikiller/wedding-planner-website/', }, ], }, @@ -123,15 +102,11 @@ const config: Config = { { label: 'Blog', to: '/blog', - }, - { - label: 'GitHub', - href: 'https://github.com/facebook/docusaurus', - }, + } ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + copyright: `Copyright © ${new Date().getFullYear()} Manuel Bustillo. Built with Docusaurus.`, }, prism: { theme: prismThemes.github, diff --git a/src/components/HomepageFeatures/index.tsx b/src/components/HomepageFeatures/index.tsx index 50a9e6f..69fe978 100644 --- a/src/components/HomepageFeatures/index.tsx +++ b/src/components/HomepageFeatures/index.tsx @@ -2,50 +2,53 @@ import clsx from 'clsx'; import Heading from '@theme/Heading'; import styles from './styles.module.css'; +import guestsFeatureImage from '@site/static/img/guests.png'; +import expensesFeatureImage from '@site/static/img/expenses.png'; +import seatingFeatureImage from '@site/static/img/tables.png'; +import openSourceFeatureImage from '@site/static/img/gift.png'; + type FeatureItem = { title: string; - Svg: React.ComponentType>; + imagePath: string; description: JSX.Element; }; const FeatureList: FeatureItem[] = [ + { - title: 'Easy to Use', - Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, + title: 'Guests management', + imagePath: guestsFeatureImage, description: ( <> - Docusaurus was designed from the ground up to be easily installed and - used to get your website up and running quickly. + Manage your guests' list, their RSVP status, as well as their dietary preferences and transportation needs. ), }, { - title: 'Focus on What Matters', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, + title: 'Expenses control', + imagePath: expensesFeatureImage, description: ( <> - Docusaurus lets you focus on your docs, and we'll do the chores. Go - ahead and move your docs into the docs directory. + Configure your fixed and per-guest expenses, keeping control of the maximum and projected cost of the wedding (based on your guests' RSVP). ), }, { - title: 'Powered by React', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, + title: 'Seating plan', + imagePath: seatingFeatureImage, description: ( <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. + Organize your guests into groups and subgroups, and let advanced algorithms suggest different seating arrangements based on the affinity between groups. ), }, ]; -function Feature({title, Svg, description}: FeatureItem) { +function Feature({ title, imagePath, description }: FeatureItem) { return ( -
+
- + {title}
{title} @@ -57,14 +60,36 @@ function Feature({title, Svg, description}: FeatureItem) { export default function HomepageFeatures(): JSX.Element { return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} + <> +

Features

+
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
-
-
+ +

Free & Open Source Software

+
+

+ This project was created to help individuals organize their own wedding, without the need to rely on proprietary software or services. + We firmly believe that the data related to your wedding should be owned by you, and not by a third party. For that reason, our + recommendation is that you host your own instance of Libre Wedding Planner, either at home, on your own server or on a cloud provider + of your choice. +

+

+ However, we are well aware that most users don't have the technical skills or resources to host their own instance. For that reason, + we are working on a hosted version of Libre Wedding Planner you will be able to use as a service for an affordable fee. Still, we encourage you to + not use this service if you can host your own instance. We don't care, and don't need to know how much you're going to spend, + or who your guests are. +

+

+ Libre Wedding Planner is free (as in freedom), open source software, licensed under the AGPLv3. You are free to download the source code, use it, + modify it, and distribute it according to the license terms. Please, find links to the source code in the footer of this page. +

+
+ ); } diff --git a/src/components/HomepageFeatures/styles.module.css b/src/components/HomepageFeatures/styles.module.css index b248eb2..91787bc 100644 --- a/src/components/HomepageFeatures/styles.module.css +++ b/src/components/HomepageFeatures/styles.module.css @@ -1,6 +1,6 @@ .features { display: flex; - align-items: center; + justify-content: space-around; padding: 2rem 0; width: 100%; } @@ -9,3 +9,15 @@ height: 200px; width: 200px; } + +h2 { + text-align: center; + padding: 2rem; + font-size: 2rem; +} + +.project { + padding: 2rem 0; + width: 60%; + margin: auto; +} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 400a3e1..783095e 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,5 +1,4 @@ import clsx from 'clsx'; -import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import Layout from '@theme/Layout'; import HomepageFeatures from '@site/src/components/HomepageFeatures'; @@ -16,13 +15,6 @@ function HomepageHeader() { {siteConfig.title}

{siteConfig.tagline}

-
- - Docusaurus Tutorial - 5min ⏱️ - -
); @@ -32,8 +24,8 @@ export default function Home(): JSX.Element { const {siteConfig} = useDocusaurusContext(); return ( + title={siteConfig.title} + description="Free and Open Soruce software to assist the organization of weddings">
diff --git a/static/img/expenses.png b/static/img/expenses.png new file mode 100644 index 0000000..0366447 Binary files /dev/null and b/static/img/expenses.png differ diff --git a/static/img/favicon.ico b/static/img/favicon.ico index c01d54b..7e8d422 100644 Binary files a/static/img/favicon.ico and b/static/img/favicon.ico differ diff --git a/static/img/gift.png b/static/img/gift.png new file mode 100644 index 0000000..72a81e9 Binary files /dev/null and b/static/img/gift.png differ diff --git a/static/img/guests.png b/static/img/guests.png new file mode 100644 index 0000000..a063a93 Binary files /dev/null and b/static/img/guests.png differ diff --git a/static/img/logo.png b/static/img/logo.png new file mode 100644 index 0000000..a7a19cc Binary files /dev/null and b/static/img/logo.png differ diff --git a/static/img/tables.png b/static/img/tables.png new file mode 100644 index 0000000..617449b Binary files /dev/null and b/static/img/tables.png differ diff --git a/static/img/undraw_docusaurus_mountain.svg b/static/img/undraw_docusaurus_mountain.svg deleted file mode 100644 index af961c4..0000000 --- a/static/img/undraw_docusaurus_mountain.svg +++ /dev/null @@ -1,171 +0,0 @@ - - Easy to Use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/undraw_docusaurus_react.svg b/static/img/undraw_docusaurus_react.svg deleted file mode 100644 index 94b5cf0..0000000 --- a/static/img/undraw_docusaurus_react.svg +++ /dev/null @@ -1,170 +0,0 @@ - - Powered by React - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/static/img/undraw_docusaurus_tree.svg b/static/img/undraw_docusaurus_tree.svg deleted file mode 100644 index d9161d3..0000000 --- a/static/img/undraw_docusaurus_tree.svg +++ /dev/null @@ -1,40 +0,0 @@ - - Focus on What Matters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -