Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,18 @@ import AstroPWA from "@vite-pwa/astro";
import icon from "astro-icon";

// https://astro.build/config
export default defineConfig({
import { defineConfig } from "astro/config"

export default defineConfig({
i18n:{
defaultLocale:'en',
locales:['es','en'],
routing:{
prefixDefaultLocale:true,
}
},
Comment thread
Axuentados marked this conversation as resolved.


site: "https://www.axos-project.com",
vite: {
define: {
Expand Down
4 changes: 2 additions & 2 deletions public/admin/config.yml

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull the project before publishing a PR

Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ local_backend: true
logo_url: /logo.svg

backend:
name: "github"
repo: axos-project/axos-project.github.io
name: "gitlab"
repo: axos-project/axos-project.gitlab.io
branch: main
base_url: https://www.axos-project.com
automatic_deployments: true
Expand Down
Binary file added public/images/sleex.mp4
Binary file not shown.
14 changes: 12 additions & 2 deletions src/components/blog/pagination.astro
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
---


import {getRelativeLocaleUrl} from "astro:i18n"; //to get the language url and back with that same url
Comment thread
Axuentados marked this conversation as resolved.
const currentLang= Astro.currentLocale || 'es' ;
Comment thread
Axuentados marked this conversation as resolved.
import {langagelist} from "i18n/ui";
import {useTranslations} from "i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist); //for text translation
Comment thread
Axuentados marked this conversation as resolved.



import Link from "@components/ui/link.astro";
import { Icon } from "astro-icon/components";

Expand All @@ -13,8 +23,8 @@ export interface Props {
const {
prevUrl,
nextUrl,
prevText = "blog.prev",
nextText = "blog.next",
prevText = translateLabels("blg.prv"), //Previous text showed 'previous.next' to the user, but now it correctly displays "next/previos or siguiente/anterior if it's on the Spanish verison"
Comment thread
Axuentados marked this conversation as resolved.
nextText = translateLabels("blg.nxt"),
class: className,
} = Astro.props;
---
Expand Down
19 changes: 12 additions & 7 deletions src/components/dlhero.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import Link from "@components/ui/link.astro";

import {getRelativeLocaleUrl} from "astro:i18n";
const currentLang= Astro.currentLocale || 'en' ; //all commands to replace the literals (text)
import {langagelist} from "i18n/ui";
import {useTranslations} from "i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist);
Comment thread
Axuentados marked this conversation as resolved.
---

<div class="relative isolate pt-14 dark:bg-stone-950">
Expand Down Expand Up @@ -31,18 +36,18 @@ import Link from "@components/ui/link.astro";
<div class="sm:pt-10 ">
<div class="mx-auto max-w-7xl">
<div class="mx-auto max-w-2xl text-center">
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl">Are you ready ?</h1>
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl">{translateLabels("dwn.title")}</h1>
<h3 class="text-2xl font-bold mt-6 text-lg leading-8 text-gray-900 dark:text-gray-100">
To install AxOS, just select the image you need, right below!
{translateLabels("dwn.mid")}
</h3>

<div class="border-b-2 mt-6 p-10">
<p class="mt-6 text-lg leading-8 text-gray-900 dark:text-gray-100 pb-10">
Before you start, you could maybe make a donation to help us keep the project alive, and to help us improve it ♥️<br>
{translateLabels("dwn.bf")} ♥️<br>
</p>
<p class="mb-6">
<Link href="https://www.paypal.com/donate/?hosted_button_id=HHPCNL6F7VSFY">
Click here to donate via PayPal
{translateLabels("dwn.pypl")}
</Link>
</p>
</div>
Expand All @@ -53,8 +58,8 @@ import Link from "@components/ui/link.astro";
<div class="text-center">
<h4 class="text-xl font-semibold mb-4 dark:text-white">AxOS 25.08</h4>
<div class="space-y-2">
<Link href="https://dl.axos-project.com/AxOS-25.08-1-x86_64.iso" class="block">Download here</Link>
<Link href="https://github.com/AxOS-project/AxOS/releases/latest" class="block">Release notes</Link>
<Link href="https://dl.axos-project.com/AxOS-25.08-1-x86_64.iso" class="block">{translateLabels("dwn.dwnbtn")}</Link>
<Link href="https://gitlab.com/AxOS-project/AxOS/-/releases/latest" class="block">{translateLabels("dwn.rlsn")}</Link>
<div class="flex justify-center mt-2">
<div class="flex items-center space-x-2">
<a id="sha-text" class="text-sm font-mono text-gray-600 dark:text-gray-300 cursor-text select-all">
Expand All @@ -64,7 +69,7 @@ import Link from "@components/ui/link.astro";
onclick="navigator.clipboard.writeText('334c1b987a33e413c1675f1242f8d38ce83d3f63c19eb13bcbad5329330df197')"
class="text-xs px-2 py-1 border rounded hover:bg-gray-200 dark:hover:bg-gray-700 transition text-gray-600 dark:text-gray-300"
>
Copy
{translateLabels("dwn.copy")}
</button>
</div>
</div>
Expand Down
37 changes: 23 additions & 14 deletions src/components/features.astro
Original file line number Diff line number Diff line change
@@ -1,37 +1,46 @@
---
import Link from "@components/ui/link.astro";
// @ts-ignore
// @ts-ignore //<----I didn't place this ts ignore here, not sure what it does.
Comment thread
Axuentados marked this conversation as resolved.
import { Icon } from "astro-icon/components";

const features = [


import {getRelativeLocaleUrl} from "astro:i18n";
const currentLang= Astro.currentLocale || 'en' ;
import {langagelist} from "i18n/ui";
import {useTranslations} from "i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist);
Comment thread
Axuentados marked this conversation as resolved.


const features = [ //all titles and description are replaced by this method, it checks the url, and it loads the labels needed for each language.
{
title: "Beautiful",
description: "One of the priorities of AxOS is beauty and modernity.",
title: translateLabels("features.B"),
description: translateLabels("features.Beautiful"),
icon: "bx:bxs-palette",
},
{
title: "Powerful",
description: "AxOS has a minimal desktop environment to focus on power and lightness.",
title: translateLabels("features.PWFL"),
description: translateLabels("features.power"),
icon: "bx:bxs-bolt",
},
{
title: "Private",
description: "Absolutely no data is shared with the AxOS maintainers or any third parties.",
title: translateLabels("features.PR"),
description: translateLabels("features.private"),
icon: "bx:bxs-shield",
},
{
title: "Complete",
description: "AxOS's package manager, Epsilon, can find any packages in the AUR and the official Arch Linux repositories.",
title: translateLabels("features.C"),
description: translateLabels("features.Complete"),
icon: "bx:bxs-file-find",
},
{
title: "Independent",
description: "AxOS is an independent project; there is no organization behind it.",
title: translateLabels("features.I"),
description: translateLabels("features.Independent"),
icon: "bx:bxs-user",
},
{
title: "Fully Customizable",
description: "Every aspect of the system can be customized, from the appearance to the system itself.",
title: translateLabels("features.Cstm"),
description: translateLabels("features.Custom"),
icon: "bx:bxs-user",
},
];
Expand Down
57 changes: 37 additions & 20 deletions src/components/footer.astro
Original file line number Diff line number Diff line change
@@ -1,46 +1,63 @@
---
import {getRelativeLocaleUrl} from "astro:i18n";
const currentLang= Astro.currentLocale || 'es' ;
import {langagelist} from "../i18n/ui";
import {useTranslations} from "../i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist);



import { Image } from "astro:assets";
import { menuitems } from "@components/navbar/navbar.astro";
//import { menuitems } from "@components/navbar/navbar.astro"; useless now.
import ThemeSelector from "@components/themeselector.astro";
import logo from "assets/logo.svg";
---

<footer class="pb-12 pt-28 dark:bg-stone-950">
<div class="mx-auto max-w-6xl px-6 md:px-12 lg:px-6 xl:px-0">
<a href="/" aria-label="logo" class="group flex items-center justify-center space-x-2">
<a href={getRelativeLocaleUrl(currentLang, "/")} aria-label="logo" class="group flex items-center justify-center space-x-2">
<Image class="inline-block" src={logo} alt="AxOS" width={30} height={30} />
<span class="text-semibold duration-300 text-gray-400 group-hover:text-gray-900 dark:text-white dark:group-hover:text-gray-100">
AxOS
</span>
</a>
<ul role="list" class="flex flex-wrap items-center justify-center gap-4 py-4 text-gray-600 dark:text-white sm:gap-8">
<li role="listitem">
<a href="/" class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">Home</a>
<a href={getRelativeLocaleUrl(currentLang, "/")} class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">{translateLabels("footer.h")}</a>
</li>

<li role="listitem">
<a href={getRelativeLocaleUrl(currentLang, "/legal")} class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
{translateLabels("hero.docs")}
</a>
</li>
{
menuitems.map(
(item) =>
item &&
item.path && (
<li role="listitem">
<a href={item.path} class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
{item.title}
</a>
</li>
)
)
}
<li role="listitem">
<a href={"/legal"} class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
{"Legal"}
<a href="/en/blog" class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
Blog
</a>
</li>

</li>
<li role="listitem">
<a href="https://discord.gg/xQdtDBFmsy" class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
Discord
</a>
</li>
<li role="listitem">
<a href="https://github.com/AxOS-project/" class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
Github
</a>
<li role="listitem">
<a href={getRelativeLocaleUrl(currentLang, "/legal")} class="duration-300 hover:text-gray-900 dark:hover:text-gray-100">
{translateLabels("footer.l")}
</a>
</li>
</ul>
Comment on lines 24 to 55

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like there is a cleaner way to do that

<div class="flex justify-center mt-12 gap-3">
<ThemeSelector />
<ThemeSelector/>
</div>
<div class="mt-4 text-center">
<span class="text-sm tracking-wide text-gray-500 dark:text-white">Copyright © 2025 AxOS. All rights reserved</span>
<span class="text-sm tracking-wide text-gray-500 dark:text-white">{translateLabels("footer.copyright")}</span>
</div>
</div>
</footer>
17 changes: 13 additions & 4 deletions src/components/hero.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ import Link from "@components/ui/link.astro";
import Sleex from "assets/sleex.png";
import Carousel from "./carousel.astro";


import {getRelativeLocaleUrl} from "astro:i18n";
const currentLang= Astro.currentLocale || 'es' ;
import {langagelist} from "i18n/ui";
import {useTranslations} from "i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist);



---

<div class="relative isolate pt-14 dark:bg-stone-950">
Expand Down Expand Up @@ -33,13 +42,13 @@ import Carousel from "./carousel.astro";
<div class="sm:pt-10">
<div class="mx-auto max-w-7xl">
<div class="mx-auto max-w-2xl text-center">
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl">Welcome to AxOS</h1>
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl" style="Line-height:1.2em">{translateLabels("hero.welcome")}</h1>
<p class="mt-6 text-lg leading-8 text-gray-900 dark:text-gray-100">
The Linux experience, enhanced!
{translateLabels("hero.experience")}
</p>
<div class="mt-10 flex items-center justify-center gap-x-2 md:gap-x-6">
<Link href="/download">Download</Link>
<Link href="https://docs.axos-project.com" style="muted">Docs<span aria-hidden="true" class="pl-1 text-black dark:text-white">→</span></Link>
<Link href={getRelativeLocaleUrl(currentLang, '/download')}>{translateLabels("hero.downloadbtn")}</Link>
<Link href="https://docs.axos-project.com" style="muted">{translateLabels("hero.docs")}<span aria-hidden="true" class="pl-1 text-black dark:text-white">→</span></Link>
</div>
</div>
<div class="flex justify-center items-center mt-4 md:mt-8">
Expand Down
21 changes: 13 additions & 8 deletions src/components/legalhero.astro
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
---

import Link from "@components/ui/link.astro";
import Layout from "../layouts/Layout.astro";

import {getRelativeLocaleUrl} from "astro:i18n";
const currentLang= Astro.currentLocale || 'en' ;
import {langagelist} from "i18n/ui";
import {useTranslations} from "i18n/util";
const translateLabels = useTranslations(currentLang as keyof typeof langagelist);

---

Expand Down Expand Up @@ -31,22 +38,20 @@ import Link from "@components/ui/link.astro";
<div class="sm:pt-10 ">
<div class="mx-auto max-w-7xl">
<div class="mx-auto max-w-2xl text-center">
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl">Legal</h1>
<h1 class="text-4xl font-bold tracking-tight text-black dark:text-white sm:text-6xl">{translateLabels("legal.title")}</h1>
<h3 class="text-2xl font-bold mt-6 text-lg leading-8 text-gray-900 dark:text-gray-100">
Here you can find all the legal information regarding AxOS, including our licence, legal mentions, and more.
{translateLabels("legal.sub")}
</h3>

<div class="border border-gray-300 p-6 rounded mt-6">
<p class="mt-6 text-s leading-8 text-gray-900 dark:text-gray-100 pb-10">
AxOS is a free and open-source operating system, based on Arch Linux. It is distributed under the GNU General Public License v3.0 (GPL-3.0), which allows you to use, modify, and distribute the software freely, as long as you comply with the terms of the license.
</p>
<Link href="/licence" class="block">See the full GPL licence</Link>
{translateLabels("legal.bx1")} </p>
<Link href={getRelativeLocaleUrl(currentLang, "/licence")} class="block">{translateLabels("legal.btn1")} </Link>
Comment thread
Axuentados marked this conversation as resolved.
</div>
<div class="border border-gray-300 p-6 rounded mt-6">
<p class="mt-6 text-s leading-8 text-gray-900 dark:text-gray-100 pb-10">
The AxOS project is maintained by a group of volunteers, and we are not affiliated with any company or organization. We do not collect any personal data from our users, and we do not share any data with third parties.
</p>
<Link href="/mentions" class="block">See the full legal notice</Link>
{translateLabels("legal.bx2")} </p>
<Link href={getRelativeLocaleUrl(currentLang, "/mentions")} class="block">{translateLabels("legal.btn2")} </Link>
</div>
</div>
</div>
Expand Down
Loading