# \[Markdown\] Break page into separate pieces

**URL:** <https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77>\
**Category:** Support\
**Created:** [March 27, 2019, 11:44pm UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77 "2019-03-27T23:44:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![paulcmal](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/paulcmal/32/32_2.png) [@paulcmal](https://zola.discourse.group/u/paulcmal)\
**Post date:** [March 27, 2019, 11:44pm UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/1 "2019-03-27T23:44:48Z")

</div>

Hi,

Because of reasons\* i want to be able to break a content page into separate parts. I usually do this by splitting `page.content` with a `separator` string.

Up until a few versions ago i was using ` ~~~~~ ` or `=====` to do so. However building the latest Zola seems that these chars now open a code block. Unfortunately i can’t date when the problem appeared as the last time i built my site the project was still called Gutenberg 😉

Is this a regression or a feature? Is there a better editor-friendly character sequence i should use to replace it that i’m sure is not going to be markdownified at some point? ^^

Thanks!

\*I think it’s very editor-friendly to have header/footer content defined in an actual page (instead of an HTML template they could break). Dividing the page into separate parts can allow to build clever multi-column layouts, among many other things

---

<div class="post-metadata">

**Author:** ![keats](https://avatars.discourse-cdn.com/v4/letter/k/34f0e0/32.png) [@keats](https://zola.discourse.group/u/keats)\
**Post date:** [March 28, 2019, 10:44am UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/2 "2019-03-28T10:44:34Z")

</div>

The latest version has updated the markdown parser to be CommonMark compliant.  
In CommonMark, `~~~` is a way to start a code block and `===` a header.

You can use any characters not used in CommonMark: $, £, €, %, |, ?, !, @ etc. In short avoid `=`, `~`, backticks, `-`, `+`, `#`, `*`, `_` and you should be fine

---

<div class="post-metadata">

**Author:** ![paulcmal](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/paulcmal/32/32_2.png) [@paulcmal](https://zola.discourse.group/u/paulcmal)\
**Post date:** [March 28, 2019, 11:08am UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/3 "2019-03-28T11:08:19Z")

</div>

Thanks for the answer!

Upon testing again, i figured `=====` works as intended if i leave blank lines around, which sounds fair to me given that other symbols you suggested don’t really visually suggest horizontal lines breaking the content page.

---

<div class="post-metadata">

**Author:** ![radio-alice](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/radio-alice/32/52_2.png) [@radio-alice](https://zola.discourse.group/u/radio-alice)\
**Post date:** [April 30, 2019, 8:59pm UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/4 "2019-04-30T20:59:14Z")

</div>

Hey sorry I found the docs semi-confusing– how did you use the page breaks to construct multi-column layouts?

---

<div class="post-metadata">

**Author:** ![radio-alice](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/radio-alice/32/52_2.png) [@radio-alice](https://zola.discourse.group/u/radio-alice)\
**Post date:** [May 1, 2019, 9:20pm UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/5 "2019-05-01T21:20:28Z")

</div>

jk I got it

if anyone comes looking here you are gonna want to split the page content into two global variables like so:  
`{% set_global page_split = page.content | split(pat="======") %}`  
`{% set_global column_one = page_split.0 %}`  
`{% set_global column_two = page_split.1 %}`

and then use them in your page like:  
`{{ column_one | safe }}`  
`{{ column_two | safe }}`

wherever you want them to be

---

<div class="post-metadata">

**Author:** ![paulcmal](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/paulcmal/32/32_2.png) [@paulcmal](https://zola.discourse.group/u/paulcmal)\
**Post date:** [May 20, 2019, 7:07pm UTC](https://zola.discourse.group/t/markdown-break-page-into-separate-pieces/77/6 "2019-05-20T19:07:50Z")

</div>

For future reference, Commonmark support [thematic breaks](https://spec.commonmark.org/0.29/#thematic-breaks) that get translated to an ‘hr’ HTML element.

We can summon a thematic break with three or more consecutive stars (\*), dashes (-) or underscores (\_). Like so:

```
part1
---
part2

```

Then you can split by hr element (with closing ’ /\>’) as per the spec 🙂
