diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 52ca25f..7fe5782 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,64 @@ 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 build + +``` +just build +``` + +- 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 +216,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 +249,4 @@ We have two recurring meetups: **Coffee and Code** and our **Monthly Meetup**. T "speaker": "Jay Miller", "topic": "Open Source" } - -``` - ``` 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 +
diff --git a/justfile b/justfile new file mode 100644 index 0000000..6471506 --- /dev/null +++ b/justfile @@ -0,0 +1,43 @@ +# Black Python Devs Website - Just recipes +# Run tasks with: just + +# Display all available commands +help: + @just --list + +# Install dependencies +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 . + +# Install hooks +install-hooks: + uv run pre-commit install + +# 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: sync lint test build + @echo "✓ Development workflow complete"