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.3.1'

# 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 = @'
Highly configurable markdown to HTML conversion using customizable templates.
 
### Features
 
* Open Source and fully _hackable_.
* Out-of-the box support for diagrams, math typesetting and code syntax
  highlighting.
* Based on [Markdig](https://github.com/lunet-io/markdig),
  a fast, powerful, [CommonMark](http://commonmark.org/) compliant Markdown
  processor for .NET with more than 20 configurable extensions.
* High quality Open Source web components:
  - **Code Highlighting**: [highlight.js](https://highlightjs.org/); supports
    189 languages and 91 styles.
  - **Math typesetting**: [KaTeX](https://katex.org/); The fastest math
    typesetting library for the web.
  - **Diagramming**: [Mermaid](http://mermaid-js.github.io/mermaid/); Generation
    of diagrams and flowcharts from text in a similar manner as Markdown.
* Highly configurable static website projects with configuration file and build
  script. See `New-StaticHTMLSiteProject`.
* Sites can be used offline (without connection to the internet). All site
  assets are local.
 
### Prerequisites
 
To successfully create web sites from Markdown you should know:
* Markdown: A good starting point would be
  [GitHub Flavored Markdown](https://github.github.com/gfm/)
* Some knowledge about HTML and CSS (Cascading Stylesheets).
* Some PowerShell knowledge
 
See `about_MarkdownToHTML` for more information about configuration
and operation of this module.
 
### Incompatibilities
 
This version is incompatible with existing 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.*).
 
**Make sure to read the release notes for 2.0.0 below for instructions on how to upgrade your
existing conversion projects.**
'@


# 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-PageHeadingNavigation'
                       'ConvertTo-NavigationItem'
                       'Find-MarkdownFiles'
                       'New-StaticHTMLSiteProject'
                       'New-HTMLTemplate'
                       'Publish-StaticHtmlSite'
                     )

# 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.3.1
 
* 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>"
      }
    },
    ...
    ~~~
 
* `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
 
The updated version of _Markdig_ incuded in this release introduces
an incompatiblity in the _mathematics_ extension which breaks _KaTeX_ math rendering.
 
See `about_MarkdownToHTML` for options to upgrade existing projects.
To address this incompaibility the KaTex configuration in **all** deployed html templates
 
#### 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 = ''
}