docs: document CAN bootloader protocol

This commit is contained in:
2026-08-29 21:45:30 +03:00
parent 01de7651e8
commit bd8d22312e
13 changed files with 16060 additions and 4 deletions

View File

@@ -0,0 +1,57 @@
[CmdletBinding()]
param(
[string]$OutputPath = (Join-Path $PSScriptRoot 'build\protocol.html')
)
$ErrorActionPreference = 'Stop'
$documents = @(
'README.md',
'PROTOCOL.md',
'BOOTLOADER.md',
'OAP.md',
'CHANGELOG.md'
)
$sections = foreach ($document in $documents) {
$path = Join-Path $PSScriptRoot $document
$markdown = Get-Content -Raw -LiteralPath $path
(ConvertFrom-Markdown -InputObject $markdown).Html
}
$style = @'
body { max-width: 1180px; margin: 32px auto; padding: 0 24px;
color: #111827; background: #fff; font: 15px/1.55 Arial, sans-serif; }
h1, h2, h3 { line-height: 1.25; }
h1 { margin-top: 48px; border-bottom: 2px solid #334155; padding-bottom: 8px; }
h2 { margin-top: 32px; }
a { color: #1155cc; }
code { font-family: Consolas, "Courier New", monospace; }
pre { overflow: auto; padding: 12px; border: 1px solid #cbd5e1; background: #f8fafc; }
table { width: 100%; border-collapse: collapse; margin: 12px 0 24px; }
th, td { border: 1px solid #94a3b8; padding: 6px 9px; vertical-align: top; }
th { background: #e2e8f0; }
tr:nth-child(even) td { background: #f8fafc; }
'@
$outputDirectory = Split-Path -Parent $OutputPath
if (-not (Test-Path -LiteralPath $outputDirectory)) {
New-Item -ItemType Directory -Path $outputDirectory | Out-Null
}
$html = @"
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>ProtoCAN — спецификация</title>
<style>$style</style>
</head>
<body>
$($sections -join "`n<hr>`n")
</body>
</html>
"@
Set-Content -LiteralPath $OutputPath -Value $html -Encoding utf8
Write-Host "Создан $OutputPath"