Skip to content

Commit

Permalink
merge: dev into main, overwriting conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
walkxcode committed Jan 4, 2025
2 parents 07a06d8 + be85e65 commit ff072f8
Show file tree
Hide file tree
Showing 4,986 changed files with 54,815 additions and 3,547 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
24 changes: 13 additions & 11 deletions .github/ISSUE_TEMPLATE/request_suggest.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,34 @@
name: "\U0001FA79 Requests & Suggestions"
name: "πŸ” Requests & Suggestions"
description: Suggest an icon or request changes
labels: "\U0001FA79 Requests & Suggestions"
labels: "πŸ” Requests & Suggestions"
assignees: walkxcode
body:
- type: markdown
attributes:
value: "Thank you for your interest in contributing to our icon repository! To ensure smooth collaboration, we've established clear guidelines for contributors.\n## 🌟 Icon Specifications\n\n- Icons should be provided in both `PNG` and `SVG` formats. Formats like `JPEG` or `WEBP` will not be accepted.\n - If an `SVG` version is unavailable, a `PNG` version alone suffices.\n - Conversely, if a `PNG` version is missing, it can be generated using [Ezgif SVG to PNG](https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md#-converting-svg-to-png).\n\n- `PNG` files should have a height of exactly `512px` Width can vary, but a 1:1 aspect ratio is preferred.\n - ❗ Exceptions for upscales will be made only if the correct or a downscaled version cannot be obtained.\n - Downsizing can be accomplished using [iLoveIMG Resize](https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md#-downscaling-pngs).\n\n- Icons should be named using the [Kebab Case](https://wiki.c2.com/?KebabCase) convention, reflecting their full name. For instance, \"Facebook Messenger\" should be named `facebook-messenger.png`.\n\n- Monochrome icons should default to a dark version. Light versions should be named `name-light.png`. If a light version is absent, utilize [https://pinetools.com/colorize-image](https://pinetools.com/colorize-image) to adjust its color.\n"
value: |
Thank you for your interest in contributing to our icon repository! To ensure smooth collaboration, please make sure to read and agree to our [Contribution Guidelines](https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md) before submitting your request.
- type: checkboxes
attributes:
label: Contribution Guidelines
options:
- label: I have read and agree to the [Contribution Guidelines](https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md)
- label: "I have read and agree to the [Contribution Guidelines](https://github.com/walkxcode/dashboard-icons/blob/main/CONTRIBUTING.md)"
required: true

- type: textarea
id: icon-name
attributes:
label: Icon Name
description: What is the name of the icon you are contributing?
description: What is the name of the icon you are requesting or suggesting?
placeholder: Enter icon name here
validations:
required: true

- type: textarea
id: icons
id: icon-details
attributes:
label: Icon(s)
description: >-
Upload your icons here. You can do this by Copy-Pasting or Drag &
Dropping the images.
placeholder: Copy-Paste or Drag & Drop images here!
label: Icon Details
description: Provide any additional details or context for the icon request.
placeholder: Enter details here
validations:
required: false
48 changes: 48 additions & 0 deletions .github/workflows/compress_icons.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Compress Icons πŸ—œοΈ

on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:

jobs:
compress_icons:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y zopfli webp npm
npm install -g svgo
- name: Compress PNG Files
run: |
echo "Compressing PNGs..."
find png/ -iname "*.png" -print0 | xargs -0 -P 4 -I{} zopflipng -y {} {}
- name: Compress SVG Files
run: |
echo "Compressing SVGs..."
svgo --config=svgo.config.js -f svg/
- name: Compress WEBP Files
run: |
echo "Compressing WEBPs..."
find webp/ -iname "*.webp" -print0 | xargs -0 -P 4 -I{} bash -c 'cwebp -quiet -lossless "$1" -o "$1"' _ {}
- name: Commit and Push Changes
run: |
git config --global user.email "[email protected]"
git config --global user.name "Dashboard Icons Bot"
git add png/ svg/ webp/
git commit -m ":compression: Compress icons" || exit 0
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
32 changes: 0 additions & 32 deletions .github/workflows/icons-page-generation.yml

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/png-compression.yml

This file was deleted.

99 changes: 99 additions & 0 deletions .github/workflows/update_icons_and_resources.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: "Update Icons and Resources ✨"

on:
push:
branches:
- main
- dev
paths:
- "svg/**"
- "png/**"
workflow_dispatch:

jobs:
convert_assets:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Repository πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Set Up Python 🐍
uses: actions/setup-python@v4
with:
python-version: "3.9"

- name: Install Dependencies πŸ“¦
run: |
pip install cairosvg pillow
- name: Run SVG to PNG and WEBP Conversion ♻️
run: python scripts/convert_svg_assets.py

- name: Commit and Push Changes πŸ“€
run: |
git config --global user.email "[email protected]"
git config --global user.name "Dashboard Icons Bot"
git add png/ webp/
git commit -m ":recycle: Convert SVG assets to PNG and WEBP" || exit 0
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
generate_file_tree:
needs: convert_assets
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Repository πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Set Up Python 🐍
uses: actions/setup-python@v4
with:
python-version: "3.9"

- name: Generate File Tree 🌳
run: python scripts/generate_file_tree.py svg png webp

- name: Commit and Push Changes πŸ“€
run: |
git config --global user.email "[email protected]"
git config --global user.name "Dashboard Icons Bot"
git add tree.json
git commit -m ":construction_worker: Generate file tree" || exit 0
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
generate_icons_page:
needs: generate_file_tree
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Repository πŸ›ŽοΈ
uses: actions/checkout@v3
with:
ref: ${{ github.ref_name }}

- name: Set Up Python 🐍
uses: actions/setup-python@v4
with:
python-version: "3.9"

- name: Generate ICONS.md πŸš€
run: python scripts/generate_icons_page.py

- name: Commit and Push Changes πŸ“€
run: |
git config --global user.email "[email protected]"
git config --global user.name "Dashboard Icons Bot"
git add ICONS.md
git commit -m ":construction_worker: Generate ICONS.md" || exit 0
git pull --rebase origin ${{ github.ref_name }}
git push origin HEAD:${{ github.ref_name }}
72 changes: 72 additions & 0 deletions .github/workflows/validate_and_preview_icons.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Validate and Preview Icons βœ…

on:
pull_request:
types: [opened, synchronize]

jobs:
validate_icons:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v3

- name: Set Up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"

- name: Install Dependencies
run: |
pip install cairosvg pillow
- name: Run SVG to PNG and WEBP Conversion
run: python scripts/convert_svg_assets.py

- name: Upload Converted Icons
uses: actions/upload-artifact@v3
with:
name: converted-icons
path: |
png/*.png
webp/*.webp
- name: Post Comment with Preview
uses: marocchino/sticky-pull-request-comment@v2
with:
message: |
## Icon Conversion Results
**Total Icons Processed:** ${{ steps.process.outputs.total_icons }}
**Converted PNGs:** ${{ steps.process.outputs.converted_pngs }}
**Converted WEBPs:** ${{ steps.process.outputs.converted_webps }}
**Removed PNGs:** ${{ steps.process.outputs.removed_pngs }}
**Removed WEBPs:** ${{ steps.process.outputs.removed_webps }}
${{ steps.process.outputs.failed_files }}
### Preview of Converted Icons:
${{ steps.preview.outputs.icon_previews }}
- name: Set Output Variables
id: process
run: |
echo "::set-output name=total_icons::$(grep 'Total icons:' output.log | awk '{print $3}')"
echo "::set-output name=converted_pngs::$(grep 'Converted' output.log | awk '{print $2}')"
echo "::set-output name=converted_webps::$(grep 'Converted' output.log | awk '{print $5}')"
echo "::set-output name=removed_pngs::$(grep 'Removed' output.log | awk '{print $2}')"
echo "::set-output name=removed_webps::$(grep 'Removed' output.log | awk '{print $5}')"
echo "::set-output name=failed_files::$(grep 'The following files failed' -A 10 output.log)"
- name: Generate Icon Previews
id: preview
run: |
ICONS=$(find png/ -type f -name "*.png")
PREVIEWS=""
for ICON in $ICONS; do
ICON_NAME=$(basename $ICON)
PREVIEW="![${ICON_NAME}](https://raw.githubusercontent.com/homarr-labs/dashboard-icons/${{ github.event.pull_request.head.ref }}/png/${ICON_NAME})"
PREVIEWS="$PREVIEWS $PREVIEW"
done
echo "::set-output name=icon_previews::$PREVIEWS"
31 changes: 19 additions & 12 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
# 🚨 Code of Conduct
## Code of Conduct

We are committed to providing a welcoming and harassment-free environment for everyone who wants to participate in our icon repository, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, religion, or nationality.
We are committed to creating a welcoming and harassment-free environment for everyone who contributes to our icon repository. This includes people of all genders, gender identities, sexual orientations, disabilities, appearances, body sizes, races, ages, religions, and nationalities.

## πŸ’¬ Communication
### Communication

All communication should be appropriate for a professional audience including people of many different backgrounds. Be respectful, considerate, and constructive in all communication, both online and offline.
All communication should be appropriate for a professional audience, respectful, constructive, and considerate of people from different backgrounds. Please aim to create a positive and inclusive atmosphere.

## 🚫 Prohibited Behavior
### Prohibited Behavior

Harassment, intimidation, discrimination, or any other inappropriate conduct or behavior will not be tolerated. This includes, but is not limited to, the use of sexual language or imagery, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.
We do not tolerate harassment, intimidation, discrimination, or any other inappropriate conduct, whether in communication or behavior. Prohibited actions include:

## πŸ“’ Reporting
- The use of sexual language or imagery
- Deliberate intimidation or stalking
- Unwelcome sexual attention or harassment
- Inappropriate physical contact
- Disruptions during events or conversations
- Discrimination of any kind

If you believe someone is violating the code of conduct, please report it immediately to [email protected]. All reports will be reviewed and investigated promptly and confidentially.
### Reporting

## 🚨 Consequences
If you witness or experience behavior that violates this code of conduct, please report it immediately to [[email protected]](mailto:[email protected]). All reports will be reviewed confidentially and promptly, and appropriate actions will be taken.

Anyone found to be engaging in behavior that violates the code of conduct will be subject to appropriate action, which may include, but is not limited to, warning, removal from the repository, or banning from participation in the repository.
### Consequences

## πŸ‘ Acknowledgment
Anyone violating this code of conduct may face consequences, such as warnings, removal from the repository, or a ban from future participation. We take violations seriously to ensure a safe and welcoming environment for everyone.

We ask that all participants in this repository agree to abide by this code of conduct. By contributing to this repository, you agree to these terms and conditions. Thank you for helping us create a welcoming and inclusive environment for all. πŸ™
### Acknowledgment

By contributing to this repository, you agree to adhere to this code of conduct. Thank you for helping us create an inclusive and supportive environment for all contributors.
Loading

0 comments on commit ff072f8

Please sign in to comment.