Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
env:
NODE_OPTIONS: "--max-old-space-size=16384"
NODE_ENV: ${{ needs.determine-environment.outputs.environment }}
TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_WEBHOOK_URL }}

- name: Upload artifact for deployment
uses: actions/upload-artifact@v4
Expand Down
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,39 @@ npm install
npm run start
```

## 🔧 Environment Variables

### `TEAMS_WEBHOOK_URL` (Optional)

Enables Microsoft Teams notifications for broken links and images detected during documentation builds.

**Setup Instructions:**

1. **Create a Teams Incoming Webhook:**
- Open your Microsoft Teams channel
- Click the "..." menu → Connectors → Incoming Webhook
- Click "Configure" and give it a name (e.g., "Docs Build Notifications")
- Copy the webhook URL

2. **Configure the Environment Variable:**

**For Local Development:**
```bash
export TEAMS_WEBHOOK_URL="https://your-org.webhook.office.com/webhookb2/..."
```

**For GitHub Actions:**
- Go to repository Settings → Secrets and variables → Actions
- Add new repository secret named `TEAMS_WEBHOOK_URL`
- Paste your webhook URL

3. **Behavior:**
- If configured: Sends a summary notification after each build with broken link counts and details
- If not configured: Broken link detection still works, but no Teams notifications are sent
- Build never fails due to notification issues (graceful degradation)

**Required Format:** Must be an HTTPS URL (validated at runtime)

## 📁 Project Structure

```
Expand Down
2 changes: 1 addition & 1 deletion docs/pingcastle/3.3/enterpriseinstall.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ It requires:
https://dotnet.microsoft.com/en-us/download/dotnet/8.0
```

![A screenshot of a computer Description automatically generated](/images/pingcastle/enterpriseinstall/image4.webp)
![A screenshot of a computer Description automatically generated](/images/pingcastle/enterpriseinstall/image4.webp1111)

1. IIS should be installed before the ASP.NET 8.0 Hosting Bundle. If
not, then the Hosting Bundle installation may be required to be
Expand Down
10 changes: 8 additions & 2 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import { themes as prismThemes } from 'prism-react-renderer';
import { generateDocusaurusPlugins, generateNavbarDropdowns } from './src/config/products.js';
import { handleBrokenMarkdownLink, handleBrokenMarkdownImage } from './src/utils/brokenLinkNotifier.js';

/** @type {import('@docusaurus/types').Config} */
const config = {
Expand All @@ -21,13 +22,16 @@ const config = {
baseUrl: '/',

// throw on anything that is not configured correctly
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'throw',
onBrokenLinks: 'warn',
onBrokenAnchors: 'throw',

// Set Mermaid
markdown: {
mermaid: true,
hooks: {
onBrokenMarkdownLinks: handleBrokenMarkdownLink,
onBrokenMarkdownImages: handleBrokenMarkdownImage,
},
},
themes: ['@docusaurus/theme-mermaid'],

Expand Down Expand Up @@ -79,6 +83,8 @@ const config = {
anonymizeIP: true,
},
],
// Broken link summary notification plugin
'./src/plugins/broken-link-summary-plugin.js',
// Generate all product documentation plugins from centralized configuration
...generateDocusaurusPlugins().map(([pluginName, config]) => [
pluginName,
Expand Down
Loading