File tree Expand file tree Collapse file tree 2 files changed +59
-0
lines changed Expand file tree Collapse file tree 2 files changed +59
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Update Progress in Markdown
2+
3+ on :
4+ push :
5+ paths :
6+ - ' **.md'
7+ - update_progress.py
8+
9+ permissions :
10+ contents : write
11+
12+ jobs :
13+ update :
14+ runs-on : ubuntu-latest
15+ steps :
16+ - name : Checkout repo
17+ uses : actions/checkout@v3
18+
19+ - name : Set up Python
20+ uses : actions/setup-python@v5
21+ with :
22+ python-version : ' 3.x'
23+
24+ - name : Run update script
25+ run : python update_progress.py
26+
27+ - name : Commit changes
28+ run : |
29+ git config user.name "github-actions[bot]"
30+ git config user.email "github-actions[bot]@users.noreply.github.com"
31+ git add README.md
32+ git commit -m "Update progress" || echo "No changes to commit"
33+ git push
Original file line number Diff line number Diff line change 1+ import re
2+
3+ MARKDOWN_FILE = "README.md"
4+
5+ with open (MARKDOWN_FILE , "r" ) as f :
6+ content = f .read ()
7+
8+ # Extract all checkboxes
9+ tasks = re .findall (r"- \[( |x)\]" , content , re .IGNORECASE )
10+ total = len (tasks )
11+ completed = tasks .count ("x" ) + tasks .count ("X" )
12+ percent = (completed / total * 100 ) if total > 0 else 0
13+ progress_line = f"**Progress: { percent :.2f} % completed ({ completed } /{ total } )**"
14+
15+ # Replace between markers
16+ new_content = re .sub (
17+ r"<!-- progress:start -->.*?<!-- progress:end -->" ,
18+ f"<!-- progress:start -->\n { progress_line } \n <!-- progress:end -->" ,
19+ content ,
20+ flags = re .DOTALL
21+ )
22+
23+ with open (MARKDOWN_FILE , "w" ) as f :
24+ f .write (new_content )
25+
26+ print ("Updated progress." )
You can’t perform that action at this time.
0 commit comments