feat: Add issue template and workflow for creating themes

This commit adds an issue template and a workflow for creating themes in the repository. The issue template allows users to submit a theme to be added to the theme library, while the workflow automatically parses the submitted issue and performs necessary checks.
This commit is contained in:
Mauro Balades 2024-08-15 19:46:12 +02:00
parent ad791b96e4
commit 5a1cf7cb93
2 changed files with 81 additions and 0 deletions

50
.github/ISSUE_TEMPLATE/create-theme.yml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Sumbit a theme
description: Submit a theme to be added to the theme library.
title: "[create-theme]: "
labels: ["new-theme"]
body:
- type: input
id: name
attributes:
label: Name
description: The name of the theme.
placeholder: Theme Name
validations:
required: true
- type: input
id: description
attributes:
label: Description
description: A brief description of the theme.
placeholder: Theme Description
validations:
required: true
- type: input
id: homepage
attributes:
label: Homepage
description: The URL of the theme's homepage or repository.
placeholder: Theme Homepage
validations:
required: true
- type: textarea
id: Theme Styles
attributes:
label: Theme Styles
description: The CSS styles for the theme.
placeholder: |
body {
background-color: white;
color: black;
}
validations:
required: true
- type: markdown
id: readme
attributes:
label: README
description: A markdown display for the theme. This will be displayed in the theme marketplace.
placeholder: |
# Theme Name
A brief description of the theme.

31
.github/workflows/create-theme.yml vendored Normal file
View file

@ -0,0 +1,31 @@
on:
issues:
types: [opened]
jobs:
titlePrefixCheck:
runs-on: ubuntu-latest
steps:
- name: Parse issue
id: parse
uses: onmax/issue-form-parser@v1.5
with:
issue_number: ${{ github.event.issue.number }}
# Examples on how to use the output
- name: Show parsed payload data
run: |
# Using the character `'` to prevent all characters enclosed within
# them from being treated as special characters (e.g. $ or `)
echo '${{ steps.parse.outputs.payload }}'
# Print the value of the "Name" field
echo '${{ fromJson(steps.parse.outputs.payload)["Name"] }}'
- if: startsWith(github.event.issue.title, '[create-theme]: ') != 'true'
name: Close Issue
uses: peter-evans/close-issue@v3
with:
comment: |
# Thank you for your contribution!