Skip to content
Merged
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
43 changes: 43 additions & 0 deletions docs/assets/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
const pages = [
{ title: "Overview", href: "pages/overview.html" },
{ title: "Service Definition", href: "pages/service-definition.html" },
{ title: "Operating Model", href: "pages/operating-model.html" },
Comment on lines +2 to +4
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fix nav links for pages served from docs/pages

These hrefs are relative to the current page, so when docs/pages/*.html loads ../assets/app.js, links like pages/overview.html resolve to docs/pages/pages/overview.html and 404; this breaks the nav and search results on every inner page even though docs/index.html still works. Use absolute paths or adjust the base (e.g., prefix ../) for pages loaded from docs/pages/.

Useful? React with 👍 / 👎.

{ title: "Architecture", href: "pages/architecture.html" },
{ title: "KPIs", href: "pages/kpis.html" },
{ title: "Roadmap", href: "pages/roadmap.html" },
{ title: "Runbooks", href: "pages/runbooks.html" },
{ title: "Templates", href: "pages/templates.html" },
{ title: "Hybrid", href: "pages/hybrid.html" }
];

function buildNav() {
const nav = document.getElementById("nav-links");
pages.forEach((page) => {
const link = document.createElement("a");
link.href = page.href;
link.textContent = page.title;
nav.appendChild(link);
});
}

function setupSearch() {
const input = document.getElementById("search");
if (!input) return;
input.addEventListener("input", (event) => {
const query = event.target.value.toLowerCase();
const results = pages.filter((page) =>
page.title.toLowerCase().includes(query)
);
const nav = document.getElementById("nav-links");
nav.innerHTML = "";
results.forEach((page) => {
const link = document.createElement("a");
link.href = page.href;
link.textContent = page.title;
nav.appendChild(link);
});
});
}

buildNav();
setupSearch();
80 changes: 80 additions & 0 deletions docs/assets/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
:root {
--bg: #f7f9fb;
--text: #1f2933;
--nav: #ffffff;
--accent: #0b5cab;
}

* {
box-sizing: border-box;
}

body {
margin: 0;
font-family: Arial, sans-serif;
color: var(--text);
background: var(--bg);
}

header {
background: var(--nav);
padding: 1rem 1.5rem;
border-bottom: 1px solid #e0e6ed;
}

.container {
display: flex;
min-height: calc(100vh - 60px);
}

nav {
width: 260px;
background: var(--nav);
border-right: 1px solid #e0e6ed;
padding: 1rem;
}

main {
flex: 1;
padding: 2rem;
}

nav a {
display: block;
color: var(--text);
text-decoration: none;
padding: 0.4rem 0;
}

nav a:hover {
color: var(--accent);
}

.search {
margin-bottom: 1rem;
}

.search input {
width: 100%;
padding: 0.5rem;
border: 1px solid #ccd6e0;
border-radius: 4px;
}

.card {
background: white;
padding: 1rem;
border-radius: 6px;
border: 1px solid #e0e6ed;
margin-bottom: 1rem;
}

@media (max-width: 900px) {
.container {
flex-direction: column;
}

nav {
width: 100%;
}
}
39 changes: 39 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Cloud Security Service Model</title>
<link rel="stylesheet" href="assets/style.css" />
</head>
<body>
<header>
<strong>Cloud Security Service Model</strong>
<div>Azure + Hybrid operating model</div>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Overview</h1>
<p>
This site summarizes the enterprise Cloud Security Service operating model. The canonical source of truth
is the Markdown documentation in the <code>docs/</code> folder.
</p>
<p>
Start with the executive overview and service definition to understand scope, boundaries, and ownership.
</p>
<p>
<a href="pages/overview.html">Go to overview</a>
</p>
</div>
</main>
</div>
<script src="assets/app.js"></script>
</body>
</html>
31 changes: 31 additions & 0 deletions docs/pages/architecture.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Architecture</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Architecture</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Architecture</h1>
<p>Principles and reference architecture for the Cloud Security Service.</p>
<p><a href="../03-architecture-principles.md">Architecture principles</a></p>
<p><a href="../04-reference-architecture.md">Reference architecture</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/hybrid.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hybrid</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Hybrid and Azure Local</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Hybrid</h1>
<p>Guidance for Azure Arc onboarding and Azure Local baseline controls.</p>
<p><a href="../18-hybrid-azure-local.md">View Markdown doc</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/kpis.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>KPIs</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>KPIs</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Metrics and KPIs</h1>
<p>Definitions, formulas, targets, and ownership for key metrics.</p>
<p><a href="../07-metrics-and-kpis.md">View Markdown doc</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/operating-model.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Operating Model</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Operating Model</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Operating Model</h1>
<p>Plan, build, run, and improve with defined cadence and escalation paths.</p>
<p><a href="../05-operating-model.md">View Markdown doc</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/overview.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Overview</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Executive Overview</h1>
<p>High-level purpose, assumptions, and framework alignment.</p>
<p><a href="../00-executive-overview.md">View Markdown doc</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/roadmap.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Roadmap</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Roadmap</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Roadmap and Maturity</h1>
<p>Phased maturity model with a sample 12-month roadmap.</p>
<p><a href="../08-roadmap-and-maturity.md">View Markdown doc</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
30 changes: 30 additions & 0 deletions docs/pages/runbooks.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Runbooks</title>
<link rel="stylesheet" href="../assets/style.css" />
</head>
<body>
<header>
<strong>Runbooks</strong>
</header>
<div class="container">
<nav>
<div class="search">
<input id="search" type="text" placeholder="Search pages" />
</div>
<div id="nav-links"></div>
</nav>
<main>
<div class="card">
<h1>Runbooks</h1>
<p>Operational guides for triage, remediation, and onboarding.</p>
<p><a href="../20-runbooks/README.md">View Markdown runbook index</a></p>
</div>
</main>
</div>
<script src="../assets/app.js"></script>
</body>
</html>
Loading