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
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -408,5 +408,5 @@ Docs/pages/build/
Docs/pages/docs/Abstractions
Docs/pages/docs/aweXpect
Docs/pages/docs/Mockolate
Docs/pages/docs/Extensions
Docs/pages/docs/Extensions/*/
Docs/pages/docs/Chronology
10 changes: 6 additions & 4 deletions Docs/mirror-local-docs.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,11 @@ function Ensure-SidebarPosition([string]$content, [int]$position) {
return "---`nsidebar_position: $position`n---`n`n$content"
}

if (Test-Path -LiteralPath $DocsRoot) {
Write-Host "Cleaning $DocsRoot"
Remove-Item -LiteralPath $DocsRoot -Recurse -Force
}
New-Item -ItemType Directory -Path $DocsRoot -Force | Out-Null

# Clean each target subdirectory rather than the whole DocsRoot so that
# site-owned overlays committed under docs/ (e.g. Extensions/index.mdx)
# survive the mirror.
foreach ($source in $Sources) {
$sourceDir = Join-Path $Root (Join-Path $source.Repo $source.SourcePath)
$targetDir = Join-Path $DocsRoot $source.Target
Expand All @@ -118,6 +117,9 @@ foreach ($source in $Sources) {
continue
}

if (Test-Path -LiteralPath $targetDir) {
Remove-Item -LiteralPath $targetDir -Recurse -Force
}
New-Item -ItemType Directory -Path $targetDir -Force | Out-Null

$readmeIntro = ""
Expand Down
21 changes: 21 additions & 0 deletions Docs/pages/docs/Extensions/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Extensions
sidebar_position: 0
---

# Extensions

Add-on packages that extend the core Testably libraries with focused
expectations and integrations for popular ecosystems.

## aweXpect extensions

- **[aweXpect.Json](./aweXpect.Json/)** — expectations for `System.Text.Json`.
- **[aweXpect.Web](./aweXpect.Web/)** — expectations for `HttpClient` and
`HttpResponseMessage`.
- **[aweXpect.Reflection](./aweXpect.Reflection/)** — expectations for
reflection types.
- **[aweXpect.Testably](./aweXpect.Testably/)** — expectations for
Testably.Abstractions file and time systems.
- **[aweXpect.Mockolate](./aweXpect.Mockolate/)** — expectations for
Mockolate mock interactions.
7 changes: 5 additions & 2 deletions Pipeline/Build.Pages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,17 @@ record ReadmeSubstitution(
.Executes(async () =>
{
AbsolutePath docsRoot = RootDirectory / "Docs" / "pages" / "docs";
docsRoot.CreateOrCleanDirectory();
docsRoot.CreateDirectory();

// Clean each target subdirectory rather than the whole docsRoot so that
// site-owned overlays committed under docs/ (e.g. Extensions/index.mdx)
// survive the build.
foreach (DocsSource source in AggregatedSources)
{
AbsolutePath targetDirectory = string.IsNullOrEmpty(source.TargetSubDirectory)
? docsRoot
: docsRoot / source.TargetSubDirectory;
targetDirectory.CreateDirectory();
targetDirectory.CreateOrCleanDirectory();
await DownloadDocsContent(source, targetDirectory);
}
});
Expand Down
Loading