@@ -6,29 +6,32 @@ const trunc = require('trunc-html');
66
77module . exports = function ( options = { } ) { // eslint-disable-line no-unused-vars
88 return function ( hook ) {
9- if ( ! hook . data || ! hook . data . content ) {
9+
10+ options = Object . assign ( { length : 120 , field : 'content' } , options ) ;
11+
12+ if ( ! hook . data || ! hook . data [ options . field ] ) {
1013 return hook ;
1114 }
1215
1316 try {
1417 /* eslint no-use-before-define: 0 */ // --> OFF
15- const content = hook . data . content
18+ const content = hook . data [ options . field ]
1619 . replace ( / \< b r \> | \< \/ b r \> | \< \/ b r \> | \< b r \> | \< b r \\ \> | \< p \> | \< \/ p \> / ig, "\n" )
17- . replace ( / \< ( s t r o n g | b | i | b l o c k q u o t e | p r e | e m | u | h [ 1 - 6 ] ) > | \< \/ ( s t r o n g | b | i | b l o c k q u o t e | p r e | e m | u | h [ 1 - 6 ] ) > / ig, '' )
20+ . replace ( / \< ( s t r o n g | b | i | b l o c k q u o t e | p r e | e m | u | h [ 1 - 6 ] | a ) > | \< \/ ( s t r o n g | b | i | b l o c k q u o t e | p r e | e m | u | h [ 1 - 6 ] | a ) > / ig, '' )
1821 . replace ( / \< p \> \< b r \> \< \/ p \> / ig, ' ' )
1922 . replace ( / ( \ ) [ 2 , ] / ig, ' ' )
2023 . trim ( ) ;
21- hook . data . contentExcerpt = trunc ( content , 120 , {
22- ignoreTags : [ 'img' , 'script' ]
24+ hook . data [ ` ${ options . field } Excerpt` ] = trunc ( content , options . length , {
25+ ignoreTags : [ 'img' , 'script' , 'iframe' ]
2326 } ) . html ;
2427 } catch ( err ) {
2528 if ( hook . data . teaserImg ) {
26- hook . data . contentExcerpt = '-----' ;
29+ hook . data [ ` ${ options . field } Excerpt` ] = '-----' ;
2730 } else {
28- throw new Error ( 'Content Needed !' ) ;
31+ throw new Error ( 'Text content needed !' ) ;
2932 }
3033 }
31- hook . data . content = hook . data . content
34+ hook . data [ options . field ] = hook . data [ options . field ]
3235 . replace ( / ( \ ) [ 2 , ] / ig, ' ' )
3336
3437 return Promise . resolve ( hook ) ;
0 commit comments