@@ -6,29 +6,32 @@ const trunc = require('trunc-html');
6
6
7
7
module . exports = function ( options = { } ) { // eslint-disable-line no-unused-vars
8
8
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 ] ) {
10
13
return hook ;
11
14
}
12
15
13
16
try {
14
17
/* eslint no-use-before-define: 0 */ // --> OFF
15
- const content = hook . data . content
18
+ const content = hook . data [ options . field ]
16
19
. 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, '' )
18
21
. replace ( / \< p \> \< b r \> \< \/ p \> / ig, ' ' )
19
22
. replace ( / ( \ ) [ 2 , ] / ig, ' ' )
20
23
. 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' ]
23
26
} ) . html ;
24
27
} catch ( err ) {
25
28
if ( hook . data . teaserImg ) {
26
- hook . data . contentExcerpt = '-----' ;
29
+ hook . data [ ` ${ options . field } Excerpt` ] = '-----' ;
27
30
} else {
28
- throw new Error ( 'Content Needed !' ) ;
31
+ throw new Error ( 'Text content needed !' ) ;
29
32
}
30
33
}
31
- hook . data . content = hook . data . content
34
+ hook . data [ options . field ] = hook . data [ options . field ]
32
35
. replace ( / ( \ ) [ 2 , ] / ig, ' ' )
33
36
34
37
return Promise . resolve ( hook ) ;
0 commit comments