Skip to content

ryan-reid/BT-BKDiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BT-BKDiff: Diablo II Data Diff and Wiki Generator

This project compares Diablo II mod data across BKDiablo, BTDiablo, and retail data, then generates human-readable reports plus a local static wiki.

Project Structure

/
|-- data/           # Retail/base data snapshots and shared config
|-- docs/           # Modding references and project plans
|-- exports/        # Generated item database exports, ignored locally
|-- mods/           # BKDiablo and BTDiablo mod data
|-- output/         # Generated reports and local wiki output, ignored locally
|-- scripts/        # Rebuild entrypoint plus shared Python implementation
`-- tests/          # Unit tests and fixtures

Main Workflow

Install dependencies:

python -m pip install -r requirements.txt

Run the test suite:

python -m unittest discover -s tests

Rebuild all generated outputs:

python scripts/generate_reports.py

That command exports item databases, compares BKDiablo against BTDiablo and retail, regenerates class skill trees, and writes the local wiki to output/wiki/.

Generated Local Artifacts

These paths are produced by scripts/generate_reports.py and are intentionally ignored by git. They should be regenerated from source data instead of edited or reviewed as source files.

  • exports/item_db/: BKDiablo structured item export
  • exports/item_db_bt/: BTDiablo structured item export
  • exports/item_db_retail/: retail structured item export
  • output/item_diff_report_bt_bk/: BKDiablo vs BTDiablo item comparison
  • output/item_diff_report_retail_bk/: BKDiablo vs retail item comparison
  • output/excel_diff_report_bt_bk/: BKDiablo vs BTDiablo raw Excel comparison
  • output/excel_diff_report_retail_bk/: BKDiablo vs retail raw Excel comparison
  • output/skill_trees/: generated class skill tree Markdown
  • output/wiki/: generated static wiki site and GitHub Pages artifact

Diff report directories contain structured JSON DTOs plus browser-friendly HTML entry points at index.html. Markdown diff reports are no longer generated by the canonical report pipeline. Legacy direct-command defaults such as output/item_diff_report/ and output/excel_diff_report/ are ignored. Prefer scripts/generate_reports.py for repeatable project output.

Wiki

The wiki is a static site generated from the structured exports and skill tree Markdown. Item detail pages are pre-rendered HTML, while the item index uses output/wiki/data/items-index.json for browser-side search and filtering. Technical report pages are copied into output/wiki/reports/ during generation.

For local viewing, serve output/wiki/ with a simple static server after running the generator.

Script Layout

scripts/generate_reports.py is the top-level rebuild command. The implementation is organized under:

  • scripts/d2lib/: shared repository, service, exporter, and wiki generator code
  • scripts/cli/: primary CLI implementations
  • scripts/devtools/: development inspection utilities

About

Throw away repo to share diff in BT -> BK Diablo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors