home chevron_right
Markdown

Markdownlink

Prefer writing in Markdown instead of Blade? Docara supports .md and .markdown files with YAML front matter.

For example, with this layout:

<html>
    <head><!-- ... --></head>
    <body>
        @yield('content')
    </body>
</html>

If that layout is named master in the _layouts folder, you can create a Markdown page that uses it like so:

---
extends: _layouts.master
section: content
---
# My awesome heading!

My awesome content!

Which generates:

<html>
    <head><!-- ... --></head>
    <body>
        <h1>My awesome heading!</h1>
        <p>My awesome content!</p>
    </body>
</html>

Custom front matter variableslink

Suppose you have post.blade.php in _layouts:

_layouts/post.blade.php

@extends('_layouts.master')

@section('content')
<h1>{{ $page->title }}</h1>
<h2>by {{ $page->author }}</h2>

    @yield('postContent')
@endsection

Populate variables via front matter:

my-post.md

---
extends: _layouts.post
section: postContent
title: "Docara is awesome!"
author: "Simai Docara"
---
Docara is one of the greatest static site generators of all time.

Which generates:

<html>
    <head>
        <!-- ... -->
    </head>
    <body>
        <h1>Docara is awesome!</h1>
        <h2>by Simai Docara</h2>

        <p>Docara is one of the greatest static site generators of all time.</p>
    </body>
</html>

Formatting dateslink

YAML front matter dates are converted to integer timestamps. In Blade, format them with PHP's date():

my-post.md

---
extends: _layouts.post
section: postContent
date: 2018-02-16
---

_layouts/post.blade.php

<p>The formatted date is {{ date('F j, Y', $page->date) }}</p>

Specifying a permalinklink

Set permalink in front matter to override the output path (e.g., a custom 404 page at 404.html instead of 404/index.html):

source/404.md

---
extends: _layouts.master
section: content
permalink: 404.html
---
### Sorry, that page does not exist.

Internal link normalization (.md -> route)link

When authors write links like:

[Layout](../layout/index.md)

Docara can normalize them to route URLs during rendering (for example /en/utilities/layout with pretty URLs), instead of leaving .md in final href.

Recommended behavior:

  • Normalize only internal markdown links (.md, .markdown, .mdown).
  • Preserve query/hash suffixes (?x=1, #section).
  • Keep locale-aware paths (/en/..., /ru/...).
  • Resolve via menu/flatten metadata first, and use a safe fallback only when not found.

This keeps docs links stable when page paths are category-driven or index-based.