{"id":13463231,"url":"https://github.com/gettalong/kramdown","last_synced_at":"2026-10-19T11:13:08.427Z","repository":{"id":458569,"uuid":"82580","full_name":"gettalong/kramdown","owner":"gettalong","description":"kramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and supporting several common extensions.","archived":false,"fork":false,"pushed_at":"2026-01-31T18:52:28.000Z","size":3440,"stargazers_count":1782,"open_issues_count":19,"forks_count":278,"subscribers_count":31,"default_branch":"master","last_synced_at":"2026-10-10T00:33:59.619Z","etag":null,"topics":["html","kramdown","markdown","pdf","ruby"],"latest_commit_sha":null,"homepage":"http://kramdown.gettalong.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gettalong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"gettalong","patreon":"gettalong"}},"created_at":"2008-11-30T08:32:47.000Z","updated_at":"2026-10-02T15:14:09.000Z","dependencies_parsed_at":"2026-03-27T01:02:15.688Z","dependency_job_id":null,"html_url":"https://github.com/gettalong/kramdown","commit_stats":{"total_commits":1130,"total_committers":89,"mean_commits":"12.696629213483146","dds":"0.13362831858407076","last_synced_commit":"fc051a9d93e4dc3ff05bf41b70a79297ebdb669f"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/gettalong/kramdown","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gettalong%2Fkramdown","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gettalong%2Fkramdown/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gettalong%2Fkramdown/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gettalong%2Fkramdown/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gettalong","download_url":"https://codeload.github.com/gettalong/kramdown/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gettalong%2Fkramdown/sbom","scorecard":{"id":424721,"data":{"date":"2025-08-11","repo":{"name":"github.com/gettalong/kramdown","commit":"fc051a9d93e4dc3ff05bf41b70a79297ebdb669f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Maintained","score":2,"reason":"0 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact REL_1_5_0 not signed: https://api.github.com/repos/gettalong/kramdown/releases/653829","Warn: release artifact REL_1_4_0 not signed: https://api.github.com/repos/gettalong/kramdown/releases/380646","Warn: release artifact REL_1_5_0 does not have provenance: https://api.github.com/repos/gettalong/kramdown/releases/653829","Warn: release artifact REL_1_4_0 does not have provenance: https://api.github.com/repos/gettalong/kramdown/releases/380646"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/gettalong/.github/SECURITY.md:1","Info: Found linked content: github.com/gettalong/.github/SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: github.com/gettalong/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}}]},"last_synced_at":"2025-08-19T01:59:31.750Z","repository_id":458569,"created_at":"2025-08-19T01:59:31.750Z","updated_at":"2025-08-19T01:59:31.750Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343680568,"owners_count":38173498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-10T02:00:07.419Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html","kramdown","markdown","pdf","ruby"],"created_at":"2024-07-31T13:00:48.606Z","updated_at":"2026-10-19T11:13:08.393Z","avatar_url":"https://github.com/gettalong.png","language":"Ruby","funding_links":["https://github.com/sponsors/gettalong","https://patreon.com/gettalong","https://github.com/sponsors/gettalong/","https://www.patreon.com/gettalong"],"categories":["HTML \u0026 Markup","Markdown Libraries","Markdown Processors","Uncategorized","Ruby","Happy Exploring 🤘","Libraries","Gems","Headquarters (HQ)","Markdown Building Blocks"],"sub_categories":["Markup processors","Ruby Markdown Libraries","Uncategorized","Ruby","Markdown","Markdown Libraries \u0026 Tools"],"readme":"# kramdown\n\n## Readme first!\n\nkramdown was originally licensed under the GPL until the 1.0.0 release. However, due to the many\nrequests it is now released under the MIT license and therefore can easily be used in commercial\nprojects, too.\n\nHowever, if you use kramdown in a commercial setting, please consider **contributing back any\nchanges** for the benefit of the community and/or [**becoming a\nsponsor**](https://github.com/sponsors/gettalong/) or [**a\npatron**](https://www.patreon.com/gettalong) - thanks!\n\nSponsors:\n\n* **GROSSWEBER** provides \u003ca href=\"http://grossweber.com/b/kramdown\" target=\"_blank\"\u003esoftware\n  development consulting and training services\u003c/a\u003e.\n\n\n## Introduction\n\nkramdown is a fast, pure Ruby Markdown superset converter, using a strict syntax definition and\nsupporting several common extensions.\n\nThe syntax definition for the kramdown syntax can be found in **doc/syntax.page** (or online at\n\u003chttp://kramdown.gettalong.org/syntax.html\u003e) and a quick reference is available in\n**doc/quickref.page** or online at \u003chttp://kramdown.gettalong.org/quickref.html\u003e.\n\nThe kramdown library is mainly written to support the kramdown-to-HTML conversion chain. However,\ndue to its flexibility (by creating an internal AST) it supports other input and output formats as\nwell. Here is a list of the supported formats:\n\n* input formats: kramdown (a Markdown superset), Markdown, GFM, HTML\n* output formats: HTML, kramdown, LaTeX (and therefore PDF), PDF via Prawn\n\nAll the documentation on the available input and output formats is available in the **doc/**\ndirectory and online at \u003chttp://kramdown.gettalong.org\u003e.\n\nStarting from version 1.0.0 kramdown is using a versioning scheme with major, minor and patch parts\nin the version number where the major number changes on backwards-incompatible changes, the minor\nnumber on the introduction of new features and the patch number on everything else.\n\nFor information about changes between versions, have a look at\n\u003chttp://kramdown.gettalong.org/news.html\u003e or the commit history!\n\n\n## Usage\n\nkramdown has a very simple API, so using kramdown is as easy as\n\n```ruby\nrequire 'kramdown'\n\nKramdown::Document.new(text).to_html\n```\n\nFor detailed information have a look at the API documentation of the `Kramdown::Document` class.\n\nThe full API documentation is available at \u003chttp://kramdown.gettalong.org/rdoc/\u003e, other sites with an\nAPI documentation for kramdown probably don't provide the complete documentation!\n\nThere are also some third-party libraries that extend the functionality of kramdown -- see the\nkramdown Wiki at \u003chttps://github.com/gettalong/kramdown/wiki\u003e.\n\n\n## Development\n\nJust clone the git repository as described in **doc/installation.page** and you are good to go. You\nprobably want to install `rake` so that you can use the provided rake tasks.\n\nIf you want to run the tests, the development dependencies are needed as well as some additional\nprograms like `tidy` and `latex`. See the `.travis.yml` file for more information.\n\n\n## License\n\nMIT - see the **COPYING** file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgettalong%2Fkramdown","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgettalong%2Fkramdown","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgettalong%2Fkramdown/lists"}