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>
76 lines
3.2 KiB
PowerShell
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"
|