diff --git a/DISMTools.vbproj b/DISMTools.vbproj index bf102266..63112caf 100644 --- a/DISMTools.vbproj +++ b/DISMTools.vbproj @@ -80,8 +80,8 @@ packages\ini-parser.2.5.2\lib\net20\INIFileParser.dll - - packages\Markdig.0.42.0\lib\net462\Markdig.dll + + packages\Markdig.0.43.0\lib\net462\Markdig.dll packages\Microsoft.Dism.3.3.12\lib\net40\Microsoft.Dism.dll @@ -1213,10 +1213,15 @@ + + + + + Always @@ -1259,6 +1264,9 @@ Always + + Always + Always @@ -1274,6 +1282,9 @@ Always + + Always + Always @@ -1893,7 +1904,6 @@ - diff --git a/Elements/AutoUnattend/ActiveDirectory/ADDSJoinDialog.vb b/Elements/AutoUnattend/ActiveDirectory/ADDSJoinDialog.vb index c1f923c8..10ed0926 100644 --- a/Elements/AutoUnattend/ActiveDirectory/ADDSJoinDialog.vb +++ b/Elements/AutoUnattend/ActiveDirectory/ADDSJoinDialog.vb @@ -258,7 +258,7 @@ Public Class ADDSJoinDialog MsgBox("A domain name must be specified", vbOKOnly + vbCritical) Return False End If - If TextBox5.Text = "" Then + If initialUserName = "" Then MsgBox("A user name must be specified", vbOKOnly + vbCritical) Return False End If diff --git a/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set OEM Information.dtss b/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set OEM Information.dtss new file mode 100644 index 00000000..bc2b52fa --- /dev/null +++ b/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set OEM Information.dtss @@ -0,0 +1,29 @@ +Language: Batch + +@echo off +REM This script configures OEM Information that you can see in system information screens. +REM Configure the options below to set manufacturer information. + +REM ------ OPTIONS ------ +REM - 1. Manufacturer * - +REM - 2. Model - +REM - 3. Support Hours - +REM - 4. Support Phone - +REM - 5. Support URL - +REM - 6. OEM Logo Path - +REM --------------------- +REM * -- Required + +SET "OEM_Manufacturer=" +SET "OEM_Model=" +SET "OEM_SupportHours=" +SET "OEM_SupportPhone=" +SET "OEM_SupportURL=" +SET "OEM_Logo=" + +IF DEFINED OEM_Manufacturer ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v Manufacturer /t REG_SZ /d "%OEM_Manufacturer%" /f ) +IF DEFINED OEM_Model ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v Model /t REG_SZ /d "%OEM_Model%" /f ) +IF DEFINED OEM_SupportHours ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v SupportHours /t REG_SZ /d "%OEM_SupportHours%" /f ) +IF DEFINED OEM_SupportPhone ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v SupportPhone /t REG_SZ /d "%OEM_SupportPhone%" /f ) +IF DEFINED OEM_SupportURL ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v SupportURL /t REG_SZ /d "%OEM_SupportURL%" /f ) +IF DEFINED OEM_Logo ( reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation" /v Logo /t REG_SZ /d "%OEM_Logo%" /f ) \ No newline at end of file diff --git a/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set Quick Machine Recovery Settings.dtss b/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set Quick Machine Recovery Settings.dtss new file mode 100644 index 00000000..6ccc3dae --- /dev/null +++ b/Elements/AutoUnattend/StarterScripts/DuringSystemConfiguration/Set Quick Machine Recovery Settings.dtss @@ -0,0 +1,56 @@ +Language: Batch + +@echo off +REM This script configures Quick Machine Recovery (QMR) settings. QMR is a new recovery +REM method found in Windows 11 24H2 and higher. DO NOT USE SCRIPT IF TARGET IMAGE IS +REM WINDOWS 11 23H2 OR OLDER! +REM +REM QMR is part of the set of features proposed in the Windows Resiliency Initiative, +REM introduced after the CrowdStrike incident. + +REM ---------- OPTIONS ----------- +REM - 1. Cloud Remediation State - 0 or 1 +REM - 2. Auto Remediation State - 0 or 1 +REM - 3. Mins. Until Next Check - +REM - 4. Hours Until Next Reboot - +REM - 5. Headless Recovery - 0 or 1 +REM ------------------------------ +REM NOTES: +REM - Options 3/4 will only take effect if auto remediation is enabled +REM - Cloud Remediation allows the system to scan for solutions on WinRE launch +REM - Auto Remediation allows the system to continue scanning for solutions if the +REM first attempt fails +REM - Headless is undocumented but defined in reagentc XML + +SET QMR_CloudRemediation=0 +SET QMR_AutoRemediation=0 +SET QMR_NextCheckMinutes=30 +SET QMR_NextRebootHours=72 +SET QMR_Headless=0 + +REM leave the rest of this script as is + +IF NOT DEFINED QMR_CloudRemediation (SET QMR_CloudRemediation=0) +IF NOT DEFINED QMR_AutoRemediation (SET QMR_AutoRemediation=0) +IF NOT DEFINED QMR_NextCheckMinutes (SET QMR_NextCheckMinutes=30) +IF NOT DEFINED QMR_NextRebootHours (SET QMR_NextRebootHours=72) +IF NOT DEFINED QMR_Headless (SET QMR_Headless=0) + +REM convert hours to minutes since reagentc xml expects minutes and not hours +SET /A QMR_NextRebootMinutes=%QMR_NextRebootHours% * 60 >nul + +SET "REAGENTC_XML=%SYSTEMROOT%\system32\dt_reagentc.xml" + +REM we'll save our custom reagentc xml to system32 - since < and > are used in cmd +REM for redirection, we'll escape them like this: ^< ^> +ECHO ^ > %REAGENTC_XML% +ECHO. >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% +ECHO ^ >> %REAGENTC_XML% + +IF EXIST "%REAGENTC_XML%" ( reagentc /setrecoverysettings /path "%REAGENTC_XML%" ) \ No newline at end of file diff --git a/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Invoke WinUtil configuration.dtss b/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Invoke WinUtil configuration.dtss index eb3fbe7d..2c41252d 100644 --- a/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Invoke WinUtil configuration.dtss +++ b/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Invoke WinUtil configuration.dtss @@ -2,6 +2,6 @@ # Export your WinUtil configuration file to "winutil-config.json" on the root of the target # Windows installation. -if ((Test-Connection "christitus.com") -and (Test-Path -Path "$env:SYSTEMDRIVE\winutil-config.json" -PathType Leaf)) { +if ((Test-Connection -ComputerName "christitus.com" -Count 1) -and (Test-Path -Path "$env:SYSTEMDRIVE\winutil-config.json" -PathType Leaf)) { iex "& { $(irm christitus.com/win) } -Config `"$env:SYSTEMDRIVE\winutil-config.json`" -Run" } \ No newline at end of file diff --git a/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Set Registered Owner and Organization Information.dtss b/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Set Registered Owner and Organization Information.dtss new file mode 100644 index 00000000..8af136c2 --- /dev/null +++ b/Elements/AutoUnattend/StarterScripts/WhenFirstUserLogsOn/Set Registered Owner and Organization Information.dtss @@ -0,0 +1,35 @@ +Language: Batch + +@echo off +REM This script sets up registered user and organization information given the following settings: +REM ---- Settings ---- +REM 1. AutoUserInfo - determines whether to set registered owner as the name of the +REM currently signed user (0 | 1) +REM 2. RegisteredUser - the registered owner. This is overridden by AutoUserInfo when +REM set to 1 +REM 3. RegisteredOrg - the registered organization. This is optional +REM ------------------ +REM By default, software that accesses registered user/org information, if not previously set, +REM will return "user name" and "org name", respectively. It is recommended to run this script +REM only when the first user logs on, because, if run when users log on for the first time, +REM owner information will change every time a user logs on for the first time if the following +REM conditions are met: +REM a) Either: +REM * multiple users are preloaded on a system using the unattended answer file, or +REM * an account, or set of accounts, is added after OS installation +REM b) AutoUserInfo is set to 1. Otherwise, a constant value is used and you will not notice +REM any changes + +SET AutoUserInfo=0 +SET "RegisteredUser=REGISTERED_USER_HERE" +SET "RegisteredOrg=" + +REM If we set autouserinfo to 1 we set the registered user to the current user name. +REM For Microsoft accounts, username information may only be the first 5 letters of +REM the user's email address. +IF %AutoUserInfo% EQU 1 ( + SET "RegisteredUser=%USERNAME%" +) + +IF DEFINED RegisteredUser ( reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v RegisteredOwner /t REG_SZ /d "%RegisteredUser%" /f ) +IF DEFINED RegisteredOrg ( reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v RegisteredOrganization /t REG_SZ /d "%RegisteredOrg%" /f ) \ No newline at end of file diff --git a/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Second Chance OOBE.dtss b/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Second Chance OOBE.dtss new file mode 100644 index 00000000..8c8dc02e --- /dev/null +++ b/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Second Chance OOBE.dtss @@ -0,0 +1,9 @@ +Language: Batch + +@echo off +REM This script disables the Second Chance Out-of-Box Experience (SCOOBE), responsible for +REM suggesting (again) Microsoft services and subscriptions. This is applied for all users +REM in a system. + +reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement" /f +reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement" /v ScoobeSystemSettingEnabled /t REG_DWORD /d 0 /f \ No newline at end of file diff --git a/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Windows Notification Sources.dtss b/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Windows Notification Sources.dtss new file mode 100644 index 00000000..86a19d38 --- /dev/null +++ b/Elements/AutoUnattend/StarterScripts/WhenUsersLogOnForFirstTime/Disable Windows Notification Sources.dtss @@ -0,0 +1,19 @@ +Language: Batch + +@echo off +REM This script disables notifications for the notification sources defined below. Continuing with answer +REM file creation using this script, without any modifications, will disable 4 notification sources in the target +REM Windows image: +REM - Suggested (Windows 10/11) - Microsoft products/services/subscriptions +REM - Startup App Notification (Windows Server 2022+/Windows 11+) +REM - OneDrive (SkyDrive) +REM - Microsoft Account Health +REM To add notification sources to disable in this script, add them to the list below, like this: +REM FOR %%a IN (Windows.SystemToast.Suggested ... ) DO ... +REM The sources you specify will be added to the notifications list in Settings -> System -> Notifications. You can +REM re-enable them if you see fit. + +FOR %%a IN (Windows.SystemToast.Suggested Windows.SystemToast.StartupApp Microsoft.SkyDrive.Desktop Windows.SystemToast.AccountHealth) DO ( + reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\%%a" /f + reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings\%%a" /v Enabled /t REG_DWORD /d 0 /f +) \ No newline at end of file diff --git a/Elements/EnvVarManagement/EnvironmentVariableHelper.vb b/Elements/EnvVarManagement/EnvironmentVariableHelper.vb index b6509082..c3fed657 100644 --- a/Elements/EnvVarManagement/EnvironmentVariableHelper.vb +++ b/Elements/EnvVarManagement/EnvironmentVariableHelper.vb @@ -1,5 +1,6 @@ Imports System.IO Imports Microsoft.Win32 +Imports Microsoft.VisualBasic.ControlChars Module EnvironmentVariableHelper @@ -54,4 +55,91 @@ Module EnvironmentVariableHelper Return envVarList End Function + Private Function ExportCurrentEnvVarInformation(IsSystemScope As Boolean) As Boolean + If IsSystemScope Then + Dim defaultControlSet As Integer = GetDefaultControlSet("zSYSTEM") + + If defaultControlSet = -1 Then + Return False + End If + + Return RegistryHelper.ExportRegistryToFile(String.Format("HKLM\zSYSTEM\ControlSet{0}\Control\Session Manager\Environment", defaultControlSet.ToString().PadLeft(3, "0"c)), + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), + String.Format("SysEnvVarInformation_{0}.reg", Date.UtcNow.ToString("yyyyMMdd-HHmmss")))) = 0 + Else + Return RegistryHelper.ExportRegistryToFile("HKLM\zDEFAULT\Environment", + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), + String.Format("UserEnvVarInformation_{0}.reg", Date.UtcNow.ToString("yyyyMMdd-HHmmss")))) = 0 + End If + End Function + + Public Function SaveEnvironmentVariables(MountPath As String, VariableList As List(Of EnvironmentVariable)) As Boolean + If VariableList Is Nothing Then Return False + + Dim machineVariables As List(Of EnvironmentVariable) = VariableList.Where(Function(variable) variable.Scope = EnvironmentVariable.EnvironmentVariableScope.Machine).ToList(), + userVariables As List(Of EnvironmentVariable) = VariableList.Where(Function(variable) variable.Scope = EnvironmentVariable.EnvironmentVariableScope.User).ToList() + + Try + ' An interesting discovery is that environment variables can only really be string or expand string values. Even + ' if it only contains numeric values, it will be saved as a string. + + If RegistryHelper.LoadRegistryHive(Path.Combine(MountPath, "Windows", "system32", "config", "SYSTEM"), "HKLM\zSYSTEM") = 0 Then + ' Back up current system env vars + If Not ExportCurrentEnvVarInformation(True) Then + If MsgBox("Current environment variable information for the system scope could not be backed up. Backups are used in case of a mistake during environment variable management. You may continue, but at your own risk." & CrLf & CrLf & + "Applications that rely on these variables may not work correctly, and you will not be able to use previous variable configuration, unless you had previously backed it up by yourself." & CrLf & CrLf & + "Do you want to continue without backing up current variable information?", vbYesNo + vbExclamation, "Environment variable information could not be backed up") = MsgBoxResult.No Then + Return False + End If + End If + + + Dim defaultControlSet As Integer = RegistryHelper.GetDefaultControlSet("zSYSTEM") + If defaultControlSet > 0 Then + ' If we could load the hive, we determine the control set then configure machine vars. + For Each machineVariable In machineVariables + ' We'll check if we can expand the environment variables contained within the envvar value. If we could expand them, + ' then we go with an expand string. Otherwise we'll go with a string + Dim expandedValue As String = Environment.ExpandEnvironmentVariables(machineVariable.Value) + + RegistryHelper.AddRegistryItem(New RegistryItem(String.Format("HKLM\zSYSTEM\ControlSet{0}\Control\Session Manager\Environment", + defaultControlSet.ToString().PadLeft(3, "0"c)), + machineVariable.Name, + If(machineVariable.Value.Equals(expandedValue), RegistryValueKind.String, RegistryValueKind.ExpandString), + machineVariable.Value)) + Next + End If + RegistryHelper.UnloadRegistryHive("HKLM\zSYSTEM") + End If + + If RegistryHelper.LoadRegistryHive(Path.Combine(MountPath, "Users", "Default", "NTUSER.DAT"), "HKLM\zDEFAULT") = 0 Then + ' Back up current user env vars + If Not ExportCurrentEnvVarInformation(False) Then + If MsgBox("Current environment variable information for the user scope could not be backed up. Backups are used in case of a mistake during environment variable management. You may continue, but at your own risk." & CrLf & CrLf & + "Applications that rely on these variables may not work correctly, and you will not be able to use previous variable configuration, unless you had previously backed it up by yourself." & CrLf & CrLf & + "Do you want to continue without backing up current variable information?", vbYesNo + vbExclamation, "Environment variable information could not be backed up") = MsgBoxResult.No Then + Return False + End If + End If + + ' We don't have to determine control sets here + For Each userVariable In userVariables + Dim expandedValue As String = Environment.ExpandEnvironmentVariables(userVariable.Value) + + RegistryHelper.AddRegistryItem(New RegistryItem("HKLM\zDEFAULT\Environment", + userVariable.Name, + If(userVariable.Value.Equals(expandedValue), RegistryValueKind.String, RegistryValueKind.ExpandString), + userVariable.Value)) + + Next + RegistryHelper.UnloadRegistryHive("HKLM\zDEFAULT") + End If + + Catch ex As Exception + + Return False + End Try + Return True + End Function + End Module diff --git a/Helpers/extps1/PE_Helper/PE_Helper.ps1 b/Helpers/extps1/PE_Helper/PE_Helper.ps1 index ed954bc8..c2f9f996 100644 --- a/Helpers/extps1/PE_Helper/PE_Helper.ps1 +++ b/Helpers/extps1/PE_Helper/PE_Helper.ps1 @@ -233,6 +233,7 @@ function Start-PEGeneration Copy-Item -Path "$((Get-Location).Path)\files\README1ST.TXT" -Destination "$((Get-Location).Path)\ISOTEMP\media\README.TXT" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue New-Item -Path "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -ItemType Directory | Out-Null Copy-Item -Path "$((Get-Location).Path)\tools\DIM\*" -Destination "$((Get-Location).Path)\ISOTEMP\media\Tools\DIM" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue + Copy-Item -Path "$((Get-Location).Path)\files\*.sh" -Destination "$((Get-Location).Path)\ISOTEMP\media" -Verbose -Force -Recurse -Container -ErrorAction SilentlyContinue if (($unattendFile -ne "") -and (Test-Path "$unattendFile" -PathType Leaf)) { Write-Host "Unattended answer file has been detected. Copying to ISO file..." diff --git a/Helpers/extps1/PE_Helper/files/start_foghs_unix.sh b/Helpers/extps1/PE_Helper/files/start_foghs_unix.sh new file mode 100644 index 00000000..e298fffc --- /dev/null +++ b/Helpers/extps1/PE_Helper/files/start_foghs_unix.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +FOGHELPER_SCRIPTPATH="$PWD/pxehelpers/fog/foghelper_server_unix.ps1" +FOGHELPER_PORT="8080" + +clear + +whereis pwsh >/dev/null 2>&1 + +if [[ ! $? ]]; then + echo "PowerShell is not installed. Refer to Microsoft documentation in order to install PowerShell for UNIX." + echo "If you see this message even when PowerShell is installed on your system, please report this issue." + echo "" + echo "Exiting..." + exit 1 +fi + +if [[ ! -f "$FOGHELPER_SCRIPTPATH" ]]; then + echo "The FOG Helper server component for Unix systems is not available in either the current path or the provided disc." + echo "Exiting..." + exit 2 +fi + +echo "You may be asked for your password as starting up the FOG Helper Server requires setting up firewall rules for" +echo "the API listeners and the web server." + +sudo iptables -A INPUT -p tcp --dport $FOGHELPER_PORT -j ACCEPT +export NOFWRULESETUP=1 +pwsh -file "$FOGHELPER_SCRIPTPATH" + +echo "Firewall rules set up by this script will now be removed. You may need to enter your superuser password for this" +echo "task to succeed." + +sudo iptables -D INPUT -p tcp --dport $FOGHELPER_PORT -j ACCEPT +unset NOFWRULESETUP diff --git a/Helpers/extps1/PE_Helper/pxehelpers/fog/foghelper_server.ps1 b/Helpers/extps1/PE_Helper/pxehelpers/fog/foghelper_server.ps1 index e62c2eef..0bebfad0 100644 --- a/Helpers/extps1/PE_Helper/pxehelpers/fog/foghelper_server.ps1 +++ b/Helpers/extps1/PE_Helper/pxehelpers/fog/foghelper_server.ps1 @@ -494,7 +494,23 @@ try { + + +"@ + $buffer = [System.Text.Encoding]::UTF8.GetBytes($wsm_html) + $response.ContentType = "text/html" + $response.ContentLength64 = $buffer.Length + $response.OutputStream.Write($buffer, 0, $buffer.Length) + $response.OutputStream.Close() + } + "/api/fogsetup" { + if (Test-Path "$([IO.Path]::GetDirectoryName((Get-Module -Name FogApi).Path))/lib/settings.json" -PathType Leaf) { + Write-Host "FOG API settings are already configured. If you continue, settings will be reset." + if ((Read-Host -Prompt "Do you want to reset these settings? (Y/N)") -eq "n") { + $sendJson.Invoke(@{ success = $true; reason = "The operation was cancelled." }) + continue + } + } + if ($request.HttpMethod -eq "POST") { + $reader = New-Object IO.StreamReader $request.InputStream + $body = $reader.ReadToEnd() | ConvertFrom-Json + $server = $body.server + $apiToken = $body.apiToken + $userToken = $body.userToken + + Set-FogServerSettings -fogapitoken "$apiToken" -fogusertoken "$userToken" -fogserver "$server" | Out-Null + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/hosts" { + if ($request.HttpMethod -eq "GET") { + try { + $hosts = Get-FogHosts + $sendJson.Invoke(@{ success = $true; hosts = $hosts.data }) + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/getImagesForHost" { + if ($request.HttpMethod -eq "POST") { + try { + $reader = New-Object IO.StreamReader $request.InputStream + $body = $reader.ReadToEnd() | ConvertFrom-Json + $hostId = $body.hostId + + $result = (Get-FogHost -hostID $hostId).image + if ($result -ne $null) { + $sendJson.Invoke(@{ success = $true; output = $result }) + } + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/getAllImages" { + if ($request.HttpMethod -eq "GET") { + try { + $images = (Get-FogObject -type object -coreObject image).data + $sendJson.Invoke(@{ success = $true; images = $images }) + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/installimages" { + if ($request.HttpMethod -eq "GET") { + try { + $images = Get-FOGInstallImages + $sendJson.Invoke(@{ success = $true; images = $images }) + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/connect" { + if ($request.HttpMethod -eq "POST") { + try { + $reader = New-Object IO.StreamReader $request.InputStream + $body = $reader.ReadToEnd() | ConvertFrom-Json + $deviceId = $body.deviceId + + $result = Start-ServerConnection -deviceId $deviceId + if ($result -ne $null) { + $sendJson.Invoke(@{ success = $result.successful; output = $result }) + } + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } + } + "/api/deploy" { + if ($request.HttpMethod -eq "POST") { + try { + $reader = New-Object IO.StreamReader $request.InputStream + $body = $reader.ReadToEnd() | ConvertFrom-Json + $hostId = $body.hostId + $imageId = $body.imageId + + + $imageName = ((Get-FogObject -type object -coreObject image).data | Where-Object { $_.id -eq "$imageId " }).name + + # For some reason, invoking this API causes an error condition at first. On a normal (non-scripted) PowerShell + # session, after throwing the error, it continues with this task. So we have to ignore this error + # and continue onwards. + # + # Some utterly broken nonsense that darksidemilk has to fix. + # $output = Send-FogImage -hostId "$hostId" -imageName "$imageName" 2>$null + $finalId = $hostId + $finalImageName = "`"$imageName`"" + Send-FogImage -hostId $finalId -imageName $finalImageName -ErrorAction SilentlyContinue -Verbose + + $sendJson.Invoke(@{ success = $? }) + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/setDhcp" { + if ($request.HttpMethod -eq "POST") { + try { + $reader = New-Object IO.StreamReader $request.InputStream + $body = $reader.ReadToEnd() | ConvertFrom-Json + $fogIp = $body.fogIp + + Set-DhcpServerv4OptionValue -OptionId "066" -Value "$fogIp" + Set-DhcpServerv4OptionValue -OptionId "067" -Value "ipxe.efi" + + $sendJson.Invoke(@{ success = $true }) + } catch { + Write-LogMessage -message "Exception caught: $_" + $sendJson.Invoke(@{ success = $false; error = $_.Exception.Message }, 500) + } + } else { + $sendJson.Invoke(@{ error = "Method not allowed" }, 405) + } + } + "/api/viewlogs" { + Get-Content "$env:TEMP/DT_FOGHS_Log.log" + } + "/api/exit" { + $sendJson.Invoke(@{ success = $true }) + throw + } + default { + $sendJson.Invoke(@{ error = "Not found" }, 404) + } + } + } +} catch { + # Do nothing +} finally { + Write-LogMessage -message "Shutting down..." + $listener.Stop() + if ($noFirewallSetup -eq $false) { + sudo iptables -D INPUT -p tcp --dport $port -j ACCEPT + } +} + +# Clean up +Write-LogMessage -message "Stopping listener..." +$listener.Stop() + +Write-LogMessage -message "Shutdown complete." +Stop-Transcript diff --git a/Helpers/extps1/PE_Helper/pxehelpers/wds/wdshelper_server.ps1 b/Helpers/extps1/PE_Helper/pxehelpers/wds/wdshelper_server.ps1 index 7741b662..cb66c67e 100644 --- a/Helpers/extps1/PE_Helper/pxehelpers/wds/wdshelper_server.ps1 +++ b/Helpers/extps1/PE_Helper/pxehelpers/wds/wdshelper_server.ps1 @@ -281,7 +281,7 @@ function Deploy-WimImage { function Remove-SharedFolderByGuid { param ( - [Parameter(Mandatory)] [string] $guid + [Parameter(Mandatory)] [string]$guid ) if ($guid -eq "") { return $false @@ -684,7 +684,7 @@ try { $reader = New-Object IO.StreamReader $request.InputStream $body = $reader.ReadToEnd() | ConvertFrom-Json $guid = $body.shareGuid - + $output = Remove-SharedFolderByGuid -guid $guid $sendJson.Invoke(@{ success = $true }) } catch { diff --git a/MainForm.vb b/MainForm.vb index c2b8563f..26eab03c 100644 --- a/MainForm.vb +++ b/MainForm.vb @@ -927,6 +927,35 @@ Public Class MainForm Catch ex As Exception End Try + + Try + DynaLog.LogMessage("Getting device DPI...") + Dim dx As Single, dy As Single + Dim g As Graphics = CreateGraphics() + + Try + dx = g.DpiX + dy = g.DpiY + Finally + g.Dispose() + End Try + + DynaLog.LogMessage("DPI X-axis: " & dx) + DynaLog.LogMessage("DPI Y-axis: " & dy) + + ' 100% display scaling is equal to 96 DPI. Higher display scaling settings make + ' some items in the program not look correctly. It is better to tell the user + ' about this. + If dx > 96 Or dy > 96 Then + DynaLog.LogMessage("Display scaling is over 100%. The program may not look correctly...") + MsgBox("DISMTools has detected that a higher display scaling setting has been set. This can make the program look incorrectly." & CrLf & CrLf & + "We recommend that you lower your scaling setting to 100% (96 DPI), unless you have a small display panel set to a large resolution.", + vbOKOnly + vbInformation, "Higher display scaling setting detected") + End If + Catch ex As Exception + DynaLog.LogMessage("Could not check DPI settings. Error message: " & ex.Message) + End Try + If DetectPossibleADKs() = 1 Then DynaLog.LogMessage("An ADK has been installed but is not detected by DISMTools") Dim msg As String = "" diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 4fbc6870..2753e0cd 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' mediante el asterisco ('*'), como se muestra a continuación: ' - - + + diff --git a/My Project/Resources.Designer.vb b/My Project/Resources.Designer.vb index 9f83fcec..75601c0c 100644 --- a/My Project/Resources.Designer.vb +++ b/My Project/Resources.Designer.vb @@ -2121,16 +2121,17 @@ Namespace My.Resources ''' ''' Busca una cadena traducida similar a Bugfixes: ''' - '''- The DNS address syntax parser of the Active Directory domain join wizard now parses scoped IPv6 addresses correctly + '''- Fixed an issue in the ADDS domain join wizard regarding user name validation ''' '''New features: ''' - '''- COMMAND-LINE ONLY: the PE Helper now supports external temporary directories - '''- The WDS Helper now supports cleaning up files by independent session GUIDs - '''- The following starter scripts have been added: - ''' - Skip OOBE FLA - ''' - Configure user environment personalization settings - '''- The service manager now disables the Delayed Start field when a service sta [resto de la cadena truncado]";. + '''- The FOG Helper Server has now moved interactivity for setting up the API from the console to the web-based manager + '''- The FOG Helper Server is now available on UNIX systems + '''- UnattendGen has been updated to the latest version + '''- "Disable Windows Notification Sources" has been added + '''- "Invoke WinUtil configuration" has been modified to reduce ping count + '''- "Disable SCOOBE" has been added + '''- "Se [resto de la cadena truncado]";. ''' Friend ReadOnly Property WhatsNew() As String Get diff --git a/My Project/Resources.resx b/My Project/Resources.resx index 766b5588..c272b904 100644 --- a/My Project/Resources.resx +++ b/My Project/Resources.resx @@ -983,20 +983,24 @@ GPT ATTRIBUTES=0x8000000000000001 Bugfixes: -- The DNS address syntax parser of the Active Directory domain join wizard now parses scoped IPv6 addresses correctly +- Fixed an issue in the ADDS domain join wizard regarding user name validation New features: -- COMMAND-LINE ONLY: the PE Helper now supports external temporary directories -- The WDS Helper now supports cleaning up files by independent session GUIDs -- The following starter scripts have been added: - - Skip OOBE FLA - - Configure user environment personalization settings -- The service manager now disables the Delayed Start field when a service start type is not Automatic -- The service manager now exports current service information of the target image to the user's desktop, and also allows modifications of the following fields: - - Start Type - - Delayed Start -- A new tool has been added to view the environment variables of the Windows image +- The FOG Helper Server has now moved interactivity for setting up the API from the console to the web-based manager +- The FOG Helper Server is now available on UNIX systems +- UnattendGen has been updated to the latest version +- "Disable Windows Notification Sources" has been added +- "Invoke WinUtil configuration" has been modified to reduce ping count +- "Disable SCOOBE" has been added +- "Set OEM information" has been added +- "Set registered user/organization information" has been added +- "Set Quick Machine Recovery Settings" has been added +- Environment variable modifications can now be saved. It is now possible to move/copy variables from one scope into the other scope +- A service type field has been added to service dependencies and dependents +- DISMTools will now attempt to remove read-only flags from the image to mount if it had been copied to read-write locations with that flag set +- DISMTools is now DPI-aware on Windows 10 and 11 (#290, thanks @Clin1234) +- Markdig has been updated to version 0.43.0 ..\Resources\menus\exit_full_screen_glyph.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/My Project/app.manifest b/My Project/app.manifest index 7ab59d5f..3550ad25 100644 --- a/My Project/app.manifest +++ b/My Project/app.manifest @@ -1,5 +1,5 @@  - + @@ -21,6 +21,13 @@ + + + true + PerMonitorV2 + + + + diff --git a/Tools/DynaViewer/out/DynaViewer.exe b/Tools/DynaViewer/out/DynaViewer.exe index 8760774e..d5a78b51 100644 Binary files a/Tools/DynaViewer/out/DynaViewer.exe and b/Tools/DynaViewer/out/DynaViewer.exe differ diff --git a/Tools/UnattendGen/UnattendGen-arm64-Linux.zip b/Tools/UnattendGen/UnattendGen-arm64-Linux.zip index fea3ac34..0625a0e7 100644 Binary files a/Tools/UnattendGen/UnattendGen-arm64-Linux.zip and b/Tools/UnattendGen/UnattendGen-arm64-Linux.zip differ diff --git a/Tools/UnattendGen/UnattendGen-arm64-MacOS.zip b/Tools/UnattendGen/UnattendGen-arm64-MacOS.zip index cd4a10cf..567540b9 100644 Binary files a/Tools/UnattendGen/UnattendGen-arm64-MacOS.zip and b/Tools/UnattendGen/UnattendGen-arm64-MacOS.zip differ diff --git a/Tools/UnattendGen/UnattendGen-x64-Linux.zip b/Tools/UnattendGen/UnattendGen-x64-Linux.zip index d1518ea9..4529c4dc 100644 Binary files a/Tools/UnattendGen/UnattendGen-x64-Linux.zip and b/Tools/UnattendGen/UnattendGen-x64-Linux.zip differ diff --git a/Tools/UnattendGen/UnattendGen-x64-MacOS.zip b/Tools/UnattendGen/UnattendGen-x64-MacOS.zip index bccf4b1e..46bd6607 100644 Binary files a/Tools/UnattendGen/UnattendGen-x64-MacOS.zip and b/Tools/UnattendGen/UnattendGen-x64-MacOS.zip differ diff --git a/Tools/UnattendGen/win-arm64/Library-License.txt b/Tools/UnattendGen/win-arm64/Library-License.txt index 7f2bbee2..8cd1bba9 100644 --- a/Tools/UnattendGen/win-arm64/Library-License.txt +++ b/Tools/UnattendGen/win-arm64/Library-License.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Christoph Schneegans +Copyright (c) 2024-2025 Christoph Schneegans Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Tools/UnattendGen/win-arm64/UnattendGen.dll b/Tools/UnattendGen/win-arm64/UnattendGen.dll index a1be2adc..7e9f40a0 100644 Binary files a/Tools/UnattendGen/win-arm64/UnattendGen.dll and b/Tools/UnattendGen/win-arm64/UnattendGen.dll differ diff --git a/Tools/UnattendGen/win-arm64/UnattendGen.exe b/Tools/UnattendGen/win-arm64/UnattendGen.exe index 865ccd90..11468a64 100644 Binary files a/Tools/UnattendGen/win-arm64/UnattendGen.exe and b/Tools/UnattendGen/win-arm64/UnattendGen.exe differ diff --git a/Tools/UnattendGen/win-arm64/UnattendGenerator.dll b/Tools/UnattendGen/win-arm64/UnattendGenerator.dll index 6713e371..c2e5b486 100644 Binary files a/Tools/UnattendGen/win-arm64/UnattendGenerator.dll and b/Tools/UnattendGen/win-arm64/UnattendGenerator.dll differ diff --git a/Tools/UnattendGen/win-x64/Library-License.txt b/Tools/UnattendGen/win-x64/Library-License.txt index 7f2bbee2..8cd1bba9 100644 --- a/Tools/UnattendGen/win-x64/Library-License.txt +++ b/Tools/UnattendGen/win-x64/Library-License.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Christoph Schneegans +Copyright (c) 2024-2025 Christoph Schneegans Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Tools/UnattendGen/win-x64/UnattendGen.dll b/Tools/UnattendGen/win-x64/UnattendGen.dll index 740e9430..059c7bd1 100644 Binary files a/Tools/UnattendGen/win-x64/UnattendGen.dll and b/Tools/UnattendGen/win-x64/UnattendGen.dll differ diff --git a/Tools/UnattendGen/win-x64/UnattendGen.exe b/Tools/UnattendGen/win-x64/UnattendGen.exe index 57e7a7ad..8ac2d4fe 100644 Binary files a/Tools/UnattendGen/win-x64/UnattendGen.exe and b/Tools/UnattendGen/win-x64/UnattendGen.exe differ diff --git a/Tools/UnattendGen/win-x64/UnattendGenerator.dll b/Tools/UnattendGen/win-x64/UnattendGenerator.dll index 6713e371..c2e5b486 100644 Binary files a/Tools/UnattendGen/win-x64/UnattendGenerator.dll and b/Tools/UnattendGen/win-x64/UnattendGenerator.dll differ diff --git a/Tools/UnattendGen/win-x86/Library-License.txt b/Tools/UnattendGen/win-x86/Library-License.txt index 7f2bbee2..8cd1bba9 100644 --- a/Tools/UnattendGen/win-x86/Library-License.txt +++ b/Tools/UnattendGen/win-x86/Library-License.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Christoph Schneegans +Copyright (c) 2024-2025 Christoph Schneegans Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Tools/UnattendGen/win-x86/UnattendGen.dll b/Tools/UnattendGen/win-x86/UnattendGen.dll index c8a6f3cb..275fbd0f 100644 Binary files a/Tools/UnattendGen/win-x86/UnattendGen.dll and b/Tools/UnattendGen/win-x86/UnattendGen.dll differ diff --git a/Tools/UnattendGen/win-x86/UnattendGen.exe b/Tools/UnattendGen/win-x86/UnattendGen.exe index 68bb521f..d4303327 100644 Binary files a/Tools/UnattendGen/win-x86/UnattendGen.exe and b/Tools/UnattendGen/win-x86/UnattendGen.exe differ diff --git a/Tools/UnattendGen/win-x86/UnattendGenerator.dll b/Tools/UnattendGen/win-x86/UnattendGenerator.dll index 6713e371..c2e5b486 100644 Binary files a/Tools/UnattendGen/win-x86/UnattendGenerator.dll and b/Tools/UnattendGen/win-x86/UnattendGenerator.dll differ diff --git a/packages.config b/packages.config index 2197c4c5..4a9a90d7 100644 --- a/packages.config +++ b/packages.config @@ -2,7 +2,7 @@ - + diff --git a/pkgsrc/Markdig.0.42.0/lib/net462/Markdig.dll b/pkgsrc/Markdig.0.42.0/lib/net462/Markdig.dll deleted file mode 100644 index c1784526..00000000 Binary files a/pkgsrc/Markdig.0.42.0/lib/net462/Markdig.dll and /dev/null differ diff --git a/pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.dll b/pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.dll deleted file mode 100644 index 310299ba..00000000 Binary files a/pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.dll and /dev/null differ diff --git a/pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.dll b/pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.dll deleted file mode 100644 index 0ffe4af8..00000000 Binary files a/pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.dll and /dev/null differ diff --git a/pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.dll b/pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.dll deleted file mode 100644 index d5c052fe..00000000 Binary files a/pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.dll and /dev/null differ diff --git a/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.dll b/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.dll deleted file mode 100644 index 84977855..00000000 Binary files a/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.dll and /dev/null differ diff --git a/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.xml b/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.xml deleted file mode 100644 index 5d3b9340..00000000 --- a/pkgsrc/Markdig.0.42.0/lib/netstandard2.1/Markdig.xml +++ /dev/null @@ -1,6655 +0,0 @@ - - - - Markdig - - - - - An abbreviation object stored at the document level. See extension methods in . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the label. - - - - - The text associated to this label. - - - - - The label span - - - - - Extension to allow abbreviations. - - - - - - Extension methods for . - - - - - The inline abbreviation. - - - - - - Initializes a new instance of the class. - - The abbreviation. - - - - A block parser for abbreviations. - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - A block representing an alert quote block. - - - - - Creates a new instance of this block. - - - - - - Gets or sets the kind of the alert block (e.g `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, `CAUTION`). - - - - - Gets or sets the trivia space after the kind. - - - - - A HTML renderer for a . - - - - - - Creates a new instance of this renderer. - - - - - Gets of sets a delegate to render the kind of the alert. - - - - - - - - Renders the kind of the alert. - - The HTML renderer. - The kind of the alert to render - - - - Extension for adding alerts to a Markdown pipeline. - - - - - Gets or sets the delegate to render the kind of the alert. - - - - - - - - - - - An inline parser for an alert inline (e.g. `[!NOTE]`). - - - - - - Initializes a new instance of the class. - - - - - The auto-identifier extension - - - - - - Initializes a new instance of the class. - - The options. - - - - Process on a new - - The processor. - The heading block. - - - - Callback when there is a reference to found to a heading. - Note that reference are only working if they are declared after. - - - - - Process the inlines of the heading to create a unique identifier - - The processor. - The inline. - - - - Options for the . - - - - - No options: does not apply any additional formatting and/or transformations. - - - - - Default () - - - - - Allows to link to a header by using the same text as the header for the link label. Default is true - - - - - Allows only ASCII characters in the url (HTML 5 allows to have UTF8 characters). Default is true - - - - - Renders auto identifiers like GitHub. - - - - - A link reference definition to a stored at the level. - - - - - - Gets or sets the heading related to this link reference definition. - - - - - Extension to automatically create when a link url http: or mailto: is found. - - - - - - Extension to automatically create when a link url http: or mailto: is found. - - - - - - Should the link open in a new window when clicked (false by default) - - - - - Should a www link be prefixed with https:// instead of http:// (false by default) - - - - - Should auto-linking allow a domain with no period, e.g. https://localhost (false by default) - - - - - The inline parser used to for autolinks. - - - - - - Initializes a new instance of the class. - - - - - Extension for tagging some HTML elements with bootstrap classes. - - - - - - Extension for cite ""..."" - - - - - - A block custom container. - - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extension to allow custom containers. - - - - - - An inline custom container - - - - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A definition item contains zero to multiple - and definitions (any ) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character for this definition item (either `:` or `~`) - - - - - A definition list contains children. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Extension to allow definition lists - - - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A definition term contains a single line with the term to define. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A HTML renderer for , and . - - - - - - Extension to allow diagrams. - - - - - - Extension to allow emoji shortcodes and smileys replacement. - - - - - - An emoji inline. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The content. - - - - Gets or sets the original match string (either an emoji shortcode or a text smiley) - - - - - An emoji shortcodes and smileys mapping, to be used by . - - - - - The default emoji shortcodes and smileys mapping. - - - - - The default emoji shortcodes mapping, without smileys. - - - - - Returns a new instance of the default emoji shortcode to emoji unicode dictionary. - It can be used to create a customized . - - - - - Gets a new instance of the default smiley to emoji shortcode dictionary. - It can be used to create a customized . - - - - - Constructs a mapping for the default emoji shortcodes and smileys. - - - - - Constructs a mapping from a dictionary of emoji shortcodes to unicode, and a dictionary of smileys to emoji shortcodes. - - - - - The inline parser used for emojis. - - - - - - Initializes a new instance of the class. - - - - - Extension for strikethrough, subscript, superscript, inserted and marked. - - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - Options for enabling support for extra emphasis. - - - - - Allows all extra emphasis (default). - - - - - A text that can be strikethrough using the double character ~~ - - - - - A text that can be rendered as a subscript using the character ~ - - - - - A text that can be rendered as a superscript using the character ^ - - - - - A text that can be rendered as inserted using the double character ++ - - - - - A text that can be rendered as marked using the double character == - - - - - Defines a figure container. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character count used to open this figure code block. - - - - - Gets or sets the opening character used to open and close this figure code block. - - - - - The block parser for a block. - - - - - - Initializes a new instance of the class. - - - - - Defines a figure caption. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Extension to allow usage of figures and figure captions. - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A block element for a footer. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the opening character used to match this footer (by default it is ^) - - - - - A block parser for a . - - - - - - Initializes a new instance of the class. - - - - - Extension that provides footer. - - - - - - A HTML renderer for a . - - - - - - A block for a footnote. - - - - - - Gets or sets the label used by this footnote. - - - - - Gets or sets the order of this footnote (determined by the order of the in the document) - - - - - Gets the links referencing this footnote. - - - - - The label span - - - - - Extension to allow footnotes. - - - - - - A block that contains all the footnotes at the end of a . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A inline link to a . - - - - - - Gets or sets a value indicating whether this instance is back link (from a footnote to the link) - - - - - Gets or sets the global index number of this link. - - - - - Gets or sets the footnote this link refers to. - - - - - A link reference definition stored at the level. - - - - - - Gets or sets the footnote related to this link reference definition. - - - - - The block parser for a . - - - - - - The key used to store at the document level the pending - - - - - Add footnotes to the end of the document - - The processor. - The inline. - - - - A HTML renderer for a . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the CSS group class used when rendering the <div> of this instance. - - - - - A HTML renderer for a . - - - - - - Extension that allows to attach HTML attributes to the previous or current . - This extension should be enabled last after enabling other extensions. - - - - - - An inline parser used to parse a HTML attributes that can be attached to the previous or current . - - - - - - Initializes a new instance of the class. - - - - - Tries to extra from the current position of a slice an HTML attributes {...} - - The slice to parse. - The output attributes or null if not found or invalid - true if parsing the HTML attributes was successful - - - - Extension to add support for RTL content. - - - - - Extension to generate hardline break for softline breaks. - - - - - - Model for a JIRA link item - - - - - JIRA Project Key - - - - - JIRA Issue Number - - - - - Simple inline parser extension for Markdig to find, and - automatically add links to JIRA issue numbers. - - - - - Finds and replaces JIRA links inline - - - - - Available options for replacing JIRA links - - - - - The base Url (e.g. `https://mycompany.atlassian.net`) - - - - - The base path after the base url (default is `/browse`) - - - - - Should the link open in a new window when clicked - - - - - Gets the full url composed of the and with no trailing `/` - - - - - Extension for adding new type of list items (a., A., i., I.) - - - - - - Parser that adds supports for parsing alpha/roman list items (e.g: `a)` or `a.` or `ii.` or `II.`) - - - Note that we don't validate roman numbers. - - - - - - Initializes a new instance of the class. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A math block. - - - - - - Initializes a new instance of the class. - - The parser. - - - - The block parser for a . - - - - - - Initializes a new instance of the class. - - - - - Extension for adding inline mathematics $...$ - - - - - - A math inline element. - - - - - - Gets or sets the delimiter character used by this code inline. - - - - - Gets or sets the delimiter count. - - - - - The content as a . - - - - - An inline parser for . - - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the default class to use when creating a math inline block. - - - - - Create a with delegate handler. - - Prefix of host that can be handled. - Handler that generate iframe url, if uri cannot be handled, it can return . - Should the generated iframe has allowfullscreen attribute. - "class" attribute of generated iframe. - A with delegate handler. - - - - Provides url for media links. - - - - - "class" attribute of generated iframe. - - - - - Generate url for iframe. - - Input media uri. - if is a schema relative uri, i.e. uri starts with "//". - Generated url for iframe. - - - - - Should the generated iframe has allowfullscreen attribute. - - - Should be false for audio embedding. - - - - - Extension for extending image Markdown links in case a video or an audio file is linked and output proper link. - - - - - - Options for the . - - - - - Extension that will disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. - - - - - Extension to automatically render rel=nofollow to all links in an HTML output. - - - - - Extension to a span for each line containing the original line id (using id = pragma-line#line_number_zero_based) - - - - - - Extension to enable SelfPipeline, to configure a Markdown parsing/convertion to HTML automatically - from an embedded special tag in the input text <!--markdig:extensions--> where extensions is a string - that specifies the extensions to use for the pipeline as exposed by extension method - on the . This extension will invalidate all other extensions and will override them. - - - - - Initializes a new instance of the class. - - The matching start tag. - The default extensions. - Tag cannot contain angle brackets - - - - Gets the default pipeline to configure if no tag was found in the input text. Default is null (core pipeline). - - - - - Gets the self pipeline hint tag start that will be matched. - - - - - Creates a pipeline automatically configured from an input markdown based on the presence of the configuration tag. - - The input text. - The pipeline configured from the input - - - - - A HTML renderer for a . - - - - - - Initializes a new instance of the class. - - The options. - - - - - An inline for SmartyPant. - - - - - Converts this instance to a literal text. - - - - - - The options used for . - - - - - Initializes a new instance of the class. - - - - - Gets the mapping between a and its textual representation - (usually an HTML entity). - - - - - Extension to enable SmartyPants. - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - The inline parser for SmartyPants. - - - - - Initializes a new instance of the class. - - - - - Types of a . - - - - - This is a single quote ' - - - - - This is a left single quote ' -gt; lsquo; - - - - - This is a right single quote ' -gt; rsquo; - - - - - This is a double quote " - - - - - This is a left double quote " -gt; ldquo; - - - - - This is a right double quote " -gt; rdquo; - - - - - This is a right double quote << -gt; laquo; - - - - - This is a right angle quote >> -gt; raquo; - - - - - This is an ellipsis ... -gt; hellip; - - - - - This is a ndash -- -gt; ndash; - - - - - This is a mdash --- -gt; mdash; - - - - - Extension that allows to use grid tables. - - - - - - Internal state used by the - - - - - Internal state used by the - - - - - Gets or sets the index position of this column (after the |) - - - - - A HTML renderer for a - - - - - - This block parsers for pipe tables is used to by-pass list items that could start by a single '-' - and would disallow to detect a pipe tables at inline parsing time, so we are basically forcing a line - that starts by a '-' and have at least a '|' (and have optional spaces) and is a continuation of a - paragraph. - - - - - - Initializes a new instance of the class. - - - - - The delimiter used to separate the columns of a pipe table. - - - - - - Gets or sets the index of line where this delimiter was found relative to the current block. - - - - - Extension that allows to use pipe tables. - - - - - - Initializes a new instance of the class. - - The options. - - - - Gets the options. - - - - - Options for the extension - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to require header separator. true by default (Kramdown is using false) - - - - - Defines whether table should be normalized to the amount of columns as defined in the table header. - false by default - - If true, this will insert empty cells in rows with fewer tables than the header row and remove cells - that are exceeding the header column count. - If false, this will use the row with the most columns to determine how many cells should be inserted - in all other rows (default behavior). - - - - - Gets or sets a value indicating whether column widths should be inferred based on the number of dashes - in the header separator row. Each column's width will be proportional to the dash count in its respective column. - - - - - The inline parser used to transform a into a at inline parsing time. - - - - - - - Initializes a new instance of the class. - - The line break parser to use - The options. - - - - Gets the options. - - - - - Defines a table that contains an optional . - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the column alignments. May be null. - - - - - Checks if the table structure is valid. - - True if the table has rows and the number of cells per row is correct, other wise false. - - - - Normalizes the number of columns of this table by taking the maximum columns and appending empty cells. - - - - - Normalizes the number of columns of this table by taking the amount of columns defined in the header - and appending empty cells or removing extra cells as needed. - - - - - Defines a cell in a - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the index of the column to which this cell belongs. - - - - - Gets or sets the column span this cell is covering. Default is 1. - - - - - Gets or sets the row span this cell is covering. Default is 1. - - - - - Gets or sets whether this cell can be closed. - - - - - Defines the alignment of a column - - - - - Align the column to the left - - - - - Align the column to the center - - - - - Align the column to the right - - - - - Defines a column. - - - - - Gets or sets the width (in percentage) of this column. A value of 0 is unspecified. - - - - - Gets or sets the column alignment. - - - - - Helper methods for parsing tables. - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). - The alignment of the column. - The number of delimiters. - - true if parsing was successful - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). - The alignment of the column. - - true if parsing was successful - - - - - Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* - - The text slice. - The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) - The alignment of the column. - - true if parsing was successful - - - - - Defines a row in a , contains , parent is . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether this instance is header row. - - - - - A HTML renderer for a . - - - - - - An inline for TaskList. - - - - - Extension to enable TaskList. - - - - - The inline parser for SmartyPants. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the list class used for a task list. - - - - - Gets or sets the list item class used for a task list. - - - - - Extension that allows setting line-endings for any IMarkdownRenderer - that inherits from - - - - - - A YAML frontmatter block. - - - - - - Initializes a new instance of the class. - - The parser. - - - - Extension to discard a YAML frontmatter at the beginning of a Markdown document. - - - - - Allows the to appear in the middle of the markdown file. - - - - - Empty renderer for a - - - - - - Block parser for a YAML frontmatter. - - - - - - Allows the to appear in the middle of the markdown file. - - - - - Initializes a new instance of the class. - - - - - Creates the front matter block. - - The block processor - The front matter block - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Allows to associate characters to a data structures and query efficiently for them. - - - - - - Initializes a new instance of the class. - - The states. - - - - - Gets all the opening characters defined. - - - - - Gets the list of parsers valid for the specified opening character. - - The opening character. - A list of parsers valid for the specified opening character or null if no parsers registered. - - - - Searches for an opening character from a registered parser in the specified string. - - The text. - The start. - The end. - Index position within the string of the first opening character found in the specified text; if not found, returns -1 - - - - Helper class for handling characters. - - - - - Class used to simplify a unicode char to a simple ASCII string - - - - - Converts a unicode char to a simple ASCII string. - - The input char. - The simple ASCII string or null if the char itself cannot be simplified - - - - A compact insert-only key/value collection for fast prefix lookups - Something between a Trie and a full Radix tree, but stored linearly in memory - - The value associated with the key - - - - Used internally to control behavior of insertion - Copied from internals - - - - - The default insertion behavior. Does not overwrite or throw. - - - - - Specifies that an existing entry with the same key should be overwritten if encountered. - - - - - Specifies that if an existing entry with the same key is encountered, an exception should be thrown. - - - - - The character this node represents, should never be 0 - - - - - Will be 0 if this is a leaf node - - - - - Set to -1 if it does not point to a match - - - - - -1 if not present - - - - - Gets the number of nodes in the internal tree structure - You might be looking for - Exposing this might help in deducing more efficient initial parameters - - - - - Gets or sets the capacity of the internal tree structure buffer - You might be looking for - - - - - Gets the number of key/value pairs contained in the - - - - - Gets or sets the capacity of the internal key/value pair buffer - - - - - Gets the size of the children buffer in the internal tree structure - You might be looking for - Exposing this might help in deducing more efficient initial parameters - - - - - Gets or sets the capacity of the internal children buffer - You might be looking for - - - - - Constructs a new with no initial prefixes - - - - - Constructs a new with the supplied matches - - Matches to initialize the with. For best lookup performance, this collection should be sorted. - - - - Retrieves the key/value pair at the specified index (must be lower than ) - - Index of pair to get, must be lower than (the order is the same as the order in which the elements were added) - The key/value pair of the element at the specified index - - - - Gets or sets the value associated with the specified key - - The key of the value to get or set - The value of the element with the specified key - - - - Gets the value associated with the specified key - - The key of the value to get - The key/value pair of the element with the specified key - - - - Adds the specified key/value pair to the - - The key of the element to add - The value of the element to add - - - - Adds the specified key/value pair to the - - The key/value pair to add - - - - Tries to add the key/value pair to the if the key is not yet present - - The key of the element to add - The value of the element to add - True if the element was added, false otherwise - - - - Tries to add the key/value pair to the if the key is not yet present - - The pair to add - True if the element was added, false otherwise - - - - Tries to find the longest prefix of text, that is contained in this - - The text in which to search for the prefix - The found prefix and the corresponding value - True if a match was found, false otherwise - - - - Tries to find a prefix of text, that is contained in this and is exactly text.Length characters long - - The text in which to search for the prefix - The found prefix and the corresponding value - True if a match was found, false otherwise - - - - Tries to find the shortest prefix of text, that is contained in this - - The text in which to search for the prefix - The found prefix and the corresponding value - True if a match was found, false otherwise - - - - Determines whether the contains the specified key - - The key to locate in this - True if the key is contained in this PrefixTree, false otherwise. - - - - Gets the value associated with the specified key - - The key of the value to get - The value associated with the specified key - True if the key is contained in this PrefixTree, false otherwise. - - - - Gets a collection containing the keys in this - - - - - Gets a collection containing the values in this - - - - - Returns an Enumerator that iterates through the . - Use the index accessor instead () - - - - - - Enumerates the elements of a - - - - - Increments the internal index - - True if the index is less than the length of the internal array - - - - Gets the at the current position - - - - - Does nothing - - - - - Resets the internal index to the beginning of the array - - - - - A default object cache that expect the type {T} to provide a parameter less constructor - - The type of item to cache - - - - - Helper class to decode an entity. - - - - - Decodes the given HTML entity to the matching Unicode characters. - - The entity without & and ; symbols, for example, copy. - The unicode character set or null if the entity was not recognized. - - - - Decodes the given UTF-32 character code to the matching set of UTF-16 characters. - - The unicode character set or null if the entity was not recognized. - - - - Source: http://www.w3.org/html/wg/drafts/html/master/syntax.html#named-character-references - - - - - Helper to parse several HTML tags. - - - - - Destructively unescape a string: remove backslashes before punctuation or symbol characters. - - The string data that will be changed by unescaping any punctuation or symbol characters. - if set to true [remove back slash]. - - - - - Scans an entity. - Returns number of chars matched. - - - - - Provides a common interface for iterating characters - over a or . - - - - - Gets the current start character position. - - - - - Gets the current character. - - - - - Gets the end character position. - - - - - Goes to the next character, incrementing the position. - - The next character. `\0` is end of the iteration. - - - - Goes to the next character, incrementing the position. - - - - - Peeks at the next character, without incrementing the position. - - The next character. `\0` is end of the iteration. - - - - Peeks at the next character, without incrementing the position. - - - The next character. `\0` is end of the iteration. - - - - Gets a value indicating whether this instance is empty. - - - - - Trims whitespaces at the beginning of this slice starting from position. - - true if it has reaches the end of the iterator - - - - A line reader from a that can provide precise source position - - - - - Initializes a new instance of the class. - - - bufferSize cannot be <= 0 - - - - Gets the char position of the line. Valid for the next line before calling . - - - - - Reads a new line from the underlying and update the for the next line. - - A new line or null if the end of has been reached - - - - Helpers to parse Markdown links. - - - - - Represents a character or set of characters that represent a separation - between two lines of text - - - - - A simple object recycling system. - - Type of the object to cache - - - - Initializes a new instance of the class. - - - - - Clears this cache. - - - - - Gets a new instance. - - - - - - Releases the specified instance. - - The instance. - if instance is null - - - - Creates a new instance of {T} - - A new instance of {T} - - - - Resets the specified instance when is called before storing back to this cache. - - The instance. - - - - A List that provides methods for inserting/finding before/after. See remarks. - - Type of the list item - - We use a typed list and don't use extension methods because it would pollute all list implements and the top level namespace. - - - - Replaces with . - - Item type to find in the list - Object to replace this item with - true if a replacement was made; otherwise false. - - - - Replaces with or adds . - - Item type to find in the list - Object to add/replace the found item with - true if a replacement was made; otherwise false. - - - - Removes the first occurrence of - - - - - A StringBuilder that can be used locally in a method body only. - - - - - Provides a string builder that can only be used locally in a method. This StringBuilder MUST not be stored. - - - - - - Extensions for StringBuilder - - - - - Appends the specified slice to this instance. - - The builder. - The slice. - - - - A struct representing a text line. - - - - - Initializes a new instance of the struct. - - The slice. - - - - Initializes a new instance of the struct. - - The slice. - The line. - The column. - The position. - The line separation. - - - - Initializes a new instance of the struct. - - The slice. - The line. - The column. - The position. - The line separation. - - - - The slice used for this line. - - - - - The line position. - - - - - The position of the start of this line within the original source code - - - - - The column position. - - - - - The newline. - - - - - Performs an implicit conversion from to . - - The line. - - The result of the conversion. - - - - - A group of . - - - - - - Initializes a new instance of the class. - - - - - - Initializes a new instance of the class. - - The text. - - - - - Gets the lines. - - - - - Gets the number of lines. - - - - - Clears this instance. - - - - - Removes the line at the specified index. - - The index. - - - - Adds the specified line to this instance. - - The line. - - - - Adds the specified slice to this instance. - - The slice. - - - - Converts the lines to a single by concatenating the lines. - - The position of the `\n` line offsets from the beginning of the returned slice. - A single slice concatenating the lines of this instance - - - - Converts this instance into a . - - - - - - Trims each lines of the specified . - - - - - The iterator used to iterate other the lines. - - - - - - A lightweight struct that represents a slice of a string. - - - - - - An empty string slice. - - - - - Initializes a new instance of the struct. - - The text. - - - - Initializes a new instance of the struct. - - The text. - The line separation. - - - - Initializes a new instance of the struct. - - The text. - The start. - The end. - - - - - Initializes a new instance of the struct. - - The text. - The start. - The end. - The line separation. - - - - - The text of this slice. - - - - - Gets or sets the start position within . - - - - - Gets or sets the end position (inclusive) within . - - - - - Gets the length. - - - - - Gets the current character. - - - - - Gets a value indicating whether this instance is empty. - - - - - Gets the at the specified index. - - The index. - A character in the slice at the specified index (not from but from the begining of the slice) - - - - Goes to the next character, incrementing the position. - - - The next character. `\0` is end of the iteration. - - - - - Goes to the next character, incrementing the position. - - - - - Peeks a character at the offset of 1 from the current position - inside the range and , returns `\0` if outside this range. - - The character at offset, returns `\0` if none. - - - - Peeks a character at the specified offset from the current position - inside the range and , returns `\0` if outside this range. - - The offset. - The character at offset, returns `\0` if none. - - - - Peeks a character at the specified offset from the current beginning of the string, without taking into account and - - The character at offset, returns `\0` if none. - - - - Peeks a character at the specified offset from the current beginning of the slice - without using the range or , returns `\0` if outside the . - - The offset. - The character at offset, returns `\0` if none. - - - - Matches the specified text. - - The text. - The offset. - true if the text matches; false otherwise - - - - Matches the specified text. - - The text. - The end. - The offset. - true if the text matches; false otherwise - - - - Expect spaces until a end of line. Return false otherwise. - - true if whitespaces where matched until a end of line - - - - Matches the specified text using lowercase comparison. - - The text. - The offset. - true if the text matches; false otherwise - - - - Matches the specified text using lowercase comparison. - - The text. - The end. - The offset. - true if the text matches; false otherwise - - - - Searches the specified text within this slice. - - The text. - The offset. - true if ignore case - true if the text was found; false otherwise - - - - Searches for the specified character within this slice. - - A value >= 0 if the character was found, otherwise < 0 - - - - Trims whitespaces at the beginning of this slice starting from position. - - - true if it has reaches the end of the iterator - - - - - Trims whitespaces at the beginning of this slice starting from position. - - The number of spaces trimmed. - - - - Trims whitespaces at the end of this slice, starting from position. - - - - - - Trims whitespaces from both the start and end of this slice. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Determines whether this slice is empty or made only of whitespaces. - - true if this slice is empty or made only of whitespaces; false otherwise - - - - Inspired by CoreLib, taken from https://github.com/MihaZupan/SharpCollections, cc @MihaZupan - - - - - Resize the internal buffer either by doubling current buffer size or - by adding to - whichever is greater. - - - Number of chars requested beyond current position. - - - - - Base interface for an extension. - - - - - Setups this extension for the specified pipeline. - - The pipeline. - - - - Setups this extension for the specified renderer. - - The pipeline used to parse the document. - The renderer. - - - - Provides methods for parsing a Markdown string to a syntax tree and converting it to other formats. - - - - - Normalizes the specified markdown to a normalized markdown text. - - The markdown. - The normalize options - The pipeline. - A parser context used for the parsing. - A normalized markdown text. - - - - Normalizes the specified markdown to a normalized markdown text. - - The markdown. - The destination that will receive the result of the conversion. - The normalize options - The pipeline. - A parser context used for the parsing. - A normalized markdown text. - - - - Converts a Markdown string to HTML. - - A Markdown text. - The pipeline used for the conversion. - A parser context used for the parsing. - The HTML string. - If is null. - - - - Converts a Markdown document to HTML. - - A Markdown document. - The pipeline used for the conversion. - The HTML string. - If is null. - - - - Converts a Markdown document to HTML. - - A Markdown document. - The destination that will receive the result of the conversion. - The pipeline used for the conversion. - The HTML string. - If is null. - - - - Converts a Markdown string to HTML and output to the specified writer. - - A Markdown text. - The destination that will receive the result of the conversion. - The pipeline used for the conversion. - A parser context used for the parsing. - The Markdown document that has been parsed - if reader or writer variable are null - - - - Converts a Markdown string using a custom . - - A Markdown text. - The renderer to convert Markdown to. - The pipeline used for the conversion. - A parser context used for the parsing. - if markdown or writer variable are null - - - - Parses the specified markdown into an AST - - The markdown text. - Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. - An AST Markdown document - if markdown variable is null - - - - Parses the specified markdown into an AST - - The markdown text. - The pipeline used for the parsing. - A parser context used for the parsing. - An AST Markdown document - if markdown variable is null - - - - Converts a Markdown string to Plain text and output to the specified writer. - - A Markdown text. - The destination that will receive the result of the conversion. - The pipeline used for the conversion. - A parser context used for the parsing. - The Markdown document that has been parsed - if reader or writer variable are null - - - - Converts a Markdown string to Plain text by using a . - - A Markdown text. - The pipeline used for the conversion. - A parser context used for the parsing. - The result of the conversion - if markdown variable is null - - - - Provides extension methods for to enable several Markdown extensions. - - - - - Adds the specified extension to the extensions collection. - - The type of the extension. - The instance of - - - - Adds the specified extension instance to the extensions collection. - - The pipeline. - The instance of the extension to be added. - The type of the extension. - The modified pipeline - - - - Uses all extensions except the BootStrap, Emoji, SmartyPants and soft line as hard line breaks extensions. - - The pipeline. - The modified pipeline - - - - Uses this extension to enable alert blocks. - - The pipeline. - Replace the default renderer for the kind with a custom renderer - The modified pipeline - - - - Uses this extension to enable autolinks from text `http://`, `https://`, `ftp://`, `mailto:`, `www.xxx.yyy` - - The pipeline. - The options. - The modified pipeline - - - - Uses this extension to disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. - - The pipeline. - The modified pipeline - - - - Uses YAML frontmatter extension that will parse a YAML frontmatter into the MarkdownDocument. Note that they are not rendered by any default HTML renderer. - - The pipeline. - The modified pipeline - - - - Uses the self pipeline extension that will detect the pipeline to use from the markdown input that contains a special tag. See - - The pipeline. - The default tag to use to match the self pipeline configuration. By default, , meaning that the HTML tag will be <--markdig:extensions--> - The default extensions to configure if no pipeline setup was found from the Markdown document - The modified pipeline - - - - Uses pragma lines to output span with an id containing the line number (pragma-line#line_number_zero_based`) - - The pipeline. - The modified pipeline - - - - Uses the diagrams extension - - The pipeline. - The modified pipeline - - - - Uses precise source code location (useful for syntax highlighting). - - The pipeline. - The modified pipeline - - - - Uses the task list extension. - - The pipeline. - The modified pipeline - - - - Uses the custom container extension. - - The pipeline. - The modified pipeline - - - - Uses the media extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the auto-identifier extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the SmartyPants extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the bootstrap extension. - - The pipeline. - The modified pipeline - - - - Uses the math extension. - - The pipeline. - The modified pipeline - - - - Uses the figure extension. - - The pipeline. - The modified pipeline - - - - Uses the custom abbreviation extension. - - The pipeline. - The modified pipeline - - - - Uses the definition lists extension. - - The pipeline. - The modified pipeline - - - - Uses the pipe table extension. - - The pipeline. - The options. - - The modified pipeline - - - - - Uses the grid table extension. - - The pipeline. - The modified pipeline - - - - Uses the cite extension. - - The pipeline. - The modified pipeline - - - - Uses the footer extension. - - The pipeline. - The modified pipeline - - - - Uses the footnotes extension. - - The pipeline. - The modified pipeline - - - - Uses the softline break as hardline break extension - - The pipeline. - The modified pipeline - - - - Uses the strikethrough superscript, subscript, inserted and marked text extensions. - - The pipeline. - The options to enable. - - The modified pipeline - - - - - Uses the list extra extension to add support for `a.`, `A.`, `i.` and `I.` ordered list items. - - The pipeline. - - The modified pipeline - - - - - Uses the generic attributes extension. - - The pipeline. - The modified pipeline - - - - Uses the emojis and smileys extension. - - The pipeline. - Enable smileys in addition to emoji shortcodes, true by default. - The modified pipeline - - - - Uses the emojis and smileys extension. - - The pipeline. - Enable customization of the emojis and smileys mapping. - The modified pipeline - - - - Add rel=nofollow to all links rendered to HTML. - - - - - - - Automatically link references to JIRA issues - - The pipeline - Set of required options - The modified pipeline - - - - Adds support for right-to-left content by adding appropriate html attribtues. - - The pipeline - The modified pipeline - - - - This will disable the HTML support in the markdown processor (for constraint/safe parsing). - - The pipeline. - The modified pipeline - - - - Configures the pipeline using a string that defines the extensions to activate. - - The pipeline (e.g: advanced for , pipetables+gridtables for and - The extensions to activate as a string - The modified pipeline - - - - Configures the string to be used for line-endings, when writing. - - The pipeline. - The string to be used for line-endings. - The modified pipeline - - - - Disables parsing of ATX and Setex headings - - The pipeline. - The modified pipeline - - - - Enables parsing and tracking of trivia characters - - The pipeline. - he modified pipeline - - - - Provides a context that can be used as part of parsing Markdown documents. - - - - - Gets or sets the context property collection. - - - - - Initializes a new instance of the class. - - - - - This class is the Markdown pipeline build from a . - An instance of is immutable, thread-safe, and should be reused when parsing multiple inputs. - - - - - Initializes a new instance of the class. - - - - - The read-only list of extensions used to build this pipeline. - - - - - True to parse trivia such as whitespace, extra heading characters and unescaped - string values. - - - - - Allows to setup a . - - The markdown renderer to setup - - - - This class allows to modify the pipeline to parse and render a Markdown document. - - NOTE: A pipeline is not thread-safe. - - - - Initializes a new instance of the class. - - - - - Gets the block parsers. - - - - - Gets the inline parsers. - - - - - Gets the register extensions. - - - - - Gets or sets a value indicating whether to enable precise source location (slower parsing but accurate position for block and inline elements) - - - - - Gets or sets the debug log. - - - - - True to parse trivia such as whitespace, extra heading characters and unescaped - string values. - - - - - Occurs when a document has been processed after the method. - - - - - Builds a pipeline from this instance. Once the pipeline is build, it cannot be modified. - - An extension cannot be null - - - - Delegates called when processing a block - - - - - Base class for a parser of a - - - - - - Determines whether the specified char is an opening character. - - The character. - true if the specified char is an opening character. - - - - Determines whether this instance can interrupt the specified block being processed. - - The parser processor. - The block being processed. - true if this parser can interrupt the specified block being processed. - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Called when a block matched by this parser is being closed (to allow final computation on the block). - - The parser processor. - The block being closed. - true to keep the block; false to remove it. True by default. - - - - A List of . - - - - - - Initializes a new instance of the class. - - The parsers. - - - - The block processor. - - - - - Initializes a new instance of the class. - - The document to build blocks into. - The list of parsers. - A parser context used for the parsing. - Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. - - - - - - Gets the new blocks to push. A is required to push new blocks that it creates to this property. - - - - - Gets the list of s configured with this parser state. - - - - - Gets the parser context or null if none is available. - - - - - Gets the current active container. - - - - - Gets the last block that is opened. - - - - - Gets the last block that is created. - - - - - Gets the next block in a . - - - - - Gets the root document. - - - - - The current line being processed. - - - - - Gets or sets the current line start position. - - - - - Gets the index of the line in the source text. - - - - - Gets a value indicating whether the line is blank (valid only after has been called). - - - - - Gets the current character being processed. - - - - - Gets or sets the column. - - - - - Gets the position of the current character in the line being processed. - - - - - Gets the current indent position (number of columns between the previous indent and the current position). - - - - - Gets a value indicating whether a code indentation is at the beginning of the line being processed. - - - - - Gets the column position before the indent occurred. - - - - - Gets the character position before the indent occurred. - - - - - Gets a boolean indicating whether the current line being parsed is lazy continuation. - - - - - Gets the current stack of being processed. - - - - - Gets or sets the position of the first character trivia is encountered - and not yet assigned to a syntax node. - Trivia: only used when is enabled, otherwise 0. - - - - - Returns trivia that has not yet been assigned to any node and - advances the position of trivia to the ending position. - - End position of the trivia - - - - - Returns the current stack of to assign it to a . - Afterwards, the is set to null. - - - - - Gets or sets the stack of empty lines not yet assigned to any . - An entry may contain an empty . In that case the - is relevant. Otherwise, the - entry will contain trivia. - - - - - True to parse trivia such as whitespace, extra heading characters and unescaped - string values. - - - - - Get the current Container that is currently opened - - The current Container that is currently opened - - - - Returns the next character in the line being processed. Update and . - - The next character or `\0` if end of line is reached - - - - Returns the next character in the line taking into space taken by tabs. Update and . - - - - - Peeks a character at the specified offset from the current position in the line. - - The offset. - A character peeked at the specified offset - - - - Restarts the indent from the current position. - - - - - Parses the indentation from the current position in the line, updating , - , and accordingly - taking into account space taken by tabs. - - - - - Moves to the position to the specified column position, taking into account spaces in tabs. - - The new column position to move the cursor to. - - - - Unwind any previous indent from the current character back to the first space. - - - - - Moves to the position to the code indent ( + 4 spaces). - - The column offset to apply to this indent. - - - - Opens the specified block. - - The block. - - The block must be opened - - - - Force closing the specified block. - - The block. - - - - Discards the specified block from the stack, remove from its parent. - - The block. - - - - Processes a new line. - - The new line. - - - - Processes part of a line. - - The line. - The column. - - - - Process current string slice. - - - - - Closes a block at the specified index. - - The index. - - - - Closes all the blocks opened. - - if set to true [force]. - - - - Mark all blocks in the stack as opened. - - - - - Updates the and . - - Index of a block in a stack considered as the last block to update from. - - - - Tries to continue matching existing opened . - - - A pending parser cannot add a new block when it is not the last pending block - or - The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed - - - - - First phase of the process, try to open new blocks. - - - - - Tries to open new blocks using the specified list of - - The parsers. - true to continue processing the current line - - - - Processes any new blocks that have been pushed to . - - The last result of matching. - if set to true the processing of a new block will close existing opened blocks]. - The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed - - - - Defines the result of parsing a line for a . - - - - - A line is not accepted by this parser. - - - - - The parser is skipped. - - - - - The parser accepts a line and instruct to continue. - - - - - The parser accepts a line, instruct to continue but discard the line (not stored on the block) - - - - - The parser is ending a block, instruct to stop and keep the line being processed. - - - - - The parser is ending a block, instruct to stop and discard the line being processed. - - - - - Extensions used by . - - - - - Determines whether this is discarded. - - State of the block. - true if the block state is in discard state - - - - Determines whether this is in a continue state. - - State of the block. - true if the block state is in continue state - - - - Determines whether this is in a break state. - - State of the block. - true if the block state is in break state - - - - Delegate used to parse the string on the first line after the fenced code block special characters (usually ` or ~) - - The parser processor. - The being processed line. - The fenced code block. - The opening character for the fenced code block (usually ` or ~) - true if parsing of the line is successfull; false otherwise - - - - Gets or sets the information parser. - - - - - A delegates that allows to process attached attributes - - - - - Base parser for fenced blocks (opened by 3 or more character delimiters on a first line, and closed by at least the same number of delimiters) - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the language prefix (default is "language-") - - - - - The roundtrip parser for the information after the fenced code block special characters (usually ` or ~) - - The parser processor. - The line. - The fenced code block. - The opening character for this fenced code block. - true if parsing of the line is successfull; false otherwise - - - - The default parser for the information after the fenced code block special characters (usually ` or ~) - - The parser processor. - The line. - The fenced code block. - The opening character for this fenced code block. - true if parsing of the line is successfull; false otherwise - - - - Parser for a . - - - - - - Initializes a new instance of the class. - - - - - Block parser for a . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the max count of the leading unescaped # characters - - - - - A delegates that allows to process attached attributes after # - - - - - Block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A delegates that allows to process attached attributes at time. - - The processor. - The slice to look for attached attributes. - The block. - true if attributes were found; otherwise false - - - - An interface used to tag that supports parsing - - - - - A delegates that allows to process attached attributes - - - - - Base interface for a . - - - - - - - Determines whether this instance can interrupt the specified block being processed. - - The parser processor. - The block being processed. - true if this parser can interrupt the specified block being processed. - - - - Tries to match a block opening. - - The parser processor. - The result of the match - - - - Tries to continue matching a block already opened. - - The parser processor. - The block already opened. - The result of the match. By default, don't expect any newline - - - - Called when a block matched by this parser is being closed (to allow final computation on the block). - - The parser processor. - The block being closed. - true to keep the block; false to remove it. True by default. - - - - Base interface for parsing an . - - - - - - - Tries to match the specified slice. - - The parser processor. - The text slice. - true if this parser found a match; false otherwise - - - - Base interface for a block or inline parser. - - The type of processor. - - - - Gets the opening characters this parser will be triggered if the character is found. - - - - - Initializes this parser with the specified parser processor. - - - - - Gets the index of this parser in or . - - - - - Block parser for an indented . - - - - - - Base class for parsing an . - - - - - - Tries to match the specified slice. - - The parser processor. - The text slice. - true if this parser found a match; false otherwise - - - - A list of . - - - - - - Gets the registered post inline processors. - - - - - A delegate called at inline processing stage. - - The processor. - The inline being processed. - - - - The inline parser state used by all . - - - - - Initializes a new instance of the class. - - The document. - The parsers. - A value indicating whether to provide precise source location. - A parser context used for the parsing. - Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. - - - - - - Gets the current block being processed. - - - - - Gets a value indicating whether to provide precise source location. - - - - - Gets or sets the new block to replace the block being processed. - - - - - Gets or sets the current inline. Used by to return a new inline if match was successfull - - - - - Gets the root container of the current . - - - - - Gets the list of inline parsers. - - - - - Gets the parser context or null if none is available. - - - - - Gets the root document. - - - - - Gets or sets the index of the line from the begining of the document being processed. - - - - - Gets the parser states that can be used by using their property. - - - - - Gets or sets the debug log writer. No log if null. - - - - - True to parse trivia such as whitespace, extra heading characters and unescaped - string values. - - - - - Gets the literal inline parser. - - - - - Gets the source position for the specified offset within the current slice. - - The slice offset. - The line index. - The column. - The source position - - - - Gets the source position for the specified offset within the current slice. - - The slice offset. - The source position - - - - Replace a parent container. This method is experimental and should be used with caution. - - The previous parent container to replace - The new parent container - If a new parent container has been already setup. - - - - Processes the inline of the specified . - - The leaf block. - - - - An inline parser for parsing . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to enable HTML parsing. Default is true - - - - - An inline parser for a . - - - - - - Initializes a new instance of the class. - - - - - Descriptor for an emphasis. - - - - - Initializes a new instance of the class. - - The character used for this emphasis. - The minimum number of character. - The maximum number of characters. - if set to true the emphasis can be used inside a word. - - - - The character of this emphasis. - - - - - The minimum number of character this emphasis is expected to have (must be >=1) - - - - - The maximum number of character this emphasis is expected to have (must be >=1 and >= minimumCount) - - - - - This emphasis can be used within a word. - - - - - An inline parser for . - - - - - - - Initializes a new instance of the class. - - - - - Gets the emphasis descriptors. - - - - - Determines whether this parser is using the specified character as an emphasis delimiter. - - The character to look for. - true if this parser is using the specified character as an emphasis delimiter; otherwise false - - - - Gets or sets the create emphasis inline delegate (allowing to create a different emphasis inline class) - - - - - An inline parser for escape characters. - - - - - - An inline parser for HTML entities. - - - - - - Initializes a new instance of the class. - - - - - An inline parser for . - - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to interpret softline breaks as hardline breaks. Default is false - - - - - An inline parser for . - - - - - - Initializes a new instance of the class. - - - - - An inline parser for parsing . - - - - - - We don't expect the LiteralInlineParser to be instantiated a end-user, as it is part - of the default parser pipeline (and should always be the last), working as a literal character - collector. - - - - - Gets or sets the post match delegate called after the inline has been processed. - - - - - A processor called at the end of processing all inlines. - - - - - Processes the delimiters. - - The parser state. - The root inline. - The last child. - Index of this delimiter processor. - - true to continue to the next delimiter processor; - false to stop the process (in case a processor is performing sub-sequent processor itself) - - - - A parser for a list block and list item block. - - - - - - Initializes a new instance of the class. - - - - - Gets the parsers for items. - - - - - Defines list information returned when trying to parse a list item with - - - - - Initializes a new instance of the struct. - - Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). - - - - Initializes a new instance of the struct. - - Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I') - The string used as a starting sequence for an ordered list. - The ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) - The default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) - - - - Gets or sets the type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). - - - - - Gets or sets the string used as a starting sequence for an ordered list - - - - - Gets or sets the ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) - - - - - Gets or sets default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) - - - - - A parser base class for a list item. - - - - - Defines the characters that are used for detecting this list item. - - - - - Tries to parse the current input as a list item for this particular instance. - - The block processor - The type of the current bullet type - The result of parsing - true if parsing was successful; false otherwise - - - - Delegates called when processing a document - - The markdown document. - - - - The Markdown parser. - - - - - Parses the specified markdown into an AST - - A Markdown text - The pipeline used for the parsing. - A parser context used for the parsing. - An AST Markdown document - if reader variable is null - - - - Fixups the zero character by replacing it to a secure character (Section 2.3 Insecure characters, CommonMark specs) - - The text to secure. - - - - The default parser for parsing numbered list item (e.g: 1) or 1.) - - - - - - Initializes a new instance of the class. - - - - - Base class for an ordered list item parser. - - - - - - Initializes a new instance of the class. - - - - - Gets or sets the ordered delimiters used after a digit/number (by default `.` and `)`) - - - - - Utility method that tries to parse the delimiter coming after an ordered list start (e.g: the `)` after `1)`). - - The state. - The ordered delimiter found if this method is successful. - true if parsing was successful; false otherwise. - - - - Block parser for a . - - - - - - Base class for a or . - - Type of the parser processor - - - - - Gets the opening characters this parser will be triggered if the character is found. - - - - - Initializes this parser with the specified parser processor. - - - - - Gets the index of this parser in or . - - - - - Base class for a list of parsers. - - Type of the parser - The type of the parser state. - - - - - Gets the list of global parsers (that don't have any opening characters defined) - - - - - Gets all the opening characters defined. - - - - - Gets the list of parsers valid for the specified opening character. - - The opening character. - A list of parsers valid for the specified opening character or null if no parsers registered. - - - - Searches for an opening character from a registered parser in the specified string. - - The text. - The start. - The end. - Index position within the string of the first opening character found in the specified text; if not found, returns -1 - - - - A block parser for a . - - - - - - Initializes a new instance of the class. - - - - - A block parser for a . - - - - - - A singleton instance used by other parsers. - - - - - Initializes a new instance of the class. - - - - - The default parser used to parse unordered list item (-, +, *) - - - - - - Initializes a new instance of the class. - - - - - An HTML renderer for a and . - - - - - - Initializes a new instance of the class. - - - - - Gets a map of fenced code block infos that should be rendered as div blocks instead of pre/code blocks. - - - - - Gets a map of custom block mapping to render as custom blocks instead of pre/code blocks. - For example defining {"mermaid", "pre"} will render a block with info `mermaid` as a `pre` block but without the code HTML element. - - - - - An HTML renderer for a . - - - - - - Attached HTML attributes to a . - - - - - Initializes a new instance of the class. - - - - - Gets or sets the HTML id/identifier. May be null. - - - - - Gets or sets the CSS classes attached. May be null. - - - - - Gets or sets the additional properties. May be null. - - - - - Adds a CSS class. - - The css class name. - - - - Adds a property. - - The name. - The value. - - - - Adds the specified property only if it does not already exist. - - The name. - The value. - - - - Copies/merge the values from this instance to the specified instance. - - The HTML attributes. - If set to true it will merge properties to the target htmlAttributes. Default is false - If set to true it will try to share Classes and Properties if destination don't have them, otherwise it will make a copy. Default is true - - - - - Extensions for a to allow accessing - - - - - Tries the get stored on a . - - The markdown object. - The attached html attributes or null if not found - - - - Gets or creates the stored on a - - The markdown object. - The attached html attributes - - - - Sets to the - - The markdown object. - The attributes to attach. - - - - A HTML renderer for a . - - - - - - A base class for HTML rendering and Markdown objects. - - The type of the object. - - - - - A HTML renderer for an . - - - - - - Gets or sets a value indicating whether to always add rel="nofollow" for links or not. - - - - - Gets or sets the literal string in property rel for links - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for an . - - - - - - Delegates to get the tag associated to an object. - - The object. - The HTML tag associated to this object - - - - Initializes a new instance of the class. - - - - - Gets or sets the GetTag delegate. - - - - - Gets the default HTML tag for ** and __ emphasis. - - The object. - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - Gets or sets a value indicating whether to render this softline break as a HTML hardline break tag (<br />) - - - - - A HTML renderer for a . - - - - - - Gets or sets a value indicating whether to always add rel="nofollow" for links or not. - - - - - Gets or sets the literal string in property rel for links - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - A HTML renderer for a . - - - - - - Default HTML renderer for a Markdown object. - - - - - - Initializes a new instance of the class. - - The writer. - - - - Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. - - - This is used by some renderers to disable HTML tags when rendering some inline elements (for image links). - - - - - Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. - - - This is used by some renderers to disable HTML tags when rendering some block elements (for image links). - - - - - Gets or sets a value indicating whether to use implicit paragraph (optional <p>) - - - - - Gets a value to use as the base url for all relative links - - - - - Allows links to be rewritten - - - - - Writes the content escaped for HTML. - - The content. - This instance - - - - Writes the content escaped for HTML. - - The slice. - Only escape < and & - This instance - - - - Writes the content escaped for HTML. - - The slice. - Only escape < and & - This instance - - - - Writes the content escaped for HTML. - - The content. - The offset. - The length. - Only escape < and & - This instance - - - - Writes the content escaped for HTML. - - The content. - Only escape < and & - - - - Writes the URL escaped for HTML. - - The content. - This instance - - - - Writes the attached on the specified . - - The object. - - - - - Writes the specified . - - The attributes to render. - A class filter used to transform a class into another class at writing time - This instance - - - - Writes the lines of a - - The leaf block. - if set to true write end of lines. - if set to true escape the content for HTML - Only escape < and & - This instance - - - - Base interface for the renderer of a . - - - - - Accepts the specified . - - The renderer. - The of the Markdown object. - true If this renderer is accepting to render the specified Markdown object - - - - Writes the specified to the . - - The renderer. - The object to render. - - - - Base interface for a renderer for a Markdown . - - - - - Occurs when before writing an object. - - - - - Occurs when after writing an object. - - - - - Gets the object renderers that will render and elements. - - - - - Renders the specified markdown object. - - The markdown object. - The result of the rendering. - - - - A base class for rendering and Markdown objects. - - The type of the renderer. - The type of the object. - - - - - Gets the optional writers attached to this instance. - - - - - Writes the specified Markdown object to the renderer. - - The renderer. - The markdown object. - - - - An Normalize renderer for a and . - - - - - - An Normalize renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - Gets or sets a value indicating whether to render this softline break as a Normalize hardline break tag (<br />) - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - A Normalize renderer for a . - - - - - A Normalize renderer for a . - - - - - - A base class for Normalize rendering and Markdown objects. - - The type of the object. - - - - - Defines the options used by - - - - - Initialize a new instance of - - - - - Adds a space after a QuoteBlock >. Default is true - - - - - Adds an empty line after a code block (fenced and tabbed). Default is true - - - - - Adds an empty line after an heading. Default is true - - - - - Adds an empty line after an thematic break. Default is true - - - - - The bullet character used for list items. Default is null leaving the original bullet character as-is. - - - - - Expands AutoLinks to the normal inline representation. Default is true - - - - - Default HTML renderer for a Markdown object. - - - - - - Initializes a new instance of the class. - - The writer. - The normalize options - - - - Writes the lines of a - - The leaf block. - if set to true write end of lines. - Whether to write indents. - This instance - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A collection of . - - - - - - Base class for a . - - - - - - Initializes a new instance of the class. - - - - - Occurs when before writing an object. - - - - - Occurs when after writing an object. - - - - - Writes the children of the specified . - - The container block. - - - - Writes the children of the specified . - - The container inline. - - - - Writes the specified Markdown object. - - The Markdown object to write to this renderer. - - - - An Roundtrip renderer for a and . - - - - - - An Roundtrip renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for an . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - - A Normalize renderer for a . - - - - - A Normalize renderer for a . - - - - - A Roundtrip renderer for a . - - - - - - A Roundtrip renderer for a . - - - - - - A Roundtrip renderer for a . - - - - - A base class for Normalize rendering and Markdown objects. - - The type of the object. - - - - - Markdown renderer honoring trivia for a object. - - Ensure to call the extension method when - parsing markdown to have trivia available for rendering. - - - - Initializes a new instance of the class. - - The writer. - - - - Writes the lines of a - - The leaf block. - This instance - - - - A Roundtrip renderer for a . - - - - - - A text based . - - - - - - Initializes a new instance of the class. - - The writer. - - - - - Gets or sets the writer. - - if the value is null - - - - Renders the specified markdown object (returns the as a render object). - - The markdown object. - - - - - Typed . - - Type of the renderer - - - - - Initializes a new instance of the class. - - The writer. - - - - Ensures a newline. - - This instance - - - - Writes the specified content. - - The content. - This instance - - - - Writes the specified char repeated a specified number of times. - - The char to write. - The number of times to write the char. - This instance - - - - Writes the specified slice. - - The slice. - This instance - - - - Writes the specified slice. - - The slice. - This instance - - - - Writes the specified character. - - The content. - This instance - - - - Writes the specified content. - - The content. - The offset. - The length. - This instance - - - - Writes the specified content. - - The content. - - - - Writes a newline. - - This instance - - - - Writes a newline. - - This instance - - - - Writes a content followed by a newline. - - The content. - This instance - - - - Writes a content followed by a newline. - - The content. - This instance - - - - Writes the inlines of a leaf inline. - - The leaf block. - This instance - - - - A blank line, used internally by some parsers to store blank lines in a container. They are removed before the end of the document. - - - - - - Initializes a new instance of the class. - - - - - Base class for a block structure. Either a or a . - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets the parent of this container. May be null. - - - - - Gets the parser associated to this instance. - - - - - Gets or sets a value indicating whether this instance is still open. - - - - - Gets or sets a value indicating whether this block is breakable. Default is true. - - - - - The last newline of this block. - Trivia: only parsed when is enabled - - - - - Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. - - - - - Gets or sets the trivia right before this block. - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets trivia occurring after this block. - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the empty lines occurring before this block. - Trivia: only parsed when is enabled, otherwise null. - - - - - Gets or sets the empty lines occurring after this block. - Trivia: only parsed when is enabled, otherwise null. - - - - - Occurs when the process of inlines begin. - - - - - Occurs when the process of inlines ends for this instance. - - - - - Called when the process of inlines begin. - - The inline parser state. - - - - Called when the process of inlines ends. - - The inline parser state. - - - - Extensions for - - - - - Helpers for the class. - - - - - Represents an indented code block. - - - Related to CommonMark spec: 4.4 Indented code blocks - - - - - Initializes a new instance of the class. - - The parser. - - - - A base class for container blocks. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets the last child. - - - - - Specialize enumerator. - - - - - - Represents a fenced code block. - - - Related to CommonMark spec: 4.5 Fenced code blocks - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the indent count when the fenced code block was indented - and we need to remove up to indent count chars spaces from the beginning of a line. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a heading. - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the header character used to defines this heading (usually #) - - - - - Gets or sets the level of heading (starting at 1 for the lowest level). - - - - - True if this heading is a Setext heading. - - - - - Gets or sets the amount of - or = characters when is true. - - - - - Gets or sets the newline of the first line when is true. - Trivia: only parsed when is enabled. - - - - - Gets or sets the whitespace after the # character when is false. - Trivia: only parsed when is enabled, otherwise - . - - - - - Represents a group of lines that is treated as raw HTML (and will not be escaped in HTML output). - - - - - - Initializes a new instance of the class. - - The parser. - - - - Gets or sets the type of block. - - - - - Defines the type of - - - - - A SGML document type starting by <!LETTER. - - - - - A raw CDATA sequence. - - - - - A HTML comment. - - - - - A SGM processing instruction tag <? - - - - - A script pre or style tag. - - - - - An HTML interrupting block - - - - - An HTML non-interrupting block - - - - - Base interface for a block structure. Either a or a . - - - - - - Gets or sets the text column this instance was declared (zero-based). - - - - - Gets or sets the text line this instance was declared (zero-based). - - - - - Gets the parent of this container. May be null. - - - - - Gets the parser associated to this instance. - - - - - Gets or sets a value indicating whether this instance is still open. - - - - - Gets or sets a value indicating whether this block is breakable. Default is true. - - - - - Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. - - - - - Occurs when the process of inlines begin. - - - - - Occurs when the process of inlines ends for this instance. - - - - - Trivia occurring before this block - - Trivia: only parsed when is enabled, otherwise . - - - - Trivia occurring after this block - - Trivia: only parsed when is enabled, otherwise . - - - - A common interface for fenced block (e.g: or ) - - - - - Gets or sets the fenced character used to open and close this fenced code block. - - - - - Gets or sets the fenced character count used to open this fenced code block. - - - - - Gets or sets the trivia after the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the language parsed after the first line of - the fenced code block. May be null. - - - - - Non-escaped exactly as in source markdown. - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the trivia after the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the arguments after the . - May be null. - - - - - Non-escaped exactly as in source markdown. - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the trivia after the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Newline of the line with the opening fenced chars. - Trivia: only parsed when is enabled, otherwise - . - - - - - Trivia before the closing fenced chars - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the fenced character count used to close this fenced code block. - - - - - Newline after the last line, which is always the line containing the closing fence chars. - "Inherited" from . - Trivia: only parsed when is enabled, otherwise - . - - - - - Base interface for a the Markdown syntax tree - - - - - Stores a key/value pair for this instance. - - The key. - The value. - if key is null - - - - Determines whether this instance contains the specified key data. - - The key. - true if a data with the key is stored - if key is null - - - - Gets the associated data for the specified key. - - The key. - The associated data or null if none - if key is null - - - - Removes the associated data for the specified key. - - The key. - true if the data was removed; false otherwise - - - - - An autolink (Section 6.7 CommonMark specs) - - - - - - Gets or sets a value indicating whether this instance is an email link. - - - - - Gets or sets the URL of this link. - - - - - Represents a code span (Section 6.3 CommonMark specs) - - - - - - Gets or sets the delimiter character used by this code inline. - - - - - Gets or sets the amount of delimiter characters used - - - - - Gets or sets the content of the span. - - - - - Gets or sets the content with trivia and whitespace. - Trivia: only parsed when is enabled, otherwise - . - - - - - A base class for container for . - - - - - - Gets the parent block of this inline. - - - - - Gets the first child. - - - - - Gets the last child. - - - - - Clears this instance by removing all its children. - - - - - Appends a child to this container. - - The child to append to this container.. - This instance - If child is null - Inline has already a parent - - - - Checks if this instance contains the specified child. - - The child to find. - true if this instance contains the specified child; false otherwise - - - - Finds all the descendants. - - Type of the descendants to find - An enumeration of T - - - - Moves all the children of this container after the specified inline. - - The parent. - - - - Embraces this instance by the specified container. - - The container to use to embrace this instance. - If the container is null - - - - Internal delimiter used by some parsers (e.g emphasis, tables). - - - - - - Gets the parser. - - - - - Gets or sets the type of this delimiter. - - - - - Gets or sets a value indicating whether this instance is active. - - - - - Converts this delimiter to a literal. - - The string representation of this delimiter - - - - Gets the type of a . - - - - - An undefined open or close delimiter. - - - - - An open delimiter. - - - - - A close delimiter. - - - - - A delimiter used for parsing emphasis. - - - - - - Initializes a new instance of the class. - - The parser. - The descriptor. - - - - - Initializes a new instance of the class. - - The parser. - The descriptor. - The content. - - - - - Gets the descriptor for this emphasis. - - - - - The delimiter character found. - - - - - The number of delimiter characters found for this delimiter. - - - - - The content as a . - - - - - An emphasis and strong emphasis (Section 6.4 CommonMark specs). - - - - - - Gets or sets the delimiter character of this emphasis. - - - - - Gets or sets a value indicating whether this is strong. - Marked obsolete as EmphasisInline can now be represented by more than two delimiter characters - - - - - Gets or sets the number of delimiter characters for this emphasis. - - - - - An entity HTML. - - - - - - Gets or sets the original HTML entity name - - - - - Gets or sets the transcoded literal that will be used for output - - - - - A Raw HTML (Section 6.8 CommonMark specs). - - - - - - Gets or sets the full declaration of this tag. - - - - - Base interface for all syntax tree inlines. - - - - - - Gets the parent container of this inline. - - - - - Gets the previous inline. - - - - - Gets the next sibling inline. - - - - - Gets or sets a value indicating whether this instance is closed. - - - - - Base class for all syntax tree inlines. - - - - - - Gets the parent container of this inline. - - - - - Gets the previous inline. - - - - - Gets the next sibling inline. - - - - - Gets or sets a value indicating whether this instance is closed. - - - - - Inserts the specified inline after this instance. - - The inline to insert after this instance. - - Inline has already a parent - - - - Inserts the specified inline before this instance. - - The inline previous to insert before this instance. - - Inline has already a parent - - - - Removes this instance from the current list and its parent - - - - - Replaces this inline by the specified inline. - - The inline. - if set to true the children of this instance are copied to the specified inline. - The last children - If inline is null - - - - Determines whether this instance contains a parent of the specified type. - - Type of the parent to check - true if this instance contains a parent of the specified type; false otherwise - - - - Iterates on parents of the specified type. - - Type of the parent to iterate over - An enumeration on the parents of the specified type - - - - Dumps this instance to . - - The writer. - - - - - Dumps this instance to . - - The writer. - The level of indent. - if writer is null - - - - A base class for a leaf inline. - - - - - - A base class for a line break. - - - - - - A delimiter for a link. - - - - - - Gets or sets a value indicating whether this delimiter is an image link. - - - - - Gets or sets the label of this link. - - - - - The label span - - - - - Gets or sets the with trivia. - Trivia: only parsed when is enabled, otherwise - . - - - - - A Link inline (Section 6.5 CommonMark specs) - - - - - - A delegate to use if it is setup on this instance to allow late binding - of a Url. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The URL. - The title. - - - - Gets or sets a value indicating whether this instance is an image link. - - - - - Gets or sets the label. - - - - - The label span - - - - - Gets or sets the with trivia. - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the type of label parsed - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the reference this link is attached to. May be null. - - - - - Gets or sets the label as matched against the . - Trivia: only parsed when is enabled. - - - - - Gets or sets the with trivia as matched against - the - - - - - Gets or sets the trivia before the . - Trivia: only parsed when is enabled, otherwise - . - - - - - True if the in the source document is enclosed - in pointy brackets. - Trivia: only parsed when is enabled, otherwise - false. - - - - - Gets or sets the URL. - - - - - The URL source span. - - - - - The but with trivia and unescaped characters - Trivia: only parsed when is enabled, otherwise - . - - - - - Any trivia after the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the GetDynamicUrl delegate. If this property is set, - it is used instead of to get the Url from this instance. - - - - - Gets or sets the character used to enclose the . - Trivia: only parsed when is enabled. - - - - - Gets or sets the title. - - - - - The title source span. - - - - - Gets or sets the exactly as parsed from the - source document including unescaped characters - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the trivia after the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets a boolean indicating if this link is a shortcut link to a - - - - - Gets or sets a boolean indicating whether the inline link was parsed using markdown syntax or was automatic recognized. - - - - - A literal inline. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The content. - - - - Initializes a new instance of the class. - - The text. - - - - - The content as a . - - - - - A boolean indicating whether the first character of this literal is escaped by `\`. - - - - - Base class for all leaf blocks. - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the string lines accumulated for this leaf block. - May be null after process inlines have occurred. - - - - - Gets or sets the inline syntax tree (may be null). - - - - - Gets or sets a value indicating whether must be processed - as inline into the property. - - - - - Appends the specified line to this instance. - - The slice. - The column. - The line. - - Whether to keep track of trivia such as whitespace, extra heading characters and unescaped string values. - - - - A link reference definition (Section 4.7 CommonMark specs) - - - - - - Creates an inline link for the specified . - - State of the inline. - The link reference. - The child. - An inline link or null to use the default implementation - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The label. - The URL. - The title. - - - - Gets or sets the label. Text is normalized according to spec. - - https://spec.commonmark.org/0.29/#matches - - - - The label span - - - - - Non-normalized Label (includes trivia) - Trivia: only parsed when is enabled, otherwise - . - - - - - Whitespace before the . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the URL. - - - - - The URL span - - - - - Non-normalized . - Trivia: only parsed when is enabled, otherwise - . - - - - - True when the is enclosed in point brackets in the source document. - Trivia: only parsed when is enabled, otherwise - false. - - - - - gets or sets the whitespace before a . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the title. - - - - - The title span - - - - - Non-normalized . - Trivia: only parsed when is enabled, otherwise - . - - - - - Gets or sets the character the is enclosed in. - Trivia: only parsed when is enabled, otherwise \0. - - - - - Gets or sets the create link inline callback for this instance. - - - This callback is called when an inline link is matching this reference definition. - - - - - Tries to the parse the specified text into a definition. - - Type of the text - The text. - The block. - true if parsing is successful; false otherwise - - - - Tries to the parse the specified text into a definition. - - Type of the text - The text. - The block. - - - - - - - - true if parsing is successful; false otherwise - - - - Extension methods for accessing attached at the document level. - - - - - Contains all the found in a document. - - - - - - Initializes a new instance of the class. - - - - - Gets an association between a label and the corresponding - - - - - A list (Section 5.3 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets a value indicating whether the list is ordered. - - - - - Gets or sets the bullet character used by this list. - - - - - Gets or sets the ordered start number (valid when is true) - - - - - Gets or sets the default ordered start ("1" for BulletType = '1') - - - - - Gets or sets the ordered delimiter character (usually `.` or `)`) found after an ordered list item. - - - - - Gets or sets a value indicating whether this instance is loose. - - - - - A list item (Section 5.2 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - The number defined for this in an ordered list - - - - - Gets or sets the bullet as parsed in the source document. - Trivia: only parsed when is enabled, otherwise - . - - - - - The root Markdown document. - - - - - - Initializes a new instance of the class. - - - - - Gets the number of lines in this - - - - - Gets a list of zero-based indexes of line beginnings in the source span - Available if is used, otherwise null - - - - - Base implementation for a the Markdown syntax tree. - - - - - The attached datas. Use internally a simple array instead of a Dictionary{Object,Object} - as we expect less than 5~10 entries, usually typically 1 (HtmlAttributes) - so it will gives faster access than a Dictionary, and lower memory occupation - - - - - Gets or sets the text column this instance was declared (zero-based). - - - - - Gets or sets the text line this instance was declared (zero-based). - - - - - The source span - - - - - Gets a string of the location in the text. - - - - - - Stores a key/value pair for this instance. - - The key. - The value. - if key is null - - - - Determines whether this instance contains the specified key data. - - The key. - true if a data with the key is stored - if key is null - - - - Gets the associated data for the specified key. - - The key. - The associated data or null if none - if key is null - - - - Removes the associated data for the specified key. - - The key. - true if the data was removed; false otherwise - - - - - Extensions for visiting or - - - - - Iterates over the descendant elements for the specified markdown element, including and . - The descendant elements are returned in DFS-like order. - - The markdown object. - An iteration over the descendant elements - - - - Iterates over the descendant elements for the specified markdown element, including and and filters by the type . - The descendant elements are returned in DFS-like order. - - Type to use for filtering the descendants - The markdown object. - An iteration over the descendant elements - - - - Iterates over the descendant elements for the specified markdown element and filters by the type . - - Type to use for filtering the descendants - The inline markdown object. - - An iteration over the descendant elements - - - - - Iterates over the descendant elements for the specified markdown element and filters by the type . - - Type to use for filtering the descendants - The markdown object. - - An iteration over the descendant elements - - - - - Block representing a document with characters but no blocks. This can - happen when an input document consists solely of trivia. - - - - - Represents a paragraph. - - - Related to CommonMark spec: 4.8 Paragraphs - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - A block quote (Section 5.1 CommonMark specs) - - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - - Gets or sets the trivia per line of this QuoteBlock. - Trivia: only parsed when is enabled. - - - - - Gets or sets the quote character (usually `>`) - - - - - Represents trivia per line part of a QuoteBlock. - Trivia: only parsed when is enabled. - - - - - Gets or sets trivia occurring before the first quote character. - - - - - True when this QuoteBlock line has a quote character. False when - this line is a "lazy line". - - - - - True if a space is parsed right after the quote character. - - - - - Gets or sets the trivia after the the space after the quote character. - The first space is assigned to , subsequent - trivia is assigned to this property. - - - - - Gets or sets the newline of this QuoeBlockLine. - - - - - A span of text. - - - - - Initializes a new instance of the struct. - - The start. - The end. - - - - Gets or sets the starting character position from the original text source. - Note that for inline elements, this is only valid if is setup on the pipeline. - - - - - Gets or sets the ending character position from the original text source. - Note that for inline elements, this is only valid if is setup on the pipeline. - - - - - Gets the character length of this element within the original source code. - - - - - Represents a thematic break (Section 4.1 CommonMark specs). - - - - - Initializes a new instance of the class. - - The parser used to create this block. - - - diff --git a/pkgsrc/Markdig.0.42.0/.signature.p7s b/pkgsrc/Markdig.0.43.0/.signature.p7s similarity index 86% rename from pkgsrc/Markdig.0.42.0/.signature.p7s rename to pkgsrc/Markdig.0.43.0/.signature.p7s index cc7ba645..13351cb0 100644 Binary files a/pkgsrc/Markdig.0.42.0/.signature.p7s and b/pkgsrc/Markdig.0.43.0/.signature.p7s differ diff --git a/pkgsrc/Markdig.0.43.0/lib/net462/Markdig.dll b/pkgsrc/Markdig.0.43.0/lib/net462/Markdig.dll new file mode 100644 index 00000000..89ae131a Binary files /dev/null and b/pkgsrc/Markdig.0.43.0/lib/net462/Markdig.dll differ diff --git a/pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.xml b/pkgsrc/Markdig.0.43.0/lib/net462/Markdig.xml similarity index 99% rename from pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.xml rename to pkgsrc/Markdig.0.43.0/lib/net462/Markdig.xml index 5d3b9340..198066fc 100644 --- a/pkgsrc/Markdig.0.42.0/lib/net9.0/Markdig.xml +++ b/pkgsrc/Markdig.0.43.0/lib/net462/Markdig.xml @@ -230,11 +230,6 @@ - - - Should the link open in a new window when clicked (false by default) - - Should a www link be prefixed with https:// instead of http:// (false by default) @@ -849,11 +844,6 @@ The base path after the base url (default is `/browse`) - - - Should the link open in a new window when clicked - - Gets the full url composed of the and with no trailing `/` @@ -1448,6 +1438,7 @@ The text slice. The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) The alignment of the column. + The number of times appeared in the column header. true if parsing was successful @@ -3772,12 +3763,12 @@ - + Initializes a new instance of the class. - + Gets or sets a value indicating whether to enable HTML parsing. Default is true @@ -3900,6 +3891,11 @@ Initializes a new instance of the class. + + + Initializes a new instance of the class. + + An inline parser for parsing . @@ -3935,6 +3931,11 @@ true to continue to the next delimiter processor; false to stop the process (in case a processor is performing sub-sequent processor itself) + + + Should the link open in a new window when clicked (false by default) + + A parser for a list block and list item block. @@ -4783,12 +4784,12 @@ - Occurs when before writing an object. + Occurs before writing an object. - Occurs when after writing an object. + Occurs after writing an object. diff --git a/pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.dll b/pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.dll new file mode 100644 index 00000000..bf2728df Binary files /dev/null and b/pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.dll differ diff --git a/pkgsrc/Markdig.0.42.0/lib/net462/Markdig.xml b/pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.xml similarity index 99% rename from pkgsrc/Markdig.0.42.0/lib/net462/Markdig.xml rename to pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.xml index 5d3b9340..198066fc 100644 --- a/pkgsrc/Markdig.0.42.0/lib/net462/Markdig.xml +++ b/pkgsrc/Markdig.0.43.0/lib/net8.0/Markdig.xml @@ -230,11 +230,6 @@ - - - Should the link open in a new window when clicked (false by default) - - Should a www link be prefixed with https:// instead of http:// (false by default) @@ -849,11 +844,6 @@ The base path after the base url (default is `/browse`) - - - Should the link open in a new window when clicked - - Gets the full url composed of the and with no trailing `/` @@ -1448,6 +1438,7 @@ The text slice. The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) The alignment of the column. + The number of times appeared in the column header. true if parsing was successful @@ -3772,12 +3763,12 @@ - + Initializes a new instance of the class. - + Gets or sets a value indicating whether to enable HTML parsing. Default is true @@ -3900,6 +3891,11 @@ Initializes a new instance of the class. + + + Initializes a new instance of the class. + + An inline parser for parsing . @@ -3935,6 +3931,11 @@ true to continue to the next delimiter processor; false to stop the process (in case a processor is performing sub-sequent processor itself) + + + Should the link open in a new window when clicked (false by default) + + A parser for a list block and list item block. @@ -4783,12 +4784,12 @@ - Occurs when before writing an object. + Occurs before writing an object. - Occurs when after writing an object. + Occurs after writing an object. diff --git a/pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.dll b/pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.dll new file mode 100644 index 00000000..89bd0419 Binary files /dev/null and b/pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.dll differ diff --git a/pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.xml b/pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.xml similarity index 99% rename from pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.xml rename to pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.xml index 5d3b9340..198066fc 100644 --- a/pkgsrc/Markdig.0.42.0/lib/netstandard2.0/Markdig.xml +++ b/pkgsrc/Markdig.0.43.0/lib/net9.0/Markdig.xml @@ -230,11 +230,6 @@ - - - Should the link open in a new window when clicked (false by default) - - Should a www link be prefixed with https:// instead of http:// (false by default) @@ -849,11 +844,6 @@ The base path after the base url (default is `/browse`) - - - Should the link open in a new window when clicked - - Gets the full url composed of the and with no trailing `/` @@ -1448,6 +1438,7 @@ The text slice. The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) The alignment of the column. + The number of times appeared in the column header. true if parsing was successful @@ -3772,12 +3763,12 @@ - + Initializes a new instance of the class. - + Gets or sets a value indicating whether to enable HTML parsing. Default is true @@ -3900,6 +3891,11 @@ Initializes a new instance of the class. + + + Initializes a new instance of the class. + + An inline parser for parsing . @@ -3935,6 +3931,11 @@ true to continue to the next delimiter processor; false to stop the process (in case a processor is performing sub-sequent processor itself) + + + Should the link open in a new window when clicked (false by default) + + A parser for a list block and list item block. @@ -4783,12 +4784,12 @@ - Occurs when before writing an object. + Occurs before writing an object. - Occurs when after writing an object. + Occurs after writing an object. diff --git a/pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.dll b/pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.dll new file mode 100644 index 00000000..376c76f8 Binary files /dev/null and b/pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.dll differ diff --git a/pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.xml b/pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.xml similarity index 99% rename from pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.xml rename to pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.xml index 5d3b9340..198066fc 100644 --- a/pkgsrc/Markdig.0.42.0/lib/net8.0/Markdig.xml +++ b/pkgsrc/Markdig.0.43.0/lib/netstandard2.0/Markdig.xml @@ -230,11 +230,6 @@ - - - Should the link open in a new window when clicked (false by default) - - Should a www link be prefixed with https:// instead of http:// (false by default) @@ -849,11 +844,6 @@ The base path after the base url (default is `/browse`) - - - Should the link open in a new window when clicked - - Gets the full url composed of the and with no trailing `/` @@ -1448,6 +1438,7 @@ The text slice. The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) The alignment of the column. + The number of times appeared in the column header. true if parsing was successful @@ -3772,12 +3763,12 @@ - + Initializes a new instance of the class. - + Gets or sets a value indicating whether to enable HTML parsing. Default is true @@ -3900,6 +3891,11 @@ Initializes a new instance of the class. + + + Initializes a new instance of the class. + + An inline parser for parsing . @@ -3935,6 +3931,11 @@ true to continue to the next delimiter processor; false to stop the process (in case a processor is performing sub-sequent processor itself) + + + Should the link open in a new window when clicked (false by default) + + A parser for a list block and list item block. @@ -4783,12 +4784,12 @@ - Occurs when before writing an object. + Occurs before writing an object. - Occurs when after writing an object. + Occurs after writing an object. diff --git a/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.dll b/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.dll new file mode 100644 index 00000000..812ca34d Binary files /dev/null and b/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.dll differ diff --git a/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.xml b/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.xml new file mode 100644 index 00000000..198066fc --- /dev/null +++ b/pkgsrc/Markdig.0.43.0/lib/netstandard2.1/Markdig.xml @@ -0,0 +1,6656 @@ + + + + Markdig + + + + + An abbreviation object stored at the document level. See extension methods in . + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the label. + + + + + The text associated to this label. + + + + + The label span + + + + + Extension to allow abbreviations. + + + + + + Extension methods for . + + + + + The inline abbreviation. + + + + + + Initializes a new instance of the class. + + The abbreviation. + + + + A block parser for abbreviations. + + + + + + Initializes a new instance of the class. + + + + + A HTML renderer for a . + + + + + + A block representing an alert quote block. + + + + + Creates a new instance of this block. + + + + + + Gets or sets the kind of the alert block (e.g `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, `CAUTION`). + + + + + Gets or sets the trivia space after the kind. + + + + + A HTML renderer for a . + + + + + + Creates a new instance of this renderer. + + + + + Gets of sets a delegate to render the kind of the alert. + + + + + + + + Renders the kind of the alert. + + The HTML renderer. + The kind of the alert to render + + + + Extension for adding alerts to a Markdown pipeline. + + + + + Gets or sets the delegate to render the kind of the alert. + + + + + + + + + + + An inline parser for an alert inline (e.g. `[!NOTE]`). + + + + + + Initializes a new instance of the class. + + + + + The auto-identifier extension + + + + + + Initializes a new instance of the class. + + The options. + + + + Process on a new + + The processor. + The heading block. + + + + Callback when there is a reference to found to a heading. + Note that reference are only working if they are declared after. + + + + + Process the inlines of the heading to create a unique identifier + + The processor. + The inline. + + + + Options for the . + + + + + No options: does not apply any additional formatting and/or transformations. + + + + + Default () + + + + + Allows to link to a header by using the same text as the header for the link label. Default is true + + + + + Allows only ASCII characters in the url (HTML 5 allows to have UTF8 characters). Default is true + + + + + Renders auto identifiers like GitHub. + + + + + A link reference definition to a stored at the level. + + + + + + Gets or sets the heading related to this link reference definition. + + + + + Extension to automatically create when a link url http: or mailto: is found. + + + + + + Extension to automatically create when a link url http: or mailto: is found. + + + + + + Should a www link be prefixed with https:// instead of http:// (false by default) + + + + + Should auto-linking allow a domain with no period, e.g. https://localhost (false by default) + + + + + The inline parser used to for autolinks. + + + + + + Initializes a new instance of the class. + + + + + Extension for tagging some HTML elements with bootstrap classes. + + + + + + Extension for cite ""..."" + + + + + + A block custom container. + + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension to allow custom containers. + + + + + + An inline custom container + + + + + + + The block parser for a . + + + + + + Initializes a new instance of the class. + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A definition item contains zero to multiple + and definitions (any ) + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the opening character for this definition item (either `:` or `~`) + + + + + A definition list contains children. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Extension to allow definition lists + + + + + + The block parser for a . + + + + + + Initializes a new instance of the class. + + + + + A definition term contains a single line with the term to define. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + A HTML renderer for , and . + + + + + + Extension to allow diagrams. + + + + + + Extension to allow emoji shortcodes and smileys replacement. + + + + + + An emoji inline. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The content. + + + + Gets or sets the original match string (either an emoji shortcode or a text smiley) + + + + + An emoji shortcodes and smileys mapping, to be used by . + + + + + The default emoji shortcodes and smileys mapping. + + + + + The default emoji shortcodes mapping, without smileys. + + + + + Returns a new instance of the default emoji shortcode to emoji unicode dictionary. + It can be used to create a customized . + + + + + Gets a new instance of the default smiley to emoji shortcode dictionary. + It can be used to create a customized . + + + + + Constructs a mapping for the default emoji shortcodes and smileys. + + + + + Constructs a mapping from a dictionary of emoji shortcodes to unicode, and a dictionary of smileys to emoji shortcodes. + + + + + The inline parser used for emojis. + + + + + + Initializes a new instance of the class. + + + + + Extension for strikethrough, subscript, superscript, inserted and marked. + + + + + + Initializes a new instance of the class. + + The options. + + + + Gets the options. + + + + + Options for enabling support for extra emphasis. + + + + + Allows all extra emphasis (default). + + + + + A text that can be strikethrough using the double character ~~ + + + + + A text that can be rendered as a subscript using the character ~ + + + + + A text that can be rendered as a superscript using the character ^ + + + + + A text that can be rendered as inserted using the double character ++ + + + + + A text that can be rendered as marked using the double character == + + + + + Defines a figure container. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the opening character count used to open this figure code block. + + + + + Gets or sets the opening character used to open and close this figure code block. + + + + + The block parser for a block. + + + + + + Initializes a new instance of the class. + + + + + Defines a figure caption. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Extension to allow usage of figures and figure captions. + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A block element for a footer. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the opening character used to match this footer (by default it is ^) + + + + + A block parser for a . + + + + + + Initializes a new instance of the class. + + + + + Extension that provides footer. + + + + + + A HTML renderer for a . + + + + + + A block for a footnote. + + + + + + Gets or sets the label used by this footnote. + + + + + Gets or sets the order of this footnote (determined by the order of the in the document) + + + + + Gets the links referencing this footnote. + + + + + The label span + + + + + Extension to allow footnotes. + + + + + + A block that contains all the footnotes at the end of a . + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + A inline link to a . + + + + + + Gets or sets a value indicating whether this instance is back link (from a footnote to the link) + + + + + Gets or sets the global index number of this link. + + + + + Gets or sets the footnote this link refers to. + + + + + A link reference definition stored at the level. + + + + + + Gets or sets the footnote related to this link reference definition. + + + + + The block parser for a . + + + + + + The key used to store at the document level the pending + + + + + Add footnotes to the end of the document + + The processor. + The inline. + + + + A HTML renderer for a . + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the CSS group class used when rendering the <div> of this instance. + + + + + A HTML renderer for a . + + + + + + Extension that allows to attach HTML attributes to the previous or current . + This extension should be enabled last after enabling other extensions. + + + + + + An inline parser used to parse a HTML attributes that can be attached to the previous or current . + + + + + + Initializes a new instance of the class. + + + + + Tries to extra from the current position of a slice an HTML attributes {...} + + The slice to parse. + The output attributes or null if not found or invalid + true if parsing the HTML attributes was successful + + + + Extension to add support for RTL content. + + + + + Extension to generate hardline break for softline breaks. + + + + + + Model for a JIRA link item + + + + + JIRA Project Key + + + + + JIRA Issue Number + + + + + Simple inline parser extension for Markdig to find, and + automatically add links to JIRA issue numbers. + + + + + Finds and replaces JIRA links inline + + + + + Available options for replacing JIRA links + + + + + The base Url (e.g. `https://mycompany.atlassian.net`) + + + + + The base path after the base url (default is `/browse`) + + + + + Gets the full url composed of the and with no trailing `/` + + + + + Extension for adding new type of list items (a., A., i., I.) + + + + + + Parser that adds supports for parsing alpha/roman list items (e.g: `a)` or `a.` or `ii.` or `II.`) + + + Note that we don't validate roman numbers. + + + + + + Initializes a new instance of the class. + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A math block. + + + + + + Initializes a new instance of the class. + + The parser. + + + + The block parser for a . + + + + + + Initializes a new instance of the class. + + + + + Extension for adding inline mathematics $...$ + + + + + + A math inline element. + + + + + + Gets or sets the delimiter character used by this code inline. + + + + + Gets or sets the delimiter count. + + + + + The content as a . + + + + + An inline parser for . + + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the default class to use when creating a math inline block. + + + + + Create a with delegate handler. + + Prefix of host that can be handled. + Handler that generate iframe url, if uri cannot be handled, it can return . + Should the generated iframe has allowfullscreen attribute. + "class" attribute of generated iframe. + A with delegate handler. + + + + Provides url for media links. + + + + + "class" attribute of generated iframe. + + + + + Generate url for iframe. + + Input media uri. + if is a schema relative uri, i.e. uri starts with "//". + Generated url for iframe. + + + + + Should the generated iframe has allowfullscreen attribute. + + + Should be false for audio embedding. + + + + + Extension for extending image Markdown links in case a video or an audio file is linked and output proper link. + + + + + + Options for the . + + + + + Extension that will disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. + + + + + Extension to automatically render rel=nofollow to all links in an HTML output. + + + + + Extension to a span for each line containing the original line id (using id = pragma-line#line_number_zero_based) + + + + + + Extension to enable SelfPipeline, to configure a Markdown parsing/convertion to HTML automatically + from an embedded special tag in the input text <!--markdig:extensions--> where extensions is a string + that specifies the extensions to use for the pipeline as exposed by extension method + on the . This extension will invalidate all other extensions and will override them. + + + + + Initializes a new instance of the class. + + The matching start tag. + The default extensions. + Tag cannot contain angle brackets + + + + Gets the default pipeline to configure if no tag was found in the input text. Default is null (core pipeline). + + + + + Gets the self pipeline hint tag start that will be matched. + + + + + Creates a pipeline automatically configured from an input markdown based on the presence of the configuration tag. + + The input text. + The pipeline configured from the input + + + + + A HTML renderer for a . + + + + + + Initializes a new instance of the class. + + The options. + + + + + An inline for SmartyPant. + + + + + Converts this instance to a literal text. + + + + + + The options used for . + + + + + Initializes a new instance of the class. + + + + + Gets the mapping between a and its textual representation + (usually an HTML entity). + + + + + Extension to enable SmartyPants. + + + + + Initializes a new instance of the class. + + The options. + + + + Gets the options. + + + + + The inline parser for SmartyPants. + + + + + Initializes a new instance of the class. + + + + + Types of a . + + + + + This is a single quote ' + + + + + This is a left single quote ' -gt; lsquo; + + + + + This is a right single quote ' -gt; rsquo; + + + + + This is a double quote " + + + + + This is a left double quote " -gt; ldquo; + + + + + This is a right double quote " -gt; rdquo; + + + + + This is a right double quote << -gt; laquo; + + + + + This is a right angle quote >> -gt; raquo; + + + + + This is an ellipsis ... -gt; hellip; + + + + + This is a ndash -- -gt; ndash; + + + + + This is a mdash --- -gt; mdash; + + + + + Extension that allows to use grid tables. + + + + + + Internal state used by the + + + + + Internal state used by the + + + + + Gets or sets the index position of this column (after the |) + + + + + A HTML renderer for a + + + + + + This block parsers for pipe tables is used to by-pass list items that could start by a single '-' + and would disallow to detect a pipe tables at inline parsing time, so we are basically forcing a line + that starts by a '-' and have at least a '|' (and have optional spaces) and is a continuation of a + paragraph. + + + + + + Initializes a new instance of the class. + + + + + The delimiter used to separate the columns of a pipe table. + + + + + + Gets or sets the index of line where this delimiter was found relative to the current block. + + + + + Extension that allows to use pipe tables. + + + + + + Initializes a new instance of the class. + + The options. + + + + Gets the options. + + + + + Options for the extension + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to require header separator. true by default (Kramdown is using false) + + + + + Defines whether table should be normalized to the amount of columns as defined in the table header. + false by default + + If true, this will insert empty cells in rows with fewer tables than the header row and remove cells + that are exceeding the header column count. + If false, this will use the row with the most columns to determine how many cells should be inserted + in all other rows (default behavior). + + + + + Gets or sets a value indicating whether column widths should be inferred based on the number of dashes + in the header separator row. Each column's width will be proportional to the dash count in its respective column. + + + + + The inline parser used to transform a into a at inline parsing time. + + + + + + + Initializes a new instance of the class. + + The line break parser to use + The options. + + + + Gets the options. + + + + + Defines a table that contains an optional . + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the column alignments. May be null. + + + + + Checks if the table structure is valid. + + True if the table has rows and the number of cells per row is correct, other wise false. + + + + Normalizes the number of columns of this table by taking the maximum columns and appending empty cells. + + + + + Normalizes the number of columns of this table by taking the amount of columns defined in the header + and appending empty cells or removing extra cells as needed. + + + + + Defines a cell in a + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the index of the column to which this cell belongs. + + + + + Gets or sets the column span this cell is covering. Default is 1. + + + + + Gets or sets the row span this cell is covering. Default is 1. + + + + + Gets or sets whether this cell can be closed. + + + + + Defines the alignment of a column + + + + + Align the column to the left + + + + + Align the column to the center + + + + + Align the column to the right + + + + + Defines a column. + + + + + Gets or sets the width (in percentage) of this column. A value of 0 is unspecified. + + + + + Gets or sets the column alignment. + + + + + Helper methods for parsing tables. + + + + + Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* + + The text slice. + The delimiter character (either `-` or `=`). + The alignment of the column. + The number of delimiters. + + true if parsing was successful + + + + + Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* + + The text slice. + The delimiter character (either `-` or `=`). + The alignment of the column. + + true if parsing was successful + + + + + Parses a column header equivalent to the regexp: \s*:\s*[delimiterChar]+\s*:\s* + + The text slice. + The delimiter character (either `-` or `=`). If `\0`, it will detect the character (either `-` or `=`) + The alignment of the column. + The number of times appeared in the column header. + + true if parsing was successful + + + + + Defines a row in a , contains , parent is . + + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether this instance is header row. + + + + + A HTML renderer for a . + + + + + + An inline for TaskList. + + + + + Extension to enable TaskList. + + + + + The inline parser for SmartyPants. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the list class used for a task list. + + + + + Gets or sets the list item class used for a task list. + + + + + Extension that allows setting line-endings for any IMarkdownRenderer + that inherits from + + + + + + A YAML frontmatter block. + + + + + + Initializes a new instance of the class. + + The parser. + + + + Extension to discard a YAML frontmatter at the beginning of a Markdown document. + + + + + Allows the to appear in the middle of the markdown file. + + + + + Empty renderer for a + + + + + + Block parser for a YAML frontmatter. + + + + + + Allows the to appear in the middle of the markdown file. + + + + + Initializes a new instance of the class. + + + + + Creates the front matter block. + + The block processor + The front matter block + + + + Tries to match a block opening. + + The parser processor. + The result of the match + + + + Tries to continue matching a block already opened. + + The parser processor. + The block already opened. + The result of the match. By default, don't expect any newline + + + + Allows to associate characters to a data structures and query efficiently for them. + + + + + + Initializes a new instance of the class. + + The states. + + + + + Gets all the opening characters defined. + + + + + Gets the list of parsers valid for the specified opening character. + + The opening character. + A list of parsers valid for the specified opening character or null if no parsers registered. + + + + Searches for an opening character from a registered parser in the specified string. + + The text. + The start. + The end. + Index position within the string of the first opening character found in the specified text; if not found, returns -1 + + + + Helper class for handling characters. + + + + + Class used to simplify a unicode char to a simple ASCII string + + + + + Converts a unicode char to a simple ASCII string. + + The input char. + The simple ASCII string or null if the char itself cannot be simplified + + + + A compact insert-only key/value collection for fast prefix lookups + Something between a Trie and a full Radix tree, but stored linearly in memory + + The value associated with the key + + + + Used internally to control behavior of insertion + Copied from internals + + + + + The default insertion behavior. Does not overwrite or throw. + + + + + Specifies that an existing entry with the same key should be overwritten if encountered. + + + + + Specifies that if an existing entry with the same key is encountered, an exception should be thrown. + + + + + The character this node represents, should never be 0 + + + + + Will be 0 if this is a leaf node + + + + + Set to -1 if it does not point to a match + + + + + -1 if not present + + + + + Gets the number of nodes in the internal tree structure + You might be looking for + Exposing this might help in deducing more efficient initial parameters + + + + + Gets or sets the capacity of the internal tree structure buffer + You might be looking for + + + + + Gets the number of key/value pairs contained in the + + + + + Gets or sets the capacity of the internal key/value pair buffer + + + + + Gets the size of the children buffer in the internal tree structure + You might be looking for + Exposing this might help in deducing more efficient initial parameters + + + + + Gets or sets the capacity of the internal children buffer + You might be looking for + + + + + Constructs a new with no initial prefixes + + + + + Constructs a new with the supplied matches + + Matches to initialize the with. For best lookup performance, this collection should be sorted. + + + + Retrieves the key/value pair at the specified index (must be lower than ) + + Index of pair to get, must be lower than (the order is the same as the order in which the elements were added) + The key/value pair of the element at the specified index + + + + Gets or sets the value associated with the specified key + + The key of the value to get or set + The value of the element with the specified key + + + + Gets the value associated with the specified key + + The key of the value to get + The key/value pair of the element with the specified key + + + + Adds the specified key/value pair to the + + The key of the element to add + The value of the element to add + + + + Adds the specified key/value pair to the + + The key/value pair to add + + + + Tries to add the key/value pair to the if the key is not yet present + + The key of the element to add + The value of the element to add + True if the element was added, false otherwise + + + + Tries to add the key/value pair to the if the key is not yet present + + The pair to add + True if the element was added, false otherwise + + + + Tries to find the longest prefix of text, that is contained in this + + The text in which to search for the prefix + The found prefix and the corresponding value + True if a match was found, false otherwise + + + + Tries to find a prefix of text, that is contained in this and is exactly text.Length characters long + + The text in which to search for the prefix + The found prefix and the corresponding value + True if a match was found, false otherwise + + + + Tries to find the shortest prefix of text, that is contained in this + + The text in which to search for the prefix + The found prefix and the corresponding value + True if a match was found, false otherwise + + + + Determines whether the contains the specified key + + The key to locate in this + True if the key is contained in this PrefixTree, false otherwise. + + + + Gets the value associated with the specified key + + The key of the value to get + The value associated with the specified key + True if the key is contained in this PrefixTree, false otherwise. + + + + Gets a collection containing the keys in this + + + + + Gets a collection containing the values in this + + + + + Returns an Enumerator that iterates through the . + Use the index accessor instead () + + + + + + Enumerates the elements of a + + + + + Increments the internal index + + True if the index is less than the length of the internal array + + + + Gets the at the current position + + + + + Does nothing + + + + + Resets the internal index to the beginning of the array + + + + + A default object cache that expect the type {T} to provide a parameter less constructor + + The type of item to cache + + + + + Helper class to decode an entity. + + + + + Decodes the given HTML entity to the matching Unicode characters. + + The entity without & and ; symbols, for example, copy. + The unicode character set or null if the entity was not recognized. + + + + Decodes the given UTF-32 character code to the matching set of UTF-16 characters. + + The unicode character set or null if the entity was not recognized. + + + + Source: http://www.w3.org/html/wg/drafts/html/master/syntax.html#named-character-references + + + + + Helper to parse several HTML tags. + + + + + Destructively unescape a string: remove backslashes before punctuation or symbol characters. + + The string data that will be changed by unescaping any punctuation or symbol characters. + if set to true [remove back slash]. + + + + + Scans an entity. + Returns number of chars matched. + + + + + Provides a common interface for iterating characters + over a or . + + + + + Gets the current start character position. + + + + + Gets the current character. + + + + + Gets the end character position. + + + + + Goes to the next character, incrementing the position. + + The next character. `\0` is end of the iteration. + + + + Goes to the next character, incrementing the position. + + + + + Peeks at the next character, without incrementing the position. + + The next character. `\0` is end of the iteration. + + + + Peeks at the next character, without incrementing the position. + + + The next character. `\0` is end of the iteration. + + + + Gets a value indicating whether this instance is empty. + + + + + Trims whitespaces at the beginning of this slice starting from position. + + true if it has reaches the end of the iterator + + + + A line reader from a that can provide precise source position + + + + + Initializes a new instance of the class. + + + bufferSize cannot be <= 0 + + + + Gets the char position of the line. Valid for the next line before calling . + + + + + Reads a new line from the underlying and update the for the next line. + + A new line or null if the end of has been reached + + + + Helpers to parse Markdown links. + + + + + Represents a character or set of characters that represent a separation + between two lines of text + + + + + A simple object recycling system. + + Type of the object to cache + + + + Initializes a new instance of the class. + + + + + Clears this cache. + + + + + Gets a new instance. + + + + + + Releases the specified instance. + + The instance. + if instance is null + + + + Creates a new instance of {T} + + A new instance of {T} + + + + Resets the specified instance when is called before storing back to this cache. + + The instance. + + + + A List that provides methods for inserting/finding before/after. See remarks. + + Type of the list item + + We use a typed list and don't use extension methods because it would pollute all list implements and the top level namespace. + + + + Replaces with . + + Item type to find in the list + Object to replace this item with + true if a replacement was made; otherwise false. + + + + Replaces with or adds . + + Item type to find in the list + Object to add/replace the found item with + true if a replacement was made; otherwise false. + + + + Removes the first occurrence of + + + + + A StringBuilder that can be used locally in a method body only. + + + + + Provides a string builder that can only be used locally in a method. This StringBuilder MUST not be stored. + + + + + + Extensions for StringBuilder + + + + + Appends the specified slice to this instance. + + The builder. + The slice. + + + + A struct representing a text line. + + + + + Initializes a new instance of the struct. + + The slice. + + + + Initializes a new instance of the struct. + + The slice. + The line. + The column. + The position. + The line separation. + + + + Initializes a new instance of the struct. + + The slice. + The line. + The column. + The position. + The line separation. + + + + The slice used for this line. + + + + + The line position. + + + + + The position of the start of this line within the original source code + + + + + The column position. + + + + + The newline. + + + + + Performs an implicit conversion from to . + + The line. + + The result of the conversion. + + + + + A group of . + + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + The text. + + + + + Gets the lines. + + + + + Gets the number of lines. + + + + + Clears this instance. + + + + + Removes the line at the specified index. + + The index. + + + + Adds the specified line to this instance. + + The line. + + + + Adds the specified slice to this instance. + + The slice. + + + + Converts the lines to a single by concatenating the lines. + + The position of the `\n` line offsets from the beginning of the returned slice. + A single slice concatenating the lines of this instance + + + + Converts this instance into a . + + + + + + Trims each lines of the specified . + + + + + The iterator used to iterate other the lines. + + + + + + A lightweight struct that represents a slice of a string. + + + + + + An empty string slice. + + + + + Initializes a new instance of the struct. + + The text. + + + + Initializes a new instance of the struct. + + The text. + The line separation. + + + + Initializes a new instance of the struct. + + The text. + The start. + The end. + + + + + Initializes a new instance of the struct. + + The text. + The start. + The end. + The line separation. + + + + + The text of this slice. + + + + + Gets or sets the start position within . + + + + + Gets or sets the end position (inclusive) within . + + + + + Gets the length. + + + + + Gets the current character. + + + + + Gets a value indicating whether this instance is empty. + + + + + Gets the at the specified index. + + The index. + A character in the slice at the specified index (not from but from the begining of the slice) + + + + Goes to the next character, incrementing the position. + + + The next character. `\0` is end of the iteration. + + + + + Goes to the next character, incrementing the position. + + + + + Peeks a character at the offset of 1 from the current position + inside the range and , returns `\0` if outside this range. + + The character at offset, returns `\0` if none. + + + + Peeks a character at the specified offset from the current position + inside the range and , returns `\0` if outside this range. + + The offset. + The character at offset, returns `\0` if none. + + + + Peeks a character at the specified offset from the current beginning of the string, without taking into account and + + The character at offset, returns `\0` if none. + + + + Peeks a character at the specified offset from the current beginning of the slice + without using the range or , returns `\0` if outside the . + + The offset. + The character at offset, returns `\0` if none. + + + + Matches the specified text. + + The text. + The offset. + true if the text matches; false otherwise + + + + Matches the specified text. + + The text. + The end. + The offset. + true if the text matches; false otherwise + + + + Expect spaces until a end of line. Return false otherwise. + + true if whitespaces where matched until a end of line + + + + Matches the specified text using lowercase comparison. + + The text. + The offset. + true if the text matches; false otherwise + + + + Matches the specified text using lowercase comparison. + + The text. + The end. + The offset. + true if the text matches; false otherwise + + + + Searches the specified text within this slice. + + The text. + The offset. + true if ignore case + true if the text was found; false otherwise + + + + Searches for the specified character within this slice. + + A value >= 0 if the character was found, otherwise < 0 + + + + Trims whitespaces at the beginning of this slice starting from position. + + + true if it has reaches the end of the iterator + + + + + Trims whitespaces at the beginning of this slice starting from position. + + The number of spaces trimmed. + + + + Trims whitespaces at the end of this slice, starting from position. + + + + + + Trims whitespaces from both the start and end of this slice. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Determines whether this slice is empty or made only of whitespaces. + + true if this slice is empty or made only of whitespaces; false otherwise + + + + Inspired by CoreLib, taken from https://github.com/MihaZupan/SharpCollections, cc @MihaZupan + + + + + Resize the internal buffer either by doubling current buffer size or + by adding to + whichever is greater. + + + Number of chars requested beyond current position. + + + + + Base interface for an extension. + + + + + Setups this extension for the specified pipeline. + + The pipeline. + + + + Setups this extension for the specified renderer. + + The pipeline used to parse the document. + The renderer. + + + + Provides methods for parsing a Markdown string to a syntax tree and converting it to other formats. + + + + + Normalizes the specified markdown to a normalized markdown text. + + The markdown. + The normalize options + The pipeline. + A parser context used for the parsing. + A normalized markdown text. + + + + Normalizes the specified markdown to a normalized markdown text. + + The markdown. + The destination that will receive the result of the conversion. + The normalize options + The pipeline. + A parser context used for the parsing. + A normalized markdown text. + + + + Converts a Markdown string to HTML. + + A Markdown text. + The pipeline used for the conversion. + A parser context used for the parsing. + The HTML string. + If is null. + + + + Converts a Markdown document to HTML. + + A Markdown document. + The pipeline used for the conversion. + The HTML string. + If is null. + + + + Converts a Markdown document to HTML. + + A Markdown document. + The destination that will receive the result of the conversion. + The pipeline used for the conversion. + The HTML string. + If is null. + + + + Converts a Markdown string to HTML and output to the specified writer. + + A Markdown text. + The destination that will receive the result of the conversion. + The pipeline used for the conversion. + A parser context used for the parsing. + The Markdown document that has been parsed + if reader or writer variable are null + + + + Converts a Markdown string using a custom . + + A Markdown text. + The renderer to convert Markdown to. + The pipeline used for the conversion. + A parser context used for the parsing. + if markdown or writer variable are null + + + + Parses the specified markdown into an AST + + The markdown text. + Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. + An AST Markdown document + if markdown variable is null + + + + Parses the specified markdown into an AST + + The markdown text. + The pipeline used for the parsing. + A parser context used for the parsing. + An AST Markdown document + if markdown variable is null + + + + Converts a Markdown string to Plain text and output to the specified writer. + + A Markdown text. + The destination that will receive the result of the conversion. + The pipeline used for the conversion. + A parser context used for the parsing. + The Markdown document that has been parsed + if reader or writer variable are null + + + + Converts a Markdown string to Plain text by using a . + + A Markdown text. + The pipeline used for the conversion. + A parser context used for the parsing. + The result of the conversion + if markdown variable is null + + + + Provides extension methods for to enable several Markdown extensions. + + + + + Adds the specified extension to the extensions collection. + + The type of the extension. + The instance of + + + + Adds the specified extension instance to the extensions collection. + + The pipeline. + The instance of the extension to be added. + The type of the extension. + The modified pipeline + + + + Uses all extensions except the BootStrap, Emoji, SmartyPants and soft line as hard line breaks extensions. + + The pipeline. + The modified pipeline + + + + Uses this extension to enable alert blocks. + + The pipeline. + Replace the default renderer for the kind with a custom renderer + The modified pipeline + + + + Uses this extension to enable autolinks from text `http://`, `https://`, `ftp://`, `mailto:`, `www.xxx.yyy` + + The pipeline. + The options. + The modified pipeline + + + + Uses this extension to disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE. + + The pipeline. + The modified pipeline + + + + Uses YAML frontmatter extension that will parse a YAML frontmatter into the MarkdownDocument. Note that they are not rendered by any default HTML renderer. + + The pipeline. + The modified pipeline + + + + Uses the self pipeline extension that will detect the pipeline to use from the markdown input that contains a special tag. See + + The pipeline. + The default tag to use to match the self pipeline configuration. By default, , meaning that the HTML tag will be <--markdig:extensions--> + The default extensions to configure if no pipeline setup was found from the Markdown document + The modified pipeline + + + + Uses pragma lines to output span with an id containing the line number (pragma-line#line_number_zero_based`) + + The pipeline. + The modified pipeline + + + + Uses the diagrams extension + + The pipeline. + The modified pipeline + + + + Uses precise source code location (useful for syntax highlighting). + + The pipeline. + The modified pipeline + + + + Uses the task list extension. + + The pipeline. + The modified pipeline + + + + Uses the custom container extension. + + The pipeline. + The modified pipeline + + + + Uses the media extension. + + The pipeline. + The options. + + The modified pipeline + + + + + Uses the auto-identifier extension. + + The pipeline. + The options. + + The modified pipeline + + + + + Uses the SmartyPants extension. + + The pipeline. + The options. + + The modified pipeline + + + + + Uses the bootstrap extension. + + The pipeline. + The modified pipeline + + + + Uses the math extension. + + The pipeline. + The modified pipeline + + + + Uses the figure extension. + + The pipeline. + The modified pipeline + + + + Uses the custom abbreviation extension. + + The pipeline. + The modified pipeline + + + + Uses the definition lists extension. + + The pipeline. + The modified pipeline + + + + Uses the pipe table extension. + + The pipeline. + The options. + + The modified pipeline + + + + + Uses the grid table extension. + + The pipeline. + The modified pipeline + + + + Uses the cite extension. + + The pipeline. + The modified pipeline + + + + Uses the footer extension. + + The pipeline. + The modified pipeline + + + + Uses the footnotes extension. + + The pipeline. + The modified pipeline + + + + Uses the softline break as hardline break extension + + The pipeline. + The modified pipeline + + + + Uses the strikethrough superscript, subscript, inserted and marked text extensions. + + The pipeline. + The options to enable. + + The modified pipeline + + + + + Uses the list extra extension to add support for `a.`, `A.`, `i.` and `I.` ordered list items. + + The pipeline. + + The modified pipeline + + + + + Uses the generic attributes extension. + + The pipeline. + The modified pipeline + + + + Uses the emojis and smileys extension. + + The pipeline. + Enable smileys in addition to emoji shortcodes, true by default. + The modified pipeline + + + + Uses the emojis and smileys extension. + + The pipeline. + Enable customization of the emojis and smileys mapping. + The modified pipeline + + + + Add rel=nofollow to all links rendered to HTML. + + + + + + + Automatically link references to JIRA issues + + The pipeline + Set of required options + The modified pipeline + + + + Adds support for right-to-left content by adding appropriate html attribtues. + + The pipeline + The modified pipeline + + + + This will disable the HTML support in the markdown processor (for constraint/safe parsing). + + The pipeline. + The modified pipeline + + + + Configures the pipeline using a string that defines the extensions to activate. + + The pipeline (e.g: advanced for , pipetables+gridtables for and + The extensions to activate as a string + The modified pipeline + + + + Configures the string to be used for line-endings, when writing. + + The pipeline. + The string to be used for line-endings. + The modified pipeline + + + + Disables parsing of ATX and Setex headings + + The pipeline. + The modified pipeline + + + + Enables parsing and tracking of trivia characters + + The pipeline. + he modified pipeline + + + + Provides a context that can be used as part of parsing Markdown documents. + + + + + Gets or sets the context property collection. + + + + + Initializes a new instance of the class. + + + + + This class is the Markdown pipeline build from a . + An instance of is immutable, thread-safe, and should be reused when parsing multiple inputs. + + + + + Initializes a new instance of the class. + + + + + The read-only list of extensions used to build this pipeline. + + + + + True to parse trivia such as whitespace, extra heading characters and unescaped + string values. + + + + + Allows to setup a . + + The markdown renderer to setup + + + + This class allows to modify the pipeline to parse and render a Markdown document. + + NOTE: A pipeline is not thread-safe. + + + + Initializes a new instance of the class. + + + + + Gets the block parsers. + + + + + Gets the inline parsers. + + + + + Gets the register extensions. + + + + + Gets or sets a value indicating whether to enable precise source location (slower parsing but accurate position for block and inline elements) + + + + + Gets or sets the debug log. + + + + + True to parse trivia such as whitespace, extra heading characters and unescaped + string values. + + + + + Occurs when a document has been processed after the method. + + + + + Builds a pipeline from this instance. Once the pipeline is build, it cannot be modified. + + An extension cannot be null + + + + Delegates called when processing a block + + + + + Base class for a parser of a + + + + + + Determines whether the specified char is an opening character. + + The character. + true if the specified char is an opening character. + + + + Determines whether this instance can interrupt the specified block being processed. + + The parser processor. + The block being processed. + true if this parser can interrupt the specified block being processed. + + + + Tries to match a block opening. + + The parser processor. + The result of the match + + + + Tries to continue matching a block already opened. + + The parser processor. + The block already opened. + The result of the match. By default, don't expect any newline + + + + Called when a block matched by this parser is being closed (to allow final computation on the block). + + The parser processor. + The block being closed. + true to keep the block; false to remove it. True by default. + + + + A List of . + + + + + + Initializes a new instance of the class. + + The parsers. + + + + The block processor. + + + + + Initializes a new instance of the class. + + The document to build blocks into. + The list of parsers. + A parser context used for the parsing. + Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. + + + + + + Gets the new blocks to push. A is required to push new blocks that it creates to this property. + + + + + Gets the list of s configured with this parser state. + + + + + Gets the parser context or null if none is available. + + + + + Gets the current active container. + + + + + Gets the last block that is opened. + + + + + Gets the last block that is created. + + + + + Gets the next block in a . + + + + + Gets the root document. + + + + + The current line being processed. + + + + + Gets or sets the current line start position. + + + + + Gets the index of the line in the source text. + + + + + Gets a value indicating whether the line is blank (valid only after has been called). + + + + + Gets the current character being processed. + + + + + Gets or sets the column. + + + + + Gets the position of the current character in the line being processed. + + + + + Gets the current indent position (number of columns between the previous indent and the current position). + + + + + Gets a value indicating whether a code indentation is at the beginning of the line being processed. + + + + + Gets the column position before the indent occurred. + + + + + Gets the character position before the indent occurred. + + + + + Gets a boolean indicating whether the current line being parsed is lazy continuation. + + + + + Gets the current stack of being processed. + + + + + Gets or sets the position of the first character trivia is encountered + and not yet assigned to a syntax node. + Trivia: only used when is enabled, otherwise 0. + + + + + Returns trivia that has not yet been assigned to any node and + advances the position of trivia to the ending position. + + End position of the trivia + + + + + Returns the current stack of to assign it to a . + Afterwards, the is set to null. + + + + + Gets or sets the stack of empty lines not yet assigned to any . + An entry may contain an empty . In that case the + is relevant. Otherwise, the + entry will contain trivia. + + + + + True to parse trivia such as whitespace, extra heading characters and unescaped + string values. + + + + + Get the current Container that is currently opened + + The current Container that is currently opened + + + + Returns the next character in the line being processed. Update and . + + The next character or `\0` if end of line is reached + + + + Returns the next character in the line taking into space taken by tabs. Update and . + + + + + Peeks a character at the specified offset from the current position in the line. + + The offset. + A character peeked at the specified offset + + + + Restarts the indent from the current position. + + + + + Parses the indentation from the current position in the line, updating , + , and accordingly + taking into account space taken by tabs. + + + + + Moves to the position to the specified column position, taking into account spaces in tabs. + + The new column position to move the cursor to. + + + + Unwind any previous indent from the current character back to the first space. + + + + + Moves to the position to the code indent ( + 4 spaces). + + The column offset to apply to this indent. + + + + Opens the specified block. + + The block. + + The block must be opened + + + + Force closing the specified block. + + The block. + + + + Discards the specified block from the stack, remove from its parent. + + The block. + + + + Processes a new line. + + The new line. + + + + Processes part of a line. + + The line. + The column. + + + + Process current string slice. + + + + + Closes a block at the specified index. + + The index. + + + + Closes all the blocks opened. + + if set to true [force]. + + + + Mark all blocks in the stack as opened. + + + + + Updates the and . + + Index of a block in a stack considered as the last block to update from. + + + + Tries to continue matching existing opened . + + + A pending parser cannot add a new block when it is not the last pending block + or + The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed + + + + + First phase of the process, try to open new blocks. + + + + + Tries to open new blocks using the specified list of + + The parsers. + true to continue processing the current line + + + + Processes any new blocks that have been pushed to . + + The last result of matching. + if set to true the processing of a new block will close existing opened blocks]. + The NewBlocks is not empty. This is happening if a LeafBlock is not the last to be pushed + + + + Defines the result of parsing a line for a . + + + + + A line is not accepted by this parser. + + + + + The parser is skipped. + + + + + The parser accepts a line and instruct to continue. + + + + + The parser accepts a line, instruct to continue but discard the line (not stored on the block) + + + + + The parser is ending a block, instruct to stop and keep the line being processed. + + + + + The parser is ending a block, instruct to stop and discard the line being processed. + + + + + Extensions used by . + + + + + Determines whether this is discarded. + + State of the block. + true if the block state is in discard state + + + + Determines whether this is in a continue state. + + State of the block. + true if the block state is in continue state + + + + Determines whether this is in a break state. + + State of the block. + true if the block state is in break state + + + + Delegate used to parse the string on the first line after the fenced code block special characters (usually ` or ~) + + The parser processor. + The being processed line. + The fenced code block. + The opening character for the fenced code block (usually ` or ~) + true if parsing of the line is successfull; false otherwise + + + + Gets or sets the information parser. + + + + + A delegates that allows to process attached attributes + + + + + Base parser for fenced blocks (opened by 3 or more character delimiters on a first line, and closed by at least the same number of delimiters) + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the language prefix (default is "language-") + + + + + The roundtrip parser for the information after the fenced code block special characters (usually ` or ~) + + The parser processor. + The line. + The fenced code block. + The opening character for this fenced code block. + true if parsing of the line is successfull; false otherwise + + + + The default parser for the information after the fenced code block special characters (usually ` or ~) + + The parser processor. + The line. + The fenced code block. + The opening character for this fenced code block. + true if parsing of the line is successfull; false otherwise + + + + Parser for a . + + + + + + Initializes a new instance of the class. + + + + + Block parser for a . + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the max count of the leading unescaped # characters + + + + + A delegates that allows to process attached attributes after # + + + + + Block parser for a . + + + + + + Initializes a new instance of the class. + + + + + A delegates that allows to process attached attributes at time. + + The processor. + The slice to look for attached attributes. + The block. + true if attributes were found; otherwise false + + + + An interface used to tag that supports parsing + + + + + A delegates that allows to process attached attributes + + + + + Base interface for a . + + + + + + + Determines whether this instance can interrupt the specified block being processed. + + The parser processor. + The block being processed. + true if this parser can interrupt the specified block being processed. + + + + Tries to match a block opening. + + The parser processor. + The result of the match + + + + Tries to continue matching a block already opened. + + The parser processor. + The block already opened. + The result of the match. By default, don't expect any newline + + + + Called when a block matched by this parser is being closed (to allow final computation on the block). + + The parser processor. + The block being closed. + true to keep the block; false to remove it. True by default. + + + + Base interface for parsing an . + + + + + + + Tries to match the specified slice. + + The parser processor. + The text slice. + true if this parser found a match; false otherwise + + + + Base interface for a block or inline parser. + + The type of processor. + + + + Gets the opening characters this parser will be triggered if the character is found. + + + + + Initializes this parser with the specified parser processor. + + + + + Gets the index of this parser in or . + + + + + Block parser for an indented . + + + + + + Base class for parsing an . + + + + + + Tries to match the specified slice. + + The parser processor. + The text slice. + true if this parser found a match; false otherwise + + + + A list of . + + + + + + Gets the registered post inline processors. + + + + + A delegate called at inline processing stage. + + The processor. + The inline being processed. + + + + The inline parser state used by all . + + + + + Initializes a new instance of the class. + + The document. + The parsers. + A value indicating whether to provide precise source location. + A parser context used for the parsing. + Whether to parse trivia such as whitespace, extra heading characters and unescaped string values. + + + + + + Gets the current block being processed. + + + + + Gets a value indicating whether to provide precise source location. + + + + + Gets or sets the new block to replace the block being processed. + + + + + Gets or sets the current inline. Used by to return a new inline if match was successfull + + + + + Gets the root container of the current . + + + + + Gets the list of inline parsers. + + + + + Gets the parser context or null if none is available. + + + + + Gets the root document. + + + + + Gets or sets the index of the line from the begining of the document being processed. + + + + + Gets the parser states that can be used by using their property. + + + + + Gets or sets the debug log writer. No log if null. + + + + + True to parse trivia such as whitespace, extra heading characters and unescaped + string values. + + + + + Gets the literal inline parser. + + + + + Gets the source position for the specified offset within the current slice. + + The slice offset. + The line index. + The column. + The source position + + + + Gets the source position for the specified offset within the current slice. + + The slice offset. + The source position + + + + Replace a parent container. This method is experimental and should be used with caution. + + The previous parent container to replace + The new parent container + If a new parent container has been already setup. + + + + Processes the inline of the specified . + + The leaf block. + + + + An inline parser for parsing . + + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to enable HTML parsing. Default is true + + + + + An inline parser for a . + + + + + + Initializes a new instance of the class. + + + + + Descriptor for an emphasis. + + + + + Initializes a new instance of the class. + + The character used for this emphasis. + The minimum number of character. + The maximum number of characters. + if set to true the emphasis can be used inside a word. + + + + The character of this emphasis. + + + + + The minimum number of character this emphasis is expected to have (must be >=1) + + + + + The maximum number of character this emphasis is expected to have (must be >=1 and >= minimumCount) + + + + + This emphasis can be used within a word. + + + + + An inline parser for . + + + + + + + Initializes a new instance of the class. + + + + + Gets the emphasis descriptors. + + + + + Determines whether this parser is using the specified character as an emphasis delimiter. + + The character to look for. + true if this parser is using the specified character as an emphasis delimiter; otherwise false + + + + Gets or sets the create emphasis inline delegate (allowing to create a different emphasis inline class) + + + + + An inline parser for escape characters. + + + + + + An inline parser for HTML entities. + + + + + + Initializes a new instance of the class. + + + + + An inline parser for . + + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether to interpret softline breaks as hardline breaks. Default is false + + + + + An inline parser for . + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + An inline parser for parsing . + + + + + + We don't expect the LiteralInlineParser to be instantiated a end-user, as it is part + of the default parser pipeline (and should always be the last), working as a literal character + collector. + + + + + Gets or sets the post match delegate called after the inline has been processed. + + + + + A processor called at the end of processing all inlines. + + + + + Processes the delimiters. + + The parser state. + The root inline. + The last child. + Index of this delimiter processor. + + true to continue to the next delimiter processor; + false to stop the process (in case a processor is performing sub-sequent processor itself) + + + + Should the link open in a new window when clicked (false by default) + + + + + A parser for a list block and list item block. + + + + + + Initializes a new instance of the class. + + + + + Gets the parsers for items. + + + + + Defines list information returned when trying to parse a list item with + + + + + Initializes a new instance of the struct. + + Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). + + + + Initializes a new instance of the struct. + + Type of the bullet (e.g: '1', 'a', 'A', 'i', 'I') + The string used as a starting sequence for an ordered list. + The ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) + The default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) + + + + Gets or sets the type of the bullet (e.g: '1', 'a', 'A', 'i', 'I'). + + + + + Gets or sets the string used as a starting sequence for an ordered list + + + + + Gets or sets the ordered delimiter found when parsing this list (e.g: the character `)` after `1)`) + + + + + Gets or sets default string used as a starting sequence for the ordered list (e.g: '1' for an numbered ordered list) + + + + + A parser base class for a list item. + + + + + Defines the characters that are used for detecting this list item. + + + + + Tries to parse the current input as a list item for this particular instance. + + The block processor + The type of the current bullet type + The result of parsing + true if parsing was successful; false otherwise + + + + Delegates called when processing a document + + The markdown document. + + + + The Markdown parser. + + + + + Parses the specified markdown into an AST + + A Markdown text + The pipeline used for the parsing. + A parser context used for the parsing. + An AST Markdown document + if reader variable is null + + + + Fixups the zero character by replacing it to a secure character (Section 2.3 Insecure characters, CommonMark specs) + + The text to secure. + + + + The default parser for parsing numbered list item (e.g: 1) or 1.) + + + + + + Initializes a new instance of the class. + + + + + Base class for an ordered list item parser. + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the ordered delimiters used after a digit/number (by default `.` and `)`) + + + + + Utility method that tries to parse the delimiter coming after an ordered list start (e.g: the `)` after `1)`). + + The state. + The ordered delimiter found if this method is successful. + true if parsing was successful; false otherwise. + + + + Block parser for a . + + + + + + Base class for a or . + + Type of the parser processor + + + + + Gets the opening characters this parser will be triggered if the character is found. + + + + + Initializes this parser with the specified parser processor. + + + + + Gets the index of this parser in or . + + + + + Base class for a list of parsers. + + Type of the parser + The type of the parser state. + + + + + Gets the list of global parsers (that don't have any opening characters defined) + + + + + Gets all the opening characters defined. + + + + + Gets the list of parsers valid for the specified opening character. + + The opening character. + A list of parsers valid for the specified opening character or null if no parsers registered. + + + + Searches for an opening character from a registered parser in the specified string. + + The text. + The start. + The end. + Index position within the string of the first opening character found in the specified text; if not found, returns -1 + + + + A block parser for a . + + + + + + Initializes a new instance of the class. + + + + + A block parser for a . + + + + + + A singleton instance used by other parsers. + + + + + Initializes a new instance of the class. + + + + + The default parser used to parse unordered list item (-, +, *) + + + + + + Initializes a new instance of the class. + + + + + An HTML renderer for a and . + + + + + + Initializes a new instance of the class. + + + + + Gets a map of fenced code block infos that should be rendered as div blocks instead of pre/code blocks. + + + + + Gets a map of custom block mapping to render as custom blocks instead of pre/code blocks. + For example defining {"mermaid", "pre"} will render a block with info `mermaid` as a `pre` block but without the code HTML element. + + + + + An HTML renderer for a . + + + + + + Attached HTML attributes to a . + + + + + Initializes a new instance of the class. + + + + + Gets or sets the HTML id/identifier. May be null. + + + + + Gets or sets the CSS classes attached. May be null. + + + + + Gets or sets the additional properties. May be null. + + + + + Adds a CSS class. + + The css class name. + + + + Adds a property. + + The name. + The value. + + + + Adds the specified property only if it does not already exist. + + The name. + The value. + + + + Copies/merge the values from this instance to the specified instance. + + The HTML attributes. + If set to true it will merge properties to the target htmlAttributes. Default is false + If set to true it will try to share Classes and Properties if destination don't have them, otherwise it will make a copy. Default is true + + + + + Extensions for a to allow accessing + + + + + Tries the get stored on a . + + The markdown object. + The attached html attributes or null if not found + + + + Gets or creates the stored on a + + The markdown object. + The attached html attributes + + + + Sets to the + + The markdown object. + The attributes to attach. + + + + A HTML renderer for a . + + + + + + A base class for HTML rendering and Markdown objects. + + The type of the object. + + + + + A HTML renderer for an . + + + + + + Gets or sets a value indicating whether to always add rel="nofollow" for links or not. + + + + + Gets or sets the literal string in property rel for links + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for an . + + + + + + Delegates to get the tag associated to an object. + + The object. + The HTML tag associated to this object + + + + Initializes a new instance of the class. + + + + + Gets or sets the GetTag delegate. + + + + + Gets the default HTML tag for ** and __ emphasis. + + The object. + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + Gets or sets a value indicating whether to render this softline break as a HTML hardline break tag (<br />) + + + + + A HTML renderer for a . + + + + + + Gets or sets a value indicating whether to always add rel="nofollow" for links or not. + + + + + Gets or sets the literal string in property rel for links + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + A HTML renderer for a . + + + + + + Default HTML renderer for a Markdown object. + + + + + + Initializes a new instance of the class. + + The writer. + + + + Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. + + + This is used by some renderers to disable HTML tags when rendering some inline elements (for image links). + + + + + Gets or sets a value indicating whether to output HTML tags when rendering. See remarks. + + + This is used by some renderers to disable HTML tags when rendering some block elements (for image links). + + + + + Gets or sets a value indicating whether to use implicit paragraph (optional <p>) + + + + + Gets a value to use as the base url for all relative links + + + + + Allows links to be rewritten + + + + + Writes the content escaped for HTML. + + The content. + This instance + + + + Writes the content escaped for HTML. + + The slice. + Only escape < and & + This instance + + + + Writes the content escaped for HTML. + + The slice. + Only escape < and & + This instance + + + + Writes the content escaped for HTML. + + The content. + The offset. + The length. + Only escape < and & + This instance + + + + Writes the content escaped for HTML. + + The content. + Only escape < and & + + + + Writes the URL escaped for HTML. + + The content. + This instance + + + + Writes the attached on the specified . + + The object. + + + + + Writes the specified . + + The attributes to render. + A class filter used to transform a class into another class at writing time + This instance + + + + Writes the lines of a + + The leaf block. + if set to true write end of lines. + if set to true escape the content for HTML + Only escape < and & + This instance + + + + Base interface for the renderer of a . + + + + + Accepts the specified . + + The renderer. + The of the Markdown object. + true If this renderer is accepting to render the specified Markdown object + + + + Writes the specified to the . + + The renderer. + The object to render. + + + + Base interface for a renderer for a Markdown . + + + + + Occurs when before writing an object. + + + + + Occurs when after writing an object. + + + + + Gets the object renderers that will render and elements. + + + + + Renders the specified markdown object. + + The markdown object. + The result of the rendering. + + + + A base class for rendering and Markdown objects. + + The type of the renderer. + The type of the object. + + + + + Gets the optional writers attached to this instance. + + + + + Writes the specified Markdown object to the renderer. + + The renderer. + The markdown object. + + + + An Normalize renderer for a and . + + + + + + An Normalize renderer for a . + + + + + + A Normalize renderer for an . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for an . + + + + + + A Normalize renderer for a . + + + + + + Gets or sets a value indicating whether to render this softline break as a Normalize hardline break tag (<br />) + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + A Normalize renderer for a . + + + + + A Normalize renderer for a . + + + + + + A base class for Normalize rendering and Markdown objects. + + The type of the object. + + + + + Defines the options used by + + + + + Initialize a new instance of + + + + + Adds a space after a QuoteBlock >. Default is true + + + + + Adds an empty line after a code block (fenced and tabbed). Default is true + + + + + Adds an empty line after an heading. Default is true + + + + + Adds an empty line after an thematic break. Default is true + + + + + The bullet character used for list items. Default is null leaving the original bullet character as-is. + + + + + Expands AutoLinks to the normal inline representation. Default is true + + + + + Default HTML renderer for a Markdown object. + + + + + + Initializes a new instance of the class. + + The writer. + The normalize options + + + + Writes the lines of a + + The leaf block. + if set to true write end of lines. + Whether to write indents. + This instance + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A collection of . + + + + + + Base class for a . + + + + + + Initializes a new instance of the class. + + + + + Occurs before writing an object. + + + + + Occurs after writing an object. + + + + + Writes the children of the specified . + + The container block. + + + + Writes the children of the specified . + + The container inline. + + + + Writes the specified Markdown object. + + The Markdown object to write to this renderer. + + + + An Roundtrip renderer for a and . + + + + + + An Roundtrip renderer for a . + + + + + + A Normalize renderer for an . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for an . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + + A Normalize renderer for a . + + + + + A Normalize renderer for a . + + + + + A Roundtrip renderer for a . + + + + + + A Roundtrip renderer for a . + + + + + + A Roundtrip renderer for a . + + + + + A base class for Normalize rendering and Markdown objects. + + The type of the object. + + + + + Markdown renderer honoring trivia for a object. + + Ensure to call the extension method when + parsing markdown to have trivia available for rendering. + + + + Initializes a new instance of the class. + + The writer. + + + + Writes the lines of a + + The leaf block. + This instance + + + + A Roundtrip renderer for a . + + + + + + A text based . + + + + + + Initializes a new instance of the class. + + The writer. + + + + + Gets or sets the writer. + + if the value is null + + + + Renders the specified markdown object (returns the as a render object). + + The markdown object. + + + + + Typed . + + Type of the renderer + + + + + Initializes a new instance of the class. + + The writer. + + + + Ensures a newline. + + This instance + + + + Writes the specified content. + + The content. + This instance + + + + Writes the specified char repeated a specified number of times. + + The char to write. + The number of times to write the char. + This instance + + + + Writes the specified slice. + + The slice. + This instance + + + + Writes the specified slice. + + The slice. + This instance + + + + Writes the specified character. + + The content. + This instance + + + + Writes the specified content. + + The content. + The offset. + The length. + This instance + + + + Writes the specified content. + + The content. + + + + Writes a newline. + + This instance + + + + Writes a newline. + + This instance + + + + Writes a content followed by a newline. + + The content. + This instance + + + + Writes a content followed by a newline. + + The content. + This instance + + + + Writes the inlines of a leaf inline. + + The leaf block. + This instance + + + + A blank line, used internally by some parsers to store blank lines in a container. They are removed before the end of the document. + + + + + + Initializes a new instance of the class. + + + + + Base class for a block structure. Either a or a . + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets the parent of this container. May be null. + + + + + Gets the parser associated to this instance. + + + + + Gets or sets a value indicating whether this instance is still open. + + + + + Gets or sets a value indicating whether this block is breakable. Default is true. + + + + + The last newline of this block. + Trivia: only parsed when is enabled + + + + + Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. + + + + + Gets or sets the trivia right before this block. + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets trivia occurring after this block. + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the empty lines occurring before this block. + Trivia: only parsed when is enabled, otherwise null. + + + + + Gets or sets the empty lines occurring after this block. + Trivia: only parsed when is enabled, otherwise null. + + + + + Occurs when the process of inlines begin. + + + + + Occurs when the process of inlines ends for this instance. + + + + + Called when the process of inlines begin. + + The inline parser state. + + + + Called when the process of inlines ends. + + The inline parser state. + + + + Extensions for + + + + + Helpers for the class. + + + + + Represents an indented code block. + + + Related to CommonMark spec: 4.4 Indented code blocks + + + + + Initializes a new instance of the class. + + The parser. + + + + A base class for container blocks. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets the last child. + + + + + Specialize enumerator. + + + + + + Represents a fenced code block. + + + Related to CommonMark spec: 4.5 Fenced code blocks + + + + + Initializes a new instance of the class. + + The parser. + + + + Gets or sets the indent count when the fenced code block was indented + and we need to remove up to indent count chars spaces from the beginning of a line. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a heading. + + + + + Initializes a new instance of the class. + + The parser. + + + + Gets or sets the header character used to defines this heading (usually #) + + + + + Gets or sets the level of heading (starting at 1 for the lowest level). + + + + + True if this heading is a Setext heading. + + + + + Gets or sets the amount of - or = characters when is true. + + + + + Gets or sets the newline of the first line when is true. + Trivia: only parsed when is enabled. + + + + + Gets or sets the whitespace after the # character when is false. + Trivia: only parsed when is enabled, otherwise + . + + + + + Represents a group of lines that is treated as raw HTML (and will not be escaped in HTML output). + + + + + + Initializes a new instance of the class. + + The parser. + + + + Gets or sets the type of block. + + + + + Defines the type of + + + + + A SGML document type starting by <!LETTER. + + + + + A raw CDATA sequence. + + + + + A HTML comment. + + + + + A SGM processing instruction tag <? + + + + + A script pre or style tag. + + + + + An HTML interrupting block + + + + + An HTML non-interrupting block + + + + + Base interface for a block structure. Either a or a . + + + + + + Gets or sets the text column this instance was declared (zero-based). + + + + + Gets or sets the text line this instance was declared (zero-based). + + + + + Gets the parent of this container. May be null. + + + + + Gets the parser associated to this instance. + + + + + Gets or sets a value indicating whether this instance is still open. + + + + + Gets or sets a value indicating whether this block is breakable. Default is true. + + + + + Gets or sets a value indicating whether this block must be removed from its container after inlines have been processed. + + + + + Occurs when the process of inlines begin. + + + + + Occurs when the process of inlines ends for this instance. + + + + + Trivia occurring before this block + + Trivia: only parsed when is enabled, otherwise . + + + + Trivia occurring after this block + + Trivia: only parsed when is enabled, otherwise . + + + + A common interface for fenced block (e.g: or ) + + + + + Gets or sets the fenced character used to open and close this fenced code block. + + + + + Gets or sets the fenced character count used to open this fenced code block. + + + + + Gets or sets the trivia after the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the language parsed after the first line of + the fenced code block. May be null. + + + + + Non-escaped exactly as in source markdown. + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the trivia after the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the arguments after the . + May be null. + + + + + Non-escaped exactly as in source markdown. + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the trivia after the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Newline of the line with the opening fenced chars. + Trivia: only parsed when is enabled, otherwise + . + + + + + Trivia before the closing fenced chars + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the fenced character count used to close this fenced code block. + + + + + Newline after the last line, which is always the line containing the closing fence chars. + "Inherited" from . + Trivia: only parsed when is enabled, otherwise + . + + + + + Base interface for a the Markdown syntax tree + + + + + Stores a key/value pair for this instance. + + The key. + The value. + if key is null + + + + Determines whether this instance contains the specified key data. + + The key. + true if a data with the key is stored + if key is null + + + + Gets the associated data for the specified key. + + The key. + The associated data or null if none + if key is null + + + + Removes the associated data for the specified key. + + The key. + true if the data was removed; false otherwise + + + + + An autolink (Section 6.7 CommonMark specs) + + + + + + Gets or sets a value indicating whether this instance is an email link. + + + + + Gets or sets the URL of this link. + + + + + Represents a code span (Section 6.3 CommonMark specs) + + + + + + Gets or sets the delimiter character used by this code inline. + + + + + Gets or sets the amount of delimiter characters used + + + + + Gets or sets the content of the span. + + + + + Gets or sets the content with trivia and whitespace. + Trivia: only parsed when is enabled, otherwise + . + + + + + A base class for container for . + + + + + + Gets the parent block of this inline. + + + + + Gets the first child. + + + + + Gets the last child. + + + + + Clears this instance by removing all its children. + + + + + Appends a child to this container. + + The child to append to this container.. + This instance + If child is null + Inline has already a parent + + + + Checks if this instance contains the specified child. + + The child to find. + true if this instance contains the specified child; false otherwise + + + + Finds all the descendants. + + Type of the descendants to find + An enumeration of T + + + + Moves all the children of this container after the specified inline. + + The parent. + + + + Embraces this instance by the specified container. + + The container to use to embrace this instance. + If the container is null + + + + Internal delimiter used by some parsers (e.g emphasis, tables). + + + + + + Gets the parser. + + + + + Gets or sets the type of this delimiter. + + + + + Gets or sets a value indicating whether this instance is active. + + + + + Converts this delimiter to a literal. + + The string representation of this delimiter + + + + Gets the type of a . + + + + + An undefined open or close delimiter. + + + + + An open delimiter. + + + + + A close delimiter. + + + + + A delimiter used for parsing emphasis. + + + + + + Initializes a new instance of the class. + + The parser. + The descriptor. + + + + + Initializes a new instance of the class. + + The parser. + The descriptor. + The content. + + + + + Gets the descriptor for this emphasis. + + + + + The delimiter character found. + + + + + The number of delimiter characters found for this delimiter. + + + + + The content as a . + + + + + An emphasis and strong emphasis (Section 6.4 CommonMark specs). + + + + + + Gets or sets the delimiter character of this emphasis. + + + + + Gets or sets a value indicating whether this is strong. + Marked obsolete as EmphasisInline can now be represented by more than two delimiter characters + + + + + Gets or sets the number of delimiter characters for this emphasis. + + + + + An entity HTML. + + + + + + Gets or sets the original HTML entity name + + + + + Gets or sets the transcoded literal that will be used for output + + + + + A Raw HTML (Section 6.8 CommonMark specs). + + + + + + Gets or sets the full declaration of this tag. + + + + + Base interface for all syntax tree inlines. + + + + + + Gets the parent container of this inline. + + + + + Gets the previous inline. + + + + + Gets the next sibling inline. + + + + + Gets or sets a value indicating whether this instance is closed. + + + + + Base class for all syntax tree inlines. + + + + + + Gets the parent container of this inline. + + + + + Gets the previous inline. + + + + + Gets the next sibling inline. + + + + + Gets or sets a value indicating whether this instance is closed. + + + + + Inserts the specified inline after this instance. + + The inline to insert after this instance. + + Inline has already a parent + + + + Inserts the specified inline before this instance. + + The inline previous to insert before this instance. + + Inline has already a parent + + + + Removes this instance from the current list and its parent + + + + + Replaces this inline by the specified inline. + + The inline. + if set to true the children of this instance are copied to the specified inline. + The last children + If inline is null + + + + Determines whether this instance contains a parent of the specified type. + + Type of the parent to check + true if this instance contains a parent of the specified type; false otherwise + + + + Iterates on parents of the specified type. + + Type of the parent to iterate over + An enumeration on the parents of the specified type + + + + Dumps this instance to . + + The writer. + + + + + Dumps this instance to . + + The writer. + The level of indent. + if writer is null + + + + A base class for a leaf inline. + + + + + + A base class for a line break. + + + + + + A delimiter for a link. + + + + + + Gets or sets a value indicating whether this delimiter is an image link. + + + + + Gets or sets the label of this link. + + + + + The label span + + + + + Gets or sets the with trivia. + Trivia: only parsed when is enabled, otherwise + . + + + + + A Link inline (Section 6.5 CommonMark specs) + + + + + + A delegate to use if it is setup on this instance to allow late binding + of a Url. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The URL. + The title. + + + + Gets or sets a value indicating whether this instance is an image link. + + + + + Gets or sets the label. + + + + + The label span + + + + + Gets or sets the with trivia. + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the type of label parsed + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the reference this link is attached to. May be null. + + + + + Gets or sets the label as matched against the . + Trivia: only parsed when is enabled. + + + + + Gets or sets the with trivia as matched against + the + + + + + Gets or sets the trivia before the . + Trivia: only parsed when is enabled, otherwise + . + + + + + True if the in the source document is enclosed + in pointy brackets. + Trivia: only parsed when is enabled, otherwise + false. + + + + + Gets or sets the URL. + + + + + The URL source span. + + + + + The but with trivia and unescaped characters + Trivia: only parsed when is enabled, otherwise + . + + + + + Any trivia after the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the GetDynamicUrl delegate. If this property is set, + it is used instead of to get the Url from this instance. + + + + + Gets or sets the character used to enclose the . + Trivia: only parsed when is enabled. + + + + + Gets or sets the title. + + + + + The title source span. + + + + + Gets or sets the exactly as parsed from the + source document including unescaped characters + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the trivia after the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets a boolean indicating if this link is a shortcut link to a + + + + + Gets or sets a boolean indicating whether the inline link was parsed using markdown syntax or was automatic recognized. + + + + + A literal inline. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The content. + + + + Initializes a new instance of the class. + + The text. + + + + + The content as a . + + + + + A boolean indicating whether the first character of this literal is escaped by `\`. + + + + + Base class for all leaf blocks. + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the string lines accumulated for this leaf block. + May be null after process inlines have occurred. + + + + + Gets or sets the inline syntax tree (may be null). + + + + + Gets or sets a value indicating whether must be processed + as inline into the property. + + + + + Appends the specified line to this instance. + + The slice. + The column. + The line. + + Whether to keep track of trivia such as whitespace, extra heading characters and unescaped string values. + + + + A link reference definition (Section 4.7 CommonMark specs) + + + + + + Creates an inline link for the specified . + + State of the inline. + The link reference. + The child. + An inline link or null to use the default implementation + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The label. + The URL. + The title. + + + + Gets or sets the label. Text is normalized according to spec. + + https://spec.commonmark.org/0.29/#matches + + + + The label span + + + + + Non-normalized Label (includes trivia) + Trivia: only parsed when is enabled, otherwise + . + + + + + Whitespace before the . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the URL. + + + + + The URL span + + + + + Non-normalized . + Trivia: only parsed when is enabled, otherwise + . + + + + + True when the is enclosed in point brackets in the source document. + Trivia: only parsed when is enabled, otherwise + false. + + + + + gets or sets the whitespace before a . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the title. + + + + + The title span + + + + + Non-normalized . + Trivia: only parsed when is enabled, otherwise + . + + + + + Gets or sets the character the is enclosed in. + Trivia: only parsed when is enabled, otherwise \0. + + + + + Gets or sets the create link inline callback for this instance. + + + This callback is called when an inline link is matching this reference definition. + + + + + Tries to the parse the specified text into a definition. + + Type of the text + The text. + The block. + true if parsing is successful; false otherwise + + + + Tries to the parse the specified text into a definition. + + Type of the text + The text. + The block. + + + + + + + + true if parsing is successful; false otherwise + + + + Extension methods for accessing attached at the document level. + + + + + Contains all the found in a document. + + + + + + Initializes a new instance of the class. + + + + + Gets an association between a label and the corresponding + + + + + A list (Section 5.3 CommonMark specs) + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets a value indicating whether the list is ordered. + + + + + Gets or sets the bullet character used by this list. + + + + + Gets or sets the ordered start number (valid when is true) + + + + + Gets or sets the default ordered start ("1" for BulletType = '1') + + + + + Gets or sets the ordered delimiter character (usually `.` or `)`) found after an ordered list item. + + + + + Gets or sets a value indicating whether this instance is loose. + + + + + A list item (Section 5.2 CommonMark specs) + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + The number defined for this in an ordered list + + + + + Gets or sets the bullet as parsed in the source document. + Trivia: only parsed when is enabled, otherwise + . + + + + + The root Markdown document. + + + + + + Initializes a new instance of the class. + + + + + Gets the number of lines in this + + + + + Gets a list of zero-based indexes of line beginnings in the source span + Available if is used, otherwise null + + + + + Base implementation for a the Markdown syntax tree. + + + + + The attached datas. Use internally a simple array instead of a Dictionary{Object,Object} + as we expect less than 5~10 entries, usually typically 1 (HtmlAttributes) + so it will gives faster access than a Dictionary, and lower memory occupation + + + + + Gets or sets the text column this instance was declared (zero-based). + + + + + Gets or sets the text line this instance was declared (zero-based). + + + + + The source span + + + + + Gets a string of the location in the text. + + + + + + Stores a key/value pair for this instance. + + The key. + The value. + if key is null + + + + Determines whether this instance contains the specified key data. + + The key. + true if a data with the key is stored + if key is null + + + + Gets the associated data for the specified key. + + The key. + The associated data or null if none + if key is null + + + + Removes the associated data for the specified key. + + The key. + true if the data was removed; false otherwise + + + + + Extensions for visiting or + + + + + Iterates over the descendant elements for the specified markdown element, including and . + The descendant elements are returned in DFS-like order. + + The markdown object. + An iteration over the descendant elements + + + + Iterates over the descendant elements for the specified markdown element, including and and filters by the type . + The descendant elements are returned in DFS-like order. + + Type to use for filtering the descendants + The markdown object. + An iteration over the descendant elements + + + + Iterates over the descendant elements for the specified markdown element and filters by the type . + + Type to use for filtering the descendants + The inline markdown object. + + An iteration over the descendant elements + + + + + Iterates over the descendant elements for the specified markdown element and filters by the type . + + Type to use for filtering the descendants + The markdown object. + + An iteration over the descendant elements + + + + + Block representing a document with characters but no blocks. This can + happen when an input document consists solely of trivia. + + + + + Represents a paragraph. + + + Related to CommonMark spec: 4.8 Paragraphs + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + A block quote (Section 5.1 CommonMark specs) + + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + + Gets or sets the trivia per line of this QuoteBlock. + Trivia: only parsed when is enabled. + + + + + Gets or sets the quote character (usually `>`) + + + + + Represents trivia per line part of a QuoteBlock. + Trivia: only parsed when is enabled. + + + + + Gets or sets trivia occurring before the first quote character. + + + + + True when this QuoteBlock line has a quote character. False when + this line is a "lazy line". + + + + + True if a space is parsed right after the quote character. + + + + + Gets or sets the trivia after the the space after the quote character. + The first space is assigned to , subsequent + trivia is assigned to this property. + + + + + Gets or sets the newline of this QuoeBlockLine. + + + + + A span of text. + + + + + Initializes a new instance of the struct. + + The start. + The end. + + + + Gets or sets the starting character position from the original text source. + Note that for inline elements, this is only valid if is setup on the pipeline. + + + + + Gets or sets the ending character position from the original text source. + Note that for inline elements, this is only valid if is setup on the pipeline. + + + + + Gets the character length of this element within the original source code. + + + + + Represents a thematic break (Section 4.1 CommonMark specs). + + + + + Initializes a new instance of the class. + + The parser used to create this block. + + + diff --git a/pkgsrc/Markdig.0.42.0/markdig.png b/pkgsrc/Markdig.0.43.0/markdig.png similarity index 100% rename from pkgsrc/Markdig.0.42.0/markdig.png rename to pkgsrc/Markdig.0.43.0/markdig.png diff --git a/pkgsrc/Markdig.0.42.0/readme.md b/pkgsrc/Markdig.0.43.0/readme.md similarity index 100% rename from pkgsrc/Markdig.0.42.0/readme.md rename to pkgsrc/Markdig.0.43.0/readme.md