Skip to content

cheald/wraptext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published