Skip to content

Commit cac58e0

Browse files
committed
Tools: Add boilerplate WIP Wednesday article script
- Add Python3 script to generate boilerplate WIP Wednesday articles in Markdown
1 parent 77ee4cc commit cac58e0

2 files changed

Lines changed: 722 additions & 0 deletions

File tree

tools/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# FreeCAD Website project Tools
2+
3+
4+
This directory contains scripts and utilities used for the FreeCAD website project.
5+
Tools are primarily for content generation, automation, data collection, and reporting tasks related to maintenance and development workflows.
6+
Please see the website repository [ReadMe](https://github.com/FreeCAD/Website?tab=readme-ov-file#readme) for contributions guidelines.
7+
8+
9+
## Included Scripts
10+
11+
### `wip_wednesday.py`
12+
13+
Python3 script to generate a boilerplate WIP Wednesday article based on the activity from the [`FreeCAD/FreeCAD`](https://github.com/FreeCAD/FreeCAD/) repository over the past week.
14+
It classifies Pull Requests (PRs) and issues, and produces a Markdown file with front matter suitable for use in the Hugo website.
15+
16+
**Features:**
17+
18+
- Interactive mode to confirm or adjust the date (defaults to Wednesday 12:00 UTC)
19+
- Class PRs by type for general information: backport, feature, fix, and other by git branch.
20+
- Group PRs by FreeCAD workbenches with commit authors, title and link for each PR.
21+
- Generate `index.md` in the correct `/content/en/news/<YYYY>/<MM>/wip-wednesday-<DD>-<Month>-<YYYY>/` folder.
22+
- Support non-interactive mode and GitHub tokens to increase API rate limits.
23+
24+
**Usage:**
25+
26+
```sh
27+
python3 wip_wednesday.py [optional arguments]
28+
```
29+
30+
**Optional arguments:**
31+
32+
- `--time <timestamp>`: optional date input like ISO 8601 (2026-01-01T12:00:00) or RFC 2822 (Thu, 01 Jan 2026 12:00:00 GMT)
33+
- `--author <name>`: optional article authors field in front matter
34+
- `--root <path>`: optional path to directory of website Hugo project (default: current working dir)
35+
- `--ci`: optional non-interactive mode with automatically most recent Wednesday
36+
- `--token <github_token>`: optional GitHub token or PAT (recommended to avoid rate limits)
37+
38+
**Output Example:**
39+
40+
```sh
41+
Created: website/content/en/news/2026/04/wip-wednesday-01-april-2026/index.md
42+
```
43+
44+
---
45+
46+
### `script.py`

0 commit comments

Comments
 (0)