# 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 ![A cool seagull.](images/seagull.png) ``` 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 ![A cool seagull.](images/seagull.png){ width=50% height=50% } ``` Also, to reference an image, use LaTeX labels: ```md Please, admire the gloriousnes of Figure \ref{seagull_image}. ![A cool seagull.\label{seagull_image}](images/seagull.png) ``` #### 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)