| Type: | Package | 
| Title: | R Interface for 'TiddlyWiki' | 
| Version: | 0.5.0 | 
| Description: | 'TiddlyWiki' is a unique non-linear notebook for capturing, organising and sharing complex information. 'rtiddlywiki' is a R interface of 'TiddlyWiki' https://tiddlywiki.com to create new tiddler from Rmarkdown file, and then put into a local 'TiddlyWiki' node.js server if it is available. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| Depends: | R (≥ 4.1.0) | 
| URL: | https://rtiddlywiki.bangyou.me/, https://github.com/byzheng/rtiddlywiki | 
| BugReports: | https://github.com/byzheng/rtiddlywiki/issues | 
| Imports: | settings, stats, httr2 (≥ 1.2.0), pingr, websocket, rmarkdown, later, utils, jsonlite, bookdown, stringr, stringi, digest, htmlwidgets, rvest, knitr, base64enc, htmltools, grDevices | 
| RoxygenNote: | 7.3.2 | 
| Suggests: | leaflet, dplyr, testthat (≥ 3.0.0), processx, ggplot2, grid | 
| NeedsCompilation: | no | 
| Packaged: | 2025-09-23 06:04:41 UTC; zhe00a | 
| Author: | Bangyou Zheng [aut, cre] | 
| Maintainer: | Bangyou Zheng <bangyou.zheng@csiro.au> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-09-23 06:20:02 UTC | 
Create HTML Tabs for Multiple Objects
Description
This function generates a tabbed HTML interface for displaying multiple R objects such as 'ggplot2' plots and data frames. Each tab can include custom arguments for rendering (e.g., image width or table formatting).
Usage
create_tabs(...)
Arguments
... | 
 Named arguments where each name defines a tab label. Each argument can be either: 
  | 
Details
Supported object types:
'ggplot' objects — rendered as base64-encoded images using 'save_base64()'
'data.frame' or 'tibble' — rendered using 'kable_html()'
Additional arguments passed inside the list are used by the relevant rendering function.
Value
A 'htmltools::tag' object representing the full tab interface. Can be printed in R Markdown documents or displayed interactively in RStudio Viewer.
Examples
## Not run: 
library(ggplot2)
# Simple plot and table
p <- ggplot(cars) + geom_point(aes(speed, dist))
df <- head(cars)
# Basic usage
create_tabs(
  plot = p,
  table = df
)
# With custom rendering arguments
create_tabs(
  plot = list(object = p, width = 4),
  table = list(object = df, digits = 2)
)
## End(Not run)
Delete a tiddler
Description
Delete a tiddler
Usage
delete_tiddler(title, bag = TW_OPTIONS("bag"))
Arguments
title | 
 title of the tiddler to retrieve  | 
bag | 
 string defining which recipe to write to (optional, defaults to "default")  | 
Value
no return values
Examples
## Not run: 
delete_tiddler("GettingStarted")
## End(Not run)
Get server status
Description
Get server status
Usage
get_status()
Value
a list of service status
Get a tiddler
Description
Get a tiddler
Usage
get_tiddler(title, recipe = TW_OPTIONS("recipe"))
Arguments
title | 
 title of the tiddler to retrieve  | 
recipe | 
 string defining which recipe to read from (optional, defaults to "default")  | 
Value
tiddler information in JSON format
Examples
## Not run: 
get_tiddler("GettingStarted")
## End(Not run)
Get all tiddlers
Description
Get all tiddlers
Usage
get_tiddlers(filter = NULL, exclude = NULL, recipe = TW_OPTIONS("recipe"))
Arguments
filter | 
 filter identifying tiddlers to be returned (optional, defaults to "[all[tiddlers]!is[system]sort[title]]")  | 
exclude | 
 comma delimited list of fields to excluded from the returned tiddlers (optional, defaults to "text")  | 
recipe | 
 string defining which recipe to read from (optional, defaults to "default")  | 
Value
all tiddlers information in JSON format
Examples
## Not run: 
#' Get all tiddlers
get_tiddlers()
## End(Not run)
Convert Data Frame to HTML Table using kable
Description
Convert Data Frame to HTML Table using kable
Usage
kable_html(df, ...)
Arguments
df | 
 A data frame to be converted to an HTML table.  | 
... | 
 Other arguments to be passed to 'knitr::kable'.  | 
Value
A htmltools object containing the HTML representation of the table.
Examples
kable_html(cars[1:10,])
Print tw_html object
Description
Print tw_html object
Usage
## S3 method for class 'tw_html'
print(x, ...)
Arguments
x | 
 a 'tw_html' object.  | 
... | 
 additional arguments passed to or from other methods.  | 
Value
no return
Put a tiddler
Description
Put a tiddler
Usage
put_tiddler(
  title,
  text,
  type = c("text/vnd.tiddlywiki", "text/x-tiddlywiki", "text/x-markdown", "text/html",
    "text/plain", "application/json"),
  tags = NULL,
  fields = NULL,
  recipe = TW_OPTIONS("recipe")
)
Arguments
title | 
 tiddler title  | 
text | 
 tiddler text  | 
type | 
 tiddler type  | 
tags | 
 tiddler tags which is merged with existing tags  | 
fields | 
 a named vector for tiddler fields which is merged with existing tags  | 
recipe | 
 string defining which recipe to write to (optional, defaults to "default")  | 
Value
No return value
Examples
## Not run: 
title <- "New tiddler"
text <- c("!! Section",
          "This is a new tiddler")
type <- "text/vnd.tiddlywiki"
tags <- c("Tag1", "Tag 2")
fields <- c("F1" = "V1", "F2" = "V2")
put_tiddler(title = title,
            text = text,
            type = type,
            tags = tags,
            fields = fields)
## End(Not run)
Read a TiddlyWiki Table into a Data Frame
Description
This function parses a table written in TiddlyWiki format and converts it into an R data frame. It can optionally treat the first row as a header.
Usage
read_table(table, header = TRUE)
Arguments
table | 
 A character string representing the TiddlyWiki table.  | 
header | 
 A logical value indicating whether the first row should be treated as column headers. Default is TRUE.  | 
Value
A data frame containing the parsed table data.
Examples
table <- "|!Cell1 |!Cell2 |\n|Cell3 |Cell4 |"
df <- read_table(table, header = TRUE)
print(df)
Remove fields from tiddlers
Description
Remove fields from tiddlers
Usage
remove_fields(title, fields, recipe = TW_OPTIONS("recipe"))
Arguments
title | 
 tiddler title  | 
fields | 
 fields to remove  | 
recipe | 
 string defining which recipe to write to (optional, defaults to "default")  | 
Value
no return value
Save ggplot into base64
Description
Save ggplot into base64
Usage
save_base64(plot, width = NULL, height = NULL, dpi = NULL, ...)
Arguments
plot | 
 object for ggplot2 or a function for plot  | 
width | 
 image width  | 
height | 
 image height  | 
dpi | 
 image resolution  | 
... | 
 Other arguments for plot function  | 
Value
character string for base64 image
Examples
## Not run: 
library(ggplot2)
p <- cars |>
    ggplot() +
    geom_point(aes(speed, dist))
p |> save_base64()
## End(Not run)
Split tiddlywiki field into values
Description
Split tiddlywiki field into values
Usage
split_field(s)
Arguments
s | 
 a string  | 
Value
an vector of values
Generate HTML Tabs with Dynamic Content
Description
This function creates a tabbed interface where each tab has dynamically generated content.
Usage
tabs(names, fun, groupname = .unique_name(), checked = 1, ...)
Arguments
names | 
 A character vector of tab labels.  | 
fun | 
 A function that generates the content for each tab. It must take an index ('i') as the first argument.  | 
groupname | 
 A unique string to group the radio inputs (default is generated automatically).  | 
checked | 
 The index of the tab that should be pre-selected (default is '1').  | 
... | 
 Additional arguments passed to 'fun'.  | 
Value
An 'htmltools::tagList' containing the tabbed interface.
Examples
## Not run: 
tab_labels <- c("Tab1", "Tab2", "Tab3")
tab_content_fun <- function(i, extra_text = "") {
    htmltools::tagList(
        htmltools::tags$p(paste("Content for tab:", tab_labels[i], extra_text)),
        htmltools::tags$img(src = paste0("plot_", i, ".png"), width = "100%")
    )
}
tabs(tab_labels, tab_content_fun, checked = 2, extra_text = "Additional details")
## End(Not run)
Format for converting from R Markdown to another tiddler markdown
Description
Format for converting from R Markdown to another tiddler markdown
Usage
tiddler_document(
  host = NULL,
  remote = FALSE,
  preview = FALSE,
  tags = NULL,
  fields = NULL,
  use_bookdown = FALSE,
  overwrite = FALSE,
  variant = "gfm",
  pandoc_args = "--wrap=none",
  ...
)
Arguments
host | 
 the host of tiddlywiki web server  | 
remote | 
 whether put into remote TiddlyWiki Node.js Server  | 
preview | 
 whether to send 'open_tiddler' command to ws server (tw-livebridge) to preview in browser  | 
tags | 
 tiddler tags  | 
fields | 
 a named vector for tiddler fields  | 
use_bookdown | 
 logical. Use bookdown to generate markdown file.  | 
overwrite | 
 whether to overwrite the existing tiddler.  | 
variant | 
 variant for md_document  | 
pandoc_args | 
 pandoc_args for md_document  | 
... | 
 Other argument pass to md_document  | 
Value
R Markdown output format to pass to render()
Examples
## Not run: 
library(rmarkdown)
render("input.Rmd")
## End(Not run)
Generate tiddler in json format
Description
Generate tiddler in json format
Usage
tiddler_json(
  title,
  text,
  type = c("text/vnd.tiddlywiki", "text/x-tiddlywiki", "text/x-markdown", "text/html",
    "text/plain", "application/json"),
  tags = NULL,
  fields = NULL,
  format = c("json", "list")
)
Arguments
title | 
 tiddler title  | 
text | 
 tiddler text  | 
type | 
 tiddler type  | 
tags | 
 a vector for tiddler tags  | 
fields | 
 a named vector for tiddler fields.  | 
format | 
 export format as json or list  | 
Value
New tiddler in json format
Generate tiddler in json format
Description
Generate tiddler in json format
Usage
tiddler_json2(tiddler)
Arguments
tiddler | 
 A list for new tiddler  | 
Value
New tiddler in json format
Set or get options for my package
Description
Set or get options for my package
Usage
tw_options(...)
Arguments
... | 
 Option names to retrieve option values or   | 
Value
the default and modified options.
Supported options
The following options are supported host: Host of tiddlywiki recipe: Recipes are named lists of bags, ordered from lowest priority to highest bag: Bags have access controls that determines which users can read or write to them
Examples
tw_options(host = "http://127.0.0.1:8080/")
Reset global options for pkg
Description
Reset global options for pkg
Usage
tw_reset()
Value
the default options
Examples
tw_options()
Convert data.frame into table of TiddlyWiki
Description
Convert data.frame into table of TiddlyWiki
Usage
tw_table(df, collapse = "\n")
Arguments
df | 
 data.frame object  | 
collapse | 
 an optional character string to separate the results.  | 
Value
character string for table in TiddlyWiki
Examples
cars |>
dplyr::slice(1:10) |>
tw_table()
Create a tiddlywiki widget from htmlwidget
Description
Create a tiddlywiki widget from htmlwidget
Usage
tw_widget(widget, is_cat = FALSE)
Arguments
widget | 
 an object of htmlwidget  | 
is_cat | 
 whether to show results on screen  | 
Value
a new tiddlywiki widget
Examples
library(leaflet)
## Not run: 
content <- paste(sep = "<br/>",
                 "<b><a href='http://www.samurainoodle.com'>Samurai Noodle</a></b>",
                 "606 5th Ave. S",
                 "Seattle, WA 98138"
)
widget <- leaflet() %>% addTiles() %>%
    addPopups(-122.327298, 47.597131, content,
                  options = popupOptions(closeButton = FALSE)
    )
tw_widget(widget)
## End(Not run)
backticks
Description
backticks for wikitext
Usage
wikitext_backticks_return(x)
Arguments
x | 
 character vector  | 
Value
By default this function outputs (see: cat) the result. Call the function ending in .return to catch the result instead.
Examples
wikitext_backticks('FOO')
wikitext_backticks_return('FOO')
Convert a Word File to Markdown with Optional Embedded Images
Description
This function converts a Word ('.docx') file to Markdown using Pandoc. Optionally, it embeds images as Base64 for a self-contained Markdown file.
Usage
word_to_md(
  docx_file,
  output_file = NULL,
  embed_images = FALSE,
  overwrite = FALSE
)
Arguments
docx_file | 
 Path to the input Word file.  | 
output_file | 
 Path to the final Markdown output file. If null, the original file name.  | 
embed_images | 
 Logical. If 'TRUE', all images will be embedded as Base64. Default is 'FALSE'.  | 
overwrite | 
 Logical. If 'TRUE', Output file is overwrote. Default is 'FALSE'  | 
Value
Saves a Markdown file (optionally with Base64-embedded images).
Examples
# Convert Word to Markdown without embedding images
## Not run: 
word_to_md("input.docx", "output.md", embed_images = FALSE)
# Convert and embed images as Base64
word_to_md("input.docx", "output_embedded.md", embed_images = TRUE)
## End(Not run)