Markdown Reference
Evidence supports most markdown syntax. Below are some of the most common markdown features. For more details, check out Markdown Guide.
Text Paragraphs
This is a paragraph. It can be as long as you want.
Add line breaks by leaving a blank line between paragraphs.
Text Styles
**Bold** text is wrapped in double asterisks
_Italic_ text is wrapped in single asterisks
~~Strikethrough~~ text is wrapped in double tildes
`Inline code` is wrapped in backticks
Lists
- This is a unordered list
- It uses dashes
- To indicate items
1. This is an ordered list
1. It uses numbers to indicate order
1. The numbers you type don't matter, they will be automatically numbered
Headers
# H1 Header
## H2 Header
### H3 Header
#### H4 Header
##### H5 Header
###### H6 Header
Links
[External link](https://google.com)
[Internal link](another/page/)
Images
![An online image](https://i.imgur.com/xyI27iZ.gif)
![An image stored in the project's static folder](/my-image.png)
Storing Images and Static Files
Evidence looks for images in the /static
folder in the root of your project. Create it if it doesn't exist.
Code Fences
In Evidence, most code fences execute SQL queries and display the results in a table.
This code fence will execute a SQL query and display the results:
```sql orders
SELECT *
FROM needful_things.orders
WHERE category = 'Sinister Toys'
```
The exception is if you use one of the reserved language names, which will render the code in a code block.
```python
names = ["Alice", "Bob", "Charlie"]
for name in names:
print("Hello, " + name)
```
```r
names <- c("Alice", "Bob", "Charlie")
for (name in names) {
print(paste("Hello, ", name))
}
```
Tables
| Column 1 | Column 2 | Column 3 |
| -------- | -------- | -------- |
| Row 1 | Row 1 | Row 1 |
| Row 2 | Row 2 | Row 2 |
To display data in a table, use a Data Table instead.
Blockquotes
> This is a blockquote
>
> It can span multiple lines
>
> > And can be nested
This is a blockquote
It can span multiple lines
And can be nested
Horizontal Rule
Below is a horizontal rule
---
Below is a horizontal rule
Frontmatter
Frontmatter does not support Javascript statements at this time; and things may behave unexpectedly if wrapped in {}
To attach metadata (e.g. a title) to your page, you can use Frontmatter. Note that frontmatter must appear as the first thing in your page; no content can come before it, or it won't be loaded properly.
Frontmatter is formatted like this:
---
title: Evidence Docs
---
You can put whatever data you would like here, and it uses a yaml syntax, but some properties are special:
- Options:
- positive integer
Specify a query that returns a column named breadcrumb. The query can use ${params.my_param}
to reference the URL parameters for the page.
E.g.
breadcrumb: "select customer_name as breadcrumb from customers_table where customer_id = ${params.customer_id}"
Anything outside of these values won't do anything on their own, but they will be accessible as variables on the page.
Partials
Partials do not support live reload, or hot module replacement. You will need to refresh the page when you change a partial.
./pages/index.md
{@partial "my-first-partial.md"}
And some content specific to this page.
./partials/my-first-partial.md
# This is my first partial
This is some content in the partial.
Evidence supports re-using chunks of Evidence markdown using Partials.
Partials are placed in the ./partials
folder, and can be referenced in your markdown with {@partial "path/to/partial.md"}
(do not include the /partial
folder in the path).