This document demonstrates various components available in Quarto.
Heading 1 is bolded and used as the title of the page.
# Heading 1
Heading 2 is thined and used to introduce a new section or topic within a page.
## Heading 2
Heading 3 is bolded and used to introduce a new subsection or subtopic within a page.
### Heading 3
Headings 4, 5 and 6 are inceasing smaller and can be used as need after heading 3.
#### Heading 4
##### Heading 5
###### Heading 6
All heading are enforced as sentence case.
Bold Text
Italic Text
Strikethrough
Inline Code
superscript2 / subscript2
**Bold Text**
*Italic Text*
~~Strikethrough~~
`Inline Code`
superscript^2^ / subscript~2~
1. First item
2. Second item
3. Third item
- Item 1
- Item 2
- Item 3
* unordered list
+ sub-item 1
+ sub-item 2
- sub-sub-item 1
item 2
Continued (indent 4 spaces)
* item 2
Continued (indent 4 spaces)
continues after
(@) A list which numbering
continues after
(@) an interruption
- [ ] Task 1
- [x] Task 2
>
BlockquoteThis is a blockquote.
It can span multiple lines.
> This is a blockquote.
> It can span multiple lines.
Line Block
Spaces and newlines
are preserved
| Line Block
| Spaces and newlines
| are preserved
Here is a footnote reference,[^1] and another.[^2]
This paragraph won’t be part of the note, because it isn’t indented.
Here is an inline note.[^3]
Here is a footnote reference,[^1] and another.[^longnote]
[^1]: Here is the footnote.
[^longnote]: Here's one with multiple blocks.
Subsequent paragraphs are indented to show that they
belong to the previous footnote.
{ some.code }
The whole paragraph can be indented, or just the first
line. In this way, multi-paragraph footnotes work like
multi-paragraph list items.
This paragraph won't be part of the note, because it
isn't indented.
Here is an inline note.^[Inlines notes are easier to write,
since you don't have to pick an identifier and move down to
type the note.]
Header 1 | Header 2 | Header 3 |
---|---|---|
Row 1 | Data 1 | Data 2 |
Row 2 | Data 3 | Data 4 |
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Row 1 | Data 1 | Data 2 |
| Row 2 | Data 3 | Data 4 |
Default | Left | Right | Center |
---|---|---|---|
12 | 12 | 12 | 12 |
123 | 123 | 123 | 123 |
1 | 1 | 1 | 1 |
| Default | Left | Right | Center |
|---------|:-----|------:|:------:|
| 12 | 12 | 12 | 12 |
| 123 | 123 | 123 | 123 |
| 1 | 1 | 1 | 1 |
fruit | price |
---|---|
apple | 2.05 |
pear | 1.37 |
orange | 3.09 |
Demonstration of pipe table syntax
fruit| price
-----|-----:
apple|2.05
pear|1.37
orange|3.09
: Demonstration of pipe table syntax
fruit | price |
---|---|
apple | 2.05 |
pear | 1.37 |
orange | 3.09 |
Fruit prices
| fruit | price |
|--------|--------|
| apple | 2.05 |
| pear | 1.37 |
| orange | 3.09 |
: Fruit prices {.striped .hover}
fruit | price |
---|---|
apple | 2.05 |
pear | 1.37 |
orange | 3.09 |
Fruit prices
| fruit | price |
|--------|--------|
| apple | 2.05 |
| pear | 1.37 |
| orange | 3.09 |
: Fruit prices {tbl-colwidths="[75,25]"}
Fruit | Price | Advantages |
---|---|---|
Bananas | $1.34 |
|
Oranges | $2.10 |
|
+-----------+-----------+--------------------+
| Fruit | Price | Advantages |
+===========+===========+====================+
| Bananas | $1.34 | - built-in wrapper |
| | | - bright color |
+-----------+-----------+--------------------+
| Oranges | $2.10 | - cures scurvy |
| | | - tasty |
+-----------+-----------+--------------------+
: Sample grid table.
Col1 | Col2 | Col3 |
---|---|---|
A | B | C |
E | F | G |
A | G | G |
Table 1: My Caption
See Table 1.
| Col1 | Col2 | Col3 |
|------|------|------|
| A | B | C |
| E | F | G |
| A | G | G |
: My Caption {#tbl-letters}
See @tbl-letters.
|
|
Table 2: Main Caption
See Table 2 for details, especially Table 2 (b).
::: {#tbl-panel layout-ncol=2}
| Col1 | Col2 | Col3 |
|------|------|------|
| A | B | C |
| E | F | G |
| A | G | G |
: First Table {#tbl-first}
| Col1 | Col2 | Col3 |
|------|------|------|
| A | B | C |
| E | F | G |
| A | G | G |
: Second Table {#tbl-second}
Main Caption
:::
See @tbl-panel for details, especially @tbl-second.
[GRASS Website](https://grass.osgeo.org)
{width=25%}
{width=50%}
{width=75%}
{width=100%}
[{width=20%}](https://grass.osgeo.org)
[{width=20%}](https://grass.osgeo.org)
{width=20% fig-align="left"}
{width=20% fig-align="right"}
{width=20% fig-align="center" .lightbox}
<!-- Uses placeholder shortcode -->
data:image/svg+xml;base64,PHN2ZyB3aWR0aCA9ICI0MDAiIGhlaWdodCA9ICIyMDAiIHhtbG5zID0gImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94ID0gIjAgMCA0MDAgMjAwIj48cmVjdCB3aWR0aCA9ICI0MDAiIGhlaWdodCA9ICIyMDAiIGZpbGwgPSAiI2RkZCIgLz48dGV4dCB4ID0gIjUwJSIgeSA9ICI1MCUiIGZvbnQtZmFtaWx5ID0gInNhbnMtc2VyaWYiIGZvbnQtc2l6ZSA9ICIyMCIgZmlsbCA9ICIjMDAwIiB0ZXh0LWFuY2hvciA9ICJtaWRkbGUiPjQwMCB4IDIwMDwvdGV4dD48L3N2Zz4=
Note that there are five types of callouts, including:
note
, tip
, warning
, caution
, and important
.
Note
This is a note callout.
::: {.callout-note}
This is a note callout.
:::
Tip
This is a tip callout.
::: {.callout-tip}
This is a tip callout.
:::
Warning
This is a warning callout.
::: {.callout-warning}
This is a warning callout.
:::
Important
This is an important callout.
::: {.callout-important}
This is an important callout.
:::
Caution
This is a caution callout.
::: {.callout-caution}
This is a caution callout.
:::
Expand To Learn About Collapse
This is a caution callout.
::: {.callout-caution collapse="true"}
## Expand To Learn About Collapse
This is a caution callout.
:::
Inline math: $E = mc^2$
Block math:
$$
\int_a^b f(x) dx = F(b) - F(a)
$$
Primary Secondary Success Danger Warning Info Light Dark Link
[Primary](#){.btn .btn-primary .btn role="button"}
[Secondary](#){.btn .btn-secondary .btn role="button"}
[Success](#){.btn .btn-success .btn role="button"}
[Danger](#){.btn .btn-danger .btn role="button"}
[Warning](#){.btn .btn-warning .btn role="button"}
[Info](#){.btn .btn-info .btn role="button"}
[Light](#){.btn .btn-light .btn role="button"}
[Dark](#){.btn .btn-dark .btn role="button"}
[Link](#){.btn .btn-link .btn role="button"}
Primary Outline Secondary Outline Success Outline Danger Outline Warning Outline Info Outline Light Outline Dark Outline Link Outline
[Primary Outline](#){.btn .btn-outline-primary .btn role="button"}
[Secondary Outline](#){.btn .btn-outline-secondary .btn role="button"}
[Success Outline](#){.btn .btn-outline-success .btn role="button"}
[Danger Outline](#){.btn .btn-outline-danger .btn role="button"}
[Warning Outline](#){.btn .btn-outline-warning .btn role="button"}
[Info Outline](#){.btn .btn-outline-info .btn role="button"}
[Light Outline](#){.btn .btn-outline-light .btn role="button"}
[Dark Outline](#){.btn .btn-outline-dark .btn role="button"}
[Link Outline](#){.btn .btn-outline-link .btn role="button"}
We have custom support buttons (More Info) that link to GRASS’s Open Collective page
This is a success alert.
::: {.alert .alert-success}
This is a success alert.
:::
This is a danger alert.
::: {.alert .alert-danger}
This is a danger alert.
:::
code
# Comment
import sys
import subprocess
sys.path.append(
subprocess.check_output(["grass", "--config", "python_path"], text=True).strip()
)
import grass.script as gs
import grass.jupyter as gj
grass "~/grassdata/" --exec script.py
library(rgrass)
session <- initGRASS(gisBase = "/usr/lib/grass84", # where grass binaries live, `grass --config path`
gisDbase = "/home/user/grassdata", # path to grass database or folder where your project lives
location = "nc_basic_spm_grass7", # existing project name
mapset = "PERMANENT" # mapset name
)
execGRASS(
"r.slope.aspect",
parameters = list(
elevation = "elevation",
slope = "slope",
aspect="aspect"
)
)
gs.run_command(
"r.slope.aspect",
elevation = "elevation",
slope = "slope",
aspect="aspect"
)
::: {.panel-tabset}
Your panel content here
:::
For more information about tabsets refer to the Quarto Docs here
\```{=html}
<iframe src="https://grass.osgeo.org/" width="500" height="400"></iframe>
```\
flowchart LR
A[Hard edge] --> B(Round edge)
B --> C{Decision}
C --> D[Result one]
C --> E[Result two]
flowchart LR A[Hard edge] --> B(Round edge) B --> C{Decision} C --> D[Result one] C --> E[Result two]
sequenceDiagram
participant Alice
participant Bob
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts <br/>prevail!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
sequenceDiagram participant Alice participant Bob Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts <br/>prevail! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good!
graph G {
layout=neato
run -- intr;
intr -- runbl;
runbl -- run;
run -- kernel;
kernel -- zombie;
kernel -- sleep;
kernel -- runmem;
sleep -- swap;
swap -- runswap;
runswap -- new;
runswap -- runmem;
new -- runmem;
sleep -- runmem;
}
Use the video shortcode
https://www.youtube.com/embed/zboP3Z7VBuU
page 1
page 2
This content can be styled with a border
::: {.border}
This content can be styled with a border
:::
This is some text
[This is *some text*]{.class key="val"}
This is a custom span.
<span class="custom-span">This is a custom span.</span>
smallcaps
[smallcaps]{.smallcaps}
underlined
[underlined]{.underline}
highlighted
[highlighted]{.mark}
The order of attribute for divs and spans follow rules defined in the pandoc documentation.
[Good]{#id .class key="val"}
[This is *some text*]{.class key="val"}
Lipsum shortcode docs found here.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sagittis posuere ligula sit amet lacinia. Duis dignissim pellentesque magna, rhoncus congue sapien finibus mollis. Ut eu sem laoreet, vehicula ipsum in, convallis erat. Vestibulum magna sem, blandit pulvinar augue sit amet, auctor malesuada sapien. Nullam faucibus leo eget eros hendrerit, non laoreet ipsum lacinia. Curabitur cursus diam elit, non tempus ante volutpat a. Quisque hendrerit blandit purus non fringilla. Integer sit amet elit viverra ante dapibus semper. Vestibulum viverra rutrum enim, at luctus enim posuere eu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Praesent ornare dolor turpis, sed tincidunt nisl pretium eget. Curabitur sed iaculis ex, vitae tristique sapien. Quisque nec ex dolor. Quisque ut nisl a libero egestas molestie. Nulla vel porta nulla. Phasellus id pretium arcu. Etiam sed mi pellentesque nibh scelerisque elementum sed at urna. Ut congue molestie nibh, sit amet pretium ligula consectetur eu. Integer consectetur augue justo, at placerat erat posuere at. Ut elementum urna lectus, vitae bibendum neque pulvinar quis. Suspendisse vulputate cursus eros id maximus. Duis pulvinar facilisis massa, et condimentum est viverra congue. Curabitur ornare convallis nisl. Morbi dictum scelerisque turpis quis pellentesque. Etiam lectus risus, luctus lobortis risus ut, rutrum vulputate justo. Nulla facilisi.
Proin sodales neque erat, varius cursus diam tincidunt sit amet. Etiam scelerisque fringilla nisl eu venenatis. Donec sem ipsum, scelerisque ac venenatis quis, hendrerit vel mauris. Praesent semper erat sit amet purus condimentum, sit amet auctor mi feugiat. In hac habitasse platea dictumst. Nunc ac mauris in massa feugiat bibendum id in dui. Praesent accumsan urna at lacinia aliquet. Proin ultricies eu est quis pellentesque. In vel lorem at nisl rhoncus cursus eu quis mi. In eu rutrum ante, quis placerat justo. Etiam euismod nibh nibh, sed elementum nunc imperdiet in. Praesent gravida nunc vel odio lacinia, at tempus nisl placerat. Aenean id ipsum sed est sagittis hendrerit non in tortor.