docs: document CAN bootloader protocol
This commit is contained in:
57
docs/protocan/build-html.ps1
Normal file
57
docs/protocan/build-html.ps1
Normal 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"
|
||||
Reference in New Issue
Block a user