Manages and organizes game resources for Ironvale using Jinja templating to generate configuration files and asset definitions. This repository provides a comprehensive system for managing game assets, configurations, and documentation through template-based generation.
Ironvale Resources is a resource management system designed for game development that leverages Jinja2 templating to dynamically generate configuration files and asset definitions. The project combines multiple technologies to create a streamlined workflow for managing complex game resources, employee data, documentation, and game assets.
- Template-Based Generation: Uses Jinja2 templating to create dynamic configuration files
- Asset Management: Organize and manage game assets efficiently
- Configuration Management: Centralized configuration file generation
- Documentation System: Integrated support for policy documentation and guides
- Multi-Language Support: Built with Jinja, Python, JavaScript, and CSS
- Automated Workflows: GitHub Actions integration for CI/CD processes
- Python 3.8 or higher
- Jinja2 templating engine
- Git
- Clone the repository:
git clone https://github.com/michael-borck/ironvale-resources.git
cd ironvale-resources- Install Python dependencies:
pip install -r requirements.txt- Install Jinja2 (if not included in requirements):
pip install jinja2- Verify the installation:
python -m jinja2 --version- Place your Jinja template files in the appropriate content directory:
content/
├── docs/
├── employees/
├── jobs/
└── ...
- Create your data configuration in
brief.yaml:
project: ironvale
version: 1.0.0
resources:
- name: asset_name
type: game_asset
config: path/to/config- Generate output files:
python scripts/generate_resources.pyironvale-resources/
├── .github/
│ └── workflows/
│ └── pages.yml # GitHub Pages deployment
├── content/
│ ├── docs/
│ │ ├── policy/ # Organization policies
│ │ └── support/ # Support documentation
│ ├── employees/ # Employee profiles and data
│ ├── jobs/ # Job definitions
│ └── ...
├── dist/
│ └── assets/ # Generated assets
├── brief.yaml # Main configuration file
├── LICENSE # MIT License
└── README.md
- content/docs/policy/: Organization policies including diversity and inclusion, health and safety guidelines
- content/docs/support/: User support documentation and FAQs
- content/employees/: Employee profiles and associated templates
- content/jobs/: Job configuration and definitions
- dist/: Generated output files and compiled assets
Edit brief.yaml to configure resource generation:
project: ironvale
description: Game resource management system
templates_dir: content/
output_dir: dist/Comprehensive documentation is available in the content/docs/ directory:
- Policies: Organizational policies covering diversity, inclusion, health, and safety
- Support Guides: User guides including FIFO roster information, environmental rehabilitation programs, and autonomous haulage FAQs
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install development dependencies:
pip install -r requirements-dev.txt- Run tests:
pytest- Create a feature branch:
git checkout -b feature/your-feature-name- Commit your changes:
git commit -m "Add your commit message"- Push to the branch:
git push origin feature/your-feature-name- Open a pull request
The project uses GitHub Actions for automated deployment. Configuration is defined in .github/workflows/pages.yml for GitHub Pages hosting.
To deploy:
- Push changes to the main branch
- GitHub Actions will automatically trigger the build and deployment
- Output will be available on GitHub Pages
This project is licensed under the MIT License - see the LICENSE file for details.
For support inquiries, documentation, and FAQs, please refer to the comprehensive guides in content/docs/support/.
For employee-specific information or organizational policies, consult the relevant documentation in content/docs/policy/.
Created and maintained by michael-borck
For more information about Ironvale Resources, please explore the documentation structure or open an issue on GitHub.