Réduire la taille du fichier de la sortie R Markdown HTML
si je crée un fichier Markdown R très basique sans images ni code et tricote ce HTML, je finis avec une taille de fichier outputted qui est plus de 700kb dans la taille. Y a-t-il un moyen de réduire la taille du fichier HTML?
Exemple Minimal:
---
title: "Hello world!"
output:
html_document: default
html_notebook: default
---
Nothing else to say, really.
le fichier de sortie de html_document
est 708.6 ko, tandis que html_notebook
est 765.7 ko.
3 réponses
html_vignette
format est parfait si vous voulez un fichier de plus petite taille. Comme décrit dans la documentation de fonction:
une vignette HTML est une alternative légère à html_document qui peut être incluse dans les paquets qui seront envoyés à CRAN. Il réduit la taille d'une vignette de base de 100k à environ 10k.
Pour ton exemple:
---
title: "Hello world!"
output: rmarkdown::html_vignette
---
Nothing else to say, really.
donne un résultat de 6kB:
Vous pouvez en lire plus sur le paquet dans le documentation en ligne ici.
la raison de la Grande Taille du fichier est que knit crée des fichiers autonomes par défaut et inclut donc des dépendances javascript (bootstrap, highlight, jquery, navigation) comme chaîne encodée base64. Voir:http://rmarkdown.rstudio.com/html_document_format.html#document_dependencies
dans votre cas simple, les capacités javascript ne sont pas nécessaires, vous pouvez donc faire ce qui suit:
---
title: "Hello world!"
output:
html_document:
self_contained: false
lib_dir: libs
---
Nothing else to say, really.
cela créera un fichier html de taille ~ 2.7 kB et un dossier libs séparé avec les fichiers javascript. Toutefois, le dossier libs est presque 4MB de taille. Et bien que vous n'ayez pas nécessairement besoin des bibliothèques javascript, le fichier html essaie encore de les charger.
si vous êtes intéressé par une version vraiment minimale, vous pouvez jeter un oeil à la html_fragment
option de sortie (http://rmarkdown.rstudio.com/html_fragment_format.html):
---
title: "Hello world!"
output:
html_fragment: default
---
Nothing else to say, really.
ceci ne créera toutefois pas une page html complète mais plutôt html contenu qui peut être inclus dans un autre site web. test.html
le fichier n'est que de 36 octets. Encore des navigateurs sera en mesure de l'afficher.
en dernier recours, vous pouvez créer un modèle html personnalisé pour pandoc: http://rmarkdown.rstudio.com/html_document_format.html#custom_templates
la méthode la plus simple et la plus directe pour empêcher l'insertion indésirable des bibliothèques bootstrap dans le préambule du document HTML est d'ajouter le drapeau markdown supplémentaire "theme: null".
output:
html_document:
theme: null
C'est plus désirable que self_contained: false
car il n'empêche pas l'insertion d'images ou d'autres composants ont besoin de garder le portable document.
À mon avis, il est plus souhaitable que de changer d' html_vignette
parce qu'il n'absorbe pas les autres changements imposés par ce processeur.
s'il vous Plaît rappelez-vous que SI votre document utilise un modèle, le thème argument est ignoré et vous devez spécifier theme=NULL
dans le rmarkdown::render
fonction.