Code Monkey home page Code Monkey logo

gouvdown's Introduction

gouvdown

R build status Codecov test coverage

gouvdown let you write R Markdown documents which comply with the French government design system.

Installation

You can install the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("spyrales/gouvdown")

Palettes

gouvdown provides the official colors and a set of palettes.

Theme

gouvdown provides themes for {ggplot2} graphics and maps.

Rmarkdown

html_document

gouvdown provides a html template for {Rmarkdown}

bookdown

gouvdown provides a bookdown project template for {bookdown}

Word output format

gouvdown provides a word template for {Rmarkdown} for writing an official letter.

References

gouvdown's People

Contributors

cdugeai avatar cervangirard avatar jengelaere avatar maeltheuliere avatar rlesur avatar tvroylandt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gouvdown's Issues

Utilisation des palettes de couleurs

Bonjour,

J'essaie d'utiliser une des palettes proposées par gouvdown : pal_gouv_qual1.

Après le remotes::install_github j'ai une première erreur :
Error : Failed to install 'gouvdown' from GitHub: package 'cowplot' is not available (for R version 3.3.4)

Faut il avoir une version supérieure à la 3.4.4 ?

Police non détectées

Le package me renvoie un message d'alerte comme quoi les polices n'ont pas été trouvées.

famille de police introuvable dans la base de donn�es des polices Windows

Je suppose qu'il s'agit de la police Marianne.

Elle est installée pourtant.

J'ai donc installé le paquet gouvdown.fonts mais le message est toujours le même.

Y-a-t-il quelque chose à faire de particulier pour remédier à cela ?

Bizarrement, en listant les fonts avec le paquets extrafonts, je ne vois la police Marianne.

 sessionInfo()
R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252    LC_MONETARY=French_France.1252
[4] LC_NUMERIC=C                   LC_TIME=French_France.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] extrafont_0.17       ggthemes_4.2.4       gouvdown.fonts_0.0.1 gouvdown_0.0.0.9000  doremifasol_0.4.1   
 [6] sf_0.9-8             plotly_4.9.3         forcats_0.5.1        stringr_1.4.0        dplyr_1.0.5         
[11] purrr_0.3.4          readr_1.4.0          tidyr_1.1.3          tibble_3.1.0         ggplot2_3.3.3       
[16] tidyverse_1.3.0     

loaded via a namespace (and not attached):
 [1] httr_1.4.2         sass_0.3.1         jsonlite_1.7.2     viridisLite_0.3.0  here_1.0.1        
 [6] modelr_0.1.8       bslib_0.2.4        assertthat_0.2.1   cellranger_1.1.0   yaml_2.2.1        
[11] remotes_2.2.0      Rttf2pt1_1.3.8     pillar_1.5.1       backports_1.2.1    glue_1.4.2        
[16] extrafontdb_1.0    digest_0.6.27      rvest_1.0.0        colorspace_2.0-0   htmltools_0.5.1.1 
[21] pkgconfig_2.0.3    broom_0.7.5        haven_2.3.1        scales_1.1.1       proxy_0.4-25      
[26] farver_2.1.0       generics_0.1.0     ellipsis_0.3.1     pacman_0.5.1       withr_2.4.1       
[31] lazyeval_0.2.2     cli_2.3.1          magrittr_2.0.1     crayon_1.4.1       readxl_1.3.1      
[36] evaluate_0.14      fs_1.5.0           fansi_0.4.2        xml2_1.3.2         class_7.3-18      
[41] tools_4.0.4        data.table_1.14.0  hms_1.0.0          lifecycle_1.0.0    munsell_0.5.0     
[46] reprex_1.0.0       jquerylib_0.1.3    compiler_4.0.4     e1071_1.7-6        tinytex_0.31      
[51] rlang_0.4.10       classInt_0.4-3     units_0.7-1        grid_4.0.4         rstudioapi_0.13   
[56] htmlwidgets_1.5.3  labeling_0.4.2     rmarkdown_2.7      gtable_0.3.0       DBI_1.1.1         
[61] curl_4.3           R6_2.5.0           lubridate_1.7.10   knitr_1.31         utf8_1.2.1        
[66] rprojroot_2.0.2    KernSmooth_2.23-18 stringi_1.5.3      Rcpp_1.0.6         vctrs_0.3.6       
[71] dbplyr_2.1.0       tidyselect_1.1.0   xfun_0.22   

Communication

Pour la communication, j'ouvre une issue à part.

Je propose un teasing sur spyrales (sur tchap, la team github et twitter) avec quelques graphs bien beaux, si possible à partir de données réelles. Un truc bien simple genre les mariages ou les naissances ?

Quelques possibilités :

  • barplot ;
  • scatterplot ;
  • line chart ;
  • une carte.

Ca vous va ?

git workflow

On se met d'accord sur un git workflow pour pas se marcher dessus ? une branche par fonctionnalité et une PR pour valider l'ajout ? Je vous soumet un truc pour le thème ce soir

Error - "famille de police introuvable dans la base de données des polices Windows"

Bonjour,

J'utilise régulièrement le package gouvdown mais j'ai systématiquement un problème avec les polices du theme_gouv() quand j'utilise ggplot2.

library(dplyr)
library(gouvdown)
library(ggplot2)

n <- 1000
df <- data.frame( id=1:n,
                  x=rnorm(n))


df %>% ggplot(aes(x = x)) +
  geom_histogram(binwidth = 0.02) +
  labs(
    title = "Titre pour exemple", 
    subtitle = "Avec un sous-titre", 
    caption = "Source : rnorm()") +
  theme_gouv()

Le plot s'affiche sans les polices Marianne ou Spectral et on me retourne une erreur "famille de police introuvable dans la base de données des polices Windows".

Les polices sont bien installées sur ma machine. D'ailleurs quand je knit un rmarkdown avec le template "gouvdown html document", les polices s'affichent bien (sauf sur les plots).

Avez-vous une idée de l'origine de cette erreur ?

Bien cordialement,

[Idée] Documenter / présenter la structure du projet

Au vu des questions lors de la conf spyrales, questions portant sur l'adaptation à des entités ayant leur propre charte, présenter la structure du projet et les endroits devant être aménagés, évoluer, être personnalisés... pour adapter à une autre charte.

collecter tous les bloques marque

Chaque ministère, préfecture, institut a un bloque marque spécifique. L'idée est de s'assurer qu'ils soient de façon exhaustive stockés à un endroit unique

Documentation

Une question de langage.
On écrit la doc en français ou en anglais ?

Le premier sera plus utile aux utilisateurs.
Le deuxième sera plus ouvert pour montrer l'initiative à l'internationale.

Quelle stratégie autour du produit ?

En lien avec la prochaine MR #34 (qui formalisera la fin des travaux de notre côté), un peu en lien avec #17, comment s'organise la suite de la longue vie du package ?
Je m'interroge sur les dimensions suivantes :

  • Qui sont les utilisateurs de {gouvdown} ?
  • Quelles difficultés rencontrent-ils ?
  • Quelles sont leurs workflows ?
  • Pour quel types de publications ?
  • Faut-il, et si oui comment, former les utilisateurs à ce package ? Tant sur le fond que la forme des publications qui en sont issues.

Monitorer les usages

De façon un peu parallèle à #38, il serait intéressant de regarder un peu les usages qui sont fait de gouvdown.

En dehors d'une veille assez classique dans les administrations, on peut déjà regarder sur Github (https://github.com/search?p=2&q=gouvdown&type=Code) ce qu'il en est. En dehors de spyrales, on a quelques utilisations Insee ou Etalab surtout.

Garder un oeil là-dessus peut être intéressant, de façon manuelle ou avec une routine.

Publication pdf / utilisation template html

Description

Je souhaitais savoir comment créer une publication au format pdf.
En effet, vous présentez ce document

mais je ne parviens pas à le reproduire.

J'ai tenté la commande suivante:

rmarkdown::render(input = "report.Rmd", gouvdown::html_gouv())

Mais j'obtiens ceci:
image

C'est un document html, et il ne semble pas formatté avec les polices et l'entête.


Remarque: Le fichier pèse 6.7 Mo:
image

Questions

Mes questions sont donc les suivantes:

  • comment générer un fichier au format présenté ?
  • comment générer un fichier au format pdf et non html ?
  • pourquoi le fichier est-il si lourd ?

maj logo Préfète de région Centre-Val de Loire

Le bloc marque pour la région Centre-Val de Loire n'est plus à jour dans gouvdown.
Il s'agit d'une Préfète et non plus d'un Préfet
Je peux éventuellement vous le transmettre. Reste à savoir le format exact nécessaire. (en RVB, CMJN, ?)
Merci d'avance

Problème de police dans les plots

J'ai tenté de générer un fichier html simple avec la commande suivante:

rmarkdown::render(input = "report.Rmd", gouvdown::html_gouv())

mais j'obtiens le résultat suivant:

> rmarkdown::render(input = "report.Rmd", gouvdown::html_gouv())


processing file: report.Rmd
  |................                                                                                              |  14%
  ordinary text without R code

  |...............................                                                                               |  29%
label: setup (with options) 
List of 1
 $ include: logi FALSE

  |...............................................                                                               |  43%
  ordinary text without R code

  |...............................................................                                               |  57%
label: cars
  |...............................................................................                               |  71%
  ordinary text without R code

  |..............................................................................................                |  86%
label: pressure (with options) 
List of 1
 $ echo: logi FALSE

Quitting from lines 27-28 (report.Rmd) 
Erreur dans axis(side = side, at = at, labels = labels, ...) : 
[report.txt](https://github.com/spyrales/gouvdown/files/8442982/report.txt)

  Impossible de charger la police X11 -adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*, de face 1 et de taille 12

Il semble y avoir une erreur à la ligne 27:

plot(pressure)

L'erreur semble être lors de la construction de la légende du plot . Le fichier source report.Rmd a été ajouté en pièce jointe (renommé report.txt).

Savez-vous d'où cela peut venir ?

Merci

résoudre issue suite dernière pr sur html_gouv

Suggestions to facilitate contributions on this repository

In the context of Etalab helping the 10% projects to become more collaborative, here are some suggestions:

  • Add a LICENSE section in the README.md
  • Add a link to the CONTRIBUTING.md and CODE_OF_CONDUCT.md in the README.md
  • Decide whether issues should be written in french or english
  • Provide a french version of the README.md (as README.fr.md)

Let me know if you prefer to split these suggestions in separate issues.

[Propre brochure] page blanche en trop

La présence du <script> de rechargement de page après la dernière section crée une page blanche à la fin du document.

Est-il possible de déplacer le script dans le <head> ?

Ajout d'un template PPTX

La marque de l'Etat définit des "masques présentation" qui ne sont pas implémentés dans gouvdown.

Idéalement, pouvoir avoir un format d'output du type output: gouvdown::presentation_ppt de manière analogue à output: gouvdown::lettre_word.

Erreur téléchargement police **Spectral**

Pour le contexte, je tente de générer un document html avec le template fourni. J'ai tenté la commande suivante mais j'ai rencontré une erreur.

rmarkdown::render(input = "report.Rmd", output_format  = html_gouv())

Est-il possible de désactiver le téléchargement de la police ? En effet, cet appel fait planter la génération du rapport à cause du proxy qui refuse l'accès.

Je vous mets ici l'erreur en quesion:

> rmarkdown::render(input = "report.Rmd", output_format  = html_gouv())


processing file: report.Rmd
  |............                                                                        |  14%
  ordinary text without R code

  |........................                                                            |  29%
label: setup (with options) 
List of 1
 $ include: logi FALSE

  |....................................                                                |  43%
  ordinary text without R code

  |................................................                                    |  57%
label: cars
  |............................................................                        |  71%
  ordinary text without R code

  |........................................................................            |  86%
label: pressure (with options) 
List of 1
 $ echo: logi FALSE

  |....................................................................................| 100%
  ordinary text without R code


output file: report.knit.md

"C:/Users/cdugeai-adc/Documents/RStudio/bin/quarto/bin/pandoc" +RTS -K512m -RTS report.knit.md --to html4 --from markdown+autolink_bare_uris+tex_math_single_backslash --output report.html --lua-filter "C:\Users\cdugeai-adc\Documents\tools\R-4.1.2\library\rmarkdown\rmarkdown\lua\pagebreak.lua" --lua-filter "C:\Users\cdugeai-adc\Documents\tools\R-4.1.2\library\rmarkdown\rmarkdown\lua\latex-div.lua" --self-contained --variable bs3=TRUE --standalone --section-divs --template "C:\Users\cdugeai-adc\Documents\tools\R-4.1.2\library\rmarkdown\rmd\h\default.html" --no-highlight --variable highlightjs=1 --variable theme=bootstrap --mathjax --variable "mathjax-url=https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" --include-in-header "C:\Users\CDUGEA~1\AppData\Local\Temp\Rtmp0SVcrG\rmarkdown-str381852c33f14.html" 
Could not fetch https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap
HttpExceptionRequest Request {
  host                 = "fonts.googleapis.com"
  port                 = 443
  secure               = True
  requestHeaders       = []
  path                 = "/css2"
  queryString          = "?family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap"
  method               = "GET"
  proxy                = Nothing
  rawBody              = False
  redirectCount        = 10
  responseTimeout      = ResponseTimeoutDefault
  requestVersion       = HTTP/1.1
}
 (ConnectionFailure user error (Network.Socket.gai_strerror not supported: 11001))
Error: pandoc document conversion failed with error 61

Merci

[pagedown] link

Pour éviter les saut de lignes impossible quand des liens sont intégrés dans un texte justifié, voici un fix rapide.
@RLesur Je pense que ça devrait être intégré par défaut ici.

class linkCleaner extends Paged.Handler {
  constructor(chunker, polisher, caller) {
    super(chunker, polisher, caller);
  }
  beforeParsed(content) {
    cleanLink(content)
  }
}

Paged.registerHandlers(linkCleaner);



function cleanLink(content) {
  //add wbr to / in links
  const links = content.querySelectorAll('a[href^="http"], a[href^="www"]');
  links.forEach(link => {
    // Rerun to avoid large spaces. Break after a colon or a double slash (//) or before a single slash (/), a tilde (~), a period, a comma, a hyphen, an underline (_), a question mark, a number sign, or a percent symbol.
    const content = link.textContent;
    let printableUrl = content.replace(/\/\//g, "//\u003Cwbr\u003E");
    printableUrl = printableUrl.replace(/\,/g, ",\u003Cwbr\u003E");
    // put wbr around everything.
    printableUrl = printableUrl.replace(
      /(\/|\~|\-|\.|\,|\_|\?|\#|\%)/g,
      "\u003Cwbr\u003E$1"
    );
    // turn hyphen in non breaking hyphen
    printableUrl = printableUrl.replace(/\-/g, "\u003Cwbr\u003E&#x2011;");
    link.setAttribute("data-print-url", printableUrl);
    link.innerHTML = printableUrl;
  });
}


ça permet d’éviter ça :

image

Déclinaison Rmarkdown

Faire 4 CSS pour RMarkdown :

  • un global assez light ;
  • un pour les fonts ;
  • un pour pagedown ;
  • un pour xaringan.

Normalement ça devrait combler les besoins.

Echelle de couleurs

Construire quatre échelles de couleurs :

  • continue graduée (en bleu ou en rouge) ;
  • continue divergente (passage par 0) ;
  • discrète ordonnée (adaptation de la première échelle) ;
  • discrète pour les groupes.

Et implémenter dans ggplot2.

rajouter des palettes "paired"

Sur le même mode que pour les palettes brewer, avoir une palette en deux modalités sur un ton unique (clair - foncé) a quelques avantages pour des graphiques où l'on comparer par exemple un sous ensemble avec le total. Qu'en pensez vous ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.