diff --git a/docs/Settings.md b/docs/Settings.md index 743bebb..1fba095 100644 --- a/docs/Settings.md +++ b/docs/Settings.md @@ -1,127 +1,154 @@ ---- -title: Configuring MIIS ---- -# Configuration settings and behavior for MIIS - -MIIS needs some basic parameters to be set in order to work. You can set any parameter globally, through `web.config` files, or locally in any file through it's Front Matter. - -**Configuration in MIIS is hierarchical in three levels:** root folder, subfolders and pages. - -This means that you can define your **global parameters** in the root folder's `web.config` file, define new parameters or overwrite the global ones **in any sublevel** through the corresponding `web.config` inside any sub-folder, and you can define or overwrite any parameter **at the page level** using the file's Front Matter. - -This hierarchical configuration system is **very powerful** and you can use it to define custom content, to change the navigation system, to choose the template used to render contents in specific sub-folders or files... or even to fully customize any file with specific fields or parameters. - -There are some **pre-defined parameters** in MIIS, and you can create your own [**custom fields**](Templating#custom-fields). - -> Parameter and field names are **case insensitive**. So, `Layout`, `layout` or `LAYOUT` are exactly the same parameter. - -> **`MIIS:` parameter prefix**: any parameter or field defined in a `web.config` file can be named with a `MIIS:` prefix. This helps to avoid conflicts with parameters with the same name from other software you may be using. Using this prefix is optional, but recommended. It'll take precedence over the non-prefixed parameters with the same name in case of conflict. You can't use this prefix in your file's Front Matter. Your file's Front Matter always takes precedence over other parameters or fields defined in `web.config`. - -## Out-of-the-box predefined parameters - -### - TemplatesBasePath -This parameter is only available through `Web.config`, and can't be overwritten in a file's Front Matter. It defines the folder that contains the definition for the different templates available to MIIS for rendering pages. - -It's default value is `{{tilde}}/Templates`. - -This means that, by default, the templates are located inside a folder named "Templates" in the applications root directory. Normally you won't change this parameter at all. - ->**Note**: This parameter can be only set in `web.config` files. If you set it in a file's Front Matter it will be ignored for the current purpose. - ----- - -### - TemplateName -This is the name of the subfolder in the previous `TemplatesBasePath` folder, that contains the layout files and the rest of resources for the template we want to use in our site. - ->If this this parameter is not established, then a basic minimum HTML5 template is used. See: [Serving plain HTML from Markdown](Plain-HTML){target="_blank"} - ----- - -### - Layout -The name of the file (including extension) in the previous folder that contains **the HTML that defines the current layout to render file contents**. - -This parameter allows you to point to an HTML file (or any other text file with HTML inside) that will be used **to merge it's HTML with the HTML generated from the Markdown files** or with the HTML inside the MDH files. - -There are **[several templates included](Template-List.md)** by default with MIIS, and you can **[create your own](Templating)** from scratch or to retrofit any existing website. - ----- - -### - UseMDCaching -By default MIIS caches the results of rendering any page so that they can render instantly after the first request (no conversion, parameter substitution or processing in every request). - -If the file (or any of the files it depends on, such as menus, fragments...) changes, then **the cache is automatically invalidated** so that the new version is read again from disk in the next request. - -If for any reason you need to turn off this behavior (very low memory environments) just use this in your `web.config` file: - -``` - -``` - ->This parameters is global and cannot be set individually in the Front-Matter of a single file. You can set it only in `web.config` files, and can disable caching for entire sub-folders (for example, one with thousands of files non frequently accessed), or the application as a whole. - ----- - -### - allowDownloading -By default you can't download Markdown files from the server (the source of your final pages). But sometimes it can be useful to allow your users to download the original Markdown files, to use them directly, or to create new versions, etc... - -You can switch this feature on through this parameter: - -``` - -``` - -After that, any Markdown file [registered in your app](Managing-File-Extensions) can be downloaded just adding the `?download=1` query string parameter in the file request. - -You can see this feature in practice if you enable this feature and use the provided "Barebones" template, that includes a link to download Markdown files in the footer of every document. - ->**IMPORTANT**: in order for the Markdown files to be downloaded you need to add the corresponding MIME type to your web server. CHeck out [how to do it](Managing-File-Extensions#allow-downloading-of-markdown-files). - ----- - -### - UseEmoji -By default MIIS will render [standard Emoji codes](https://www.webpagefx.com/tools/emoji-cheat-sheet/){target="_blank"} like the ones used in Github, Trello, Slack, Basecamp and other software. So, strings like `:smile:` or `:grin:` are rendered as the corresponding emojis: :smile: - :grin:. - -You can turn this feature off if needed using this parameter: - -``` - -``` - ----- - -### - Published -By default all the Markdown and MDH files are published. You can prevent any file or set of files to be rendered by using this parameter. - -You can include this parameter in the Front Matter of a file to prevent it to be rendered: - -``` ---- -Title: My draft page -Published: false ---- -``` - -If anyone writes the path to this file in the browser they will get a 404 Status error of "File not found". - -Any value different to `false`, `no` o `0` will be considered as valid to publish the file. The default value if the parameter is not defined is `true` and will render the page normally. - -You can set this parameter globally or for specific folders using `web.config` and adding: - -``` - -``` - -(any of the previously specified values are valid) - -Doing this will prevent the rendering of any file in the folder where this `web.config` is located, except those ones that specifically define `Published: true` or a similar value in their Front Matter. This can be very useful under some circumstances. - ----- - -## Standard and Custom Fields - -There are some basic **[standard fields](Templating#standard-fields)** that you can use anywhere in your contents or templates. - -And most of the provided content templates offer **[their own parameters](Template-List)** to customize a little more the final look and feel - -Finally, you can easily **[define your own custom fields](Templating#custom-fields)** too, and use them anywhere (templates or documents). - +--- +title: Configuring MIIS +--- +# Configuration settings and behavior for MIIS + +MIIS needs some basic parameters to be set in order to work. You can set any parameter globally, through `web.config` files, or locally in any file through it's Front Matter. + +**Configuration in MIIS is hierarchical in three levels:** root folder, subfolders and pages. + +This means that you can define your **global parameters** in the root folder's `web.config` file, define new parameters or overwrite the global ones **in any sublevel** through the corresponding `web.config` inside any sub-folder, and you can define or overwrite any parameter **at the page level** using the file's Front Matter. + +This hierarchical configuration system is **very powerful** and you can use it to define custom content, to change the navigation system, to choose the template used to render contents in specific sub-folders or files... or even to fully customize any file with specific fields or parameters. + +There are some **pre-defined parameters** in MIIS, and you can create your own [**custom fields**](Templating#custom-fields). + +> Parameter and field names are **case insensitive**. So, `Layout`, `layout` or `LAYOUT` are exactly the same parameter. + +> **`MIIS:` parameter prefix**: any parameter or field defined in a `web.config` file can be named with a `MIIS:` prefix. This helps to avoid conflicts with parameters with the same name from other software you may be using. Using this prefix is optional, but recommended. It'll take precedence over the non-prefixed parameters with the same name in case of conflict. You can't use this prefix in your file's Front Matter. Your file's Front Matter always takes precedence over other parameters or fields defined in `web.config`. + +## Out-of-the-box predefined parameters + +### - TemplatesBasePath +This parameter is only available through `Web.config`, and can't be overwritten in a file's Front Matter. It defines the folder that contains the definition for the different templates available to MIIS for rendering pages. + +It's default value is `{{tilde}}/Templates`. + +This means that, by default, the templates are located inside a folder named "Templates" in the applications root directory. Normally you won't change this parameter at all. + +>**Note**: This parameter can be only set in `web.config` files. If you set it in a file's Front Matter it will be ignored for the current purpose. + +---- + +### - TemplateName +This is the name of the subfolder in the previous `TemplatesBasePath` folder, that contains the layout files and the rest of resources for the template we want to use in our site. + +>If this this parameter is not established, then a basic minimum HTML5 template is used. See: [Serving plain HTML from Markdown](Plain-HTML){target="_blank"} + +---- + +### - Layout +The name of the file (including extension) in the previous folder that contains **the HTML that defines the current layout to render file contents**. + +This parameter allows you to point to an HTML file (or any other text file with HTML inside) that will be used **to merge it's HTML with the HTML generated from the Markdown files** or with the HTML inside the MDH files. + +There are **[several templates included](Template-List.md)** by default with MIIS, and you can **[create your own](Templating)** from scratch or to retrofit any existing website. + +---- + +### - UseMDCaching +By default MIIS caches the results of rendering any page so that they can render instantly after the first request (no conversion, parameter substitution or processing in every request). + +If the file (or any of the files it depends on, such as menus, fragments...) changes, then **the cache is automatically invalidated** so that the new version is read again from disk in the next request. + +If for any reason you need to turn off this behavior (very low memory environments) just use this in your `web.config` file: + +``` + +``` + +>This parameters is global and cannot be set individually in the Front-Matter of a single file. You can set it only in `web.config` files, and can disable caching for entire sub-folders (for example, one with thousands of files non frequently accessed), or the application as a whole. + +---- + +### - allowDownloading +By default you can't download Markdown files from the server (the source of your final pages). But sometimes it can be useful to allow your users to download the original Markdown files, to use them directly, or to create new versions, etc... + +You can switch this feature on through this parameter: + +``` + +``` + +After that, any Markdown file [registered in your app](Managing-File-Extensions) can be downloaded just adding the `?download=1` query string parameter in the file request. + +You can see this feature in practice if you enable this feature and use the provided "Barebones" template, that includes a link to download Markdown files in the footer of every document. + +>**IMPORTANT**: in order for the Markdown files to be downloaded you need to add the corresponding MIME type to your web server. CHeck out [how to do it](Managing-File-Extensions#allow-downloading-of-markdown-files). + +---- + +### - UseEmoji +By default MIIS will render [standard Emoji codes](https://www.webpagefx.com/tools/emoji-cheat-sheet/){target="_blank"} like the ones used in Github, Trello, Slack, Basecamp and other software. So, strings like `:smile:` or `:grin:` are rendered as the corresponding emojis: :smile: - :grin:. + +You can turn this feature off if needed using this parameter: + +``` + +``` + +---- + +### - Published +By default all the Markdown and MDH files are published. You can prevent any file or set of files to be rendered by using this parameter. + +You can include this parameter in the Front Matter of a file to prevent it to be rendered: + +``` +--- +Title: My draft page +Published: false +--- +``` + +If anyone writes the path to this file in the browser they will get a 404 Status error of "File not found". + +Any value different to `false`, `no` o `0` will be considered as valid to publish the file. The default value if the parameter is not defined is `true` and will render the page normally. + +You can set this parameter globally or for specific folders using `web.config` and adding: + +``` + +``` + +(any of the previously specified values are valid) + +Doing this will prevent the rendering of any file in the folder where this `web.config` is located, except those ones that specifically define `Published: true` or a similar value in their Front Matter. This can be very useful under some circumstances. + +---- + +## - HttpStatusCode +By default all pages return a 200 HTTP Status code, that is: a success code. However, some of the pages that you need in a site must return different status codes to tell browsers and search engines that, for example, a file hasn't be found (404), a file used to exists but no anymore (410) or that a server error has happened (500), [among others](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes). + +For example, if you're creating a page named `404error.md` in the root folder of your site, in order to associate it with the 404 status code so that it's going to be shown when users request a non-existent resource, you should decorate it's FrontMatter with this field, like this: + +``` +HttpStatusCode: 404 +``` + +this will send a 404 status code to the client when a file hasn't been found. + +In order for this to work you should assign this file as the one used to handle 404 errors in your site. For this you need to add this nodes to your `web.config` file in the root folder: + +``` + + + + + + +``` + +Now, when a user or a search engine spider asks for a non-existent resource in your site they'll see this page and, what's more important, they'll see the 404 status in the response. + +>You cannot set the message or other headers sent with this response. For example, status code 301 (permanent redirection) means that a resource has permanently moved and you should indicate in a header the new location of the resource. Since this is something already easy to do directly with IIS/Azure and it's better and more performant to do it that way, this feature is designed only for another types of status code, such as the ones indicated above (404, 403, 500...), which are needed for specific cases and don't rely on extra info sent to the client. +---- + +## Standard and Custom Fields + +There are some basic **[standard fields](Templating#standard-fields)** that you can use anywhere in your contents or templates. + +And most of the provided content templates offer **[their own parameters](Template-List)** to customize a little more the final look and feel + +Finally, you can easily **[define your own custom fields](Templating#custom-fields)** too, and use them anywhere (templates or documents). + diff --git a/docs/index.md b/docs/index.md index 7e4e3f6..e71a983 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,77 +1,77 @@ ---- -title: Documentation ---- - -# MIIS: A Markdown File-based CMS for IIS and Azure - -![MIIS Logo](Images/MIIS_Logo.png) - -A Markdown and HTML file-based CMS system for IIS by [@jm_alarcon](https://twitter.com/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 recompile and deploy after any change -- Lightning-fast, without unneeded bloat - -**Set up your Markdown-based documentation system or web site in less than 30 seconds!** - -> **[What's new in Version 2.1?](releases)** - -## System Requirements - -- Internet Information Server on Windows Server or an Azure Web App -- .NET Framework 3.5 or later (usually already installed on the server), for maximum compatibility - -## Features -- 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 (.mdh files), with navigation and all the common elements in the site -- Super-flexible and easy template creation, with "includes" support -- 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 -- Markdown file caching and template caching for **maximum performance** -- **Great support for Markdown** and [Markdown extras](Markdown-Features) -- Serve **plain HTML from Markdown** (use as a simple Markdown handler) with custom CSS -- Out of the box support for all **the most common markdown file extensions**: `.md, .markdown, .mdown, .mkdn, .mkd`. You can [add your own extensions](Managing-File-Extensions) - -## Quick Start - -Your Markdown-based site running in less than 30 seconds: - -1. Create an IIS virtual server or an Azure Web App pointing to an empty folder -2. Download the latest version of **MIIS** from the ["Releases" section](https://github.com/jmalarcon/MIIS/releases) of the MIIS GitHub repository -3. Uncompress the contents of the ZIP file inside the folder from step 1 -4. 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 `.md` file extension for these files (although you can [configure other extensions](Managing-File-Extensions)). They contain Markdown that is transformed into HTML before rendering. -- **HTML Content Files**: with the mandatory `.mdh` file 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. - -## Advanced set-up - -- [Configuration/Settings](Settings) -- [Out-of-the-box templates](Template-List) -- [Define custom templates](Templating) -- [Manage Markdown file extensions](Managing-File-Extensions) -- [How to run locally with IISExpress](IISExpress) -- [How to run in Azure](Azure) - -## Source code -This is free and Open Source software (FLOSS). You can check the full code and documentation on [GitHub](https://github.com/jmalarcon/MIIS). - -## Contribute -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). - -I plan to add a "Showcase" section in the future. **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! - -And spread the word. Thanks! :smile: - +--- +title: Documentation +--- + +# MIIS: A Markdown File-based CMS for IIS and Azure + +![MIIS Logo](Images/MIIS_Logo.png) + +A Markdown and HTML file-based CMS system for IIS by [@jm_alarcon](https://twitter.com/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 recompile and deploy after any change +- Lightning-fast, without unneeded bloat + +**Set up your Markdown-based documentation system or web site in less than 30 seconds!** + +> **[What's new in Version 2.2?](releases)** + +## System Requirements + +- Internet Information Server on Windows Server or an Azure Web App +- .NET Framework 3.5 or later (usually already installed on the server), for maximum compatibility + +## Features +- 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 (.mdh files), with navigation and all the common elements in the site +- Super-flexible and easy template creation, with "includes" support +- 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 +- Markdown file caching and template caching for **maximum performance** +- **Great support for Markdown** and [Markdown extras](Markdown-Features) +- Serve **plain HTML from Markdown** (use as a simple Markdown handler) with custom CSS +- Out of the box support for all **the most common markdown file extensions**: `.md, .markdown, .mdown, .mkdn, .mkd`. You can [add your own extensions](Managing-File-Extensions) + +## Quick Start + +Your Markdown-based site running in less than 30 seconds: + +1. Create an IIS virtual server or an Azure Web App pointing to an empty folder +2. Download the latest version of **MIIS** from the ["Releases" section](https://github.com/jmalarcon/MIIS/releases) of the MIIS GitHub repository +3. Uncompress the contents of the ZIP file inside the folder from step 1 +4. 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 `.md` file extension for these files (although you can [configure other extensions](Managing-File-Extensions)). They contain Markdown that is transformed into HTML before rendering. +- **HTML Content Files**: with the mandatory `.mdh` file 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. + +## Advanced set-up + +- [Configuration/Settings](Settings) +- [Out-of-the-box templates](Template-List) +- [Define custom templates](Templating) +- [Manage Markdown file extensions](Managing-File-Extensions) +- [How to run locally with IISExpress](IISExpress) +- [How to run in Azure](Azure) + +## Source code +This is free and Open Source software (FLOSS). You can check the full code and documentation on [GitHub](https://github.com/jmalarcon/MIIS). + +## Contribute +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). + +I plan to add a "Showcase" section in the future. **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! + +And spread the word. Thanks! :smile: + You can open any issues you may face, using the ["Issues" section](https://github.com/jmalarcon/MIIS/issues) for the project on GitHub. \ No newline at end of file diff --git a/docs/releases.md b/docs/releases.md index 4603e1e..d8d29a4 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -1,48 +1,55 @@ ---- -title: Release history -field: {{field}} ---- -# MIIS Release History -MIIS uses [semantic versioning](https://semver.org){target="_blank"}. That means it only changes the major version when there're breaking changes. A change in the minor version means new features. A change in the third number means no new features, just bug fixes. - ->You can check all the releases, including the minor ones, at [Github](https://github.com/jmalarcon/MIIS/releases){target="_blank"}. - -## Version 2.1.0 - -Released, March 24th 2018 - -- Added the **new ["Published" property](https://miis.azurewebsites.net/Settings#published)** that allows you to prevent certain files or entire folders to be rendered when requested. -- Squashed a bug with templates' caching preventing some files to invalidate their cache - -## Version 2.0 - -Released, March 2018 - -## - Breaking changes -- **New app DLL name**: `MIISHandler.dll` instead of the old one `IISMarkdownHandler.dll`. Make sure you delete the old one before updating! You must change the handlers section in your `web.config` file. Just copy it from the downloaded MISS released files. -- **Placeholders now use double curly-braces** (`{{field}}`) instead of just one. Upgrade your templates before updating. -- **The `Markdown-Template` parameter doesn't exist anymore**. Now it uses two independent parameters for the template location and the layout, being much more flexible. See [configuration/settings](Settings). -- the `BaseFolder` field is deprecated. Use `{{tilde}}/` instead. -- The `BaseFolder` and `TemplateBaseFolder` fields do not include a slash `/` at the end. This makes the paths more readable. -- The `UseMDCaching` and `AllowEmojis` parameter's value are `"1"` by default (enabled), so you don't need to specifcy them most of the time. - -## - What's new -- **Includes in templates**. Now you can reuse any part of your template to define different layouts using the same base code. The include files can include other files too (no circular-references allowed). -- **"Fragments"**. This powerful new concept allows you to define several contents to be located in the same layout to form a single page, even with optional parts. -- **Front-Matter**: Define any parameter in the Front-Matter of a file and use it inside the content or in the current template. Re-define any global parameter or field to be applied differently in any page. For example, you can define something as simple as the title or author of the page, or even change the layout it uses to render itself. Front-Matter values take precedence over values defined globally. -- **`MIIS:` prefix to define global parameters & fields in `web.config` files**. To avoid conflict with parameters of the same name in other software you may be using. The use of this prefix is optional but recommended. It'll take precedence over the non-prefixed parameters with the same name in case of conflict. - -## Version 1.1 - -Released September 2017 - -- **Added support for plain HTML content** through the special `.mdh` extension. If you access a file with the `.mdh` extension it will be used with the current template and/or styles un-transformed. In this way you can use plain-old HTML with your current template for special pages that need a finer control of the contents. Useful for front pages, for example. -- **New fields for templates**: - - **`{isauthenticated}`**: boolean that shows if the current user is authenticated or not. Useful with scripts. - - **`{authtype}`**: the type of authentication used. - - **`{username}`**: the name of the current authenticated user. - - -## Version 1.0 - -Released March 2017 +--- +title: Release history +field: {{field}} +--- +# MIIS Release History +MIIS uses [semantic versioning](https://semver.org){target="_blank"}. That means it only changes the major version when there're breaking changes. A change in the minor version means new features. A change in the third number means no new features, just bug fixes. + +>You can check all the releases, including the minor ones, at [Github](https://github.com/jmalarcon/MIIS/releases){target="_blank"}. + +## Version 2.2.0 + +Released, August 20th 2018 + +- Added the **new ["HttpStatusCode" property](https://miis.azurewebsites.net/Settings#httpstatuscode)** that allows pages to send an specific status code to the client, such as 404, 410, 500, etc... in order to create special pages with specific purposes. + + +## Version 2.1.0 + +Released, March 24th 2018 + +- Added the **new ["Published" property](https://miis.azurewebsites.net/Settings#published)** that allows you to prevent certain files or entire folders to be rendered when requested. +- Squashed a bug with templates' caching preventing some files to invalidate their cache + +## Version 2.0 + +Released, March 2018 + +## - Breaking changes +- **New app DLL name**: `MIISHandler.dll` instead of the old one `IISMarkdownHandler.dll`. Make sure you delete the old one before updating! You must change the handlers section in your `web.config` file. Just copy it from the downloaded MISS released files. +- **Placeholders now use double curly-braces** (`{{field}}`) instead of just one. Upgrade your templates before updating. +- **The `Markdown-Template` parameter doesn't exist anymore**. Now it uses two independent parameters for the template location and the layout, being much more flexible. See [configuration/settings](Settings). +- the `BaseFolder` field is deprecated. Use `{{tilde}}/` instead. +- The `BaseFolder` and `TemplateBaseFolder` fields do not include a slash `/` at the end. This makes the paths more readable. +- The `UseMDCaching` and `AllowEmojis` parameter's value are `"1"` by default (enabled), so you don't need to specifcy them most of the time. + +## - What's new +- **Includes in templates**. Now you can reuse any part of your template to define different layouts using the same base code. The include files can include other files too (no circular-references allowed). +- **"Fragments"**. This powerful new concept allows you to define several contents to be located in the same layout to form a single page, even with optional parts. +- **Front-Matter**: Define any parameter in the Front-Matter of a file and use it inside the content or in the current template. Re-define any global parameter or field to be applied differently in any page. For example, you can define something as simple as the title or author of the page, or even change the layout it uses to render itself. Front-Matter values take precedence over values defined globally. +- **`MIIS:` prefix to define global parameters & fields in `web.config` files**. To avoid conflict with parameters of the same name in other software you may be using. The use of this prefix is optional but recommended. It'll take precedence over the non-prefixed parameters with the same name in case of conflict. + +## Version 1.1 + +Released September 2017 + +- **Added support for plain HTML content** through the special `.mdh` extension. If you access a file with the `.mdh` extension it will be used with the current template and/or styles un-transformed. In this way you can use plain-old HTML with your current template for special pages that need a finer control of the contents. Useful for front pages, for example. +- **New fields for templates**: + - **`{isauthenticated}`**: boolean that shows if the current user is authenticated or not. Useful with scripts. + - **`{authtype}`**: the type of authentication used. + - **`{username}`**: the name of the current authenticated user. + + +## Version 1.0 + +Released March 2017