├── .gitignore ├── responses ├── 03_merged-pr.md ├── es │ ├── 03_merged-pr.md │ ├── 06_merge-and-celebrate.md │ ├── 02_merge-pr.md │ ├── 02_pull-request-blank.md │ ├── 07_next-steps.md │ ├── 04_wrong-theme.md │ ├── 06_incorrect-front-matter.md │ ├── 04_create-blog-post.md │ ├── 05_incorrect-post.md │ ├── 05_add-front-matter.md │ ├── 01_update-index.md │ ├── 03_change-theme.md │ └── 00_class-introduction-issue.md ├── 06_merge-and-celebrate.md ├── 02_merge-pr.md ├── 07_next-steps.md ├── 02_pull-request-blank.md ├── 04_wrong-theme.md ├── 05_incorrect-post.md ├── 06_incorrect-front-matter.md ├── 03_change-theme.md ├── 04_create-blog-post.md ├── 05_add-front-matter.md ├── 01_update-index.md └── 00_class-introduction-issue.md ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── README.md ├── course-details.md ├── server-installation-notes.md ├── config.yml └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /responses/03_merged-pr.md: -------------------------------------------------------------------------------- 1 | Good work @{{ user.username }}! This pull request is all finished up. Find your next task [here]({{ url }}). 2 | 3 | I'm going to go ahead and close our first issue [:book:](https://help.github.com/articles/github-glossary/#issue) now that you have updated your `index.md` file. 4 | -------------------------------------------------------------------------------- /responses/es/03_merged-pr.md: -------------------------------------------------------------------------------- 1 | ¡Buen trabajo, @{{ user.username }}! Este request ya está terminado. Encontrarás tu siguiente tarea [aquí]({{ url }}). 2 | 3 | Voy a adelantarme y a cerrar nuestro primer issue [:book:](https://help.github.com/articles/github-glossary/#issue) ahora que ya has actualizado tu archivo `index.md`. 4 | -------------------------------------------------------------------------------- /responses/06_merge-and-celebrate.md: -------------------------------------------------------------------------------- 1 | ## Step 7: Merge your first post 2 | 3 | Nice work @{{ user.username }} :tada:! Users will be reading your blog in no time! 4 | 5 | ### :keyboard: Activity: Merge your pull request 6 | 7 | 1. If satisfied with your post, click **Merge pull request**. 8 | 1. Click **Confirm merge**. 9 | 1. Click **Delete branch**. 10 | 11 |
12 |

Watch below for my response.

13 | -------------------------------------------------------------------------------- /responses/02_merge-pr.md: -------------------------------------------------------------------------------- 1 | ## Step 3: Merge your pull request 2 | 3 | You can merge[:book:](https://help.github.com/articles/github-glossary/#merge) your pull request now @{{ user.username }}! :ship: 4 | 5 | ### :keyboard: Activity: Merge your pull request 6 | 7 | 1. Click **Merge pull request** below. 8 | 1. Click **Confirm merge**. 9 | 1. Click **Delete branch**. 10 | 11 |
12 |

Watch below for my response.

13 | -------------------------------------------------------------------------------- /responses/es/06_merge-and-celebrate.md: -------------------------------------------------------------------------------- 1 | ## Paso 7: Combina tu primer post 2 | 3 | ¡Genial @{{ user.username }}! :tada: Otras personas podrán leer tu blog enseguida! 4 | 5 | ### :keyboard: Actividad: Combina tu pull request 6 | 7 | 1. Si estás a gusto con tu post, haz clic en **Merge pull request**. 8 | 1. Haz clic en **Confirm merge**. 9 | 1. Haz clic en **Delete branch**. 10 | 11 |
12 |

Mira mi respuesta más abajo.

13 | -------------------------------------------------------------------------------- /responses/es/02_merge-pr.md: -------------------------------------------------------------------------------- 1 | ## Paso 3: Combina tu pull request 2 | 3 | ¡Puedes combinar (_merge_)[:book:](https://help.github.com/articles/github-glossary/#merge) tu pull request ahora, @{{ user.username }}! :ship: 4 | 5 | ### :keyboard: Actividad: Combina tu pull request 6 | 7 | 1. Haz clic en **Merge pull request** más abajo. 8 | 1. Haz clic en **Confirm merge**. 9 | 1. Haz clic en **Delete branch**. 10 | 11 |
12 |

Mira mi respuesta más abajo.

13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: I have a suggestion... and may want to implement it! 4 | title: '' 5 | labels: 'enhancement' 6 | --- 7 | 8 | ## Feature Request 9 | 10 | **Describe the problem/friction you are trying to solve** 11 | A clear and concise description of what the problem is, e.g. I am always frustrated when... 12 | 13 | **Describe your ideal solution** 14 | A clear and concise description of what you want to happen, ideally including code snippets to demonstrate usage examples. 15 | 16 | Add any considered drawbacks. 17 | 18 | **Describe alternatives you have considered** 19 | A clear and concise description of any alternative solutions or features you have considered. 20 | -------------------------------------------------------------------------------- /responses/07_next-steps.md: -------------------------------------------------------------------------------- 1 | ## Nice work 2 | 3 | ![celebrate](https://octodex.github.com/images/constructocat2.jpg) 4 | 5 | Congratulations @{{ user.username }}, you've completed this course! 6 | 7 | Your blog is now live and has been deployed [here]({{ deploymentUrl }})! 8 | 9 | Before we finish, let's recap everything you completed in this repository 10 | 11 | - You used the GitHub Flow like a natural 12 | - You enabled GitHub Pages 13 | - You selected a theme using the config file 14 | - You learned about proper directory format and file naming conventions in Jekyll 15 | - You added and modified Jekyll front matter 16 | 17 | 18 | ## What's next? 19 | There's so much more you can do with GitHub Pages, and you have a solid start. Now...[what will you learn next]({{ host }}/courses)? 20 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Is something not working as expected? Please help us improve! 4 | title: '' 5 | labels: 'bug' 6 | --- 7 | 8 | ## Bug Report 9 | 10 | **Current behavior** 11 | A clear and concise description of what the bug is (with screenshots). 12 | 13 | **Reproduction** 14 | Steps to reproduce the behavior in the course: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Possible solution** 24 | If you have suggestions, we'd love to hear them. If not, that's ok too. 25 | 26 | **Additional context** 27 | Add any other context about the problem here. If applicable, add screenshots to help explain. 28 | -------------------------------------------------------------------------------- /responses/02_pull-request-blank.md: -------------------------------------------------------------------------------- 1 | It looks like your pull request description is empty, @{{ user.username }}. 2 | 3 | **Did you know?** By adding keywords to your pull request, you can automatically close issues. 4 | 5 | For example, if you type `closes #2` in your pull request description, the open issue will close when this exercise is complete! For more keywords that you can use to close issues, see “[Closing issues with keywords](https://help.github.com/articles/closing-issues-using-keywords/)". 6 | 7 | 8 | If you would like assistance troubleshooting the issue you are encountering, create a post on the [GitHub Community]({{ communityBoard }}) board. You might also want to search for your issue to see if other people have resolved it in the past. 9 | 10 |
11 |

Check below for next steps.

12 | -------------------------------------------------------------------------------- /responses/es/02_pull-request-blank.md: -------------------------------------------------------------------------------- 1 | Parece que la descripción de tu pull request está vacía, @{{ user.username }}. 2 | 3 | **¿Lo sabías?** Si añades palabras clave a tu pull request, puedes cerrar issues automáticamente. 4 | 5 | Por ejemplo, si escribes `closes #2` en la descripción de tu pull request, el issue abierto se cerrará cuando este ejercicio esté completo. Para más palabras clave que puedes usar para cerrar issues, consulta “[Closing issues with keywords](https://help.github.com/articles/closing-issues-using-keywords/)". 6 | 7 | Si necesitas ayuda resolviendo los problemas que estás encontrando en este issue, crea un post en el tablón [GitHub Community]({{ communityBoard }}). Puede que también quieres buscar tu problema para ver si alguna otra persona ha podido resolverlo en el pasado. 8 | 9 |
10 |

Comprueba los siguientes pasos más abajo.

11 | -------------------------------------------------------------------------------- /responses/04_wrong-theme.md: -------------------------------------------------------------------------------- 1 | It looks like you changed your theme, but for this activity we want to use `minima`. 2 | 3 | ### :keyboard: Activity: Change the theme to minima 4 | 5 | Let's change the theme to `minima`: 6 | 7 | 1. At the top of this Pull Request, click the **Files changed** tab. 8 | 2. Click the icon to enter edit mode and change the `theme:` to **minima**. 9 | 3. Scroll to the bottom of the window to create a commit. 10 | 4. Enter a commit message then click **Commit changes**. 11 | 12 | > Don't worry, if you don't like this theme you can always change it later. 13 | 14 | If you would like assistance troubleshooting the issue you are encountering, create a post on the [GitHub Community]({{ communityBoard }}) board. You might also want to search for your issue to see if other people have resolved it in the past. 15 | 16 |
17 |

Watch below for my next comment.

18 | -------------------------------------------------------------------------------- /responses/es/07_next-steps.md: -------------------------------------------------------------------------------- 1 | ## Gran trabajo 2 | 3 | ![celebrate](https://octodex.github.com/images/constructocat2.jpg) 4 | 5 | Enhorabuena @{{ user.username }}, ¡has completado el curso! 6 | 7 | ¡Tu blog está ahora publicado y se ha implementado [aquí]({{ deploymentUrl }})! 8 | 9 | Antes de que terminemos, hagamos un repaso de todo lo que has hecho en este repositorio 10 | 11 | - Has utilizado el GitHub Flow como si llevaras haciéndolo toda la vida 12 | - Has activado GitHub Pages 13 | - Has seleccionado un tema utilizado el archivo de configuración 14 | - Has aprendido acerca del formato correcto de directorios y convenciones para los nombres de archivos en Jekyll 15 | - Has añadido y modificado texto preliminar de Jekyll 16 | 17 | ## ¿Y ahora? 18 | Hay muchas cosas más que puedes hacer con GitHub Pages, y has empezado con buen pie. Ahora... ¿[qué será lo siguiente que aprendas]({{ host }}/courses)? 19 | -------------------------------------------------------------------------------- /responses/es/04_wrong-theme.md: -------------------------------------------------------------------------------- 1 | Parece que has cambiado el tema del sitio, pero para esta actividad queremos usar `minima`. 2 | 3 | ### :keyboard: Actividad: Cambia el tema a minima 4 | 5 | Vamos a cambiar el tema a `minima`: 6 | 7 | 1. En la parte superior de este pull request, haz clic en la pestaña **Files changed**. 8 | 2. Haz clic en el icono para entrar en el modo de edición y cambia el `theme:` a **minima**. 9 | 3. Haz scroll hasta la parte de abajo de la página para crear un commit. 10 | 4. Introduce un mensaje de commit y haz clic en **Commit changes**. 11 | 12 | > No te preocupes, si no te gusta este tema siempre puedes cambiarlo más adelante. 13 | 14 | Si necesitas ayuda resolviendo el problema que estás encontrando, crea un post en el tablero de [GitHub Community]({{ communityBoard }}). Puede que también quieras buscar tu problema para ver si otras personas lo han resuelto en el pasado. 15 | 16 |
17 |

Mira mi respuesta más abajo.

18 | -------------------------------------------------------------------------------- /responses/05_incorrect-post.md: -------------------------------------------------------------------------------- 1 | ## Checking your post 2 | 3 | @{{ user.username }} I see you created a file, but there are a few things we need to address! 4 | 5 | Take a look at your file and make sure it meets the following requirements: 6 | 7 | - [{% if directory %}x{% else %} {%endif%}] It is in the `_posts` directory 8 | - [{% if filenumber %}x{% else %} {%endif%}] The filename starts with the correct date formatting: YYYY-MM-DD 9 | - [{% if post %}x{% else %} {%endif%}] The filename includes a post title 10 | - [{% if extension %}x{% else %} {%endif%}] The filename uses the `.md` extension 11 | - [{% if filename %}x{% else %} {%endif%}] The filename follows Jekyll's [specific filename requirements](https://jekyllrb.com/docs/posts/#creating-post-files). 12 | 13 | ### :keyboard: Activity: Edit your file 14 | 15 | 1. Click the "Files Changed" tab in this pull request. 16 | 1. Click on the pencil icon on the right side of the screen. 17 | 1. Make adjustments based on the above errors. 18 | 1. Scroll to the bottom, and commit your changes. 19 | 20 | If you would like assistance troubleshooting the issue you are encountering, create a post on the [GitHub Community]({{ communityBoard }}) board. You might also want to search for your issue to see if other people have resolved it in the past. 21 | 22 |
23 |

Watch below for my response.

-------------------------------------------------------------------------------- /responses/06_incorrect-front-matter.md: -------------------------------------------------------------------------------- 1 | ## Checking your front matter 2 | 3 | It looks like there may be some errors in your front matter. Take a look at your front matter and make sure the following is true: 4 | 5 | - [{% if dashes %}x{% else %} {% endif %}] You used dashes on the first and final line 6 | - [{% if title %}x{% else %} {% endif %}] You added a page title surrounded in quotes 7 | - [{% if date %}x{% else %} {% endif %}] You added a date using the correct format 8 | 9 | The YAML front matter should be at the top of your blog post file and should look something like this: 10 | 11 | ```yaml 12 | --- 13 | title: "Your blog post title" 14 | date: YYYY-MM-DD 15 | --- 16 | ``` 17 | 18 | ### :keyboard: Activity: Edit your blog post 19 | 20 | 1. Click the "Files Changed" tab in this pull request. 21 | 1. Scroll past the config file, and find the file that you created. 22 | 1. Click on the pencil icon on the right side of the screen. 23 | 1. Make adjustments based on the above errors. 24 | 1. Scroll to the bottom, and commit your changes. 25 | 26 | If you would like assistance troubleshooting the issue you are encountering, create a post on the [GitHub Community]({{ communityBoard }}) board. You might also want to search for your issue to see if other people have resolved it in the past. 27 | 28 |
29 |

Watch below for my response.

30 | -------------------------------------------------------------------------------- /responses/03_change-theme.md: -------------------------------------------------------------------------------- 1 | ## Step 4: Customize Site Details 2 | 3 | Great work! You can see your published page [here]({{ deploymentUrl }}). If you don't see your changes right away, refresh the page. 4 | 5 | ### Getting your page blog ready 6 | 7 | Jekyll uses a file titled `_config.yml` to store settings for your site, your theme, and reusable content like your site title and GitHub handle. 8 | 9 | You can check out the `_config.yml` file on the **Code** tab of your repository. 10 | 11 | ### :keyboard: Activity: Modify the config file 12 | 13 | Let's change the `_config.yml` so it's a perfect fit for your new blog. First, we need to use a blog-ready theme. For this activity, we will use a theme named `minima`. 14 | 15 | 1. Navigate to the **Code** tab of this repository, and browse to the `_config.yml` file, or click this link [here]({{ repoUrl }}/blob/main/_config.yml). 16 | 2. In the upper right corner, click :pencil2: to open the file editor. 17 | 3. Add a `theme:` set to **minima** so it shows in the `_config.yml` file as below: 18 | ``` 19 | theme: minima 20 | ``` 21 | 4. Modify the other configuration variables such as `title:`, `author:`, and `description:` to customize your site. 22 | 5. Click **Create a new branch for this commit and start a pull request**. 23 | 6. Open a pull request. 24 | 25 |
26 |

Look for my next response in your pull request.

27 | -------------------------------------------------------------------------------- /responses/04_create-blog-post.md: -------------------------------------------------------------------------------- 1 | ## Step 5: Create a blog post 2 | 3 | :warning: Do not merge yet! :warning: 4 | 5 | This pull request looks great so far. :sparkles: You've just edited the `_config.yml` file! We have some more work to do to create your blog site. You can continue to make commits on your `{{ branch }}` branch and the pull request will update automatically. 6 | 7 | ### :keyboard: Activity: Add some content to your blog 8 | 9 | **Shortcut Note**: Click [this link]({{ repoUrl }}/new/{{ branch }}/?filename=_posts/{{ date | date: "%Y-%m-%d" }}-my-first-blog-post.md) to automatically complete steps 1-4. 10 | 11 | 1. On the "Code" tab, select your `{{ branch }}` branch. 12 | 1. Click **Create new file**. 13 | 1. Name the file `_posts/YYYY-MM-DD-title.md`. 14 | 1. Replace the `YYYY-MM-DD` with today's date, and change the `title` of your first blog post if you'd like. _Note:_ If you do edit the title, make sure there are hyphens between your words. 15 | 16 | - If your blog post date doesn't follow the correct date convention, you'll receive an error and your site won't build. For more information, see "[Page build failed: Invalid post date](https://help.github.com/articles/page-build-failed-invalid-post-date/)". 17 | 18 | 1. Type a quick draft of your blog post. Remember, you can always edit it later. 19 | 1. Commit your changes to your branch. 20 | 21 |
22 |

Watch below for my response.

23 | -------------------------------------------------------------------------------- /responses/05_add-front-matter.md: -------------------------------------------------------------------------------- 1 | ## Step 6: Add blog post metadata 2 | 3 | Now that you've created your Jekyll blog post file, we can add syntax to it. The syntax Jekyll files use is called YAML front matter. It goes at the top of your file and looks something like this: 4 | 5 | ```yml 6 | --- 7 | title: "Welcome to my blog" 8 | date: 2019-01-20 9 | --- 10 | ``` 11 | 12 | This example adds a title and date to your blog post. There are other useful things you could add here in the future like layouts, categories, or any other logic that is useful to you. For more information about configuring front matter, see the [Jekyll front matter documentation](https://jekyllrb.com/docs/frontmatter/). 13 | 14 | ### :keyboard: Activity: Add Front Matter to your Blog Post 15 | 16 | 1. Click the "Files Changed" tab in this pull request. 17 | 1. There are two files in the "Files Changed" tab, the `_config.yml` file and the `_posts/YYYY-MM-DD-title.md` file. Make sure to edit the file in the `_posts` folder. 18 | 2. Click on the icon to edit on the right side of the screen. 19 | 3. Type the following content at the top of your blog post: 20 | 21 | --- 22 | title: "YOUR-TITLE" 23 | date: YYYY-MM-DD 24 | --- 25 | 26 | 4. Replace YOUR-TITLE with the title for your blog post. 27 | 5. Replace YYYY-MM-DD with today's date. 28 | 6. Commit your changes to your branch. 29 | 30 |
31 |

Watch below for my response.

32 | -------------------------------------------------------------------------------- /responses/01_update-index.md: -------------------------------------------------------------------------------- 1 | ## Step 2: Customize your homepage 2 | 3 | Great job! Now that GitHub Pages is enabled, you can view your website here: {{ deploymentUrl }} 4 | 5 | You can customize your homepage by adding content to either an `index` file or the `README.md` file. GitHub Pages first looks for an `index` file. If an `index` file is found, GitHub Pages uses the content in the file to create the homepage. If an `index` file isn’t found, it uses the `README.md` to create the homepage. 6 | 7 | Your repository has an `index.md` file so we can update it to include your personalized content. 8 | 9 | ### :keyboard: Activity: Create your homepage 10 | 11 | 1. Navigate to the **Code** tab of this repository, and browse to the `index.md` file, or click this link [here]({{ repoUrl }}/blob/main/index.md) 12 | 2. In the upper right corner, click the ![octicon-pencil] icon to edit the `index.md` file 13 | 3. Type the content you want on your homepage. You can also modify `title:` or just ignore it for now. We'll discuss it later in this course. 14 | 4. Scroll to the bottom, type a commit message, and click **Create a new branch for this commit and start a pull request** 15 | 5. Open a pull request 16 | 17 | > Once you have created your pull request, I will move over there to discuss next steps. 18 | 19 |
20 |

Look for my next response in your pull request.

21 | 22 | [octicon-pencil]: https://unpkg.com/octicons/build/svg/pencil.svg 23 | -------------------------------------------------------------------------------- /responses/es/06_incorrect-front-matter.md: -------------------------------------------------------------------------------- 1 | ## Comprobando tu texto preliminar 2 | 3 | Parece que podría haber algunos errores en tu texto preliminar. Echa un ojo a tu texto preliminar para asegurarte de que cumple estas condiciones: 4 | 5 | - [{% if dashes %}x{% else %} {% endif %}] Has utilizado guiones en la primera y la última línea de tu texto preliminar 6 | - [{% if title %}x{% else %} {% endif %}] Has añadido el título del post entre comillas 7 | - [{% if date %}x{% else %} {% endif %}] Has añadido la fecha utilizando el formato correcto 8 | 9 | El texto preliminar YAML debería estar en la parte superior de tu archivo y tener este aspecto: 10 | 11 | ```yaml 12 | --- 13 | title: "El título de tu post" 14 | date: AAAA-MM-DD 15 | --- 16 | ``` 17 | 18 | ### :keyboard: Actividad: Edita tu post 19 | 20 | 1. Haz clic en la pestaña "Files Changed" de este pull request. 21 | 1. Haz scroll hasta pasar el archivo de configuración, y localiza el archivo que has creado. 22 | 1. Haz clic en el icono del lápiz en la parte derecha de la pantalla. 23 | 1. Realiza los ajustes necesarios basándote en los errores mencionados arriba. 24 | 1. Haz scroll hasta la parte de abajo, y haz commit de tus cambios. 25 | 26 | Si necesitas ayuda resolviendo el problema que estás encontrando, crea un post en el tablero de [GitHub Community]({{ communityBoard }}). Puede que también quieras buscar tu problema para ver si otras personas lo han resuelto en el pasado. 27 | 28 |

Mira mi respuesta más abajo.

29 | -------------------------------------------------------------------------------- /responses/es/04_create-blog-post.md: -------------------------------------------------------------------------------- 1 | ## Paso 5: Crea un post en tu blog 2 | 3 | :warning: ¡No hagas merge todavía! :warning: 4 | 5 | Este pull request pinta muy bien. :sparkles: ¡Acabas de editar el archivo `_config.yml`! Tenemos algo más de trabajo para crear tu blog. Puedes seguir haciendo commits en tu rama `{{ branch }}` y el pull request se actualizará automáticamente. 6 | 7 | ### :keyboard: Actividad: Añade algo de contenido a tu blog 8 | 9 | **Nota de atajo**: Haz clic en [este enlace]({{ repoUrl }}/new/{{ branch }}/?filename=_posts/{{ date | date: "%Y-%m-%d" }}-my-first-blog-post.md) para completar automáticamente los pasos 1-4. 10 | 11 | 1. En la pestaña "Code", selecciona tu rama `{{ branch }}`. 12 | 1. Haz clic en **Create new file** (crear un archivo nuevo). 13 | 1. Nombra el archivo `_posts/AAAA-MM-DD-titulo.md`. 14 | 1. Reemplaza `AAAA-MM-DD` con la fecha de hoy, y cambia también el `titulo` de tu primer post si quieres. _Nota:_ Si cambias el título, asegúrate de utilizar guiones en lugar de espacios. 15 | 16 | - Si la fecha de tu post no sigue la convención de fechas correcta, recibirás un error y tu sitio no se construirá. Para más información, puedes acceder a "[Page build failed: Invalid post date](https://help.github.com/articles/page-build-failed-invalid-post-date/)". 17 | 18 | 1. Escribe un borrador rápido de tu primer post. Recuerda, siempre puedes editarlo después. 19 | 1. Haz commit de tus cambios a tu rama. 20 | 21 |
22 |

Mira mi respuesta más abajo.

23 | -------------------------------------------------------------------------------- /responses/es/05_incorrect-post.md: -------------------------------------------------------------------------------- 1 | ## Comprobando tu post 2 | 3 | @{{ user.username }} veo que has creado un archivo, pero ¡hay algunas cosas que tienes que resolver! 4 | 5 | Echa un vistazo a tu archivo y asegúrate de que cumple los siguientes requerimientos: 6 | 7 | - [{% if directory %}x{% else %} {%endif%}] Está en el directorio `_posts` 8 | - [{% if filenumber %}x{% else %} {%endif%}] El nombre del archivo empieza con el formato correcto para la fecha: AAAA-MM-DD 9 | - [{% if post %}x{% else %} {%endif%}] El nombre del archivo incluye un título de post 10 | - [{% if extension %}x{% else %} {%endif%}] El nombre del archivo incluye la extensión `.md` 11 | - [{% if filename %}x{% else %} {%endif%}] El nombre del archivo cumple con los [requerimientos específicos para nombres de archivo](https://jekyllrb.com/docs/posts/#creating-post-files) de Jekyll. 12 | 13 | ### :keyboard: Actividad: Edita tu archivo 14 | 15 | 1. Haz clic en la pestaña "Files Changed" en este pull request. 16 | 1. Haz clic en el icono del lápiz en el lado derecho de la pantalla. 17 | 1. Realiza los ajustes necesarios basándote en los errores mencionados arriba. 18 | 1. Haz scroll hasta la parte de abajo, y haz commit de tus cambios. 19 | 20 | 21 | Si necesitas ayuda resolviendo el problema que estás encontrando, crea un post en el tablero de [GitHub Community]({{ communityBoard }}). Puede que también quieras buscar tu problema para ver si otras personas lo han resuelto en el pasado. 22 | 23 |
24 |

Mira mi respuesta más abajo.

-------------------------------------------------------------------------------- /responses/es/05_add-front-matter.md: -------------------------------------------------------------------------------- 1 | ## Paso 6: Añade metadatos del post 2 | 3 | Ahora que has creado tu archivo con el post para un blog en Jekyll, podemos añadir algo de sintaxis. La sintaxis que usan los archivos de Jekyll se llama texto preliminar YAML. Va en la parte superior de tu archivo y tiene este aspecto: 4 | 5 | ```yml 6 | --- 7 | title: "Bienvenida a mi blog" 8 | date: 2019-01-20 9 | --- 10 | ``` 11 | 12 | Este ejemplo añade un título y una fecha a tu post. Hay otras cosas útiles que puedes añadir aquí en el futuro como plantillas, categorías o cualquier otra lógica que te resulte útil. Para más información sobre la configuración del texto preliminar, puedes consultar [Jekyll front matter documentation](https://jekyllrb.com/docs/frontmatter/). 13 | 14 | ### :keyboard: Actividad: Añade texto preliminar a tu post 15 | 16 | 1. Haz clic en la pestaña "Files Changed" de este pull request. 17 | 1. Hay dos archivos en la pestaña "Files Changed", el archivo `_config.yml` y el archivo `_posts/YYYY-MM-DD-title.md`. Asegúrate de editar el archivo que hay en la carpeta `_posts`. 18 | 2. Haz clic en el icono de la parte derecha para editar. 19 | 3. Escribe lo siguiente en la parte superior de tu post: 20 | 21 | --- 22 | title: "TU TÍTULO" 23 | date: AAAA-MM-DD 24 | --- 25 | 26 | 4. Reemplaza TU TÍTULO con el título para tu post. 27 | 5. Reemplaza AAAA-MM-DD con la fecha de hoy. 28 | 6. Haz commit de tus cambios en tu rama. 29 | 30 |
31 |

Mira mi respuesta más abajo.

32 | -------------------------------------------------------------------------------- /responses/es/01_update-index.md: -------------------------------------------------------------------------------- 1 | ## Paso 2: Personaliza tu página inicial 2 | 3 | ¡Buen trabajo! Ahora que GitHub Pages está activado, puedes ver tu sitio web aquí: {{ deploymentUrl }} 4 | 5 | Puedes personalizar tu página inicial añadiendo contenido bien a un archivo `index` o al archivo `README.md`. GitHub Pages buscará primero un archivo `index`. Si encuentra un archivo `index`, GitHub Pages utiliza el contenido en ese archivo para crear la página inicial. Si no encuentra un archivo `index`, utiliza `REAMDE.md` para crear la página inicial. 6 | 7 | Tu repositorio tiene un archivo `index.md`, así que podemos actualizarlo para que incluya tu contenido personalizado. 8 | 9 | ### :keyboard: Actividad: Crea tu página inicial 10 | 11 | 1. Navega a la pestaña **Code** de este repositorio y accede al archivo `index.md`, o haz clic en [este enlace]({{ repoUrl }}/blob/main/index.md) 12 | 2. En la esquina superior derecha, haz clic en el icono a la derecha del archivo para editar el archivo `index.md` 13 | 3. Escribe el contenido que quieres que aparezca en tu página principal. También puede modificar `title:` o simplemente ignorarlo por ahora. Lo discutiremos más adelante en este curso. 14 | 4. Haz scroll hasta la parte inferior, escribe un mensaje de commit y haz clic en **Create a new branch for this commit and start a pull request** 15 | 5. Abre una petición de extracción (pull request) 16 | 17 | > Una vez que has creado el pull request, me desplazaré hasta allí para hablar de los próximos pasos. 18 | 19 |
20 |

Busca mi respuesta en tu pull request.

21 | -------------------------------------------------------------------------------- /responses/es/03_change-theme.md: -------------------------------------------------------------------------------- 1 | ## Paso 4: Personaliza los detalles del sitio 2 | 3 | ¡Buen trabajo! Puedes ver tu sitio publicado [aquí]({{ deploymentUrl }}). Si no ves tus cambios inmediatamente, refresca la página. 4 | 5 | ### Preparar tu página para usarla como blog 6 | 7 | Jekyll utiliza un archivo llamado `_config.yml` para almacenar los ajustes de tu sitio web, la plantilla o el tema del sitio y contenido reutilizable como el título de tu sitio y tu nombre de usuario de GitHub. 8 | 9 | Puedes comprobar el archivo `_config.yml` en la pestaña **Code** de tu repositorio. 10 | 11 | ### :keyboard: Actividad: Modifica el archivo de configuración 12 | 13 | Vamos a modificar `_config.yml` para que refleje perfectamente con tu nuevo blog. Primero, tenemos que aplicar una plantilla o tema que funcione con blogs. Para esta actividad, usaremos un tema llamado `minima`. 14 | 15 | 16 | 17 | 1. Navega a la pestaña **Code** de este repositorio y hasta el archivo `_config.yml`, o haz clic en [este enlace]({{ repoUrl }}/blob/main/_config.yml). 18 | 2. En la esquina superior derecha, haz clic en :pencil2: para abrir el editor. 19 | 3. Añade un `theme:` que especifique **minima**, de forma que se vea así en tu archivo `_config.yml`: 20 | ``` 21 | theme: minima 22 | ``` 23 | 4. Modifica las otras variables de configuración, como `title:`, `author:` y `description:`, para personalizar tu sitio web. 24 | 5. Haz clic en **Create a new branch for this commit and start a pull request**. 25 | 6. Abre un pull request. 26 | 27 |
28 |

Busca mi siguiente respuesta en tu pull request.

29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Learning Lab bot

2 | 3 |

Course: GitHub Pages

4 | 5 | This repository powers the Learning Lab course [_GitHub Pages_](https://lab.github.com/githubtraining/github-pages). 6 | 7 | Every Learning Lab course is made up of: 8 | - a [course repository](https://github.com/githubtraining/github-pages), and 9 | - a [template repository](https://github.com/githubtraining/github-pages-with-jekyll-template) 10 | 11 | The course repository is written in YAML and Markdown. The template repository could be written in any language that supports the learning objectives. 12 | 13 | For more information on the goals of this course, check out the [`course-details.md`](course-details.md). 14 | 15 | ## Contribute 16 | 17 | See something we could improve? Check out the contributing guide in the [community contributors repository](https://github.com/githubtraining/community-contributors/blob/main/CONTRIBUTING.md) for more information on the types of contributions we :heart: and instructions. 18 | 19 | We :heart: our community and take great care to ensure it is fun, safe and rewarding. Please review our [Code of Conduct](https://github.com/githubtraining/community-contributors/blob/main/CODE_OF_CONDUCT.md) for community expectations and guidelines for reporting concerns. 20 | 21 | ## License 22 | 23 | All Learning Lab course repositories are licensed under [CC-BY-4.0](../LICENSE) (c) 2019 GitHub, Inc. The template repositories associated with each course may have different licenses. 24 | 25 | When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos) 26 | -------------------------------------------------------------------------------- /responses/00_class-introduction-issue.md: -------------------------------------------------------------------------------- 1 | ## Step 1: Enable GitHub Pages 2 | 3 | Welcome to GitHub Pages and Jekyll :tada:! 4 | 5 | If you're new to GitHub Pages, or you want to learn how to build and host a [GitHub Pages](https://pages.github.com) site, you're in the right place. With GitHub Pages, you can host content like [documentation](https://flight-manual.atom.io/), [resumes](https://github.com/jglovier/resume-template), or any other static content that you’d like. 6 | 7 | In this course, you'll create a blog hosted on GitHub Pages and learn how to: 8 | 9 | - Enable GitHub Pages 10 | - Use [Jekyll](https://jekyllrb.com/), a static site generator 11 | - Customize Jekyll sites with a theme and content 12 | 13 | ### New to GitHub? 14 | 15 | For this course, you'll need to know how to create a branch on GitHub, commit changes using Git, and open a pull request on GitHub. If you need a refresher on the GitHub flow, check out the [Introduction to GitHub course]({{ host }}/courses/introduction-to-github). 16 | 17 | ### :keyboard: Activity: Generate a GitHub Pages site 18 | 19 | The first step to publishing your blog to the web is to enable GitHub Pages on this repository [:book:](https://help.github.com/articles/github-glossary/#repository). When you enable GitHub Pages on a repository, GitHub takes the content that's on the main branch and publishes a website based on its contents. 20 | 21 | 1. Under your repository name, click [**Settings**]({{ repoUrl }}/settings). 22 | 1. In the "GitHub Pages" section, in the Source drop-down, select **main branch**. 23 | 24 | After GitHub Pages is enabled and the site is started, we'll be ready to create some more content. 25 | 26 | > Turning on GitHub Pages creates a deployment of your repository. I may take up to a minute to respond as I await the deployment. 27 | 28 |
29 |

Return to this issue for my next comment.

30 | 31 | > _Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps._ 32 | -------------------------------------------------------------------------------- /course-details.md: -------------------------------------------------------------------------------- 1 | Did you know you can host your personal, organization, and project sites on GitHub? With GitHub Pages, you can quickly create a site from your GitHub repositories—a great way to share static content related to your repository like resumes, portfolios, and project blogs. 2 | 3 | If you're new to GitHub Pages, or you want to learn how to build and host a GitHub Pages site, you're in the right place. With GitHub Pages, you can host content like documentation, resumes, or any other static content that you’d like. 4 | 5 | ## What you'll learn 6 | 7 | In this course, you’ll learn how to: 8 | 9 | - Enable GitHub Pages 10 | - Choose a theme with Jekyll 11 | - Use YAML front matter 12 | - Customize your site 13 | - Create and edit blog posts 14 | 15 | You'll know the answers to questions like: 16 | 17 | - What is GitHub pages? 18 | - How do I make sites with GitHub Pages? 19 | - How do I create my own blog? 20 | 21 | ## What you'll build 22 | 23 | In this course, you'll build a simple personal blog site with GitHub Pages. You'll be able to add posts and share your blog with anyone. 24 | 25 | ![Screenshot_2021-04-07 Welcome to my blog](https://user-images.githubusercontent.com/29868089/113876198-76721580-97f2-11eb-89eb-e6c7375ad7cc.png) 26 | 27 | ## Prerequisites 28 | 29 | For this course, you'll need to know how to create a branch on GitHub, commit changes using Git, and open a pull request on GitHub. If you need a refresher on the GitHub flow, check out the [Introduction to GitHub course](https://lab.github.com/githubtraining/introduction-to-github). We'll assume you know what [blogs](https://en.wikipedia.org/wiki/Blog) are and how they work. 30 | 31 | ## Projects used 32 | 33 | - [Jekyll](https://jekyllrb.com), a static site generator 34 | - [Jekyll minima theme](https://github.com/jekyll/minima), a one-size-fits-all Jekyll theme for writers 35 | 36 | ## Audience 37 | 38 | This is a great beginner course. If you're wanting to run your own blog, personal site, project site, or portfolio, this is the best course for you. This is a wonderful course for students, project maintainers, and small businesses. 39 | -------------------------------------------------------------------------------- /responses/es/00_class-introduction-issue.md: -------------------------------------------------------------------------------- 1 | ## Paso 1: Activa GitHub Pages 2 | 3 | ¡Bienvenida a GitHub Pages y Jekyll! :tada: 4 | 5 | Si es la primera vez que usas GitHub Pages o quieres aprender cómo crear y alojar un sitio web con [GitHub Pages](https://pages.github.com), estás en el lugar adecuado. Con GitHub Pages, puedes alojar contenidos como [documentación](https://flight-manual.atom.io/), [currículums](https://github.com/jglovier/resume-template) o cualquier otro contenido estático que quieras. 6 | 7 | En este curso crearás un blog alojado en GitHub Pages y aprenderas a: 8 | 9 | - Activar GitHub Pages 10 | - Usar [Jekyll](https://jekyllrb.com/), un generador de sitios estáticos 11 | - Personalizar el aspecto y contenido de sitios creados con Jekyll 12 | 13 | ### ¿GitHub es nuevo para ti? 14 | 15 | Para este curso necesitas saber cómo crear una rama (_branch_) en GitHub, confirmar cambios (_commit_) usando Git, y abrir peticiones de extracción (_pull requests_) en GitHub. Si necesitas un recordatorio del flujo de trabajo en GitHub, revisa el [curso de Introducción a GitHub]({{ host }}/courses/introduction-to-github). 16 | 17 | ### :keyboard: Actividad: Genera un sitio web con GitHub Pages 18 | 19 | El primer paso para publicar tu blog en la web es activar GitHub Pages en este repositorio [:book:](https://help.github.com/articles/github-glossary/#repository). Cuando habilitas GitHub Pages para un repositorio, GitHub toma el contenido que tenga en el branc `main` y publica un sitio web basado en esos contenidos. 20 | 21 | 1. Debajo del nombre de tu repositorio, haz clic en [**Settings**]({{ repoUrl }}/settings) (Ajustes). 22 | 1. En la sección "GitHub Pages", en el desplegable Source, selecciona **main branch**. 23 | 24 | Una vez que GitHub Pages se ha activado y se ha iniciado el sitio web, estaremos listos para crear algún contenido más. 25 | 26 | > Activar GitHub Pages crea una implementación de tu repositorio. Puede llevarme hasta un minuto contestar mientras espero a la implementación. 27 | 28 |
29 |

Vuelve a esta propuesta _(issue)_ para mi siguiente comentario.

30 | 31 | > _A veces respondo demasiado rápido para que la página se actualice por sí misma. Si realizas alguna acción prevista y no ves una respuesta por mi parte, espera unos segundos y refresca la página para ver tus siguientes pasos._ 32 | -------------------------------------------------------------------------------- /server-installation-notes.md: -------------------------------------------------------------------------------- 1 | ## GitHub Enterprise Server (GHES) installation notes 2 | 3 | ✅ | This course is fully compatible with any supported version* of GHES. 4 | --- | --- 5 | 6 | *Supported versions of GHES are visible by using the drop-down in the [official documentation](https://help.github.com/enterprise/). 7 | 8 | ### Course dependencies 9 | 10 | The following are dependencies of the course. The course may continue to work without these dependencies, but learners won't experience the course as designed. 11 | 12 | | Dependency | Required? | Reason | Alternative | 13 | |--------------------------------------------------------------------------------------------------------------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 14 | | [GitHub Pages](https://help.github.com/en/enterprise/admin/installation/configuring-github-pages-on-your-appliance) | Yes | Used to teach the learner how to enable GitHub Pages, choose a theme, customize, and edit the project. | This course could be modified to teach Jekyll without GitHub Pages, but it requires significant changes to both `config.yml`, and the `responses/` folder. | 15 | | GHES must be able to reach githubusercontent.com | Yes | Images used throughout the course are served from this domain. Learners will find broken images required to take the course without this access. | Manually download the images referenced in the `responses/` folder, upload them to an accessible domain, and replace the images in the `responses/` folder. | 16 | | Learner must be able to reach github.com and outside web | No | Links are provided to resources that live on the outside web. | Without access to resources on the outside web, learners will reach blocked resources. You can change the links to these resources in the `responses/` folder, and in the template repository. | 17 | | GHES must be able to reach GitHub.com | Yes | The network must be able to access GitHub.com to access the [`minima` theme](https://pages.github.com/themes/). | If this is not possible, the repository can be recreated within your GHES instance and update the course instructions to point to the new [remote alternative theme](https://help.github.com/en/enterprise/2.14/user/articles/adding-a-jekyll-theme-to-your-github-pages-site). | 18 | -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | title: GitHub Pages 2 | tagline: Your sidekick in using GitHub Pages and blogs 3 | description: >- 4 | Learn how to create a site or blog from your GitHub repositories with GitHub 5 | Pages. 6 | tags: 7 | - GitHub 8 | - GitHub Pages 9 | template: 10 | name: github-pages-with-jekyll 11 | repo: github-pages-with-jekyll-template 12 | preferences: 13 | - type: dropdown 14 | name: language 15 | label: Language 16 | description: Choose your preferred language. 17 | options: 18 | - label: English 19 | value: en 20 | - label: Español 21 | value: es 22 | before: 23 | - type: createIssue 24 | title: Welcome 25 | body: 00_class-introduction-issue.md 26 | steps: 27 | - title: Generate a GitHub Pages site 28 | description: Generate a GitHub Pages site with the automatic page generator. 29 | translations: 30 | es: 31 | title: Activa GitHub Pages 32 | description: >- 33 | Gnera un sitio web con el generador automático de páginas GitHub 34 | Pages. 35 | event: page_build 36 | link: '{{ repoUrl }}/issues/1' 37 | actions: 38 | - type: octokit 39 | method: repos.getPages 40 | owner: '%payload.repository.owner.login%' 41 | repo: '%payload.repository.name%' 42 | action_id: pagesUrl 43 | - type: respond 44 | issue: 1 45 | with: 01_update-index.md 46 | data: 47 | deploymentUrl: '%actions.pagesUrl.data.html_url%' 48 | - type: updateBranchProtection 49 | - title: Customize your homepage 50 | description: Open a pull request with changes to the homepage. 51 | translations: 52 | es: 53 | title: Personaliza tu página inicial 54 | description: Abre un pull request con cambios en la página inicial. 55 | event: pull_request.opened 56 | link: '{{ repoUrl }}/issues' 57 | actions: 58 | - type: gate 59 | left: '%payload.pull_request.body%' 60 | required: false 61 | else: 62 | type: respond 63 | with: 02_pull-request-blank.md 64 | - type: getTree 65 | action_id: tree 66 | sha: '%payload.pull_request.head.sha%' 67 | - type: createReview 68 | body: 02_merge-pr.md 69 | event: APPROVE 70 | data: 71 | branch: '%payload.pull_request.head.ref%' 72 | - type: closeIssue 73 | issue: Welcome 74 | - title: Merge your pull request 75 | description: Merge the pull request that customizes your homepage. 76 | translations: 77 | es: 78 | title: Combina tu pull request 79 | description: Combina el pull request que personaliza tu página inicial. 80 | event: pull_request.closed 81 | link: '{{ repoUrl }}/pulls' 82 | actions: 83 | - type: gate 84 | left: '%payload.pull_request.merged%' 85 | - type: gate 86 | left: '%payload.pull_request.base.ref%' 87 | operator: === 88 | right: main 89 | - type: updateBranchProtection 90 | - type: octokit 91 | method: repos.getPages 92 | owner: '%payload.repository.owner.login%' 93 | repo: '%payload.repository.name%' 94 | action_id: pagesUrl 95 | - type: createIssue 96 | action_id: issue 97 | title: Getting ready to blog 98 | body: 03_change-theme.md 99 | data: 100 | deploymentUrl: '%actions.pagesUrl.data.html_url%' 101 | - type: respond 102 | with: 03_merged-pr.md 103 | data: 104 | url: '%actions.issue.data.html_url%' 105 | - title: Customize site details 106 | description: Edit the configuration file to display your information. 107 | translations: 108 | es: 109 | title: Personaliza los detalles del sitio 110 | description: Edita el archivo de configuración para mostrar tu información. 111 | event: pull_request 112 | link: '{{ repoUrl }}/issues' 113 | actions: 114 | - type: gate 115 | gates: 116 | - left: '%payload.action%' 117 | operator: === 118 | right: opened 119 | - left: '%payload.action%' 120 | operator: === 121 | right: synchronize 122 | - type: gate 123 | required: false 124 | left: '%payload.action%' 125 | operator: '!==' 126 | right: opened 127 | else: 128 | type: closeIssue 129 | issue: Getting ready to blog 130 | - type: gate 131 | required: false 132 | left: '%payload.pull_request.body%' 133 | else: 134 | type: respond 135 | with: 02_pull-request-blank.md 136 | - type: getFileContents 137 | filename: _config.yml 138 | action_id: file 139 | - type: gate 140 | left: '/^theme:\s?minima$/m' 141 | operator: test 142 | right: '%actions.file%' 143 | else: 144 | type: createReview 145 | event: REQUEST_CHANGES 146 | body: 04_wrong-theme.md 147 | - type: createReview 148 | event: COMMENT 149 | body: 04_create-blog-post.md 150 | data: 151 | branch: '%payload.pull_request.head.ref%' 152 | date: '%payload.pull_request.created_at%' 153 | - title: Create a blog post 154 | description: Create a new file that will become your first blog post. 155 | translations: 156 | es: 157 | title: Crea un post 158 | description: Crea un nuevo archivo que se convertirá en el primer post de tu blog. 159 | event: pull_request.synchronize 160 | link: '{{ repoUrl }}/pulls' 161 | actions: 162 | - type: getTree 163 | action_id: tree 164 | recursive: true 165 | sha: '%payload.pull_request.head.sha%' 166 | - type: gate 167 | action_id: directory 168 | required: false 169 | left: '%actions.tree.data.tree%' 170 | operator: includes 171 | right: 'path:/^_posts/' 172 | - type: gate 173 | action_id: filenumber 174 | required: false 175 | left: '%actions.tree.data.tree%' 176 | operator: includes 177 | right: 'path:/\d{4}-\d{2}-\d{2}/' 178 | - type: gate 179 | action_id: post 180 | required: false 181 | left: '%actions.tree.data.tree%' 182 | operator: includes 183 | right: 'path:/[a-zA-Z]\.md$/' 184 | - type: gate 185 | action_id: extension 186 | required: false 187 | left: '%actions.tree.data.tree%' 188 | operator: includes 189 | right: 'path:/\.md$/' 190 | - type: gate 191 | action_id: filename 192 | required: false 193 | left: '%actions.tree.data.tree%' 194 | operator: includes 195 | right: 'path:/(^|\/)\d{4}-\d{2}-\d{2}-.*\.md$/' 196 | - type: gate 197 | every: true 198 | gates: 199 | - left: '%actions.directory%' 200 | - left: '%actions.filenumber%' 201 | - left: '%actions.post%' 202 | - left: '%actions.extension%' 203 | - left: '%actions.filename%' 204 | else: 205 | - type: createReview 206 | body: 05_incorrect-post.md 207 | event: REQUEST_CHANGES 208 | data: 209 | directory: '%actions.directory%' 210 | filenumber: '%actions.filenumber%' 211 | post: '%actions.post%' 212 | extension: '%actions.extension%' 213 | filename: '%actions.filename%' 214 | - type: createReview 215 | body: 05_add-front-matter.md 216 | event: COMMENT 217 | - title: Add blog post metadata 218 | description: Add YAML front matter to the blog post to display the title and date. 219 | translations: 220 | es: 221 | title: Añade metadatos al post 222 | description: Añade texto preliminar YAML al post para mostrar el título y la fecha. 223 | event: pull_request.synchronize 224 | link: '{{ repoUrl }}/pulls' 225 | actions: 226 | - type: getTree 227 | action_id: tree 228 | recursive: true 229 | sha: '%payload.pull_request.head.sha%' 230 | - type: findInTree 231 | action_id: file 232 | tree: '%actions.tree.data.tree%' 233 | path: '/^_posts\/\d{4}-\d{2}-\d{2}-.*\.md$/' 234 | - type: getFileContents 235 | filename: '%actions.file.path%' 236 | action_id: contents 237 | - type: gate 238 | required: false 239 | action_id: dashes 240 | left: '/^-{3}[\s\S]+-{3}/' 241 | operator: test 242 | right: '%actions.contents%' 243 | - type: gate 244 | required: false 245 | action_id: title 246 | left: '/^title:\s?["''].+["'']$/m' 247 | operator: test 248 | right: '%actions.contents%' 249 | - type: gate 250 | required: false 251 | action_id: date 252 | left: '/^date:\s?\d{4}-\d{2}-\d{2}/m' 253 | operator: test 254 | right: '%actions.contents%' 255 | - type: gate 256 | every: true 257 | gates: 258 | - left: '%actions.dashes%' 259 | - left: '%actions.title%' 260 | - left: '%actions.date%' 261 | else: 262 | - type: createReview 263 | body: 06_incorrect-front-matter.md 264 | event: REQUEST_CHANGES 265 | data: 266 | date: '%actions.date%' 267 | title: '%actions.title%' 268 | dashes: '%actions.dashes%' 269 | - type: removeBranchProtection 270 | - type: createReview 271 | body: 06_merge-and-celebrate.md 272 | event: APPROVE 273 | - title: Merge your first post 274 | description: >- 275 | Merge the pull request so your blog post will appear on your GitHub Pages 276 | site. 277 | translations: 278 | es: 279 | title: Combina tu primer post 280 | description: >- 281 | Combina el pull request para que tu post aparezca en tu sitio de 282 | GitHub Pages. 283 | event: pull_request.closed 284 | link: '{{ repoUrl }}/pulls' 285 | actions: 286 | - type: octokit 287 | method: repos.getPages 288 | owner: '%payload.repository.owner.login%' 289 | repo: '%payload.repository.name%' 290 | action_id: pagesUrl 291 | - type: gate 292 | left: '%payload.pull_request.merged%' 293 | - type: respond 294 | with: 07_next-steps.md 295 | data: 296 | deploymentUrl: '%actions.pagesUrl.data.html_url%' 297 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution 4.0 International Public License 58 | 59 | By exercising the Licensed Rights (defined below), You accept and agree 60 | to be bound by the terms and conditions of this Creative Commons 61 | Attribution 4.0 International Public License ("Public License"). To the 62 | extent this Public License may be interpreted as a contract, You are 63 | granted the Licensed Rights in consideration of Your acceptance of 64 | these terms and conditions, and the Licensor grants You such rights in 65 | consideration of benefits the Licensor receives from making the 66 | Licensed Material available under these terms and conditions. 67 | 68 | 69 | Section 1 -- Definitions. 70 | 71 | a. Adapted Material means material subject to Copyright and Similar 72 | Rights that is derived from or based upon the Licensed Material 73 | and in which the Licensed Material is translated, altered, 74 | arranged, transformed, or otherwise modified in a manner requiring 75 | permission under the Copyright and Similar Rights held by the 76 | Licensor. For purposes of this Public License, where the Licensed 77 | Material is a musical work, performance, or sound recording, 78 | Adapted Material is always produced where the Licensed Material is 79 | synched in timed relation with a moving image. 80 | 81 | b. Adapter's License means the license You apply to Your Copyright 82 | and Similar Rights in Your contributions to Adapted Material in 83 | accordance with the terms and conditions of this Public License. 84 | 85 | c. Copyright and Similar Rights means copyright and/or similar rights 86 | closely related to copyright including, without limitation, 87 | performance, broadcast, sound recording, and Sui Generis Database 88 | Rights, without regard to how the rights are labeled or 89 | categorized. For purposes of this Public License, the rights 90 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 91 | Rights. 92 | 93 | d. Effective Technological Measures means those measures that, in the 94 | absence of proper authority, may not be circumvented under laws 95 | fulfilling obligations under Article 11 of the WIPO Copyright 96 | Treaty adopted on December 20, 1996, and/or similar international 97 | agreements. 98 | 99 | e. Exceptions and Limitations means fair use, fair dealing, and/or 100 | any other exception or limitation to Copyright and Similar Rights 101 | that applies to Your use of the Licensed Material. 102 | 103 | f. Licensed Material means the artistic or literary work, database, 104 | or other material to which the Licensor applied this Public 105 | License. 106 | 107 | g. Licensed Rights means the rights granted to You subject to the 108 | terms and conditions of this Public License, which are limited to 109 | all Copyright and Similar Rights that apply to Your use of the 110 | Licensed Material and that the Licensor has authority to license. 111 | 112 | h. Licensor means the individual(s) or entity(ies) granting rights 113 | under this Public License. 114 | 115 | i. Share means to provide material to the public by any means or 116 | process that requires permission under the Licensed Rights, such 117 | as reproduction, public display, public performance, distribution, 118 | dissemination, communication, or importation, and to make material 119 | available to the public including in ways that members of the 120 | public may access the material from a place and at a time 121 | individually chosen by them. 122 | 123 | j. Sui Generis Database Rights means rights other than copyright 124 | resulting from Directive 96/9/EC of the European Parliament and of 125 | the Council of 11 March 1996 on the legal protection of databases, 126 | as amended and/or succeeded, as well as other essentially 127 | equivalent rights anywhere in the world. 128 | 129 | k. You means the individual or entity exercising the Licensed Rights 130 | under this Public License. Your has a corresponding meaning. 131 | 132 | 133 | Section 2 -- Scope. 134 | 135 | a. License grant. 136 | 137 | 1. Subject to the terms and conditions of this Public License, 138 | the Licensor hereby grants You a worldwide, royalty-free, 139 | non-sublicensable, non-exclusive, irrevocable license to 140 | exercise the Licensed Rights in the Licensed Material to: 141 | 142 | a. reproduce and Share the Licensed Material, in whole or 143 | in part; and 144 | 145 | b. produce, reproduce, and Share Adapted Material. 146 | 147 | 2. Exceptions and Limitations. For the avoidance of doubt, where 148 | Exceptions and Limitations apply to Your use, this Public 149 | License does not apply, and You do not need to comply with 150 | its terms and conditions. 151 | 152 | 3. Term. The term of this Public License is specified in Section 153 | 6(a). 154 | 155 | 4. Media and formats; technical modifications allowed. The 156 | Licensor authorizes You to exercise the Licensed Rights in 157 | all media and formats whether now known or hereafter created, 158 | and to make technical modifications necessary to do so. The 159 | Licensor waives and/or agrees not to assert any right or 160 | authority to forbid You from making technical modifications 161 | necessary to exercise the Licensed Rights, including 162 | technical modifications necessary to circumvent Effective 163 | Technological Measures. For purposes of this Public License, 164 | simply making modifications authorized by this Section 2(a) 165 | (4) never produces Adapted Material. 166 | 167 | 5. Downstream recipients. 168 | 169 | a. Offer from the Licensor -- Licensed Material. Every 170 | recipient of the Licensed Material automatically 171 | receives an offer from the Licensor to exercise the 172 | Licensed Rights under the terms and conditions of this 173 | Public License. 174 | 175 | b. No downstream restrictions. You may not offer or impose 176 | any additional or different terms or conditions on, or 177 | apply any Effective Technological Measures to, the 178 | Licensed Material if doing so restricts exercise of the 179 | Licensed Rights by any recipient of the Licensed 180 | Material. 181 | 182 | 6. No endorsement. Nothing in this Public License constitutes or 183 | may be construed as permission to assert or imply that You 184 | are, or that Your use of the Licensed Material is, connected 185 | with, or sponsored, endorsed, or granted official status by, 186 | the Licensor or others designated to receive attribution as 187 | provided in Section 3(a)(1)(A)(i). 188 | 189 | b. Other rights. 190 | 191 | 1. Moral rights, such as the right of integrity, are not 192 | licensed under this Public License, nor are publicity, 193 | privacy, and/or other similar personality rights; however, to 194 | the extent possible, the Licensor waives and/or agrees not to 195 | assert any such rights held by the Licensor to the limited 196 | extent necessary to allow You to exercise the Licensed 197 | Rights, but not otherwise. 198 | 199 | 2. Patent and trademark rights are not licensed under this 200 | Public License. 201 | 202 | 3. To the extent possible, the Licensor waives any right to 203 | collect royalties from You for the exercise of the Licensed 204 | Rights, whether directly or through a collecting society 205 | under any voluntary or waivable statutory or compulsory 206 | licensing scheme. In all other cases the Licensor expressly 207 | reserves any right to collect such royalties. 208 | 209 | 210 | Section 3 -- License Conditions. 211 | 212 | Your exercise of the Licensed Rights is expressly made subject to the 213 | following conditions. 214 | 215 | a. Attribution. 216 | 217 | 1. If You Share the Licensed Material (including in modified 218 | form), You must: 219 | 220 | a. retain the following if it is supplied by the Licensor 221 | with the Licensed Material: 222 | 223 | i. identification of the creator(s) of the Licensed 224 | Material and any others designated to receive 225 | attribution, in any reasonable manner requested by 226 | the Licensor (including by pseudonym if 227 | designated); 228 | 229 | ii. a copyright notice; 230 | 231 | iii. a notice that refers to this Public License; 232 | 233 | iv. a notice that refers to the disclaimer of 234 | warranties; 235 | 236 | v. a URI or hyperlink to the Licensed Material to the 237 | extent reasonably practicable; 238 | 239 | b. indicate if You modified the Licensed Material and 240 | retain an indication of any previous modifications; and 241 | 242 | c. indicate the Licensed Material is licensed under this 243 | Public License, and include the text of, or the URI or 244 | hyperlink to, this Public License. 245 | 246 | 2. You may satisfy the conditions in Section 3(a)(1) in any 247 | reasonable manner based on the medium, means, and context in 248 | which You Share the Licensed Material. For example, it may be 249 | reasonable to satisfy the conditions by providing a URI or 250 | hyperlink to a resource that includes the required 251 | information. 252 | 253 | 3. If requested by the Licensor, You must remove any of the 254 | information required by Section 3(a)(1)(A) to the extent 255 | reasonably practicable. 256 | 257 | 4. If You Share Adapted Material You produce, the Adapter's 258 | License You apply must not prevent recipients of the Adapted 259 | Material from complying with this Public License. 260 | 261 | 262 | Section 4 -- Sui Generis Database Rights. 263 | 264 | Where the Licensed Rights include Sui Generis Database Rights that 265 | apply to Your use of the Licensed Material: 266 | 267 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 268 | to extract, reuse, reproduce, and Share all or a substantial 269 | portion of the contents of the database; 270 | 271 | b. if You include all or a substantial portion of the database 272 | contents in a database in which You have Sui Generis Database 273 | Rights, then the database in which You have Sui Generis Database 274 | Rights (but not its individual contents) is Adapted Material; and 275 | 276 | c. You must comply with the conditions in Section 3(a) if You Share 277 | all or a substantial portion of the contents of the database. 278 | 279 | For the avoidance of doubt, this Section 4 supplements and does not 280 | replace Your obligations under this Public License where the Licensed 281 | Rights include other Copyright and Similar Rights. 282 | 283 | 284 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 285 | 286 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 287 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 288 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 289 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 290 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 291 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 292 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 293 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 294 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 295 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 296 | 297 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 298 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 299 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 300 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 301 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 302 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 303 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 304 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 305 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 306 | 307 | c. The disclaimer of warranties and limitation of liability provided 308 | above shall be interpreted in a manner that, to the extent 309 | possible, most closely approximates an absolute disclaimer and 310 | waiver of all liability. 311 | 312 | 313 | Section 6 -- Term and Termination. 314 | 315 | a. This Public License applies for the term of the Copyright and 316 | Similar Rights licensed here. However, if You fail to comply with 317 | this Public License, then Your rights under this Public License 318 | terminate automatically. 319 | 320 | b. Where Your right to use the Licensed Material has terminated under 321 | Section 6(a), it reinstates: 322 | 323 | 1. automatically as of the date the violation is cured, provided 324 | it is cured within 30 days of Your discovery of the 325 | violation; or 326 | 327 | 2. upon express reinstatement by the Licensor. 328 | 329 | For the avoidance of doubt, this Section 6(b) does not affect any 330 | right the Licensor may have to seek remedies for Your violations 331 | of this Public License. 332 | 333 | c. For the avoidance of doubt, the Licensor may also offer the 334 | Licensed Material under separate terms or conditions or stop 335 | distributing the Licensed Material at any time; however, doing so 336 | will not terminate this Public License. 337 | 338 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 339 | License. 340 | 341 | 342 | Section 7 -- Other Terms and Conditions. 343 | 344 | a. The Licensor shall not be bound by any additional or different 345 | terms or conditions communicated by You unless expressly agreed. 346 | 347 | b. Any arrangements, understandings, or agreements regarding the 348 | Licensed Material not stated herein are separate from and 349 | independent of the terms and conditions of this Public License. 350 | 351 | 352 | Section 8 -- Interpretation. 353 | 354 | a. For the avoidance of doubt, this Public License does not, and 355 | shall not be interpreted to, reduce, limit, restrict, or impose 356 | conditions on any use of the Licensed Material that could lawfully 357 | be made without permission under this Public License. 358 | 359 | b. To the extent possible, if any provision of this Public License is 360 | deemed unenforceable, it shall be automatically reformed to the 361 | minimum extent necessary to make it enforceable. If the provision 362 | cannot be reformed, it shall be severed from this Public License 363 | without affecting the enforceability of the remaining terms and 364 | conditions. 365 | 366 | c. No term or condition of this Public License will be waived and no 367 | failure to comply consented to unless expressly agreed to by the 368 | Licensor. 369 | 370 | d. Nothing in this Public License constitutes or may be interpreted 371 | as a limitation upon, or waiver of, any privileges and immunities 372 | that apply to the Licensor or You, including from the legal 373 | processes of any jurisdiction or authority. 374 | 375 | 376 | ======================================================================= 377 | 378 | Creative Commons is not a party to its public 379 | licenses. Notwithstanding, Creative Commons may elect to apply one of 380 | its public licenses to material it publishes and in those instances 381 | will be considered the “Licensor.” The text of the Creative Commons 382 | public licenses is dedicated to the public domain under the CC0 Public 383 | Domain Dedication. Except for the limited purpose of indicating that 384 | material is shared under a Creative Commons public license or as 385 | otherwise permitted by the Creative Commons policies published at 386 | creativecommons.org/policies, Creative Commons does not authorize the 387 | use of the trademark "Creative Commons" or any other trademark or logo 388 | of Creative Commons without its prior written consent including, 389 | without limitation, in connection with any unauthorized modifications 390 | to any of its public licenses or any other arrangements, 391 | understandings, or agreements concerning use of licensed material. For 392 | the avoidance of doubt, this paragraph does not form part of the 393 | public licenses. 394 | 395 | Creative Commons may be contacted at creativecommons.org. 396 | --------------------------------------------------------------------------------