From 9b7d155d24326021ea929293c8bd441f277383ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Vukovi=C4=87?= Date: Wed, 10 Jul 2024 13:30:04 +0200 Subject: [PATCH] separate downloads page generation from release workflow (#103) * wip * add workflow --- .github/workflows/generate-downloads.yml | 41 ++++++++++++++++++++++++ languages.json | 2 +- tools/generate-downloads-table.sh | 25 +++++---------- 3 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/generate-downloads.yml diff --git a/.github/workflows/generate-downloads.yml b/.github/workflows/generate-downloads.yml new file mode 100644 index 0000000..1aff6da --- /dev/null +++ b/.github/workflows/generate-downloads.yml @@ -0,0 +1,41 @@ +name: Generate downloads page + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install jq + run: sudo apt-get install -y jq + + - name: Configure git + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + - name: Generate markdown table + id: generate_markdown + run: | + ./tools/generate-downloads-table.sh > table.md + cat table.md + + - name: Write to downloads.md + id: write_downloads_md + shell: bash + run: | + cat downloads-preamble.md table.md > downloads.md + rm table.md + cat downloads.md + + - name: Create pull request + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + title: "Update downloads.md with list of .zip files" + body: "This PR updates the downloads.md file with a table listing all .zip files." diff --git a/languages.json b/languages.json index b99353d..dd38b4b 100755 --- a/languages.json +++ b/languages.json @@ -1,7 +1,7 @@ [ {"iso": "sq", "language": "Albanian", "flag": "🇦🇱"}, {"iso": "grc", "language": "Ancient Greek", "flag": "🏺"}, - {"iso": "ar", "language": "Arabic", "flag": "🇪🇬"}, + {"iso": "ar", "language": "Arabic", "flag": "🟩"}, {"iso": "zh", "language": "Chinese", "flag": "🇨🇳"}, {"iso": "cs", "language": "Czech", "flag": "🇨🇿"}, {"iso": "nl", "language": "Dutch", "flag": "🇳🇱"}, diff --git a/tools/generate-downloads-table.sh b/tools/generate-downloads-table.sh index 4efb92f..cb969ff 100755 --- a/tools/generate-downloads-table.sh +++ b/tools/generate-downloads-table.sh @@ -1,17 +1,3 @@ -find data/language -type f -name '*.zip' > zip_files.txt - -check_file_exists() { - local filename=$1 - while IFS= read -r file; do - # Extract the part of the path after 'kty-' and before the '.zip' - extracted_name=$(basename "$file" .zip | sed 's/^kty-//') - if [ "$extracted_name" = "$filename" ]; then - return 0 - fi - done < zip_files.txt - return 1 -} - declare -a languages="($( jq -r '.[] | @json | @sh' languages.json ))" @@ -22,8 +8,9 @@ columns=("en" "zh" "fr" "de" "ru" "es" "ipa") for source_lang in "${languages[@]}"; do source_iso=$(echo "${source_lang}" | jq -r '.iso') source_language_name=$(echo "${source_lang}" | jq -r '.language') + flag=$(echo "${source_lang}" | jq -r '.flag') - row="| $source_language_name ($source_iso)" + row="| $flag
$source_language_name ($source_iso)" for column in "${columns[@]}"; do @@ -35,9 +22,13 @@ for source_lang in "${languages[@]}"; do cell="" for expected_filename in "${expected_filenames[@]}"; do - if check_file_exists "$expected_filename"; then - cell="$cell [kty-$expected_filename.zip](https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-$expected_filename.zip)
" + if [[ "$expected_filename" == *"-ipa" ]]; then + display_filename="IPA for ${expected_filename%-ipa}" + else + display_filename="$expected_filename" fi + + cell="$cell [$display_filename](https://github.com/themoeway/kaikki-to-yomitan/releases/latest/download/kty-$expected_filename.zip)
" done row="$row | $cell" done