# Getstarted
### Installing
use the [*npm i insertion*](https://www.npmjs.com/package/insertion) command to download the library
you need:
- npm > v6.x
- nodeJs > v12.x
### Folder structure
Here's a folder structure for a Simple Project:
```
my-project/ # Root directory.
|- public/
|- src/
|- components/
|- main.js
|- .babelrc
|- pakage.json
```
### Set Up your workspace
Edit the *.babelrc* file to set configuration data:
```javascript
{
"presets": ["react"]
}
```
compiler using
```bash
babel yourSourceFolder/ -d yourTargetFolder
```
### Creating main.js
Creating a main.js for a project from scratch:
```javascript
/* @jsx insertionJsx */
import { insertionJsx, Fragment } from "insertion";
import { createElement, mount, render } from "insertion";
import YourComponent from './components/myCoponent.js';
function Main() {
return (
);
}
let main = createElement();
mount(render(main));
```
***we recommend using the template for projects***
```md
# Introduction
This is the first paragraph of the introduction chapter.
## First
This is the first subsection.
## Second
This is the second subsection.
```
Each title (*#*) will represent a chapter, while each subtitle (*##*) will represent a chapter's section. You can use as many levels of sections as markdown supports.
#### Links between chapters
Anchor links can be used to link chapters within the document:
```md
// src/01-introduction.md
# Introduction
For more information, check the [Usage] chapter.
// src/02-installation.md
# Usage
...
```
If you want to rename the reference, use this syntax:
```md
For more information, check [this](#usage) chapter.
```
Anchor names should be downcased, and spaces, colons, semicolons... should be replaced with hyphens. Instead of `Chapter title: A new era`, you have: `#chapter-title-a-new-era`.
#### Links between sections
It's the same as anchor links:
```md
# Introduction
## First
For more information, check the [Second] section.
## Second
...
```
Or, with al alternative name:
```md
For more information, check [this](#second) section.
```
### Inserting objects
Text. That's cool. What about images and tables?
#### Insert an image
Use Markdown syntax to insert an image with a caption:
```md

```
Pandoc will automatically convert the image into a figure (image + caption).
If you want to resize the image, you may use this syntax, available in Pandoc 1.16:
```md
{ width=50% height=50% }
```
Also, to reference an image, use LaTeX labels:
```md
Please, admire the gloriousnes of Figure \ref{seagull_image}.

```
#### Insert a table
Use markdown table, and use the `Table: ` syntax to add a caption:
```md
| Index | Name |
| ----- | ---- |
| 0 | AAA |
| 1 | BBB |
| ... | ... |
Table: This is an example table.
```
If you want to reference a table, use LaTeX labels:
```md
Please, check Table /ref{example_table}.
| Index | Name |
| ----- | ---- |
| 0 | AAA |
| 1 | BBB |
| ... | ... |
Table: This is an example table.\label{example_table}
```
#### Insert an equation
Wrap a LaTeX math equation between `$` delimiters for inline (tiny) formulas:
```md
This, $\mu = \sum_{i=0}^{N} \frac{x_i}{N}$, the mean equation, ...
```
Pandoc will transform them automatically into images using online services.
If you want to center the equation instead of inlining it, use double `$$` delimiters:
```md
$$\mu = \sum_{i=0}^{N} \frac{x_i}{N}$$
```
[Here](https://www.codecogs.com/latex/eqneditor.php)'s an online equation editor.
### Output
This template uses *Makefile* to automatize the building process. Instead of using the *pandoc cli util*, we're going to use some *make* commands.
#### Export to PDF
Use this command:
```sh
make pdf
```
The generated file will be placed in *build/pdf*.
Please, note that PDF file generation requires some extra dependencies (~ 800 MB):
```sh
sudo apt-get install texlive-latex-base texlive-fonts-recommended texlive-latex-extra
```
#### Export to EPUB
Use this command:
```sh
make epub
```
The generated file will be placed in *build/epub*.
#### Export to HTML
Use this command:
```sh
make html
```
The generated file(s) will be placed in *build/html*.
## References
- [Pandoc](http://pandoc.org/)
- [Pandoc Manual](http://pandoc.org/MANUAL.html)
- [Wikipedia: Markdown](http://wikipedia.org/wiki/Markdown)