Skip to content

Commit 74ab123

Browse files
committed
docs: add custom DocFX theme
1 parent 95927bd commit 74ab123

11 files changed

Lines changed: 392 additions & 14 deletions

File tree

.github/workflows/publish-docs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
with:
2727
dotnet-version: 10.0.x
2828

29+
- name: Build release binaries
30+
run: dotnet build ModularityKit.Mutator.slnx -c Release
31+
2932
- name: Install DocFX
3033
run: dotnet tool update -g docfx
3134

Docs/Home.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
![ModularityKit.Mutator](../assets/brand/mutator-landing-banner.png)
2+
3+
# ModularityKit.Mutator
4+
5+
ModularityKit.Mutator is a .NET mutation runtime with governance, request lifecycle, approval flow,
6+
and Redis-backed storage.
7+
8+
## Packages
9+
10+
| Package | What it covers |
11+
| --- | --- |
12+
| [`ModularityKit.Mutator`](../src/README.md) | mutation runtime, policies, execution, audit, history |
13+
| [`ModularityKit.Mutator.Governance`](../src/Governance/README.md) | request lifecycle, approvals, resolution, governed execution |
14+
| [`ModularityKit.Mutator.Governance.Redis`](../src/Redis/README.md) | Redis-backed storage and query provider |
15+
16+
## Explore
17+
18+
| Area | What to read |
19+
| --- | --- |
20+
| API reference | [`Docs/API/Reference.md`](API/Reference.md) |
21+
| Core concepts | [`Docs/Core-Concepts.md`](Core-Concepts.md) |
22+
| Execution model | [`Docs/ExecutionModel.md`](ExecutionModel.md) |
23+
| Roadmap | [`Docs/Roadmap.md`](Roadmap.md) |
24+
25+
## What this site contains
26+
27+
- package overviews for the runtime and governance extensions
28+
- conceptual docs for the mutation model and request flow
29+
- generated API reference from XML docs
30+
31+
## Build locally
32+
33+
```bash
34+
dotnet tool update -g docfx
35+
dotnet build ModularityKit.Mutator.slnx -c Release
36+
docfx docfx.json
37+
```

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ Build the DocFX site locally with:
4343

4444
```bash
4545
dotnet tool update -g docfx
46+
dotnet build ModularityKit.Mutator.slnx -c Release
4647
docfx docfx.json
4748
```
4849

docfx.json

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,13 @@
44
"src": [
55
{
66
"files": [
7-
"src/ModularityKit.Mutator.csproj",
8-
"src/ModularityKit.Mutator.Governance.csproj",
9-
"src/Redis/ModularityKit.Mutator.Governance.Redis.csproj"
10-
],
11-
"exclude": [
12-
"**/bin/**",
13-
"**/obj/**"
7+
"src/bin/Release/net10.0/ModularityKit.Mutator.dll",
8+
"src/bin/Release/net10.0/ModularityKit.Mutator.Governance.dll",
9+
"src/Redis/bin/Release/net10.0/ModularityKit.Mutator.Governance.Redis.dll"
1410
]
1511
}
1612
],
17-
"dest": "obj/api",
18-
"properties": {
19-
"Configuration": "Release",
20-
"TargetFramework": "net10.0"
21-
}
13+
"dest": "obj/api"
2214
}
2315
],
2416
"build": {
@@ -59,11 +51,15 @@
5951
"dest": "_site",
6052
"globalMetadata": {
6153
"_appTitle": "ModularityKit.Mutator",
54+
"_appName": "ModularityKit.Mutator",
55+
"_appLogoPath": "assets/brand/logo.png",
56+
"_appLogoUrl": "Docs/Home.html",
6257
"_appFooter": "ModularityKit.Mutator documentation",
6358
"_enableSearch": true
6459
},
6560
"template": [
66-
"default"
61+
"default",
62+
"templates/modularitykit"
6763
]
6864
}
6965
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
2+
{{!include(/^styles/.*/)}}
3+
{{!include(/^fonts/.*/)}}
4+
{{!include(favicon.ico)}}
5+
{{!include(logo.svg)}}
6+
{{!include(search-stopwords.json)}}
7+
<!DOCTYPE html>
8+
<!--[if IE]><![endif]-->
9+
<html {{#_lang}}lang="{{_lang}}"{{/_lang}}>
10+
{{>partials/head}}
11+
{{^redirect_url}}
12+
<body data-spy="scroll" data-target="#affix" data-offset="120">
13+
<a class="skip-link" href="#_content">Skip to content</a>
14+
<div class="site-topbar">
15+
<div class="container site-topbar__inner">
16+
<span class="site-topbar__brand">{{_appTitle}}</span>
17+
<span class="site-topbar__text">Mutation runtime, governance, and generated API reference.</span>
18+
</div>
19+
</div>
20+
<div id="wrapper" class="site-frame">
21+
<header>
22+
{{^_disableNavbar}}
23+
{{>partials/navbar}}
24+
{{/_disableNavbar}}
25+
{{^_disableBreadcrumb}}
26+
{{>partials/breadcrumb}}
27+
{{/_disableBreadcrumb}}
28+
</header>
29+
{{#_enableSearch}}
30+
<div class="container body-content">
31+
{{>partials/searchResults}}
32+
</div>
33+
{{/_enableSearch}}
34+
<div role="main" class="container body-content hide-when-search">
35+
{{^_disableToc}}
36+
{{>partials/toc}}
37+
<div class="article row grid-right">
38+
{{/_disableToc}}
39+
{{#_disableToc}}
40+
<div class="article row grid">
41+
{{/_disableToc}}
42+
{{#_disableAffix}}
43+
<div class="col-md-12">
44+
{{/_disableAffix}}
45+
{{^_disableAffix}}
46+
<div class="col-md-10">
47+
{{/_disableAffix}}
48+
<article class="content wrap" id="_content" data-uid="{{uid}}">
49+
{{!body}}
50+
</article>
51+
</div>
52+
{{^_disableAffix}}
53+
{{>partials/affix}}
54+
{{/_disableAffix}}
55+
</div>
56+
</div>
57+
{{^_disableFooter}}
58+
{{>partials/footer}}
59+
{{/_disableFooter}}
60+
</div>
61+
{{>partials/scripts}}
62+
</body>
63+
{{/redirect_url}}
64+
</html>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
2+
3+
<footer class="site-footer">
4+
<div class="grad-bottom"></div>
5+
<div class="footer">
6+
<div class="container site-footer__inner">
7+
<span class="site-footer__brand">ModularityKit.Mutator</span>
8+
<span class="site-footer__text">Generated from XML docs and published from main.</span>
9+
<span class="pull-right">
10+
<a href="#top">{{__global.backToTop}}</a>
11+
</span>
12+
</div>
13+
</div>
14+
</footer>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
2+
3+
<head>
4+
<meta charset="utf-8">
5+
{{#_googleAnalyticsTagId}}
6+
<script async src="https://www.googletagmanager.com/gtag/js?id={{_googleAnalyticsTagId}}"></script>
7+
<script>
8+
window.dataLayer = window.dataLayer || [];
9+
function gtag() { dataLayer.push(arguments); }
10+
gtag('js', new Date());
11+
gtag('config', '{{_googleAnalyticsTagId}}');
12+
</script>
13+
{{/_googleAnalyticsTagId}}
14+
{{#redirect_url}}
15+
<meta http-equiv="refresh" content="0;URL='{{redirect_url}}'">
16+
{{/redirect_url}}
17+
{{^redirect_url}}
18+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
19+
<meta name="theme-color" content="#0f172a">
20+
<title>{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}</title>
21+
<meta name="viewport" content="width=device-width">
22+
<meta name="title" content="{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}">
23+
{{#_description}}<meta name="description" content="{{_description}}">{{/_description}}
24+
{{#description}}<meta name="description" content="{{description}}">{{/description}}
25+
<link rel="shortcut icon" href="{{_rel}}{{{_appFaviconPath}}}{{^_appFaviconPath}}favicon.ico{{/_appFaviconPath}}">
26+
<link rel="stylesheet" href="{{_rel}}styles/docfx.vendor.min.css">
27+
<link rel="stylesheet" href="{{_rel}}styles/docfx.css">
28+
<link rel="stylesheet" href="{{_rel}}styles/main.css">
29+
<meta property="docfx:navrel" content="{{_navRel}}">
30+
<meta property="docfx:tocrel" content="{{_tocRel}}">
31+
{{#_noindex}}<meta name="searchOption" content="noindex">{{/_noindex}}
32+
{{#_enableSearch}}<meta property="docfx:rel" content="{{_rel}}">{{/_enableSearch}}
33+
{{#_enableNewTab}}<meta property="docfx:newtab" content="true">{{/_enableNewTab}}
34+
{{/redirect_url}}
35+
</head>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
2+
3+
<a class="navbar-brand site-brand" href="{{_rel}}{{{_appLogoUrl}}}{{^_appLogoUrl}}Docs/Home.html{{/_appLogoUrl}}">
4+
<img id="logo" class="site-brand__logo" src="{{_rel}}{{{_appLogoPath}}}{{^_appLogoPath}}assets/brand/logo.png{{/_appLogoPath}}" alt="{{_appName}}">
5+
<span class="site-brand__copy">
6+
<span class="site-brand__title">{{_appTitle}}</span>
7+
<span class="site-brand__subtitle">Docs</span>
8+
</span>
9+
</a>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
2+
3+
<nav id="autocollapse" class="navbar navbar-inverse site-navbar ng-scope" role="navigation">
4+
<div class="container">
5+
<div class="navbar-header site-navbar__header">
6+
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
7+
<span class="sr-only">Toggle navigation</span>
8+
<span class="icon-bar"></span>
9+
<span class="icon-bar"></span>
10+
<span class="icon-bar"></span>
11+
</button>
12+
{{>partials/logo}}
13+
</div>
14+
<div class="collapse navbar-collapse" id="navbar">
15+
<ul class="nav navbar-nav site-nav">
16+
<li><a href="{{_rel}}Docs/Home.html">Home</a></li>
17+
<li><a href="{{_rel}}src/README.html">Core</a></li>
18+
<li><a href="{{_rel}}src/Governance/README.html">Governance</a></li>
19+
<li><a href="{{_rel}}src/Redis/README.html">Redis</a></li>
20+
<li><a href="{{_rel}}Docs/API/Reference.html">API</a></li>
21+
</ul>
22+
<form class="navbar-form navbar-right site-search" role="search" id="search">
23+
<div class="form-group">
24+
<input type="text" class="form-control" id="search-query" placeholder="{{__global.search}}" autocomplete="off">
25+
</div>
26+
</form>
27+
</div>
28+
</div>
29+
</nav>

0 commit comments

Comments
 (0)