How to

Welcome to the Orchard Core Gallery.

This site lists modules and themes made for Orchard Core.

If you own an Orchard Core module or theme, you can submit it.

How to submit a module or theme

  1. Fork the OrchardCMS/OrchardCore.Extensions repository.
  2. Add one Markdown .md file for your listing:
    • Modules go under modules/{author}.
    • Themes go under themes/{author}.
  3. Use the frontmatter format below.
  4. Submit a Pull Request to the main repository.

The {author} folder is the GitHub account — user or organization — that publishes the module or theme. Write it exactly as it appears on GitHub.

GitHub accountModule pathTheme path
CrestAppsmodules/CrestApps/my-module.mdthemes/CrestApps/my-theme.md
Lombiqmodules/Lombiq/my-module.mdthemes/Lombiq/my-theme.md
OrchardCoreContribmodules/OrchardCoreContrib/my-module.mdthemes/OrchardCoreContrib/my-theme.md

If you already have listings in the repository, reuse the folder you used before instead of creating a second one for the same owner.

The folder name is independent from author.name. author.name is the display name shown on the site, so it may contain spaces and differ from the GitHub account. For example, the Lombiq folder holds listings whose author.name is Lombiq Technologies.

For example, a module listing can look like this:

---
title: CookieConsent # Title
description: A cookie consent module for Orchard Core. # Short description displayed in lists
dependencies: ["OrchardCore.ContentFields"] # Optional. Direct Orchard Core/package dependencies
projectUrl: https://github.com/agriffard/CookieConsent.OrchardCore # Optional. Project URL, such as a GitHub repository
documentationUrl: https://docs.orchardcore.net/ # Optional. Documentation site URL for the module or theme
nuGetPackageId: CookieConsent.OrchardCore # Optional. NuGet package ID
tags:
  - cookies
  - privacy
author:
  name: Antoine Griffard # Required. Author, company, team, or GitHub username
  url: https://github.com/agriffard # Optional. Company, team, or GitHub profile URL
  imageUrl: https://avatars.githubusercontent.com/u/703248 # Required. Author avatar/logo URL
licenses: [MIT] # Optional. List of available licenses
compatibleWithAllVersions: true # Optional. Marks a listing as compatible with every Orchard Core version (use for core modules/themes)
versions: # Optional. Supported Orchard Core versions
  - 2.0.x # Accepts an exact version (2.0.0) or a wildcard (2.0 / 2.0.x / 2.x) that covers every matching patch
  - 1.8.4
pubDatetime: 2024-09-15T12:00:00Z # Required. Publication date
canonicalURL: https://example.com/cookieconsent # Optional. Canonical URL override
---

A cookie consent module using [cookieconsent](https://github.com/brainsum/cookieconsent).

Supported properties

PropertyRequiredDescription
titleYesDisplay name of the module or theme.
descriptionYesShort summary shown on listing cards and search results.
dependenciesNoArray of direct package or Orchard Core feature dependencies.
projectUrlNoProject URL, such as a GitHub repository or documentation site.
documentationUrlNoDocumentation site URL. Shown as the Documentation link on the detail page. For example, https://orchardcore.crestapps.com/ for CrestApps modules or https://docs.orchardcore.net/ for Orchard Core modules.
nuGetPackageIdNoNuGet package ID. The gallery uses it to link to NuGet and show the install command.
tagsNoArray of tags. Defaults to ["others"] when omitted.
author.nameYesAuthor, company, team, or GitHub username.
author.urlNoCompany, team, or GitHub profile URL. When present, it is shown as the Company link.
author.imageUrlYesAvatar or logo URL. Do not include query-string sizing parameters.
licensesNoArray of license names, such as [MIT].
compatibleWithAllVersionsNoSet to true to mark the listing as compatible with every Orchard Core version. Useful for core modules and themes. Such listings appear on the All versions page and on every specific version page.
versionsNoArray of supported Orchard Core version strings, such as ["2.0.0", "1.8.4"]. Each value may be exact (2.0.0) or a wildcard (2.0, 2.0.x, or 2.x) that matches every version under it when filtering. The legacy object form (- orchard: 2.0.0) is still accepted for backward compatibility.
pubDatetimeYesPublication date in ISO format, such as 2024-09-15T12:00:00Z.
canonicalURLNoCanonical URL override for SEO.

The Markdown body below the frontmatter is the long description shown on the detail page.

Author pages and URL paths

The gallery automatically creates author pages from author.name. You do not need to add an author path manually in the Markdown file.

Choose one author name and reuse it for all modules and themes from the same owner:

Using the same author.name is important because the gallery groups all matching modules and themes under the same author page.

The author URL path is created from author.name by lowercasing it and replacing spaces with dashes. Words are never split apart, so CrestApps becomes crestapps. This applies to the generated URL only — it does not change the folder name you use in the repository, which stays the GitHub account name.

For example:

author:
  name: CrestApps

generates this author page:

/authors/crestapps/

More examples:

author.nameGenerated path
CrestApps/authors/crestapps/
The Orchard Core Team/authors/the-orchard-core-team/
Lombiq Technologies/authors/lombiq-technologies/

For example, every CrestApps module and theme should use:

author:
  name: CrestApps

so they all appear together at /authors/crestapps/.

After adding your file, submit a Pull Request. The PR will be reviewed before it appears on the site.