Skip to content

Conversation

@andreacfromtheapp
Copy link
Contributor

Apologies about the unrequested change. Opening this as demo one of some QoL improvement suggestions for @nellshamrell . It's up to you all do decide :)

Migrate from Makefile to Justfile

This PR converts the existing Makefile to a Justfile for improved developer experience and modern tooling.

Changes Made

Core Migration:

  • Converted all Make targets to Just recipes with equivalent functionality
  • Updated syntax from Make to Just format (removed #!/bin/sh, updated variable references)
  • Replaced $(shell pwd) with {{justfile_directory()}} for path resolution
  • All original functionalities preserved - no behavioral changes to existing workflows

Enhanced User Experience:

  • Added help recipe that displays all available commands with descriptions
  • Improved recipe descriptions for better clarity in help output
  • Added project title and essential user information

Container Runtime:

  • Renamed builddocker-build for explicit Docker usage
  • Fixed directory creation before container execution to prevent volume mount errors

Documentation Updates:

  • Updated README.md to reference Just instead of Make
  • Changed all command examples from make to just

Testing

  • Verified just website works end-to-end: Successfully generated 625 articles and hosted local server on port 8000
  • Verified just email works end-to-end: Successfully generated email template 622-2025-10-22-email.html
  • Verified individual email commands: Both just generate-email and just optimize-email work correctly as standalone operations
  • Verified clean operations: Both just clean-website and just clean-email work correctly
  • All container operations function correctly with the new justfile syntax

Usage

# Show all available commands
just help

# Main workflows (same as before)
just website          # Generate and host website locally
just email            # Generate and optimize email template
just copy-website-contents  # Sync to github.io repo

# Container build
just docker-build     # Build Docker image

Benefits

  • Better UX: Built-in help system with clear command descriptions
  • Modern tooling: Just provides better syntax and features than Make
  • Improved reliability: Fixed volume mounting issues
  • Full compatibility: All existing workflows remain unchanged

All existing workflows remain unchanged - users can simply replace make with just in their commands.

Apologies about the unrequested change. Opening this as **demo** one of
some QoL improvement suggestions for @nellshamrell . It's up to you all
do decide :)

## Migrate from Makefile to Justfile

This PR converts the existing Makefile to a Justfile for improved
developer experience and modern tooling.

### Changes Made

**Core Migration:**
- Converted all Make targets to Just recipes with equivalent
functionality
- Updated syntax from Make to Just format (removed `#!/bin/sh`, updated
variable references)
- Replaced `$(shell pwd)` with `{{justfile_directory()}}` for path
resolution
- **All original functionalities preserved** - no behavioral changes to
existing workflows

**Enhanced User Experience:**
- Added `help` recipe that displays all available commands with
descriptions
- Improved recipe descriptions for better clarity in help output
- Added project title and essential user information

**Container Runtime:**
- Renamed `build` → `docker-build` for explicit Docker usage
- Fixed directory creation before container execution to prevent volume
mount errors

**Documentation Updates:**
- Updated README.md to reference [Just](https://just.systems/) instead
of Make
- Changed all command examples from `make` to `just`

### Testing

- **Verified `just website` works end-to-end**: Successfully generated
625 articles and hosted local server on port 8000
- **Verified `just email` works end-to-end**: Successfully generated
email template `622-2025-10-22-email.html`
- **Verified individual email commands**: Both `just generate-email` and
`just optimize-email` work correctly as standalone operations
- **Verified clean operations**: Both `just clean-website` and `just
clean-email` work correctly
- All container operations function correctly with the new justfile
syntax

### Usage

```bash
# Show all available commands
just help

# Main workflows (same as before)
just website          # Generate and host website locally
just email            # Generate and optimize email template
just copy-website-contents  # Sync to github.io repo

# Container build
just docker-build     # Build Docker image
```

### Benefits

- **Better UX**: Built-in help system with clear command descriptions
- **Modern tooling**: Just provides better syntax and features than Make
- **Improved reliability**: Fixed volume mounting issues
- **Full compatibility**: All existing workflows remain unchanged

All existing workflows remain unchanged - users can simply replace
`make` with `just` in their commands.

Signed-off-by: andreacfromtheapp <[email protected]>
@nellshamrell
Copy link
Contributor

Thank you @andreacfromtheapp! And my apologies for not responding to your email, things have been very busy on my end. I will test this out this week (I welcome any of my fellow editors to do the same - especially @mariannegoldin and @bdillo )

@andreacfromtheapp
Copy link
Contributor Author

Hi @nellshamrell , don't worry about it. I figured you'd be busy.

I hope this is welcome by other reviewers as well 🤞

@nellshamrell
Copy link
Contributor

nellshamrell commented Oct 30, 2025

@andreacfromtheapp this is FANTASTIC. I really appreciate you preserving all of the existing functionality (verified that on my system). I also really appreciate the addition of the just help command and how this is a good first step in modernizing our tooling. We have need some modernizing for some time, but have not had the bandwidth to do it, and I really appreciate your help on this!

I'm going to bring this to the attention of the other editors who publish the newsletter (we rotate that duty) and see if this works for them. If it does, I will update with some ideas of when it would work well to merge this.

@nellshamrell
Copy link
Contributor

We are going to move forward with this! Working out the timing, but this will be merged very soon, thank you so much for this work!

@andreacfromtheapp
Copy link
Contributor Author

hi @nellshamrell and everyone :)

I'm glad you all liked this. Happy to contribute!!!

@mariannegoldin
Copy link
Contributor

Thank you so much @andreacfromtheapp

@mariannegoldin mariannegoldin merged commit 88f68c2 into rust-lang:master Nov 5, 2025
1 check passed
@andreacfromtheapp
Copy link
Contributor Author

@nellshamrell and everyone: is it ok for me to open more PR/issuer?

There were more suggestions in our email exchange. Granted: not all of them may be accepted or as easy to apply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants