---
title: Contributing
slug: contributing
---

## How it works

- 📖 Flat files
  - [enhanced markdown](#enhanced-markdown) for content
  - [YAML frontmatter](https://learn.getgrav.org/15/content/headers) for metadata
- 🦊 Continuous integration using [GitLab](https://m3p2.ljbac.com)
- 🌎 Decentralized versioning using [Git](https://en.wikipedia.org/wiki/Git)
  - asynchronous and offline collaboration
  - scales to thousands of contributors
- 🚀 HTML generation using Grav (PHP)
  - basically the new WordPress, _but much better_
  - vibrant and growing community in 2019


## Data Flow

```mermaid

graph LR

User(Teacher)
Website[M3P2 Website]
Local[Local Website]
Git[Git]
GitLab[GitLab]

User --> |contributes via| Git
User --> |contributes via| GitLab
User --> |contributes via| Local

Local --> |triggers| Git
Git --> |triggers| GitLab
GitLab --> |updates| Website

```


<marquee>🐠</marquee>


## Enhanced Markdown

### Emoticons ✨

Just type or paste the unicode character, modern browsers will do the rest.

Here's a handy list: https://unicode.org/emoji/charts/full-emoji-list.html