wie eingebettete Datei (includes) in benutzerdefinierten Rmarkdown gespeichert wird

8

Ich habe mein eigenes Format in Rmarkdown basierend auf diesem Blogpost erstellt. Ich habe es in meinem persönlichen Paket implementiert und es funktioniert großartig. Ich habe auch benutzerdefinierte Dateien in includes Argument von html_document hinzugefügt.

Meine Frage ist, ob es möglich ist, meine benutzerdefinierten Dateien zu speichern (in includes Argument enthalten), nachdem ich auf die Schaltfläche "Stricken" geklickt habe. Ähnlich wie die Option self_contained = F , die das Speichern aller Rmarkdown-Abhängigkeiten ermöglicht.

Aktualisieren

Ich sollte dir zuerst einen Zusammenhang geben. Nehmen wir an, ich habe mein Format html verwendet, um vor zwei Monaten einen Bericht zu erstellen. Zwei Wochen später habe ich beschlossen, wesentliche Änderungen in meinem html -Format vorzunehmen und mein Paket zu aktualisieren.

Nach den nächsten zwei Wochen kam mein Chef zu mir und bat um geringfügige Änderungen im alten Bericht. Durch Klicken auf die Schaltfläche Knit konnte der Bericht dann nicht erstellt werden, da eine neue Version meines html -Formats vorhanden war, das sich deutlich von dem anderen unterschied.

Ich sehe drei Möglichkeiten, wie ich mit dieser Anfrage umgehen kann. Entweder kann ich eine alte Version meines Pakets installieren (suboptimal), jedes Mal ein neues html -Format erstellen, wenn ich größere Änderungen durchführe oder meine Abhängigkeiten (Kopf-, Fußzeilen-, CSS-Dateien) separat speichern Unterverzeichnis (wie ein Packrat). Dann wäre jeder Bericht unabhängig und immun gegenüber Änderungen in meinem benutzerdefinierten Format.

Lassen Sie mich wissen, ob es eine bessere Lösung gibt.

    
Nicolabo 23.11.2017, 13:42
quelle

1 Antwort

1

Basisbeispiel

Angenommen, Sie haben eine myreport.Rmd -Datei mit folgendem Header:

%Vor%

Mit einem Hacky rmarkdown preprocessor können Sie inheader.html file kopieren.
Der folgende Code soll in R console:

ausgeführt werden %Vor%

Sie erhalten ein output -Verzeichnis mit dem gerenderten Bericht und inheader.html -Datei innerhalb.

Um einen ähnlichen Präprozessor nach dem Klicken auf die Schaltfläche Knit auszuführen, müssen Sie ihn in das output_format Ihres persönlichen Pakets einfügen (siehe unten).

Ein Paket wird gedreht

Da die Frage diesen Blogpost erwähnt, ist hier eine Anpassung der Funktion quarterly_report :

%Vor%

Diese Lösung ist nicht 100% befriedigend, weil ich nicht glaube, dass rmarkdown pre_processor für Nebenwirkungen erstellt wurde. Aber es funktioniert.

    
romles 27.01.2018, 00:16
quelle

Tags und Links