Contents
- Quick start
- Fenix Markdown extensions
- Dynamic content
- Links
- Images
- Organising your documents
- Standard Markdown reference
- Tidbits
The EFB Documents app lets you create your own interactive documents, such as procedures and checklists. Documents are written in standard Markdown, plus a set of Fenix Markdown extensions that add collapsible sections, interactive checklists and aircraft-specific content. This page explains all of them.
Your documents must be located in the following folder: C:\ProgramData\Fenix\EFB\Documents
You can use the icons next to the My Documents folder to quickly open the documents folder or upload files directly (upload is only available via. a browser at http://localhost:8083).
Any documents in this folder, including subfolders, are shown in My Documents.
Supported file formats are Markdown (.md) and PDF (.pdf).
Quick start
Create a text file with the .md extension in the documents folder such as Checklists.md, paste the example below, and open it in the EFB from My Documents.
# My Checklists ::: collapse BEFORE START ::: normal-checklist PARKING BRAKE ..... SET BEACON ..... ON ::: :::
Changes to a document apply as soon as you save the file, so it is easy to work on and see how your text is affecting the document.
Fenix Markdown extensions
Most Fenix Markdown extensions are blocks that start with ::: followed by the block name, and end with a line containing only :::.
| Block | Syntax | Use it for |
|---|---|---|
| Collapsible section | ::: collapse Title |
Grouping content under a heading that expands and collapses |
| Normal checklist | ::: normal-checklist |
Normal procedures. Checked items turn green, with a COMPLETE button |
| eQRH checklist | ::: checklist |
Abnormal and emergency procedures in eQRH style |
| Conditional step | ::: if Condition |
eQRH-style "IF …" branches that expand to show their steps |
| Checklist table | ::: checklist-table |
Checklists split into columns, e.g. PF / PM |
A few rules apply to all of them:
- Block names are written in lowercase, e.g.
::: collapse. - Every block must be closed with its own
:::line. - Blocks can be placed inside each other. Indenting the inner block is optional, but makes the file much easier to read.
Collapsible sections
::: collapse creates a section with a title that you can tap to expand or collapse. It can contain any content: text, lists, images, or other Fenix blocks. Sections start collapsed.
::: collapse ASSOCIATED PROCEDURES Text contained within this section :::
Open by default: add open before the title to have the section expanded when the document is first opened.
::: collapse open COCKPIT PREPARATION This section starts expanded :::
Normal checklists
::: normal-checklist turns each line into an item you can tap to check off. Separate the item from its response with five dots ...... A line without dots is shown as a label only. Checked items turn green and shorten to ITEM: RESPONSE, and a COMPLETE button below the list checks all items at once.
::: normal-checklist SEAT BELTS ..... ON ADIRS ..... NAV BARO REF ..... _____ (BOTH) :::
eQRH checklists
::: checklist uses the same syntax but is styled like the aircraft's eQRH, for abnormal and emergency procedures. Checked items turn green and keep the dotted line, and there is no COMPLETE button.
::: checklist ADR 1(2)(3) P/B ..... OFF :::
Conditional steps (::: if)
::: if creates an eQRH-style conditional branch: a title such as IF ICING EXPECTED: that expands to show the steps that apply only when that condition is true. Put an eQRH checklist and any notes inside it. Once an item inside the branch is checked, the branch marker turns from blue to white so you can see which branch you have followed.
::: checklist
ADR 1(2)(3) P/B ..... OFF
:::
::: if IF ICING EXPECTED:
::: checklist
ADR 2(3) P/B ..... OFF
UNREL SPD PROC ..... APPLY
:::
_Be prepared to use the UNRELIABLE SPEED INDICATION procedure._
:::
- Branches can be nested. A top-level branch is marked with a circle, a nested branch with a square.
- Like collapsible sections, branches start collapsed. Use
::: if open IF …to have one expanded by default.
Checklist tables
::: checklist-table wraps a normal Markdown table (see Tables). Any cell that contains ..... becomes a checklist item; other cells are shown as plain text. Each column is checked independently, which suits PF / PM checklists.
# BEFORE TAKEOFF ::: checklist-table | PF | PM | |----|----| | FLIGHT CONTROLS ..... CHECKED | FLIGHT CONTROLS ..... CHECKED | | T.O RWY ..... CONFIRM | TCAS ..... TA/RA | :::
When a checklist table follows a level-1 heading (#), a single COMPLETE button is added to that heading. It checks every checklist up to the next level-1 heading.
Colours and alignment
Add a colour to a heading or paragraph by putting a colour name in curly brackets at the end of the line. To colour only part of a line, put the text in square brackets followed by the colour.
# ENG 1 FIRE {.red}
Land at the nearest suitable airport. {.amber}
Consider [LAND ASAP]{.amber} and notify ATC.
**[MAYDAY]{.red}** – combine with bold by wrapping it
| Colour | Names you can use |
|---|---|
| Amber |
{.amber} or {.caution}
|
| Red |
{.red} or {.warning}
|
| Green | {.green} |
| Cyan |
{.cyan} or {.info}
|
To centre a paragraph or image, add {.center} at the end of the line.
Example: the Checklists document
Fenix blocks are designed to be combined. The Checklists document included with the aircraft is built from collapsible sections, each holding a normal checklist:
::: collapse open COCKPIT PREPARATION
::: normal-checklist
GEAR PINS & COVERS ..... REMOVED
FUEL QUANTITY ..... _____ KG/LBS
SEAT BELTS ..... ON
ADIRS ..... NAV
BARO REF ..... _____ (BOTH)
:::
:::
::: collapse BEFORE START
::: normal-checklist
PARKING BRAKE ..... _____
T.O SPEEDS & THRUST ..... _____ (BOTH)
WINDOWS ..... CLOSED (BOTH)
BEACON ..... ON
ONE ENG TAXI OUT ..... CONSIDER
:::
:::
::: collapse AFTER START
::: normal-checklist
ANTI ICE ..... _____
ECAM STATUS ..... CHECKED
PITCH TRIM ..... _____ %
RUDDER TRIM ..... NEUTRAL
GND CREW CLRNCE ..... RECEIVED (BOTH)
:::
:::
The remaining phases (TAXI through SHUTDOWN) follow the same pattern.
Dynamic content
Instructions written between double curly brackets, {{ … }}, let a single document change to suit the loaded aircraft, and reuse content from other files.
Aircraft-specific content
A single document can show different content depending on the aircraft you are flying. Content between {{ if … }} and {{ end }} is only shown when the condition matches the loaded aircraft. Add an {{ else }} to show something different otherwise.
{{ if aircraft_type == "A321" }}
Shown when flying the A321
{{ else }}
Shown on every other aircraft
{{ end }}
{{ if engine_type == "Cfm56" }}
Engine start sequence for CFM engines…
{{ end }}
{{ if aircraft_type == "A319" || aircraft_type == "A320" }}
Shown for the A319 and A320 only
{{ end }}
| Variable | Values |
|---|---|
aircraft_type |
"A319", "A320", "A321"
|
engine_type |
"Cfm56", "IaeV2500"
|
- Use
||for "or" and&&for "and". Values must be in double quotes and match exactly, including capitals. - You can also print a value directly, e.g.
Aircraft: {{ aircraft_type }}. - If a variable name is misspelled, or a
{{ if }}is missing its{{ end }}, the document won't open and an error is shown instead. Check the spelling against the table above. - Because
{{and}}mark these instructions, avoid using double curly brackets anywhere else in your document.
Including other files
{{ include "…" }} inserts the contents of another Markdown file at that point, which is useful for sharing the same section between several documents. The path always starts from the My Documents folder, regardless of where the current document is.
For example, a header shared by all your checklists can live in its own file:
Shared/Checklist Header.md
# A320 Checklists {.cyan}
_Company SOP, revision 3_
Each checklist document then includes it at the top:
Checklists.md
{{ include "Shared/Checklist Header.md" }}
::: collapse BEFORE START
::: normal-checklist
PARKING BRAKE ..... SET
BEACON ..... ON
:::
:::
When Checklists.md is opened, the header appears above the checklist, as if it had been written there:
Updating Checklist Header.md updates every document that includes it.
Images inside an included file are found relative to that included file, so they keep working wherever it's included.
Links
Links can point to another part of the same document, or to another document in My Documents. Links to websites are not supported and are shown as plain text.
Linking within the same document
Link to a heading using # followed by the heading's ID:
## Before Start (Checklist) See [Before Start](#before-start-checklist).
Every heading gets an ID automatically: the heading text in lowercase, with spaces replaced by hyphens and most punctuation removed. For example, Before Start (Checklist) becomes before-start-checklist. To choose the ID yourself, add it at the end of the heading:
## Before Start (Checklist) {#before-start}
See [Before Start](#before-start).
If the target heading is inside a collapsed section, the section opens automatically when the link is followed.
Linking to other documents
Link to another .md or .pdf file by its path relative to the current document. Add #heading-id to jump straight to a heading in a Markdown document.
[Engine start](Procedures.md) [Engine start](Procedures.md#engine-start) [Approach briefing](Briefings/Approach.md) [Back to index](../Index.md) [QRH](Manuals/QRH.pdf)
If a file or folder name contains spaces, replace each space with %20, or wrap the whole path in angle brackets. A path with plain spaces is not recognised as a link.
[Engine start](Normal%20Procedures.md#engine-start) [Engine start](<Normal Procedures.md#engine-start>)
Images
Place the image file in the My Documents folder (or a subfolder of it) and refer to it by its path relative to the document. Common formats such as PNG, JPG, GIF and SVG are supported. Images from the internet are not displayed.

 {.center}
- The text in square brackets describes the image and is shown if it can't be loaded.
- Add
{.center}to centre the image. The image must be on its own line, separated from other text by blank lines. - File names with spaces follow the same rule as links: use
%20or angle brackets.
A typical layout keeps images in a subfolder next to the documents that use them:
C:\ProgramData\Fenix\EFB\Documents\
Procedures.md
images\
aircraft.png
Organising your documents
Ordering
Documents and folders are listed alphabetically. To put some at the top, create a file named .order in that folder and list their names one per line, in the order you want. The file extension is optional, and lines starting with # are ignored. Anything not listed follows in alphabetical order.
Checklists Normal Procedures Briefings
Hidden notes
Anything between <!-- and --> is not shown in the app. Use it for notes to yourself or to temporarily hide part of a document.
<!-- TODO: add the NEO release date -->
Standard Markdown reference
The Documents app supports the standard Markdown below. Headings also build the On this page contents list in the right sidebar.
| Element | Syntax | Notes |
|---|---|---|
| Headings |
# Heading 1 to ###### Heading 6
|
Shown in On this page |
| Paragraph | Leave a blank line between paragraphs | |
| Line break | End a line with two spaces, or use <br>
|
<br> also works inside table cells |
| Bold | **bold** |
|
| Italic | _italic_ |
|
| Bold italic | **_bold italic_** |
|
| Strikethrough | ~~text~~ |
|
| Highlight | ==text== |
|
| Blockquote | > text |
Nest with >>. Can contain lists and formatting. |
| Bulleted list | - item |
Indent 4 spaces to nest |
| Numbered list | 1. item |
Indent 4 spaces to nest. Indent a paragraph to keep it in the same item. |
| Inline code | `code` |
|
| Code block | Lines between ``` fences |
Shown as-is in a fixed-width font |
| Table |
| a | b | then |---|---|
|
See Tables |
| Link | [text](Other.md#heading) |
See Links |
| Image |  |
See Images |
The example below uses most of these elements:
## APU Fire
> Perform from memory.
**APU FIRE pb** – _push_, then:
1. Discharge the agent
2. Switch the APU MASTER SW off
- _Check the APU FIRE light extinguishes._
~~Old item~~ ==Updated item==
```
APU MASTER SW ..... OFF
APU FIRE pb ..... PUSH
```
Tables
Separate columns with | and put a line of dashes under the header row. Use <br> for a line break inside a cell.
| Phase | Action | |-------|--------| | Before start | Brief the departure<br>Set the FCU | | After start | Check ECAM status |
Tidbits
A few bits of information that you should know, this section will be updated based on user feedback and common issues that may be encountered.
- When using a markdown viewer or editor, the Fenix Markdown extensions won't render correctly. We have custom code that enables these to render how we want them to in the EFB, so normal viewers won't be able to see them. For this, we recommend live-editing the document and visualising your changes in the EFB directly.
- Not all Markdown syntax is supported. Most of the "basic" syntax is, and only a limited subset of "extended" is such as tables.