https://github.com/kramdown/parser-gfm
kramdown-parser-gfm provides a kramdown parser for the GFM dialect of Markdown
https://github.com/kramdown/parser-gfm
Keywords from Contributors
kramdown
Last synced: about 4 hours ago
JSON representation
Repository metadata
kramdown-parser-gfm provides a kramdown parser for the GFM dialect of Markdown
- Host: GitHub
- URL: https://github.com/kramdown/parser-gfm
- Owner: kramdown
- License: other
- Created: 2019-01-11T22:43:26.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-07T05:51:26.000Z (over 1 year ago)
- Last Synced: 2026-02-26T14:12:16.517Z (5 days ago)
- Language: Ruby
- Size: 51.8 KB
- Stars: 63
- Watchers: 5
- Forks: 17
- Open Issues: 15
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
README.md
kramdown GFM parser
This is a parser for kramdown that converts Markdown documents
in the GitHub Flavored Markdown (GFM) dialect to HTML.
Note: Until kramdown version 2.0.0 this parser was part of the kramdown distribution.
Installation
gem install kramdown-parser-gfm
Usage
require 'kramdown'
require 'kramdown-parser-gfm'
Kramdown::Document.new(text, input: 'GFM').to_html
Documentation
At the moment this parser is based on the kramdown parser, with the following changes:
- Support for fenced code blocks using three or more backticks has been added.
- Hard line breaks in paragraphs are enforced by default (see option
hard_wrap). - ATX headers need a whitespace character after the hash signs.
- Strikethroughs can be created using two tildes surrounding a piece of text.
- Blank lines between paragraphs and other block elements are not needed by default (see option
gfm_quirks). - Render emojis used at GitHub .
Please note that the GFM parser tries to mimic the parser used at GitHub which means that for some
special cases broken behaviour is the expected behaviour.
Here is an example:
This ~~is a complex strike through *test ~~with nesting~~ involved* here~~.
In this case the correct GFM result is:
<p>This <del>is a complex strike through *test ~~with nesting</del> involved* here~~.</p>
Options
The GFM parser provides the following options:
-
hard_wrap: Interprets line breaks literally (default:true)Insert HTML
<br />tags inside paragraphs where the original Markdown document had newlines (by
default, Markdown ignores these newlines). -
gfm_quirks: Enables a set of GFM specific quirks (default:paragraph_end)The way how GFM is transformed on GitHub often differs from the way kramdown does things. Many of
these differences are negligible but others are not.This option allows one to enable/disable certain GFM quirks, i.e. ways in which GFM parsing
differs from kramdown parsing.The value has to be a list of quirk names that should be enabled, separated by commas. Possible
names are:-
paragraph_endDisables the kramdown restriction that at least one blank line has to be used after a paragraph
before a new block element can be started.Note that if this quirk is used, lazy line wrapping does not fully work anymore!
-
no_auto_typographicDisables automatic conversion of some characters into their corresponding typographic symbols
(like -- to em-dash etc). This helps to achieve results closer to what GitHub Flavored Markdown
produces.
-
-
gfm_emojis: Enables rendering emoji amidst GFM (default:false)Usage requires
gem "gemoji", "~> 3.0"that will have to be installed and managed separately
either directly or via your Gemfile. -
gfm_emoji_opts: Configuration for rendering emoji amidst GFM (default:{})The value has to be mapping of key-value pairs.
Valid option(s):
-
asset_pathThe remote location of emoji assets that will be prefixed to emoji file path. Gemoji 3 has
the file path set tounicode/[emoji-filename].Defaults to
https://github.githubassets.com/images/icons/emoji.Therefore the absolute path to an emoji file would be:
https://github.githubassets.com/images/icons/emoji/unicode/[emoji-filename]
-
Development
Clone the git repository and you are good to go. You'll probably want to install rake to use the
provided rake tasks.
Run rake --tasks to view a list of available tasks.
License
MIT - see the COPYING file.
Owner metadata
- Name: kramdown
- Login: kramdown
- Email:
- Kind: organization
- Description: Umbrella project for kramdown extensions
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/44475010?v=4
- Repositories: 8
- Last ynced at: 2024-03-25T19:52:57.793Z
- Profile URL: https://github.com/kramdown
GitHub Events
Total
- Pull request event: 1
- Issues event: 3
- Watch event: 6
- Issue comment event: 3
Last Year
- Pull request event: 1
- Watch event: 4
Committers metadata
Last synced: 3 days ago
Total Commits: 32
Total Committers: 4
Avg Commits per committer: 8.0
Development Distribution Score (DDS): 0.188
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Ashwin Maroli | a****i | 26 |
| Thomas Leitner | t****r@g****t | 4 |
| Phil Helliwell | k****e | 1 |
| Jamie Cobbett | j****5@g****m | 1 |
Committer domains:
- gmx.at: 1
Issue and Pull Request metadata
Last synced: 14 days ago
Total issues: 29
Total pull requests: 16
Average time to close issues: 4 months
Average time to close pull requests: 22 days
Total issue authors: 24
Total pull request authors: 5
Average comments per issue: 2.14
Average comments per pull request: 1.31
Merged pull request: 13
Bot issues: 0
Bot pull requests: 0
Past year issues: 2
Past year pull requests: 1
Past year average time to close issues: N/A
Past year average time to close pull requests: less than a minute
Past year issue authors: 2
Past year pull request authors: 1
Past year average comments per issue: 0.5
Past year average comments per pull request: 1.0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- ashmaroli (4)
- boutil (3)
- kshnurov (1)
- Nuru (1)
- kill9zombie (1)
- davorpa (1)
- nchammas (1)
- SomeWeekendReading (1)
- oldschoolBavarianReferenceSystem (1)
- brodock (1)
- damned-me (1)
- vincerubinetti (1)
- jaredcwhite (1)
- timdiggins (1)
- vapier (1)
Top Pull Request Authors
- ashmaroli (11)
- ghiculescu (2)
- jamiecobbett (1)
- kill9zombie (1)
- weppos (1)
Top Issue Labels
- bug (1)
Top Pull Request Labels
- bugfix (2)
- refactor (1)
Package metadata
- Total packages: 21
-
Total downloads:
- rubygems: 304,049,660 total
- Total docker downloads: 1,135,848,834
- Total dependent packages: 98 (may contain duplicates)
- Total dependent repositories: 174,671 (may contain duplicates)
- Total versions: 28
- Total maintainers: 2
gem.coop: kramdown-parser-gfm
kramdown-parser-gfm provides a kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Documentation: http://www.rubydoc.info/gems/kramdown-parser-gfm/
- Licenses: MIT
- Latest release: 1.1.0 (published almost 7 years ago)
- Last Synced: 2026-03-01T10:03:56.132Z (2 days ago)
- Versions: 3
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 152,041,786 Total
- Docker Downloads: 567,924,417
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 0.083%
- Docker downloads count: 0.163%
- Downloads: 0.167%
- Maintainers (1)
rubygems.org: kramdown-parser-gfm
kramdown-parser-gfm provides a kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Documentation: http://www.rubydoc.info/gems/kramdown-parser-gfm/
- Licenses: MIT
- Latest release: 1.1.0 (published almost 7 years ago)
- Last Synced: 2026-02-28T12:03:14.173Z (3 days ago)
- Versions: 3
- Dependent Packages: 97
- Dependent Repositories: 174,670
- Downloads: 152,007,874 Total
- Docker Downloads: 567,924,417
-
Rankings:
- Dependent repos count: 0.099%
- Downloads: 0.202%
- Docker downloads count: 0.239%
- Dependent packages count: 0.34%
- Average: 2.596%
- Forks count: 7.159%
- Stargazers count: 7.537%
- Maintainers (1)
alpine-v3.18: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r3 (published almost 3 years ago)
- Last Synced: 2026-02-24T02:09:54.112Z (8 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 11.546%
- Stargazers count: 22.612%
- Forks count: 23.57%
- Maintainers (1)
alpine-v3.15: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r1 (published over 4 years ago)
- Last Synced: 2026-02-07T19:03:06.222Z (24 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Average: 14.33%
- Stargazers count: 15.419%
- Forks count: 16.315%
- Dependent packages count: 25.585%
- Maintainers (1)
alpine-v3.16: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r2 (published almost 4 years ago)
- Last Synced: 2026-02-07T19:03:32.390Z (24 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Average: 15.499%
- Stargazers count: 16.951%
- Forks count: 17.732%
- Dependent packages count: 27.311%
- Maintainers (1)
alpine-edge: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r5 (published 10 months ago)
- Last Synced: 2026-03-01T16:08:04.586Z (2 days ago)
- Versions: 4
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 14.641%
- Average: 15.722%
- Stargazers count: 23.877%
- Forks count: 24.37%
- Maintainers (1)
alpine-v3.17: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r2 (published almost 4 years ago)
- Last Synced: 2026-02-03T04:49:51.696Z (29 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Average: 17.145%
- Stargazers count: 20.31%
- Forks count: 21.017%
- Dependent packages count: 27.254%
- Maintainers (1)
conda-forge.org: rb-kramdown-parser-gfm
- Homepage: https://rubygems.org/gems/kramdown-parser-gfm
- Licenses: MIT
- Latest release: 1.1.0 (published over 6 years ago)
- Last Synced: 2026-02-23T02:10:08.007Z (9 days ago)
- Versions: 1
- Dependent Packages: 1
- Dependent Repositories: 1
-
Rankings:
- Dependent repos count: 24.068%
- Dependent packages count: 28.909%
- Average: 33.837%
- Stargazers count: 40.868%
- Forks count: 41.502%
alpine-v3.19: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r3 (published almost 3 years ago)
- Last Synced: 2026-02-07T19:07:19.976Z (24 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
alpine-v3.20: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r4 (published about 2 years ago)
- Last Synced: 2026-02-07T19:23:40.868Z (24 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
debian-13: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Documentation: https://packages.debian.org/trixie/ruby-kramdown-parser-gfm
- Licenses:
- Latest release: 1.1.0-3 (published 19 days ago)
- Last Synced: 2026-02-13T13:17:14.081Z (18 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-12: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Documentation: https://packages.debian.org/bookworm/ruby-kramdown-parser-gfm
- Licenses:
- Latest release: 1.1.0-2 (published 19 days ago)
- Last Synced: 2026-02-12T23:34:06.634Z (19 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-23.04: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses:
- Latest release: 1.1.0-2 (published 20 days ago)
- Last Synced: 2026-02-11T06:42:34.289Z (20 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-22.04: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses:
- Latest release: 1.1.0-2 (published 18 days ago)
- Last Synced: 2026-02-13T13:19:33.847Z (18 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-11: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Documentation: https://packages.debian.org/bullseye/ruby-kramdown-parser-gfm
- Licenses:
- Latest release: 1.1.0-2 (published 21 days ago)
- Last Synced: 2026-02-13T08:21:48.391Z (18 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
alpine-v3.23: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
ubuntu-23.10: ruby-kramdown-parser-gfm
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses:
- Latest release: 1.1.0-2 (published 18 days ago)
- Last Synced: 2026-02-13T18:24:20.498Z (18 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
alpine-v3.22: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r5 (published 10 months ago)
- Last Synced: 2026-02-03T04:50:16.708Z (29 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
alpine-v3.21: ruby-kramdown-parser-gfm
A kramdown parser for the GFM dialect of Markdown
- Homepage: https://github.com/kramdown/parser-gfm
- Licenses: MIT
- Latest release: 1.1.0-r4 (published over 1 year ago)
- Last Synced: 2026-02-03T04:50:02.564Z (29 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
- Maintainers (1)
Dependencies
- gemoji ~> 3.0
- minitest >= 0
- rake >= 0
- rouge >= 0
- rubocop >= 0
- stringex >= 0
- kramdown ~> 2.0
- actions/checkout v2 composite
- ruby/setup-ruby v1 composite
Score: 26.830964272401467