{"id":25441391,"url":"https://github.com/bertcarnell/soas","last_synced_at":"2025-11-01T12:30:37.512Z","repository":{"id":51688572,"uuid":"401525005","full_name":"bertcarnell/SOAs","owner":"bertcarnell","description":"Creates Stratum Orthogonal Arrays (a.k.a. Strong OAs)","archived":false,"fork":false,"pushed_at":"2023-11-14T14:13:23.000Z","size":787,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-06-05T12:25:46.935Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://bertcarnell.github.io/SOAs/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bertcarnell.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-31T00:34:47.000Z","updated_at":"2024-02-27T18:00:51.000Z","dependencies_parsed_at":"2023-11-14T15:30:36.455Z","dependency_job_id":"7d723cb5-67cf-4601-8f93-89f54c10e602","html_url":"https://github.com/bertcarnell/SOAs","commit_stats":{"total_commits":313,"total_committers":5,"mean_commits":62.6,"dds":0.6134185303514377,"last_synced_commit":"76a2a9280846f2ccc6519f4f7c217b40c3e8ecec"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2FSOAs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2FSOAs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2FSOAs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2FSOAs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertcarnell","download_url":"https://codeload.github.com/bertcarnell/SOAs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239288772,"owners_count":19614186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-17T12:27:59.796Z","updated_at":"2025-11-01T12:30:37.463Z","avatar_url":"https://github.com/bertcarnell.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: \n  github_document\n---\n\n```{r setup, include=FALSE}\nknitr::opts_chunk$set(echo = FALSE)\nrd \u003c- tools::parse_Rd(file.path(\"man\", \"SOAs-package.Rd\"))\nrd_html \u003c- capture.output(tools::Rd2HTML(rd))\n\n## Note:  These functions are internal to the tools package, but are not exposed\n##    and are therefore not intended to be used and are subject to change.\n##    for that reason, they are replicated here to ensure they stay consistent\n##    with this document\n\n## based on tools:::RdTags\nrd_get_tags \u003c- function(Rd)\n{\n  res \u003c- lapply(Rd, attr, \"Rd_tag\")\n  if (length(res)) \n      simplify2array(res, FALSE)\n  else character()\n}\n\n## based on tools:::.Rd_get_metadata\nrd_get_metadata \u003c- function(x, tag)\n{\n  x \u003c- x[rd_get_tags(x) == sprintf(\"\\\\%s\", tag)]\n  if (!length(x)) \n      character()\n  else unique(trimws(vapply(x, paste, \"\", collapse = \"\\n\")))\n}\n\n## might also want to capture html output for markdown.  This is more fragile\nrd_html_get \u003c- function(rd_html, from_h3, to_h3)\n{\n  #from_h3 \u003c- \"Details\"\n  #to_h3 \u003c- \"Author\"\n  ind_from \u003c- grep(paste0(\"\u003ch3\u003e\", from_h3), rd_html)\n  ind_to \u003c- grep(paste0(\"\u003ch3\u003e\", to_h3), rd_html)\n  if (length(ind_from) != 1 | length(ind_to) != 1 | all(ind_from == ind_to))\n  {\n    stop(\"from_h3 or to_h3 are not specified correctly\")\n  }\n  return(rd_html[(ind_from + 1):(ind_to - 1)])\n}\n\nmy_Rd_expr_doi \u003c- function (x) \n{\n    x \u003c- tools:::.canonicalize_doi(x)\n    sprintf(\"[doi: %s](https://doi.org/%s)\", x, x)\n}\n```\n\n\u003c!--- DO NOT EDIT:  AUTOMATICALLY GENERATED from README.Rmd --\u003e\n\n# SOAs\n\n```{r description, results = \"asis\"}\ncat(rd_get_metadata(rd, \"description\"))\n```\n\n```{r authors, results = \"asis\"}\nx \u003c- rd_get_metadata(rd, \"author\")\nx \u003c- gsub(\"Author\", \"- **Author**\", x)\nx \u003c- gsub(\"Contributor\", \"\\n- **Contributor**\", x)\ncat(x)\n```\n\n```{r build_badges, results = \"asis\"}\ncat(\"|Actions|Coverage|Website|\\n\")\ncat(\"|:-----:|:------:|:-----:|\\n\")\ncat(paste0(\"|\", \n           \"[![R-CMD-check](https://github.com/bertcarnell/SOAs/actions/workflows/r_cmd_check.yml/badge.svg)](https://github.com/bertcarnell/SOAs/actions/workflows/r_cmd_check.yml)\",\n           \"[![pkgdown](https://github.com/bertcarnell/SOAs/actions/workflows/pkgdown.yaml/badge.svg)](https://github.com/bertcarnell/SOAs/actions/workflows/pkgdown.yaml)\",\n           \"|\",\n           \"[![Codecov test coverage](https://codecov.io/gh/bertcarnell/SOAs/branch/main/graph/badge.svg)](https://codecov.io/gh/bertcarnell/SOAs?branch=main)\",\n           \"|\",\n           \"[![](https://img.shields.io/badge/pkgdown-SOAs-blue.svg)](https://bertcarnell.github.io/SOAs/)\",\n           \"|\"))\n```\n\n## Installation\n\nYou can install the released version of `SOAs` from [CRAN](https://CRAN.R-project.org) with:\n\n```{r install1, echo=TRUE, eval=FALSE}\ninstall.packages(\"SOAs\")\n```\nYou can also install the development version of `SOAs` from here with:\n\n```{r install_option, eval=FALSE, echo=TRUE}\nif (!require(devtools)) install.packages(\"devtools\")\ndevtools::install_github(\"bertcarnell/SOAs\")\n```\n\n## Details\n\n```{r details, results = \"asis\"}\ntemp \u003c- rd_html_get(rd_html, \"Details\", \"Author\") \n\n# change equations back to $ for eqn and $$ for deqn\n#   Find \u003ccode class=\\\"reqn\\\"\u003e and then the very next \u003c/code\u003e\n\nstart_token \u003c- '\u003ccode class=\"reqn\"\u003e'\nend_token \u003c- '\u003c/code\u003e'\ndeqn_start_token \u003c- '\u003cp style=\"text-align: center;\"\u003e\u003ccode class=\"reqn\"\u003e'\np_token \u003c- '\u003cp\u003e'\np_end_token \u003c- '\u003c/p\u003e'\np_align_token \u003c- '\u003cp style=\"text-align: center;\"\u003e'\n\nind_start \u003c- grep(start_token, temp)\nind_deqn_start \u003c- grep(deqn_start_token, temp)\n\nfor (i in 1:length(temp))\n{\n  ## /deqn\n  if (i %in% ind_deqn_start)\n  {\n    temp[i] \u003c- gsub(start_token, \"\\n$$\", temp[i])\n    if (!grepl(end_token, temp[i]))\n      stop(\"closing \u003c/code\u003e tag is not on the same line as the start for an equation\")\n    temp[i] \u003c- gsub(end_token, \"$$\\n\", temp[i])\n  }\n  ## /eqn\n  if (i %in% setdiff(ind_start, ind_deqn_start))\n  {\n    temp[i] \u003c- gsub(start_token, \"$\", temp[i])\n    if (!grepl(end_token, temp[i]))\n      stop(\"closing \u003c/code\u003e tag is not on the same line as the start for an equation\")\n    temp[i] \u003c- gsub(end_token, \"$\", temp[i])\n  }\n}\n\n## \u003cp\u003e tags\ntemp \u003c- gsub(p_token, \"\\n\", temp)\ntemp \u003c- gsub(p_end_token, \"\\n\", temp)\ntemp \u003c- gsub(p_align_token, \"\\n\", temp)\n\ncat(temp)\n```\n\n## References\n\n```{r references, results = \"asis\"}\ntemp \u003c- rd_html_get(rd_html, \"References\", \"See\") \nfor (i in seq_along(temp))\n{\n  if (grepl(\"[\\\\]+Sexpr[[]results=rd,stage=build[]][{].+[}]\", temp[i]))\n  {\n    m \u003c- regexpr(\"[\\\\]+Sexpr[[]results=rd,stage=build[]][{].+[}]\", temp[i])\n    text1 \u003c- substring(temp[i], 1, m-1)\n    code \u003c- substring(temp[i], m, m + attr(m, \"match.length\"))\n    if (m + attr(m, \"match.length\") \u003e= nchar(temp[i]))\n    {\n      text2 \u003c- \"\"\n    } else\n    {\n      text2 \u003c- substring(temp[i], m + attr(m,\"match.length\") + 1, nchar(temp[i]))\n    }\n    code \u003c- gsub(\".*[{]\", \"\", code)\n    code \u003c- gsub(\"[}].*\", \"\", code)\n    code \u003c- gsub(\"tools:::Rd_expr_doi\", \"my_Rd_expr_doi\", code)\n    temp[i] \u003c- paste(text1, eval(parse(text=code)), text2)\n  }\n}\n\n# this is a fix for Issue 19 - https://github.com/bertcarnell/SOAs/issues/19\nline_found \u003c- grep(\"[_]II\", temp)\nposit_found \u003c- gregexpr(\"[_]II\", temp[line_found])\ntemp2 \u003c- temp\n# temp2[line_found] \u003c- paste0(substring(temp[line_found], 1, posit_found[[1]][2]-1),\n#                             \"\u0026#95;\",\n#                             substring(temp[line_found], posit_found[[1]][2]+1, nchar(temp[line_found])))\ntemp2[line_found] \u003c- gsub(\"[\u003e]http\", \"\u003e`http\", temp[line_found])\ntemp2[line_found] \u003c- gsub(\"pdf[\u003c]\", \"pdf`\u003c\", temp2[line_found])\n\ncat(temp2)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertcarnell%2Fsoas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertcarnell%2Fsoas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertcarnell%2Fsoas/lists"}