1
1
import Vue from 'vue' ;
2
2
import { differenceInDays , format , formatDistanceStrict } from 'date-fns' ;
3
- import * as Vibrant from 'node-vibrant' ;
4
3
5
4
Vue . mixin ( {
6
5
methods : {
@@ -21,6 +20,7 @@ Vue.mixin({
21
20
return formatDistanceStrict ( articleDate , todayDate , { addSuffix : true } ) ;
22
21
}
23
22
} ,
23
+
24
24
/**
25
25
* Returns date formatted like 'May 9, 2017'
26
26
* @param {String } date
@@ -30,6 +30,9 @@ Vue.mixin({
30
30
return format ( new Date ( date ) , 'MMM d, yyyy' ) ;
31
31
} ,
32
32
33
+ /**
34
+ * Handles the click event of the header logo
35
+ */
33
36
homeScrollTop ( ) {
34
37
if ( window . location . pathname === '/' ) {
35
38
this . $scrollTo ( document , 500 ) ;
@@ -38,49 +41,18 @@ Vue.mixin({
38
41
}
39
42
} ,
40
43
41
- getAuthor ( article ) {
42
- return article . _embedded . author [ 0 ] ;
43
- } ,
44
-
44
+ /**
45
+ * Returns the featured media object of the given article and size
46
+ * @param {Object } article
47
+ * @param {String } size
48
+ * @return {Object } featured media object
49
+ */
45
50
getFeaturedImage ( article , size ) {
46
51
const featuredImage = article . _embedded [ 'wp:featuredmedia' ] ;
47
52
48
53
if ( featuredImage ) {
49
54
return featuredImage [ 0 ] . media_details . sizes [ size ] ;
50
55
}
51
- } ,
52
-
53
- getColorAccentStyles ( article ) {
54
- return new Promise ( function ( resolve , reject ) {
55
- const image =
56
- article . _embedded [ 'wp:featuredmedia' ] [ 0 ] . media_details . sizes . thumbnail . source_url ;
57
-
58
- Vibrant . from ( image ) . getPalette ( ( err , palette ) => {
59
- if ( ! err && palette . DarkMuted ) {
60
- const { r, g, b } = palette . DarkMuted ;
61
-
62
- resolve ( `
63
- <style>
64
- html,
65
- .featured-image .image-height {
66
- background: rgb(${ r } ,${ g } ,${ b } ) !important
67
- }
68
- main a {
69
- color: rgb(${ r } ,${ g } ,${ b } ) !important
70
- }
71
- main a:hover {
72
- color: rgb(${ r } ,${ g } ,${ b } ) !important
73
- }
74
- main a::after {
75
- background: rgb(${ r } ,${ g } ,${ b } ) !important
76
- }
77
- </style>
78
- ` ) ;
79
- } else {
80
- reject ( err ) ;
81
- }
82
- } ) ;
83
- } ) ;
84
56
}
85
57
}
86
58
} ) ;
0 commit comments