Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"kramdown",
"ruby",
"markdown",
"html",
"pdf"
],
"is_fork": false,
"size_kb": 3440,
"has_wiki": true,
"homepage": "http://kramdown.gettalong.org",
"languages": {
"HTML": 73840,
"Roff": 2025,
"Ruby": 363982,
"Shell": 2818
},
"pushed_at": "2026-01-31T18:52:28Z",
"created_at": "2008-11-30T08:32:47Z",
"owner_type": "User",
"updated_at": "2026-07-21T18:37:51Z",
"description": "kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions.",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "master",
"license_spdx_raw": "NOASSERTION",
"primary_language": "Ruby",
"significant_languages": [
"Ruby",
"HTML"
]
},
"owner": {
"blog": "https://gettalong.org",
"name": "Thomas Leitner",
"type": "User",
"login": "gettalong",
"company": null,
"location": "Austria",
"followers": 241,
"avatar_url": "https://avatars.githubusercontent.com/u/4104?v=4",
"created_at": "2008-03-29T08:04:35Z",
"is_verified": null,
"public_repos": 29,
"account_age_days": 6688
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "REL_1_5_0",
"kind": "other",
"published_at": "2014-10-25T21:30:13Z"
},
{
"tag": "REL_1_4_0",
"kind": "other",
"published_at": "2014-06-18T04:25:57Z"
}
],
"recent_commits": [
{
"oid": "12b3d2e752793d4128b6355c338b23fefa674ee0",
"body": null,
"is_bot": false,
"headline": "Update copyright year",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2026-01-19T11:15:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da6ebd43d0859bab979d046f6f0a305ad4a8c0e8",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2026-01-19T11:12:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fafe509433abf7d5515d9e8a752c4cd0654469f",
"body": null,
"is_bot": false,
"headline": "Update required versions of REXML and Minitest",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2026-01-19T10:53:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96c5d963337e5ad6cd3fd54a6db238ca026d616e",
"body": null,
"is_bot": false,
"headline": "Fix test generation to avoid duplicate names for test cases",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2026-01-19T10:46:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc051a9d93e4dc3ff05bf41b70a79297ebdb669f",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-18T16:39:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8057be46573a24c9f35af118376077551435a0e",
"body": null,
"is_bot": false,
"headline": "Update REXML to 3.3.9",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-18T16:38:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "415315f282337cfe0f4d9a5be5eaa06580dadb3d",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-18T09:12:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5a9d64caaf3a455341919f76c778e4068c008ee",
"body": null,
"is_bot": false,
"headline": "Correctly parse CDATA sections",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-18T08:14:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b970b40f26f2634c89c1f4677e8e70474cb98dd0",
"body": null,
"is_bot": false,
"headline": "Add missing Gammad and gammad entities",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-17T22:14:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ac9402d5c580e6211d29a2827ea480b61c5c31e",
"body": null,
"is_bot": false,
"headline": "Match abbreviations across line breaks and other whitespace",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-17T22:00:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f5328284819016739b9381fac0e0fd7f631fa98",
"body": null,
"is_bot": false,
"headline": "Remove deprecated role=doc-endnote from footnote listing",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-17T17:55:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b860ab8b897ef8a150c756047505247ef75bc492",
"body": "If we parse em/strong and don't find the closing marker, recorded\nwarnings have to be deleted because they are invalid.\n\nExample that should show no warnings:\n\n The file <b>examples/complex/016_grid_example.rb</b> shows\n this new API, mixed with the old, original API.",
"is_bot": false,
"headline": "Fix invalid warnings due to reparsing of em/strong",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-17T14:29:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c40aa5798af280f4239da998a75c02b37a02b2d",
"body": null,
"is_bot": false,
"headline": "Fix exception in HTML table parsing when table is empty",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-17T11:38:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f71a264190edc39977edae393e8dceab76777ee7",
"body": null,
"is_bot": false,
"headline": "Add some more fraction entities",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T22:42:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96cc442aabb29559333105023a4446ee7c7d3678",
"body": null,
"is_bot": false,
"headline": "Blacklist failing LaTeX test due to LaTeX changes in UTF-8 handling",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T22:19:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "189a689784d6aba9798e459c41490a739bee2159",
"body": null,
"is_bot": false,
"headline": "Fix frozen string problem when running `kramdown --help`",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T22:07:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "993b3fa46ec91b8c0b2cd8fd08c3e0386f045eef",
"body": null,
"is_bot": false,
"headline": "Add test case for compact nested list output with kramdown converter",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T21:59:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ae293c3dadbe46817e1552ceea625ee137cc348",
"body": "Nested lists don't realise they are nested, and hence newlines are added after the end of a nested\nlist (within the main list) when this is of course unnecessary and can cause rendering issues.",
"is_bot": false,
"headline": "Enhance output of compact nested lists when converting to kramdown",
"author_name": "Virgil Ierubino",
"author_login": "Convincible",
"committed_at": "2024-11-16T21:58:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c2e4351377cb340f5d1b9df8fe8ce00091d7345",
"body": "`footnote_link_text` is a string that is directly inserted in\nfront of the footnote number. It can also be a formatted string\nthat the number is formatted into.\n\nFor example, if the string is \"[footnote %s]\", the footnote link\nwill be \"[footnote 1]\".\n\nIt will determine it the option is a forat string by running it\nthrough `sprintf`; if the output is the same, then it's not a\nformat string.\n\nAlso adds tests to make sure of the new output.",
"is_bot": false,
"headline": "Add new option, `footnote_link_text`",
"author_name": "Bryce Willey",
"author_login": "BryceStevenWilley",
"committed_at": "2024-11-16T21:34:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb6cad782ff8c857a27e15950dd83132cc648144",
"body": null,
"is_bot": false,
"headline": "Fix crash when converting edge case from HTML to kramdown",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T21:14:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2cb19429600ccd17939d97a6d0e28cef7c9c9a0e",
"body": null,
"is_bot": false,
"headline": "Remove unnecessary \\z from regexp",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T20:41:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fe657ca15f581994b6ba263abd9d3b7304af023",
"body": "When a line starts with a number that ends with a period, e.g. `1984.`, it\nneeds to be escaped, as otherwise markdown interprets it as a list.\n\nHowever, if a line begins with a number that includes a period in it, e.g.\n`1984.5`, it does not need to be escaped, as it won't be interpreted as a list.",
"is_bot": false,
"headline": "Prevent unnecessary escaping of numbers",
"author_name": "Paul McMahon",
"author_login": "pwim",
"committed_at": "2024-11-16T20:26:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5f172d3ab6807484ffcd2bbc1eed1ac50a50cdc",
"body": null,
"is_bot": false,
"headline": "Update needed rexml version to avoid versions with known vulnerabilities",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2024-11-16T11:20:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e6af12befff9bf64c418c7400a437dc8022f845",
"body": null,
"is_bot": false,
"headline": "Add <time> to the span level elements",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-10-13T21:06:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d4d5594485e7203adcbabd6e2481cc3e849f363",
"body": null,
"is_bot": false,
"headline": "Fix bad wording in syntax spec",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-10-13T20:44:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4381f171dc9e41130fdcca3b64290de8d446902a",
"body": null,
"is_bot": false,
"headline": "Fix broken tests",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-20T21:05:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da85e1e2e1f797f29f546f76d0ecc92270c6a0ec",
"body": null,
"is_bot": false,
"headline": "Add header_links feature",
"author_name": "Alex Taylor",
"author_login": "mctaylorpants",
"committed_at": "2023-03-20T20:46:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c343014bdf1a90263c0df2d3528ce3a701ac24b",
"body": "When underscores are used inside words, they must not be converted to\nelements. This change fixes the case where multiple underscores are\nused, e.g. `this___isa___test`.",
"is_bot": false,
"headline": "Fix emphasis tests with multiple underscores wrongly converted",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-20T09:20:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc2952b3a8e6b3208ad34a1924ed634a940a1f3a",
"body": null,
"is_bot": false,
"headline": "Add tests for links with multiple underscores",
"author_name": "Ashesh Kumar Singh",
"author_login": "askmrsinh",
"committed_at": "2023-03-20T09:18:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adfef7b3c5e6a4b07c3208993a038c56611503e9",
"body": null,
"is_bot": false,
"headline": "Convert line break in header to <br /> when converting to kramdown",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-18T21:00:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9557520d6d28d3c7cf968846356efa4398e3e9d2",
"body": null,
"is_bot": false,
"headline": "Shaky attempt to add the HTML5 entities",
"author_name": "John Haugeland",
"author_login": "StoneCypher",
"committed_at": "2023-03-15T22:39:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43dec69069e4b60c03385296dc7b6fb6f537d41f",
"body": null,
"is_bot": false,
"headline": "Make Ruby 2.5 the minimum version supported",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fd7a1acad58732d7b2c018c7d6b3b9182b04ac1",
"body": null,
"is_bot": false,
"headline": "Update travis configuration",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "039cedf998e8f89652a1d922ea141cf7704f8328",
"body": null,
"is_bot": false,
"headline": "Update rubocop and fix problems",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e9c20e06e4493832efed564e03cecaeb83cf2cd",
"body": "Using Ruby 3.2, the following command would fail like this without the fix:\n\n > bin\\kramdown --config-file .kramdown.yml -i GFM -o html README.md\n .../ruby-3.2-lean/lib/ruby/3.2.0/psych.rb:322:in `safe_load': wrong number of arguments (given 2, expected 1) (ArgumentError)\n from .../vendor/ruby/3.2.0/gems/kramdown-2.4.0/bin/kramdown:114:in `<top (required)>'\n from .../bin/kramdown.cmd:30:in `load'\n from .../bin/kramdown.cmd:30:in `<main>'",
"is_bot": false,
"headline": "Fix loading of config file with recent Rubies (Psych 4.0)",
"author_name": "Christian Boos",
"author_login": "cboos",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98f8e619e13119118f53253c59286ff501bd46e2",
"body": "Only consists of moving role=\"doc-noteref\" from the `sup` element to the\n`a` element in the test cases.",
"is_bot": false,
"headline": "Update tests for role doc-noteref element change",
"author_name": "Bryce Willey",
"author_login": "BryceStevenWilley",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7135a7bc099ea04a8e51716255f00aa931da71f2",
"body": "Fixes #719. PR #693 also incorporate this fix, but has gone stale.",
"is_bot": false,
"headline": "Fix role=\"doc-noteref\" per WAI-ARIA requirements.",
"author_name": "Paul",
"author_login": "psfrolov",
"committed_at": "2023-03-15T22:22:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7118abae2e040358541d1d01d2d0f207ab8952a4",
"body": "…it easier to support underlines.",
"is_bot": false,
"headline": "Adding the emphasis character to the options for the element to make …",
"author_name": "Jay Stramel",
"author_login": "ionactual",
"committed_at": "2022-09-02T00:07:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd678ecb59f70778fdb3b08bdcd39e2ab7379b45",
"body": null,
"is_bot": false,
"headline": "Define the list_indent option to make it generally usable",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-04-25T12:55:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e2edac494e8586350bfa3724e3ccb044ea394c5",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-04-25T12:52:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94f4d06ef14a32b196439e810e23cd2addb6dfef",
"body": "Some markdown dialects need to have nested lists indented by 4 spaces.\nThe kramdown converter writes the 2 spaces needed by kramdown.\nThe option list_indent allows setting this to 4 so that other markdown\nreaders can use the output.",
"is_bot": false,
"headline": "kramdown converter: Add list_indent option",
"author_name": "Carsten Bormann",
"author_login": "cabo",
"committed_at": "2022-04-25T12:39:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21b448c42575c4ecdf109b7510dc0e28fc3a4845",
"body": null,
"is_bot": false,
"headline": "Fix setting highlighter class for code spans in HTML converter",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-04-25T12:35:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ffcc560c5fa1bfa15984827e9b8f674536a7593",
"body": null,
"is_bot": false,
"headline": "Fix escaping of colon for conversion to kramdown",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-31T07:12:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70121c00e318e0bffb4b74bbef1acc5b071d5ed7",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-18T21:21:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cf510bfaa6e90ef168bc537c374b956e2b46b26",
"body": null,
"is_bot": false,
"headline": "Enhance documentation for forbidden_inline_options",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-18T21:00:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09b8a1ac5f79351ba72dfac51056f0bd0bdcb1c7",
"body": null,
"is_bot": false,
"headline": "Fix options output in webgen.config",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-18T17:44:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6637c9b37b99c4d0bf0436b6c1f650fdbfbfbe21",
"body": null,
"is_bot": false,
"headline": "Fix conversion of root-level text elements when parsing HTML",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-18T08:43:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0bc9c851cddbca45d3a97e28aacb7048ff6d6dde",
"body": null,
"is_bot": false,
"headline": "Make first list marker available for processor.",
"author_name": "Carsten Bormann",
"author_login": "cabo",
"committed_at": "2022-03-13T20:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91351f1ad5ca038a7910e22efe4b20b2ebeb194d",
"body": "Similar to PR #740:\n\nMaking the codespan delimiter available to the processor enables\nimplementing behaviors deriving variant behavior from using different\nnumbers of delimiters.\n(This should not impact any existing code.)",
"is_bot": false,
"headline": "Make codespan delimiter available for processor",
"author_name": "Carsten Bormann",
"author_login": "cabo",
"committed_at": "2022-03-13T09:13:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bde0a90b906dbdb651cfa764541bbae1dcfd1872",
"body": null,
"is_bot": false,
"headline": "Updated benchmark scripts",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-03-13T09:10:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f946ce2896eb98f311853ea745216c094c1c939",
"body": null,
"is_bot": false,
"headline": "Fix test failure when running with newer LaTeX version",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2022-01-27T20:45:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0deba67c579fee321213cbacd94f4837712386b",
"body": null,
"is_bot": false,
"headline": "Update news with CVE author info",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-05-19T08:09:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b0a9e072f9a76e59fe2bbafdf343118fb27c3fa",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-03-17T23:49:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "842dc738f61f078ec25e2a23fd88ca0d48d0c564",
"body": null,
"is_bot": false,
"headline": "Cache default options hash to avoid unnecessary computations",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-03-17T23:24:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ed84eeac3d778f72e8f71262a23ee6a57896170",
"body": null,
"is_bot": false,
"headline": "Fix inconsistency when handling code spans",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-03-17T23:16:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e23d7eae076c1b40878858fc49a3e0494065008",
"body": null,
"is_bot": false,
"headline": "Add rel=\"footnote\" to footnote links",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-03-17T23:13:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bedf8581738e940d46b9a22309daaa541791eab",
"body": null,
"is_bot": false,
"headline": "use block ial for standalone images",
"author_name": "Tobin Yehle",
"author_login": "tyehle",
"committed_at": "2021-03-17T23:00:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7eadd2b1bff0679f49654b529932fae1eceeea0d",
"body": "setup.rb:283: warning: key \"bin-dir\" is duplicated and overwritten on line 284",
"is_bot": false,
"headline": "Update setup.rb",
"author_name": "Daniel Bair",
"author_login": "danielbair",
"committed_at": "2021-03-17T22:36:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "695eb5845fa1f98a20dea0b65d7437d7c468b6e0",
"body": "This correctly places the `{}` group after the LaTeX commands used for\nconversion, rather than before. It appears this has been broken since\nedbd1fdf.\n\nAlso updates the span/text_substitutions/entities test to include\n`<span>`, which will be converted by the old converter to\n`{}\\textlessspan{}\\textgreater`, which should instead be\n`\\textless{}span\\textgreater{}`. The former will fail to compile, and should\nthrow an error.",
"is_bot": false,
"headline": "fix: fix LaTeX entity conversion group location",
"author_name": "aschmitz",
"author_login": "aschmitz",
"committed_at": "2021-03-17T22:32:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "daca2cfeba1e981c81a7e249aa995b7fd508ac9a",
"body": "Those tags must not be self-closed when empty.",
"is_bot": false,
"headline": "Fix conversion to kramdown of empty raw html td/th tags",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-03-17T22:24:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6a1cbcb2caa2f8a70927f176070d126b2422760",
"body": "ff0218a added support for specifying custom Rouge formatters with the\nconstraint that the formatter be in theRouge::Formatters namespace, but\nit did not actually enforce this constraint. For example, this is valid:\n\n```ruby\nRouge::Formatters.const_get('CSV')\n=> CSV\n```\n\nAdding the `false` parameter to `const_get` prevents this:\n\n```ruby\nRouge::Formatters.const_get('CSV', false)\nNameError: uninitialized constant Rouge::Formatters::CSV\n```",
"is_bot": false,
"headline": "Restrict Rouge formatters to Rouge::Formatters namespace",
"author_name": "Stan Hu",
"author_login": "stanhu",
"committed_at": "2021-03-14T18:47:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9cb5afc578bf6cea3ec64c314ebcca46c2d17981",
"body": null,
"is_bot": false,
"headline": "Update sponsor information",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-01-14T07:38:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1001759207c8a21ad97c69da6261e2a7340ac837",
"body": null,
"is_bot": false,
"headline": "Clarify requirements for rouge option 'formatter'",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-01-06T20:09:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d26ebaf483bd3b2581a2e872df234bd57475c1bb",
"body": null,
"is_bot": false,
"headline": "Fix bug where abbreviations are replaced in raw HTML/XML tags",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-01-06T18:35:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1beb51af7fe4ecb85dbab7328f47a23c86c7df2",
"body": null,
"is_bot": false,
"headline": "Fix failing tests due to changes in rouge",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2021-01-06T18:35:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17a77a6b99255c328deaeee4d01885f304542d6d",
"body": "* Test on ruby 2.7 and 3.0",
"is_bot": false,
"headline": "Test on ruby 2.7 and 3.0 (#696)",
"author_name": "timcraft",
"author_login": "timcraft",
"committed_at": "2021-01-06T18:34:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7bd1f34358ba4ab7c88daff9cae926d3eb29f03",
"body": "…ormance",
"is_bot": false,
"headline": "Update benchmarking facility to allow benchmarking relative Ruby perf…",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-12-26T18:02:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84e305c87c3f9c4926031e83fefde3c883e919cb",
"body": null,
"is_bot": false,
"headline": "Update version. release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-06-28T21:36:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b8fd33c3120bfc6e5164b449e2c2fc9c9306fde",
"body": "It is sometimes necessary to restrict the options that can be set\ninline, ie. using the {::options ...} extensions.\n\nBy default, the template option is now forbidden to avoid possible\nsecurity problems. This addresses CVE-2020-14001.",
"is_bot": false,
"headline": "Add option forbidden_inline_options",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-06-27T12:47:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd1bab4ee32324db3a11f5712718792164bd38c8",
"body": null,
"is_bot": false,
"headline": "Use assert_equal instead of .must_equal in test cases",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-06-27T09:35:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fc910f91270f7f416a38d06c106675a0a279e264",
"body": null,
"is_bot": false,
"headline": "Return empty string if argument is an empty hash (#665)",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-05-14T19:56:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e18100002ac774fe673aa312c224839a64dd8f6b",
"body": null,
"is_bot": false,
"headline": "Use Symbol instead of String for #send",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-09T15:06:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f31e877b8d488bb65322380592af02724734499",
"body": "Processing instructions were valid in HTML4 but are not in HTML5.\n\nSo ignore them when parsing a kramdown documenter. There is most\nprobably only a negligible amount of documents using processing\ninstructions but those WILL GET BROKEN.",
"is_bot": false,
"headline": "Remove parsing of XML processing instructions for kramdown documents",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-07T12:44:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "129c6ede7bd5b9a6de11202eb40c04fefb1199cc",
"body": null,
"is_bot": false,
"headline": "Remove deprecated gem spec option #has_rdoc",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-07T10:50:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd2a7d5e6b131c89ae6595a13b996480a3c490e5",
"body": "…sions",
"is_bot": false,
"headline": "Add documentation on how to properly use root nodes for custom conver…",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-07T10:37:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef22876f1273ef35fa6c31b22ce51f679be03380",
"body": null,
"is_bot": false,
"headline": "Use rbenv in benchmarks instead of rvm",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-07T10:27:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "333f75f7e05f7380a044f12a21f1f4945af1c09a",
"body": "The DISPATCHER constant represents global state and a thread safety\nissues on Ruby implementations without GIL.\n\nRemoving the dispatcher in favour of direct handling is slower. So the\nbest option is to store the dispatcher hash in an instance variable.\n\nSee GH#663 for a detailed discussion.",
"is_bot": false,
"headline": "Use instance variable for cache to avoid thread safety issues",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-07T10:24:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4458c23153884cb576e4a57739e191317256abea",
"body": "nil.dup only works starting from Ruby 2.4",
"is_bot": false,
"headline": "Fix problem on 2.3 with recent changes to syntax highlighter rouge",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-03T10:20:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90954bc4916153d5ad03dc3538b243c48e24a9d1",
"body": "The current version only allows characters as defined by HTML4. However,\nHTML5 allows any characters to be in an ID. Since allowing any character\nmight not play well with the XML syntax of HTML5, extend the allowed\ncharacter set to the full set allowed by XML.",
"is_bot": false,
"headline": "Allow more characters in header IDs",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-05-03T09:47:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7f2f5fd6707dd4a05d250029bba886232795ee4",
"body": "* Optimize preparation of options for Rouge",
"is_bot": false,
"headline": "Optimize preparation of options for Rouge (#655)",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-30T07:24:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3458f64466f8601d722c42d510ddaa9ae588c0a",
"body": "* Optimize hash access by safe-navigating `Hash#dig`",
"is_bot": false,
"headline": "Optimize hash access by safe-navigating `Hash#dig` (#654)",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-30T07:21:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09766069930ad11272a279cca3d9c93ecef6d1e6",
"body": null,
"is_bot": false,
"headline": "Fix typo",
"author_name": "Noah Doersing",
"author_login": "doersino",
"committed_at": "2020-04-30T07:01:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40c88505fee74980bc2bf5cb52fbc36cf2c51a44",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-23T14:15:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fde2e964068f6cd5a05314360822215bc6f6bea8",
"body": "The role=doc-toc is invalid for ul/ol, it is only valid for nav and\nsection.",
"is_bot": false,
"headline": "Remove setting of role doc-toc",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-23T14:15:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d97bfe07a76e0b5a08b1fbfc04fa05c89032a7f5",
"body": null,
"is_bot": false,
"headline": "Update version, release notes and homepage",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-22T22:01:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25690092ba26f280c196b0328a811af7501f7774",
"body": "Prior to 135f1fd, ATX headers with closing ### marks did not require\npreceding whitespace. While this is a requirement in GFM markdown[1],\nthe original markdown spec[2] doesn't require it.\n\nThis change therefore adds test cases to cover the reinstatement of this\nbehaviour, and adjusts the trimming r\n[…]\nosing ### marks\nonly if they are preceded by a backslash (for which a test case already\nexists).\n\n[1] https://github.github.com/gfm/#atx-heading\n[2] https://daringfireball.net/projects/markdown/syntax",
"is_bot": false,
"headline": "Don't require whitespace before closing ATX ### marks",
"author_name": "Simon Coffey",
"author_login": null,
"committed_at": "2020-04-22T08:44:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "173cd69a7e60c4683a6af8415f74dbe65fe3fe53",
"body": null,
"is_bot": false,
"headline": "Reduce regexps computed for parsing kramdown lists",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-21T20:38:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2708fee8262783ce95e4d9101775647e3b93806",
"body": null,
"is_bot": false,
"headline": "Stash and retrieve computed regex from a cache",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-21T11:28:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea19bdefe658c5101c330fba00105ed838163b8b",
"body": null,
"is_bot": false,
"headline": "substitute verbose method use with predicate sugar",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0246d2ffcbd6123f59d151453d1a8e9d7f54aa10",
"body": null,
"is_bot": false,
"headline": "Ask an element if it is a :block or :span directly",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0fe18f90dbef216b0fa1ce7c51733dee45abc57b",
"body": null,
"is_bot": false,
"headline": "Use static regex for simple codespan results",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b0416f7de14e9e0c9bed57811e2cc642f8d6561",
"body": null,
"is_bot": false,
"headline": "Pre-define syntax highlighter CSS class name",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be76732dab54a483162bcb22f7bda15c0c44bf40",
"body": null,
"is_bot": false,
"headline": "Reduce conversion of Symbol to String",
"author_name": "Ashwin Maroli",
"author_login": "ashmaroli",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0a2d532132f535dafa611ae47a953cc302a8601",
"body": null,
"is_bot": false,
"headline": "Adapt bug fix concerning the markdown attribute",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3b92f14d47389872f2aff276237039ed22731da",
"body": "…s that contain valid markdown when parsing HTML\n\nYou can reproduce the bug like this:\n\n```ruby\nhtml = <<~HTML\n<div>\n <img src=\"src.png\" alt=\"alt\" />\n</div>\nHTML\n\nmarkdown = Kramdown::Document.new(html, input: :html).to_kramdown\n\nhtml = Kramdown::Document.new(markdown).to_html\n```\n\nThe bug is that \n[…]\n``ruby\nhtml = <<~HTML\n<div>\n <p><img src=\"src.png\" alt=\"alt\" /></p>\n</div>\nHTML\n\nmarkdown = Kramdown::Document.new(html, input: :html).to_kramdown\n\nhtml = Kramdown::Document.new(markdown).to_html\n```",
"is_bot": false,
"headline": "Fix a bug that kept us from adding the markdown attribute to HTML tag…",
"author_name": "Bob Lail",
"author_login": "boblail",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c8f0985476de7ff1def464ab90a1d75a06ce9de3",
"body": "This improves accessibility of the generated HTML.\nSee https://www.w3.org/TR/dpub-aria-1.0/",
"is_bot": false,
"headline": "Add WAI-ARIA role attributes to TOC and footnotes HTML",
"author_name": "Maxime Kjaer",
"author_login": "MaximeKjaer",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88acccef6a8b9283def46afa8c71127bc7cceb17",
"body": null,
"is_bot": false,
"headline": "Add option for enabling CJK line break removal",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da3973424434146f3b3b53ea770447aff84a4112",
"body": null,
"is_bot": false,
"headline": "Remove deprecated part of gemspec",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebba7d37fdef538d9774abb7663c2d6691ca50d2",
"body": null,
"is_bot": false,
"headline": "Remove redundant line breaks for CJK #587",
"author_name": "Fangyi Zhou",
"author_login": "fangyi-zhou",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0bf5cb2f827089d4c4e9aebe3ad4760bff7f2f1d",
"body": null,
"is_bot": false,
"headline": "Wrap MathJax output in div/span if there are attributes",
"author_name": "Thomas Leitner",
"author_login": "gettalong",
"committed_at": "2020-04-17T20:16:10Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 2,
"commits_last_year": 4,
"latest_release_at": "2014-10-25T21:30:13Z",
"latest_release_tag": "REL_1_5_0",
"releases_from_tags": false,
"days_since_last_push": 171,
"active_weeks_last_year": 1,
"days_since_latest_release": 4287,
"mean_days_between_releases": 129.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 71,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 277,
"stars": 1779,
"watchers": 32,
"fork_history": {
"days": [
{
"date": "2010-02-23",
"count": 1
},
{
"date": "2010-05-25",
"count": 1
},
{
"date": "2010-10-06",
"count": 1
},
{
"date": "2010-11-04",
"count": 1
},
{
"date": "2010-11-25",
"count": 1
},
{
"date": "2011-03-08",
"count": 1
},
{
"date": "2011-03-11",
"count": 1
},
{
"date": "2011-04-07",
"count": 1
},
{
"date": "2011-04-22",
"count": 1
},
{
"date": "2011-06-23",
"count": 1
},
{
"date": "2011-10-25",
"count": 1
},
{
"date": "2011-12-30",
"count": 1
},
{
"date": "2012-01-14",
"count": 1
},
{
"date": "2012-02-05",
"count": 1
},
{
"date": "2012-02-29",
"count": 1
},
{
"date": "2012-03-03",
"count": 1
},
{
"date": "2012-05-16",
"count": 1
},
{
"date": "2012-06-27",
"count": 1
},
{
"date": "2012-08-29",
"count": 1
},
{
"date": "2012-10-17",
"count": 2
},
{
"date": "2012-11-08",
"count": 1
},
{
"date": "2013-01-22",
"count": 1
},
{
"date": "2013-02-09",
"count": 1
},
{
"date": "2013-03-11",
"count": 1
},
{
"date": "2013-03-14",
"count": 1
},
{
"date": "2013-03-22",
"count": 2
},
{
"date": "2013-03-27",
"count": 1
},
{
"date": "2013-04-20",
"count": 1
},
{
"date": "2013-04-21",
"count": 1
},
{
"date": "2013-05-02",
"count": 1
},
{
"date": "2013-05-14",
"count": 1
},
{
"date": "2013-06-06",
"count": 1
},
{
"date": "2013-06-08",
"count": 1
},
{
"date": "2013-06-20",
"count": 1
},
{
"date": "2013-07-13",
"count": 1
},
{
"date": "2013-07-15",
"count": 1
},
{
"date": "2013-07-16",
"count": 1
},
{
"date": "2013-07-22",
"count": 1
},
{
"date": "2013-08-12",
"count": 1
},
{
"date": "2013-08-13",
"count": 1
},
{
"date": "2013-08-25",
"count": 1
},
{
"date": "2013-09-05",
"count": 1
},
{
"date": "2013-09-20",
"count": 1
},
{
"date": "2013-09-28",
"count": 1
},
{
"date": "2013-09-30",
"count": 1
},
{
"date": "2013-10-05",
"count": 1
},
{
"date": "2013-10-07",
"count": 1
},
{
"date": "2013-10-08",
"count": 1
},
{
"date": "2013-10-30",
"count": 1
},
{
"date": "2013-11-03",
"count": 1
},
{
"date": "2013-11-07",
"count": 1
},
{
"date": "2013-11-18",
"count": 1
},
{
"date": "2013-12-19",
"count": 1
},
{
"date": "2013-12-24",
"count": 1
},
{
"date": "2013-12-28",
"count": 1
},
{
"date": "2014-01-15",
"count": 1
},
{
"date": "2014-01-23",
"count": 1
},
{
"date": "2014-02-28",
"count": 1
},
{
"date": "2014-03-10",
"count": 2
},
{
"date": "2014-04-01",
"count": 1
},
{
"date": "2014-04-08",
"count": 1
},
{
"date": "2014-05-09",
"count": 1
},
{
"date": "2014-05-12",
"count": 1
},
{
"date": "2014-05-14",
"count": 1
},
{
"date": "2014-06-06",
"count": 1
},
{
"date": "2014-06-10",
"count": 1
},
{
"date": "2014-06-18",
"count": 1
},
{
"date": "2014-07-18",
"count": 1
},
{
"date": "2014-07-31",
"count": 2
},
{
"date": "2014-08-05",
"count": 1
},
{
"date": "2014-08-26",
"count": 1
},
{
"date": "2014-09-05",
"count": 1
},
{
"date": "2014-09-11",
"count": 1
},
{
"date": "2014-10-01",
"count": 1
},
{
"date": "2014-10-09",
"count": 1
},
{
"date": "2014-12-29",
"count": 1
},
{
"date": "2015-01-17",
"count": 1
},
{
"date": "2015-01-18",
"count": 1
},
{
"date": "2015-02-11",
"count": 1
},
{
"date": "2015-03-01",
"count": 1
},
{
"date": "2015-03-04",
"count": 1
},
{
"date": "2015-03-08",
"count": 1
},
{
"date": "2015-03-19",
"count": 1
},
{
"date": "2015-03-23",
"count": 1
},
{
"date": "2015-04-03",
"count": 1
},
{
"date": "2015-04-13",
"count": 1
},
{
"date": "2015-05-05",
"count": 1
},
{
"date": "2015-05-06",
"count": 1
},
{
"date": "2015-06-04",
"count": 1
},
{
"date": "2015-06-21",
"count": 1
},
{
"date": "2015-07-17",
"count": 1
},
{
"date": "2015-09-02",
"count": 1
},
{
"date": "2015-09-08",
"count": 1
},
{
"date": "2015-09-23",
"count": 1
},
{
"date": "2015-10-28",
"count": 1
},
{
"date": "2015-11-05",
"count": 1
},
{
"date": "2016-01-01",
"count": 1
},
{
"date": "2016-02-05",
"count": 1
},
{
"date": "2016-02-10",
"count": 1
},
{
"date": "2016-03-11",
"count": 1
},
{
"date": "2016-04-14",
"count": 1
},
{
"date": "2016-05-06",
"count": 1
},
{
"date": "2016-05-13",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-06-10",
"count": 1
},
{
"date": "2016-06-18",
"count": 1
},
{
"date": "2016-07-27",
"count": 1
},
{
"date": "2016-08-09",
"count": 1
},
{
"date": "2016-09-29",
"count": 1
},
{
"date": "2016-09-30",
"count": 1
},
{
"date": "2016-10-03",
"count": 1
},
{
"date": "2016-11-20",
"count": 1
},
{
"date": "2016-11-22",
"count": 1
},
{
"date": "2016-11-25",
"count": 1
},
{
"date": "2016-12-08",
"count": 1
},
{
"date": "2016-12-27",
"count": 1
},
{
"date": "2017-01-04",
"count": 1
},
{
"date": "2017-02-22",
"count": 1
},
{
"date": "2017-03-15",
"count": 1
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-03-26",
"count": 1
},
{
"date": "2017-04-01",
"count": 1
},
{
"date": "2017-04-10",
"count": 1
},
{
"date": "2017-04-15",
"count": 1
},
{
"date": "2017-04-19",
"count": 1
},
{
"date": "2017-06-21",
"count": 1
},
{
"date": "2017-07-06",
"count": 1
},
{
"date": "2017-07-12",
"count": 1
},
{
"date": "2017-08-28",
"count": 1
},
{
"date": "2017-09-10",
"count": 1
},
{
"date": "2017-09-29",
"count": 1
},
{
"date": "2017-10-10",
"count": 1
},
{
"date": "2017-10-17",
"count": 1
},
{
"date": "2017-11-07",
"count": 1
},
{
"date": "2017-11-13",
"count": 1
},
{
"date": "2017-12-02",
"count": 1
},
{
"date": "2018-01-01",
"count": 1
},
{
"date": "2018-01-25",
"count": 1
},
{
"date": "2018-03-16",
"count": 1
},
{
"date": "2018-03-28",
"count": 1
},
{
"date": "2018-04-22",
"count": 1
},
{
"date": "2018-05-17",
"count": 1
},
{
"date": "2018-05-20",
"count": 1
},
{
"date": "2018-06-23",
"count": 1
},
{
"date": "2018-06-26",
"count": 1
},
{
"date": "2018-06-27",
"count": 1
},
{
"date": "2018-08-05",
"count": 1
},
{
"date": "2018-08-28",
"count": 1
},
{
"date": "2018-10-02",
"count": 1
},
{
"date": "2018-11-06",
"count": 1
},
{
"date": "2018-11-15",
"count": 1
},
{
"date": "2018-12-10",
"count": 1
},
{
"date": "2018-12-27",
"count": 1
},
{
"date": "2019-01-24",
"count": 1
},
{
"date": "2019-01-25",
"count": 1
},
{
"date": "2019-03-13",
"count": 1
},
{
"date": "2019-03-15",
"count": 1
},
{
"date": "2019-03-29",
"count": 1
},
{
"date": "2019-04-01",
"count": 1
},
{
"date": "2019-04-15",
"count": 1
},
{
"date": "2019-04-18",
"count": 1
},
{
"date": "2019-04-29",
"count": 1
},
{
"date": "2019-05-16",
"count": 1
},
{
"date": "2019-06-14",
"count": 1
},
{
"date": "2019-06-24",
"count": 1
},
{
"date": "2019-07-05",
"count": 1
},
{
"date": "2019-07-28",
"count": 1
},
{
"date": "2019-10-11",
"count": 1
},
{
"date": "2019-10-12",
"count": 1
},
{
"date": "2019-10-18",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-11-09",
"count": 1
},
{
"date": "2020-01-09",
"count": 1
},
{
"date": "2020-03-08",
"count": 1
},
{
"date": "2020-04-21",
"count": 1
},
{
"date": "2020-04-29",
"count": 1
},
{
"date": "2020-05-09",
"count": 1
},
{
"date": "2020-05-16",
"count": 1
},
{
"date": "2020-05-19",
"count": 1
},
{
"date": "2020-05-30",
"count": 1
},
{
"date": "2020-06-24",
"count": 1
},
{
"date": "2020-06-29",
"count": 1
},
{
"date": "2020-07-23",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-08-08",
"count": 1
},
{
"date": "2020-09-05",
"count": 1
},
{
"date": "2020-09-07",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-10-13",
"count": 1
},
{
"date": "2020-11-07",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-31",
"count": 1
},
{
"date": "2021-02-10",
"count": 1
},
{
"date": "2021-02-17",
"count": 1
},
{
"date": "2021-03-10",
"count": 1
},
{
"date": "2021-03-14",
"count": 1
},
{
"date": "2021-03-26",
"count": 2
},
{
"date": "2021-04-04",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-06-08",
"count": 1
},
{
"date": "2021-06-19",
"count": 1
},
{
"date": "2021-07-05",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-09-11",
"count": 1
},
{
"date": "2021-10-16",
"count": 1
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-12-09",
"count": 1
},
{
"date": "2022-01-08",
"count": 1
},
{
"date": "2022-01-09",
"count": 1
},
{
"date": "2022-02-08",
"count": 1
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-15",
"count": 1
},
{
"date": "2022-03-21",
"count": 1
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-07-22",
"count": 1
},
{
"date": "2022-08-25",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-03",
"count": 1
},
{
"date": "2022-10-20",
"count": 1
},
{
"date": "2022-11-02",
"count": 1
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-18",
"count": 1
},
{
"date": "2022-12-21",
"count": 1
},
{
"date": "2022-12-30",
"count": 1
},
{
"date": "2023-01-05",
"count": 1
},
{
"date": "2023-01-07",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-11",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-17",
"count": 1
},
{
"date": "2023-06-29",
"count": 1
},
{
"date": "2023-06-30",
"count": 1
},
{
"date": "2023-07-29",
"count": 1
},
{
"date": "2023-07-31",
"count": 1
},
{
"date": "2023-10-26",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-12-03",
"count": 1
},
{
"date": "2023-12-16",
"count": 1
},
{
"date": "2023-12-25",
"count": 1
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-05-16",
"count": 1
},
{
"date": "2024-05-22",
"count": 1
},
{
"date": "2024-05-25",
"count": 1
},
{
"date": "2024-06-21",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-07-18",
"count": 1
},
{
"date": "2024-10-01",
"count": 1
},
{
"date": "2024-10-02",
"count": 1
},
{
"date": "2024-10-04",
"count": 1
},
{
"date": "2024-10-14",
"count": 1
},
{
"date": "2024-12-10",
"count": 1
},
{
"date": "2024-12-30",
"count": 1
},
{
"date": "2025-01-09",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-03-21",
"count": 1
},
{
"date": "2025-10-04",
"count": 1
},
{
"date": "2025-10-13",
"count": 1
},
{
"date": "2025-12-07",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-07-10",
"count": 1
}
],
"complete": true,
"collected": 271,
"total_forks": 277
},
"star_history": {
"days": [
{
"date": "2016-03-24",
"count": 1
},
{
"date": "2016-03-25",
"count": 1
},
{
"date": "2016-03-28",
"count": 1
},
{
"date": "2016-03-29",
"count": 2
},
{
"date": "2016-03-30",
"count": 3
},
{
"date": "2016-04-01",
"count": 1
},
{
"date": "2016-04-02",
"count": 3
},
{
"date": "2016-04-03",
"count": 1
},
{
"date": "2016-04-04",
"count": 1
},
{
"date": "2016-04-05",
"count": 1
},
{
"date": "2016-04-08",
"count": 1
},
{
"date": "2016-04-11",
"count": 1
},
{
"date": "2016-04-14",
"count": 2
},
{
"date": "2016-04-17",
"count": 2
},
{
"date": "2016-04-25",
"count": 1
},
{
"date": "2016-04-26",
"count": 2
},
{
"date": "2016-04-27",
"count": 1
},
{
"date": "2016-04-30",
"count": 1
},
{
"date": "2016-05-02",
"count": 1
},
{
"date": "2016-05-03",
"count": 1
},
{
"date": "2016-05-04",
"count": 2
},
{
"date": "2016-05-05",
"count": 1
},
{
"date": "2016-05-12",
"count": 1
},
{
"date": "2016-05-16",
"count": 1
},
{
"date": "2016-05-17",
"count": 1
},
{
"date": "2016-05-20",
"count": 1
},
{
"date": "2016-05-21",
"count": 2
},
{
"date": "2016-05-22",
"count": 1
},
{
"date": "2016-05-25",
"count": 2
},
{
"date": "2016-05-28",
"count": 1
},
{
"date": "2016-05-31",
"count": 1
},
{
"date": "2016-06-03",
"count": 1
},
{
"date": "2016-06-05",
"count": 1
},
{
"date": "2016-06-08",
"count": 1
},
{
"date": "2016-06-10",
"count": 3
},
{
"date": "2016-06-21",
"count": 1
},
{
"date": "2016-06-22",
"count": 2
},
{
"date": "2016-06-24",
"count": 1
},
{
"date": "2016-06-25",
"count": 1
},
{
"date": "2016-06-26",
"count": 1
},
{
"date": "2016-06-27",
"count": 1
},
{
"date": "2016-06-28",
"count": 1
},
{
"date": "2016-06-29",
"count": 1
},
{
"date": "2016-06-30",
"count": 1
},
{
"date": "2016-07-07",
"count": 1
},
{
"date": "2016-07-08",
"count": 1
},
{
"date": "2016-07-10",
"count": 1
},
{
"date": "2016-07-11",
"count": 1
},
{
"date": "2016-07-18",
"count": 1
},
{
"date": "2016-07-24",
"count": 3
},
{
"date": "2016-07-26",
"count": 1
},
{
"date": "2016-07-28",
"count": 1
},
{
"date": "2016-08-03",
"count": 1
},
{
"date": "2016-08-04",
"count": 1
},
{
"date": "2016-08-08",
"count": 1
},
{
"date": "2016-08-09",
"count": 1
},
{
"date": "2016-08-16",
"count": 2
},
{
"date": "2016-08-17",
"count": 2
},
{
"date": "2016-08-21",
"count": 1
},
{
"date": "2016-08-25",
"count": 1
},
{
"date": "2016-08-31",
"count": 1
},
{
"date": "2016-09-05",
"count": 2
},
{
"date": "2016-09-09",
"count": 3
},
{
"date": "2016-09-11",
"count": 2
},
{
"date": "2016-09-12",
"count": 1
},
{
"date": "2016-09-13",
"count": 1
},
{
"date": "2016-09-19",
"count": 1
},
{
"date": "2016-09-24",
"count": 1
},
{
"date": "2016-09-25",
"count": 1
},
{
"date": "2016-09-29",
"count": 2
},
{
"date": "2016-10-03",
"count": 1
},
{
"date": "2016-10-07",
"count": 1
},
{
"date": "2016-10-08",
"count": 1
},
{
"date": "2016-10-10",
"count": 1
},
{
"date": "2016-10-12",
"count": 1
},
{
"date": "2016-10-13",
"count": 1
},
{
"date": "2016-10-16",
"count": 1
},
{
"date": "2016-10-20",
"count": 2
},
{
"date": "2016-10-21",
"count": 1
},
{
"date": "2016-10-23",
"count": 1
},
{
"date": "2016-10-25",
"count": 1
},
{
"date": "2016-10-28",
"count": 2
},
{
"date": "2016-11-02",
"count": 1
},
{
"date": "2016-11-03",
"count": 1
},
{
"date": "2016-11-08",
"count": 2
},
{
"date": "2016-11-10",
"count": 1
},
{
"date": "2016-11-16",
"count": 1
},
{
"date": "2016-11-18",
"count": 3
},
{
"date": "2016-11-20",
"count": 1
},
{
"date": "2016-11-21",
"count": 1
},
{
"date": "2016-11-23",
"count": 1
},
{
"date": "2016-11-25",
"count": 1
},
{
"date": "2016-11-26",
"count": 1
},
{
"date": "2016-11-28",
"count": 1
},
{
"date": "2016-12-04",
"count": 1
},
{
"date": "2016-12-05",
"count": 1
},
{
"date": "2016-12-06",
"count": 1
},
{
"date": "2016-12-07",
"count": 1
},
{
"date": "2016-12-08",
"count": 1
},
{
"date": "2016-12-11",
"count": 1
},
{
"date": "2016-12-12",
"count": 2
},
{
"date": "2016-12-14",
"count": 1
},
{
"date": "2016-12-17",
"count": 1
},
{
"date": "2016-12-18",
"count": 1
},
{
"date": "2016-12-26",
"count": 1
},
{
"date": "2016-12-29",
"count": 1
},
{
"date": "2017-01-04",
"count": 1
},
{
"date": "2017-01-07",
"count": 2
},
{
"date": "2017-01-09",
"count": 2
},
{
"date": "2017-01-10",
"count": 1
},
{
"date": "2017-01-14",
"count": 2
},
{
"date": "2017-01-18",
"count": 1
},
{
"date": "2017-01-19",
"count": 2
},
{
"date": "2017-01-28",
"count": 1
},
{
"date": "2017-01-29",
"count": 3
},
{
"date": "2017-02-05",
"count": 1
},
{
"date": "2017-02-07",
"count": 1
},
{
"date": "2017-02-08",
"count": 2
},
{
"date": "2017-02-16",
"count": 2
},
{
"date": "2017-02-17",
"count": 1
},
{
"date": "2017-02-18",
"count": 1
},
{
"date": "2017-02-20",
"count": 2
},
{
"date": "2017-02-22",
"count": 1
},
{
"date": "2017-02-23",
"count": 1
},
{
"date": "2017-02-28",
"count": 2
},
{
"date": "2017-03-02",
"count": 1
},
{
"date": "2017-03-04",
"count": 1
},
{
"date": "2017-03-07",
"count": 1
},
{
"date": "2017-03-08",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-10",
"count": 12
},
{
"date": "2017-03-11",
"count": 1
},
{
"date": "2017-03-12",
"count": 1
},
{
"date": "2017-03-13",
"count": 1
},
{
"date": "2017-03-14",
"count": 1
},
{
"date": "2017-03-15",
"count": 1
},
{
"date": "2017-03-18",
"count": 1
},
{
"date": "2017-03-20",
"count": 1
},
{
"date": "2017-03-21",
"count": 1
},
{
"date": "2017-03-23",
"count": 2
},
{
"date": "2017-03-26",
"count": 1
},
{
"date": "2017-03-28",
"count": 1
},
{
"date": "2017-03-30",
"count": 1
},
{
"date": "2017-04-03",
"count": 1
},
{
"date": "2017-04-07",
"count": 1
},
{
"date": "2017-04-08",
"count": 1
},
{
"date": "2017-04-18",
"count": 1
},
{
"date": "2017-04-21",
"count": 1
},
{
"date": "2017-04-22",
"count": 1
},
{
"date": "2017-04-25",
"count": 1
},
{
"date": "2017-04-26",
"count": 1
},
{
"date": "2017-05-02",
"count": 1
},
{
"date": "2017-05-04",
"count": 1
},
{
"date": "2017-05-10",
"count": 1
},
{
"date": "2017-05-14",
"count": 2
},
{
"date": "2017-05-22",
"count": 1
},
{
"date": "2017-05-24",
"count": 1
},
{
"date": "2017-05-25",
"count": 1
},
{
"date": "2017-05-31",
"count": 1
},
{
"date": "2017-06-02",
"count": 2
},
{
"date": "2017-06-06",
"count": 1
},
{
"date": "2017-06-11",
"count": 1
},
{
"date": "2017-06-20",
"count": 1
},
{
"date": "2017-06-21",
"count": 1
},
{
"date": "2017-06-23",
"count": 1
},
{
"date": "2017-06-24",
"count": 1
},
{
"date": "2017-06-26",
"count": 1
},
{
"date": "2017-06-27",
"count": 1
},
{
"date": "2017-07-04",
"count": 1
},
{
"date": "2017-07-08",
"count": 1
},
{
"date": "2017-07-09",
"count": 1
},
{
"date": "2017-07-10",
"count": 1
},
{
"date": "2017-07-11",
"count": 1
},
{
"date": "2017-07-12",
"count": 1
},
{
"date": "2017-07-13",
"count": 1
},
{
"date": "2017-07-17",
"count": 1
},
{
"date": "2017-07-18",
"count": 1
},
{
"date": "2017-07-26",
"count": 1
},
{
"date": "2017-07-27",
"count": 1
},
{
"date": "2017-07-28",
"count": 1
},
{
"date": "2017-07-31",
"count": 1
},
{
"date": "2017-08-06",
"count": 1
},
{
"date": "2017-08-08",
"count": 2
},
{
"date": "2017-08-16",
"count": 1
},
{
"date": "2017-08-20",
"count": 1
},
{
"date": "2017-08-21",
"count": 1
},
{
"date": "2017-08-30",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-06",
"count": 1
},
{
"date": "2017-09-11",
"count": 1
},
{
"date": "2017-09-19",
"count": 1
},
{
"date": "2017-09-21",
"count": 1
},
{
"date": "2017-09-26",
"count": 1
},
{
"date": "2017-09-29",
"count": 1
},
{
"date": "2017-09-30",
"count": 1
},
{
"date": "2017-10-02",
"count": 1
},
{
"date": "2017-10-07",
"count": 1
},
{
"date": "2017-10-10",
"count": 1
},
{
"date": "2017-10-13",
"count": 1
},
{
"date": "2017-10-15",
"count": 1
},
{
"date": "2017-10-19",
"count": 2
},
{
"date": "2017-10-20",
"count": 1
},
{
"date": "2017-10-23",
"count": 1
},
{
"date": "2017-10-24",
"count": 3
},
{
"date": "2017-10-25",
"count": 1
},
{
"date": "2017-10-26",
"count": 1
},
{
"date": "2017-11-02",
"count": 1
},
{
"date": "2017-11-03",
"count": 1
},
{
"date": "2017-11-05",
"count": 1
},
{
"date": "2017-11-06",
"count": 2
},
{
"date": "2017-11-07",
"count": 1
},
{
"date": "2017-11-10",
"count": 1
},
{
"date": "2017-11-11",
"count": 2
},
{
"date": "2017-11-12",
"count": 1
},
{
"date": "2017-11-17",
"count": 3
},
{
"date": "2017-11-18",
"count": 1
},
{
"date": "2017-11-22",
"count": 1
},
{
"date": "2017-11-24",
"count": 1
},
{
"date": "2017-11-25",
"count": 1
},
{
"date": "2017-11-27",
"count": 1
},
{
"date": "2017-12-04",
"count": 1
},
{
"date": "2017-12-05",
"count": 1
},
{
"date": "2017-12-07",
"count": 1
},
{
"date": "2017-12-08",
"count": 1
},
{
"date": "2017-12-09",
"count": 1
},
{
"date": "2017-12-12",
"count": 1
},
{
"date": "2017-12-21",
"count": 1
},
{
"date": "2017-12-23",
"count": 1
},
{
"date": "2017-12-26",
"count": 1
},
{
"date": "2017-12-27",
"count": 2
},
{
"date": "2017-12-30",
"count": 1
},
{
"date": "2018-01-01",
"count": 2
},
{
"date": "2018-01-05",
"count": 1
},
{
"date": "2018-01-06",
"count": 1
},
{
"date": "2018-01-12",
"count": 1
},
{
"date": "2018-01-17",
"count": 1
},
{
"date": "2018-01-21",
"count": 2
},
{
"date": "2018-01-25",
"count": 2
},
{
"date": "2018-02-04",
"count": 1
},
{
"date": "2018-02-05",
"count": 1
},
{
"date": "2018-02-11",
"count": 1
},
{
"date": "2018-02-13",
"count": 1
},
{
"date": "2018-02-16",
"count": 1
},
{
"date": "2018-02-17",
"count": 2
},
{
"date": "2018-02-20",
"count": 1
},
{
"date": "2018-02-22",
"count": 1
},
{
"date": "2018-02-23",
"count": 1
},
{
"date": "2018-02-24",
"count": 1
},
{
"date": "2018-02-27",
"count": 2
},
{
"date": "2018-02-28",
"count": 1
},
{
"date": "2018-03-01",
"count": 1
},
{
"date": "2018-03-06",
"count": 1
},
{
"date": "2018-03-08",
"count": 1
},
{
"date": "2018-03-20",
"count": 2
},
{
"date": "2018-03-21",
"count": 2
},
{
"date": "2018-03-22",
"count": 2
},
{
"date": "2018-03-23",
"count": 3
},
{
"date": "2018-03-25",
"count": 2
},
{
"date": "2018-03-31",
"count": 1
},
{
"date": "2018-04-02",
"count": 1
},
{
"date": "2018-04-08",
"count": 1
},
{
"date": "2018-04-14",
"count": 2
},
{
"date": "2018-04-22",
"count": 1
},
{
"date": "2018-05-05",
"count": 1
},
{
"date": "2018-05-07",
"count": 1
},
{
"date": "2018-05-08",
"count": 1
},
{
"date": "2018-05-10",
"count": 2
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-17",
"count": 1
},
{
"date": "2018-05-18",
"count": 1
},
{
"date": "2018-05-20",
"count": 1
},
{
"date": "2018-05-21",
"count": 1
},
{
"date": "2018-05-23",
"count": 2
},
{
"date": "2018-05-26",
"count": 1
},
{
"date": "2018-06-05",
"count": 1
},
{
"date": "2018-06-11",
"count": 1
},
{
"date": "2018-06-14",
"count": 2
},
{
"date": "2018-06-15",
"count": 2
},
{
"date": "2018-06-21",
"count": 1
},
{
"date": "2018-06-23",
"count": 1
},
{
"date": "2018-06-26",
"count": 1
},
{
"date": "2018-06-27",
"count": 1
},
{
"date": "2018-07-01",
"count": 1
},
{
"date": "2018-07-02",
"count": 3
},
{
"date": "2018-07-05",
"count": 1
},
{
"date": "2018-07-06",
"count": 1
},
{
"date": "2018-07-10",
"count": 1
},
{
"date": "2018-07-12",
"count": 1
},
{
"date": "2018-07-13",
"count": 1
},
{
"date": "2018-07-14",
"count": 1
},
{
"date": "2018-07-16",
"count": 1
},
{
"date": "2018-07-21",
"count": 1
},
{
"date": "2018-07-25",
"count": 1
},
{
"date": "2018-07-27",
"count": 1
},
{
"date": "2018-07-31",
"count": 1
},
{
"date": "2018-08-05",
"count": 1
},
{
"date": "2018-08-06",
"count": 2
},
{
"date": "2018-08-16",
"count": 2
},
{
"date": "2018-08-19",
"count": 1
},
{
"date": "2018-08-27",
"count": 1
},
{
"date": "2018-08-28",
"count": 2
},
{
"date": "2018-09-01",
"count": 1
},
{
"date": "2018-09-09",
"count": 1
},
{
"date": "2018-09-14",
"count": 1
},
{
"date": "2018-09-26",
"count": 1
},
{
"date": "2018-09-29",
"count": 1
},
{
"date": "2018-10-03",
"count": 1
},
{
"date": "2018-10-04",
"count": 2
},
{
"date": "2018-10-08",
"count": 1
},
{
"date": "2018-10-09",
"count": 2
},
{
"date": "2018-10-21",
"count": 1
},
{
"date": "2018-10-24",
"count": 1
},
{
"date": "2018-10-25",
"count": 1
},
{
"date": "2018-10-27",
"count": 1
},
{
"date": "2018-10-29",
"count": 1
},
{
"date": "2018-11-04",
"count": 1
},
{
"date": "2018-11-09",
"count": 3
},
{
"date": "2018-11-12",
"count": 2
},
{
"date": "2018-11-13",
"count": 1
},
{
"date": "2018-11-17",
"count": 1
},
{
"date": "2018-11-18",
"count": 1
},
{
"date": "2018-11-21",
"count": 1
},
{
"date": "2018-11-26",
"count": 2
},
{
"date": "2018-11-28",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-17",
"count": 1
},
{
"date": "2018-12-20",
"count": 1
},
{
"date": "2018-12-21",
"count": 1
},
{
"date": "2018-12-26",
"count": 3
},
{
"date": "2018-12-28",
"count": 1
},
{
"date": "2019-01-01",
"count": 1
},
{
"date": "2019-01-08",
"count": 1
},
{
"date": "2019-01-11",
"count": 1
},
{
"date": "2019-01-13",
"count": 1
},
{
"date": "2019-01-14",
"count": 1
},
{
"date": "2019-01-19",
"count": 2
},
{
"date": "2019-01-20",
"count": 3
},
{
"date": "2019-02-01",
"count": 1
},
{
"date": "2019-02-02",
"count": 1
},
{
"date": "2019-02-09",
"count": 1
},
{
"date": "2019-02-11",
"count": 3
},
{
"date": "2019-02-12",
"count": 1
},
{
"date": "2019-02-14",
"count": 2
},
{
"date": "2019-02-22",
"count": 1
},
{
"date": "2019-02-25",
"count": 1
},
{
"date": "2019-03-09",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-14",
"count": 1
},
{
"date": "2019-03-21",
"count": 3
},
{
"date": "2019-03-27",
"count": 1
},
{
"date": "2019-03-29",
"count": 1
},
{
"date": "2019-04-03",
"count": 1
},
{
"date": "2019-04-07",
"count": 1
},
{
"date": "2019-04-10",
"count": 1
},
{
"date": "2019-04-11",
"count": 1
},
{
"date": "2019-04-15",
"count": 1
},
{
"date": "2019-04-20",
"count": 1
},
{
"date": "2019-04-23",
"count": 1
},
{
"date": "2019-04-24",
"count": 1
},
{
"date": "2019-04-25",
"count": 1
},
{
"date": "2019-05-04",
"count": 2
},
{
"date": "2019-05-06",
"count": 1
},
{
"date": "2019-05-15",
"count": 1
},
{
"date": "2019-05-22",
"count": 1
},
{
"date": "2019-05-23",
"count": 1
},
{
"date": "2019-05-27",
"count": 1
},
{
"date": "2019-06-03",
"count": 1
},
{
"date": "2019-06-24",
"count": 2
},
{
"date": "2019-06-30",
"count": 2
},
{
"date": "2019-07-03",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-13",
"count": 1
},
{
"date": "2019-08-02",
"count": 1
},
{
"date": "2019-08-05",
"count": 1
},
{
"date": "2019-08-09",
"count": 1
},
{
"date": "2019-08-16",
"count": 1
},
{
"date": "2019-08-27",
"count": 2
},
{
"date": "2019-08-30",
"count": 1
},
{
"date": "2019-09-03",
"count": 1
},
{
"date": "2019-09-05",
"count": 1
},
{
"date": "2019-09-09",
"count": 1
},
{
"date": "2019-09-13",
"count": 1
},
{
"date": "2019-09-15",
"count": 1
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-09-24",
"count": 1
},
{
"date": "2019-09-29",
"count": 1
},
{
"date": "2019-10-05",
"count": 1
},
{
"date": "2019-10-10",
"count": 1
},
{
"date": "2019-10-11",
"count": 2
},
{
"date": "2019-10-12",
"count": 1
},
{
"date": "2019-10-18",
"count": 1
},
{
"date": "2019-10-22",
"count": 1
},
{
"date": "2019-11-05",
"count": 3
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2019-11-09",
"count": 1
},
{
"date": "2019-11-10",
"count": 1
},
{
"date": "2019-11-28",
"count": 1
},
{
"date": "2019-12-11",
"count": 1
},
{
"date": "2019-12-13",
"count": 1
},
{
"date": "2019-12-16",
"count": 1
},
{
"date": "2019-12-20",
"count": 1
},
{
"date": "2019-12-25",
"count": 1
},
{
"date": "2019-12-30",
"count": 1
},
{
"date": "2020-01-08",
"count": 1
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-17",
"count": 1
},
{
"date": "2020-01-23",
"count": 1
},
{
"date": "2020-01-29",
"count": 1
},
{
"date": "2020-02-06",
"count": 1
},
{
"date": "2020-02-09",
"count": 1
},
{
"date": "2020-02-14",
"count": 4
},
{
"date": "2020-02-17",
"count": 1
},
{
"date": "2020-02-18",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-02-20",
"count": 1
},
{
"date": "2020-02-24",
"count": 1
},
{
"date": "2020-02-28",
"count": 1
},
{
"date": "2020-03-04",
"count": 1
},
{
"date": "2020-03-11",
"count": 1
},
{
"date": "2020-03-15",
"count": 1
},
{
"date": "2020-03-20",
"count": 1
},
{
"date": "2020-03-21",
"count": 1
},
{
"date": "2020-03-22",
"count": 1
},
{
"date": "2020-04-01",
"count": 1
},
{
"date": "2020-04-04",
"count": 1
},
{
"date": "2020-04-08",
"count": 1
},
{
"date": "2020-04-09",
"count": 1
},
{
"date": "2020-04-10",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-18",
"count": 1
},
{
"date": "2020-04-24",
"count": 1
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-04-26",
"count": 3
},
{
"date": "2020-04-27",
"count": 5
},
{
"date": "2020-04-28",
"count": 3
},
{
"date": "2020-05-03",
"count": 1
},
{
"date": "2020-05-05",
"count": 1
},
{
"date": "2020-05-11",
"count": 2
},
{
"date": "2020-05-15",
"count": 1
},
{
"date": "2020-05-16",
"count": 1
},
{
"date": "2020-05-19",
"count": 1
},
{
"date": "2020-05-22",
"count": 1
},
{
"date": "2020-05-23",
"count": 1
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-05-27",
"count": 2
},
{
"date": "2020-05-28",
"count": 2
},
{
"date": "2020-05-31",
"count": 1
},
{
"date": "2020-06-04",
"count": 2
},
{
"date": "2020-06-06",
"count": 3
},
{
"date": "2020-06-29",
"count": 1
},
{
"date": "2020-06-30",
"count": 2
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-05",
"count": 1
},
{
"date": "2020-07-10",
"count": 1
},
{
"date": "2020-07-13",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-23",
"count": 3
},
{
"date": "2020-07-30",
"count": 1
},
{
"date": "2020-08-03",
"count": 1
},
{
"date": "2020-08-08",
"count": 2
},
{
"date": "2020-08-09",
"count": 2
},
{
"date": "2020-08-10",
"count": 1
},
{
"date": "2020-08-14",
"count": 1
},
{
"date": "2020-08-15",
"count": 2
},
{
"date": "2020-08-16",
"count": 1
},
{
"date": "2020-08-19",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-08-25",
"count": 2
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-03",
"count": 1
},
{
"date": "2020-09-07",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-09-16",
"count": 1
},
{
"date": "2020-09-22",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-30",
"count": 1
},
{
"date": "2020-10-02",
"count": 3
},
{
"date": "2020-10-03",
"count": 1
},
{
"date": "2020-10-06",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2020-10-08",
"count": 1
},
{
"date": "2020-10-09",
"count": 1
},
{
"date": "2020-10-16",
"count": 1
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-24",
"count": 1
},
{
"date": "2020-10-27",
"count": 1
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-11-10",
"count": 1
},
{
"date": "2020-11-11",
"count": 1
},
{
"date": "2020-11-12",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-21",
"count": 1
},
{
"date": "2020-11-22",
"count": 1
},
{
"date": "2020-11-26",
"count": 1
},
{
"date": "2020-11-28",
"count": 1
},
{
"date": "2020-11-30",
"count": 1
},
{
"date": "2020-12-04",
"count": 1
},
{
"date": "2020-12-08",
"count": 1
},
{
"date": "2020-12-10",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-24",
"count": 1
},
{
"date": "2020-12-26",
"count": 1
},
{
"date": "2020-12-28",
"count": 1
},
{
"date": "2020-12-30",
"count": 2
},
{
"date": "2021-01-01",
"count": 1
},
{
"date": "2021-01-03",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-11",
"count": 2
},
{
"date": "2021-01-12",
"count": 1
},
{
"date": "2021-01-16",
"count": 1
},
{
"date": "2021-01-21",
"count": 1
},
{
"date": "2021-01-22",
"count": 1
},
{
"date": "2021-01-27",
"count": 1
},
{
"date": "2021-01-31",
"count": 2
},
{
"date": "2021-02-02",
"count": 1
},
{
"date": "2021-02-07",
"count": 1
},
{
"date": "2021-02-12",
"count": 1
},
{
"date": "2021-02-13",
"count": 3
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-02-17",
"count": 2
},
{
"date": "2021-02-18",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-03-10",
"count": 1
},
{
"date": "2021-03-12",
"count": 1
},
{
"date": "2021-03-15",
"count": 1
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-26",
"count": 1
},
{
"date": "2021-03-28",
"count": 1
},
{
"date": "2021-03-30",
"count": 2
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-03",
"count": 1
},
{
"date": "2021-04-05",
"count": 1
},
{
"date": "2021-04-10",
"count": 1
},
{
"date": "2021-04-13",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-26",
"count": 1
},
{
"date": "2021-05-04",
"count": 1
},
{
"date": "2021-05-06",
"count": 1
},
{
"date": "2021-05-14",
"count": 1
},
{
"date": "2021-05-15",
"count": 2
},
{
"date": "2021-05-18",
"count": 2
},
{
"date": "2021-05-22",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-05-25",
"count": 1
},
{
"date": "2021-05-29",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-08",
"count": 1
},
{
"date": "2021-06-10",
"count": 1
},
{
"date": "2021-06-16",
"count": 1
},
{
"date": "2021-06-23",
"count": 1
},
{
"date": "2021-06-29",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-07-16",
"count": 1
},
{
"date": "2021-08-04",
"count": 1
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-10",
"count": 1
},
{
"date": "2021-08-15",
"count": 1
},
{
"date": "2021-08-16",
"count": 2
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-24",
"count": 1
},
{
"date": "2021-08-31",
"count": 1
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-09-16",
"count": 1
},
{
"date": "2021-09-18",
"count": 1
},
{
"date": "2021-10-03",
"count": 1
},
{
"date": "2021-10-08",
"count": 1
},
{
"date": "2021-10-26",
"count": 1
},
{
"date": "2021-11-02",
"count": 1
},
{
"date": "2021-11-07",
"count": 1
},
{
"date": "2021-11-15",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-30",
"count": 1
},
{
"date": "2021-12-13",
"count": 2
},
{
"date": "2021-12-14",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2021-12-25",
"count": 1
},
{
"date": "2021-12-27",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-08",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-01-23",
"count": 1
},
{
"date": "2022-01-26",
"count": 1
},
{
"date": "2022-01-31",
"count": 1
},
{
"date": "2022-02-01",
"count": 1
},
{
"date": "2022-02-16",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-03-04",
"count": 2
},
{
"date": "2022-03-05",
"count": 1
},
{
"date": "2022-03-06",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-03-11",
"count": 1
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-03-28",
"count": 2
},
{
"date": "2022-03-29",
"count": 1
},
{
"date": "2022-04-02",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-04-13",
"count": 1
},
{
"date": "2022-04-19",
"count": 2
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-04-29",
"count": 1
},
{
"date": "2022-04-30",
"count": 1
},
{
"date": "2022-05-11",
"count": 1
},
{
"date": "2022-05-15",
"count": 1
},
{
"date": "2022-05-21",
"count": 1
},
{
"date": "2022-05-22",
"count": 1
},
{
"date": "2022-05-28",
"count": 1
},
{
"date": "2022-05-30",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-07-06",
"count": 1
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-07-21",
"count": 1
},
{
"date": "2022-07-28",
"count": 1
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-07",
"count": 1
},
{
"date": "2022-08-19",
"count": 2
},
{
"date": "2022-08-21",
"count": 1
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-08-26",
"count": 1
},
{
"date": "2022-08-29",
"count": 1
},
{
"date": "2022-08-30",
"count": 1
},
{
"date": "2022-09-01",
"count": 1
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-09-09",
"count": 3
},
{
"date": "2022-09-10",
"count": 1
},
{
"date": "2022-09-20",
"count": 1
},
{
"date": "2022-09-24",
"count": 1
},
{
"date": "2022-09-26",
"count": 1
},
{
"date": "2022-10-01",
"count": 1
},
{
"date": "2022-10-07",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-10-12",
"count": 1
},
{
"date": "2022-10-13",
"count": 1
},
{
"date": "2022-10-16",
"count": 1
},
{
"date": "2022-10-19",
"count": 1
},
{
"date": "2022-10-22",
"count": 1
},
{
"date": "2022-10-23",
"count": 1
},
{
"date": "2022-10-29",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-07",
"count": 2
},
{
"date": "2022-11-16",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-18",
"count": 1
},
{
"date": "2022-11-22",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-11-24",
"count": 2
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-12-02",
"count": 2
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-23",
"count": 1
},
{
"date": "2023-01-01",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-02-02",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-13",
"count": 1
},
{
"date": "2023-02-14",
"count": 1
},
{
"date": "2023-02-19",
"count": 1
},
{
"date": "2023-02-27",
"count": 1
},
{
"date": "2023-03-11",
"count": 2
},
{
"date": "2023-03-15",
"count": 1
},
{
"date": "2023-03-21",
"count": 2
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-04",
"count": 1
},
{
"date": "2023-04-05",
"count": 1
},
{
"date": "2023-04-13",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-04-22",
"count": 1
},
{
"date": "2023-05-01",
"count": 2
},
{
"date": "2023-05-05",
"count": 1
},
{
"date": "2023-05-13",
"count": 2
},
{
"date": "2023-05-15",
"count": 1
},
{
"date": "2023-05-27",
"count": 1
},
{
"date": "2023-05-30",
"count": 1
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-18",
"count": 1
},
{
"date": "2023-06-19",
"count": 1
},
{
"date": "2023-06-24",
"count": 1
},
{
"date": "2023-06-27",
"count": 1
},
{
"date": "2023-07-08",
"count": 1
},
{
"date": "2023-07-10",
"count": 1
},
{
"date": "2023-07-15",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-08-02",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-14",
"count": 1
},
{
"date": "2023-09-11",
"count": 1
},
{
"date": "2023-09-26",
"count": 1
},
{
"date": "2023-10-06",
"count": 1
},
{
"date": "2023-10-07",
"count": 1
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-21",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-10-27",
"count": 1
},
{
"date": "2023-10-31",
"count": 1
},
{
"date": "2023-11-03",
"count": 1
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-12-03",
"count": 1
},
{
"date": "2023-12-04",
"count": 2
},
{
"date": "2023-12-05",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-17",
"count": 1
},
{
"date": "2023-12-18",
"count": 1
},
{
"date": "2023-12-20",
"count": 1
},
{
"date": "2023-12-21",
"count": 1
},
{
"date": "2023-12-25",
"count": 1
},
{
"date": "2024-01-16",
"count": 1
},
{
"date": "2024-01-23",
"count": 1
},
{
"date": "2024-01-28",
"count": 1
},
{
"date": "2024-02-01",
"count": 1
},
{
"date": "2024-02-10",
"count": 1
},
{
"date": "2024-02-13",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-02-23",
"count": 1
},
{
"date": "2024-02-24",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-03-25",
"count": 2
},
{
"date": "2024-03-27",
"count": 1
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-09",
"count": 2
},
{
"date": "2024-04-11",
"count": 1
},
{
"date": "2024-04-24",
"count": 1
},
{
"date": "2024-05-01",
"count": 1
},
{
"date": "2024-05-22",
"count": 1
},
{
"date": "2024-05-23",
"count": 1
},
{
"date": "2024-05-30",
"count": 1
},
{
"date": "2024-05-31",
"count": 1
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-27",
"count": 1
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-10",
"count": 1
},
{
"date": "2024-07-16",
"count": 1
},
{
"date": "2024-07-29",
"count": 1
},
{
"date": "2024-07-30",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-09",
"count": 1
},
{
"date": "2024-08-12",
"count": 1
},
{
"date": "2024-08-13",
"count": 1
},
{
"date": "2024-08-15",
"count": 1
},
{
"date": "2024-08-20",
"count": 1
},
{
"date": "2024-09-10",
"count": 1
},
{
"date": "2024-09-14",
"count": 1
},
{
"date": "2024-10-21",
"count": 1
},
{
"date": "2024-10-28",
"count": 1
},
{
"date": "2024-11-12",
"count": 1
},
{
"date": "2024-11-19",
"count": 2
},
{
"date": "2024-12-08",
"count": 1
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-04",
"count": 2
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-11",
"count": 1
},
{
"date": "2025-01-12",
"count": 1
},
{
"date": "2025-01-15",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-01-19",
"count": 1
},
{
"date": "2025-01-20",
"count": 1
},
{
"date": "2025-01-21",
"count": 1
},
{
"date": "2025-01-22",
"count": 1
},
{
"date": "2025-01-27",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-21",
"count": 1
},
{
"date": "2025-04-02",
"count": 1
},
{
"date": "2025-04-05",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-30",
"count": 1
},
{
"date": "2025-05-07",
"count": 1
},
{
"date": "2025-05-19",
"count": 1
},
{
"date": "2025-06-01",
"count": 1
},
{
"date": "2025-06-07",
"count": 2
},
{
"date": "2025-06-13",
"count": 1
},
{
"date": "2025-07-31",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-16",
"count": 1
},
{
"date": "2025-08-30",
"count": 1
},
{
"date": "2025-09-06",
"count": 1
},
{
"date": "2025-10-10",
"count": 1
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-11-13",
"count": 1
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2025-11-27",
"count": 1
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-20",
"count": 1
},
{
"date": "2025-12-26",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-02-24",
"count": 1
},
{
"date": "2026-03-03",
"count": 1
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-11",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-03-28",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-04-15",
"count": 1
},
{
"date": "2026-04-21",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-05-02",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-23",
"count": 1
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-25",
"count": 7
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-25",
"count": 2
},
{
"date": "2026-07-04",
"count": 1
},
{
"date": "2026-07-11",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 1779
},
"open_issues_and_prs": 17
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 36128,
"source_files_sampled": 63,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": "No resolved dependencies to assess",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [],
"collected": true,
"truncated": false,
"total_count": 0,
"direct_count": 0,
"indirect_count": 0
}
},
"maintainership": {
"issues": {
"open_prs": 3,
"merged_prs": 46,
"open_issues": 14,
"closed_ratio": 0.977,
"closed_issues": 583,
"closed_unmerged_prs": 184
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "gettalong",
"commits": 995,
"avatar_url": "https://avatars.githubusercontent.com/u/4104?v=4"
},
{
"type": "User",
"login": "ashmaroli",
"commits": 21,
"avatar_url": "https://avatars.githubusercontent.com/u/12479464?v=4"
},
{
"type": "User",
"login": "ccorn",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/25403527?v=4"
},
{
"type": "User",
"login": "gioele",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/237141?v=4"
},
{
"type": "User",
"login": "glebm",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/216339?v=4"
},
{
"type": "User",
"login": "plexus",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/32212?v=4"
},
{
"type": "User",
"login": "mojavelinux",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/79351?v=4"
},
{
"type": "User",
"login": "tsl0922",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/1680515?v=4"
},
{
"type": "User",
"login": "powerpak",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/459737?v=4"
},
{
"type": "User",
"login": "amarandon",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/156077613?v=4"
}
],
"contributors_sampled": 83,
"top_contributor_share": 0.872
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"has_docs_dir": true,
"linter_configs": [
".rubocop.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 5 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": null,
"reason": "no dependencies found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 9,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "12b3d2e752793d4128b6355c338b23fefa674ee0",
"ran_at": "2026-07-21T23:47:10Z",
"aggregate_score": 3.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [
{
"number": 482,
"created_at": "2018-01-01T18:16:28Z",
"last_comment_at": "2018-03-08T06:32:01Z",
"last_comment_author": "ccorn"
},
{
"number": 824,
"created_at": "2025-01-20T20:12:13Z",
"last_comment_at": "2025-01-20T21:01:57Z",
"last_comment_author": "Krinkle"
},
{
"number": 825,
"created_at": "2025-01-21T04:56:28Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2021-01-06T18:34:04Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 375,
"created_at": "2016-10-15T16:38:05Z",
"last_comment_at": "2016-11-12T08:35:03Z",
"last_comment_author": "gettalong"
},
{
"number": 486,
"created_at": "2018-01-08T03:05:54Z",
"last_comment_at": "2018-02-03T10:36:40Z",
"last_comment_author": "gettalong"
},
{
"number": 636,
"created_at": "2020-01-03T22:39:01Z",
"last_comment_at": "2020-01-04T03:23:18Z",
"last_comment_author": "mattneub"
},
{
"number": 718,
"created_at": "2021-05-31T13:47:34Z",
"last_comment_at": "2021-06-01T06:26:57Z",
"last_comment_author": "gettalong"
},
{
"number": 737,
"created_at": "2021-10-30T20:36:01Z",
"last_comment_at": "2021-11-01T05:05:05Z",
"last_comment_author": "StoneCypher"
},
{
"number": 759,
"created_at": "2022-07-22T13:50:26Z",
"last_comment_at": "2022-10-11T18:23:42Z",
"last_comment_author": "jaredcwhite"
},
{
"number": 820,
"created_at": "2024-12-15T11:25:36Z",
"last_comment_at": "2025-01-04T11:10:21Z",
"last_comment_author": "gettalong"
},
{
"number": 829,
"created_at": "2025-04-19T23:26:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 831,
"created_at": "2025-08-02T01:04:35Z",
"last_comment_at": "2025-10-01T21:32:41Z",
"last_comment_author": "CookiePLMonster"
},
{
"number": 832,
"created_at": "2025-08-16T10:03:04Z",
"last_comment_at": "2026-02-01T07:47:28Z",
"last_comment_author": "gettalong"
},
{
"number": 835,
"created_at": "2025-10-20T15:05:46Z",
"last_comment_at": "2025-10-20T20:53:54Z",
"last_comment_author": "gettalong"
},
{
"number": 838,
"created_at": "2025-11-30T18:04:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 839,
"created_at": "2025-12-08T21:41:53Z",
"last_comment_at": "2025-12-09T00:13:31Z",
"last_comment_author": "gettalong"
},
{
"number": 842,
"created_at": "2026-06-24T12:42:00Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/gettalong/kramdown",
"host": "github.com",
"name": "kramdown",
"owner": "gettalong"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": "Abandonment Policy applies a 85% multiplier to weighted overall health.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 0,
"pct": 85
}
}
],
"value": 42,
"inputs": {
"security": 32,
"vitality": 26,
"community": 73,
"governance": 49,
"engineering": 70,
"abandonment_cap": null,
"abandonment_state": "at_risk",
"abandonment_multiplier": 85,
"weighted_overall_before_abandonment": 50,
"overall_after_abandonment_multiplier": 42
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 26,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 17,
"inputs": {
"commits_last_year": 4,
"human_commit_share": 1,
"days_since_last_push": 171,
"active_weeks_last_year": 1
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 171 days ago",
"points": 9.9,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 171
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "1/52 weeks with commits",
"points": 0.7,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 1
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "4 commits in the last year",
"points": 6.3,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 4
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"releases_count": 2,
"latest_release_tag": "REL_1_5_0",
"releases_from_tags": false,
"days_since_latest_release": 4287,
"mean_days_between_releases": 129.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "2 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 2
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4287 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 4287
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~129.7 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 129.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"cap": null,
"state": "at_risk",
"guards": [
"maintainer_replying"
],
"signals": [
"unanswered_contributions",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 85,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 3,
"unanswered_open_issues": 4,
"days_since_last_merged_pr": 2022,
"days_since_last_human_commit": 183,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 183 days; 3 unmet obligation(s): pull requests unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 85,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 183,
"count": 3,
"signals": "pull requests unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 73,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"forks": 277,
"stars": 1779,
"watchers": 32,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,779 stars",
"points": 52.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1779
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "277 forks",
"points": 20.3,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 277
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "32 watchers",
"points": 8.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 32
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 49,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 83,
"top_contributor_share": 0.872
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 87% of commits",
"points": 2.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 87
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "83 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 83
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"merged_prs": 46,
"open_issues": 14,
"closed_issues": 583,
"issue_closed_ratio": 0.977,
"closed_unmerged_prs": 184
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "98% of issues closed",
"points": 45.7,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 98
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "46/230 decided PRs merged",
"points": 7.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 46,
"decided": 230
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 62,
"inputs": {
"followers": 241,
"owner_type": "User",
"is_verified": null,
"owner_login": "gettalong",
"public_repos": 29,
"account_age_days": 6688
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "241 followers of gettalong",
"points": 17.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 241,
"login": "gettalong"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "29 public repos, account ~18 yr old",
"points": 22.8,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 29
}
},
{
"code": "account_age_years",
"params": {
"years": 18
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 70,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".rubocop.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"kramdown",
"ruby",
"markdown",
"html",
"pdf"
],
"has_wiki": true,
"homepage": "http://kramdown.gettalong.org",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "http://kramdown.gettalong.org",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "5 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 5
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 32,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 32,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 13,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 5,
"scorecard_aggregate": 3.2
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 22
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 31,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 12,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.23,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "23 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 12.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 23,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 37,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".rubocop.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".rubocop.yml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 36128,
"source_files_sampled": 63,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Ruby without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Ruby"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/63 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 63,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-21T23:47:26.611371Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/gettalong/kramdown.svg",
"full_name": "gettalong/kramdown",
"license_state": "custom",
"license_spdx": null
}