These are templates that we commonly use for various projects. This repository replaces the previous one which used Handlebars, instead of Razor.
Learn more about DNN CMS at the official DNN community website.
- 🔗 Bootstrap 5 Compatible
- 🧩 Built for OpenContent & DNN 9+
- 🛠️ 30+ Production-Ready Razor Templates
- 📦 Drop-in Ready for Rapid Development
- 🧪 Thoroughly Tested in Real Deployments
- 🔒 Optional SLA-Based Support from UpendoDNN
- ⏩ Saves you hours and hours of time building content
Templates are 100% Razor-based, giving you full control over logic, markup, and layout.
These aren't sandbox experiments — they're running in live client environments right now.
- Bootstrap 5 layout & utility classes
- Animations, tabs, tooltips, carousels, and more
- Template settings: margins, padding, alignment
- Troubleshooting snippets included
- DNN developers who want modern, structured templates
- Agencies looking for reusable and maintainable components
- Site owners who need professional-grade design without starting from scratch
IMPORTANT: Using the Mandeeps Porto theme is NOT a requirement.
Yes, it's not real code. It's just supposed to be fun. :P
This solution is created and maintained by Upendo Ventures for the DNN CMS Community. Please consider sponsoring us for this and the many other open-source efforts we do. It's a lot. :)
- Sponsor Us (we're grateful at any level 🙏🏽)
If you need more help than what we can provide here, we'd be happy to help you via Upendo DNN Support.
😎 This is an officially supported extension! 🙌🏽 DNN Extensions with Support
If you're not a developer, the rest of this README is not going to interest you. 😉
Oh, you want to help build some templates? Sweet! Here's how you can do it.
The optional steps could be replaced with installing and using any theme built using Bootstrap 5 & FontAwesome 5.
- Install DNN
- (Optional) Install Porto (common library, live slider, porto)
- (Optional) Apply the Porto template
- Install OpenContent
- Clone repo to
\Portals\0\OpenContent\Templates
- Create an issue (if it doesn't already exist)
- Create a branch to work on (e.g.,
Issues/issue-1234
) - Begin development.
- Test your work in your dev website.
- Commit your changes and then create a pull request to the
main
branch. - Switch branches.