Documentation Style Guide
To maintain consistency and high quality across the PhoenixCore wiki, please follow these guidelines when creating or editing pages.
🏗️ Page Structure
- Title: Use a clear
# H1header at the top. - Introduction: A brief 1-2 sentence overview of the system or tool.
- Key Concepts: Use
## H2headers for major sections. - Source References: Always link to the relevant Java files in the GitHub repository.
💻 Code Blocks
Use code blocks to illustrate implementation details. Keep them concise.
- Language: Always specify
javaorjson. - Context: Include enough surrounding code to make the snippet understandable, but avoid pasting entire files.
- Annotations: Use comments to explain complex logic within the block.
Example:
// Logic for handling custom soul growth
if (recipe.data.contains("soul_growth")) {
SoulGrowthHook.handle(recipe, level, pos);
}
📝 Formatting & Admonitions
Use MkDocs Material features to highlight important information.
- Important Info: Use
!!! info "Title"for useful tips. - Warnings: Use
!!! warning "Title"for dangerous mechanics (e.g., meltdowns). - Links: Use
!!! link "Title"for external references or source code links.
🔗 Linking to Source Code
At the bottom of technical pages, provide links to the primary source files.
Format:
!!! link "Source Code"
[:material-github: FissionMachine.java](https://github.com/Phoenixvine32908/PhoenixCore/blob/main/src/main/java/net/phoenix/core/integration/phoenix_fission/common/data/multiblock/fission/FissionWorkableElectricMultiblockMachine.java)
🎨 Visuals (Optional)
- Screenshots: Place in
assets/img/and use standard markdown:. - Icons: Use Material Design Icons where possible (e.g.,
:material-cog:).
✅ Checklist before Submitting
- [ ] Does the page have a clear H1 title?
- [ ] Are all Java classes mentioned linked to their source file?
- [ ] Is the language specified for all code blocks?
- [ ] Is the page added to the relevant
.pagesfile for navigation?