Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gadenbuie/status


https://github.com/gadenbuie/status

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

---
title: "GitHub Dashboard"
output: github_document
params:
set_main_width: false
# provide user name to include all public, non-fork repos from the owner
all_by_owner: gadenbuie
# the repository where this repo exists
status_repo: gadenbuie/status
# list of repositories by owner name and repo (appear before owner's repos)
repos:
gadenbuie:
- xaringanthemer
- xaringanExtra
- starwarsdb
- metathis
- shrtcts
- js4shiny
rstudio-education:
- gradethis
rstudio:
- learnr
---

![](https://github.com/`r rmarkdown::metadata$status_repo`/workflows/Render%20Status/badge.svg)
`r strftime(Sys.time(), "%F %T %Z")`

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE)
library(purrr)
library(dplyr)
library(glue)
```

```{r gh-get-repos}
if (!exists("gh_get_repo_status")) {
source("gh-repo-info.R")
}

metadata <-
if (interactive()) {
rmarkdown::yaml_front_matter("README.Rmd")
} else {
rmarkdown::metadata
}

repo_list <- metadata$repos
owner <- metadata$all_by_owner
if (!is.character(owner) && length(owner) == 1) {
warning("`all_by_owner` should be a single GitHub user account")
owner <- NULL
}

repos <- gh_get_repo_status(repo_list, all_by_owner = owner)

has_repos_without_actions <- any(is.na(repos$badge))
```

```{r repo-status}
repos %>%
select_if(negate(is.list)) %>%
# repos with Github Actions have badges
filter(!is.na(badge)) %>%
mutate(
commit_message = map_chr(commit_message, ~ strsplit(.x, "\n")[[1]][1]),
commit_id_6 = substr(commit_id, 1, 6)
) %>%
arrange(desc(stargazers_count)) %>%
transmute(
Repo = glue("[{full_name}]({html_url_repo})"),
Stars = stargazers_count,
Subscribers = subscribers_count,
Issues = open_issues_count,
Forks = forks_count,
Status = ifelse(!is.na(badge), badge, ""),
Commit = glue('{commit_id_6}')
) %>%
knitr::kable(escape = FALSE)
```

```{r eval=has_repos_without_actions, results="asis"}
cat("## Repos without Github Actions")

repos %>%
select_if(negate(is.list)) %>%
filter(is.na(badge)) %>%
arrange(desc(stargazers_count)) %>%
transmute(
Repo = glue("[{full_name}]({html_url_repo})"),
Stars = stargazers_count,
Subscribers = subscribers_count,
Issues = open_issues_count,
Forks = forks_count
) %>%
knitr::kable(escape = FALSE)
```

```{css eval=isTRUE(params$set_main_width)}
main { max-width: 54em; }
```