Public/Remove-AdsenseAd.ps1
function Remove-AdsenseAd { [OutputType('void')] [CmdletBinding(DefaultParameterSetName = 'AllAds')] param ( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [pscustomobject]$Post, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string]$AdsenseCode, [Parameter(Mandatory, ParameterSetName = 'FirstAd')] [ValidateNotNullOrEmpty()] [int]$First, [Parameter(Mandatory, ParameterSetName = 'LastAd')] [ValidateNotNullOrEmpty()] [int]$Last, [Parameter(Mandatory, ParameterSetName = 'AllAds')] [ValidateNotNullOrEmpty()] [switch]$All, [Parameter()] [ValidateNotNullOrEmpty()] [ValidateSet('html', 'mobiledoc')] [string]$Format = 'mobiledoc' ) $ErrorActionPreference = 'Stop' $removeString = "<!--kg-card-begin: html-->$($AdsenseCode -replace '\n','|||n')<!--kg-card-end: html-->" if ($Format -ne 'mobiledoc') { throw "The [$($Format)] is not currently supported. Please use mobiledoc." } $objmobiledoc = $Post.mobiledoc | ConvertFrom-Json $objmobiledoc.cards = $objmobiledoc.cards | ? { -not ($_[1] | ? { ($_.html -replace '\s', '') -eq ($adsensecode -replace '\s', '') }) } if (-not $objmobiledoc.cards) { $objmobiledoc.cards = , @() } $mobileDoc = $objmobiledoc | ConvertTo-Json -Depth 100 -Compress Set-GhostPost -Post $Post -MobileDoc $mobileDoc } |