Skip to content

Commit 8681be5

Browse files
committed
load posts using dynamic imports
1 parent 921b506 commit 8681be5

30 files changed

Lines changed: 822 additions & 179 deletions

File tree

app/about/page.tsx

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import { siteConfig } from "@/lib/site-config";
2+
import type { Metadata } from "next";
3+
import { ProseContainer } from "@/components/prose-container";
4+
5+
export const metadata: Metadata = {
6+
title: "Acerca de",
7+
description: "Información sobre Enclaves Críticos y nuestra misión.",
8+
};
9+
10+
export default function AboutPage() {
11+
return (
12+
<div className="min-h-screen bg-white dark:bg-zinc-950">
13+
<main className="container mx-auto px-4 py-12">
14+
<div className="mx-auto">
15+
<h1 className="mb-6 text-zinc-900 dark:text-zinc-50">Acerca de {siteConfig.name}</h1>
16+
17+
<ProseContainer>
18+
<p>
19+
{siteConfig.name} es un espacio dedicado a la reflexión crítica sobre las intersecciones entre tecnología,
20+
sociedad y pensamiento latinoamericano. Nuestro objetivo es explorar las complejas relaciones entre los
21+
sistemas tecnológicos contemporáneos y las realidades sociales, políticas y culturales de América Latina.
22+
</p>
23+
24+
<h2>Nuestra Misión</h2>
25+
<p>
26+
En un contexto global donde las narrativas tecnológicas dominantes suelen originarse en los centros de
27+
poder del Norte global, buscamos articular perspectivas críticas desde América Latina que:
28+
</p>
29+
<ul>
30+
<li>Cuestionen las relaciones de poder implícitas en los sistemas tecnológicos</li>
31+
<li>Visibilicen las formas específicas en que las tecnologías operan en contextos periféricos</li>
32+
<li>
33+
Recuperen y actualicen tradiciones de pensamiento latinoamericano para abordar los desafíos tecnológicos
34+
contemporáneos
35+
</li>
36+
<li>
37+
Imaginen futuros tecnológicos alternativos que respondan a las necesidades y aspiraciones de nuestras
38+
sociedades
39+
</li>
40+
</ul>
41+
42+
<h2>Enfoque Editorial</h2>
43+
<p>
44+
Nuestros ensayos combinan rigor analítico con experimentación formal. Nos interesa explorar las
45+
posibilidades de la escritura ensayística para abordar fenómenos complejos que requieren aproximaciones
46+
transdisciplinarias.
47+
</p>
48+
<p>Abordamos temas como:</p>
49+
<ul>
50+
<li>Inteligencia artificial y sus implicaciones geopolíticas</li>
51+
<li>Extractivismo de datos y nuevas formas de dependencia tecnológica</li>
52+
<li>Transformaciones territoriales mediadas por tecnologías</li>
53+
<li>Epistemologías tecnológicas y su relación con cosmovisiones latinoamericanas</li>
54+
<li>Movimientos por la soberanía tecnológica y alternativas emergentes</li>
55+
</ul>
56+
57+
<h2>Colabora con Nosotros</h2>
58+
<p>
59+
{siteConfig.name} es un proyecto abierto a colaboraciones. Si estás interesado/a en contribuir con
60+
ensayos, investigaciones o propuestas que se alineen con nuestra misión, no dudes en contactarnos.
61+
</p>
62+
63+
<blockquote>
64+
<p>
65+
"La pregunta por la tecnología en América Latina no es meramente técnica sino profundamente política:
66+
¿cómo construir futuros tecnológicos que no reproduzcan subordinaciones históricas sino que contribuyan
67+
a la emancipación social y epistémica de la región?"
68+
</p>
69+
</blockquote>
70+
</ProseContainer>
71+
</div>
72+
</main>
73+
</div>
74+
);
75+
}

app/blog/page.tsx

Lines changed: 0 additions & 48 deletions
This file was deleted.

app/layout.tsx

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,58 @@
1-
import type { Metadata } from "next";
2-
import { Geist, Geist_Mono } from "next/font/google";
1+
import type React from "react";
2+
import { SiteHeader } from "@/components/site-header";
3+
import { SiteFooter } from "@/components/site-footer";
4+
import { ThemeProvider } from "@/components/theme-provider";
5+
import { siteConfig } from "@/lib/site-config";
36
import "./globals.css";
4-
import { cn } from "@/lib/utils";
5-
import { ThemeProvider } from '@/components/theme-provider';
6-
import { ModeToggle } from '@/components/mode-toggle';
7+
import type { Metadata } from "next";
8+
import { Noto_Sans, Noto_Sans_Mono } from "next/font/google";
79

8-
const geistSans = Geist({
9-
variable: "--font-geist-sans",
10+
// Body font
11+
const notoSans = Noto_Sans({
1012
subsets: ["latin"],
13+
weight: ["400", "500", "600", "700"],
14+
variable: "--font-noto-sans",
1115
});
1216

13-
const geistMono = Geist_Mono({
14-
variable: "--font-geist-mono",
17+
// Heading font
18+
const notoMono = Noto_Sans_Mono({
1519
subsets: ["latin"],
20+
weight: ["400", "700"],
21+
variable: "--font-noto-mono",
1622
});
1723

1824
export const metadata: Metadata = {
19-
title: "Create Next App",
20-
description: "Generated by create next app",
25+
title: {
26+
default: siteConfig.name,
27+
template: `%s | ${siteConfig.name}`,
28+
},
29+
description: siteConfig.description,
30+
openGraph: {
31+
type: "website",
32+
locale: "es_ES",
33+
url: siteConfig.url,
34+
title: siteConfig.name,
35+
description: siteConfig.description,
36+
siteName: siteConfig.name,
37+
},
38+
twitter: {
39+
card: "summary_large_image",
40+
title: siteConfig.name,
41+
description: siteConfig.description,
42+
},
2143
};
2244

23-
export default function RootLayout({
24-
children,
25-
}: Readonly<{
26-
children: React.ReactNode;
27-
}>) {
45+
export default function RootLayout({ children }: { children: React.ReactNode }) {
2846
return (
29-
<html lang="en" suppressHydrationWarning>
30-
<body
31-
className={cn(
32-
`${geistSans.variable} ${geistMono.variable} antialiased`,
33-
'prose prose-headings:mt-8 prose-headings:font-semibold prose-headings:text-black prose-h1:text-5xl prose-h2:text-4xl prose-h3:text-3xl prose-h4:text-2xl prose-h5:text-xl prose-h6:text-lg dark:prose-headings:text-white'
34-
)}
35-
>
36-
<ThemeProvider
37-
attribute="class"
38-
defaultTheme="system"
39-
enableSystem
40-
disableTransitionOnChange
41-
>
42-
<ModeToggle />
43-
{children}
47+
<html lang="es" suppressHydrationWarning>
48+
<body className={`${notoSans.variable} ${notoMono.variable} font-sans`}>
49+
<ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange>
50+
<div className="relative flex min-h-screen flex-col">
51+
<SiteHeader />
52+
<div className="flex-1">{children}</div>
53+
<SiteFooter />
54+
</div>
4455
</ThemeProvider>
45-
{children}
4656
</body>
4757
</html>
4858
);

0 commit comments

Comments
 (0)