A centralized documentation site for all Netwrix security products, built with Docusaurus v3.8.1 and a simple prouct configuration for easy maintenance.
This documentation site serves all Netwrix product documentation.
- 19+ Security Products across 6 categories:
- Identity Management
- Privileged Access Management (PAM)
- Directory Management
- Endpoint Management
- Data Security Posture Management (DSPM)
- Identity Threat Detection & Response (ITDR)
- Multi-version Support with version management
- Centralized Configuration - single source of truth for all product docs
- Search capabilities with Algolia
- Node.js 18+
- npm
- Git
# Clone the repository
git clone https://github.com/netwrix/docs.git
cd docs
# Install dependencies
npm install
# Start development server
npm run start
βββ src/
β βββ config/
β β βββ products.js # CENTRALIZED CONFIGURATION
β βββ components/
β β βββ HomepageFeatures/ # Dynamic product grid homepage (auto-generated)
β β βββ ProductMetaTags/ # Search meta tags (auto-generated)
β β βββ CommunityHighlights/ # Community section
β β βββ CommunityShowcase/ # Community section
β βββ css/
β β βββ custom.css # Theme customization
β βββ pages/
β βββ index.js # Homepage with dynamic links
βββ docs/ # Product documentation
β βββ 1secure/ # SaaS/single-version products
β βββ accessanalyzer/ # Multi-version products
β β βββ 11.6/
β β βββ 12.0/
β βββ identitymanager/
β β βββ 6.1/
β β βββ 6.2/
β β βββ saas/
β βββ [other product docs]/
βββ sidebars/ # Sidebar configurations (referenced by products.js)
β βββ 1secure.js
β βββ accessanalyzer/
β β βββ 11.6.js
β β βββ 12.0.js
β βββ [other product sidebars]/
βββ scripts/ # Development utilities
βββ static/ # Static assets
β βββ img/
β βββ branding/ # Logos and brand assets
β βββ product_docs/ # Product images
βββ docusaurus.config.js # Main config
βββ package.json
# Development
npm run start # Start development server
# Building & Testing
npm run build # Full production build
# Utilities
npm run clear # Clear Docusaurus cache
npm run serve # Serve production build after `npm run build`
The centralized system makes development simple:
- Start development server:
npm run start
- Make changes to documentation or configuration
- Hot reload automatically updates the site
- All products and versions work seamlessly
All product configuration for building the site (e.g. naming) is managed in a single file. Here's how it works:
// Define a product once
{
id: 'accessanalyzer',
name: 'Access Analyzer',
description: 'Analyze and audit file system permissions',
path: 'docs/accessanalyzer',
category: 'Data Security Posture Management (DSPM)',
icon: 'π',
versions: [
{
version: '12.0',
label: '12.0',
isLatest: true,
sidebarFile: './sidebars/accessanalyzer/12.0.js'
},
{
version: '11.6',
label: '11.6',
isLatest: false,
sidebarFile: './sidebars/accessanalyzer/11.6.js'
}
]
}
Automatically generates:
- β Docusaurus plugin configurations
- β Homepage product grid
- β SEO meta tags
- β URL routing
- β Version management
interface Product {
id: string; // Unique identifier
name: string; // Display name
description: string; // Homepage description
path: string; // Documentation path
category: string; // Product category
icon?: string; // Emoji icon
versions: ProductVersion[]; // Version configurations
defaultVersion?: string; // Override default version
}
interface ProductVersion {
version: string; // Version identifier (e.g., '12.0', 'current')
label: string; // Display label
isLatest: boolean; // Is this the latest version?
sidebarFile: string; // Path to sidebar configuration
}
Key CSS variables in src/css/custom.css
:
--ifm-color-primary: #2a5298; /* Netwrix blue */
--ifm-color-primary-dark: #254a89; /* Darker variant */
--ifm-font-family-base: 'Inter'; /* Primary font */
The centralized system makes adding products incredibly simple:
1. Add to src/config/products.js
:
{
id: 'newproduct',
name: 'New Product Name',
description: 'Brief product description',
path: 'docs/newproduct',
category: 'Product Category', // Must match existing category
icon: 'π§',
versions: [
{
version: 'current',
label: 'Current',
isLatest: true,
sidebarFile: './sidebars/newproduct.js'
}
]
}
2. Create documentation structure:
mkdir docs/[newproduct]
3. Create sidebar configuration:
echo "// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const [newproduct]sidebar = {
sidebar: [
{
type: 'autogenerated',
dirName: '.',
},
],
};
export default sidebars;
" > sidebars/[newproduct].js
That's it! The new product automatically appears on the homepage with proper routing.
1. Update the product in src/config/products.js
:
// Add to existing product's versions array
versions: [
{
version: '[newversion]', // New version
label: '[newversion]',
isLatest: true, // Mark new version as latest
sidebarFile: './sidebars/[productname]/[newversion].js',
},
{
version: '1.0',
label: '1.0',
isLatest: false, // Update previous version latest to false
sidebarFile: './sidebars/[productname]/1.0.js',
},
];
2. Create version documentation:
mkdir docs/productname/[newversion]
3. Create version sidebar:
echo "// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const [newproduct]sidebar = {
sidebar: [
{
type: 'autogenerated',
dirName: '.',
},
],
};
export default sidebars;
" > sidebars/[newproduct].js
Add to the PRODUCT_CATEGORIES
in src/config/products.js
for the product category it belongs to:
{
id: 'new-category',
title: 'New Category Name',
description: 'Category description',
icon: 'π―'
}
docs/productname/
βββ index.md # Product overview
βββ getting-started/ # Quick start guides
βββ user-guide/ # End user documentation
βββ administration/ # Admin guides
βββ api-reference/ # API documentation
βββ troubleshooting/ # Common issues
---
title: 'Page Title'
sidebar_label: 'Sidebar Label'
description: 'SEO description'
---
- Location:
/static/img/product_docs/productname/
- Format: Use
.webp
for performance - Paths: Always absolute from project root

- Production: Auto-deploys from
main
branch - Development: Auto-deploys from
dev
branch
Contributing is easy:
- Start development server:
npm run start
-
Make your changes to documentation or configuration
-
Test builds:
npm run build
- Submit pull request
Create a PR to the dev branch, and then main when ready for production.
- β Homepage loads with all product categories
- β Product pages accessible from homepage links
- β Version badges work for multi-version products
- Docusaurus Documentation: docusaurus.io
- MDX Guide: mdxjs.com
- React Documentation: react.dev
- Algolia Documentation: algolia.com
This documentation site is MIT licensed and open source, and is maintained by Netwrix Corporation.