MIIS: A Markdown File-based CMS for IIS and Azure
A Markdown and HTML file-based CMS system for IIS by @jm_alarcon.
MIIS is a perfect blend between a traditional CMS (such as Wordpress) and a Static Site Generator (such as Jekyll). Get the best of world worlds:
- No backend database or special setup needed
- No need to compile and deploy after any change
- Lightning-fast, without unneeded bloat
- Liquid syntax support
Set up your Markdown-based documentation system or web site in minutes!
Note: this documentation is not up to date. Please, while it's not updated, use it a base and check the release notes and the "Tests" folder in the source code to check how all the features work.
- Internet Information Server 7.x or later on Windows Server or an Azure Web App
- .NET Framework 4.5 or later (usually already installed on the server).
- Create full-fledged web sites and documentation sites based on Markdown and HTML files
- Easy support for custom templating and navigation for the served files. You can create a CMS (Content Management System) directly from Markdown files in no time!
- Generate site pages on the fly from Markdown files or HTML (
.mdhfiles), with navigation and all the common elements in the site
- Super-flexible and easy template creation, with inheritance, "includes", components, and all the power of Liquid Markup.
- Custom properties that can be used in any file
- Powerful "Fragments" feature that allows to assemble contents dynamically from several files
- Define different look&feel, layout or navigation for specific files or folders
- Several documentation site templates included out of the box
- Extensible (new tags, filters and data sources)
- Markdown file caching and template caching for maximum performance
- Great support for Markdown and Markdown extras
- Serve plain HTML from Markdown (use as a simple Markdown handler) with custom CSS
- Out of the box support for
.mdhfile extensions. You can add your own extensions.
Your Markdown-based site running in less than 30 seconds:
- Create an IIS virtual server or an Azure Web App pointing to an empty folder
- Download the latest version of MIIS from the "Releases" section of the MIIS GitHub repository
- Uncompress the contents of the ZIP file inside the folder from step 1
- Navigate to your website with the browser
You're all set up! Now you have a sample site with minimum contents. Just create new .md (Markdown) or .mdh (HTML) files and browse to them to get them rendered with the current template. Optionally add them to the default template's navigation bar creating a link in the
toc.md file located at the root folder.
There are two types of plain-text files that you can use to be rendered by MIIS:
- Markdown files: Normally you'll use the
.mdfile extension for these files (although you can configure other extensions). They contain Markdown that is transformed into HTML before rendering.
- HTML Content Files: with the mandatory
.mdhfile extension. Any content inside these files is injected as-is in the chosen template for the site. This allows to create complex HTML contents when Markdown is not enough.
You can mix MIIS with your own ASP.NET, PHP, Node.js or any other server-side resource.
- Out-of-the-box templates
- Define custom templates
- Manage Markdown file extensions
- How to run locally with IISExpress
- How to run in Azure
These are some sites that run with MIIS:
- This site. Azure App.
- campusMVP: On-line training company. More than 300K unique users monthly. Windows Server.
- jmalarcon.es: My personal (non-technical) blog. Azure App.
- SELF LMS: Site and blog for a Learning Management System software. Windows Server.
- IISMailer: Form processing software for ISS website and docs. Azure App.
- Krasis.com: Basic corporate website. Windows Server.
- Alquiler Sanxenxo: Seaside flat rental site. Azure App.
- Krasis Intranet: private, OAuth 2.0 protected Intranet site. Azure App.
If you use MIIS to create a website, the documentation for your project, a document-based site, etc... please tweet it to me with the URL 😊 Thanks!
This is free and Open Source software (FLOSS). You can check the full code and documentation on GitHub.
You can contribute to the project with bug fixes, new templates, new features and translations of this documentation to other languages. Follow the normal flow of OSS contributions in GitHub (fork, make changes, pull request).
And spread the word. Thanks! 😄
You can open issues using the "Issues" section for the project on GitHub.