Files
zmVault/converting-documents-to-markdown.md
T

1.4 KiB
Raw Blame History

id, aliases, tags, title
id aliases tags title
authorship/original
destiny/permanent
status/incomplete
type/guide
Converting Documents to Markdown

Converting Documents to Markdown

param(
    [string]$Path
)

$content = Get-Content -Path $Path
$newContent = $content

$newContent -replace "foos", "ball"
$newContent -replace "foo", "bar"
# ...

Set-Content -Path $Path -Value $newContent

Converting NFPA Code

param(
    [string]$Path,
	[string]$DestinationPath
)

$content = Get-Content -Path $Path
$newContent = $content

# "210.17(B)(3)" -> h5
$newContent = $newContent -replace '^(\d{3}\.\d+\([A-Z]\)\(\d\) .+)$', "`n##### `$1`n"

# "210.17(B)" -> h4
$newContent = $newContent -replace       '^(\d{3}\.\d+\([A-Z]\) .+)$', "`n#### `$1`n"

# "210.17" -> h3
$newContent = $newContent -replace                '^(\d{3}\.\d+ .+)$', "`n### `$1`n"

# "Part I. General" -> h2
$newContent = $newContent -replace             '^(Part [IVX]+\. .+)$', "`n## `$1`n"

# "(1)" -> "1."
$newContent = $newContent -replace                     '^\((\d\d?)\)', "`$1."

# "(41 2 ft)" -> "(4 1/2 ft)"
# TODO: \u2044

# "Informational Note: Types NM, NMC..."
# "Informational Note No. 1:"

New-Item -Type File -Path $DestinationPath -ErrorAction SilentlyContinue | Out-Null
Set-Content -Path $DestinationPath -Value $newContent

Semantic Line Breaks

semantic-line-breaks