Technical writing
This blog post will give some examples of the types of technical content that can be rendered in RMD
 Image credit: John Moeses Bauan
Image credit: John Moeses BauanExamples
Code
Markdown extension for highlighting code syntax. This feature can easily be enabled by toggling the highlight option in config/_default/params.toml file.
```python
import pandas as pd
import numpy as np
data = pd.read_csv("data.csv")
data.head()
```
renders as
import pandas as pd
import numpy as np
data = pd.read_csv("data.csv")
data.head()
Charts
This site supports the popular Plotly chart format.
Save Plotly JSON in page folder, for example chart.json, and add the {{< chart data="chart" >}} shortcode.
Math
Markdown extension for $\LaTeX$ math. This feature can easily be enabled by toggling the math option in config/_default/params.toml file.
To render inline or block math, wrap your LaTeX math with $...$ or $$...$$, respectively.
Example inline math $\nabla F(\mathbf{x}_{n})$ renders as $\nabla F(\mathbf{x}_{n})$.
Example multi-line math using the \\\\ math linebreak:
Diagrams
Markdown extension for diagrams. This feature can easily be enabled by toggling the diagram option in config/_default/params.toml file.
An example flowchart:
```mermaid
graph TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```
renders as
graph TD
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
An example sequence diagram:
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
renders as
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
    John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
An example Gantt diagram:
```mermaid
gantt
section Section
Completed :done,    des1, 2014-01-06,2014-01-08
Active        :active,  des2, 2014-01-07, 3d
Parallel 1   :         des3, after des1, 1d
Parallel 2   :         des4, after des1, 1d
Parallel 3   :         des5, after des3, 1d
Parallel 4   :         des6, after des4, 1d
```
renders as
gantt
section Section
Completed :done,    des1, 2014-01-06,2014-01-08
Active        :active,  des2, 2014-01-07, 3d
Parallel 1   :         des3, after des1, 1d
Parallel 2   :         des4, after des1, 1d
Parallel 3   :         des5, after des3, 1d
Parallel 4   :         des6, after des4, 1d
An example class diagram:
```mermaid
classDiagram
Class01 <|-- AveryLongClass : Cool
<<interface>> Class01
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}
```
renders as
classDiagram
Class01 <|-- AveryLongClass : Cool
<<interface>> Class01
Class09 --> C2 : Where am i?
Class09 --* C3
Class09 --|> Class07
Class07 : equals()
Class07 : Object[] elementData
Class01 : size()
Class01 : int chimp
Class01 : int gorilla
class Class10 {
  <<service>>
  int id
  size()
}
An example state diagram:
```mermaid
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
```
renders as
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
Todo lists
- [x] Write math example
- [x] Write diagram example
- [ ] Do something else
renders as
- Write math example
- Write diagram example
- Do something else
Tables
Represent your data in tables:
| First Header  | Second Header |
| ------------- | ------------- |
| Content Cell  | Content Cell  |
| Content Cell  | Content Cell  |
renders as
| First Header | Second Header | 
|---|---|
| Content Cell | Content Cell | 
| Content Cell | Content Cell | 
Callouts
Markdown extension shortcode for callouts, also referred to as asides, hints, or alerts. By wrapping a paragraph in {{% callout note %}} ... {{% /callout %}}, it will render as an aside.
{{% callout note %}}
A Markdown aside is useful for displaying notices, hints, or definitions to your readers.
{{% /callout %}}
renders as
Spoilers
Add a spoiler to a page to reveal text, such as an answer to a question, after a button is clicked.
{{< spoiler text="Click to view the spoiler" >}}
You found me!
{{< /spoiler >}}
renders as
Click to view the spoiler
Hey, Cool ya!
Icons
Academic enables you to use a wide range of icons from Font Awesome and Academicons in addition to emojis.
Here are some examples using the icon shortcode to render icons:
{{< icon name="terminal" pack="fas" >}} Terminal  
{{< icon name="python" pack="fab" >}} Python  
{{< icon name="r-project" pack="fab" >}} R
renders as
Terminal
Python
R