PocketMarkdown.ps1
|
filter Get-PocketMarkdown { <# .SYNOPSIS Gets Pocket Markdown .DESCRIPTION Gets [pckt.blog](https://pckt.blog) content as markdown. .LINK https://pckt.blog #> [Alias('PocketMarkdown')] param() $in = $_ $mySelf = $MyInvocation.MyCommand.ScriptBlock @(switch ($in.'$type') { blog.pckt.content { $in.items | . $mySelf } blog.pckt.block.codeBlock { [Environment]::NewLine @( "~~~$($in.attrs.language)" $in.plainText "~~~" ) -join [Environment]::NewLine [Environment]::NewLine } blog.pckt.block.text { if ($in.plainText) { $in.plainText [Environment]::NewLine } if ($in.content) { $in.content | . $myself } } blog.pckt.block.heading { if ($in.level -as [int]) { "#" * ($in.level -as [int]) } if ($in.content) { $in.content | . $myself } } blog.pckt.block.hardBreak { [Environment]::NewLine } default { $in } }) -join '' } |