Commit eae8169c authored by David Carayon's avatar David Carayon
Browse files

new gitbook format

parent f1f89082
# bookdown_inrae <- function(dir = "MyProject"){
#
# if (!dir.exists(dir)) {dir.create(dir)}
#
# templates <- system.file("Bookdown_Inrae", package = "InraeThemes")
#
# file.copy(templates, dir, recursive = TRUE)
#
# setwd(file.path(dir,"Bookdown_Inrae"))
#
# cli::cli_alert_warning(paste0("Working directory changed to '", file.path(dir,"Bookdown_Inrae"),"'"))
#
# cli::cli_alert_info(paste0("Now opening '", "index.Rmd","'"))
# rstudioapi::navigateToFile("index.Rmd")
#
# }
#' Template Bookdown respectant la charte graphique INRAE
#'
#' @param dir Le dossier dans lequel copier le projet bookdown
#'
#' @return
#' @export
bookdown_inrae <- function(dir = "MyProject"){
bookdown_inrae <- function(path, init = TRUE){
if (!dir.exists(dir)) {dir.create(dir)}
templates <- system.file("Bookdown_Inrae", package = "InraeThemes")
# If init
if(init) {gert::git_init(path)}
file.copy(templates, dir, recursive = TRUE)
# ensure directory exists
dir.create(path, recursive = TRUE, showWarnings = FALSE)
setwd(file.path(dir,"Bookdown_Inrae"))
# copy 'resources' folder to path
resources <- system.file(file.path("rstudio", "templates", "project", "resources"), package = "InraeThemes")
cli::cli_alert_warning(paste0("Working directory changed to '", file.path(dir,"Bookdown_Inrae"),"'"))
files <- list.files(resources, recursive = TRUE, include.dirs = FALSE)
cli::cli_alert_info(paste0("Now opening '", "index.Rmd","'"))
rstudioapi::navigateToFile("index.Rmd")
source <- file.path(resources, files)
target <- file.path(path, files)
file.copy(source, target)
}
......@@ -136,27 +136,23 @@ Ce template est accessible via `File > New File > Rmarkdown > From Template`.
Le template .Rmd est livré avec une feuille de style .css correspondant aux couleurs INRAE ainsi que différents éléments graphiques (logo, première/dernière page, etc.). Un template au format .svg est également livré afin d'éditer les premières/dernières pages, pour modifier par exemple l'image de fond ou pour écrire directement les informations du rapport (ex: titre trop long, ajout d'un sous-titre, de logos, etc.).
> NB : les styles CSS sont largement inspirés des travaux de T. Vroylandt [pour les Scouts et Guides de France](https://github.com/tvroylandt/sgdf_pagedown).
L'utilisateur pourra choisir d'utiliser `chrome_print` dans le YAML au moment de la compilation pour obtenir un fichier PDF en plus de la sortie HTML.
Voici un exemple de rapport :
![](man/figures/cap_rapport.png)
### Rapport fragmenté (Bookdown)
### Rapport fragmenté (Gitbook / Bookdown)
Ce second template permet de produire un rapport HTML et/ou PDF (au choix) en utilisant le package {bookdown}. Ce format est dédié à la rédaction document longs et complexes (i.e livres, thèses, etc.) car il permet une gestion modulaire des chapitres en fragmentant le rapport en plusieurs sous-documents.
{bookdown} est un package principalement dédié, tel que son nom l'indique, à la rédaction de livres. Contrairement au format {pagedown}, la version PDF nécessitera ici une installation LaTeX. Pour plus d'informations : [Visitez le site de {bookdown}](https://bookdown.org/).
Comme il s'agit d'un format particulier, constitué d'un grand nombre de fichiers, celui-ci ne peut être proposé via un addin Rstudio. Mais son utilisation reste simple, puisqu'il suffit juste de lancer la commande :
```{r eval = FALSE}
bookdown_inrae("Mon_Rapport")
```
Pour que le dossier avec l'ensemble des fichiers soit créé à l'endroit de votre choix. Le répertoire de travail est automatiquement modifié et le fichier "index.Rmd" automatiquement ouvert.
Comme il s'agit d'un format particulier, constitué d'un grand nombre de fichiers, celui-ci ne peut être proposé via un template de document, mais plutôt via un template de projet Rstudio via `Projects > New Project > New Directory > Gitbook INRAE`. L'utilisateur peut ici définir la localisation de son projet de rapport et choisir d'initialiser ou non un dépôt git.
> Note : Pour une manipulation plus simple du document via des fonctionnalités Rstudio (notamment le widget "Build Book" qui s'avère très pratique). Nous vous recommandons de créer un projet bookdown vierge via les templates de projet Rstudio, puis de copier/remplacer les fichiers `bloc_etat.png`, `index.Rmd` et `styles.css` créés par cette fonction, que vous pouvez aller directement récupérer dans les fichiers internes du package à l'adresse renvoyée par `system.file("Bookdown_Inrae", package = "InraeThemes")`.
Pour la compilation globale du document, nous vous suggérons le widget rstudio `Build > Build book` dans le panneau contenant notamment les objets R.
Voici un exemple de rapport :
......@@ -260,7 +256,7 @@ Voici un exemple de rapport :
# Création d'un répertoire d'analyse
Nous proposons dans ce package un template de projet pour l'analyse de données, librement inspiré du package [{ProjectTemplate}](https://cran.r-project.org/web/packages/ProjectTemplate/) Ce template est directement accessible dans Rstudio via `Projects > New Project > New Directory > New data analysis`. L'utilisateur peut ici définir la localisation de son projet et choisir d'initialiser ou non un repository git.
Nous proposons dans ce package un template de projet pour l'analyse de données, librement inspiré du package [{ProjectTemplate}](https://cran.r-project.org/web/packages/ProjectTemplate/) Ce template est directement accessible dans Rstudio via `Projects > New Project > New Directory > New data analysis`. L'utilisateur peut ici définir la localisation de son projet et choisir d'initialiser ou non un dépôt git.
> Note : Cette architecture n'est qu'un exemple de bonne pratiques parmis bien d'autres. Libre à vous de modifier ce template selon vos habitudes. Vos suggestions d'améliorations sont évidemment les bienvenues [ici](https://github.com/davidcarayon/InraeThemes/issues).
......
......@@ -160,6 +160,10 @@ livré afin d’éditer les premières/dernières pages, pour modifier par
exemple l’image de fond ou pour écrire directement les informations du
rapport (ex: titre trop long, ajout d’un sous-titre, de logos, etc.).
> NB : les styles CSS sont largement inspirés des travaux de T.
> Vroylandt [pour les Scouts et Guides de
> France](https://github.com/tvroylandt/sgdf_pagedown).
L’utilisateur pourra choisir d’utiliser `chrome_print` dans le YAML au
moment de la compilation pour obtenir un fichier PDF en plus de la
sortie HTML.
......@@ -168,7 +172,7 @@ Voici un exemple de rapport :
![](man/figures/cap_rapport.png)
### Rapport fragmenté (Bookdown)
### Rapport fragmenté (Gitbook / Bookdown)
Ce second template permet de produire un rapport HTML et/ou PDF (au
choix) en utilisant le package {bookdown}. Ce format est dédié à la
......@@ -183,25 +187,15 @@ plus d’informations : [Visitez le site de
{bookdown}](https://bookdown.org/).
Comme il s’agit d’un format particulier, constitué d’un grand nombre de
fichiers, celui-ci ne peut être proposé via un addin Rstudio. Mais son
utilisation reste simple, puisqu’il suffit juste de lancer la commande :
``` r
bookdown_inrae("Mon_Rapport")
```
Pour que le dossier avec l’ensemble des fichiers soit créé à l’endroit
de votre choix. Le répertoire de travail est automatiquement modifié et
le fichier “index.Rmd” automatiquement ouvert.
fichiers, celui-ci ne peut être proposé via un template de document,
mais plutôt via un template de projet Rstudio via `Projects > New
Project > New Directory > Gitbook INRAE`. L’utilisateur peut ici définir
la localisation de son projet de rapport et choisir d’initialiser ou non
un dépôt git.
> Note : Pour une manipulation plus simple du document via des
> fonctionnalités Rstudio (notamment le widget “Build Book” qui s’avère
> très pratique). Nous vous recommandons de créer un projet bookdown
> vierge via les templates de projet Rstudio, puis de copier/remplacer
> les fichiers `bloc_etat.png`, `index.Rmd` et `styles.css` créés par
> cette fonction, que vous pouvez aller directement récupérer dans les
> fichiers internes du package à l’adresse renvoyée par
> `system.file("Bookdown_Inrae", package = "InraeThemes")`.
Pour la compilation globale du document, nous vous suggérons le widget
rstudio `Build > Build book` dans le panneau contenant notamment les
objets R.
Voici un exemple de rapport :
......@@ -355,7 +349,7 @@ données, librement inspiré du package
Ce template est directement accessible dans Rstudio via `Projects > New
Project > New Directory > New data analysis`. L’utilisateur peut ici
définir la localisation de son projet et choisir d’initialiser ou non
un repository git.
un dépôt git.
> Note : Cette architecture n’est qu’un exemple de bonne pratiques
> parmis bien d’autres. Libre à vous de modifier ce template selon vos
......
# Introduction {#intro}
You can label chapter and section titles using `{#label}` after them, e.g., we can reference Chapter \@ref(intro). If you do not manually label them, there will be automatic labels anyway, e.g., Chapter \@ref(methods).
Figures and tables with captions will be placed in `figure` and `table` environments, respectively.
```{r nice-fig, fig.cap='Here is a nice figure!', out.width='80%', fig.asp=.75, fig.align='center'}
par(mar = c(4, 4, .1, .1))
plot(pressure, type = 'b', pch = 19)
```
Reference a figure by its code chunk label with the `fig:` prefix, e.g., see Figure \@ref(fig:nice-fig). Similarly, you can reference tables generated from `knitr::kable()`, e.g., see Table \@ref(tab:nice-tab).
```{r nice-tab, tidy=FALSE}
knitr::kable(
head(iris, 20), caption = 'Here is a nice table!',
booktabs = TRUE
)
```
You can write citations, too. For example, we are using the **bookdown** package [@R-bookdown] in this sample book, which was built on top of R Markdown and **knitr** [@xie2015].
# Methods
We describe our methods in this chapter.
# Applications
Some _significant_ applications are demonstrated in this chapter.
## Example one
## Example two
# Final Words
We have finished a nice book.
`r if (knitr::is_html_output()) '
# References {-}
'`
This is a minimal example of a book based on R Markdown and **bookdown** (https://github.com/rstudio/bookdown). Please see the page "Get Started" at https://bookdown.org/home/about/ for how to compile this example.
book_filename: "myBook"
delete_merged_file: true
language:
ui:
chapter_name: "Chapitre "
bookdown::gitbook:
css: style.css
config:
toc:
before: |
<li><a href="./"><img src="bloc_etat.png" width = "130"></a></li>
after: |
<li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
download: ["pdf", "epub"]
bookdown::pdf_book:
includes:
in_header: preamble.tex
latex_engine: xelatex
citation_package: natbib
keep_tex: yes
bookdown::epub_book: default
@Book{xie2015,
title = {Dynamic Documents with {R} and knitr},
author = {Yihui Xie},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2015},
edition = {2nd},
note = {ISBN 978-1498716963},
url = {http://yihui.org/knitr/},
}
---
title: "Titre du document"
author: "Auteur"
date: "`r Sys.Date()` | Unité de Recherche"
site: bookdown::bookdown_site
documentclass: book
bibliography: [book.bib, packages.bib]
biblio-style: apalike
link-citations: yes
description: ""
---
# A propos
Ce document est un rapport au format {bookdown} généré par le package {InraeThemes}.
Ce template est assez peu différent du modèle de départ proposé par {bookdown}. Le fichier `styles.css` a simplement été modifié afin de correspondre à la charte graphique INRAE.
La sortie par défaut est livre HTML au format gitbook. Pour une sortie PDF, il suffit de passer par un `rmarkdown::render_site(output_format = 'bookdown::pdf_book', encoding = 'UTF-8')`.
**TO-DO : Personnaliser la sortie PDF dans le préambule LaTeX**. Toute aide est la bienvenue !
Vous êtes bien spur libres de personnaliser le CSS de ce modèle à vos goûts (cf. documentation [bookdown](https://bookdown.org/) et vos suggestions sont les bienvenues sur le [Github InraeThemes](https://github.com/davidcarayon/InraeThemes/issues) !
## Prerequisites
This is a _sample_ book written in **Markdown**. You can use anything that Pandoc's Markdown supports, e.g., a math equation $a^2 + b^2 = c^2$.
The **bookdown** package can be installed from CRAN or Github:
```{r eval=FALSE}
install.packages("bookdown")
# or the development version
# devtools::install_github("rstudio/bookdown")
```
Remember each Rmd file contains one and only one chapter, and a chapter is defined by the first-level heading `#`.
To compile this example to PDF, you need XeLaTeX. You are recommended to install TinyTeX (which includes XeLaTeX): <https://yihui.org/tinytex/>.
```{r include=FALSE}
# automatically create a bib database for R packages
knitr::write_bib(c(
.packages(), 'bookdown', 'knitr', 'rmarkdown'
), 'packages.bib')
```
@Manual{R-base,
title = {R: A Language and Environment for Statistical Computing},
author = {{R Core Team}},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2020},
url = {https://www.R-project.org/},
}
@Manual{R-bookdown,
title = {bookdown: Authoring Books and Technical Documents with R Markdown},
author = {Yihui Xie},
year = {2020},
note = {R package version 0.21},
url = {https://github.com/rstudio/bookdown},
}
@Manual{R-knitr,
title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
author = {Yihui Xie},
year = {2020},
note = {R package version 1.30},
url = {https://yihui.org/knitr/},
}
@Manual{R-rmarkdown,
title = {rmarkdown: Dynamic Documents for R},
author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone},
year = {2020},
note = {R package version 2.5},
url = {https://github.com/rstudio/rmarkdown},
}
@Book{bookdown2016,
title = {bookdown: Authoring Books and Technical Documents with {R} Markdown},
author = {Yihui Xie},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2016},
note = {ISBN 978-1138700109},
url = {https://github.com/rstudio/bookdown},
}
@Book{knitr2015,
title = {Dynamic Documents with {R} and knitr},
author = {Yihui Xie},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2015},
edition = {2nd},
note = {ISBN 978-1498716963},
url = {https://yihui.org/knitr/},
}
@InCollection{knitr2014,
booktitle = {Implementing Reproducible Computational Research},
editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
author = {Yihui Xie},
publisher = {Chapman and Hall/CRC},
year = {2014},
note = {ISBN 978-1466561595},
url = {http://www.crcpress.com/product/isbn/9781466561595},
}
@Book{rmarkdown2018,
title = {R Markdown: The Definitive Guide},
author = {Yihui Xie and J.J. Allaire and Garrett Grolemund},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2018},
note = {ISBN 9781138359338},
url = {https://bookdown.org/yihui/rmarkdown},
}
@Book{rmarkdown2020,
title = {R Markdown Cookbook},
author = {Yihui Xie and Christophe Dervieux and Emily Riederer},
publisher = {Chapman and Hall/CRC},
address = {Boca Raton, Florida},
year = {2020},
note = {ISBN 9780367563837},
url = {https://bookdown.org/yihui/rmarkdown-cookbook},
}
body {
font-size: 1.6rem;
text-align: justify;
}
.title {
color: firebrick;
color: #284c59;
font-family: "Raleway";
font-weight: bold;
}
.book .book-header, .book .book-summary {
font-family: "Raleway", Arial, sans-serif;
background: #FFFFFF;
color: #00a3a6;
}
h1,h2,h3,h4,h5 {
text-align: left;
color: #00a3a6;
font-family: "Raleway";
font-weight: bold;
}
.blue-box {
background-color: #e6f0ff;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.green-box {
background-color: #d9ffe9;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.orange-box {
background-color: #ffeedf;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
}
.caution, .important, .note, .tip, .warning {
padding: 1em 1em 1em 4em;
margin-bottom: 10px;
background: #f5f5f5 5px center/3em no-repeat;
border: 2px solid orange;
border-radius: 10px;
}
.caution {
background-image: url("img/caution.png");
}
.important {
background-image: url("img/important.png");
}
.note {
background-image: url("img/note.png");
}
.tip {
background-image: url("img/tip.png");
}
.warning {
background-image: url("img/warning.png");
}
Binding: bookdown_inrae
Title: Gitbook INRAE
OpenFiles: README.md, _bookdown.yml, _output.yml, index.Rmd
Icon: logo_hex-min.png
Parameter: init
Widget: CheckboxInput
Label: Initiate a git repository ?
Default: On
Position: left
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment