DscResource.DocGenerator.psd1

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

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

    GUID              = 'fa8b017d-8e6e-414d-9ab7-c8ab9cb9e9a4'

    # Author of this module
    Author            = 'DSC Community'

    # Company or vendor of this module
    CompanyName       = 'DSC Community'

    # Copyright statement for this module
    Copyright         = '(c) DSC Community contributors.'

    # Description of the functionality provided by this module
    Description       = 'Functionality to help generate documentation for modules.'

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

    # RequiredModules = @('Sampler') # The Sampler Pack task does not support recursive pack yet.

    <#
        Functions to export from this module, for best performance, do not use
        wildcards and do not delete the entry, use an empty array if there are
        no functions to export.
 
        This will be automatically update by the build pipeline.
    #>

    FunctionsToExport = @('Add-NewLine','Edit-CommandDocumentation','Invoke-Git','New-DscResourcePowerShellHelp','New-DscResourceWikiPage','New-GitHubWikiSidebar','Publish-WikiContent','Remove-MarkdownMetadataBlock','Set-WikiModuleVersion')

    <#
        Cmdlets to export from this module, for best performance, do not use
        wildcards and do not delete the entry, use an empty array if there are
        no cmdlets to export.
    #>

    CmdletsToExport   = @()

    # Variables to export from this module
    VariablesToExport = @()

    <#
        Aliases to export from this module, for best performance, do not use
        wildcards and do not delete the entry, use an empty array if there are
        no aliases to export.
 
        This must be set to the aliases to export since there is no way to tell
        the module builder (build pipeline) which aliases to add.
    #>

    AliasesToExport   = @('Task.Clean_Markdown_Metadata','Task.Clean_Markdown_Of_Public_Commands','Task.Generate_Conceptual_Help','Task.Generate_External_Help_File_For_Public_Commands','Task.Generate_Markdown_For_Public_Commands','Task.Generate_Wiki_Content','Task.Generate_Wiki_Sidebar','Task.Publish_GitHub_Wiki_Content')

    # DSC resources to export from this module
    DscResourcesToExport = @()

    <#
        Private data to pass to the module specified in RootModule/ModuleToProcess.
        This may also contain a PSData hashtable with additional module metadata
        used by PowerShell.
    #>

    PrivateData       = @{
        PSData = @{
            # Tags applied to this module. These help with module discovery in online galleries.
            Tags         = @('DSC', 'Modules', 'documentation')

            # A URL to the license for this module.
            LicenseUri   = 'https://github.com/dsccommunity/DscResource.DocGenerator/blob/main/LICENSE'

            # A URL to the main website for this project.
            ProjectUri   = 'https://github.com/dsccommunity/DscResource.DocGenerator'

            # ReleaseNotes of this module
            ReleaseNotes = '## [0.12.0-preview0004] - 2024-01-19
 
### Removed
 
- Removed the public command `Split-ModuleVersion` since it is now available
  from the module Sampler.
 
### Added
 
- Task `Generate_Markdown_For_Public_Commands` - This task will generate
  markdown documentation for the public commands in the built module.
- Task `Generate_External_Help_File_For_Public_Commands` - This task will
  generate the modules help files to support `Get-Help` for public commands.
  This task is dependent on the task `Generate_Markdown_For_Public_Commands`
  to have been run prior.
- Task `Clean_Markdown_Of_Public_Commands` which will edit the the command
  markdown documentation. For example it will remove the `ProgressAction`
  parameter that PlatyPS remove wrongly add (due to a bug).
- Task `Clean_Markdown_Metadata` which will remove the markdown metadata
  block from the markdown documentation. The metadata block was used for
  other tasks to know what type of content the markdown file contained.
- Task `Generate_Wiki_Sidebar` - This task will generate the GitHub Wiki
  Repository sidebar based on the files present in the built documentation
  folder (defaults to `./output/WikiOutput`).
- Public command `Remove-MarkdownMetadataBlock` that removes metadata from a
  Markdown file.
- Public command `New-GitHubWikiSidebar` generate the GitHub Wiki
  Repository sidebar based on the files present in the built documentation
  folder (defaults to `./output/WikiOutput`).
- Private function `Remove-ParameterFromMarkdown` that removes a parameter
  from a commands markdown documentation.
- Private function `Remove-EscapedMarkdownCode` that removes a escape sequences
  from the markdown documentation (that PlatyPS is making).
- Public command `Edit-CommandDocumentation` that will modify the a generated
  command markdown documentation.
- Public command `Add-NewLine` that can add line endings at the end of a file.
 
### Changed
 
- DscResource.DocGenerator
  - Updated pipeline files to support resolving dependencies using ModuleFast
    or PSResourceGet.
  - The built module is now removed from the session when initiating a new
    build. The build pipeline is dogfooding functionality and leaving a
    previous version imported in the session do not use new code.
- Task `Generate_Wiki_Content`
  - Support passing metadata trough the build configuration file (`build.yaml`).
- `New-DscResourceWikiPage`
  - A new parameter `Metadata` that takes a hashtable of metadata. See
    comment-based help for the format of the hashtable.
- `New-DscClassResourceWikiPage`
  - A new parameter `Metadata` that takes a hashtable of metadata. See
    comment-based help for the format of the hashtable.
- `New-DscCompositeResourceWikiPage`
  - A new parameter `Metadata` that takes a hashtable of metadata. See
    comment-based help for the format of the hashtable.
- `New-DscMofResourceWikiPage`
  - A new parameter `Metadata` that takes a hashtable of metadata. See
    comment-based help for the format of the hashtable.
 
### Fixed
 
- `Get-CommentBasedHelp` was fixed so it correctly filters out the comment-based
  help from a script file.
- `Remove-MarkdownMetadataBlock` was fixed to only remove the metadata block
  at the top of the file.
 
'


            # Prerelease string of this module
            Prerelease = 'preview0004'
        } # End of PSData hashtable
    } # End of PrivateData hashtable
}