{"id":15012413,"url":"https://github.com/microsoft/psdocs","last_synced_at":"2025-04-13T04:23:53.161Z","repository":{"id":39924403,"uuid":"100320990","full_name":"microsoft/PSDocs","owner":"microsoft","description":"Generate documentation from Infrastructure as Code (IaC).","archived":false,"fork":false,"pushed_at":"2025-04-02T02:15:11.000Z","size":614,"stargazers_count":153,"open_issues_count":20,"forks_count":24,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-08T10:12:13.733Z","etag":null,"topics":["desired-state-configuration","devops","devops-tools","documentation","hacktoberfest","infrastructure-as-code","markdown","powershell","powershell-module","psdocs","wmf"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-15T00:27:38.000Z","updated_at":"2025-04-04T01:58:54.000Z","dependencies_parsed_at":"2023-12-06T09:29:17.076Z","dependency_job_id":"15be9c0d-1415-4dd3-a59b-77b762a2cf66","html_url":"https://github.com/microsoft/PSDocs","commit_stats":{"total_commits":143,"total_committers":7,"mean_commits":"20.428571428571427","dds":"0.46853146853146854","last_synced_commit":"c05510921f34af8df434f967607fa95eef36a1c6"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSDocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSDocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSDocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSDocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/PSDocs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248662412,"owners_count":21141570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desired-state-configuration","devops","devops-tools","documentation","hacktoberfest","infrastructure-as-code","markdown","powershell","powershell-module","psdocs","wmf"],"created_at":"2024-09-24T19:42:35.764Z","updated_at":"2025-04-13T04:23:53.120Z","avatar_url":"https://github.com/microsoft.png","language":"C#","readme":"# PSDocs\n\nA PowerShell module with commands to generate markdown from objects using PowerShell syntax.\n\n![ci-badge]\n\n## Support\n\nThis project uses GitHub Issues to track bugs and feature requests.\nPlease search the existing issues before filing new issues to avoid duplicates.\n\n- For new issues, file your bug or feature request as a new [issue].\n- For help, discussion, and support questions about using this project, join or start a [discussion].\n\nSupport for this project/ product is limited to the resources listed above.\n\n## Getting the modules\n\nYou can download and install the PSDocs module from the PowerShell Gallery.\n\nModule     | Description | Downloads / instructions\n------     | ----------- | ------------------------\nPSDocs     | Generate markdown from PowerShell | [latest][psg-psdocs] / [instructions][install]\n\nFor integration modules see [related projects](#related-projects).\n\n## Getting started\n\nThe following example shows basic PSDocs usage.\nFor specific use cases see [scenarios](#scenarios).\n\n### Define a document\n\nA document provides instructions on how PSDocs should render an object into documentation.\nTo define a document, create the `Document` script block saved to a file with the `.Doc.ps1` extension.\n\nFor example:\n\n```powershell\n# File: Sample.Doc.ps1\n\n# Define a document called Sample\nDocument Sample {\n    # Define content here\n}\n```\n\nWithin the document body provide one or more instructions.\n\nFor example:\n\n```powershell\n# File: Sample.Doc.ps1\n\n# Define a document called Sample\nDocument Sample {\n\n    # Add an introduction section\n    Section Introduction {\n        # Add a comment\n        \"This is a sample file list from $TargetObject\"\n\n        # Generate a table\n        Get-ChildItem -Path $TargetObject | Table -Property Name,PSIsContainer\n    }\n}\n```\n\n### Execute a document\n\nTo execute the document use `Invoke-PSDocument`.\n\nFor example:\n\n```powershell\nInvoke-PSDocument -InputObject 'C:\\';\n```\n\nAn example of the output generated is available [here](docs/examples/Get-child-item-output.md).\n\n### Scenarios\n\n- [Azure Resource Manager template example](docs/scenarios/arm-template/arm-template.md)\n- [Integration with DocFX](docs/scenarios/docfx/integration-with-docfx.md)\n\n## Language reference\n\nPSDocs extends PowerShell with domain specific language (DSL) keywords and cmdlets.\n\n### Keywords\n\nThe following language keywords are used by the `PSDocs` module:\n\n- [Document](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#document) - Defines a named documentation block\n- [Section](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#section) - Creates a named section\n- [Title](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#title) - Sets the document title\n- [Code](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#code) - Inserts a block of code\n- [BlockQuote](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#blockquote) - Inserts a block quote\n- [Note](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#note) - Inserts a note using DocFx formatted markdown (DFM)\n- [Warning](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#warning) - Inserts a warning using DocFx formatted markdown (DFM)\n- [Metadata](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#metadata) - Inserts a yaml header\n- [Table](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#table) - Inserts a table from pipeline objects\n- [Include](docs/keywords/PSDocs/en-US/about_PSDocs_Keywords.md#include) - Insert content from an external file\n\n### Commands\n\nThe following commands exist in the `PSDocs` module:\n\n- [Invoke-PSDocument](docs/commands/PSDocs/en-US/Invoke-PSDocument.md)\n- [Get-PSDocument](docs/commands/PSDocs/en-US/Get-PSDocument.md)\n- [Get-PSDocumentHeader](docs/commands/PSDocs/en-US/Get-PSDocumentHeader.md)\n- [New-PSDocumentOption](docs/commands/PSDocs/en-US/New-PSDocumentOption.md)\n\nThe following commands exist in the `PSDocs.Dsc` module:\n\n- [Get-DscMofDocument](docs/commands/PSDocs.Dsc/en-US/Get-DscMofDocument.md)\n- [Invoke-DscNodeDocument](docs/commands/PSDocs.Dsc/en-US/Invoke-DscNodeDocument.md)\n\n### Concepts\n\nThe following conceptual topics exist in the `PSDocs` module:\n\n- [Configuration](docs/concepts/PSDocs/en-US/about_PSDocs_Configuration.md)\n- [Conventions](docs/concepts/PSDocs/en-US/about_PSDocs_Conventions.md)\n- [Options](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md)\n  - [Configuration](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#configuration)\n  - [Execution.LanguageMode](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#executionlanguagemode)\n  - [Markdown.ColumnPadding](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#markdowncolumnpadding)\n  - [Markdown.Encoding](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#markdownencoding)\n  - [Markdown.SkipEmptySections](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#markdownskipemptysections)\n  - [Markdown.UseEdgePipes](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#markdownuseedgepipes)\n  - [Markdown.WrapSeparator](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#markdownwrapseparator)\n  - [Output.Culture](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#outputculture)\n  - [Output.Path](docs/concepts/PSDocs/en-US/about_PSDocs_Options.md#outputpath)\n- [Selectors](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md)\n  - [AllOf](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#allof)\n  - [AnyOf](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#anyof)\n  - [Contains](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#contains)\n  - [Equals](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#equals)\n  - [EndsWith](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#endswith)\n  - [Exists](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#exists)\n  - [Field](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#field)\n  - [Greater](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#greater)\n  - [GreaterOrEquals](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#greaterorequals)\n  - [HasValue](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#hasvalue)\n  - [In](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#in)\n  - [IsLower](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#islower)\n  - [IsString](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#isstring)\n  - [IsUpper](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#isupper)\n  - [Less](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#less)\n  - [LessOrEquals](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#lessorequals)\n  - [Match](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#match)\n  - [Not](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#not)\n  - [NotEquals](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#notequals)\n  - [NotIn](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#notin)\n  - [NotMatch](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#notmatch)\n  - [StartsWith](docs/concepts/PSDocs/en-US/about_PSDocs_Selectors.md#startswith)\n- [Variables](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md)\n  - [$Culture](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#culture)\n  - [$Document](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#document)\n  - [$InstanceName](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#instancename)\n  - [$LocalizedData](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#localizeddata)\n  - [$PSDocs](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#psdocs)\n  - [$TargetObject](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#targetobject)\n  - [$Section](docs/concepts/PSDocs/en-US/about_PSDocs_Variables.md#section)\n\n## Related projects\n\nThe following projects use or integrate with PSDocs.\n\nName           | Description\n----           | -----------\n[PSDocs.Azure] | Generate documentation from Azure infrastructure as code (IaC) artifacts.\n[PSDocs.Dsc]   | Extension for PSDocs to generate markdown from Desired State Configuration.\n\n## Changes and versioning\n\nModules in this repository will use the [semantic versioning](http://semver.org/) model to declare breaking changes from v1.0.0.\nPrior to v1.0.0, breaking changes may be introduced in minor (0.x.0) version increments.\nFor a list of module changes please see the [change log](CHANGELOG.md).\n\n\u003e Pre-release module versions are created on major commits and can be installed from the PowerShell Gallery.\n\u003e Pre-release versions should be considered experimental.\n\u003e Modules and change log details for pre-releases will be removed as standard releases are made available.\n\n## Contributing\n\nThis project welcomes contributions and suggestions.\nIf you are ready to contribute, please visit the [contribution guide](CONTRIBUTING.md).\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)\nor contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Maintainers\n\n- [Bernie White](https://github.com/BernieWhite)\n- [Vic Perdana](https://github.com/vicperdana)\n\n## License\n\nThis project is [licensed under the MIT License](LICENSE).\n\n[install]: docs/install-instructions.md\n[issue]: https://github.com/Microsoft/PSDocs/issues\n[discussion]: https://github.com/Microsoft/PSDocs/discussions\n[ci-badge]: https://bewhite.visualstudio.com/PSDocs/_apis/build/status/PSDocs-CI?branchName=main\n[psg-psdocs]: https://www.powershellgallery.com/packages/PSDocs\n[psg-psdocs-version-badge]: https://img.shields.io/powershellgallery/v/PSDocs.svg\n[psg-psdocs-installs-badge]: https://img.shields.io/powershellgallery/dt/PSDocs.svg\n[PSDocs.Dsc]: https://www.powershellgallery.com/packages/PSDocs.Dsc\n[PSDocs.Azure]: https://azure.github.io/PSDocs.Azure/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpsdocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fpsdocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpsdocs/lists"}