xml-pipeline/docs/wiki/convert-to-xwiki.ps1
dullfig 515c738abb Add wiki documentation for xml-pipeline.org
Comprehensive documentation set for XWiki:
- Home, Installation, Quick Start guides
- Writing Handlers and LLM Router guides
- Architecture docs (Overview, Message Pump, Thread Registry, Shared Backend)
- Reference docs (Configuration, Handler Contract, CLI)
- Hello World tutorial
- Why XML rationale
- Pandoc conversion scripts (bash + PowerShell)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 20:40:47 -08:00

76 lines
3.2 KiB
PowerShell

# Convert Markdown wiki docs to XWiki format using Pandoc
#
# Prerequisites:
# - Pandoc installed (https://pandoc.org/installing.html)
# - Run from docs/wiki directory
#
# Usage:
# .\convert-to-xwiki.ps1
#
# Output:
# Creates xwiki/ directory with converted files
$ErrorActionPreference = "Stop"
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
$OutputDir = Join-Path $ScriptDir "xwiki"
Write-Host "Converting Markdown to XWiki format..."
Write-Host "Output directory: $OutputDir"
Write-Host ""
# Create output directory structure
New-Item -ItemType Directory -Force -Path $OutputDir | Out-Null
New-Item -ItemType Directory -Force -Path (Join-Path $OutputDir "architecture") | Out-Null
New-Item -ItemType Directory -Force -Path (Join-Path $OutputDir "reference") | Out-Null
New-Item -ItemType Directory -Force -Path (Join-Path $OutputDir "tutorials") | Out-Null
# Function to convert a single file
function Convert-File {
param (
[string]$Input,
[string]$Output
)
if (Test-Path $Input) {
Write-Host "Converting: $Input"
pandoc -f markdown -t xwiki $Input -o $Output
}
}
# Convert root level docs
Convert-File (Join-Path $ScriptDir "Home.md") (Join-Path $OutputDir "Home.xwiki")
Convert-File (Join-Path $ScriptDir "Installation.md") (Join-Path $OutputDir "Installation.xwiki")
Convert-File (Join-Path $ScriptDir "Quick-Start.md") (Join-Path $OutputDir "Quick-Start.xwiki")
Convert-File (Join-Path $ScriptDir "Writing-Handlers.md") (Join-Path $OutputDir "Writing-Handlers.xwiki")
Convert-File (Join-Path $ScriptDir "LLM-Router.md") (Join-Path $OutputDir "LLM-Router.xwiki")
Convert-File (Join-Path $ScriptDir "Why-XML.md") (Join-Path $OutputDir "Why-XML.xwiki")
# Convert architecture docs
Convert-File (Join-Path $ScriptDir "architecture\Overview.md") (Join-Path $OutputDir "architecture\Overview.xwiki")
Convert-File (Join-Path $ScriptDir "architecture\Message-Pump.md") (Join-Path $OutputDir "architecture\Message-Pump.xwiki")
Convert-File (Join-Path $ScriptDir "architecture\Thread-Registry.md") (Join-Path $OutputDir "architecture\Thread-Registry.xwiki")
Convert-File (Join-Path $ScriptDir "architecture\Shared-Backend.md") (Join-Path $OutputDir "architecture\Shared-Backend.xwiki")
# Convert reference docs
Convert-File (Join-Path $ScriptDir "reference\Configuration.md") (Join-Path $OutputDir "reference\Configuration.xwiki")
Convert-File (Join-Path $ScriptDir "reference\Handler-Contract.md") (Join-Path $OutputDir "reference\Handler-Contract.xwiki")
Convert-File (Join-Path $ScriptDir "reference\CLI.md") (Join-Path $OutputDir "reference\CLI.xwiki")
# Convert tutorials
Convert-File (Join-Path $ScriptDir "tutorials\Hello-World.md") (Join-Path $OutputDir "tutorials\Hello-World.xwiki")
Write-Host ""
Write-Host "Conversion complete!"
Write-Host ""
Write-Host "Files created in: $OutputDir"
Write-Host ""
Write-Host "Next steps:"
Write-Host " 1. Review the converted files"
Write-Host " 2. Upload to XWiki via REST API or import feature"
Write-Host ""
Write-Host "XWiki REST API example:"
Write-Host " curl -u admin:password -X PUT ``"
Write-Host " 'https://xml-pipeline.org/rest/wikis/xwiki/spaces/Docs/pages/Home' ``"
Write-Host " -H 'Content-Type: text/plain' ``"
Write-Host " -d @$OutputDir\Home.xwiki"