diff --git a/modules/mod_menu/tmpl/default/default.md b/modules/mod_menu/tmpl/default/default.md
new file mode 100644
index 0000000000000..7b3a7adb55815
--- /dev/null
+++ b/modules/mod_menu/tmpl/default/default.md
@@ -0,0 +1,97 @@
+## Info
+
+**Module:** mod_menu
+
+**Template:** default
+
+**Description:** This is the view which we use to display a default menu items.
+
+## Data
+
+### {{ data.list }}
+
+This is a list of all menu items. It should be displayed in such way:
+```
+{% if data.list|length > 0 %}
+
+{% endif %}
+```
+
+**Tips:**
+
+ - Item link should be taken from:
+ ```
+{{ item.flink }}
+ ```
+
+ - Info about active element should be taken from the `data.path` for specific ID:
+ ```
+if item.id in data.path
+ ```
+ or for the `aliasoptions` for the an 'alias' **NOT TESTED**:
+ ```
+data.path|length > 0 and item.params.get('aliasoptions') == data.path|last
+ ```
+
+ - If the next item is deeper:
+ ```
+{% if item.deeper %}
+ ```
+
+ - If the next item is shallower:
+ ```
+{% elseif item.shallower %}
+ ```
+
+ - How many levels should be ended:
+ ```
+ {% for i in range(1, item.level_diff) %}
+
+ {% endfor %}
+ ```
+
+### {{ data.base }}
+
+This is a base menu item (usualy is the same as active).
+
+### {{ data.active }}
+
+This is an active menu item.
+
+### {{ data.default }}
+
+This is a default menu item for the webpage (home page).
+
+### {{ data.active_id }}
+
+This is a ID for active item.
+
+### {{ data.default_id }}
+
+This is a ID for default item.
+
+### {{ data.path }}
+
+This is a path for current subpage.
+
+### {{ data.showAll }}
+
+This is a showAll marker.
+
+### {{ pageclass_sfx }}
+
+CSS class suffix.
diff --git a/modules/mod_menu/tmpl/default_component.php b/modules/mod_menu/tmpl/default_component.php
deleted file mode 100644
index 35f4521441d76..0000000000000
--- a/modules/mod_menu/tmpl/default_component.php
+++ /dev/null
@@ -1,72 +0,0 @@
-
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\Filter\OutputFilter;
-use Joomla\CMS\HTML\HTMLHelper;
-
-$attributes = array();
-
-if ($item->anchor_title) {
- $attributes['title'] = $item->anchor_title;
-}
-
-if ($item->anchor_css) {
- $attributes['class'] = $item->anchor_css;
-}
-
-if ($item->anchor_rel) {
- $attributes['rel'] = $item->anchor_rel;
-}
-
-if ($item->id == $active_id) {
- $attributes['aria-current'] = 'location';
-
- if ($item->current) {
- $attributes['aria-current'] = 'page';
- }
-}
-
-$linktype = $item->title;
-
-if ($item->menu_icon) {
- // The link is an icon
- if ($itemParams->get('menu_text', 1)) {
- // If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
- } else {
- // If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
- }
-} elseif ($item->menu_image) {
- // The link is an image, maybe with its own class
- $image_attributes = [];
-
- if ($item->menu_image_css) {
- $image_attributes['class'] = $item->menu_image_css;
- }
-
- $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
-
- if ($itemParams->get('menu_text', 1)) {
- $linktype .= '' . $item->title . '';
- }
-}
-
-if ($item->browserNav == 1) {
- $attributes['target'] = '_blank';
-} elseif ($item->browserNav == 2) {
- $options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';
-
- $attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
-}
-
-echo HTMLHelper::_('link', OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);
diff --git a/modules/mod_menu/tmpl/default_heading.php b/modules/mod_menu/tmpl/default_heading.php
deleted file mode 100644
index ccd5a22b63efe..0000000000000
--- a/modules/mod_menu/tmpl/default_heading.php
+++ /dev/null
@@ -1,44 +0,0 @@
-
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\HTML\HTMLHelper;
-
-$title = $item->anchor_title ? ' title="' . $item->anchor_title . '"' : '';
-$anchor_css = $item->anchor_css ?: '';
-$linktype = $item->title;
-
-if ($item->menu_icon) {
- // The link is an icon
- if ($itemParams->get('menu_text', 1)) {
- // If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
- } else {
- // If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
- }
-} elseif ($item->menu_image) {
- // The link is an image, maybe with its own class
- $image_attributes = [];
-
- if ($item->menu_image_css) {
- $image_attributes['class'] = $item->menu_image_css;
- }
-
- $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
-
- if ($itemParams->get('menu_text', 1)) {
- $linktype .= '' . $item->title . '';
- }
-}
-
-?>
->
diff --git a/modules/mod_menu/tmpl/default_separator.php b/modules/mod_menu/tmpl/default_separator.php
deleted file mode 100644
index 5eab1ff28307e..0000000000000
--- a/modules/mod_menu/tmpl/default_separator.php
+++ /dev/null
@@ -1,44 +0,0 @@
-
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\HTML\HTMLHelper;
-
-$title = $item->anchor_title ? ' title="' . $item->anchor_title . '"' : '';
-$anchor_css = $item->anchor_css ?: '';
-$linktype = $item->title;
-
-if ($item->menu_icon) {
- // The link is an icon
- if ($itemParams->get('menu_text', 1)) {
- // If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
- } else {
- // If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
- }
-} elseif ($item->menu_image) {
- // The link is an image, maybe with its own class
- $image_attributes = [];
-
- if ($item->menu_image_css) {
- $image_attributes['class'] = $item->menu_image_css;
- }
-
- $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
-
- if ($itemParams->get('menu_text', 1)) {
- $linktype .= '' . $item->title . '';
- }
-}
-
-?>
->
diff --git a/modules/mod_menu/tmpl/default_url.php b/modules/mod_menu/tmpl/default_url.php
deleted file mode 100644
index c9e46ccd8a782..0000000000000
--- a/modules/mod_menu/tmpl/default_url.php
+++ /dev/null
@@ -1,69 +0,0 @@
-
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\Filter\OutputFilter;
-use Joomla\CMS\HTML\HTMLHelper;
-
-$attributes = array();
-
-if ($item->anchor_title) {
- $attributes['title'] = $item->anchor_title;
-}
-
-if ($item->anchor_css) {
- $attributes['class'] = $item->anchor_css;
-}
-
-if ($item->anchor_rel) {
- $attributes['rel'] = $item->anchor_rel;
-}
-
-$linktype = $item->title;
-
-if ($item->menu_icon) {
- // The link is an icon
- if ($itemParams->get('menu_text', 1)) {
- // If the link text is to be displayed, the icon is added with aria-hidden
- $linktype = '' . $item->title;
- } else {
- // If the icon itself is the link, it needs a visually hidden text
- $linktype = '' . $item->title . '';
- }
-} elseif ($item->menu_image) {
- // The link is an image, maybe with an own class
- $image_attributes = [];
-
- if ($item->menu_image_css) {
- $image_attributes['class'] = $item->menu_image_css;
- }
-
- $linktype = HTMLHelper::_('image', $item->menu_image, $item->title, $image_attributes);
-
- if ($itemParams->get('menu_text', 1)) {
- $linktype .= '' . $item->title . '';
- }
-}
-
-if ($item->browserNav == 1) {
- $attributes['target'] = '_blank';
- $attributes['rel'] = 'noopener noreferrer';
-
- if ($item->anchor_rel == 'nofollow') {
- $attributes['rel'] .= ' nofollow';
- }
-} elseif ($item->browserNav == 2) {
- $options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open');
-
- $attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
-}
-
-echo HTMLHelper::_('link', OutputFilter::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);