Update website domain
This commit is contained in:
parent
6928978684
commit
3a57df404e
@ -8,8 +8,7 @@ import tailwindcss from '@tailwindcss/vite';
|
|||||||
|
|
||||||
// https://astro.build/config
|
// https://astro.build/config
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: 'https://juancman.dev/',
|
site: 'https://juanmanzanero.com',
|
||||||
|
|
||||||
integrations: [
|
integrations: [
|
||||||
sitemap(),
|
sitemap(),
|
||||||
react(),
|
react(),
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
xjMEZQiCxhYJKwYBBAHaRw8BAQdAKsyJoNrC9MIIih/2f+x2jFXe2EW+ufeN
|
|
||||||
lIOE0wUbcFbNK2NvbnRhY3RAanVhbmNtYW4uZGV2IDxjb250YWN0QGp1YW5j
|
|
||||||
bWFuLmRldj7CjAQQFgoAPgWCZQiCxgQLCQcICZCfsJTzxXuuVwMVCAoEFgAC
|
|
||||||
AQIZAQKbAwIeARYhBIDg/gtFKi+0hRG+G5+wlPPFe65XAAAnYAD/conTgzwr
|
|
||||||
wtm67uDfpSqauckqEEbiS3kCpVAMDptlc5kBAMp5qzA0RrHWwAtliwjckGta
|
|
||||||
Je8cmSNneuO2CmwF0yoHzjgEZQiCxhIKKwYBBAGXVQEFAQEHQM2jOtm0nD9e
|
|
||||||
Gj88A9FDxXir8tCxpM+g9FlxeTKrJuJ5AwEIB8J4BBgWCAAqBYJlCILGCZCf
|
|
||||||
sJTzxXuuVwKbDBYhBIDg/gtFKi+0hRG+G5+wlPPFe65XAABRXQEA56u9jKY5
|
|
||||||
ut2tlCJyauN9llxYwp45cyJNvUdoV/QaKhsBALN7snvKxUGqDoxyQi3LpEKE
|
|
||||||
uNjlRcRwNYo3k71qw3YK
|
|
||||||
=mkZ4
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
xjMEZ+WbSBYJKwYBBAHaRw8BAQdA2UkpseH3fRqNvy+BxT2R2LCvMCmGRC1C
|
||||||
|
Ge+G/MTc33DNNWNvbnRhY3RAanVhbm1hbnphbmVyby5jb20gPGNvbnRhY3RA
|
||||||
|
anVhbm1hbnphbmVyby5jb20+wsARBBMWCgCDBYJn5ZtIAwsJBwmQE+xKFEPw
|
||||||
|
d6lFFAAAAAAAHAAgc2FsdEBub3RhdGlvbnMub3BlbnBncGpzLm9yZzgw9UWU
|
||||||
|
tgBrYlE7QEuOIpn+TKFv3sXrL0ux2JtPMMTOAxUKCAQWAAIBAhkBApsDAh4B
|
||||||
|
FiEEvJO7on9lf8SXMHQQE+xKFEPwd6kAAOhvAP9yDtaYDgAPXG6c9vpNYHMO
|
||||||
|
e3rRjrQdczkTaW7xuvIv4AD9FRut4JK7KR7/6OQfr46ukX70r50CbDQGFSpB
|
||||||
|
CGEgJQvOOARn5ZtIEgorBgEEAZdVAQUBAQdAZPpVrg6u3Mr5HtUW1tX0PC0O
|
||||||
|
DmtM2xWEdbsIFLW4fX4DAQgHwr4EGBYKAHAFgmflm0gJkBPsShRD8HepRRQA
|
||||||
|
AAAAABwAIHNhbHRAbm90YXRpb25zLm9wZW5wZ3Bqcy5vcmfzpZREDOYf2/4r
|
||||||
|
4HTCHMAOtYtKfPreoia/HYX9c53YwQKbDBYhBLyTu6J/ZX/ElzB0EBPsShRD
|
||||||
|
8HepAAAsPwD8C74TC7XJvpv+QxIjDeYhqeXTKcWZeYnLz/i7psALS/IA/iKA
|
||||||
|
9ZAk6c1v2OGM5t2PfHfIjxD7JWGq/PY0Gq4wKJYJ
|
||||||
|
=xo3U
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -35,12 +35,12 @@ export default function Footer({ lang }: Props) {
|
|||||||
</section>
|
</section>
|
||||||
<section className='w-max mx-auto flex items-center gap-12'>
|
<section className='w-max mx-auto flex items-center gap-12'>
|
||||||
<VerticalLinkButton
|
<VerticalLinkButton
|
||||||
href={`https://juancman.dev/${lang === 'es' ? 'es/' : ''}feed.xml`}
|
href={`https://juanmanzanero.com/${lang === 'es' ? 'es/' : ''}feed.xml`}
|
||||||
>
|
>
|
||||||
<RssIcon className='w-6' />
|
<RssIcon className='w-6' />
|
||||||
RSS feed
|
RSS feed
|
||||||
</VerticalLinkButton>
|
</VerticalLinkButton>
|
||||||
<VerticalLinkButton href='https://git.juancman.dev/juancmandev/website'>
|
<VerticalLinkButton href='https://git.juanmanzanero.com/juanmanzanero/website'>
|
||||||
<Code className='w-6' />
|
<Code className='w-6' />
|
||||||
Source Code
|
Source Code
|
||||||
</VerticalLinkButton>
|
</VerticalLinkButton>
|
||||||
|
@ -46,7 +46,7 @@ const { lang } = Astro.props;
|
|||||||
decoding='sync'
|
decoding='sync'
|
||||||
fetchpriority='high'
|
fetchpriority='high'
|
||||||
class='w-auto h-auto aspect-square'
|
class='w-auto h-auto aspect-square'
|
||||||
alt='juancmandev logo'
|
alt='Juan Manzanero logo'
|
||||||
/>
|
/>
|
||||||
</LinkButton>
|
</LinkButton>
|
||||||
</section>
|
</section>
|
||||||
|
@ -71,10 +71,10 @@ There are many options:
|
|||||||
### Adding Feeds
|
### Adding Feeds
|
||||||
|
|
||||||
Now you need to search for the RSS URL on your favorite website, like
|
Now you need to search for the RSS URL on your favorite website, like
|
||||||
[this one](https://juancman.dev/rss.xml)!
|
[this one](https://juanmanzanero.com/feed.xml)!
|
||||||
|
|
||||||
```
|
```
|
||||||
https://juancman.dev/rss.xml
|
https://juanmanzanero.com/rss.xml
|
||||||
```
|
```
|
||||||
|
|
||||||
If you open it, you'll get a weird page with code similar to HTML.
|
If you open it, you'll get a weird page with code similar to HTML.
|
||||||
@ -108,7 +108,7 @@ https://youtube.com/feeds/videos.xml?channel_id=[CHANNEL ID]
|
|||||||
|
|
||||||
### My Favorite Feeds
|
### My Favorite Feeds
|
||||||
|
|
||||||
- [juancman.dev (obviously!)](https://www.juancman.dev/rss.xml)
|
- [juanmanzanero.com (obviously!)](https://juanmanzanero.com/feed.xml)
|
||||||
- [Astronomic Picture of the Day (apod)](https://apod.com/feed.rss)
|
- [Astronomic Picture of the Day (apod)](https://apod.com/feed.rss)
|
||||||
- [Earth Science Picture of the Day (epod)](https://feeds2.feedburner.com/EarthSciencePictureoftheDay)
|
- [Earth Science Picture of the Day (epod)](https://feeds2.feedburner.com/EarthSciencePictureoftheDay)
|
||||||
- [Erick Murphy (cool guy)](https://ericmurphy.xyz/index.xml)
|
- [Erick Murphy (cool guy)](https://ericmurphy.xyz/index.xml)
|
||||||
|
@ -12,7 +12,7 @@ rss: true
|
|||||||

|

|
||||||
_Tech stack used in this tutorial_
|
_Tech stack used in this tutorial_
|
||||||
|
|
||||||
[GitHub repo](https://github.com/juancmandev/fullstack-app)
|
[GitHub repo](https://github.com/juanmanzanerod/fullstack-app)
|
||||||
|
|
||||||
## Content
|
## Content
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ rss: true
|
|||||||

|

|
||||||
_Next Intl Blog Template banner_
|
_Next Intl Blog Template banner_
|
||||||
|
|
||||||
[GitHub](https://github.com/juancmandev/next-intl-blog-template)
|
[GitHub](https://github.com/juanmanzanerod/next-intl-blog-template)
|
||||||
|
|
||||||
[Website](https://next-intl-blog-template.vercel.app/en)
|
[Website](https://next-intl-blog-template.vercel.app/en)
|
||||||
|
|
||||||
@ -145,4 +145,4 @@ export default async function Page(props: TPage) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
[You can fork this template here](https://github.com/juancmandev/next-intl-blog-template)
|
[You can fork this template here](https://github.com/juanmanzanerod/next-intl-blog-template)
|
||||||
|
@ -12,7 +12,7 @@ rss: true
|
|||||||

|

|
||||||
_Tech stack usado en este tutorial_
|
_Tech stack usado en este tutorial_
|
||||||
|
|
||||||
[GitHub repo](https://github.com/juancmandev/fullstack-app)
|
[GitHub repo](https://github.com/juanmanzanerod/fullstack-app)
|
||||||
|
|
||||||
# Contenido
|
# Contenido
|
||||||
|
|
||||||
@ -1198,4 +1198,3 @@ Como puedes ver, crear una app fullstack con Next.js es muy fácil.
|
|||||||
|
|
||||||
Por supuesto, se puede mejorar, agregando validación del lado del servidor para los inputs, agregando paginación para los posts en el home, etc.
|
Por supuesto, se puede mejorar, agregando validación del lado del servidor para los inputs, agregando paginación para los posts en el home, etc.
|
||||||
|
|
||||||
Si quieres que trabajemos juntos, envíame un correo a [contact@juancman.dev](mailto:contact@juancman.dev).
|
|
||||||
|
@ -12,7 +12,7 @@ rss: true
|
|||||||

|

|
||||||
_Next Intl Blog Template banner_
|
_Next Intl Blog Template banner_
|
||||||
|
|
||||||
[GitHub](https://github.com/juancmandev/next-intl-blog-template)
|
[GitHub](https://github.com/juanmanzanerod/next-intl-blog-template)
|
||||||
|
|
||||||
[Website](https://next-intl-blog-template.vercel.app/en)
|
[Website](https://next-intl-blog-template.vercel.app/en)
|
||||||
|
|
||||||
@ -35,9 +35,9 @@ Este template es una extensión de [next-intl](https://next-intl-docs.vercel.app
|
|||||||
Puedes agregar o remover locales en el archivo `src/lang/locales.ts`.
|
Puedes agregar o remover locales en el archivo `src/lang/locales.ts`.
|
||||||
|
|
||||||
```ts title="src/lang/locales.ts"
|
```ts title="src/lang/locales.ts"
|
||||||
export type locales = "en" | "es";
|
export type locales = 'en' | 'es';
|
||||||
|
|
||||||
export const localesList: locales[] = ["en", "es"];
|
export const localesList: locales[] = ['en', 'es'];
|
||||||
```
|
```
|
||||||
|
|
||||||
Solo agrega o remueve un locale de la constante `locales`, y agrega o remueve el locale de la lista.
|
Solo agrega o remueve un locale de la constante `locales`, y agrega o remueve el locale de la lista.
|
||||||
@ -48,7 +48,7 @@ La lista es usada para la generación de rutas estáticas en
|
|||||||
`src/app/[locale]/layout.tsx`.
|
`src/app/[locale]/layout.tsx`.
|
||||||
|
|
||||||
```ts title="src/app/[locale]/layout.tsx"
|
```ts title="src/app/[locale]/layout.tsx"
|
||||||
import { localesList } from "@/lang/locales";
|
import { localesList } from '@/lang/locales';
|
||||||
|
|
||||||
export function generateStaticParams() {
|
export function generateStaticParams() {
|
||||||
return localesList.map((locale) => ({ locale }));
|
return localesList.map((locale) => ({ locale }));
|
||||||
@ -61,7 +61,7 @@ Recuerda actualizar el matcher en `src/middleware.ts`.
|
|||||||
//...
|
//...
|
||||||
|
|
||||||
export const config = {
|
export const config = {
|
||||||
matcher: ["/", "/(en|es)/:path*"],
|
matcher: ['/', '/(en|es)/:path*'],
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -76,15 +76,15 @@ Dentro crea el archivo .mdx con un nombre único, el nombre será usado como slu
|
|||||||
Para crear una sección de blog, usarás la función _getAllContent_ en tu ruta, por ejemplo: `src/app/[locale]/blog/[slug]/page.tsx`.
|
Para crear una sección de blog, usarás la función _getAllContent_ en tu ruta, por ejemplo: `src/app/[locale]/blog/[slug]/page.tsx`.
|
||||||
|
|
||||||
```tsx title="src/app/[locale]/blog/[slug]/page.tsx"
|
```tsx title="src/app/[locale]/blog/[slug]/page.tsx"
|
||||||
import { Mdx } from "@/components";
|
import { Mdx } from '@/components';
|
||||||
import { TParamsLocale, TPage, TSlugLang } from "@/types";
|
import { TParamsLocale, TPage, TSlugLang } from '@/types';
|
||||||
import { Metadata } from "next";
|
import { Metadata } from 'next';
|
||||||
import { getAllContent, getContent } from "@/utils/getContent";
|
import { getAllContent, getContent } from '@/utils/getContent';
|
||||||
|
|
||||||
export async function generateStaticParams(
|
export async function generateStaticParams(
|
||||||
props: TParamsLocale,
|
props: TParamsLocale
|
||||||
): Promise<TSlugLang[]> {
|
): Promise<TSlugLang[]> {
|
||||||
const blogs = await getAllContent(props.params.locale, "blog");
|
const blogs = await getAllContent(props.params.locale, 'blog');
|
||||||
|
|
||||||
if (!blogs) return [];
|
if (!blogs) return [];
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ Puedes obtener la metadata del archivo `.mdx` también.
|
|||||||
//...
|
//...
|
||||||
|
|
||||||
export async function generateMetadata(props: TPage): Promise<Metadata> {
|
export async function generateMetadata(props: TPage): Promise<Metadata> {
|
||||||
const blog = await getContent(props.params.locale, "blog", props.params.slug);
|
const blog = await getContent(props.params.locale, 'blog', props.params.slug);
|
||||||
|
|
||||||
if (!blog) return {};
|
if (!blog) return {};
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ Entonces, renderiza el contenido usando el componente _Mdx_.
|
|||||||
//...
|
//...
|
||||||
|
|
||||||
export default async function Page(props: TPage) {
|
export default async function Page(props: TPage) {
|
||||||
const post = await getContent(props.params.locale, "blog", props.params.slug);
|
const post = await getContent(props.params.locale, 'blog', props.params.slug);
|
||||||
|
|
||||||
if (!post) return null;
|
if (!post) return null;
|
||||||
|
|
||||||
@ -132,8 +132,4 @@ export default async function Page(props: TPage) {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
[Puedes hacer un fork de este template aquí](https://github.com/juancmandev/next-intl-blog-template)
|
[Puedes hacer un fork de este template aquí](https://github.com/juanmanzanerod/next-intl-blog-template)
|
||||||
|
|
||||||
## Contacto
|
|
||||||
|
|
||||||
Si te interesa **trabajar juntos** en un website con internacionalización con Next.js, envíame un correo a [contact@juancman.dev](mailto:contact@juancman.dev)
|
|
||||||
|
@ -67,10 +67,10 @@ mi opción favorita como ~~Pecador~~ usuario de Apple
|
|||||||
|
|
||||||
### Agregando Feeds
|
### Agregando Feeds
|
||||||
|
|
||||||
Ahora debes buscar por el link RSS de tu website favorito, ¡[como este](https://juancman.dev/es/rss.xml)!
|
Ahora debes buscar por el link RSS de tu website favorito, ¡[como este](https://juanmanzanero.com/es/feed.xml)!
|
||||||
|
|
||||||
```
|
```
|
||||||
https://juancman.dev/es/rss.xml
|
https://juanmanzanero.com/es/feed.xml
|
||||||
```
|
```
|
||||||
|
|
||||||
Si lo abres, verás una página rara con código similar a HTML.
|
Si lo abres, verás una página rara con código similar a HTML.
|
||||||
@ -102,7 +102,7 @@ https://youtube.com/feeds/videos.xml?channel_id=[CHANNEL ID]
|
|||||||
|
|
||||||
### Mis Feeds Favoritos
|
### Mis Feeds Favoritos
|
||||||
|
|
||||||
- [juancman.dev (¡obviamente!)](https://www.juancman.dev/es/rss.xml)
|
- [juanmanzanero.com (¡obviamente!)](https://juanmanzanero.com/es/feed.xml)
|
||||||
- [Astronomic Picture of the Day (apod)](https://apod.com/feed.rss)
|
- [Astronomic Picture of the Day (apod)](https://apod.com/feed.rss)
|
||||||
- [Earth Science Picture of the Day (epod)](https://feeds2.feedburner.com/EarthSciencePictureoftheDay)
|
- [Earth Science Picture of the Day (epod)](https://feeds2.feedburner.com/EarthSciencePictureoftheDay)
|
||||||
- [Erick Murphy](https://ericmurphy.xyz/index.xml)
|
- [Erick Murphy](https://ericmurphy.xyz/index.xml)
|
||||||
|
@ -13,10 +13,10 @@ Just change `[at]` for `@` and `[dot]` for `.`. This is for preventing web
|
|||||||
crawlers from getting my email:
|
crawlers from getting my email:
|
||||||
|
|
||||||
```
|
```
|
||||||
contact[at]juancman[dot]dev
|
contact[at]juanmanzanero[dot]com
|
||||||
```
|
```
|
||||||
|
|
||||||
You may [download my PGP key](/publickey.contact@juancman.dev-80e0fe0b452a2fb48511be1b9fb094f3c57bae57.asc) to validate my emails.
|
You may [download my PGP key](/publickey.contact@juanmanzanero.com-bc93bba27f657fc49730741013ec4a1443f077a9.asc) to validate my emails.
|
||||||
|
|
||||||
## Social media
|
## Social media
|
||||||
|
|
||||||
@ -26,5 +26,5 @@ If you want to talk about contracting me, you may check my career:
|
|||||||
|
|
||||||
You may check my GitHub, but I have also my own Gitea instance:
|
You may check my GitHub, but I have also my own Gitea instance:
|
||||||
|
|
||||||
- [GitHub](https://github.com/juancmandev)
|
- [GitHub](https://github.com/juanmanzanerod)
|
||||||
- [Gitea](https://git.juancman.dev/juancmandev)
|
- [Gitea](https://git.juanmanzanero.com/juanmanzanero)
|
||||||
|
@ -13,18 +13,18 @@ Solo cambia `[at]` por `@` y `[dot]` por `.`. Esto es para evitar que web
|
|||||||
crawlers obtengan mi email.
|
crawlers obtengan mi email.
|
||||||
|
|
||||||
```
|
```
|
||||||
contact[at]juancman[dot]dev
|
contact[at]juanmanzanero[dot]com
|
||||||
```
|
```
|
||||||
|
|
||||||
Puedes [descargar mi PGP key](/publickey.contact@juancman.dev-80e0fe0b452a2fb48511be1b9fb094f3c57bae57.asc) para validar mis emails.
|
Puedes [descargar mi PGP key](/publickey.contact@juanmanzanero.com-bc93bba27f657fc49730741013ec4a1443f077a9.asc) para validar mis emails.
|
||||||
|
|
||||||
## Redes sociales
|
## Redes sociales
|
||||||
|
|
||||||
Si quieres hablar sobre contratarme, puedes revisar mi carrera:
|
Si quieres hablar sobre contratarme, puedes revisar mi carrera:
|
||||||
|
|
||||||
- [LinkedIn](https://www.linkedin.com/in/juancmandev)
|
- [LinkedIn](https://www.linkedin.com/in/juanmanzanerod)
|
||||||
|
|
||||||
Puedes revisar mi GitHub, aunque igual tengo mi propia instancia de Gitea:
|
Puedes revisar mi GitHub, aunque igual tengo mi propia instancia de Gitea:
|
||||||
|
|
||||||
- [GitHub](https://github.com/juancmandev)
|
- [GitHub](https://github.com/juanmanzanerod)
|
||||||
- [Gitea](https://git.juancman.dev/juancmandev)
|
- [Gitea](https://git.juanmanzanero.com/juanmanzanero)
|
||||||
|
@ -35,7 +35,7 @@ const { title, description } = Astro.props;
|
|||||||
lang === 'en' && (
|
lang === 'en' && (
|
||||||
<link
|
<link
|
||||||
rel='alternate'
|
rel='alternate'
|
||||||
title='juancmandev'
|
title='Juan Manzanero'
|
||||||
type='application/rss+xml'
|
type='application/rss+xml'
|
||||||
href={new URL('feed.xml', Astro.site)}
|
href={new URL('feed.xml', Astro.site)}
|
||||||
/>
|
/>
|
||||||
@ -45,7 +45,7 @@ const { title, description } = Astro.props;
|
|||||||
lang === 'es' && (
|
lang === 'es' && (
|
||||||
<link
|
<link
|
||||||
rel='alternate'
|
rel='alternate'
|
||||||
title='juancmandev'
|
title='Juan Manzanero'
|
||||||
type='application/rss+xml'
|
type='application/rss+xml'
|
||||||
href={new URL('feed.xml', `${Astro.site}/es/`)}
|
href={new URL('feed.xml', `${Astro.site}/es/`)}
|
||||||
/>
|
/>
|
||||||
|
@ -69,17 +69,17 @@ export async function GET(context: any) {
|
|||||||
|
|
||||||
return rss({
|
return rss({
|
||||||
xmlns: { atom: 'http://www.w3.org/2005/Atom' },
|
xmlns: { atom: 'http://www.w3.org/2005/Atom' },
|
||||||
title: 'juancmandev',
|
title: 'Juan Manzanero',
|
||||||
description: 'Bienvenido a mi dominio, extraño.',
|
description: 'Bienvenido a mi dominio, extraño.',
|
||||||
site: `${context.site}es/`,
|
site: `${context.site}es/`,
|
||||||
customData: [
|
customData: [
|
||||||
'<language>es-mx</language>',
|
'<language>es-mx</language>',
|
||||||
`<image>
|
`<image>
|
||||||
<url>https://juancman.dev/logo.png</url>
|
<url>${context.site}/logo.png</url>
|
||||||
<title>juancmandev</title>
|
<title>Juan Manzanero</title>
|
||||||
<link>https://juancman.dev</link>
|
<link>${context.site}</link>
|
||||||
</image>`,
|
</image>`,
|
||||||
`<atom:link href="${context.site}es/feed.xml" rel="self" type="application/rss+xml"/>`,
|
`<atom:link href="${context.site}/es/feed.xml" rel="self" type="application/rss+xml"/>`,
|
||||||
].join(''),
|
].join(''),
|
||||||
items,
|
items,
|
||||||
trailingSlash: false,
|
trailingSlash: false,
|
||||||
|
@ -7,9 +7,9 @@ import { sortContentByDate } from '@/utils/sorts';
|
|||||||
import { getCollection } from 'astro:content';
|
import { getCollection } from 'astro:content';
|
||||||
|
|
||||||
const pageData = {
|
const pageData = {
|
||||||
title: 'juancmandev',
|
title: 'Juan Manzanero',
|
||||||
description:
|
description:
|
||||||
'Bienvenido a mi dominio, extraño. Soy juancmandev; Desarrollador Web, entusiasta de Linux, y defensor de la privacidad.',
|
'Bienvenido a mi dominio, extraño. Soy Juan Manzanero; Desarrollador Web, entusiasta de Linux, y defensor de la privacidad.',
|
||||||
};
|
};
|
||||||
|
|
||||||
const allPosts = await getCollection('blog', ({ data }) => data.draft !== true);
|
const allPosts = await getCollection('blog', ({ data }) => data.draft !== true);
|
||||||
@ -33,7 +33,7 @@ const lang = getLangFromUrl(Astro.url);
|
|||||||
<div class='prose prose-invert max-w-3xl mx-auto'>
|
<div class='prose prose-invert max-w-3xl mx-auto'>
|
||||||
<h1 class='text-primary'>Bienvenido a mi dominio, extraño.</h1>
|
<h1 class='text-primary'>Bienvenido a mi dominio, extraño.</h1>
|
||||||
<p>
|
<p>
|
||||||
Soy <strong class='text-primary'>juancmandev</strong>; <strong
|
Soy <strong class='text-primary'>Juan Manzanero</strong>; <strong
|
||||||
>Desarrollador Web</strong
|
>Desarrollador Web</strong
|
||||||
>, entusiasta de <strong>Linux</strong> y defensor de la <strong
|
>, entusiasta de <strong>Linux</strong> y defensor de la <strong
|
||||||
>privacidad.</strong
|
>privacidad.</strong
|
||||||
|
@ -69,17 +69,17 @@ export async function GET(context: any) {
|
|||||||
|
|
||||||
return rss({
|
return rss({
|
||||||
xmlns: { atom: 'http://www.w3.org/2005/Atom' },
|
xmlns: { atom: 'http://www.w3.org/2005/Atom' },
|
||||||
title: 'juancmandev',
|
title: 'Juan Manzanero',
|
||||||
description: 'Welcome to my domain, stranger.',
|
description: 'Welcome to my domain, stranger.',
|
||||||
site: context.site,
|
site: context.site,
|
||||||
customData: [
|
customData: [
|
||||||
'<language>en-us</language>',
|
'<language>en-us</language>',
|
||||||
`<image>
|
`<image>
|
||||||
<url>https://juancman.dev/logo.png</url>
|
<url>${context.site}/logo.png</url>
|
||||||
<title>juancmandev</title>
|
<title>Juan Manzanero</title>
|
||||||
<link>https://juancman.dev</link>
|
<link>${context.site}</link>
|
||||||
</image>`,
|
</image>`,
|
||||||
`<atom:link href="${context.site}feed.xml" rel="self" type="application/rss+xml"/>`,
|
`<atom:link href="${context.site}/feed.xml" rel="self" type="application/rss+xml"/>`,
|
||||||
].join(''),
|
].join(''),
|
||||||
items,
|
items,
|
||||||
trailingSlash: false,
|
trailingSlash: false,
|
||||||
|
@ -7,9 +7,9 @@ import { getLangFromUrl } from '@/i18n/utils';
|
|||||||
import PostItemList from '@/components/post-items-list';
|
import PostItemList from '@/components/post-items-list';
|
||||||
|
|
||||||
const pageData = {
|
const pageData = {
|
||||||
title: 'juancmandev',
|
title: 'Juan Manzanero',
|
||||||
description:
|
description:
|
||||||
'Welcome to my domain, stranger. I am juancmandev; Web Developer, Linux enthusiast, and privacy defender.',
|
'Welcome to my domain, stranger. I am Juan Manzanero; Web Developer, Linux enthusiast, and privacy defender.',
|
||||||
};
|
};
|
||||||
|
|
||||||
const allPosts = await getCollection('blog', ({ data }) => data.draft !== true);
|
const allPosts = await getCollection('blog', ({ data }) => data.draft !== true);
|
||||||
|
@ -3,7 +3,7 @@ import MicroblogItem from '@/components/microblog-item.astro';
|
|||||||
import Layout from '@/layouts/Layout.astro';
|
import Layout from '@/layouts/Layout.astro';
|
||||||
import { createServerClient } from '@/utils/pocketbase';
|
import { createServerClient } from '@/utils/pocketbase';
|
||||||
|
|
||||||
const pb = createServerClient('https://pb.juancman.dev/');
|
const pb = createServerClient('https://pb.juanmanzanero.com/');
|
||||||
const data = await pb.collection('microblogs').getFullList({
|
const data = await pb.collection('microblogs').getFullList({
|
||||||
expand: 'tags',
|
expand: 'tags',
|
||||||
sort: '-published',
|
sort: '-published',
|
||||||
|
@ -4,7 +4,7 @@ const robotsTxt = `
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Allow: /
|
Allow: /
|
||||||
|
|
||||||
Sitemap: ${new URL('sitemap-index.xml', 'https://juancman.dev').href}
|
Sitemap: ${new URL('sitemap-index.xml', 'https://juanmanzanero.com').href}
|
||||||
`.trim();
|
`.trim();
|
||||||
|
|
||||||
export const GET: APIRoute = () => {
|
export const GET: APIRoute = () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user