Nesta pergunta, "Usando HTMLwidgets no LiteDown", eu estava perguntando sobre o uso de HTMLwidgets em um litedown
documento. Como a resposta dizia, atualmente não há suporte para isso.
Dei uma olhada no código-fontelitedown
e parece que seria possível se o código adicionasse algo ao cabeçalho do documento. O tipo de coisa que precisaria adicionar seriam inclusões de JavaScript, CSS e assim por diante.
Você já pode fazer isso se souber o que deseja adicionar com antecedência e puder consultar o YAML. Por exemplo, este documento adiciona o comentário HTML ao cabeçalho:
---
title: "working in litedown"
output:
html:
meta:
header_includes: "<!--This is a comment which should go in the header-->"
knit: litedown:::knit
---
This is the body.
Você também pode usar a litedown::vest()
função para adicionar coisas inline no corpo, mas o que você pode adicionar parece ser bastante limitado: apenas nomes de arquivos CSS e Javascript. Talvez isso seja suficiente para as minhas necessidades, mas seria mais organizado se eu pudesse adicionar diretamente ao cabeçalho.
Então minha pergunta é: existe uma maneira programática (ou seja, algo que poderia ser incluído em um pedaço de código) que alcançaria o mesmo resultado que a header_includes
entrada YAML?
Você pode usar métodos do Javascript
document.create*
, por exemplodocument.createElement()
, em combinação comdocument.head.appendChild()
.Abaixo está um exemplo em que incluí o comentário do seu código dentro de um pedaço de JS. O comentário é anexado à
<head>
tag do documento. Além disso, uma dependência JS do leaflet é carregada, semelhante ao quelitedown::vest()
acontece.