diff --git a/scripts/status.sh b/scripts/status.sh index f3cc4b8d82..5ca3e8684c 100755 --- a/scripts/status.sh +++ b/scripts/status.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# 重新生成badge +# 重新生成status data set -o errexit SCRIPTS_DIR=$(cd $(dirname "$0") && pwd) diff --git a/scripts/status/status.sh b/scripts/status/status.sh index acb03bbf4e..9705c3cbc0 100755 --- a/scripts/status/status.sh +++ b/scripts/status/status.sh @@ -1,27 +1,32 @@ #!/usr/bin/env bash set -e -cd "$(dirname $0)/../.." # 进入TP root +cd "$(dirname "$0")/../.." # 进入TP root function file-translating-p () { local file="$*" - head -n 3 "$file" |grep -E -i "translat|fanyi|翻译" >/dev/null 2>&1 + if head -n 1 "${file}" |grep '\[^#\]:'>/dev/null 2>&1 ;then + # 新模板 + head -n 12 "$file" |grep -v '\[^#\]:' |grep -E -i "translat|fanyi|翻译" >/dev/null 2>&1 + else + # 旧模板 + head -n 3 "$file" |grep -E -i "translat|fanyi|翻译" >/dev/null 2>&1 + fi } function get_status_of() { - local file="$@" + local file="$*" git log --date=short --pretty=format:"{\"file\":\"${file}\",\"time\":\"%ad\",\"user\":\"%an\"}" -n 1 "${file}" } -translating=$( git grep -niE "translat|fanyi|翻译" sources/*.md |awk -F ":" '{if ($2<=3) print $1}' |xargs -I{} git log --date=short --pretty=format:"{\"filename\":\"{}\",\"time\":\"%ad\",\"user\":\"%an\"}" -n 1 "{}") -unselected=$( -find sources -name "2*.md"|sort|while read file;do - if ! file-translating-p "${file}";then - get_status_of "${file}" +while read -r file;do + if file-translating-p "${file}";then + translating="${translating} $(get_status_of "${file}")" + else + unselected="${unselected} $(get_status_of "${file}")" fi -done -) +done< <(find sources -name "2*.md") ( -echo ${translating}|jq -s "." -echo ${unselected} |jq -s "." +echo "${translating}"|jq -s "." +echo "${unselected}"|jq -s "." )|jq -s '{"translating":.[0],"unselected":.[1]}'