From 3688ce6bfab6054609bb4c05a76e67d24842334d Mon Sep 17 00:00:00 2001 From: WalkxCode Date: Fri, 22 Apr 2022 13:45:45 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(ghactions):=20Try=20GitHub=20a?= =?UTF-8?q?ctions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_readme.yml | 36 ++++++++++++++ generate_readme.py | 74 +++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 .github/workflows/update_readme.yml create mode 100644 generate_readme.py diff --git a/.github/workflows/update_readme.yml b/.github/workflows/update_readme.yml new file mode 100644 index 0000000..3cdb014 --- /dev/null +++ b/.github/workflows/update_readme.yml @@ -0,0 +1,36 @@ +name: Update Readme + +on: + push: + workflow_dispatch: + schedule: + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v1 + with: + python-version: "3.9" + architecture: "x64" + + - name: Update Readme + run: |- + python generate_readme.py + cat README.md + + - name: Load to GitHub + run: |- + git diff + git config --global user.email "readmebot@walkx.org" + git config --global user.name "Readme Bot" + git add -A + git commit -m "✨ feat(add): Update Readme" || exit 0 + git push + diff --git a/generate_readme.py b/generate_readme.py new file mode 100644 index 0000000..fab25b0 --- /dev/null +++ b/generate_readme.py @@ -0,0 +1,74 @@ +import pathlib +from pathlib import Path +root = pathlib.Path(__file__).parent.resolve() +readme_path = root / 'README.md' + + +def generate_img_tag(file): + return f'{file.stem}' + + +if __name__ == "__main__": + imgs = sorted(Path("./png").glob("*.png")) + img_tags = [generate_img_tag(x) for x in imgs] + + with open(readme_path, "wt", encoding="UTF-8") as f: + f.write("

\n") + f.write("

Dashboard Icons

\n") + f.write("\n") + f.write("

\n") + f.write(" Dashboard Icons for your selfhosted services.\n") + f.write("
\n") + f.write( + " Get icons » \n") + f.write("

\n") + f.write("\n") + f.write("# Table of Contents\n") + f.write("- [Table of Contents](#table-of-contents)\n") + f.write("- [Getting Started](#getting-started)\n") + f.write(" - [Dashboards](#dashboards)\n") + f.write(" - [Installation](#installation)\n") + f.write("- [Icons](#icons)\n") + f.write("- [Legal](#legal)\n") + f.write("\n") + f.write("\n") + f.write("# Getting Started\n") + f.write("\n") + f.write("## Dashboards\n") + f.write("\n") + f.write( + "There's multiple Dashboards available. Here are some of the popular ones.\n") + f.write("\n") + f.write("- [Dashy*](https://github.com/Lissy93/dashy)\n") + f.write( + "- [Homer Dashboard](https://github.com/bastienwirtz/homer)\n") + f.write("- [Heimdall](https://github.com/linuxserver/Heimdall)\n") + f.write("- [Organizr(v2)](https://github.com/causefx/Organizr)\n") + f.write("- [Flame](https://github.com/pawelmalak/flame)\n") + f.write("- [SUI](https://github.com/jeroenpardon/sui)\n") + f.write("\n") + f.write("## Installation\n") + f.write( + "_*Dashy natively supports all icons in this repo, and is synced automatically. (Clicking [this link](https://github.com/Lissy93/dashy/blob/master/docs/icons.md#home-lab-icons) will take you to the docs that explain how to use the integration.)_\n") + f.write("\n") + f.write("To download an icon, simple `Right click > Save image`.\n") + f.write("\n") + f.write( + "For non-desktop operating systems, or people that prefer to use terminal.\n") + f.write("```sh\n") + f.write("$ curl https://raw.githubusercontent.com/walkxhub/dashboard-icons/master/png/example.png > example.png\n") + f.write("```\n") + f.write("or\n") + f.write("```sh\n") + f.write("$ wget https://raw.githubusercontent.com/walkxhub/dashboard-icons/master/png/example.png - O example.png\n") + f.write("```\n") + f.write("\n") + f.write("\n") + f.write("# Icons\n") + f.write(" ".join(img_tags)) + f.write("\n\n") + f.write("\n") + f.write("# Legal\n") + f.write("(Almost) All product names, trademarks and registered trademarks in the images in this repository, are property of their respective owners. All images in this repository are used by the users of the Dashboard Icons project for identification purposes only.\n") + f.write("\n") + f.write("The use of these names, trademarks and brands appearing in these image files, do not imply endorsement.\n")