Shiny Module for a Markdown Input with Result Preview.
Package "markdownInput"
This directory contains the "markdownInput" package for the R programming language. This package is a R-Shiny module providing a Shiny input to write some markdown code and to preview the result. This input has been inspired by the "comment" window of https://github.com/.
Installation
To install this package, the easiest is to directly install the package from GitHub:
In your R
console:
install.package("devtools")
devtools::install_github("juliendiot42/markdownInput")
Once the package is installed, start using it:
In your R
console:
library(markdownInput)
help(package=markdownInput)
Example
Once you have downloaded the package, you can run an example app:
In your R
console:
markdownInput::runExample()
Usage
UI
In the UI part of your app you should call the markdownInput
function.
For example:
ui <- fluidPage(titlePanel("Markdown input"),
sidebarLayout(
# inputs:
sidebarPanel(
markdownInput(
"mdInputID",
label = "Write your text",
value = "Write some _markdown_ **here:**"
)
),
# outputs:
mainPanel(
h3("Raw value of the input:"),
verbatimTextOutput("rawResult"))
))
Server
You can access to the input's value in the server side by calling the module:
server <- function(input, output, session) {
# myText is a reactive variable containing the raw markdown text
myText <- callModule(moduleMarkdownInput, "mdInputID")
# show "myText"
output$rawResult <- renderPrint({
print(myText())
})
}
Issues
When encountering a problem with the package, you can report issues on GitHub directly here.
Contributing
You can contribute in various ways:
report an issue (online, see the above section);
suggest improvements (in the same way as issues);
propose a pull request (after creating a new branch).
Citation
I invest some time and effort to create this package. Please cite it when using it:
In your R
console:
citation("markdownInput")
See also citation()
for citing R itself.
References
shinyAce: Vincent Nijs, Forest Fang, Trestle Technology, LLC and Jeff Allen (2019). shinyAce: Ace Editor Bindings for Shiny.
shiny: Winston Chang, Joe Cheng, JJ Allaire, Yihui Xie and Jonathan McPherson (2018). shiny: Web Application Framework for R.
markdown: JJ Allaire, Jeffrey Horner, Yihui Xie, Vicent Marti and Natacha Porte (2018). markdown: 'Markdown' Rendering for R.