# Getting Discourse running on JRuby

**URL:** <https://meta.discourse.org/t/getting-discourse-running-on-jruby/81273>\
**Category:** Development\
**Created:** [February 23, 2018, 12:14am UTC](https://meta.discourse.org/t/getting-discourse-running-on-jruby/81273 "2018-02-23T00:14:59Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)\
**Post date:** [March 5, 2018, 8:06am UTC](https://meta.discourse.org/t/getting-discourse-running-on-jruby/81273/16 "2018-03-05T08:06:30Z")

</div>

Regarding Nokogumbo, I’d just like to say here that it seems bad that Discourse is using both Nokogiri _and_ Nokogumbo together.

Nokogumbo follows the HTML 5 parsing specification; Nokogiri is built on libxml2’s HTML 4 parser. They differ in behavior in ways that can introduce subtle bugs when handling tricky corner cases worked out during the development of the HTML 5 parser specification.

I recommend Nokogumbo over Nokogiri, because Nokogumbo matches what browsers do, and, more philosophically, because the HTML 5 parser is fully specified, as opposed to HTML 4 which left room for undefined behavior.

(It’s like the difference between kramdown and CommonMark.)

---

_[View the full topic](https://meta.discourse.org/t/getting-discourse-running-on-jruby/81273)._
