├── .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 | 
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 | 
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 | 
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 | 
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 |
--------------------------------------------------------------------------------