{"id":13484234,"url":"https://github.com/bhollis/maruku","last_synced_at":"2025-09-17T15:31:38.621Z","repository":{"id":557105,"uuid":"187863","full_name":"bhollis/maruku","owner":"bhollis","description":"A pure-Ruby Markdown-superset interpreter (Official Repo).","archived":false,"fork":false,"pushed_at":"2017-12-12T21:10:40.000Z","size":4822,"stargazers_count":502,"open_issues_count":17,"forks_count":80,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-01-03T19:07:58.482Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bhollis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-04-28T19:43:48.000Z","updated_at":"2024-10-28T00:26:58.000Z","dependencies_parsed_at":"2022-08-16T10:30:51.900Z","dependency_job_id":null,"html_url":"https://github.com/bhollis/maruku","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhollis%2Fmaruku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhollis%2Fmaruku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhollis%2Fmaruku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bhollis%2Fmaruku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bhollis","download_url":"https://codeload.github.com/bhollis/maruku/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232685197,"owners_count":18560816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T17:01:21.102Z","updated_at":"2025-09-17T15:31:33.241Z","avatar_url":"https://github.com/bhollis.png","language":"Ruby","funding_links":[],"categories":["Gems","Markdown Processors"],"sub_categories":["Markdown"],"readme":"# Maruku\n\nMaruku is a Markdown-superset interpreter.\n\nMaruku implements:\n\n* The original Markdown syntax.\n* All the improvements in PHP Markdown Extra.\n* A new meta-data syntax.\n\nRead more about [Maruku's Markdown syntax](https://github.com/bhollis/maruku/blob/master/docs/markdown_syntax.md). It also supports [inline math](https://github.com/bhollis/maruku/blob/master/docs/math.md). [Maruku docs](http://rdoc.info/github/bhollis/maruku/master/).\n\n[![Gem Version](https://fury-badge.herokuapp.com/rb/maruku.png)](http://badge.fury.io/rb/maruku)\n[![Dependency Status](https://gemnasium.com/bhollis/maruku.png)](https://gemnasium.com/bhollis/maruku)\n[![Coverage Status](https://coveralls.io/repos/bhollis/maruku/badge.png)](https://coveralls.io/r/bhollis/maruku)\n\n**Note**: [Maruku should be considered obsolete](http://benhollis.net/blog/2013/10/20/maruku-is-obsolete/), as it has been superceded by better libraries like Kramdown.\n\n## Installing\n\nMake sure you have Ruby and RubyGems, then run:\n\n    gem install maruku\n\n## Basic use\n\nTo convert Markdown from your Ruby programs, first create a new document and then get\nits HTML representation with the method `to_html`:\n\n    doc = Maruku.new(markdown_string)\n    puts doc.to_html\n\nThe `#to_html` method returns a string,\nrepresenting an HTML fragment.\n\n    Maruku.new(\"## Header ##\").to_html\n    # =\u003e \"\u003ch2 id='header'\u003eheader\u003c/h2\u003e\"\n\nIf you want to create full HTML documents, use the `#to_html_document` method.\n\n### Error Management\n\nMaruku warns you if something is wrong with the input.\nThe default behaviour is to print a warning on standard error,\nand then try to continue.\n\nThis behavior can be customized with the `:on_error` option.\nFor example:\n\n    Maruku.new(string, :on_error =\u003e :raise)\n\nThis tells Maruku to raise an exception\nif it encounters a parsing error.\n\nTo change the error stream, use the `:error_stream` option:\n\n    errors = \"Errors reported by Maruku:\\n\"\n    Maruku.new(invalid, :error_stream =\u003e errors)\n\nYou can pass in any object that supports the `\u003c\u003c` method.\n\n## Command-line usage\n\nMaruku comes with two command-line programs: `maruku` and `marutex`.\n\n`maruku` converts Markdown to HTML:\n\n    $ maruku file.md  # creates file.html\n\n`marutex` converts Markdown to LaTeX,\nthen calls `pdflatex` to transform the LaTeX to a PDF:\n\n    $ marutex file.md  # creates file.tex and file.pdf\n\n## Code organization\n\nThe public interface is the `Maruku` class.\nEverything else is in the module `MaRuKu`.\n\n## Dependencies\n\nMaruku will not depend on any gem that is not pure-Ruby. This helps maximize compatibility across Ruby implementations and make Maruku easy to use. Beyond that, Maruku should not depend on any other gem unless absolutely necessary - this make Maruku easy to consume and avoids dependency version conflicts.\n\n## Versioning\n\nMaruku follows [Semantic Versioning](http://semver.org/) for release versioning, starting around version 0.6.0. One caveat is that, because even the most minor bug fixes are likely to change the output of some documents, some of the patch-level changes are not strictly backwards compatible. This usually shows up as test breakages, and one suggestion is to use a tool like [nokogiri-diff](https://github.com/postmodern/nokogiri-diff) to compare output to the expected structure as XML rather than simply comparing strings.\n\n## Supported Ruby Versions\n\nThis library aims to support and is [tested against][travis] the following Ruby\nimplementations:\n\n* Ruby 1.8.7\n* Ruby 1.9.2\n* Ruby 1.9.3\n* Ruby 2.0\n* Ruby 2.1\n* Ruby 2.2\n* Ruby 2.3\n* Ruby 2.4\n* JRuby (Travis' version, 1.9 mode)\n\nIf something doesn't work on one of these interpreters, it's a bug.\n\n## Contributing\n\n* Find something you would like to work on.\n  * Look for anything you can help with in the [issue tracker](https://github.com/bhollis/maruku/issues).\n  * Look at the [code quality metrics](https://codeclimate.com/github/bhollis/maruku) or [code coverage report](https://coveralls.io/r/bhollis/maruku) for anything you can help clean up or add tests for.\n  * Or anything else!\n* Fork the project and do your work in a topic branch.\n  * Make sure your changes will work on all the Rubies we test on.\n* Add tests in `spec/block_docs` for the behavior you want to test.\n* Run all the tests using `bundle exec rake`.\n* Rebase your branch against `bhollis/maruku` to make sure everything is up to date.\n* Commit your changes and send a pull request.\n\n## License\n\nCopyright (c) 2006 Andrea Censi. MIT license, see [MIT-LICENSE.txt] for details.\n\n[MIT-LICENSE.txt]: https://github.com/bhollis/maruku/blob/master/MIT-LICENSE.txt\n[travis]: http://travis-ci.org/bhollis/maruku\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhollis%2Fmaruku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhollis%2Fmaruku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhollis%2Fmaruku/lists"}