MarkdownToHtml.psd1

#
# Module manifest for module 'MarkDownToHTML'
#
# Generated by: WetHat
#
# Generated on: 11/7/2017 7:57:32 AM
#

@{
# Script module or binary module file associated with this manifest.
RootModule = 'MarkdownToHtml.psm1'

# Version number of this module.
ModuleVersion = '2.4.0'

# Supported PSEditions
CompatiblePSEditions = 'Desktop'

# ID used to uniquely identify this module
GUID = 'ac6c6204-4097-4693-ba7e-3e0167383c24'

# Author of this module
Author = 'WetHat'

# Company or vendor of this module
CompanyName = 'WetHat Lab'

# Copyright statement for this module
Copyright = '(c) 2018-2021 WetHat Lab. All rights reserved.'

# Description of the functionality provided by this module
Description = @'
A collection of PowerShell commands to convert Markdown files to static
HTML sites in various ways.
 
# Known Incompatibilities
 
If you have have conversion projects which use the _mathematics_ extensions and
were created with versions of this module older than 2.0.0 (i.e. 1.* or 0.*).
See [version 2.0.0](MarkdownToHTML.md#2.0.0) release notes for upgrade instructions.
'@


# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '5.1'

# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = @('Markdig.dll')

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module
FunctionsToExport = @(
                        'Convert-MarkdownToHTML'
                        'Convert-MarkdownToHTMLFragment'
                        'ConvertTo-NavigationItem'
                        'Expand-HtmlTemplate'
                        'Find-MarkdownFiles'
                        'New-PageHeadingNavigation'
                        'New-SiteNavigation'
                        'New-StaticHTMLSiteProject'
                        'New-HTMLTemplate'
                        'Publish-StaticHtmlSite'
                        'Update-ResourceLinks'
                     )

# Cmdlets to export from this module
CmdletsToExport = '*'

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = '*'

# List of all modules packaged with this module
ModuleList = @()

# List of all files packaged with this module
FileList = @(
                'MarkdownToHtml.psm1'
                'Markdig.dll'
                'System.Memory.dll'
                'System.Runtime.CompilerServices.Unsafe.dll'
                'System.Numerics.Vectors.dll'
            )

# Private data to pass to the module specified in RootModule/ModuleToProcess
PrivateData = @{
    PSData = @{
        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = @(
                    'Markdown'
                    'HTML'
                    'Converter'
                )

        # A URL to the license for this module.
        LicenseUri = 'https://github.com/WetHat/MarkdownToHtml/blob/master/LICENSE'

        # A URL to the main website for this project.
        ProjectUri = 'https://github.com/WetHat/MarkdownToHtml'

        # A URL to an icon representing this module.
        IconUri = 'https://upload.wikimedia.org/wikipedia/commons/2/2f/PowerShell_5.0_icon.png'

        # ReleaseNotes of this module
        ReleaseNotes = @'
## 2.4.0 {#2.4.0}
 
* Navigation bar improvements (Static HTML site projects):
 
  * scrollbar added to long navbars.
  * `md-styles.css` overhauled for static site template to make navbar usable
    for overflowing navitems
  * HTML fragments with resource links supported in navitem names.
    Example from a `Build.json` which displays a navigatable image:
    ~~~Json
    "site_navigation": [
        { "<img width='90%' src='site_logo.png'/>": "README.md" },
        { "Home": "README.md" },
        { "---": "" }
    ]
    ~~~
  * New commands implemented to remove code duplication and make the `Build.ps1`
    file more consistent.
    Upgrade of the `Build.ps1` file of existing projects is optional. All changes
    are backeard compatible. If you want to upgrade anyways change the content
    map section of`Build.ps1` file like so:
    ~~~ PowerShell
    $SCRIPT:contentMap = @{
        # Add additional mappings here...
        '{{footer}}' = $config.Footer # Footer text from configuration
        '{{nav}}' = {
            param($fragment) # the html fragment created from a markdown file
            $navcfg = $config.navigation_bar # navigation bar configuration
            # Create the navigation items configured in 'Build.json'
            New-SiteNavigation -NavitemSpecs $config.site_navigation `
                               -RelativePath $fragment.RelativePath `
                               -NavTemplate $navcfg.templates
            # Create navigation items to headings on the local page.
            # This requires the `autoidentifiers` extension to be enabled.
            New-PageHeadingNavigation -HTMLfragment $fragment.HTMLFragment `
                                      -NavTemplate $navcfg.templates `
                                      -HeadingLevels $navcfg.capture_page_headings
        }
    }
    ~~~
 
* Module Documentation
  * Code and conceptial documentation improved
  * Documentation generated with this module and published to
    [GitHub Pages](https://wethat.github.io/MarkdownToHtml)
 
## 2.3.1 {#2.3.1}
 
* Navigation bar improvements (Static HTML site projects):
    * default navigation menu changed to a static vertical sidebar.
    * navigation items pop out dynamically on mouse hover.
    * auto-added navigation items for page headings indented according to heading
    level.
    * navbar formatting made more consistent.
    * navbar small screen support
 
## 2.3.0
 
* Page navigation bar made customizable. To take advantage of this feature
    in existing projects following files need to be updated:
    * `Build.ps1`: A `-NavTemplate` parameter needs to be added to the invokation of `ConvertTo-NavigationItem`.
    A `-NavTemplate` and a `-HeadingLevels` parameter needs to be added to
    the invokation of`ConvertTo-PageHeadingNavigation`.
    For example:
 
    ~~~ PowerShell
    # Set-up the content mapping rules for replacing the templace placeholders
    $SCRIPT:contentMap = @{
        # Add additional mappings here...
        '{{footer}}' = $config.Footer # Footer text from configuration
        '{{nav}}' = {
            param($fragment) # the html fragment created from a markdown file
            $navcfg = $config.navigation_bar # navigation bar configuration
            # Create the navigation items configured in 'Build.json'
            $config.site_navigation | ConvertTo-NavigationItem -RelativePath $fragment.RelativePath `
                                                                -NavTemplate $navcfg.templates
            # Create navigation items to headings on the local page.
            # This requires the `autoidentifiers` extension to be enabled.
            ConvertTo-PageHeadingNavigation $fragment.HTMLFragment -NavTemplate $navcfg.templates `
                                                                    -HeadingLevels $navcfg.capture_page_headings
        }
    }
    ~~~
 
    * `Build.json`: a navigation bar configuration section needs to be added:
 
    ~~~ json
    ...
    "navigation_bar": {
        "capture_page_headings": "123456",
        "templates": {
            "navitem": "<button class='navitem'><a href='{{navurl}}'>{{navtext}}</a></button>",
            "navlabel": "<div class='navitem'>{{navtext}}</div>",
            "navseparator": "<hr class='navitem'/>",
            "navheading": "<span class='navitem{{level}}'>{{navtext}}</span>"
        }
    },
    ...
    ~~~
 
* Component updates:
    * `Markdig` update to version 0.24
    * `KateX` update to version 0.13.11
    * `Mermaid` update to version 8.10.1
 
## 2.2.2
 
* added referenced .net assemblies which may not be guaranteed to be present
 
## 2.2.1
 
* Katex Updated to version 0.12.0
* Mermaid updated to version 8.8.2
* Markdig updated to version 0.22.0
* Code signed With long term self signed certificate
 
## 2.2.0
 
* Fixed issue with `ConvertTo-NavigationItem` not understanding hyperlinks
    with `#` fragments.
* Added `autoidentifiers` to the `Build.json` in the project template so that
    headings get `id` attributes.
* Added navigation items for headings on the current page to the navbar.
 
## 2.1.1
 
* Bugfix: Site assets not copied in build script
 
## 2.1.0
 
#### Enhancements
 
* `Publish-StaticHtmlSite` now accepts definition of custom placeholder
    mappins for expansion of `md-template.html`.
* Default template placeholder delimiters changed to `{{` and `}}`.
* Static HTML site projects added: See `New-StaticHTMLSiteProject`.
* Documentation made more `Get-Help` friendly.
* _Mermaid_ assets updated to version 8.5.0
 
#### Maintenance
 
* Minimum required Powershell version now 5.1 (Desktop)
 
## 2.0.0 {#2.0.0}
 
The version of _Markdig_ included in this release introduces an
incompatiblity with projects which use the _mathematics_ extension
**and** were created with versions of this module older than 2.0.0
(i.e. 1.* or 0.*).
 
To address this incompaibility the _KaTex_ configuration in
**all** deployed html templates (`md_template.html`) need to be updated like so:
 
~~~ html
<script>
    // <![CDATA[
    window.onload = function() {
        var tex = document.getElementsByClassName("math");
        Array.prototype.forEach.call(tex, function(el) {
            katex.render(el.textContent, el, {
                                                displayMode: (el.nodeName == "DIV"),
                                                macros: {
                                                            "\\(": "",
                                                            "\\)": "",
                                                            "\\[": "",
                                                            "\\]": ""
                                                        }
                                            })
        });
    };
    // ]]>
</script>
~~~
 
#### New Features
 
* Highlighting languages _Perl_ and _YAML_ added
 
#### Maintenance
 
* Updated to _Markdig_ 0.18.0.
* KaTeX updated to version 0.11.1
* Code syntax highlighting updated to version 9.17.1
 
#### Bugfixes
* Rendering of math blocks now creates centered output with the correct (bigger) font.
* Changed the default html template (`md_template.html`) to address the incompatible
  change in the LaTeX math output of the _mathematics_ extension of _Markdig_.
 
## 1.3.0
 
* upgrade of markdig to version 0.17.2
* KaTex upgraded to 0.11.0
* Re-factored the Markdown converter pipeline and made it parts public
  to make it useful for a broader range of Markdown conversion scenarios.
 
## 1.2.8
 
* `Write-Host` replaced by the more benign `Write-Verbose`
* Minor code cleanup
 
## 1.2.7
 
* Empty lines allowed im 'md-template.html` to remove an ugly but harmless
  exception.
* Syntax highlighting updated to version 9.14.2
* Upgrade to markdig version 0.15.7
* Added Resources and configuration for the [mermaid](https://mermaidjs.github.io/) diagram and
  flowchart generator version 8.0.0 to the HTML template.
* Added Resources and configuration for the [KaTeX](https://katex.org/) LaTeX Math
  typesetting library version 0.10.0 to the HTML template.
* Documentation improved.
 
## 1.2.6
 
* Powershell Gallery metadata added.
 
## 1.2.4
 
* Replaced `[System.Web.HttpUtility]` by `[System.Net.WebUtility]` to fix issue
  when powershell is run with `-noprofile`
 
## 1.2.3
 
* Fixed regression introduced in 1.2.2
* Regression test setup
 
## 1.2.2
 
* Support for markdown files in a directory hierarchy fixed.
  (directory scanning fixed and relative path added to resource links)
 
## 1.2.1
 
Handle partially HTML encoded code blocks
 
## 1.2.0
 
* Replaced XML template processing with text based template processing,
  to relax constraints on the HTML fragment quality.
* HTML encode text in `<code>` blocks
 
## 1.1.0
 
* Setting of Markdown parser options implemented
* Wildcard support for pathes added
 
## 1.0.0
 
Initial Release
'@

    } # End of PSData hashtable
} # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://github.com/WetHat/MarkdownToHtml/blob/master/Documentation/MarkdownToHTML.md'

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}