Skip to content

Latest commit

 

History

History
221 lines (170 loc) · 7.67 KB

1-Issues_Discussions_Pages.md

File metadata and controls

221 lines (170 loc) · 7.67 KB

🔨 Hands-on: Collaboration using Issues, Discussions, and Pages

In this hands-on lab you will practice to work with GitHub Issues, Discussions, and Pages. You will practice working with markdown, learn about issue templates and rendering markdown as a web page. The lab consists of the following parts:

Working with Issues and Templates

Create an Issue

Create an Issue and add markdown elements.

🛠️ DIY Link

  1. Add headers
  2. Add lists and task lists
  3. Add images and video
  4. Use emojis
  5. Mention a person or team (using @)
  6. Add a syntax-highlighted code block
  7. Add a flow chart and try different variants

Nesting issues

🛠️ DIY Link

  1. Create and apply a label Epic to the issue
  2. Add three tasks to the issue and convert them to issues
  3. Create a label Featureand mark the 3 issues with this label
  4. Add two tasks to each feature and convert them to issues
  5. Mark them with the label Story (create a label first)(use bulk edit!)

Enabling discussions

🛠️ DIY Link

Discussions are a great way to have a conversation in your team or with your users. In order to use discussions you need to enable discussions in your settings page.

  • In your repository go to Settings
  • In the General tab, scroll to features and enable discussions

Issue templates

Epic Template

🛠️ DIY Link

  1. Create an issue template for an Epic

  2. Create a config.yml file in the .github/ISSUE_TEMPLATEfolder

  3. In the config.yml file, disable blank issues

  4. Add an additional URL that points to a new discussion

    Solution
    blank_issues_enabled: false
    contact_links:
      - name: 👥 Discussions
        url:  https://github.com/<yourhandle>/<yourproject>/discussions/new
        about: Please use discussions for issues that are not a bug, enhancement or feature request

Bug Template

🛠️ DIY Link

  1. Add a template for a bug report (.github/ISSUE_TEMPLATE/bug_report.md)

  2. Assign bugs to yourself and add labels bug and unplanned to bugs

  3. Prefix the title with [Bug]: and add some sample markdown.

    Solution
    ---
    name: 🐞 Bug report
    about: Create a report to help us improve
    title: '[Bug]:'
    labels: [bug, unplanned]
    assignees: 
      - <yourhandle>
    ---
    
    **Describe the bug**
    A clear and concise description of what the bug is.
    
    **To Reproduce**
    Steps to reproduce the behavior:
    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error
    

Creating a Custom Form

🛠️ DIY Link

  1. Add a custom template file .github/ISSUE_TEMPLATE/custom.yml

  2. Add a required input with a placeholder text and a label, a textarea, a single select dropdown, a multi select dropdown, and a checkbox

    Solution
    name: 💡 Custom Issue Form
    description: A custom form with different fields
    body:
      - type: input
        id: contact
        attributes:
          label: Contact Details
          description: How can we get in touch with you if we need more info?
          placeholder: ex. [email protected]
        validations:
          required: false
      - type: textarea
        id: what-happened
        attributes:
          label: What happened?
          description: Also tell us, what did you expect to happen?
          placeholder: Tell us what you see!
          value: "Tell us what you think"
        validations:
          required: true
      - type: dropdown
        id: version
        attributes:
          label: Version
          description: What version of our software are you running?
          options:
            - 1.0.2 (Default)
            - 1.0.3 (Edge)
            - 1.0.4 (Something)
        validations:
          required: true
      - type: dropdown
        id: browsers
        attributes:
          label: What browsers are you seeing the problem on?
          multiple: true
          options:
            - Firefox
            - Chrome
            - Safari
            - Microsoft Edge
      - type: checkboxes
        id: terms
        attributes:
          label: Code of Conduct
          description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
          options:
            - label: I agree to follow this project's Code of Conduct
              required: true
  3. Verify your issue template and create a bug and an issue from the custom template

Participating in Discussions

🛠️ DIY Link

  1. Ask a question in discussions and answer it (mark it as answered)
  2. Create a poll
  3. Create an announcement
  4. Pin the question and the announcement to discussion
  5. See here for ideas

Rendering markdown as HTML with GitHub Pages

🛠️ DIY Link

  1. Create a markdown file index.md hand add metadata layout: home amd some sample markdown
Solution
---
layout: home
---

This is the the homepage `index.md`
  1. Enable Pages in your repository (main branch - folder /(root) and see your new homepage
Solution image
  1. Add a file _config.yml and configure pages to use the minima theme.
Solution
title: GitHub Bootcamp
description: >-
  This is is a sample Jekyll website that is hosted in GitHub Pages.
  It is used in the `GitHub Bootcamp` workshop from @<yourhandle>
twitter_username: <your name>
github_username: <yourhandle>
theme: minima
markdown: kramdown