Hi @Norcalbiostat!
Have you tried pander — it defines methods for an enormous slew of R objects and classes and creates Markdown representations of them. Obviously there are some assumptions involved in doing that, but if you don't like pander's choices, it has many options you can tweak. And of course you can use its code and tools as inspiration for your own 
library(pander)
these <- c("Antelope", "Buttonloop", "Canteloupe")
those <- list(
teeny = "Elephant",
tiny = "Whale",
itty = "Hippopotamus",
bitty = "Rhinoceros"
)
pander(these)
Antelope, Buttonloop and Canteloupe
pander(those)
-
teeny: Elephant
-
tiny: Whale
-
itty: Hippopotamus
-
bitty: Rhinoceros
Created on 2019-06-16 by the reprex package (v0.3.0)
The comment boxes on this site parse Markdown, of course, which is both illustrative and confusing in this case! Here's what the raw pander output looked like:
*Antelope*, *Buttonloop* and *Canteloupe*
- **teeny**: Elephant
- **tiny**: Whale
- **itty**: Hippopotamus
- **bitty**: Rhinoceros
<!-- end of list -->
(HTML comments are valid in Markdown)