{
  "_id": "6a463cfa6ff6f235755478c6",
  "Package": "csstyle",
  "Title": "Standardizing Outputs in the 'Core Surveillance' Style",
  "Version": "2026.7.1",
  "Authors@R": "c(\nperson(c(\"Richard\",\"Aubrey\"), \"White\", email = \"hello@rwhite.no\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-6747-1726\")),\nperson(c(\"Celine\",\"Victoria\"), \"Berg-Hansen\", role = c(\"aut\"), comment = c(ORCID = \"0000-0002-0033-2019\")),\nperson(c(\"Chi\"), \"Zhang\", email = \"andreachizhang@yahoo.com\", role = c(\"aut\"))\n)",
  "Description": "A comprehensive styling system for consistent visual\noutputs using 'Core Surveillance' guidelines. Provides\n'ggplot2' themes, color palettes, and dual formatting functions\nto standardize graphs, tables, and reports. Includes Norwegian\nformatting conventions for domestic use and international\njournal standards for academic publications. Features number\nformatting (percentages, per-100k rates, log transformations),\ndate formatting (Norwegian vs ISO 8601), and a hierarchical\ncolor system. Focuses on consistency over flexibility to ensure\nreproducible, professional outputs across research contexts.",
  "License": "MIT + file LICENSE",
  "URL": "https://niphr.github.io/csstyle/, https://github.com/niphr/csstyle",
  "BugReports": "https://github.com/niphr/csstyle/issues",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/Needs/website": "niphr/cstemplate",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libfribidi-dev\nlibharfbuzz-dev libicu-dev libjpeg-dev libpng-dev libtiff-dev\nlibwebp-dev",
  "Repository": "https://niphr.r-universe.dev",
  "Date/Publication": "2026-07-01 17:48:43 UTC",
  "RemoteUrl": "https://github.com/niphr/csstyle",
  "RemoteRef": "HEAD",
  "RemoteSha": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-02 10:21:16 UTC",
    "User": "root"
  },
  "Author": "Richard Aubrey White [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-6747-1726>),\nCeline Victoria Berg-Hansen [aut] (ORCID:\n<https://orcid.org/0000-0002-0033-2019>),\nChi Zhang [aut]",
  "Maintainer": "Richard Aubrey White <hello@rwhite.no>",
  "MD5sum": "9f53d3ae5590eacc1b78c60a834a773f",
  "_user": "niphr",
  "_type": "src",
  "_file": "csstyle_2026.7.1.tar.gz",
  "_fileid": "fb084b931c22e52eed01adcc13e2640448e6f9a0ea6db72779a227f3e52894fa",
  "_filesize": 595122,
  "_sha256": "fb084b931c22e52eed01adcc13e2640448e6f9a0ea6db72779a227f3e52894fa",
  "_created": "2026-07-02T10:21:16.000Z",
  "_published": "2026-07-02T10:27:06.492Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 84747191746,
      "time": 198,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8035830186"
    },
    {
      "job": 84747191715,
      "time": 150,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8035812166"
    },
    {
      "job": 84747191748,
      "time": 120,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8035874778"
    },
    {
      "job": 84747191720,
      "time": 90,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8035849069"
    },
    {
      "job": 84746600311,
      "time": 193,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8035751647"
    },
    {
      "job": 84747191712,
      "time": 131,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8035804219"
    },
    {
      "job": 84747191790,
      "time": 125,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8035802559"
    },
    {
      "job": 84747191769,
      "time": 83,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8035786248"
    },
    {
      "job": 84747191727,
      "time": 110,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8035796259"
    }
  ],
  "_buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/niphr/csstyle",
  "_commit": {
    "id": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
    "author": "Richard Aubrey White <hello@rwhite.no>",
    "committer": "Richard Aubrey White <hello@rwhite.no>",
    "message": "save_a4: render PNGs with the ragg AGG device\n\nggsave now uses ragg::agg_png for .png output instead of the default\ngrDevices PNG device -- markedly faster for busy, many-geom ggplots and\npatchwork composites at full A4 / 300 dpi, with cleaner text. Non-PNG\nfilenames fall back to ggsave's extension-based device selection, so their\nbehaviour is unchanged. ragg added to Imports; version 2026.7.1; NEWS updated.\n",
    "time": 1782928123
  },
  "_maintainer": {
    "name": "Richard Aubrey White",
    "email": "hello@rwhite.no",
    "login": "raubreywhite",
    "orcid": "0000-0002-6747-1726",
    "twitter": "@raubreywhite",
    "description": "Applied infectious diseases statistician. Head of @norsyss within @folkehelseinstituttet \n",
    "uuid": 1532091
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.3.0",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "ragg",
      "role": "Imports"
    },
    {
      "package": "rstudioapi",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "csdata",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    }
  ],
  "_owner": "niphr",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-31",
      "n": 6
    },
    {
      "week": "2025-34",
      "n": 6
    },
    {
      "week": "2025-52",
      "n": 3
    },
    {
      "week": "2026-27",
      "n": 13
    }
  ],
  "_tags": [],
  "_topics": [
    "csverse"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "raubreywhite",
      "count": 61,
      "uuid": 1532091
    },
    {
      "user": "celinevictoria",
      "count": 11,
      "uuid": 85820890
    },
    {
      "user": "chizapoth",
      "count": 3,
      "uuid": 32897643
    }
  ],
  "_userbio": {
    "uuid": 244534951,
    "type": "organization",
    "name": "Norwegian Institute of Public Health - R codebases",
    "followers": 2,
    "description": "The Norwegian Institute of Public Health is a government agency under the Ministry of Health and Care Services."
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/csstyle"
  },
  "_devurl": "https://github.com/niphr/csstyle",
  "_pkgdown": "https://niphr.github.io/csstyle/",
  "_searchresults": 2,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/csstyle.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "as_github_code",
    "colors",
    "display_all_palettes",
    "every_nth",
    "format_cstidy_age_as_character",
    "format_cstidy_age_as_factor",
    "format_date_as_journal",
    "format_date_as_nor",
    "format_datetime_as_file",
    "format_datetime_as_journal",
    "format_datetime_as_journal_file",
    "format_datetime_as_nor",
    "format_location_code_as_character",
    "format_location_code_as_factor",
    "format_num_as_journal_invlog10_1",
    "format_num_as_journal_invlog10_2",
    "format_num_as_journal_invlog2_1",
    "format_num_as_journal_invlog2_2",
    "format_num_as_journal_invloge_1",
    "format_num_as_journal_invloge_2",
    "format_num_as_journal_num_0",
    "format_num_as_journal_num_1",
    "format_num_as_journal_num_2",
    "format_num_as_journal_per100k_0",
    "format_num_as_journal_per100k_1",
    "format_num_as_journal_per100k_2",
    "format_num_as_journal_perc_0",
    "format_num_as_journal_perc_1",
    "format_num_as_journal_perc_2",
    "format_num_as_nor_invlog10_1",
    "format_num_as_nor_invlog10_2",
    "format_num_as_nor_invlog2_1",
    "format_num_as_nor_invlog2_2",
    "format_num_as_nor_invloge_1",
    "format_num_as_nor_invloge_2",
    "format_num_as_nor_num_0",
    "format_num_as_nor_num_1",
    "format_num_as_nor_num_2",
    "format_num_as_nor_per100k_0",
    "format_num_as_nor_per100k_1",
    "format_num_as_nor_per100k_2",
    "format_num_as_nor_perc_0",
    "format_num_as_nor_perc_1",
    "format_num_as_nor_perc_2",
    "pretty_breaks",
    "save_a4",
    "scale_color_cs",
    "scale_fill_cs",
    "set_global",
    "set_x_axis_vertical",
    "theme_cs",
    "view_html"
  ],
  "_help": [
    {
      "page": "as_github_code",
      "title": "Create a github_code object from a GitHub URL",
      "topics": [
        "as_github_code"
      ]
    },
    {
      "page": "colors",
      "title": "Color definitions for Core Surveillance styling",
      "concept": [
        "csstyle_utilities"
      ],
      "topics": [
        "colors"
      ]
    },
    {
      "page": "display_all_palettes",
      "title": "Display all available color palettes",
      "concept": [
        "csstyle_utilities"
      ],
      "topics": [
        "display_all_palettes"
      ]
    },
    {
      "page": "every_nth",
      "title": "Returns every nth discrete value",
      "concept": [
        "csstyle_utilities"
      ],
      "topics": [
        "every_nth"
      ]
    },
    {
      "page": "format_cstidy_age_as",
      "title": "Format cstidy age codes as factor with Norwegian text",
      "concept": [
        "csstyle_age_formatters"
      ],
      "topics": [
        "format_cstidy_age_as_character",
        "format_cstidy_age_as_factor"
      ]
    },
    {
      "page": "format_date_as_journal",
      "title": "Format date and datetime using journal conventions (ISO 8601)",
      "concept": [
        "csstyle_journal_date_formatters"
      ],
      "topics": [
        "format_datetime_as_journal",
        "format_datetime_as_journal_file",
        "format_date_as_journal"
      ]
    },
    {
      "page": "format_date",
      "title": "Format date and datetime using Norwegian conventions",
      "concept": [
        "csstyle_date_formatters"
      ],
      "topics": [
        "format_datetime_as_file",
        "format_datetime_as_nor",
        "format_date_as_nor"
      ]
    },
    {
      "page": "format_location_code_as",
      "title": "Convert Norwegian location codes to factor with readable labels",
      "concept": [
        "csstyle_location_formatters"
      ],
      "topics": [
        "format_location_code_as_character",
        "format_location_code_as_factor"
      ]
    },
    {
      "page": "format_num_as_journal_invlog10",
      "title": "Format numbers on inverse log-10 scale with journal conventions (1 digit)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_invlog10_1",
        "format_num_as_journal_invlog10_2"
      ]
    },
    {
      "page": "format_num_as_journal_invlog2",
      "title": "Format numbers on inverse log-2 scale with journal conventions (1 digit)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_invlog2_1",
        "format_num_as_journal_invlog2_2"
      ]
    },
    {
      "page": "format_num_as_journal_invloge",
      "title": "Format numbers on inverse natural log scale with journal conventions (1 digit)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_invloge_1",
        "format_num_as_journal_invloge_2"
      ]
    },
    {
      "page": "format_num_as_journal_num",
      "title": "Format numbers with journal conventions (0 digits)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_num_0",
        "format_num_as_journal_num_1",
        "format_num_as_journal_num_2"
      ]
    },
    {
      "page": "format_num_as_journal_per100k",
      "title": "Format numbers per 100k with journal conventions (0 digits)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_per100k_0",
        "format_num_as_journal_per100k_1",
        "format_num_as_journal_per100k_2"
      ]
    },
    {
      "page": "format_num_as_journal_perc",
      "title": "Format numbers as percentages with journal conventions (0 digits)",
      "concept": [
        "csstyle_journal_formatters"
      ],
      "topics": [
        "format_num_as_journal_perc_0",
        "format_num_as_journal_perc_1",
        "format_num_as_journal_perc_2"
      ]
    },
    {
      "page": "format_num_as_nor_invlog10",
      "title": "Format numbers on inverse log-10 scale with Norwegian conventions (1 digit)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_invlog10_1",
        "format_num_as_nor_invlog10_2"
      ]
    },
    {
      "page": "format_num_as_nor_invlog2",
      "title": "Format numbers on inverse log-2 scale with Norwegian conventions (1 digit)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_invlog2_1",
        "format_num_as_nor_invlog2_2"
      ]
    },
    {
      "page": "format_num_as_nor_invloge",
      "title": "Format numbers on inverse natural log scale with Norwegian conventions (1 digit)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_invloge_1",
        "format_num_as_nor_invloge_2"
      ]
    },
    {
      "page": "format_num_as_nor_num",
      "title": "Format numbers with Norwegian conventions (0 digits)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_num_0",
        "format_num_as_nor_num_1",
        "format_num_as_nor_num_2"
      ]
    },
    {
      "page": "format_num_as_nor_per100k",
      "title": "Format numbers per 100k with Norwegian conventions (0 digits)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_per100k_0",
        "format_num_as_nor_per100k_1",
        "format_num_as_nor_per100k_2"
      ]
    },
    {
      "page": "format_num_as_nor_perc",
      "title": "Format numbers as percentages with Norwegian conventions (0 digits)",
      "concept": [
        "csstyle_formatters"
      ],
      "topics": [
        "format_num_as_nor_perc_0",
        "format_num_as_nor_perc_1",
        "format_num_as_nor_perc_2"
      ]
    },
    {
      "page": "pretty_breaks",
      "title": "Pretty breaks",
      "topics": [
        "pretty_breaks"
      ]
    },
    {
      "page": "print.github_code",
      "title": "Print a github_code object",
      "topics": [
        "print.github_code"
      ]
    },
    {
      "page": "save_a4",
      "title": "Save ggplot in A4 scale",
      "topics": [
        "save_a4"
      ]
    },
    {
      "page": "scale_color_cs",
      "title": "ggplot2 color scale using Core Surveillance color palettes",
      "concept": [
        "csstyle_ggplot2"
      ],
      "topics": [
        "scale_color_cs"
      ]
    },
    {
      "page": "scale_fill_cs",
      "title": "ggplot2 fill scale using Core Surveillance color palettes",
      "concept": [
        "csstyle_ggplot2"
      ],
      "topics": [
        "scale_fill_cs"
      ]
    },
    {
      "page": "set_global",
      "title": "Set global configuration for location code formatting",
      "concept": [
        "csstyle_utilities"
      ],
      "topics": [
        "set_global"
      ]
    },
    {
      "page": "theme",
      "title": "Core Surveillance ggplot2 theme for consistent styling",
      "concept": [
        "csstyle_ggplot2"
      ],
      "topics": [
        "set_x_axis_vertical",
        "theme_cs"
      ]
    },
    {
      "page": "view_html",
      "title": "View HTML in the RStudio viewer",
      "topics": [
        "view_html"
      ]
    }
  ],
  "_pkglogo": "https://github.com/niphr/csstyle/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/niphr/csstyle/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "cli",
    "cpp11",
    "csdata",
    "data.table",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "jsonlite",
    "labeling",
    "lifecycle",
    "magrittr",
    "R6",
    "ragg",
    "RColorBrewer",
    "rlang",
    "rstudioapi",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "systemfonts",
    "textshaping",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "csstyle.Rmd",
      "filename": "csstyle.html",
      "title": "Introduction to csstyle",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Themes",
        "Color palettes",
        "Number formatting",
        "Norwegian number format",
        "Date formatting",
        "Norwegian date format",
        "Journal formatting",
        "Number format comparison",
        "Date format comparison",
        "Log scale transformations",
        "Utility functions",
        "Pretty breaks",
        "Every nth label",
        "Further reading"
      ],
      "created": "2022-11-21 09:25:33",
      "modified": "2026-06-30 06:06:51",
      "commits": 11
    }
  ],
  "_score": 3.6020599913279625,
  "_indexed": true,
  "_nocasepkg": "csstyle",
  "_universes": [
    "niphr",
    "raubreywhite"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2026.7.1",
      "date": "2026-07-02T10:24:24.000Z",
      "distro": "resolute",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "29254fd33103b226a203063439b40fd110ceeaecde4951ddfabd616d83673324",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2026.7.1",
      "date": "2026-07-02T10:23:36.000Z",
      "distro": "resolute",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "3b6fbdf8262972ce80d2ae1c68a39f6720edb8bb2ae6f6263d64b1e0c5422b89",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2026.7.1",
      "date": "2026-07-02T10:26:26.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "af597f0373f50047dda6774b397a02cb51dd6001b93ccd35ca969e5cee4989a6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2026.7.1",
      "date": "2026-07-02T10:25:22.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "ae34248da092585c333f46e283a6dd2770b6fe6e771298d7c96032b890912cdc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2026.7.1",
      "date": "2026-07-02T10:23:42.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "b4abc0da29f995f44665895e0d2a3bdc7802bbbccd3731cfe4319e01a5e8447a",
      "status": "success",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2026.7.1",
      "date": "2026-07-02T10:22:55.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "29c8886b540d1fb457dbd577749c454dfd413244c32d25d29f28fb1e3b7fe9f6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2026.7.1",
      "date": "2026-07-02T10:22:26.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "71b1004f8bc5c2acb96fa9c5f3aa1dc73c06e03bc40053d278a262c4bffef481",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2026.7.1",
      "date": "2026-07-02T10:22:42.000Z",
      "commit": "ab63a3619765d43721cee9ced6e9c01934aabd9c",
      "fileid": "cacfcf654e579a944de9e06b16b6602b8d2224bb1a0bd6e3f07276fa2cbf0a1e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/niphr/actions/runs/28582679391"
    }
  ]
}