From e725a7be7724c0bf3968c9ed61e6bd250211d8e1 Mon Sep 17 00:00:00 2001 From: zarzet Date: Tue, 20 Jan 2026 10:12:01 +0700 Subject: [PATCH] feat: convert GitHub Markdown to Telegram format in release notification --- .github/workflows/release.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 92fdd545..b8d64d08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -446,8 +446,20 @@ jobs: if [ -z "$FULL_CHANGELOG" ]; then CHANGELOG="See release notes on GitHub for details." else + # Convert GitHub Markdown to Telegram Markdown: + # - **text** → *text* (GitHub bold to Telegram bold) + # - ### Header → *Header* (headers to bold) + # - Add extra line break before major list items for readability + CHANGELOG=$(echo "$FULL_CHANGELOG" | \ + sed 's/\*\*\([^*]*\)\*\*/*\1*/g' | \ + sed 's/^### \(.*\)$/*\1*/g' | \ + sed 's/^## \(.*\)$/*\1*/g' | \ + sed 's/^- \*\*\([^:]*\):\*\*/\n• *\1:*/g' | \ + sed 's/^- /• /g' | \ + sed 's/^ - / ◦ /g') + # Take first 2500 characters, then cut at last complete line - CHANGELOG=$(echo "$FULL_CHANGELOG" | head -c 2500 | sed '$d') + CHANGELOG=$(echo "$CHANGELOG" | head -c 2500 | sed '$d') # Check if truncated FULL_LEN=${#FULL_CHANGELOG}