Skip to main content

Other Files

This section describes additional important files in the RMC Software Documentation project that are not covered elsewhere.


docusaurus.config.js

This is the main configuration file for the Docusaurus site.
It defines site metadata, theme options, plugins, navigation, and other global settings.


tailwind.config.js

This file defines our Tailwind CSS setup for the documentation site. It extends the default Tailwind theme with project-specific design tokens and responsive behaviors that align with USACE branding and Groundwork standards.

Features

Dark Mode

This project uses "class" mode with [data-theme="dark"] as the selector. This allows dark mode to toggle via Docusaurus' built-in theme system.

darkMode: ["class", '[data-theme="dark"]'];

Content Scanning

Tailwind scans src, docs, blog, and index.html for class names. This ensures unused styles are purged correctly and all Markdown/MDX content is covered.

content: [
"./src/**/*.{js,ts,jsx,tsx}",
"./docs/**/*.{js,ts,jsx,tsx,md,mdx}",
"./blog/**/*.{js,ts,jsx,tsx,md,mdx}",
"./index.html",
];

Theme Extensions

Key design tokens are defined under theme.extend:

  • Font Sizes: The project uses clamp(...) for fluid, responsive typography. Headings (h1–h6), body text (normal), and other sizes like caption, large, and navbar are all defined for consistency across breakpoints.
  • Font Family: All documentation text uses the usace font stack: Roboto, Arial, Helvetica, sans-serif.
  • Custom Colors:
    • Static USACE brand colors (e.g., usace-box-red, gov-banner-gray)
    • Navigation and footer-specific colors
    • CSS variable bindings (e.g., --font-color, --ifm-link-color) for theme responsiveness
  • Grid Utilities: Adds a custom 1fr-auto row template for layouts that need a fixed footer

Screens (Breakpoints)

The project defines sm, md, and lg explicitly:

  • sm: 0px - mobile-first baseline
  • md: 900px - triggers multi-column layouts
  • lg: 1760px - used to cap content width or enable wide layouts

Tips for developers

  • Use the named fontSize keys (e.g., text-normal, text-caption) instead of raw Tailwind sizes for consistency across the site
  • Use CSS variables (e.g., text-font-color, ifm-primary) to support dark/light theming automatically

LICENSE

This project is licensed under the MIT License © 2025 Risk Management Center.


Project Dependencies

  • package.json
    Lists the project's dependencies, scripts, and metadata.
    Defines the required versions of packages needed to run or build the documentation site, and includes custom scripts like counters, versions, run, start, build, and deploy for Docusaurus.

  • package-lock.json
    Locks the exact versions of every package (and sub-package) installed at the time of npm install.
    Ensures that everyone working on the project uses the same dependency versions, which improves consistency across environments.


.gitignore and .gitattributes

  • .gitignore
    Specifies files and folders that should be excluded from version control (e.g., node_modules/, build artifacts, local environment files).

  • .gitattributes
    Used to define attributes per path, such as end-of-line normalization and diff settings.


.nojekyll

This file tells GitHub Pages to bypass Jekyll processing, allowing files and folders that start with an underscore (_) to be served.


README.md

Provides an overview of the website and a link to this Documentation Guide from the GitHub repository.