Skip to content
Merged
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
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,6 @@ jobs:
with:
urls: |
http://localhost:3000
uploadArtifacts: true
temporaryPublicStorage: true

- name: Stop production server
Expand Down
27 changes: 27 additions & 0 deletions apps/lab/blog/2025-03-12-bienvenida-al-blog-lab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
slug: bienvenida-al-blog-lab
title: Bienvenida al Blog de Lab
authors: [angel]
tags: [typescript, nextjs]
date: 2025-03-12
---

# Bienvenida al Blog de Lab

Bienvenido al blog técnico del Lab de DevPortfolio. Este espacio está pensado para compartir experimentos, aprendizajes y documentación de desarrollo.

## ¿Qué encontrarás aquí?

- **Tutoriales** sobre tecnologías del stack actual (Next.js, TypeScript, Docusaurus)
- **Reflexiones** sobre arquitectura, patrones y buenas prácticas
- **Cómo hacer** (how-tos) y guías prácticas
- **Experimentos** con nuevas herramientas o enfoques

## El stack del proyecto

El monorepo DevPortfolio combina:

- **Portfolio**: Next.js 15, React 19, Tailwind, Framer Motion
- **Lab**: Docusaurus 2.4 para documentación y este blog

Siéntete libre de explorar las [Guías](/docs/intro) para documentación más estructurada sobre arquitectura, i18n y testing.
32 changes: 16 additions & 16 deletions apps/lab/blog/tags.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
facebook:
label: Facebook
permalink: /facebook
description: Facebook tag description
typescript:
label: TypeScript
permalink: /typescript
description: Artículos sobre TypeScript y tipado estático

hello:
label: Hello
permalink: /hello
description: Hello tag description
nextjs:
label: Next.js
permalink: /nextjs
description: Contenido sobre Next.js y React Server Components

docusaurus:
label: Docusaurus
permalink: /docusaurus
description: Docusaurus tag description
devops:
label: DevOps
permalink: /devops
description: CI/CD, Docker, despliegues y automatización

hola:
label: Hola
permalink: /hola
description: Hola tag description
clean-architecture:
label: Clean Architecture
permalink: /clean-architecture
description: Patrones, capas y estructura de proyectos
6 changes: 3 additions & 3 deletions apps/lab/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Este es mi espacio de documentación técnica y experimentación, donde comparto

Documentación detallada sobre los patrones y estrategias de arquitectura utilizados en mis proyectos:

- **[Clean Architecture](./guides/clean-architecture)**: Implementación de arquitectura limpia en 3 capas con Next.js
- **[Testing Strategy](./guides/testing-strategy)**: Estrategia de testing con Vitest y React Testing Library
- **[i18n Patterns](./guides/i18n-patterns)**: Patrones de internacionalización con next-intl
- **[Clean Architecture](/docs/guides/clean-architecture)**: Implementación de arquitectura limpia en 3 capas con Next.js
- **[Testing Strategy](/docs/guides/testing-strategy)**: Estrategia de testing con Vitest y React Testing Library
- **[i18n Patterns](/docs/guides/i18n-patterns)**: Patrones de internacionalización con next-intl

### ✍️ Blog Técnico

Expand Down
11 changes: 6 additions & 5 deletions apps/lab/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const config = {

url: 'https://desenvolupadormaster.vercel.app',
baseUrl: '/',
trailingSlash: false,

organizationName: 'GMNAPI',
projectName: 'devportfolio-lab',
Expand Down Expand Up @@ -70,7 +71,7 @@ const config = {
position: 'left',
label: 'Guías',
},
// { to: '/blog', label: 'Blog', position: 'left' }, // Disabled: no blog posts yet
{ to: '/blog', label: 'Blog', position: 'left' },
{
type: 'localeDropdown',
position: 'right',
Expand All @@ -92,10 +93,10 @@ const config = {
label: 'Guías',
to: '/docs/intro',
},
// {
// label: 'Blog',
// to: '/blog',
// }, // Disabled: no blog posts yet
{
label: 'Blog',
to: '/blog',
},
],
},
{
Expand Down
36 changes: 36 additions & 0 deletions apps/lab/i18n/en/code.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
{
"homepage.tagline": {
"message": "Technical experiments, skills, and development documentation",
"description": "Homepage hero tagline"
},
"homepage.button.guides": {
"message": "View Guides",
"description": "Homepage primary CTA button"
},
"homepage.button.blog": {
"message": "Go to Blog",
"description": "Homepage secondary CTA button"
},
"homepage.feature.guides.title": {
"message": "Guides",
"description": "Homepage feature card title for Guides"
},
"homepage.feature.guides.description": {
"message": "Documentation on Clean Architecture, testing, and i18n patterns for Next.js and TypeScript projects.",
"description": "Homepage feature card description for Guides"
},
"homepage.feature.blog.title": {
"message": "Blog",
"description": "Homepage feature card title for Blog"
},
"homepage.feature.blog.description": {
"message": "Technical articles, experiments, and case studies on development, SaaS, and DevOps.",
"description": "Homepage feature card description for Blog"
},
"homepage.feature.portfolio.title": {
"message": "Portfolio",
"description": "Homepage feature card title for Portfolio"
},
"homepage.feature.portfolio.description": {
"message": "Production projects, skills, and contact. The main CV linked to this Lab.",
"description": "Homepage feature card description for Portfolio"
},
"theme.ErrorPageContent.title": {
"message": "This page crashed.",
"description": "The title of the fallback page when the page crashed"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
slug: bienvenida-al-blog-lab
title: Welcome to the Lab Blog
authors: [angel]
tags: [typescript, nextjs]
date: 2025-03-12
---

# Welcome to the Lab Blog

Welcome to the technical blog of the DevPortfolio Lab. This space is designed for sharing experiments, learnings, and development documentation.

## What will you find here?

- **Tutorials** on technologies in the current stack (Next.js, TypeScript, Docusaurus)
- **Reflections** on architecture, patterns, and best practices
- **How-tos** and practical guides
- **Experiments** with new tools or approaches

## The project stack

The DevPortfolio monorepo combines:

- **Portfolio**: Next.js 15, React 19, Tailwind, Framer Motion
- **Lab**: Docusaurus 2.4 for documentation and this blog

Feel free to explore the [Guides](/en/docs/intro) for more structured documentation on architecture, i18n, and testing.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The link to the guides includes a hardcoded /en locale prefix. While this works, the recommended practice in Docusaurus is to use root-relative links (e.g., /docs/intro). Docusaurus's i18n system is designed to automatically prepend the correct locale prefix based on the current language context. Relying on this automatic behavior improves maintainability and makes the content more robust against future changes to URL structures or locale configurations.

Suggested change
Feel free to explore the [Guides](/en/docs/intro) for more structured documentation on architecture, i18n, and testing.
Feel free to explore the [Guides](/docs/intro) for more structured documentation on architecture, i18n, and testing.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"description": "The description for the blog used in SEO"
},
"sidebar.title": {
"message": "Artículos recientes",
"message": "Recent articles",
"description": "The label for the left sidebar"
}
}
16 changes: 6 additions & 10 deletions apps/lab/i18n/en/docusaurus-plugin-content-docs/current.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,12 @@
"message": "Next",
"description": "The label for version current"
},
"sidebar.guidesSidebar.category.Tutorial - Basics": {
"message": "Tutorial - Basics",
"description": "The label for category Tutorial - Basics in sidebar guidesSidebar"
"sidebar.guidesSidebar.category.Guías de Arquitectura": {
"message": "Architecture Guides",
"description": "The label for category Guías de Arquitectura in sidebar guidesSidebar"
},
"sidebar.guidesSidebar.category.Tutorial - Basics.link.generated-index.description": {
"message": "5 minutes to learn the most important Docusaurus concepts.",
"description": "The generated-index page description for category Tutorial - Basics in sidebar guidesSidebar"
},
"sidebar.guidesSidebar.category.Tutorial - Extras": {
"message": "Tutorial - Extras",
"description": "The label for category Tutorial - Extras in sidebar guidesSidebar"
"sidebar.guidesSidebar.category.Guías de Arquitectura.link.generated-index.description": {
"message": "Detailed guides on Clean Architecture, Testing, and i18n in DevPortfolio.",
"description": "The generated-index page description for Architecture Guides"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Architecture Guides",
"position": 2,
"link": {
"type": "generated-index",
"description": "Detailed guides on Clean Architecture, Testing, and i18n in DevPortfolio."
}
}
Loading
Loading