Project

wraptext

0.0
No commit activity in last 3 years
No release in over 3 years
Performs Wordpress-style conversion of single and double newlines to <p> and <br /> tags. Produces well-formed HTML and intelligently ignores unbreakable sections like <script> and <pre> tags. Conveniently turns Wordpress post content into valid HTML.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Wraptext

What is it?

Wraptext is a small library designed to accept "blog-style" newline-delimited text with markup, and to return a formatted document with bare text wrapped in <p> tags, splitting text nodes with double newlines in them into multiple paragraphs.

How to use it

Add it to your gemfile:

gem 'wraptext'

Then parse your text with it:

Wraptext::Parser.new(your_html_fragment).to_html

This'll return your text fragment with bare text wrapped in paragraph tags, and text nodes that include double newlines split into distinct paragraphs. The primary intent was to enable parsing of Wordpress-generated post content into valid HTML documents, but because the parser is designed to work on generic HTML documents, may be used beyond Wordpress content.

Wraptext::Parser accepts a Nokogiri document, as well, if you already have an existing document you are working with. Wraptext will not modify the original document object you pass in; it will create its own internal Nokogiri document to build the new document tree from. You may access this new document with #to_doc, if desired.

Why not simple_format?

simple_format is not HTML-aware, and may potentially mangle HTML in ways that you don't want. For example, it would mangle <script> and <pre> sections in text, breaking them.

Why not regexes, like Wordpress does it?

Mostly because parsing HTML with regexes is almost never the right solution. Using Nokogiri ensures a properly-formed document.