Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Orchard External Pages


Orchard module for aggregating pages from external sources


  • Can aggregate Markdown pages and corresponding files from a Bitbucket repository
  • Options to set up mappings between local urls and repository paths as well as specifying the maximal size of files to be mirrored (if mirroring at all)


The module depends on Helpful Libraries (at least 1.8) . Please install it prior to installing the module!

This module's aim is to provide a tool for aggregating contents from external sources. The module currently can fetch Markdown (.md) files from a Bitbucket repository and save their content as content items.

The initial version of External Pages was demoed on the Orchard Community Meeting.


After installation you'll see a new "External Pages" menu item under Settings. Configure repository access there. For public repos you can leave the username/password blank.

After setting up a repository access you have to click the "Repopulate" button before the content will be auto-updated (this is so you can defer the initial population). After clicking the button the repository's content will be pulled in from the current state.

After the initial population a background task will check for new changesets every configurable amount of minutes (only from the default branch so you can use branches to distinguish between what should appear on the site) and process changesets in order, one per minute. The processing is differential, meaning that modified markdown pages will be changed, added ones created and removed ones also removed from Orchard. The same stands for mirrored files.

When you click "Repopulate" any time the current state of the repository will be pulled in, overtaking changeset processing. This means that if there are changesets in the queue and you repopulate content from the repository those changeset jobs will never be processed. Instead, the current state of the repository will be mirrored, in an incremental way. E.g. if there was a file deleted in a changeset and you repopulate before that changeset can be processed the file won't be removed locally.

Markdown (.md) files are converted to content items.

  • files are treated as directory indices just as it's standard with webservers. If you open a directory that has an index file the pattern "directory/" (note the trailing slash!) will work.
  • Other files are put under urls the same as their file name and can be access with the "filename" or if they're in a directory then "directory/filename" pattern (note that for files there's no trailing slash!).

E.g. if there's an and in the folder Directory, that "Directory/" path will lead to and "Directory/Other" to

See the Version history.

External Pages drives the Orchard Dojo Library and the DotNest Knowledge Base.

You can install External Pages from the Orchard Gallery.

Contributing and support

Bug reports, feature requests, comments, questions, code contributions, and love letters are warmly welcome, please do so via GitHub issues and pull requests. Please adhere to our open-source guidelines while doing so.

This project is developed by Lombiq Technologies. Commercial-grade support is available through Lombiq.


Orchard module for aggregating pages from external sources.




Code of conduct

Security policy





No packages published

Contributors 4