Skip to content

Commit 0b4ace4

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fix-safari-layout-shift
2 parents b3a96c0 + ed4318e commit 0b4ace4

File tree

4,490 files changed

+3436067
-1584779
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,490 files changed

+3436067
-1584779
lines changed

.eslintignore

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

.eslintrc.cjs

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

.prettierignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ node_modules
33
package-lock.json
44
*.md
55
*.min.js
6+
pnpm-lock.yaml
7+
content/crutchcorn/posts/*/*/src/vendor/**
8+
content/crutchcorn/posts/*/*/src/vendor_bundled/**

CONTRIBUTING.es.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
Como comunidad le damos la bienvenida a cualquiera que desee escribir y enviar publicaciones al blog de Playful Programming. En este documento revisaremos los pasos necesarios para crear una nueva publicación, y después enviarla a PP como una *pull request* o solicitud para incorporar cambios.
2+
3+
> [!NOTE]
4+
> Para un tutorial más general sobre cómo contribuir a un proyecto con GitHub podrías revisar la guía ["Primeras contribuciones"](https://github.com/firstcontributions/first-contributions/blob/main/translations/README.mx.md) antes de seguir leyendo esta página.
5+
6+
Algunos puntos a tomar en cuenta cuando escribas tu artículo:
7+
- ¡Sé incluyente! En PP apoyamos a los desarrolladores de todos los niveles de experiencia - no excluyamos a los novatos ni desanimemos a los lectores que desean aprender algo nuevo.
8+
- Busca proporcionar información relevante y verdadera - ¡Te recomendamos citar las fuentes de tu trabajo!
9+
- Mantén tu contenido imparcial; es decir, no hagas anuncios de productos o servicios sin ninguna razón.
10+
11+
Si en algún momento te sientes bloqueado o tienes alguna duda que quieras resolver, no dudes en [abrir un reporte de problema en GitHub](https://github.com/playfulprogramming/playfulprogramming/issues/new) o bien [comunícate con nosotros en Discord](https://discord.gg/FMcvc6T). ¡Estaremos encantados de ayudarte!
12+
13+
---
14+
15+
Contenido:
16+
1. [Crear un perfil de autor](#crear-un-perfil-de-autor)
17+
2. [Escribir una nueva publicación](#escribir-una-nueva-publicación)
18+
3. [Traducir una publicación del blog](#traducir-una-publicación-del-blog)
19+
4. [Enviar una pull request](#enviar-una-pull-request)
20+
21+
# Crear un perfil de autor
22+
23+
Antes de crear una nueva publicación, deberás añadir información acerca de ti. Para lograr eso, crea una nueva carpeta en [`content/`](./content/) con tu nombre de usuario, y agrega un archivo `index.md` dentro de ésta; por ejemplo: `content/eric/index.md`.
24+
25+
Veamos un ejemplo de cómo se vería tu archivo `index.md`:
26+
27+
```js
28+
---
29+
{
30+
// "name" será tu nombre a mostrar, como quieras
31+
// que se vea en tus publicaciones
32+
name: "Eric el Programador",
33+
34+
// "firstName" y "lastName" son necesarios para
35+
// las etiquetas de OpenGraph - llena estos campos con los datos
36+
// que consideres apropiados
37+
firstName: "Eric",
38+
lastName: "el Programador",
39+
40+
// "description" es una biografia corta que se mostrará en tu página de perfil
41+
description: "Programador Haskell, escritor de fanfictions, un unicornio omnisciente.",
42+
43+
// Tus usuarios de redes sociales pueden incluir "twitter", "github", "gitlab",
44+
// "linkedIn", "twitch", "dribbble", "mastodon", "threads", "youtube",
45+
// "bluesky", y "cohost", además de un "website" que ¡puede ser lo que quieras!
46+
socials: {
47+
mastodon: "https://hachyderm.io/@playfulprogramming",
48+
github: "playfulprogramming",
49+
website: "https://playfulprogramming.com/"
50+
},
51+
52+
// Los "pronombres" son opcionales, pero recomendamos que los incluyas en tu perfil
53+
pronouns: "they/them",
54+
55+
// "profileImg" es el valor de una imagen que debe estar en la misma ubicación de este archivo
56+
// - de preferencia con formato PNG/JPEG y al menos 512px de resolución
57+
profileImg: "./profile.png",
58+
59+
// El campo "roles" reflejará cómo vas a contribuir al sitio - si vas a
60+
// crear una publicación, solo definelo como "author", pero existen más roles
61+
// ¡Hay roles para programadores y traductores también!
62+
roles: ["author"]
63+
}
64+
---
65+
```
66+
67+
> ¿No quieres mostrar tu foto real en el sitio? ¡Está bien! Tenemos [bastantes emoticones de unicornio personalizados que puedes usar como imagen de perfil](https://github.com/playfulprogramming/design-assets/tree/main/emotes). ¡Son adorables, ve a verlos! 🤩
68+
69+
Una vez que tengas creado tu perfil, puedes ir al siguiente paso...
70+
71+
# Escribir una nueva publicación
72+
73+
Todas las publicaciones en Playful Programming están dentro de una carpeta: `content/{username}/posts/` - estructuramos esto con una subcarpeta para cada publicación, que contiene un archivo markdown llamado `index.md`. El nombre de la carpeta con la publicación coincidirá con su URL dentro del sitio.
74+
75+
> **¿Eres nuevo con Markdown?**
76+
>
77+
> ¿Revisa el documento [Markdown Cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) para ver ejemplos de cómo dar formato a distintos tipos de contenido en este archivo!
78+
79+
Cuando escribas tu publicación, necesitarás incluir metadatos en el *frontmatter* en la parte superior del archivo:
80+
81+
```
82+
---
83+
{
84+
title: "Mi primera publicación en el blog",
85+
description: "¡Ésta es mi primera publicación en el sitio de Playful Programming!",
86+
published: '2023-04-11',
87+
tags: ["meta"],
88+
license: 'cc-by-4'
89+
}
90+
---
91+
92+
¡Hola! ¡Ésta es mi primera publicación! (TODO: escribir más texto aquí)
93+
```
94+
95+
> **Nota**: El título que definas en el campo "title" siempre se verá en la parte superior de tu publicación. No necesitas iniciar tu publicación con otro encabezado - de lo contrario ¡tu publicación tendrá dos títulos!
96+
97+
<details>
98+
<summary><strong>Propiedades opcionales</strong></summary>
99+
100+
Existen algunas propiedades extra que *podrías* incluir en el frontmatter de tu publicación, pero que no son necesarias:
101+
102+
- `authors: ["autor1", "autor2"]` se puede usar para especificar de forma manual los ID's de los autores de una publicación en caso de que la publicación tenga varios autores.
103+
- `edited: "2023-10-21"` sirve para especificar la fecha en la que hiciste la "última actualización" de tu publicación en caso de que realices modificaciones.
104+
- `collection: "Mi genial serie de artículos"` tratará a un grupo de publicaciones como una serie en caso de que todas tengan el mismo texto `collection` configurado.
105+
- `order: 0` reordenará las publicaciones de una colección de acuerdo con el valor que proporciones. Esto no tendrá efecto a menos que la publicación se encuentre dentro de una colección.
106+
- `originalLink: "https://example.com"` especifica una URL externa que sirva como fuente para tu publicación. ¡Es importante especificar este valor si estás republicando algo que tengas escrito en otro blog!
107+
108+
</details>
109+
110+
## Licencias
111+
112+
Proporcionar una licencia ayuda a explicar lo que los lectores pueden hacer con tu trabajo - ya sea que puedan usarlo como material para un curso o reusarlo en otras formas. Visita [el sitio de Creative Commons](https://creativecommons.org/about/cclicenses/) para obtener una descripción general de lo que se permite hacer dentro de los distintos tipos de licencias.
113+
114+
Actualmente, estas son las licencias de creative commons que se permiten como valores dentro de la propiedad "license":
115+
116+
- [`'cc-by-4'`](http://creativecommons.org/licenses/by/4.0/)
117+
- [`'cc-by-nc-sa-4'`](http://creativecommons.org/licenses/by-nc-sa/4.0/)
118+
- [`'cc-by-nc-nd-4'`](https://creativecommons.org/licenses/by-nc-nd/4.0/)
119+
- [`'publicdomain-zero-1'`](https://creativecommons.org/publicdomain/zero/1.0/)
120+
121+
También puedes omitir la propiedad "license". En este caso, tu publicación quedará bajo la licencia [MPL 2.0](https://github.com/playfulprogramming/playfulprogramming/blob/main/LICENSE.md) del repositorio.
122+
123+
## Enlaces incrustados
124+
125+
Las publicaciones pueden incrustar sus propias etiquetas `<iframe>` si es necesario - éstas mostrarán una vista previa de "haz clic para ejecutar" y no afectarán el tiempo de carga de la página.
126+
127+
También puedes incrustar algunos servicios de terceros simplemente pegando el enlace en tu publicación, como videos de YouTube o de Twitch, publicaciones de Twitter - y cualquier opción soportada por [oembed.com](https://oembed.com).
128+
129+
## Imágenes y videos
130+
131+
Si añadiste enlaces a imágenes o videos, necesitarás guardar esos archivos en la misma carpeta que tu publicación y cambiar tu documento markdown para que haga referencia a éstos de forma local:
132+
133+
```markdown
134+
![Ferris, la adorable mascota crustácea de Rust](./ferris.png)
135+
```
136+
137+
> ¡Asegúrate de incluir un texto alt descriptivo! Toma en cuenta qué información agregan esas imágenes a tu publicación, y qué contexto podría ser importante para los lectores con capacidades visuales diferentes.
138+
139+
Los vídeos también se pueden incrustar con la siguiente sintaxis:
140+
141+
```html
142+
<video src="./ios_vs_android.mp4" title="Una comparación de cómo se aplica el espaciado de texto en iOS y Android"></video>
143+
```
144+
145+
> Cuando sea posible, los elementos `<video>` deberán elegirse por sobre los archivos `.gif` u otras imágenes animadas en tus publicaciones. Esto es por motivos de accesibilidad - los vídeos dan más control a los usuarios acerca de cuándo y cómo es que la animación se reproduce.
146+
147+
# Traducir una publicación del blog
148+
149+
Si quires agregar una traducción, primero asegúrate de crear un [Archivo de datos de autor](#crear-un-perfil-de-autor) con el rol de `"translator"`, ¡Así podrás recibir crédito por tu trabajo en el sitio!
150+
151+
Para crear un archivo de traduccción para una publicación, copia su archivo `index.md` y renómbralo a `index.(lenguaje).md`, donde `(lenguaje)` es el idioma al que traduces la publicación. Por ejemplo, una traducción al `fr` (francés) podría ser nombrada `index.fr.md`. El contenido dentro de este archivo puede ser traducido a su idioma respectivo.
152+
153+
> Si fuera necesario traducir cualquiera de las imágenes usadas en la publicación, estas deberán ser nombradas de forma similar - por ejemplo, una traducción de `dom_tree.svg` deberá ser nombrada `dom_tree.fr.svg`.
154+
>
155+
> Cualquier enlace a esas imágenes deberá ser actualizado en el archivo `index.fr.md` de la publicación para que apunte a la imagen traducida.
156+
157+
Como referencia, los códigos de cada idioma los puedes consultar en el archivo [`/content/data/languages.json`](./content/data/languages.json) - si el idioma que quieres usar no se encuentra tal vez sea necesario que lo agregues.
158+
159+
## Encontrar un código de idioma
160+
161+
Cada código de idioma dentro de [`/content/data/languages.json`](./content/data/languages.json) debería estar formado de dos letras en minúscula. Si incluye una región, agrega un guion seguido de otras dos letras en minúscula. Por ejemplo, el código para el francés es `fr` - para referirse al dialecto del francés que se habla en Canadá, el código será `fr-ca`.
162+
163+
> Por favor usa `-` en lugar de `_` en los formatos ISO de la región del idioma. En lugar de `fr_ca`, deberá ser `fr-ca`.
164+
165+
Consulta la lista [Wikipedia: List of ISO 639-1 codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) para conocer los identificadores que usarás en este formato.
166+
167+
# Enviar una Pull Request
168+
169+
Una vez que hayas hecho todos los cambios, [crea una Pull Request](https://docs.github.com/es/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) para agregar tu publicación al sitio.
170+
171+
- Abre una [nueva Pull Request](https://github.com/playfulprogramming/playfulprogramming/compare) desde tu *fork* (bifurcación).
172+
- Revisa que todos tus archivos estén dentro de la Pull Request, y que estos estén siendo combinados a la rama principal o `main`.
173+
- Crea el PR y espera a que quien mantiene el sitio lo revise.
174+
- Una vez combinada (*merged*), ¡tu publicación será visible en el sitio!
175+
176+
¡Nos pondremos en contacto contigo si tenemos alguna duda o retroalimentación cuando revisemos tu publicación!

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Here's an example of what your `index.md` might look like:
4141

4242
// Social usernames can include "twitter", "github", "gitlab",
4343
// "linkedIn", "twitch", "dribbble", "mastodon", "threads", "youtube",
44-
// and "cohost", as well as a "website" that can be anything you want!
44+
// "bluesky", and "cohost", as well as a "website" that can be anything you want!
4545
socials: {
4646
mastodon: "https://hachyderm.io/@playfulprogramming",
4747
github: "playfulprogramming",

0 commit comments

Comments
 (0)