Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JesseVent/shinyr-knowledge-repo
The shinyR curated knowledge sharing platform
https://github.com/JesseVent/shinyr-knowledge-repo
airbnb data-science knowledge machine-learning markdown markdown-viewer python r repository shiny shiny-apps shiny-r
Last synced: 3 months ago
JSON representation
The shinyR curated knowledge sharing platform
- Host: GitHub
- URL: https://github.com/JesseVent/shinyr-knowledge-repo
- Owner: JesseVent
- License: mit
- Created: 2018-08-26T17:07:46.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-27T22:56:52.000Z (about 6 years ago)
- Last Synced: 2024-06-22T20:22:34.822Z (5 months ago)
- Topics: airbnb, data-science, knowledge, machine-learning, markdown, markdown-viewer, python, r, repository, shiny, shiny-apps, shiny-r
- Language: CSS
- Homepage:
- Size: 1.05 MB
- Stars: 9
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- jimsghstars - JesseVent/shinyr-knowledge-repo - The shinyR curated knowledge sharing platform (CSS)
README
# ShinyR Knowledge Repo
## The **shinyR** curated knowledge sharing platform
![](/www/1.png)
### Introduction
Built in R with use of the [Shiny](https://github.com/rstudio/shiny) package, this application will list any `RMarkdown.Rmd` or `Markdown.md` that sit under the specified/default directory no matter how many folders there are underneath. By listing all these files you get a true sense of the knowledge collective available to you, and by clicking any of the files listed it will dynamically load the content in a new tab for your viewing pleasure.
Through the reticulate package it can even run embedded python chunks inside `RMarkdown.Rmd` files.
![](/www/2.png)
### Inspiration
This application is loosely inspired from a mix of the principles of [Airbnb's Knowledge Repo](https://github.com/airbnb/knowledge-repo) and the user interface from [GetGrav's Learn2](https://github.com/getgrav/grav-theme-learn2) with my own spin on my thought's about what a knowledge repo should be, combined with some functionality that **Shiny** brings together so well.
> The Knowledge Repo project is focused on facilitating the sharing of knowledge between data scientists and other technical roles using data formats and tools that make sense in these professions. It provides various data stores (and utilities to manage them) for "knowledge posts", with a particular focus on notebooks (R Markdown and Jupyter / IPython Notebook) to better promote reproducible research. [Airbnbs Description](https://github.com/airbnb/knowledge-repo)
![](/www/3.png)
### Usage
The following dependencies are required.
```R
pkgs <- c('shiny', 'tidyverse', 'knitr', 'DT', 'shinydashboard', 'markdown', 'purrr', 'rlang', 'functionplotR', 'd3heatmap')
install.packages(pkgs)shiny::runApp()
```The default is to list any markdown files sitting in the source folder, or beneath it. This can easily be changed to look at any directory you wish by providing the path of the directory you wish to use.
Just change the following in the server.R file.
##### server.R
```R
reactiveFiles = reactive({
file_data <- scan_repos('~/Add-Path-Here')
return(file_data)
})
```The titles that display in the sidebar are equivalent to the first line in the markdown file, so for consistent experience please align the files to conform to the following standard:
##### Example.Md
# MARKDOWN HEADER
## Subtitle
![](/www/4.png)
## Next Steps
This application is still in it's infancy, but the next major change I want to make is to allow the application to be given a Gitlab project, and allow you to view all the markdown files that sit in sub-projects beneath it.
Happy for any other feedback or thoughts.
## The Key Principles
- **Reproducibility** There should be no opportunity for code forks. The entire set of queries, transforms, visualizations, and write-up should be contained in each contribution and be up to date with the results.
- **Quality** No piece of research should be shared without being reviewed for correctness and precision.
- **Consumability** The results should be understandable to readers besides the author. Aesthetics should be consistent and on brand across research.
- **Discoverability** Anyone should be able to find, navigate, and stay up to date on the existing set of work on a topic.
- **Learning** In line with reproducibility, other researchers should be able to expand their abilities with tools and techniques from others’ work.