Coder Social home page Coder Social logo

trimhtml's Introduction

trim-html

Cutting a HTML String without breaking HTML Tags

Build Status

Installation

Node.js

npm package

    npm install trim-html

use in node.js

    var trimHtml = require('trim-html');

Usage

node.js

    var trimmed = trimHtml(html);

Options

limit

Char limit (default 100)

wordBreak

Break text on half of word (default false)

preserveTags

Maintain HTML tags (default true)

suffix

string that will be appended at the end

moreLink

link to access full content

example:

var html = `<div><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p><p>Ut 
            enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip 
            ex ea commodo consequat. </p><p>Duis aute irure dolor in reprehenderit in 
            voluptate velit esse cillum dolore eu fugiat nulla pariatur. </p><p>Excepteur 
            sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit 
            anim id est laborum.</p></div>`;
var trim = trimHtml(html, { limit: 200 });
// returns object
{
   html: `<div><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
   sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p><p>Ut
   enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut...
   </p></div>`,
   more: true // indicates if limit is reached
}

trimhtml's People

Contributors

brankosekulic avatar bryant1410 avatar kopipejst avatar mjlescano avatar mmazzarolo avatar neopix avatar zgreen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trimhtml's Issues

preserveTags default true!

preserveTags default true!

I want Strip HTML tags, must preserveTags set false.
Please, update README.md

Newlines are not preserved

First of all, thank you for creating this package ๐Ÿ‘

The current implementation removes newlines from the output, which can produce an incorrect result. Is this the intended behavior? Here's a simple example where whitespace is important:

trimHtml(`
<pre>
  foo
  bar
</pre>
`);
// Output will be: "<pre>  foo  bar</pre>"
// Instead of: "<pre>\n  foo\n  bar\n</pre>"

Options limit no work

node.js

html = trimHtml('abcdefghijk', {limit:5});
console.log(html );//{html:'abcdefghijk...',more:true}

limit no work.

57 lines of code in index.js

add = row.substring(cut).split('').indexOf(' ');

row.substring(cut).split('');//is array. ['f','g','h','i','j','k']

array.indexOf(' ');//Always be -1, here error

Node.js 6 Koa2 error

TypeError: Cannot read property 'replace' of undefined
at trimHtml (C:\wwwroot\yidata\node_modules\trim-html\index.js:16:19)
at index.js:43:33
at _fulfilled (C:\wwwroot\yidata\node_modules\q\q.js:834:54)
at self.promiseDispatch.done (C:\wwwroot\yidata\node_modules\q\q.js:863:30)
at Promise.promise.promiseDispatch (C:\wwwroot\yidata\node_modules\q\q.js:796:13)
at C:\wwwroot\yidata\node_modules\q\q.js:604:44
at runSingle (C:\wwwroot\yidata\node_modules\q\q.js:137:13)
at flush (C:\wwwroot\yidata\node_modules\q\q.js:125:13)
at nextTickCallbackWith0Args (node.js:420:9)
at process._tickDomainCallback (node.js:390:13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.