diff --git a/astro.config.mjs b/astro.config.mjs index a0de02a..30f36e8 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -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, + } + }, + + site: "https://www.axos-project.com", vite: { define: { diff --git a/public/admin/config.yml b/public/admin/config.yml index e23734a..2ca92c6 100644 --- a/public/admin/config.yml +++ b/public/admin/config.yml @@ -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 diff --git a/public/images/sleex.mp4 b/public/images/sleex.mp4 new file mode 100644 index 0000000..30d8de6 Binary files /dev/null and b/public/images/sleex.mp4 differ diff --git a/src/components/blog/pagination.astro b/src/components/blog/pagination.astro index ee9220f..c18c932 100644 --- a/src/components/blog/pagination.astro +++ b/src/components/blog/pagination.astro @@ -1,4 +1,14 @@ --- + + +import {getRelativeLocaleUrl} from "astro:i18n"; //to get the language url and back with that same url +const currentLang= Astro.currentLocale || 'es' ; +import {langagelist} from "i18n/ui"; +import {useTranslations} from "i18n/util"; +const translateLabels = useTranslations(currentLang as keyof typeof langagelist); //for text translation + + + import Link from "@components/ui/link.astro"; import { Icon } from "astro-icon/components"; @@ -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" + nextText = translateLabels("blg.nxt"), class: className, } = Astro.props; --- diff --git a/src/components/dlhero.astro b/src/components/dlhero.astro index a3efa9c..483b3f5 100644 --- a/src/components/dlhero.astro +++ b/src/components/dlhero.astro @@ -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); ---
@@ -31,18 +36,18 @@ import Link from "@components/ui/link.astro";
-

Are you ready ?

+

{translateLabels("dwn.title")}

- To install AxOS, just select the image you need, right below! + {translateLabels("dwn.mid")}

- Before you start, you could maybe make a donation to help us keep the project alive, and to help us improve it ♥️
+ {translateLabels("dwn.bf")} ♥️

- Click here to donate via PayPal + {translateLabels("dwn.pypl")}

@@ -53,8 +58,8 @@ import Link from "@components/ui/link.astro";

AxOS 25.08

- Download here - Release notes + {translateLabels("dwn.dwnbtn")} + {translateLabels("dwn.rlsn")} diff --git a/src/components/features.astro b/src/components/features.astro index 899c862..7d27799 100644 --- a/src/components/features.astro +++ b/src/components/features.astro @@ -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. 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); + + +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", }, ]; diff --git a/src/components/footer.astro b/src/components/footer.astro index ee5927f..1734c94 100644 --- a/src/components/footer.astro +++ b/src/components/footer.astro @@ -1,13 +1,21 @@ --- +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"; --- diff --git a/src/components/hero.astro b/src/components/hero.astro index 23c7440..dfbcb52 100644 --- a/src/components/hero.astro +++ b/src/components/hero.astro @@ -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); + + + ---
@@ -33,13 +42,13 @@ import Carousel from "./carousel.astro";
-

Welcome to AxOS

+

{translateLabels("hero.welcome")}

- The Linux experience, enhanced! + {translateLabels("hero.experience")}

- Download - Docs + {translateLabels("hero.downloadbtn")} + {translateLabels("hero.docs")}
diff --git a/src/components/legalhero.astro b/src/components/legalhero.astro index 95b4583..7bd92b2 100644 --- a/src/components/legalhero.astro +++ b/src/components/legalhero.astro @@ -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); --- @@ -31,22 +38,20 @@ import Link from "@components/ui/link.astro";
-

Legal

+

{translateLabels("legal.title")}

- Here you can find all the legal information regarding AxOS, including our licence, legal mentions, and more. + {translateLabels("legal.sub")}

- 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. -

- See the full GPL licence + {translateLabels("legal.bx1")}

+ {translateLabels("legal.btn1")}

- 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. -

- See the full legal notice + {translateLabels("legal.bx2")}

+ {translateLabels("legal.btn2")}
diff --git a/src/components/navbar/navbar.astro b/src/components/navbar/navbar.astro index e54c916..060fbe9 100644 --- a/src/components/navbar/navbar.astro +++ b/src/components/navbar/navbar.astro @@ -1,32 +1,44 @@ --- + import Button from "@components/ui/button.astro"; import Link from "@components/ui/link.astro"; import { Icon } from "astro-icon/components"; + +import {getRelativeLocaleUrl} from "astro:i18n"; //to get the language url and back with that same url +const currentLang= Astro.currentLocale || 'es' ; +import {langagelist} from "i18n/ui"; +import {useTranslations} from "i18n/util"; +const translateLabels = useTranslations(currentLang as keyof typeof langagelist); //for text translation + interface MenuItem { title: string; path: string; children?: MenuItem[]; } -export const menuitems: MenuItem[] = [ - { - title: "Docs", - path: "https://docs.axos-project.com", - }, - { - title: "Blog", - path: "/blog", - }, - { - title: "Discord", - path: "https://discord.gg/xQdtDBFmsy", - }, - { - title: 'Github', - path: 'https://github.com/AxOS-project/' - } -]; +// export const menuitems: MenuItem[] = [ +// { +// title: "Docs", +// path: "/docs", +// }, +// { +// title: "Blog", +// path: "/en/blog", + +// }, +// { +// title: "Discord", +// path: "https://discord.gg/xQdtDBFmsy", +// }, +// { +// title: 'Github', +// path: 'http://git.axos-project.com/' +// }, + + + +// ]; ---
AxOS @@ -50,8 +62,11 @@ export const menuitems: MenuItem[] = [ x-transition:leave-start="opacity-100 transform scale-100" x-transition:leave-end="opacity-0 transform scale-90" class="md:mt-0 lg:pl-8 md:items-center flex-grow pb-4 md:pb-0 flex-col gap-2 transition-all ease-out md:transition-none md:justify-center md:flex-row hidden"> -
- { + + +
+ + + {translateLabels("hero.docs")} + + + + Blogs + + + + Discord + + + Github + + + +
+ + + + Español + + + English + +
- - Download AxOS + + {translateLabels("navbar.downloadbtn")}
diff --git a/src/components/themeselector.astro b/src/components/themeselector.astro index 7b9faa1..490765a 100644 --- a/src/components/themeselector.astro +++ b/src/components/themeselector.astro @@ -1,5 +1,10 @@ --- import { Icon } from "astro-icon/components"; +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); ---
- - - + + +
diff --git a/src/components/ui/link.astro b/src/components/ui/link.astro index 3231716..6feb814 100644 --- a/src/components/ui/link.astro +++ b/src/components/ui/link.astro @@ -1,5 +1,6 @@ --- + interface Props { href: string; size?: "xs" | "sm" | "md" | "lg"; @@ -37,7 +38,7 @@ const styles = { ---
- + diff --git a/src/pages/404.astro b/src/pages/404.astro index 56548ea..5ab04b5 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -1,9 +1,14 @@ --- import Layout from "@layouts/Layout.astro"; +import {getRelativeLocaleUrl} from "astro:i18n"; //to get the language url and back with that same url +const currentLang= Astro.currentLocale || 'es' ; +import {langagelist} from "../i18n/ui"; +import {useTranslations} from "../i18n/util"; +const translateLabels = useTranslations(currentLang as keyof typeof langagelist); //for text translation --- - +
diff --git a/src/pages/docs.astro b/src/pages/docs.astro index ac0b96c..3d87ed3 100644 --- a/src/pages/docs.astro +++ b/src/pages/docs.astro @@ -2,7 +2,7 @@ import Container from "@components/container.astro"; import Layout from "@layouts/Layout.astro"; --- - +
diff --git a/src/pages/blog/[...page].astro b/src/pages/en/blog/[...page].astro similarity index 100% rename from src/pages/blog/[...page].astro rename to src/pages/en/blog/[...page].astro diff --git a/src/pages/blog/[slug].astro b/src/pages/en/blog/[slug].astro similarity index 100% rename from src/pages/blog/[slug].astro rename to src/pages/en/blog/[slug].astro diff --git a/src/pages/blog/category/[category].astro b/src/pages/en/blog/category/[category].astro similarity index 95% rename from src/pages/blog/category/[category].astro rename to src/pages/en/blog/category/[category].astro index c27c866..b23d689 100644 --- a/src/pages/blog/category/[category].astro +++ b/src/pages/en/blog/category/[category].astro @@ -6,7 +6,7 @@ import Container from "@components/container.astro"; import Sectionhead from "@components/sectionhead.astro"; import Layout from "@layouts/Layout.astro"; -export async function getStaticPaths() { +export async function getStaticPaths({paginate}) { const posts = await getCollection("blog", ({ data }) => { return !data.draft && data.publishDate < new Date(); }); diff --git a/src/pages/blog/tag/[tag].astro b/src/pages/en/blog/tag/[tag].astro similarity index 100% rename from src/pages/blog/tag/[tag].astro rename to src/pages/en/blog/tag/[tag].astro diff --git a/src/pages/en/docs.astro b/src/pages/en/docs.astro new file mode 100644 index 0000000..ac0b96c --- /dev/null +++ b/src/pages/en/docs.astro @@ -0,0 +1,53 @@ +--- +import Container from "@components/container.astro"; +import Layout from "@layouts/Layout.astro"; +--- + + +
+
+ + + + + + + + + + +
+ + +
+

Docs have been moved

+

+ The documentation have been moved to https://docs.axos-project.com. +

+

+ Please update your bookmarks and links to point to the new location. +

+
+
+
+ + +
\ No newline at end of file diff --git a/src/pages/en/download.astro b/src/pages/en/download.astro new file mode 100644 index 0000000..6648109 --- /dev/null +++ b/src/pages/en/download.astro @@ -0,0 +1,11 @@ +--- +import Container from "../../components/container.astro"; +import Layout from "../../layouts/Layout.astro"; +import Dlhero from "../../components/dlhero.astro"; +--- + + + + + + diff --git a/src/pages/en/index.astro b/src/pages/en/index.astro new file mode 100644 index 0000000..d0e2502 --- /dev/null +++ b/src/pages/en/index.astro @@ -0,0 +1,14 @@ +--- +import Container from "../../components/container.astro"; +import Features from "../../components/features.astro"; +import Hero from "../../components/hero.astro"; +import Layout from "../../layouts/Layout.astro"; + +--- + + + + + + + diff --git a/src/pages/legal.astro b/src/pages/en/legal.astro similarity index 100% rename from src/pages/legal.astro rename to src/pages/en/legal.astro diff --git a/src/pages/licence.astro b/src/pages/en/licence.astro similarity index 89% rename from src/pages/licence.astro rename to src/pages/en/licence.astro index 7aa5988..de9c448 100644 --- a/src/pages/licence.astro +++ b/src/pages/en/licence.astro @@ -1,7 +1,7 @@ --- import Container from "@components/container.astro"; import Layout from "@layouts/Layout.astro"; -import GPL from "../components/gpl.md"; +import GPL from "../../components/gpl.md"; --- diff --git a/src/pages/mentions.astro b/src/pages/en/mentions.astro similarity index 73% rename from src/pages/mentions.astro rename to src/pages/en/mentions.astro index ee3eb10..56d68cd 100644 --- a/src/pages/mentions.astro +++ b/src/pages/en/mentions.astro @@ -1,6 +1,13 @@ --- import Container from "@components/container.astro"; import Layout from "@layouts/Layout.astro"; + +import {getRelativeLocaleUrl, getRelativeLocaleUrlList} 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); + --- @@ -18,9 +25,9 @@ import Layout from "@layouts/Layout.astro";

Hosting

This site is hosted by: -
Github Pages - GitHub, Inc., 88 Colin P Kelly Jr St, San Francisco, CA 94107, USA -
https://pages.github.com. +
Gitlab Pages + Gitlab, Inc., 268 Bush Street #350 San Francisco, CA 94104-3503, USA. +
https://docs.gitlab.com/user/project/pages/.
The large files storage is provided by a VPS from the service datalix.io.

@@ -28,8 +35,8 @@ import Layout from "@layouts/Layout.astro";

Intellectual Property

Unless otherwise stated, all content (texts, images, source code) on the - AxOS website or github repositories is distributed under the free software - license GNU General Public License v3. + AxOS website or gitlab repositories is distributed under the free software + license GNU General Public License v3.

Disclaimer

diff --git a/src/pages/en/rss.xml.js b/src/pages/en/rss.xml.js new file mode 100644 index 0000000..21941d4 --- /dev/null +++ b/src/pages/en/rss.xml.js @@ -0,0 +1,17 @@ +import { getCollection } from "astro:content"; +import rss from "@astrojs/rss"; + +export async function GET(context) { + const posts = await getCollection("blog"); + return rss({ + title: "AxOS", + description: "AxOS - The Linux experience, enhanced.", + site: context.site, + items: posts.map((post) => ({ + link: `/blog/${post.slug}`, + title: post.data.title, + description: post.data.snippet, + pubDate: post.data.publishDate, + })), + }); +}; diff --git a/src/pages/es/blog/[...page].astro b/src/pages/es/blog/[...page].astro new file mode 100644 index 0000000..7ff36e1 --- /dev/null +++ b/src/pages/es/blog/[...page].astro @@ -0,0 +1,46 @@ +--- +import { getCollection } from "astro:content"; +import Pagination from "@components/blog/pagination.astro"; +import Posts from "@components/blog/posts.astro"; +import Container from "@components/container.astro"; +import Sectionhead from "@components/sectionhead.astro"; +import Layout from "@layouts/Layout.astro"; + + +export async function getStaticPaths({ paginate }) { + const posts = await getCollection("blog", ({ data }) => { + return !data.draft; + }); + + posts.sort( + (a, b) => b.data.publishDate.valueOf() - a.data.publishDate.valueOf(), + ); + + return paginate(posts, { + pageSize: 4, + }); +} + +import type { CollectionEntry } from "astro:content"; + +interface PageProps { + data: CollectionEntry<"blog">[]; + url: { + prev: string; + next: string; + }; +} + +const { page } = Astro.props as { page: PageProps }; +--- + + + + + Blogs + Some blogs can be useful sometimes! + + + + + diff --git a/src/pages/es/blog/[slug].astro b/src/pages/es/blog/[slug].astro new file mode 100644 index 0000000..58eadb8 --- /dev/null +++ b/src/pages/es/blog/[slug].astro @@ -0,0 +1,105 @@ +--- +import { getCollection } from "astro:content"; +import type { CollectionEntry } from 'astro:content'; +import Container from "@components/container.astro"; +import Layout from "@layouts/Layout.astro"; +import { getArticleReadingTime } from "@utils/blog"; +import { Icon } from "astro-icon/components"; + + +export async function getStaticPaths() { + const blogEntries = await getCollection("blog"); + return blogEntries.map((post) => { + let slug = post.slug; + return { + params: { slug: slug }, + props: { post: post }, + }; + }); +} + +interface Props { + post: CollectionEntry<'blog'>; +} + +const { post } = Astro.props; +const { render } = post; +const { Content } = await render(); +const readTime = getArticleReadingTime(post.body); +--- + + + +
+ + {post.data.category} + +

+ {post.data.title} +

+
+
+ { + post.data.tags.map((tag) => ( + + #{tag} + + )) + } +
+
+
+ + {post.data.author} + + + + {readTime} min + + + +
+
+ +
+ +
+ + +
+
diff --git a/src/pages/es/blog/category/[category].astro b/src/pages/es/blog/category/[category].astro new file mode 100644 index 0000000..b23d689 --- /dev/null +++ b/src/pages/es/blog/category/[category].astro @@ -0,0 +1,42 @@ +--- +import { getCollection } from "astro:content"; +import Pagination from "@components/blog/pagination.astro"; +import Posts from "@components/blog/posts.astro"; +import Container from "@components/container.astro"; +import Sectionhead from "@components/sectionhead.astro"; +import Layout from "@layouts/Layout.astro"; + +export async function getStaticPaths({paginate}) { + const posts = await getCollection("blog", ({ data }) => { + return !data.draft && data.publishDate < new Date(); + }); + const categories = new Set(); + posts.map((post) => { + typeof post.data.category === "string" && + categories.add(post.data.category.toLowerCase()); + }); + return Array.from(categories).map((category) => { + return { + params: { category: category }, + props: { + posts: posts.filter( + (post) => typeof post.data.category === "string" && + post.data.category.toLowerCase() === category + ), + category: category + }, + }; + }); +} +// Get the post directly from the prop on render +const { posts, category } = Astro.props; +--- + + + + + #{category} + + + + diff --git a/src/pages/es/blog/tag/[tag].astro b/src/pages/es/blog/tag/[tag].astro new file mode 100644 index 0000000..811f4b3 --- /dev/null +++ b/src/pages/es/blog/tag/[tag].astro @@ -0,0 +1,46 @@ +--- +import { getCollection } from "astro:content"; +import Pagination from "@components/blog/pagination.astro"; +import Posts from "@components/blog/posts.astro"; +import Container from "@components/container.astro"; +import Sectionhead from "@components/sectionhead.astro"; +import Layout from "@layouts/Layout.astro"; + + +export async function getStaticPaths() { + const posts = await getCollection("blog", ({ data }) => { + return !data.draft && data.publishDate < new Date(); + }); + + const tags = new Set(); + posts.map((post) => { + Array.isArray(post.data.tags) && + post.data.tags.map((tag) => tags.add(tag.toLowerCase())); + }); + + return Array.from(tags).map((tag) => { + return { + params: { tag: tag }, + props: { + posts: posts.filter( + (post) => + Array.isArray(post.data.tags) && + post.data.tags.find((elem) => elem.toLowerCase() === tag) + ), + tag: tag + }, + }; + }); +} +// Get the post directly from the prop on render +const { posts, tag } = Astro.props; +--- + + + + + #{tag} + + + + diff --git a/src/pages/es/docs.astro b/src/pages/es/docs.astro new file mode 100644 index 0000000..72e3532 --- /dev/null +++ b/src/pages/es/docs.astro @@ -0,0 +1,59 @@ +--- +import Container from "@components/container.astro"; +import Layout from "@layouts/Layout.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); +--- + + +
+
+ + + + + + + + + + +
+ + +
+

Docs have been moved

+

+ The documentation have been moved to https://docs.axos-project.com. +

+

+ Please update your bookmarks and links to point to the new location. +

+
+
+
+ + +
\ No newline at end of file diff --git a/src/pages/download.astro b/src/pages/es/download.astro similarity index 100% rename from src/pages/download.astro rename to src/pages/es/download.astro diff --git a/src/pages/es/index.astro b/src/pages/es/index.astro new file mode 100644 index 0000000..d0e2502 --- /dev/null +++ b/src/pages/es/index.astro @@ -0,0 +1,14 @@ +--- +import Container from "../../components/container.astro"; +import Features from "../../components/features.astro"; +import Hero from "../../components/hero.astro"; +import Layout from "../../layouts/Layout.astro"; + +--- + + + + + + + diff --git a/src/pages/es/legal.astro b/src/pages/es/legal.astro new file mode 100644 index 0000000..a543116 --- /dev/null +++ b/src/pages/es/legal.astro @@ -0,0 +1,11 @@ +--- +import Container from "@components/container.astro"; +import Layout from "@layouts/Layout.astro"; +import LegalHero from "@components/legalhero.astro"; +--- + + + + + + diff --git a/src/pages/es/licence.astro b/src/pages/es/licence.astro new file mode 100644 index 0000000..de9c448 --- /dev/null +++ b/src/pages/es/licence.astro @@ -0,0 +1,14 @@ +--- +import Container from "@components/container.astro"; +import Layout from "@layouts/Layout.astro"; +import GPL from "../../components/gpl.md"; +--- + + + +
+ +
+
+
diff --git a/src/pages/es/mentions.astro b/src/pages/es/mentions.astro new file mode 100644 index 0000000..c476836 --- /dev/null +++ b/src/pages/es/mentions.astro @@ -0,0 +1,66 @@ +--- +import Container from "@components/container.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); + +--- + + + +
+

Aviso Legal

+ +

Publicacion del Sitio

+

+ El sitio Web de AxOS es publicado como parte del proyecto de AxOS. + Gestor de Publicaciones: Adrian Arjoca, Conocido como Ardox. + Contacto: ardox@axos-project.com +

+ +

Alojamiento

+

+ Este sitio se encuentra alojado por: +
Gitlab Pages + Gitlab, Inc., 268 Bush Street #350 San Francisco, CA 94104-3503, USA. +
https://docs.gitlab.com/user/project/pages/. +
El almacenamiento de grandes archivos son provistos por un VPS del servicio. + datalix.io. +

+ +

Propiedad Intelectual

+

+ + A menos que se establezca de otra forma, todo el contenido (textos, imágenes, código fuente) en el Sitio Web de AxOS, o los repositorios de gitlab son distribuidos bajo la licencia de software libre. + GNU Licencia Publica General v3. +

+ +

Advertencia

+

+ La información provista por este sitio es únicamente para propósitos de información general. + El editor no se hace responsable de errores u omisiones. + El uso del sitio es bajo el propio riesgo del usuario. + +

+ +

Datos Personales

+

+ Los datos personales no son recolectados sin el conocimiento del usuario. + El sitio no usa cookies con fines publicitarios. + Conforme a la regulación General de protección de datos (GDPR), los usuarios tienen el derecho en acceder, modificar, y eliminar sus datos personales. + Debido que el sitio no recolecta ningún dato personal, no existen datos que se puedan acceder, modificar o eliminar. +

+ +

Contacto

+

+ Ante cualquier duda, puedes contactar con el dueño del sitio web al: + ardox@axos-project.com +
La dirección postal puede ser solicitada a través de correo electrónico. +

+
+
+
diff --git a/src/pages/es/rss.xml.js b/src/pages/es/rss.xml.js new file mode 100644 index 0000000..21941d4 --- /dev/null +++ b/src/pages/es/rss.xml.js @@ -0,0 +1,17 @@ +import { getCollection } from "astro:content"; +import rss from "@astrojs/rss"; + +export async function GET(context) { + const posts = await getCollection("blog"); + return rss({ + title: "AxOS", + description: "AxOS - The Linux experience, enhanced.", + site: context.site, + items: posts.map((post) => ({ + link: `/blog/${post.slug}`, + title: post.data.title, + description: post.data.snippet, + pubDate: post.data.publishDate, + })), + }); +}; diff --git a/src/pages/index.astro b/src/pages/index.astro index d8d686e..8ce4fc0 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,14 +1 @@ ---- -import Container from "@components/container.astro"; -import Features from "@components/features.astro"; -import Hero from "@components/hero.astro"; -import Layout from "@layouts/Layout.astro"; - ---- - - - - - - - + \ No newline at end of file