Skip to main content

Docs

Project Structure

Overview of the site's file structure and organization.

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 bar
  • footer.html - Footer
  • theme-controls.html - Theme toggle
  • schema-markup.html - SEO schema

See Contributing to modify the structure.