A consolidated and modular CSS system for LocumTele dashboards and documentation pages.
This CSS system is designed to provide:
docs/brand/
├── brand.css # Core brand styles and variables
├── dashboard-framework.css # Reusable dashboard layout system
├── sites-consolidated.css # Site-specific styles (consolidated)
├── sites.css # Legacy site styles (for backward compatibility)
├── dashboard-template.html # HTML template for new dashboards
├── dashboard-config.js # JavaScript configuration for dashboards
├── create-dashboard.js # Script to generate new dashboards
└── README.md # This file
node docs/brand/create-dashboard.js my-dashboard integrations
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="docs/brand/brand.css">
<link rel="stylesheet" href="docs/brand/dashboard-framework.css">
<link rel="stylesheet" href="docs/brand/sites-consolidated.css">
</head>
<body class="lt-branded">
<div class="dashboard-layout">
<!-- Your dashboard content -->
</div>
</body>
</html>
lt-*
(e.g., lt-card
, lt-btn-primary
)dashboard-*
(e.g., dashboard-layout
, dashboard-card
)site-*
(e.g., site-api-section
, site-nav-link
)<div class="dashboard-layout">
<nav class="dashboard-sidebar">...</nav>
<div class="dashboard-header">...</div>
<div class="dashboard-content">...</div>
</div>
<div class="dashboard-card">
<div class="dashboard-card-header">
<h3 class="dashboard-card-title">Title</h3>
<p class="dashboard-card-subtitle">Subtitle</p>
</div>
<!-- Card content -->
</div>
<a href="#" class="dashboard-btn dashboard-btn-primary">Primary</a>
<a href="#" class="dashboard-btn dashboard-btn-secondary">Secondary</a>
<a href="#" class="dashboard-btn dashboard-btn-outline">Outline</a>
<div class="dashboard-grid dashboard-grid-2">
<!-- 2-column grid -->
</div>
<div class="dashboard-grid dashboard-grid-3">
<!-- 3-column grid -->
</div>
<div class="dashboard-stats">
<div class="dashboard-stat">
<div class="dashboard-stat-value">1,247</div>
<div class="dashboard-stat-label">Total Items</div>
</div>
</div>
Edit dashboard-config.js
to customize navigation and page metadata:
const DASHBOARD_CONFIGS = {
integrations: {
title: "Integration Dashboard",
headerTitle: "🏥 Integration Dashboard",
headerDescription: "API Documentation & Integration Resources",
pageDirectory: "integrations",
navigation: [
{
id: "dashboard",
title: "Dashboard",
icon: "🏠",
onClick: "loadPage('dashboard', this)"
}
// ... more navigation items
]
}
};
dashboard-config.js
:
const DASHBOARD_CONFIGS = {
myCustomType: {
title: "My Custom Dashboard",
headerTitle: "🏥 My Custom Dashboard",
headerDescription: "Custom dashboard description",
pageDirectory: "my-custom",
navigation: [
// Your navigation items
],
pages: {
// Your page metadata
}
}
};
node create-dashboard.js my-dashboard myCustomType
<!-- Old -->
<link rel="stylesheet" href="docs/brand/brand.css">
<link rel="stylesheet" href="docs/brand/sites.css">
<!-- New -->
<link rel="stylesheet" href="docs/brand/brand.css">
<link rel="stylesheet" href="docs/brand/dashboard-framework.css">
<link rel="stylesheet" href="docs/brand/sites-consolidated.css">
<!-- Old -->
<div class="site-layout">
<nav class="site-sidebar">
<!-- New -->
<div class="dashboard-layout">
<nav class="dashboard-sidebar">
<!-- Old -->
<div class="lt-card">
<!-- New (more features) -->
<div class="dashboard-card">
<!-- Good -->
<div class="dashboard-card">
<h3 class="dashboard-card-title">User Statistics</h3>
</div>
<!-- Avoid -->
<div class="blue-box">
<h3 class="big-text">User Statistics</h3>
</div>
<!-- Responsive grid that adapts to screen size -->
<div class="dashboard-grid dashboard-grid-3">
<div class="dashboard-card">Item 1</div>
<div class="dashboard-card">Item 2</div>
<div class="dashboard-card">Item 3</div>
</div>
<div class="dashboard-card dashboard-text-center dashboard-mb-3">
<h3 class="dashboard-card-title">Centered Card</h3>
</div>
<!-- Use the spacing scale -->
<div class="dashboard-mb-1">Small margin</div>
<div class="dashboard-mb-3">Medium margin</div>
<div class="dashboard-mb-5">Large margin</div>
When adding new styles:
Add this to your HTML for visual debugging:
<style>
* { outline: 1px solid red; }
</style>
See the following files for complete examples:
dashboard-integrations.html
- Integration dashboarddocs/api/api-htmls/dashboard.html
- Dashboard page contentdocs/pages/widgets/dashboard.html
- Widget dashboard pageFor questions or issues with the CSS system, please refer to the LocumTele development team.