idfive/idfive

Base Drupal theme for idfive.

11.1.2 2025-06-24 16:34 UTC

README

Drupal License

A minimal, modern Drupal base theme for idfive projects. Provides essential functionality and structure for building custom sub-themes.

⚠️ Important Notice

THIS THEME SHOULD NEVER BE ENABLED DIRECTLY

This is a base theme designed to be extended through sub-themes. Use Drupal's core starterkit functionality to create project-specific themes.

Features

  • Drupal 9, 10, and 11 compatible
  • 🎨 Minimal, modular CSS structure (323 lines total)
  • Essential JavaScript only (30 lines)
  • 📱 Accessibility-first design patterns
  • 🔧 Modern development workflow support
  • 🚀 Performance optimized

Requirements

  • Drupal: 9.x, 10.x, or 11.x
  • PHP: 8.1+ (following Drupal core requirements)

Installation

Via Composer (Recommended)

composer require idfive/idfive

Manual Installation

  1. Download the theme files
  2. Place in themes/contrib/idfive/ or themes/custom/idfive/
  3. Ensure the folder is named exactly idfive

Creating a Sub-Theme

Using Drupal Core Starterkit (Recommended)

php core/scripts/drupal generate-theme your_theme --starterkit idfive

This creates a complete sub-theme with:

  • Theme info file with proper base theme reference
  • Essential configuration files
  • Placeholder templates and assets
  • Theme settings integration

Manual Sub-Theme Creation

  1. Create theme directory: themes/custom/your_theme/
  2. Create your_theme.info.yml:
name: 'Your Theme Name'
type: theme
description: 'Custom theme based on idfive'
core_version_requirement: ^9 || ^10 || ^11
base theme: idfive

regions:
  primary_menu: 'Primary menu'
  secondary_menu: 'Secondary menu'
  content: 'Content'
  page_sidebar: 'Page Sidebar'
  footer_menu: 'Footer menu'

Theme Structure

idfive/
├── css/
│   ├── base/           # Normalize and element styles
│   ├── layout/         # Layout and grid systems
│   ├── components/     # UI components and forms
│   ├── theme/          # Theme-specific styles
│   ├── print/          # Print media styles
│   └── admin/          # Admin interface styles
├── js/
│   └── global.js       # Essential accessibility features
├── templates/
│   ├── core/           # Core Drupal template overrides
│   ├── layout/         # Page and HTML templates
│   ├── misc/           # Utility templates
│   └── navigation/     # Navigation templates
├── config/
│   ├── install/        # Default theme settings
│   └── schema/         # Configuration validation
└── images/             # Theme assets

Theme Settings

Access theme settings at admin/appearance/settings/your-theme:

  • Page Elements: Toggle site name, logo, and other page elements
  • Asset Management: Configure custom asset paths and build integration
  • UI Customization: Control various interface components

Template Overrides

The theme provides minimal template overrides focused on accessibility and clean markup:

  • templates/layout/html.html.twig - Modern HTML5 structure with accessibility features
  • templates/layout/page.html.twig - Clean page layout structure
  • templates/core/field.html.twig - Minimal field output (content only)
  • templates/core/block.html.twig - Clean block rendering

Development

CSS Architecture

Modular CSS structure for maintainability:

  • css/base/ - Normalize and element styles (63 lines)
  • css/layout/ - Layout and grid systems (57 lines)
  • css/components/ - UI components and forms (105 lines)
  • css/theme/ - Theme-specific styles (33 lines)
  • css/print/ - Print media styles (33 lines)
  • css/admin/ - Admin interface styles (32 lines)

JavaScript

Essential functionality only in js/global.js (30 lines):

  • Drupal.behaviors initialization
  • Focus management for accessibility
  • Keyboard navigation detection

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes following Drupal coding standards
  4. Submit a pull request

Support

  • Issues: Bitbucket Issues
  • Documentation: See DEVELOPER.md for detailed development information

License

GPL-2.0+ - see the LICENSE file for details.

Credits

Maintainers:

Organization: idfive

Remember: This is a base theme. Always create and use sub-themes for your projects!