Title: | Shiny Module for a Markdown Input with Result Preview |
---|---|
Description: | An R-Shiny module containing a "markdownInput". This input allows the user to write some markdown code and to preview the result. This input has been inspired by the "comment" window of <https://github.com/>. |
Authors: | Julien Diot [aut, ctb, cre] |
Maintainer: | Julien Diot <[email protected]> |
License: | GPL-3 |
Version: | 0.1.2 |
Built: | 2025-03-07 03:18:50 UTC |
Source: | https://github.com/juliendiot42/markdowninput |
Create a markdown input control with a result preview
markdownInput( inputId, label, value = "Some **markdown** _text_", theme = "github", height = "400px", class = "" )
markdownInput( inputId, label, value = "Some **markdown** _text_", theme = "github", height = "400px", class = "" )
inputId |
The codeinput slot that will be used to access the value. |
label |
Label of the input. |
value |
The initial text to be contained in the editor. |
theme |
The Ace theme to be used by the editor. The theme in Ace
determines the styling and coloring of the editor.
Use |
height |
A number (which will be interpreted as a number of pixels) or any valid CSS dimension (such as "50%", "200px", or "auto"). |
class |
The CSS class name of the input. (optional) |
A tabset containing two tabs:
"Write" tab:
Containing a code editor (aceEditor
).
"Preview" tab: Containing the preview of the markdown render.
Julien Diot [email protected]
shinyAce package: Vincent Nijs, Forest Fang, Trestle Technology, LLC and Jeff Allen (2019). shinyAce: Ace Editor Bindings for Shiny.
shiny package: Winston Chang, Joe Cheng, JJ Allaire, Yihui Xie and Jonathan McPherson (2018). shiny: Web Application Framework for R.
markdown package: JJ Allaire, Jeffrey Horner, Yihui Xie, Vicent Marti and Natacha Porte (2018). markdown: 'Markdown' Rendering for R.
## Only run examples in interactive R sessions if (interactive()) { library(shiny) library(markdownInput) 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 <- 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()) }) } shinyApp(ui, server) }
## Only run examples in interactive R sessions if (interactive()) { library(shiny) library(markdownInput) 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 <- 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()) }) } shinyApp(ui, server) }
markdownInput
moduleServer function of the markdownInput
module
moduleMarkdownInput(input, output, session, class = "")
moduleMarkdownInput(input, output, session, class = "")
input |
The session's input object. |
output |
The session's output object. |
session |
The shiny's session. |
class |
(optional) The CSS class name of the priview tab. |
The reactive value of the input.
Julien Diot [email protected]
shinyAce package: Vincent Nijs, Forest Fang, Trestle Technology, LLC and Jeff Allen (2019). shinyAce: Ace Editor Bindings for Shiny.
shiny package: Winston Chang, Joe Cheng, JJ Allaire, Yihui Xie and Jonathan McPherson (2018). shiny: Web Application Framework for R.
markdown package: JJ Allaire, Jeffrey Horner, Yihui Xie, Vicent Marti and Natacha Porte (2018). markdown: 'Markdown' Rendering for R.
## Only run examples in interactive R sessions if (interactive()) { library(shiny) library(markdownInput) 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 <- 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()) }) } shinyApp(ui, server) }
## Only run examples in interactive R sessions if (interactive()) { library(shiny) library(markdownInput) 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 <- 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()) }) } shinyApp(ui, server) }
Run a Shiny application presenting the "markdownInput" package.
runExample()
runExample()