Directory Layout
abc-site/
├── _docs/ # Documentation pages
├── _includes/ # Reusable HTML components
├── _layouts/ # Page templates
├── assets/
│ ├── css/ # Compiled stylesheets
│ ├── images/ # Logo, icons, banners
│ └── js/ # JavaScript files
├── data/ # JSON data files (projects)
├── docs/ # Rendered docs output
├── src/
│ ├── scripts/ # Source JS files
│ └── styles/ # Source CSS (compiles to assets/css/)
├── _config.yml # Site configuration
├── Gemfile # Ruby dependencies
├── package.json # Node dependencies
└── index.md # Homepage
Key Files
| File | Purpose |
|---|---|
_config.yml |
Site settings, branding, Modrinth config |
_layouts/default.html |
Main page template |
_includes/nav.html |
Navigation bar component |
_includes/footer.html |
Footer component |
data/mods.json |
Project data (generated by npm run fetch) |
assets/css/ |
Compiled stylesheets |
src/styles/ |
Source stylesheets |
Front Matter
Each Markdown page has YAML front matter:
---
layout: default # Template to use
title: Page Title # Page heading
description: ... # Meta description
category: Category # (for docs only)
tags: [tag1, tag2] # (for docs only)
permalink: /custom-url/ # Custom URL
---
Collections
_docs/ - Documentation pages
Located in _docs/ directory, rendered to /docs/.
Each page needs:
layout: doc
nav_order: 1
category: Category Name
tags: [tag1, tag2]
_includes/ - Components
Reusable HTML snippets included in templates:
nav.html- Navigation barfooter.html- Footertheme-controls.html- Theme toggleschema-markup.html- SEO schema
See Contributing to modify the structure.