From 26dc0a649643b22f5a5ced683aed77e3356fd827 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 09:35:17 +0700 Subject: [PATCH 01/14] feat(footer): use dynamic year variable --- _layouts/_includes/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_layouts/_includes/footer.html b/_layouts/_includes/footer.html index 42b4394..3f0f8f3 100644 --- a/_layouts/_includes/footer.html +++ b/_layouts/_includes/footer.html @@ -28,7 +28,7 @@

Contact Us

From b29e9e9df450d61553469f17cc7d0649114328e3 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 09:54:27 +0700 Subject: [PATCH 02/14] ci(scorecard): add manually trigger --- .github/workflows/scorecard.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index baf286b..f4b2b91 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -13,6 +13,8 @@ on: - cron: "22 15 * * 4" push: branches: ["gh-pages"] + + workflow_dispatch: # Declare default permissions as read only. permissions: read-all From 90ef6b1d2f3803212281f7e4194e409d3005be04 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 09:59:14 +0700 Subject: [PATCH 03/14] ci(scorecard): update upload artifact name --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f4b2b91..1e5f84e 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -63,7 +63,7 @@ jobs: - name: "Upload artifact" uses: actions/upload-artifact@97a0fba1372883ab732affbe8f94b823f91727db # v3.pre.node20 with: - name: SARIF file + name: scorecard-sarif path: results.sarif retention-days: 5 From a4c24d2bdf016b6b443e29ff0b2b96da24a9b881 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 10:01:32 +0700 Subject: [PATCH 04/14] ci(scorecard): switch upload-artifact to v4 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1e5f84e..b00426f 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -61,7 +61,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@97a0fba1372883ab732affbe8f94b823f91727db # v3.pre.node20 + uses: actions/upload-artifact@v4 with: name: scorecard-sarif path: results.sarif From 30278636b7124d378a7eddcfc91accfac710b20f Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 10:04:14 +0700 Subject: [PATCH 05/14] ci(scorecard): switch to v4 --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b00426f..57bdc36 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -39,7 +39,7 @@ jobs: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + uses: ossf/scorecard-action@v4 with: results_file: results.sarif results_format: sarif @@ -70,6 +70,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@v3 + uses: github/codeql-action/upload-sarif@v4 with: sarif_file: results.sarif From 775df2a6fbbc4afeebf0557532262d65f5f6abde Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 10:06:13 +0700 Subject: [PATCH 06/14] ci(scorecard): switch to v2.4.3 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 57bdc36..23f730d 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -39,7 +39,7 @@ jobs: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@v4 + uses: ossf/scorecard-action@v2.4.3 with: results_file: results.sarif results_format: sarif From b84659206d3e3a61d983498e7d1b2b8b6aad57ba Mon Sep 17 00:00:00 2001 From: danielcristho Date: Fri, 9 Jan 2026 10:20:50 +0700 Subject: [PATCH 07/14] ci(scorecard): fix pre-commit --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 23f730d..44e9cf3 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -13,7 +13,7 @@ on: - cron: "22 15 * * 4" push: branches: ["gh-pages"] - + workflow_dispatch: # Declare default permissions as read only. From 2bae3d4f23c019db5f23f02d534abc0e5cfc328f Mon Sep 17 00:00:00 2001 From: danielcristho Date: Sun, 15 Feb 2026 21:03:11 +0700 Subject: [PATCH 08/14] fix: leadership summit page typo --- _data/sponsored_events.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/sponsored_events.json b/_data/sponsored_events.json index fed18de..5108515 100644 --- a/_data/sponsored_events.json +++ b/_data/sponsored_events.json @@ -1,7 +1,7 @@ { "bpd": [ { - "title": "Black Python Devs Leadership Summita 2024", + "title": "Black Python Devs Leadership Summit 2024", "url": "/bpd-events/black-python-devs-leadership-summit-2024.html" } ], From 59b0ac99d91c77a704313f4c462bb50a0e49c209 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 12:50:52 +0700 Subject: [PATCH 09/14] feat: add justfile --- justfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 justfile diff --git a/justfile b/justfile new file mode 100644 index 0000000..207251c --- /dev/null +++ b/justfile @@ -0,0 +1,40 @@ +# Black Python Devs Website - Task Runner +# Run tasks with: just + +# Display all available commands +help: + @just --list + +# Install dependencies +install: sync +sync: + uv sync --all-extras + +# Run development server +serve: + uv run render-engine serve + +# Build static site +build: + uv run --no-dev --prerelease=allow render-engine build + +# Run linters +lint: + uv run ruff check . + uv run ruff format --check . + +# Run pre-commit hooks +pre-commit: + uv run pre-commit run --all-files + +# Run tests +test: + uv run --dev pytest + +# Run tests with verbose output +test-verbose: + uv run --dev pytest -v + +# Run full development workflow +dev: install lint test build + @echo "✓ Development workflow complete" \ No newline at end of file From 31a7da4f730a94996564fd2a0e7231b838a50c43 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 13:29:03 +0700 Subject: [PATCH 10/14] adjust: change 'install' to 'sync' --- justfile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/justfile b/justfile index 207251c..cd4fe8a 100644 --- a/justfile +++ b/justfile @@ -6,7 +6,6 @@ help: @just --list # Install dependencies -install: sync sync: uv sync --all-extras @@ -23,6 +22,10 @@ lint: uv run ruff check . uv run ruff format --check . +# Install hooks +install-hooks: + uv run pre-commit install + # Run pre-commit hooks pre-commit: uv run pre-commit run --all-files @@ -36,5 +39,5 @@ test-verbose: uv run --dev pytest -v # Run full development workflow -dev: install lint test build - @echo "✓ Development workflow complete" \ No newline at end of file +dev: sync lint test build + @echo "✓ Development workflow complete" From 5bc002a4a7852125122221e9cf7043cd60fe97c3 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 13:29:59 +0700 Subject: [PATCH 11/14] docs: update contributing guidelines to mention justfile --- CONTRIBUTING.md | 80 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 63 insertions(+), 17 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 52ca25f..86a97af 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -69,8 +69,6 @@ class About(Page): data = yaml.safe_load(pathlib.Path("_data/leadership.yaml").read_text()) ``` -``` - The `@app.page` tells Render Engine that we're building a single page vs a collection of pages. The `class About(Page):` tells us about the Page object. Attributes will pass information on render engine and the jinja template that will be loaded @@ -144,6 +142,60 @@ This project uses uv as it is currently the easiest way for developers with diff ![Pytest terminal](/assets/images/pytest_run_terminal.png) +### Using Justfile + +This project provides a [justfile](./justfile) to simplify common development tasks. + +Before running any of the commands below, ensure that [just](https://just.systems/man/en/introduction.html) is installed on your system. + +Once installed, you can run the following commands from the project root: + +- Install all dependencies using `uv sync` + +``` +just sync +``` + +- Run the development server + +``` +just serve +``` + +- Run linters + +``` +just lint +``` + +- Run the test + +``` +just test +``` + +- Run pre-commit hooks + +``` +just pre-commit +``` + +- Run the full development workflow + +``` +just dev +``` + +- List available commands + +``` +just + +or + +just --list +``` + ### Pushing Changes - Run `git commit -m ""` to commit your changes. @@ -160,26 +212,23 @@ This project uses uv as it is currently the easiest way for developers with diff Events are currently created manually by adding entries to `_data/events.json`. To create a conference, use the following JSON structure: -``` - +```json { -"name": "Conference name", -"url": "https://blackpythondevs.com/", -"start_date": "2025-02-10", -"end_date": "2025-09-20", -"location": "Thailand", -"description": "Lorem ipsum dolor sit amet consectetur adipiscing elit ...", -"speaker": "Tim Osahenru" + "name": "Conference name", + "url": "https://blackpythondevs.com/", + "start_date": "2025-02-10", + "end_date": "2025-09-20", + "location": "Thailand", + "description": "Lorem ipsum dolor sit amet consectetur adipiscing elit ...", + "speaker": "Tim Osahenru" } - ``` ### Regular meetups We have two recurring meetups: **Coffee and Code** and our **Monthly Meetup**. These events remain consistent in format, with only the **date, time, and speaker** subject to change. Updates can be made within the `meetups` list: -``` - +```json { "name": "Coffee and Code", "date": "2023-09-20", @@ -196,7 +245,4 @@ We have two recurring meetups: **Coffee and Code** and our **Monthly Meetup**. T "speaker": "Jay Miller", "topic": "Open Source" } - -``` - ``` From 90e9309bf77dbd27c2866f99b140a984f65ce537 Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 13:32:20 +0700 Subject: [PATCH 12/14] docs: update contributing guidelines to mention justfile --- CONTRIBUTING.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 86a97af..7fe5782 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -146,9 +146,7 @@ This project uses uv as it is currently the easiest way for developers with diff This project provides a [justfile](./justfile) to simplify common development tasks. -Before running any of the commands below, ensure that [just](https://just.systems/man/en/introduction.html) is installed on your system. - -Once installed, you can run the following commands from the project root: +Before running any of the commands below, ensure that [just](https://just.systems/man/en/introduction.html) is installed on your system.Once installed, you can run the following commands from the project root: - Install all dependencies using `uv sync` @@ -162,6 +160,12 @@ just sync just serve ``` +- Run build + +``` +just build +``` + - Run linters ``` From ee1916a91747d7a5ac75433e7f973bfd50edc3bf Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 13:39:14 +0700 Subject: [PATCH 13/14] adjust(justfile): update --- justfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/justfile b/justfile index cd4fe8a..6471506 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,4 @@ -# Black Python Devs Website - Task Runner +# Black Python Devs Website - Just recipes # Run tasks with: just # Display all available commands From f0de75b0362aa78730b24ac0a47421191a2bbeea Mon Sep 17 00:00:00 2001 From: danielcristho Date: Wed, 18 Feb 2026 19:10:04 +0700 Subject: [PATCH 14/14] docs: add new contributors --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index c489a00..7cde9f3 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,13 @@ You can deploy your project locally but the fastest way to contribute is to use
Brijesh Thummar + + + + danielcristho +
+ Daniel Pepuho +