npm install compromise-paragraphs
let str = `What's with these homies dissin' my girl? Why do they gotta front?
What did we ever do to these guys that made them so violent?
Woo-hoo, but you know I'm yours.
Woo-hoo, and I know you're mine.
Woo-hoo, and that's for all time
`
let doc = nlp(str).paragraphs()
doc.length
doc.json(options)
doc.eq(1).text()
doc
.first()
.sentences()
.slice(0, 2)
This is a tentative implementation of .paragraphs()
and associated methods, for compromise.
This is tricky because a sentence is a top-level structure to compromise, (and english grammar!), and combining sentences together would have some consequences about grammatical tags.
Instead, this plugin is a (partially-complete) wrapper for sentence objects, so that you can call things like .text()
and .json()
on a paragraph, but then drop back down to .sentences()
after, and work as normal.
The term objects passed into .paragraphs()
are mutable, so they will actually change when you transform them:
let doc = nlp(str).paragraphs()
doc = doc.filter(p => {
return p.has('#Determiner guys')
})
API:
outputs:
matches:
- .match()
- .not()
- .if()
- .ifNo()
- .has()
selectors:
accessors:
loops:
- .forEach()
- .map()
- .filter()
MIT