Genesis Simple Share - Version 1.1.0

Version Description

  • Added: Setting for hiding the count
  • Added: Post meta option to specify share URL
  • Added: Fix for changing to HTTPS
  • Fixed: Count is now hidden on GooglePlus button because g+ has dropped this feature
  • Fixed: Conflicts when waypoint script is not correctly loaded in some pages
  • Improved: Now uses SASS to build CSS and GULP to minify JS and CSS so files are smaller and load more quickly
Download this release

Release Info

Developer nathanrice
Plugin Icon 128x128 Genesis Simple Share
Version 1.1.0
Comparing to
See all releases

Code changes from version 1.0.9 to 1.1.0

README.md CHANGED
@@ -20,3 +20,5 @@ Tips and Tricks
20
  ==================
21
 
22
  [Additional Usage Tips](https://github.com/copyblogger/genesis-simple-share/wiki/Usage-Tips)
 
 
20
  ==================
21
 
22
  [Additional Usage Tips](https://github.com/copyblogger/genesis-simple-share/wiki/Usage-Tips)
23
+
24
+
assets/banner-772x250.jpg DELETED
Binary file
assets/icon-256x256.png CHANGED
Binary file
gulpfile.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use strict';
2
+
3
+ // Dependencies.
4
+ var gulp = require( 'gulp' );
5
+ var sass = require( 'gulp-sass' );
6
+ var uglify = require( 'gulp-uglify' );
7
+ var sourcemaps = require( 'gulp-sourcemaps' );
8
+ var postcss = require( 'gulp-postcss' );
9
+ var autoprefixer = require( 'autoprefixer' );
10
+ var rename = require( 'gulp-rename' );
11
+
12
+ // Path variables.
13
+ var PATHS = {
14
+ dist: {
15
+ css: './lib/assets/css/',
16
+ js: './lib/assets/js/'
17
+ },
18
+ src: {
19
+ scss: './src/scss/',
20
+ js: './src/js/'
21
+ }
22
+ };
23
+
24
+ // Compile SCSS src files.
25
+ gulp.task( 'scss', function () {
26
+
27
+ gulp.src( [ PATHS.src.scss + '**/*.scss' ] )
28
+ .pipe( sourcemaps.init() )
29
+ .pipe( sass( { outputStyle: 'compressed' } ).on( 'error', sass.logError ) )
30
+ .pipe( postcss([
31
+ autoprefixer(),
32
+ ]))
33
+ .pipe( rename({ extname: '.min.css' }) )
34
+ .pipe( sourcemaps.write( 'map', {
35
+ includeContent: false,
36
+ sourceRoot: './'
37
+ }))
38
+ .pipe( gulp.dest( PATHS.dist.css ) );
39
+
40
+ });
41
+
42
+ // Compile JavaScript src files.
43
+ gulp.task( 'js', function () {
44
+
45
+ gulp.src( PATHS.src.js + '**/*.js' )
46
+ .pipe( sourcemaps.init() )
47
+ .pipe( uglify() )
48
+ .pipe( rename({ extname: '.min.js' }) )
49
+ .pipe( sourcemaps.write( 'maps' ) )
50
+ .pipe( gulp.dest( PATHS.dist.js ) );
51
+
52
+ });
53
+
54
+ // Watch JS and SCSS src files for changes.
55
+ gulp.task( 'watch', function () {
56
+ gulp.watch( [ PATHS.src.scss + '**/*.scss', PATHS.src.js + '**/*.js' ], [ 'build' ] );
57
+ });
58
+
59
+ // Build JS and SCSS asset files.
60
+ gulp.task( 'build', [ 'scss', 'js' ] );
lib/admin-icon-preview.php CHANGED
@@ -155,35 +155,39 @@ class Gensis_Simple_Share_Preview {
155
  });\n",
156
  $div_id,
157
  $icon,
158
- plugins_url( 'sharrre/sharrre.php', __FILE__ ),
159
  $button,
160
  $icon
161
  );
162
 
 
 
163
  switch( $icon ){
164
-
165
- case 'twitter' :
166
-
167
- $data_title = 'Tweet';
168
- break;
169
-
170
- case 'pinterest' :
171
-
172
- $data_title = 'Pin';
173
- break;
174
-
175
- default:
176
-
177
- $data_title = 'Share';
178
-
 
179
  }
180
 
181
- $buttons[] = sprintf( '<div class="%s" id="%s" data-url="%s" data-text="%s" data-title="%s"></div>',
182
  $icon,
183
  $div_id,
184
  get_site_url(),
185
  get_bloginfo( 'name' ),
186
- $data_title
 
187
  );
188
 
189
  }
155
  });\n",
156
  $div_id,
157
  $icon,
158
+ plugins_url( 'assets/js/sharrre/sharrre.php', __FILE__ ),
159
  $button,
160
  $icon
161
  );
162
 
163
+ $data_reader = '';
164
+
165
  switch( $icon ){
166
+
167
+ case 'twitter' :
168
+
169
+ $data_title = __( 'Tweet', 'genesis-simple-share' );
170
+ break;
171
+
172
+ case 'pinterest' :
173
+
174
+ $data_title = __( 'Pin', 'genesis-simple-share' );
175
+ break;
176
+
177
+ default:
178
+
179
+ $data_title = __( 'Share', 'genesis-simple-share' );
180
+ $data_reader = sprintf( __( 'on %s', 'genesis-simple-share' ), $icon );
181
+
182
  }
183
 
184
+ $buttons[] = sprintf( '<div class="%s" id="%s" data-url="%s" data-text="%s" data-title="%s" data-reader="%s"></div>',
185
  $icon,
186
  $div_id,
187
  get_site_url(),
188
  get_bloginfo( 'name' ),
189
+ $data_title,
190
+ $data_reader
191
  );
192
 
193
  }
lib/admin.php CHANGED
@@ -44,16 +44,17 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
44
  $default_settings = apply_filters(
45
  'genesis_simple_share_defaults',
46
  array(
47
- 'general_size' => 'small',
48
- 'general_appearance' => 'filled',
49
- 'general_position' => 'before_content',
50
- 'general_post' => 1,
51
- 'googlePlus' => 1,
52
- 'facebook' => 1,
53
- 'twitter' => 1,
54
- 'pinterest' => 1,
55
- 'linkedin' => 1,
56
- 'stumbleupon' => 1,
 
57
  )
58
  );
59
 
@@ -101,7 +102,7 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
101
 
102
  $post_types = get_post_types( array( 'public' => true, ) );
103
 
104
- foreach( $post_types as $post_type ){
105
  $one_zero[] = 'general_' . $post_type;
106
  }
107
 
@@ -149,42 +150,42 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
149
  //use wp_enqueue_script() and wp_enqueue_style() to load scripts and styles
150
  wp_enqueue_script(
151
  'genesis-simple-share-plugin-js',
152
- plugins_url( 'sharrre/jquery.sharrre.min.js', __FILE__ ),
153
  array( 'jquery' ),
154
  '0.1.0'
155
  );
156
 
157
  wp_enqueue_style(
158
  'genesis-simple-share-plugin-css',
159
- plugins_url( 'css/share.css', __FILE__ ),
160
  array(),
161
  '0.1.0'
162
  );
163
 
164
  wp_enqueue_style(
165
  'genesis-simple-share-genericons-css',
166
- plugins_url( 'css/genericons.css', __FILE__ ),
167
  array(),
168
  '0.1.0'
169
  );
170
 
171
  wp_enqueue_script(
172
  'genesis-simple-share-admin-js',
173
- plugins_url( 'js/admin.js', __FILE__ ),
174
  array( 'jquery' ),
175
  '0.1.0'
176
  );
177
 
178
  wp_enqueue_style(
179
  'genesis-simple-share-admin-css',
180
- plugins_url( 'css/admin.css', __FILE__ ),
181
  array(),
182
  '0.1.0'
183
  );
184
 
185
  wp_enqueue_style(
186
  'genesis-simple-share-admin-css-ie',
187
- plugins_url( 'css/admin-ie.css', __FILE__ ),
188
  array( 'genesis-simple-share-admin-css' ),
189
  '0.1.0'
190
  );
@@ -208,8 +209,9 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
208
  */
209
  function user_meta_save( $check, $object_id, $meta_key, $meta_value ) {
210
 
211
- if( 'meta-box-order_genesis_page_genesis_simple_share_settings' == $meta_key )
212
  return update_option( 'genesis_simple_share_sort', $meta_value );
 
213
 
214
  return $check;
215
  }
@@ -225,8 +227,9 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
225
  */
226
  function user_meta_return( $result ) {
227
 
228
- if( $new_result = get_option( 'genesis_simple_share_sort' ) )
229
  return $new_result;
 
230
 
231
  return $result;
232
  }
@@ -290,6 +293,9 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
290
  ) );
291
 
292
  $this->position( $id );
 
 
 
293
  $this->post_type_checkbox( $id );
294
 
295
  do_action( 'genesis_simple_share_admin_table_after_rows' );
@@ -435,7 +441,7 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
435
  * @param string $id ID base to use when building select box.
436
  *
437
  */
438
- function position( $id ){
439
 
440
  $this->select_field( $id . '_position', __( 'Icon Display Position' , 'genesis-simple-share' ), array(
441
  'off' => __( 'Select display position to enable icons.', 'genesis-simple-share' ),
@@ -446,6 +452,17 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
446
 
447
  }
448
 
 
 
 
 
 
 
 
 
 
 
 
449
  /**
450
  * Outputs select field
451
  *
@@ -456,7 +473,7 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
456
  * @param array $option Array key $option=>$title used to build select options.
457
  *
458
  */
459
- function select_field( $id, $name, $options = array() ){
460
  $current = $this->get_field_value( $id );
461
  ?>
462
  <tr valign="top">
@@ -487,15 +504,24 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
487
  * @param string $id ID base to use when building checkbox.
488
  *
489
  */
490
- function post_type_checkbox( $id ){
491
 
492
  $post_types = get_post_types( array( 'public' => true, ) );
493
 
 
 
 
 
 
 
 
 
 
494
  printf( '<tr valign="top"><th scope="row">%s</th>', __( 'Enable on:', 'genesis-simple-share' ) );
495
 
496
  echo '<td>';
497
 
498
- foreach( $post_types as $post_type )
499
  $this->checkbox( $id . '_' . $post_type, $post_type );
500
 
501
  $this->checkbox( $id . '_show_archive', __( 'Show on Archive Pages', 'genesis-simple-share' ) );
@@ -513,7 +539,7 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
513
  * @param string $name Label text for the checkbox.
514
  *
515
  */
516
- function checkbox( $id, $name ){
517
  printf( '<label for="%s"><input type="checkbox" name="%s" id="%s" value="1"%s /> %s </label> ',
518
  $this->get_field_id( $id ),
519
  $this->get_field_name( $id ),
@@ -524,6 +550,21 @@ class Genesis_Simple_Share_Boxes extends Genesis_Admin_Boxes {
524
  echo '<br />';
525
  }
526
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
 
528
  }
529
 
44
  $default_settings = apply_filters(
45
  'genesis_simple_share_defaults',
46
  array(
47
+ 'general_size' => 'small',
48
+ 'general_appearance' => 'filled',
49
+ 'general_position' => 'before_content',
50
+ 'general_post' => 1,
51
+ 'general_disble_count' => 0,
52
+ 'googlePlus' => 1,
53
+ 'facebook' => 1,
54
+ 'twitter' => 1,
55
+ 'pinterest' => 1,
56
+ 'linkedin' => 1,
57
+ 'stumbleupon' => 1,
58
  )
59
  );
60
 
102
 
103
  $post_types = get_post_types( array( 'public' => true, ) );
104
 
105
+ foreach ( $post_types as $post_type ) {
106
  $one_zero[] = 'general_' . $post_type;
107
  }
108
 
150
  //use wp_enqueue_script() and wp_enqueue_style() to load scripts and styles
151
  wp_enqueue_script(
152
  'genesis-simple-share-plugin-js',
153
+ plugins_url( 'assets/js/sharrre/jquery.sharrre.min.js', __FILE__ ),
154
  array( 'jquery' ),
155
  '0.1.0'
156
  );
157
 
158
  wp_enqueue_style(
159
  'genesis-simple-share-plugin-css',
160
+ plugins_url( 'assets/css/share.min.css', __FILE__ ),
161
  array(),
162
  '0.1.0'
163
  );
164
 
165
  wp_enqueue_style(
166
  'genesis-simple-share-genericons-css',
167
+ plugins_url( 'assets/css/genericons.min.css', __FILE__ ),
168
  array(),
169
  '0.1.0'
170
  );
171
 
172
  wp_enqueue_script(
173
  'genesis-simple-share-admin-js',
174
+ plugins_url( 'assets/js/admin.min.js', __FILE__ ),
175
  array( 'jquery' ),
176
  '0.1.0'
177
  );
178
 
179
  wp_enqueue_style(
180
  'genesis-simple-share-admin-css',
181
+ plugins_url( 'assets/css/admin.min.css', __FILE__ ),
182
  array(),
183
  '0.1.0'
184
  );
185
 
186
  wp_enqueue_style(
187
  'genesis-simple-share-admin-css-ie',
188
+ plugins_url( 'assets/css/admin-ie.min.css', __FILE__ ),
189
  array( 'genesis-simple-share-admin-css' ),
190
  '0.1.0'
191
  );
209
  */
210
  function user_meta_save( $check, $object_id, $meta_key, $meta_value ) {
211
 
212
+ if ( 'meta-box-order_genesis_page_genesis_simple_share_settings' == $meta_key ) {
213
  return update_option( 'genesis_simple_share_sort', $meta_value );
214
+ }
215
 
216
  return $check;
217
  }
227
  */
228
  function user_meta_return( $result ) {
229
 
230
+ if ( $new_result = get_option( 'genesis_simple_share_sort' ) ) {
231
  return $new_result;
232
+ }
233
 
234
  return $result;
235
  }
293
  ) );
294
 
295
  $this->position( $id );
296
+
297
+ $this->disable_count( $id );
298
+
299
  $this->post_type_checkbox( $id );
300
 
301
  do_action( 'genesis_simple_share_admin_table_after_rows' );
441
  * @param string $id ID base to use when building select box.
442
  *
443
  */
444
+ function position( $id ) {
445
 
446
  $this->select_field( $id . '_position', __( 'Icon Display Position' , 'genesis-simple-share' ), array(
447
  'off' => __( 'Select display position to enable icons.', 'genesis-simple-share' ),
452
 
453
  }
454
 
455
+ /**
456
+ * Outputs the checkbox to disable the count.
457
+ *
458
+ * @access public
459
+ * @param mixed $id
460
+ * @return void
461
+ */
462
+ function disable_count( $id ) {
463
+ $this->checkbox_table( $id . '_disable_count', __( 'Hide Count', 'genesis-simple-share' ) );
464
+ }
465
+
466
  /**
467
  * Outputs select field
468
  *
473
  * @param array $option Array key $option=>$title used to build select options.
474
  *
475
  */
476
+ function select_field( $id, $name, $options = array() ) {
477
  $current = $this->get_field_value( $id );
478
  ?>
479
  <tr valign="top">
504
  * @param string $id ID base to use when building checkbox.
505
  *
506
  */
507
+ function post_type_checkbox( $id ) {
508
 
509
  $post_types = get_post_types( array( 'public' => true, ) );
510
 
511
+ /**
512
+ * Allows filtering the $post_types that are supported.
513
+ *
514
+ * @access public
515
+ * @param array $post_types supported post types
516
+ * @return void
517
+ */
518
+ $post_types = apply_filters( 'genesis_simple_share_post_types_support', $post_types );
519
+
520
  printf( '<tr valign="top"><th scope="row">%s</th>', __( 'Enable on:', 'genesis-simple-share' ) );
521
 
522
  echo '<td>';
523
 
524
+ foreach ( $post_types as $post_type )
525
  $this->checkbox( $id . '_' . $post_type, $post_type );
526
 
527
  $this->checkbox( $id . '_show_archive', __( 'Show on Archive Pages', 'genesis-simple-share' ) );
539
  * @param string $name Label text for the checkbox.
540
  *
541
  */
542
+ function checkbox( $id, $name ) {
543
  printf( '<label for="%s"><input type="checkbox" name="%s" id="%s" value="1"%s /> %s </label> ',
544
  $this->get_field_id( $id ),
545
  $this->get_field_name( $id ),
550
  echo '<br />';
551
  }
552
 
553
+ function checkbox_table( $id, $name, $description = '' ) {
554
+
555
+ $description = $description ? sprintf( '<p class="description">%s</p>', $description ) : '';
556
+
557
+ printf( '<tr valign="top"><th scope="row"><label for="%1$s">%4$s</th><td><input type="checkbox" class="genesis_simple_share_%3$s" name="%2$s" id="%1$s" value="1"%5$s />%6$s</td></tr>',
558
+ $this->get_field_id( $id ),
559
+ $this->get_field_name( $id ),
560
+ $id,
561
+ $name,
562
+ checked( $this->get_field_value( $id ), 1, false ),
563
+ $description
564
+ );
565
+
566
+ }
567
+
568
 
569
  }
570
 
lib/css/admin.css DELETED
@@ -1,93 +0,0 @@
1
- .gss-clear {
2
- clear:both;
3
- }
4
-
5
- .genesis_page_genesis_simple_share_settings .genesis-metaboxes {
6
- width: auto;
7
- }
8
-
9
- .genesis_page_genesis_simple_share_settings .genesis-metaboxes .top-buttons {
10
- float: left;
11
- }
12
-
13
- .genesis_page_genesis_simple_share_settings .genesis-metaboxes .bottom-buttons {
14
- clear: both;
15
- float: left;
16
- }
17
-
18
- #main-sortables:after {
19
- content: "";
20
- clear: both;
21
- display: block;
22
- margin-bottom: 20px;
23
- }
24
-
25
- #main-sortables {
26
- display: -webkit-box;
27
- display: -webkit-flex;
28
- display: -ms-flexbox;
29
- display: flex;
30
- -webkit-flex-wrap: wrap;
31
- -ms-flex-wrap: wrap;
32
- flex-wrap: wrap;
33
- -webkit-box-orient: horizontal;
34
- -webkit-box-direction: normal;
35
- -webkit-flex-direction: row;
36
- -ms-flex-direction: row;
37
- flex-direction: row;
38
- }
39
-
40
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox,
41
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .sortable-placeholder {
42
- min-height: 240px;
43
- float: left;
44
- margin: 5px;
45
- width: 260px;
46
- }
47
-
48
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox.closed {
49
- height: 30px;
50
- }
51
-
52
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox .handlediv {
53
- display: none;
54
- }
55
-
56
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox h3.hndle {
57
- color: #fff;
58
- display: block !important;
59
- text-shadow: none;
60
- }
61
-
62
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox h3.hndle:before {
63
- line-height: 1;
64
- display: inline-block;
65
- font-family: 'Genericons';
66
- font-size: 13px;
67
- margin-right: 10px;
68
- -webkit-font-smoothing: antialiased;
69
- }
70
-
71
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox .inside {
72
- margin: 0px;
73
- padding: 20px;
74
- }
75
-
76
- .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox input[type=text] {
77
- margin-top: 5px;
78
- width: 100%;
79
- }
80
-
81
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_twitter h3.hndle { background: #09b0ed; }
82
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_facebook h3.hndle { background: #3d5a98; }
83
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_google_plus h3.hndle { background: #dd4c39; }
84
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_pinterest h3.hndle { background: #cb2127; }
85
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_linkedin h3.hndle { background: #035a87; }
86
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_stumbleupon h3.hndle { background: #eb4923; }
87
-
88
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_twitter h3.hndle:before { content: '\f202'; }
89
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_facebook h3.hndle:before { content: '\f204'; }
90
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_google_plus h3.hndle:before { content: '\f218'; }
91
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_pinterest h3.hndle:before { content: '\f209'; }
92
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_linkedin h3.hndle:before { content: '\f207'; }
93
- .genesis_page_genesis_simple_share_settings #genesis_simple_share_stumbleupon h3.hndle:before { content: '\f223'; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/css/share.css DELETED
@@ -1,392 +0,0 @@
1
- .sharrre {
2
- display: inline-block;
3
- font-family: Helvetica, Arial, sans-serif;
4
- font-style: normal;
5
- font-weight: normal;
6
- margin-right: 5px;
7
- overflow: hidden;
8
-
9
- position: relative;
10
- -webkit-transition: all 0.3s ease-in-out;
11
- -moz-transition: all 0.3s ease-in-out;
12
- -ms-transition: all 0.3s ease-in-out;
13
- -o-transition: all 0.3s ease-in-out;
14
- transition: all 0.3s ease-in-out;
15
- }
16
-
17
- .share-before {
18
- margin-bottom: 25px;
19
- }
20
-
21
- .share-after {
22
- margin: 25px 0;
23
- }
24
-
25
- .share-before:after,
26
- .share-after:after {
27
- visibility: hidden;
28
- display: block;
29
- font-size: 0;
30
- content: " ";
31
- clear: both;
32
- height: 0;
33
- }
34
-
35
- /* Buttons */
36
- .sharrre .share,
37
- .sharrre .count {
38
- -moz-box-sizing: border-box;
39
- -webkit-box-sizing: border-box;
40
- box-sizing: border-box;
41
- border: none;
42
- display: inline-block;
43
- padding: 0;
44
- text-decoration: none !important;
45
-
46
- -webkit-transition: all 0.3s ease-in-out;
47
- -moz-transition: all 0.3s ease-in-out;
48
- -ms-transition: all 0.3s ease-in-out;
49
- -o-transition: all 0.3s ease-in-out;
50
- transition: all 0.3s ease-in-out;
51
- }
52
-
53
- .sharrre .share {
54
- background-color: #fff;
55
- color: #fff;
56
- float: left;
57
- font-family: Helvetica, Arial, sans-serif;
58
- font-style: normal;
59
- font-weight: normal;
60
- text-decoration: none;
61
- }
62
-
63
- .sharrre:hover .share {
64
- border: none;
65
- color: #fff;
66
- text-decoration: none;
67
- }
68
-
69
- .sharrre .count {
70
- background-color: #fff;
71
- font-family: Helvetica, Arial, sans-serif;
72
- font-style: normal;
73
- font-weight: bold;
74
- position: relative;
75
- text-align: center;
76
- }
77
-
78
-
79
- /* Small */
80
- .share-small .share,
81
- .share-small .count {
82
- font-size: 12px;
83
- height: 20px;
84
- line-height: 20px;
85
- }
86
-
87
- .share-small .share {
88
- border-top-left-radius: 3px;
89
- border-bottom-left-radius: 3px;
90
- padding: 0 0 0 24px;
91
- width: 20px;
92
- }
93
-
94
- .share-small .sharrre:hover .share { width: 60px; }
95
- .share-small .facebook:hover .share { width: 60px; }
96
- .share-small .pinterest:hover .share { width: 45px; }
97
- .share-small .googlePlus:hover .share { width: 60px; }
98
- .share-small .twitter:hover .share { width: 65px; }
99
-
100
- .share-small .count {
101
- border-top-right-radius: 3px;
102
- border-bottom-right-radius: 3px;
103
- float: right;
104
- width: 42px;
105
- }
106
-
107
- .share-small .no-count .share {
108
- border-top-right-radius: 3px;
109
- border-bottom-right-radius: 3px;
110
- width: 65px;
111
- }
112
-
113
- .share-small .no-count .count {
114
- display: none;
115
- }
116
-
117
- /* Medium */
118
- .share-medium .share,
119
- .share-medium .count {
120
- font-size: 13px;
121
- height: 25px;
122
- line-height: 25px;
123
- }
124
-
125
- .share-medium .share {
126
- border-top-left-radius: 3px;
127
- border-bottom-left-radius: 3px;
128
- padding: 0 0 0 28px;
129
- width: 28px;
130
- }
131
-
132
- .share-medium .count {
133
- border-top-right-radius: 3px;
134
- border-bottom-right-radius: 3px;
135
- float: right;
136
- width: 42px;
137
- }
138
-
139
- .share-medium .sharrre:hover .share { width: 65px; }
140
- .share-medium .facebook:hover .share { width: 65px; }
141
- .share-medium .pinterest:hover .share { width: 50px; }
142
- .share-medium .googlePlus:hover .share { width: 65px; }
143
- .share-medium .twitter:hover .share { width: 75px; }
144
-
145
- .share-medium .no-count .share {
146
- border-top-right-radius: 3px;
147
- border-bottom-right-radius: 3px;
148
- width: 75px;
149
- }
150
-
151
- .share-medium .no-count .count {
152
- display: none;
153
- }
154
-
155
- /* Tall */
156
- .share-tall .share {
157
- border-bottom-left-radius: 3px;
158
- border-bottom-right-radius: 3px;
159
- font-size: 13px;
160
- height: 25px;
161
- line-height: 25px;
162
- padding-left: 20px;
163
- text-align: center;
164
- width: 100%;
165
- }
166
-
167
- .share-tall .googlePlus .share { padding-left: 16px; }
168
- .share-tall .facebook .share { padding-left: 18px; }
169
- .share-tall .twitter .share { padding-left: 0; }
170
-
171
- .share-tall .count {
172
- border-top-left-radius: 3px;
173
- border-top-right-radius: 3px;
174
- display: block;
175
- float: none;
176
- font-size: 16px;
177
- height: 55px;
178
- line-height: 55px;
179
- width: 75px;
180
- }
181
-
182
- .share-tall .no-count .share {
183
- width: 75px;
184
- }
185
-
186
- /* Icons */
187
- .share-small .share:before,
188
- .share-medium .share:before,
189
- .share-tall .share:before {
190
- line-height: 1;
191
- display: block;
192
- font-family: 'Genericons';
193
- font-size: 13px;
194
- height: 20px;
195
- top: 4px;
196
- left: 6px;
197
- text-indent: 0;
198
- -webkit-font-smoothing: antialiased;
199
- position: absolute;
200
- width: 20px;
201
- }
202
-
203
- .share-medium .share:before {
204
- font-size: 14px;
205
- top: 5px;
206
- left: 7px;
207
- }
208
-
209
- .share-tall .share:before {
210
- bottom: 0px;
211
- top: auto;
212
- }
213
-
214
- .twitter .share:before { content: '\f202'; }
215
- .facebook .share:before { content: '\f204'; }
216
- .googlePlus .share:before { content: '\f218'; }
217
- .youtube .share:before { content: '\f213'; }
218
- .digg .share:before { content: '\f221'; }
219
- .delicious .share:before { content: '\f202'; }
220
- .pinterest .share:before { content: '\f209'; }
221
- .linkedin .share:before { content: '\f207'; }
222
- .stumbleupon .share:before { content: '\f223'; }
223
-
224
- .share-small .pinterest .share:before {
225
- font-size: 12px;
226
- }
227
-
228
- .share-small .linkedin .share:before {
229
- font-size: 16px;
230
- top: 1px;
231
- }
232
-
233
- .share-small .stumbleupon .share:before {
234
- font-size: 16px;
235
- top: 3px;
236
- }
237
-
238
- .share-medium .pinterest .share:before {
239
- font-size: 13px;
240
- top: 6px;
241
- }
242
-
243
- .share-medium .linkedin .share:before {
244
- font-size: 17px;
245
- top: 3px;
246
- }
247
-
248
- .share-medium .stumbleupon .share:before {
249
- font-size: 16px;
250
- top: 5px;
251
- }
252
-
253
- .share-tall .pinterest .share:before {
254
- font-size: 13px;
255
- bottom: -1px;
256
- }
257
-
258
- .share-tall .linkedin .share:before {
259
- font-size: 17px;
260
- bottom: 2px;
261
- }
262
-
263
- .share-tall .stumbleupon .share:before {
264
- font-size: 16px;
265
- }
266
-
267
- .share-tall .twitter .share:before { display: none; }
268
-
269
- .share-tall .twitter .count:before {
270
- content: '\f202';
271
- display: block;
272
- line-height: 44px;
273
- font-family: 'Genericons';
274
- font-size: 20px;
275
- position: relative;
276
- top: 5px;
277
- -webkit-font-smoothing: antialiased;
278
- -webkit-transition: all 0.3s ease-in-out;
279
- -moz-transition: all 0.3s ease-in-out;
280
- -ms-transition: all 0.3s ease-in-out;
281
- -o-transition: all 0.3s ease-in-out;
282
- transition: all 0.3s ease-in-out;
283
- }
284
-
285
- .share-tall .twitter:hover .count:before {
286
- color: #fff;
287
- }
288
-
289
-
290
- /* Appearance - filled */
291
- .share-filled .twitter .share { background: #09b0ed; }
292
- .share-filled .twitter .count,
293
- .share-filled .twitter .count:hover { color: #09b0ed; border: 1px solid #09b0ed; }
294
-
295
- .share-filled .facebook .share { background: #3d5a98; }
296
- .share-filled .facebook .count,
297
- .share-filled .facebook .count:hover { color: #3d5a98; border: 1px solid #3d5a98; }
298
-
299
- .share-filled .googlePlus .share { background: #dd4c39; }
300
- .share-filled .googlePlus .count,
301
- .share-filled .googlePlus .count:hover { color: #dd4c39; border: 1px solid #dd4c39; }
302
-
303
- .share-filled .linkedin .share { background: #035a87; }
304
- .share-filled .linkedin .count,
305
- .share-filled .linkedin .count:hover { color: #035a87; border: 1px solid #035a87; }
306
-
307
- .share-filled .youtube .share { background: #cc181e; }
308
- .share-filled .youtube .count,
309
- .share-filled .youtube .count:hover { color: #cc181e; border: 1px solid #cc181e; }
310
-
311
- .share-filled .pinterest .share { background: #cb2127; }
312
- .share-filled .pinterest .count,
313
- .share-filled .pinterest .count:hover { color: #cb2127; border: 1px solid #cb2127; }
314
-
315
- .share-filled .stumbleupon .share { background: #eb4923; }
316
- .share-filled .stumbleupon .count,
317
- .share-filled .stumbleupon .count:hover { color: #eb4923; border: 1px solid #eb4923; }
318
-
319
- .share-filled .twitter:hover .count { background: #09b0ed !important; }
320
- .share-filled .facebook:hover .count { background: #3d5a98 !important; }
321
- .share-filled .googlePlus:hover .count { background: #dd4c39 !important; }
322
- .share-filled .linkedin:hover .count { background: #035a87 !important; }
323
- .share-filled .youtube:hover .count { background: #cc181e !important; }
324
- .share-filled .pinterest:hover .count { background: #cb2127 !important; }
325
- .share-filled .stumbleupon:hover .count { background: #eb4923 !important; }
326
-
327
- .share-filled .sharrre:hover .count {
328
- color: #fff;
329
- }
330
-
331
- /* Appearance - outlined */
332
- .share-outlined .twitter .share,
333
- .share-outlined .twitter .count,
334
- .share-outlined .twitter .count:hover { border: 1px solid #09b0ed; color: #09b0ed; }
335
-
336
- .share-outlined .facebook .share,
337
- .share-outlined .facebook .count,
338
- .share-outlined .facebook .count:hover { border: 1px solid #3d5a98; color: #3d5a98; }
339
-
340
- .share-outlined .googlePlus .share,
341
- .share-outlined .googlePlus .count,
342
- .share-outlined .googlePlus .count:hover { border: 1px solid #dd4c39; color: #dd4c39; }
343
-
344
- .share-outlined .linkedin .share,
345
- .share-outlined .linkedin .count,
346
- .share-outlined .linkedin .count:hover { border: 1px solid #035a87; color: #035a87; }
347
-
348
- .share-outlined .youtube .share,
349
- .share-outlined .youtube .count,
350
- .share-outlined .youtube .count:hover { border: 1px solid #cc181e; color: #cc181e; }
351
-
352
- .share-outlined .pinterest .share,
353
- .share-outlined .pinterest .count,
354
- .share-outlined .pinterest .count:hover { border: 1px solid #cb2127; color: #cb2127; }
355
-
356
- .share-outlined .stumbleupon .share,
357
- .share-outlined .stumbleupon .count,
358
- .share-outlined .stumbleupon .count:hover { border: 1px solid #eb4923; color: #eb4923; }
359
-
360
- .share-outlined.share-small .share,
361
- .share-outlined.share-medium .share { border-right: none; }
362
-
363
- .share-outlined.share-small .twitter .share,
364
- .share-outlined.share-medium .twitter .share { border-right: 1px solid #09b0ed; }
365
-
366
- .share-outlined.share-tall .share { border-top: none; }
367
-
368
- .share-outlined .twitter:hover .share,
369
- .share-outlined .twitter:hover .count { background: #09b0ed; }
370
-
371
- .share-outlined .facebook:hover .share,
372
- .share-outlined .facebook:hover .count { background: #3d5a98; }
373
-
374
- .share-outlined .googlePlus:hover .share,
375
- .share-outlined .googlePlus:hover .count { background: #dd4c39; }
376
-
377
- .share-outlined .linkedin:hover .share,
378
- .share-outlined .linkedin:hover .count { background: #035a87; }
379
-
380
- .share-outlined .youtube:hover .share,
381
- .share-outlined .youtube:hover .count { background: #cc181e; }
382
-
383
- .share-outlined .pinterest:hover .share,
384
- .share-outlined .pinterest:hover .count { background: #cb2127; }
385
-
386
- .share-outlined .stumbleupon:hover .share,
387
- .share-outlined .stumbleupon:hover .count { background: #eb4923; }
388
-
389
- .share-outlined .sharrre:hover .count,
390
- .share-outlined .sharrre:hover .share {
391
- color: #fff;
392
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/font/genericons-regular-webfont.eot DELETED
Binary file
lib/font/genericons-regular-webfont.svg DELETED
@@ -1,133 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="genericonsregular" horiz-adv-x="2048" >
7
- <font-face units-per-em="2048" ascent="1638" descent="-410" />
8
- <missing-glyph horiz-adv-x="500" />
9
- <glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
10
- <glyph unicode="&#xf100;" d="M1536 1408v-128h-1024v128h1024zM1152 1024h-640v128h640v-128zM1280 1152h256v-128h-256v128zM768 768h-256v128h256v-128zM896 896h640v-128h-640v128zM512 640h768v-128h-768v128z" />
11
- <glyph unicode="&#xf101;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
12
- <glyph unicode="&#xf102;" d="M1920 1408v-1024h-1792v896l512 128l128 256h512l128 -256h512zM512 1504l-256 -64v160h256v-96zM1024 512q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1024 1280q133 0 226.5 -93.5t93.5 -226.5 t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5z" />
13
- <glyph unicode="&#xf103;" d="M128 1408h896v-384h-896v384zM2048 1408v-896h-896v896h896zM128 896h384v-384h-384v384zM640 896h384v-384h-384v384z" />
14
- <glyph unicode="&#xf104;" d="M1664 1024l-1152 -640v1280z" />
15
- <glyph unicode="&#xf105;" d="M1408 1408q0 -124 -71.5 -222t-184.5 -138v-536l-256 -128v664q-113 40 -184.5 138t-71.5 222q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
16
- <glyph unicode="&#xf106;" d="M512 1408h512l-256 -768h-384zM1792 1408l-256 -768h-384l128 768h512z" />
17
- <glyph unicode="&#xf107;" d="M1088 1792q133 0 226.5 -93.5t93.5 -226.5v-384q0 -97 -53 -176.5t-139 -116.5v151q64 57 64 142v384q0 80 -56 136t-136 56t-136 -56t-56 -136v-384q0 -85 64 -142v-151q-86 37 -139 116.5t-53 176.5v384q0 133 93.5 226.5t226.5 93.5zM960 1230v151q86 -37 139 -116.5 t53 -176.5v-384q0 -133 -93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5v384q0 97 53 176.5t139 116.5v-151q-64 -57 -64 -142v-384q0 -80 56 -136t136 -56t136 56t56 136v384q0 85 -64 142z" />
18
- <glyph unicode="&#xf108;" d="M256 1792h1024q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-448l-448 -448v448h-128q-96 0 -176 80t-80 176v384q0 96 80 176t176 80zM1664 1152v384q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-128v-448l-448 448h-320l128 128h384q168 0 276 108 t108 276z" />
19
- <glyph unicode="&#xf109;" d="M640 1280l384 384v-1280l-384 384h-384v512h384zM1386 1386l91 91q88 -89 137.5 -206t49.5 -247q0 -87 -23 -170t-64.5 -153.5t-99.5 -129.5l-91 91q71 71 110.5 164.5t39.5 197.5t-39.5 197.5t-110.5 164.5zM1205 1205l91 91q26 -27 46.5 -57.5t35 -65t22.5 -72.5t8 -77 q0 -78 -29.5 -148t-82.5 -124l-91 91q75 75 75 181t-75 181z" />
20
- <glyph unicode="&#xf200;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5q0 -335 -195.5 -601.5t-504.5 -369.5q-36 -7 -53 8.5t-17 40.5q0 4 0.5 102t0.5 179q0 130 -69 189q77 9 137.5 24.5t124.5 51.5t107 89t70.5 140t27.5 201q0 161 -105 274q6 15 11 35t9 56t-3.5 83.5 t-26.5 96.5q-4 1 -10.5 2t-32 -1t-55.5 -11t-79.5 -33.5t-104.5 -61.5q-118 33 -256 35q-138 -2 -256 -35q-55 37 -104 61.5t-80 33t-54.5 11.5t-33.5 1l-10 -2q-58 -146 -10 -271q-105 -115 -105 -274q0 -114 27.5 -201t70.5 -140t107 -89t124.5 -52t136.5 -24 q-53 -47 -65 -137q-28 -13 -59.5 -20t-75.5 -6.5t-87.5 28.5t-75.5 83q-2 4 -6.5 10.5t-19 24t-31.5 31t-44 25.5t-56 14h-10t-18.5 -3.5t-17 -9t4 -18.5t34.5 -31q3 -1 7.5 -4t19 -14.5t27.5 -27t30 -43.5t30 -61q1 -3 2.5 -7t8 -17t15.5 -25.5t24.5 -28t33.5 -28t45 -23.5 t57.5 -16t71.5 -3.5t87 11.5q0 -50 0.5 -110t0.5 -64q0 -24 -17 -40t-53 -10q-309 103 -504.5 370t-195.5 602q0 208 81 398t218.5 327t327 218t397.5 81z" />
21
- <glyph unicode="&#xf201;" d="M1024 2048q206 0 395.5 -82t327 -219.5t219.5 -327t82 -395.5t-82 -395.5t-219.5 -327t-327 -219.5t-395.5 -82t-395.5 82t-327 219.5t-219.5 327t-82 395.5t82 395.5t219.5 327t327 219.5t395.5 82zM1024 1920q-32 0 -96 -8t-96 -8q102 -166 304 -512q6 2 86 31 t118.5 45t108 47t122 64t93.5 69q-126 126 -290.5 199t-349.5 73zM672 1856q-194 -85 -329.5 -247.5t-182.5 -376.5q194 -22 444 14t388 82q-141 282 -320 528zM1760 1536q-71 -57 -162 -104.5t-214.5 -100.5t-183.5 -83q22 -29 36.5 -54.5t34 -67.5t25.5 -54q170 33 336 30 t288 -30q-26 285 -160 464zM128 1088v-64q0 -167 58 -319.5t166 -272.5q125 205 339 360t445 232q-16 48 -80 176q-282 -86 -481.5 -111t-446.5 -1zM1536 288q156 108 258 278t126 362q-276 46 -576 0q14 -27 43 -103t74.5 -231t74.5 -306zM1024 128q181 0 368 80 q-33 300 -208 688q-222 -74 -410 -225.5t-294 -350.5q216 -192 544 -192z" />
22
- <glyph unicode="&#xf202;" d="M1920 1584q-73 -111 -183 -191q0 -7 0.5 -23t0.5 -24q0 -122 -31 -246t-89.5 -241t-149.5 -218.5t-204 -177.5t-260.5 -119.5t-311.5 -43.5q-305 0 -564 165q48 -5 88 -5q256 0 456 157q-119 2 -213 73.5t-130 182.5q39 -7 69 -7q47 0 97 13q-127 26 -211 127t-84 233v5 q80 -43 167 -46q-76 50 -120 131t-44 175q0 101 50 185q138 -170 335 -271.5t423 -112.5q-10 39 -10 84q0 152 108 259.5t260 107.5q160 0 268 -116q128 26 233 89q-42 -132 -161 -203q109 13 211 58z" />
23
- <glyph unicode="&#xf203;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-282v711h270l12 260h-282v192v12q0 60 21.5 87.5t87.5 27.5l166 -1l6 242q-78 10 -183 10q-94 0 -167 -27.5t-117 -74.5t-66 -105.5t-22 -126.5v-236h-254v-260h254v-711h-724q-106 0 -181 75 t-75 181v1280q0 106 75 181t181 75z" />
24
- <glyph unicode="&#xf204;" d="M1511 1272l-14 -303h-315v-841h-320v841h-222v303h222v258q0 78 26 147t77 124t136.5 87t194.5 32q55 0 108 -3t79 -6l26 -3l-7 -282h-193q-76 0 -101.5 -32t-25.5 -101v-14v-207h329z" />
25
- <glyph unicode="&#xf205;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1426 536l81 268q24 79 32.5 107.5t18.5 74.5t10 79q0 46 -11.5 90.5t-23.5 71t-32 60.5q-2 4 -11.5 19 t-12 20t-10.5 18.5t-11 19t-9 17.5t-8.5 19t-6.5 18t-5.5 19.5t-3 18.5t-1.5 20q0 57 39 100t97 43l10 -1q-110 101 -249.5 156.5t-294.5 55.5q-207 0 -385 -98t-288 -266h52q37 0 91 2.5t89 4.5l34 3q21 1 30.5 -14.5t2.5 -32.5t-27 -20q-44 -5 -93 -7l294 -873l176 529 l-125 344l-85 7q-20 2 -27.5 19t2.5 33t30 15q133 -10 212 -10q38 0 91.5 2.5t88.5 4.5l35 3q16 1 25.5 -8.5t10 -22t-7 -23.5t-23.5 -13q-43 -5 -92 -7zM1731 1410q5 -40 5 -82q0 -135 -61 -289l-246 -711q183 106 292 291.5t109 404.5q0 207 -99 386zM218 1024 q0 -236 125 -430.5t330 -294.5l-385 1053q-70 -156 -70 -328zM1024 218q138 0 268 46q-4 6 -6 11l-248 679l-242 -703q112 -33 228 -33z" />
26
- <glyph unicode="&#xf206;" d="M1664 1536v256h-128v-256h-256v-128h256v-256h128v256h256v-1024q0 -106 -75 -181t-181 -75h-507q5 28 5 50q0 143 -46.5 230t-189.5 194q-3 2 -20.5 15t-25 19t-25.5 20t-27.5 22.5t-24 22t-23 23.5t-17 22t-12.5 22.5t-4 20.5q0 52 23 87t99 94q180 141 180 324 q0 113 -45 204.5t-128 139.5h160l135 142h-607q-127 0 -241.5 -49t-194.5 -132v65q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-128h-256zM575 937q-125 4 -225.5 108t-121.5 262q-21 161 50.5 269.5t194.5 104.5q121 -4 215.5 -118.5t116.5 -277.5q21 -160 -43 -256 t-187 -92zM572 570q-18 0 -54.5 -0.5t-55.5 -0.5q-183 0 -334 -83v485q125 -127 330 -127q30 0 59 3q-32 -61 -32 -118q0 -33 13 -63t28.5 -48.5t45.5 -47.5zM966 218q7 -29 7 -66q0 -16 -1 -24h-588q-85 0 -153 50.5t-92 130.5q57 85 166 137.5t237 51.5q84 -1 158 -26 q19 -13 62 -42.5t61 -42t48 -37t44.5 -41.5t29 -41.5t21.5 -49.5z" />
27
- <glyph unicode="&#xf207;" d="M530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28 q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
28
- <glyph unicode="&#xf208;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455 q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
29
- <glyph unicode="&#xf209;" d="M1073 2048q176 0 327.5 -60.5t253.5 -161t160 -231t58 -270.5q0 -246 -85 -443t-241 -309.5t-355 -112.5q-99 0 -186.5 46.5t-121.5 110.5q-73 -290 -89 -347q-34 -123 -127 -270l-149 54q-7 167 22 290l162 688q-40 81 -40 200q0 139 70.5 232.5t172.5 93.5 q83 0 127 -53.5t44 -135.5q0 -51 -18.5 -124t-49 -170t-44.5 -154q-23 -99 37.5 -171t161.5 -72q117 0 209.5 92t142 244.5t49.5 334.5q0 214 -139 349t-387 135q-139 0 -257.5 -49.5t-197 -133t-122.5 -193t-44 -229.5q0 -147 83 -247q18 -21 21.5 -34t-3.5 -37 q-16 -61 -25 -101q-7 -24 -24.5 -32t-39.5 1q-127 51 -192.5 181.5t-65.5 300.5q0 109 35.5 219t110 213t179 182t254 126.5t323.5 47.5z" />
30
- <glyph unicode="&#xf210;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5t-81 -398.5t-218 -326.5t-326.5 -218t-398.5 -81q-147 0 -290 42q74 116 103 219l72 282q28 -53 99 -90.5t151 -37.5q162 0 288.5 91.5t195.5 251t69 359.5q0 114 -47 220t-130 187.5t-206.5 130.5t-265.5 49 q-141 0 -262 -38.5t-205.5 -103t-145.5 -147.5t-89.5 -172.5t-28.5 -178.5q0 -138 53 -243.5t156 -147.5q18 -8 32.5 -1t18.5 26q2 9 10 41t11 41q5 19 2.5 30t-16.5 28q-68 78 -68 200q0 97 35.5 186t99.5 156.5t160 108t209 40.5q201 0 313.5 -109.5t112.5 -283.5 q0 -148 -40 -271.5t-115 -198t-169 -74.5q-82 0 -131.5 58.5t-30.5 138.5q11 46 35.5 125t39.5 138t15 101q0 66 -35.5 109.5t-102.5 43.5q-82 0 -139.5 -76t-57.5 -189q0 -43 8 -83.5t16 -59.5l9 -19q-113 -475 -132 -558q-24 -97 -18 -235q-275 120 -444 374t-169 564 q0 208 81 398t218.5 327t327 218t397.5 81z" />
31
- <glyph unicode="&#xf211;" d="M992 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294zM1888 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294z" />
32
- <glyph unicode="&#xf212;" d="M1919 1437q16 347 -260 355q-373 12 -505 -417q69 29 133 29q136 0 120 -152q-8 -92 -120 -268q-113 -176 -169 -176q-73 0 -133 271q-20 79 -72 407q-49 303 -258 284q-89 -8 -265 -160q-127 -113 -262 -231l84 -108q121 84 141 84q92 0 173 -287l144 -525 q108 -287 265 -287q253 0 619 471q353 451 365 710z" />
33
- <glyph unicode="&#xf213;" d="M512 1664h1024q159 0 271.5 -112.5t112.5 -271.5v-512q0 -159 -112.5 -271.5t-271.5 -112.5h-1024q-159 0 -271.5 112.5t-112.5 271.5v512q0 159 112.5 271.5t271.5 112.5zM1408 1024l-640 384v-768z" />
34
- <glyph unicode="&#xf214;" d="M1091 1920h-255q-17 -139 -62 -228q-48 -93 -121 -154q-74 -64 -181 -99v-253h198v-629q0 -121 26 -187q26 -65 92 -122t161 -89q93 -31 218 -31q110 0 201 22q88 20 208 76v282q-134 -88 -271 -88q-76 0 -136 36q-44 25 -61 70q-17 46 -17 200v460h426v281h-426v453z " />
35
- <glyph unicode="&#xf215;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM1792 1536v128q0 53 -37.5 90.5t-90.5 37.5h-128q-53 0 -90.5 -37.5t-37.5 -90.5v-128q0 -53 37.5 -90.5t90.5 -37.5h128q53 0 90.5 37.5 t37.5 90.5zM1024 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1792 1152h-272q16 -66 16 -128q0 -212 -150 -362t-362 -150t-362 150t-150 362q0 62 16 128h-272v-768q0 -53 37.5 -90.5 t90.5 -37.5h1280q53 0 90.5 37.5t37.5 90.5v768z" />
36
- <glyph unicode="&#xf216;" d="M1061 1779l702 -467q29 -24 29 -55v-467q0 -32 -29 -54l-702 -468q-17 -11 -37 -11q-18 0 -37 11l-702 468q-29 22 -29 54v467q0 31 29 55l702 467q17 11 37 11t37 -11zM441 1257l231 -154l286 191v307zM1090 1294l286 -191l231 154l-517 344v-307zM1258 1024l-234 156 l-233 -156l233 -156zM388 914l165 110l-165 110v-220zM1660 1134l-165 -110l165 -110v220zM958 754l-286 191l-231 -155l517 -344v308zM1607 790l-231 155l-286 -191v-308z" />
37
- <glyph unicode="&#xf217;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1024 208q236 0 432 123.5t298 327.5q59 136 59 266q0 117 -43.5 221.5t-118.5 182.5t-175.5 131 t-215.5 73q116 -48 204 -145t127 -218q54 -151 17.5 -320t-150.5 -289q-111 -123 -276 -179t-332 -27q-168 27 -307 138t-210 270q-74 156 -67.5 338.5t93.5 335.5q88 155 238.5 260t328.5 135q2 0 35 6q-208 -16 -380.5 -128t-272.5 -293.5t-100 -392.5q0 -221 109.5 -409 t297.5 -297.5t409 -109.5zM1113 1770q-157 7 -306.5 -51.5t-258.5 -169.5q-109 -107 -159 -254.5t-30 -296.5q17 -148 100 -275.5t207 -200.5q120 -71 264 -78.5t267 49.5q-76 -21 -148 -21q-149 0 -275.5 74t-200.5 201t-74 276q0 214 146 373l3 3l14 14l1 1 q98 114 235 178t293 64q163 0 306 -70t241 -193q-36 57 -70 96q-104 126 -250 200.5t-305 80.5zM1415 1006q6 -142 -81 -257q-86 -115 -225 -157q-114 -35 -234 -7q83 -34 174 -34q195 0 333.5 138.5t138.5 333.5v2q-10 107 -63.5 202.5t-137.5 157.5q-102 77 -236 87 t-243 -49q-116 -62 -177 -167q-61 -107 -52 -231q8 -119 85 -217t186 -128q110 -33 221.5 8.5t170.5 134.5q61 91 50 204t-86 187q-70 77 -179.5 87t-188.5 -50q-85 -62 -105 -157q-21 -98 30 -182q50 -84 142 -108q92 -23 172 26q38 23 64 58.5t34 76.5q17 88 -34 159 q-52 72 -136 77q-83 6 -142 -54q-57 -55 -45 -138q6 -37 27.5 -68.5t52.5 -47.5q40 -21 87 -16q-46 1 -82 29t-49 71l-2 3q-14 30 -9.5 67t25.5 66q22 30 56.5 46.5t72.5 14.5t73.5 -23.5t54.5 -55.5q46 -76 8 -158q-18 -39 -53.5 -66.5t-78.5 -35.5q-43 -9 -88.5 3.5 t-78.5 43.5q-74 68 -68 169q2 65 45 118.5t109.5 77t132.5 5.5q68 -16 118.5 -70.5t65 -124.5t-9.5 -144q-37 -107 -150 -158.5t-224 -8.5q-114 43 -170 158q-55 117 -17 238q35 121 152 191t246 47q131 -19 223 -128t95 -246z" />
38
- <glyph unicode="&#xf218;" d="M1151 1835l151 85h-485q-264 0 -421 -129q-73 -64 -111.5 -147.5t-38.5 -167.5q0 -56 16 -109.5t49.5 -100.5t79.5 -82.5t109 -56.5t136 -21q19 0 75 5q0 -2 -4 -10.5t-4.5 -10.5t-3.5 -9.5t-4 -11l-3 -10.5t-2.5 -12.5t-1 -13t-0.5 -14.5q0 -26 5 -48t18.5 -45 t20.5 -32.5t26 -34.5q-61 -4 -98 -7.5t-107 -14.5t-131.5 -32.5t-112.5 -53.5q-50 -29 -86.5 -66.5t-56.5 -76.5t-29 -74.5t-9 -69.5q0 -66 32 -125.5t92.5 -107t159 -75.5t222.5 -28q117 0 218.5 25t174 68t124 99.5t76.5 120.5t25 131q0 40 -6.5 74.5t-22.5 65t-30.5 53 t-41.5 50t-45 43t-51 44.5l-85 66q-19 15 -28.5 24.5t-21 31t-11.5 45.5t12 47.5t21.5 34.5t32.5 33q37 29 59 48t52 52t46 64t28 75.5t12 94.5q0 43 -8 82t-23.5 70.5t-30.5 55.5t-38 47.5t-35 34.5t-32 27h146zM906 1238q-18 -19 -44 -33.5t-56.5 -23.5t-58.5 -9 q-58 0 -108 28.5t-83.5 73.5t-57.5 101.5t-34.5 111.5t-10.5 104q0 110 51 174q28 35 73.5 56t91.5 21q56 0 105.5 -28.5t83.5 -74.5t59 -103.5t36.5 -115.5t11.5 -110q0 -113 -59 -172zM2048 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256zM838 791 q51 -36 82 -59t63.5 -50.5t50.5 -48.5t33.5 -46t21.5 -50.5t6 -55.5q0 -113 -91 -183.5t-255 -70.5q-187 0 -300.5 80t-113.5 207q0 47 17 87.5t38.5 64.5t54 45t50.5 28.5t42 16.5q35 11 76.5 19.5t77.5 12t58.5 5t34.5 1.5q35 0 54 -3z" />
39
- <glyph unicode="&#xf219;" d="M1438 1833q12 -5 32 -14.5t74.5 -45.5t101 -78.5t97 -114.5t78 -153t27.5 -194.5t-40 -238.5q-43 -89 -97 -157.5t-109.5 -110t-115.5 -69t-115.5 -37t-107.5 -12t-95.5 4t-76 13t-49.5 13.5l-18 6v-277q-1 -3 -2 -9t-6.5 -23t-14 -34t-24.5 -39.5t-36 -42t-51.5 -39.5 t-68.5 -33q-52 -19 -107 -20t-97 11.5t-76.5 27.5t-53.5 27l-18 13v280q33 -34 67 -55.5t67.5 -28.5t61.5 11t44 63v946h312v-538l65 -13q206 -32 329 60q105 78 128 243q2 76 -15.5 141t-49 110.5t-72.5 82.5t-86.5 59.5t-91.5 39t-87.5 24t-73.5 11.5t-52 5h-19l-66 -2 q-217 -16 -359 -141q-57 -50 -97 -115q-27 -45 -39.5 -93t-11 -88t10 -78.5t22 -67.5t25.5 -51t21 -33l9 -12l-225 -201q-7 9 -18.5 25t-40.5 68.5t-49.5 107.5t-34.5 137.5t-8.5 163t41 179.5t102.5 191q70 78 153.5 135t167 86.5t172 45.5t169 15t156.5 -8t137.5 -21 t107.5 -26.5t72 -22.5z" />
40
- <glyph unicode="&#xf220;" d="M1857 834q51 -106 50 -217q0 -133 -65.5 -245.5t-178 -178t-244.5 -65.5q-123 0 -231 58q-79 -14 -155 -14q-171 0 -327 67t-269 180t-179.5 269t-66.5 327q0 86 17 169q-67 116 -67 247q0 133 65.5 245.5t178 178t245.5 65.5q141 0 260 -75q69 12 144 12 q171 0 327 -66.5t269 -179.5t179.5 -269t66.5 -327q0 -96 -19 -181zM1466 612q59 85 59 188q0 88 -34 149q-35 62 -96 100q-58 39 -143 66q-77 25 -187 49q-89 20 -116 28q-35 9 -68 27q-33 15 -50 38q-17 20 -17 49q0 46 52 80q54 36 146 36q97 0 141 -32q43 -32 75 -94 q30 -48 51 -67q25 -22 72 -22q53 0 87 36q34 35 34 81t-25 96q-24 47 -82 92q-57 45 -139 70q-86 26 -197 26q-139 0 -247 -40q-107 -39 -164 -113q-57 -73 -57 -170q0 -102 55 -170q52 -65 144 -105q95 -40 221 -66q93 -20 154 -38q57 -19 90 -50q33 -30 33 -80 q0 -64 -62 -105q-65 -44 -170 -44q-78 0 -123 22q-47 22 -70 54q-27 34 -49 86q-21 49 -49 72q-32 26 -75 26q-52 0 -87 -33q-36 -33 -36 -79q0 -75 54 -153q52 -76 139 -123q119 -63 302 -63q150 0 263 46q111 46 171 130z" />
41
- <glyph unicode="&#xf221;" d="M1664 1024q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -41 -24 -74t-62 -46q22 -33 22 -72q0 -53 -37.5 -90.5t-90.5 -37.5h-64q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-448q-65 0 -123 20t-93.5 44t-80.5 44t-87 20h-128v640h192q49 0 104 47t103.5 127.5 t80.5 204.5t32 261q0 5 0.5 13.5t4 31t9.5 39t19 30.5t31 14q33 0 77.5 -42t79.5 -119t35 -159q0 -85 -8 -165t-16 -117l-8 -38h416q53 0 90.5 -37.5t37.5 -90.5z" />
42
- <glyph unicode="&#xf222;" d="M1843 1168q0 -55 -28 -100.5t-74 -72.5q14 -50 14 -99q0 -135 -98.5 -250t-267.5 -181.5t-368 -66.5t-368.5 66.5t-268 181t-98.5 249.5q0 50 16 104q-44 27 -70.5 71.5t-26.5 97.5q0 83 59 142t142 59q100 0 160 -83q183 97 412 106l92 457q5 22 23 33q18 12 39 7 l313 -72q24 41 65.5 65.5t89.5 24.5q74 0 126.5 -52.5t52.5 -126.5t-52.5 -126.5t-126.5 -52.5q-71 0 -122 48.5t-56 119.5l-262 60l-77 -386q222 -12 397 -108q60 86 163 86q83 0 141.5 -59t58.5 -142zM1600 1805q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5 t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM1021 501q171 0 316.5 53t230.5 143.5t85 197.5q0 108 -85 199t-230.5 144t-316.5 53q-172 0 -317.5 -53t-230.5 -144t-85 -198t85 -198t230.5 -144t317.5 -53zM307 1168q0 -47 40 -75q47 75 132 137q-29 36 -73 36 q-41 0 -70 -28.5t-29 -69.5zM1698 1089q43 31 43 79q0 40 -28.5 69t-69.5 29q-45 0 -76 -39q83 -61 131 -138zM895 982q0 -46 -33 -79t-79 -33t-78.5 33t-32.5 79t32.5 79t78.5 33q47 0 79.5 -33t32.5 -79zM1265 1094q47 0 79.5 -33t32.5 -79t-33 -79t-79 -33t-79 33t-33 79 t32.5 79t79.5 33zM1224 776q15 15 36 15t36 -15t15 -36.5t-15 -36.5q-86 -86 -271 -86q-187 0 -273 86q-15 15 -15 36.5t15 36.5t36 15t36 -15q56 -56 199 -56q145 0 201 56z" />
43
- <glyph unicode="&#xf223;" d="M1105 1233v92q0 34 -23.5 57t-57.5 23t-57.5 -23t-23.5 -57l-1 -481q-1 -138 -101.5 -235t-241.5 -97q-142 0 -242.5 99t-100.5 238v209h263v-206q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v487q5 136 104.5 230.5t238.5 94.5t238.5 -95.5t104.5 -231.5v-107 l-157 -45zM1792 1058v-209q0 -139 -100.5 -238t-242.5 -99t-242 97.5t-102 236.5v210l105 -48l157 46v-212q0 -33 23.5 -56.5t57.5 -23.5t57.5 23.5t23.5 56.5v216h263z" />
44
- <glyph unicode="&#xf224;" d="M512 1792h1024q106 0 181 -75t75 -181v-384q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5v384q0 106 75 181t181 75zM1024 1077l-293 294q-37 37 -91 37t-90 -37q-38 -37 -38 -90t38 -91l362 -362l4 4q37 -64 108 -64t108 64l5 -4 l362 362q37 38 37 91t-37 90t-91 37q-53 0 -90 -37z" />
45
- <glyph unicode="&#xf300;" d="M512 1536h1024q106 0 181 -75t75 -181v-384q0 -106 -75 -181t-181 -75h-448l-448 -448v448h-128q-106 0 -181 75t-75 181v384q0 106 75 181t181 75z" />
46
- <glyph unicode="&#xf301;" d="M1664 1152l-256 -640h-1024v1024h384l64 -128h448v-128h-640l-128 -256h128l64 128h960z" />
47
- <glyph unicode="&#xf302;" d="M1536 1536v-512l-768 -768l-512 512l768 768h512zM1280 1152q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
48
- <glyph unicode="&#xf303;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1024 1115l298 -298l-90 -91l-336 336v474h128v-421z" />
49
- <glyph unicode="&#xf304;" d="M1024 1152q-106 0 -181 75t-75 181t75 181t181 75t181 -75t75 -181t-75 -181t-181 -75zM896 1024h256q159 0 271.5 -112.5t112.5 -271.5v-256h-1024v256q0 159 112.5 271.5t271.5 112.5z" />
50
- <glyph unicode="&#xf305;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM832 1280h128q26 0 45 -19t19 -45v-512 q0 -26 -19 -45t-45 -19t-45 19t-19 45v448h-64q-26 0 -45 19t-19 45t19 45t45 19z" />
51
- <glyph unicode="&#xf306;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM1088 1280h2h1h3q22 -2 38.5 -18t19.5 -39v-2v-2 v-1v-2q0 -5 -2 -15l-128 -512q-6 -26 -28.5 -40t-48.5 -7q-26 6 -40 28.5t-7 48.5l108 433h-174q-26 0 -45 19t-19 45t19 45t45 19h256z" />
52
- <glyph unicode="&#xf307;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM768 1280h128v-128h-128v128zM1024 1280h128v-128 h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128z" />
53
- <glyph unicode="&#xf308;" d="M1914 1371l-181 -181q-37 38 -90 38t-91 -38l-181 -181q-37 -37 -37 -90t37 -91l-181 -181l-227 226l-395 -395q-68 -68 -113.5 -93t-112.5 -43q12 45 22 71t38 66.5t76 88.5l395 395l-227 227l181 181q37 -37 90.5 -37t91.5 37l181 181q38 38 38 91t-38 90l181 181z" />
54
- <glyph unicode="&#xf400;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
55
- <glyph unicode="&#xf401;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM512 1280h640v-128h-640v128z" />
56
- <glyph unicode="&#xf402;" d="M1664 256l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495zM384 1216q0 -185 131.5 -316.5t316.5 -131.5 q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM1152 1152h-256v-256h-128v256h-256v128h256v256h128v-256h256v-128z" />
57
- <glyph unicode="&#xf403;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5t283.5 -57.5t233.5 -159.5l507 -507l-506 -507q-101 -103 -234.5 -160t-283.5 -57t-283.5 57.5t-233.5 160.5zM272 1024l370 -371q77 -78 175.5 -119.5t206.5 -41.5t206 41.5t174 118.5l373 372l-371 371 q-158 161 -382 161q-108 0 -206.5 -41t-173.5 -119zM1024 1408q159 0 271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5zM1152 1024q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5 t37.5 -90.5t90.5 -37.5z" />
58
- <glyph unicode="&#xf404;" d="M1382 1653l-143 -143q-103 46 -215 46q-108 0 -206.5 -41t-173.5 -119l-372 -372l240 -240l-136 -136l-376 376l506 506q101 103 234.5 160.5t283.5 57.5q193 0 358 -95zM1709 1619l-90 90l-1280 -1280l90 -90zM1122 1394l-468 -468q-14 54 -14 98q0 159 112.5 271.5 t271.5 112.5q44 0 98 -14zM2048 1024l-506 -507q-101 -103 -234.5 -160t-283.5 -57q-193 0 -358 95l143 143q103 -46 215 -46q108 0 206 41.5t174 118.5l373 372l-241 241l136 135zM926 654l468 468q14 -54 14 -98q0 -159 -112.5 -271.5t-271.5 -112.5q-44 0 -98 14z" />
59
- <glyph unicode="&#xf405;" d="M1216 1088l320 -320l-128 -128l-320 320l-320 -320l-128 128l320 320l-320 320l128 128l320 -320l320 320l128 -128z" />
60
- <glyph unicode="&#xf406;" d="M1216 1088l832 -832l-128 -128l-832 832l-832 -832l-128 128l832 832l-832 832l128 128l832 -832l832 832l128 -128z" />
61
- <glyph unicode="&#xf407;" d="M1536 1408v-128h-1152v128l256 128q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM832 1408h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19zM1408 1216v-704q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5 t-37.5 90.5v704h128v-704h128v704h128v-704h128v704h128v-704h128v704h128z" />
62
- <glyph unicode="&#xf408;" d="M844 1150l-588 1l476 -330l-183 -535l475 332l475 -332l-183 535l476 330l-587 -1l-181 535z" />
63
- <glyph unicode="&#xf409;" d="M1664 1152l-128 -128v-512h-1024v512l-128 128l640 512zM1152 1024h-256v-448h256v448z" />
64
- <glyph unicode="&#xf410;" d="M1792 1536v-128l-768 -384l-768 384v128h1536zM1024 832l768 384v-704h-1536v704z" />
65
- <glyph unicode="&#xf411;" d="M1728 1280l-896 -896h-448v448l896 896zM685 941l96 -96l595 595l-96 96zM1440 1376l-595 -595l96 -96l595 595zM896 640l-256 256l-128 -128l256 -256z" />
66
- <glyph unicode="&#xf412;" d="M1280 192v448h-1024v704l384 384v-704h640v448l640 -640z" />
67
- <glyph unicode="&#xf413;" d="M256 1536v256q209 0 408 -55t367.5 -154t310.5 -241t241 -310.5t154 -367.5t55 -408h-256q0 260 -101.5 497t-273 408.5t-408.5 273t-497 101.5zM256 1024v256q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5h-256q0 209 -103 385.5t-279.5 279.5t-385.5 103zM640 448 q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56t56 136z" />
68
- <glyph unicode="&#xf414;" d="M1237 1711l759 -1237q88 -142 31 -244t-224 -102h-1557q-168 0 -225 102t31 244l760 1237q57 93 134.5 126.5t155 0t135.5 -126.5zM1152 896v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 384 q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
69
- <glyph unicode="&#xf415;" d="M128 1024h400q45 0 79.5 27.5t44.5 69.5q33 125 136.5 206t235.5 81q154 0 270 -114q38 -38 90.5 -38t90.5 38q37 38 37 91t-37 90q-88 89 -204.5 139t-246.5 50q-194 0 -353 -106t-234 -278h-309v-256zM1280 1024q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181 t181 -75t181 75t75 181zM1920 1024h-400q-45 0 -79.5 -27.5t-44.5 -69.5q-33 -125 -136.5 -206t-235.5 -81q-156 0 -269 115q-38 37 -91 37t-91 -38q-37 -38 -37 -91t37 -90q89 -89 205 -139t246 -50q194 0 353 106t234 278h309v256z" />
70
- <glyph unicode="&#xf416;" d="M1088 1792q133 0 226.5 -93.5t93.5 -226.5v-640q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5v320h128v-320q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5v640q0 80 -56 136t-136 56t-136 -56t-56 -136v-512q0 -26 19 -45t45 -19t45 19 t19 45v452h128v-452q0 -80 -56 -136t-136 -56t-136 56t-56 136v512q0 133 93.5 226.5t226.5 93.5z" />
71
- <glyph unicode="&#xf417;" d="M1536 1216q0 -117 -44.5 -222.5t-124.5 -185.5l-407 -406l-407 406q-80 80 -124.5 185.5t-44.5 222.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM960 896q133 0 226.5 93.5t93.5 226.5t-93.5 226.5t-226.5 93.5t-226.5 -93.5 t-93.5 -226.5t93.5 -226.5t226.5 -93.5z" />
72
- <glyph unicode="&#xf418;" d="M1536 1408l-512 -768h-128l-288 416l128 128l224 -192l448 512z" />
73
- <glyph unicode="&#xf419;" d="M2048 1792v-256h-2048v256h2048zM0 1152h2048v-256h-2048v256zM0 512h2048v-256h-2048v256z" />
74
- <glyph unicode="&#xf420;" d="M256 1792h640v-640l-232 232q-72 -71 -112 -163.5t-40 -196.5q0 -176 108.5 -313.5t275.5 -180.5v-262q-180 30 -326 137t-230 269.5t-84 349.5q0 155 60 294.5t167 246.5zM1792 1024q0 -155 -60 -294.5t-167 -246.5l227 -227h-640v640l19 -19l213 -213q71 71 111.5 164 t40.5 196q0 176 -108.5 313.5t-275.5 180.5v263q180 -31 326 -137.5t230 -269.5t84 -350z" />
75
- <glyph unicode="&#xf421;" d="M1536 1152v-256h-1152v256h1152z" />
76
- <glyph unicode="&#xf422;" d="M1536 1536v-1024h-1152v1024h1152zM1408 1280h-896v-640h896v640z" />
77
- <glyph unicode="&#xf423;" d="M301 960h403v-384h-128v256h-493l373 671l112 -62zM2048 960v-384h-128v256h-493l373 671l112 -62l-267 -481h403zM1088 1344q87 0 160.5 -43t116.5 -116.5t43 -160.5t-43 -160.5t-116.5 -116.5t-160.5 -43t-160.5 43t-116.5 116.5t-43 160.5t43 160.5t116.5 116.5 t160.5 43zM1088 832q79 0 135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5t-135.5 -56.5t-56.5 -135.5t56.5 -135.5t135.5 -56.5z" />
78
- <glyph unicode="&#xf424;" d="M1792 1408v-768l-384 -384h-768l-384 384v768l384 384h768zM1152 1024v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
79
- <glyph unicode="&#xf425;" d="M1536 1664v-1280h-1152v1280h256q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5h256zM1088 1664h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19zM1408 1536h-128v-128h-640v128h-128v-1024h896v1024zM704 1280q26 0 45 -19 t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1280h384v-128h-384v128zM704 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1024h384v-128h-384v128zM704 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z M896 768h384v-128h-384v128z" />
80
- <glyph unicode="&#xf426;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-1280q-106 0 -181 75t-75 181t75 181t181 75h7q-7 29 -7 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z" />
81
- <glyph unicode="&#xf427;" d="M1432 1722l286 -286q74 -75 74 -180.5t-74 -180.5l-233 -233q-74 -73 -178.5 -74t-179.5 71l-455 -455h-288v288l455 455l-1 1q-74 74 -74 180t74 181l233 233q75 74 181 74t180 -74zM1504 1264l-256 256l-160 -160l256 -256z" />
82
- <glyph unicode="&#xf428;" d="M1024 1280q106 0 181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181t75 181t181 75z" />
83
- <glyph unicode="&#xf429;" d="M1517 960l-493 -493l-87 86l343 343h-896v128h896l-343 343l87 86z" />
84
- <glyph unicode="&#xf430;" d="M531 960l493 -493l87 86l-343 343h896v128h-896l343 343l-87 86z" />
85
- <glyph unicode="&#xf431;" d="M1536 1152l-576 -576l-576 576l128 128l448 -448l448 448z" />
86
- <glyph unicode="&#xf432;" d="M1536 768l-128 -128l-448 448l-448 -448l-128 128l576 576z" />
87
- <glyph unicode="&#xf433;" d="M896 0h-896v896z" />
88
- <glyph unicode="&#xf434;" d="M2048 896v-896h-896z" />
89
- <glyph unicode="&#xf435;" d="M1664 1408v-128h-1280v128h1280zM1024 1152l640 -640h-1280z" />
90
- <glyph unicode="&#xf436;" d="M512 1536h128v-128h-128v128zM768 1536h128v-128h-128v128zM1024 1536h128v-128h-128v128zM1408 1536v-128h-128v128h128zM512 1280h128v-128h-128v128zM768 1280h128v-128h-128v128zM1024 1280h128v-128h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128 v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128zM1280 768h128v-128h-128v128z" />
91
- <glyph unicode="&#xf437;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75zM1408 1536h-768v-768h768v768zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 z" />
92
- <glyph unicode="&#xf438;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v384h128v-128h768v768h-768v-128h-128v128q0 106 75 181t181 75zM768 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
93
- <glyph unicode="&#xf439;" d="M896 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM1408 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM384 1152h1280q0 -231 -145.5 -406.5t-366.5 -220.5v-269h-256v269q-221 45 -366.5 220.5t-145.5 406.5z" />
94
- <glyph unicode="&#xf440;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-384v256h-512v-256h-384q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z M1152 384h256l-384 -384l-384 384h256v256h256v-256z" />
95
- <glyph unicode="&#xf441;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-512v256h256l-384 384l-384 -384h256v-256h-512q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5 t112.5 -271.5q0 -62 -23 -128z" />
96
- <glyph unicode="&#xf442;" d="M1664 1664v-640h-128v422l-550 -550l-90 91l550 549h-422v128h640zM1280 896l128 128v-512h-896v896h512l-128 -128h-256v-640h640v256z" />
97
- <glyph unicode="&#xf443;" d="M1536 1280v-896h-1024v1280h640zM1408 1152h-384v384h-384v-1024h768v640z" />
98
- <glyph unicode="&#xf444;" d="M1664 640h-64q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5h64v-128h-1024q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75h1024v-1152zM640 384h818q-50 55 -50 128t50 128h-818q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
99
- <glyph unicode="&#xf445;" d="M1888 748l-58 -140l-305 22q-44 -56 -107 -107l22 -305l-139 -58l-201 232q-67 -8 -76 -8q-8 0 -75 8l-201 -232l-139 58l21 305q-56 44 -107 107l-305 -22l-58 139l232 201q-8 67 -8 76q0 8 8 75l-232 201l58 139l305 -21q47 60 107 107l-21 305l139 58l201 -232 q67 8 75 8t75 -8l201 232l140 -58l-22 -305q56 -44 107 -107l305 22l58 -139l-232 -201q8 -67 8 -76q0 -8 -8 -75zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
100
- <glyph unicode="&#xf446;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1536 1024q0 212 -150 362t-362 150q-136 0 -259 -72l699 -699q72 123 72 259zM512 1024 q0 -212 150 -362t362 -150q135 0 259 72l-699 699q-72 -126 -72 -259z" />
101
- <glyph unicode="&#xf447;" d="M640 896v-128h896v-128h-1024v1024h-256v128h384v-256h1152l-256 -640h-896zM640 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5zM1408 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5z" />
102
- <glyph unicode="&#xf448;" d="M896 1664v-1280h-384v1280h384zM1536 1664v-1280h-384v1280h384z" />
103
- <glyph unicode="&#xf449;" d="M1536 1536v-1024h-1024v1024h1024z" />
104
- <glyph unicode="&#xf450;" d="M640 1664v-1280h-384v1280h384zM1792 1664v-1280l-1024 640z" />
105
- <glyph unicode="&#xf451;" d="M1280 1024l-1024 -640v1280zM1792 1664v-1280h-384v1280h384z" />
106
- <glyph unicode="&#xf452;" d="M1536 1024l-1024 -640v1280z" />
107
- <glyph unicode="&#xf453;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v1536q0 106 75 181t181 75zM1536 1792h-1024v-1280h1024v1280zM1024 128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5z" />
108
- <glyph unicode="&#xf454;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v640h256v-384h1024v1280h-1024v-384h-256v384q0 106 75 181t181 75zM640 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 128q53 0 90.5 37.5t37.5 90.5 t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
109
- <glyph unicode="&#xf455;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM960 1440q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM896 1184h128v-448h-128v448z" />
110
- <glyph unicode="&#xf456;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM888 1024l-22 414h189l-23 -414h-144zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
111
- <glyph unicode="&#xf457;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1142 1404q55 -42 55 -117q0 -52 -24 -91q-25 -38 -79 -74q-43 -27 -58 -43q-11 -12 -11 -33v-22h-135v38q0 42 18 72q16 29 62 58q32 20 51 40 q15 18 15 41q0 19 -16 29q-17 11 -44 11q-65 0 -154 -47l-61 119q110 62 228 62q98 0 153 -43zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
112
- <glyph unicode="&#xf458;" d="M896 384v480l-768 -480v1280l768 -480v480l1024 -640z" />
113
- <glyph unicode="&#xf459;" d="M1152 384v480l768 -480v1280l-768 -480v480l-1024 -640z" />
114
- <glyph unicode="&#xf460;" d="M896 1280l-256 -768h-128l-256 768h128l86 256h340zM1792 1280l-256 -768h-768l256 768h128l86 256h340l86 -256h128zM747 1280l-43 128h-128l-43 -128h214zM1515 1280l-43 128h-128l-43 -128h214z" />
115
- <glyph unicode="&#xf461;" d="M1024 384l648 613q112 106 120 264t-93 276t-251.5 126.5t-262.5 -97.5l-161 -153l-161 153q-112 106 -262.5 97.5t-251.5 -126.5t-93 -276t120 -264z" />
116
- <glyph unicode="&#xf462;" d="M1276 1505l-248 62l-256 -1024l248 -62zM619 711l-209 313l209 313l-213 142l-304 -455l304 -455zM1946 1024l-303 455l-213 -142l208 -313l-208 -313l213 -142z" />
117
- <glyph unicode="&#xf463;" d="M768 1024l-768 384v128h1536v-128zM1024 512h-1024v704l768 -384l256 128v-448zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1920 768h-256v256h-128v-256h-256 v-128h256v-256h128v256h256v128z" />
118
- <glyph unicode="&#xf464;" d="M768 1024l-768 384v128h1536v-128zM1024 512h-1024v704l768 -384l256 128v-448zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1920 768h-640v-128h640v128z" />
119
- <glyph unicode="&#xf465;" d="M768 1024l-768 384v128h1536v-128zM768 832l256 128v-448h-1024v704zM1280 1152h640q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5zM1984 837l-90 90l-362 -362l-181 181l-91 -90 l272 -272z" />
120
- <glyph unicode="&#xf466;" d="M320 1024l320 -320v-320l-640 640l640 640v-320zM1152 1280h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384l-640 640l640 640v-384z" />
121
- <glyph unicode="&#xf467;" d="M1024 1280h256q212 0 362 -150t150 -362v-300l-150 150q-74 74 -168 112t-194 38h-256v-384l-640 640l640 640v-384z" />
122
- <glyph unicode="&#xf468;" d="M256 1792h256v-1536h-256v1536zM1792 1664v-768h-256q-70 0 -125.5 13t-93 32l-75 38t-93 32t-125.5 13q-71 0 -125 -13t-85 -32t-56.5 -38t-54 -32t-63.5 -13v768q35 0 63.5 13t54 32t56.5 38t85 32t125 13q70 0 125.5 -13t93 -32l75 -38t93 -32t125.5 -13h256z" />
123
- <glyph unicode="&#xf469;" d="M1408 1664h-768v-256h768v256zM1792 1280v-768h-256v384h-1024v-384h-256v768h1536zM1633 256h-768l-112 113q-113 113 -113 271v128h768v-128q0 -158 113 -271z" />
124
- <glyph unicode="&#xf470;" d="M1536 1280v-128q53 0 90.5 -37.5t37.5 -90.5v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-1024q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5v128q0 212 150 362t362 150t362 -150t150 -362zM1280 1152v128q0 106 -75 181t-181 75t-181 -75t-75 -181v-128h512z " />
125
- <glyph unicode="&#xf471;" d="M1223 1121q83 -39 134 -117t51 -172q0 -133 -93.5 -226.5t-226.5 -93.5h-576v1024h512q106 0 181 -75t75 -181q0 -87 -57 -159zM768 1152h128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5h-128v-256zM768 640h192q80 0 136 56t56 136t-56 136t-136 56h-192v-384z " />
126
- <glyph unicode="&#xf472;" d="M1240 1408l-240 -768h128l-40 -128h-448l40 128h128l240 768h-128l40 128h448l-40 -128h-128z" />
127
- <glyph unicode="&#xf473;" d="M1664 1664v-1280h-1280v1280h1280zM768 1408q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5zM1536 1088l-128 192l-448 -672l-192 288l-256 -384h1024v576z" />
128
- <glyph unicode="&#xf500;" d="M128 0l960 960l960 -960h-1920z" />
129
- <glyph unicode="&#xf501;" d="M0 128l960 960l-960 960v-1920z" />
130
- <glyph unicode="&#xf502;" d="M128 2048l960 -960l960 960h-1920z" />
131
- <glyph unicode="&#xf503;" d="M2048 128l-960 960l960 960v-1920z" />
132
- </font>
133
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/font/genericons-regular-webfont.ttf DELETED
Binary file
lib/font/genericons-regular-webfont.woff DELETED
Binary file
lib/front-end.php CHANGED
@@ -25,6 +25,7 @@ if ( !defined( 'ABSPATH' ) ) {
25
  class Gensis_Simple_Share_Front_End {
26
 
27
  var $icons;
 
28
  var $appearance;
29
  var $size;
30
  var $archive;
@@ -38,49 +39,10 @@ class Gensis_Simple_Share_Front_End {
38
  */
39
  function __construct() {
40
 
41
- $icons = get_option( 'genesis_simple_share_sort', array(
42
- 'main' => 'genesis_simple_share_google_plus,genesis_simple_share_facebook,genesis_simple_share_twitter,genesis_simple_share_pinterest,genesis_simple_share_linkedin,genesis_simple_share_stumbleupon'
43
- ) );
44
-
45
- $icons = explode( ',', $icons['main'] );
46
-
47
- $icon_sort = array();
48
-
49
- foreach( $icons as $icon ){
50
- switch( $icon ){
51
-
52
- case 'genesis_simple_share_google_plus':
53
- $icon_sort[] = 'googlePlus';
54
- break;
55
-
56
- case 'genesis_simple_share_facebook':
57
- $icon_sort[] = 'facebook';
58
- break;
59
-
60
- case 'genesis_simple_share_twitter':
61
- $icon_sort[] = 'twitter';
62
- break;
63
-
64
- case 'genesis_simple_share_pinterest':
65
- $icon_sort[] = 'pinterest';
66
- break;
67
-
68
- case 'genesis_simple_share_linkedin':
69
- $icon_sort[] = 'linkedin';
70
- break;
71
-
72
- case 'genesis_simple_share_stumbleupon':
73
- $icon_sort[] = 'stumbleupon';
74
- break;
75
-
76
- }
77
- }
78
-
79
- //echo '<pre><code>'; var_dump($icon_sort); echo '</code></pre>';
80
-
81
- $this->icons = $this->get_display_icons( $icon_sort );
82
- $this->appearance = genesis_get_option( 'general_appearance', 'genesis_simple_share' );
83
- $this->size = genesis_get_option( 'general_size' , 'genesis_simple_share' );
84
 
85
  add_action( 'wp_enqueue_scripts', array( $this, 'load_scripts' ), 5 );
86
 
@@ -102,25 +64,25 @@ class Gensis_Simple_Share_Front_End {
102
 
103
  //use wp_enqueue_script() and wp_enqueue_style() to load scripts and styles
104
  wp_register_script( 'genesis-simple-share-plugin-js',
105
- $url . 'sharrre/jquery.sharrre.min.js',
106
  array( 'jquery' ),
107
  '0.1.0'
108
  );
109
 
110
  wp_register_style( 'genesis-simple-share-plugin-css',
111
- $url . 'css/share.css',
112
  array(),
113
  '0.1.0'
114
  );
115
 
116
  wp_register_style( 'genesis-simple-share-genericons-css',
117
- $url . 'css/genericons.css',
118
  array(),
119
  '0.1.0'
120
  );
121
 
122
  wp_register_script( 'genesis-simple-share-waypoint-js',
123
- $url . 'jquery-waypoints/waypoints.min.js',
124
  array( 'jquery' ),
125
  '0.1.0'
126
  );
@@ -134,10 +96,7 @@ class Gensis_Simple_Share_Front_End {
134
  wp_enqueue_script( 'genesis-simple-share-plugin-js' );
135
  wp_enqueue_style( 'genesis-simple-share-plugin-css' );
136
  wp_enqueue_style( 'genesis-simple-share-genericons-css' );
137
-
138
- if( $this->is_archive() ) {
139
- wp_enqueue_script( 'genesis-simple-share-waypoint-js' );
140
- }
141
 
142
  }
143
 
@@ -276,6 +235,136 @@ class Gensis_Simple_Share_Front_End {
276
 
277
  }
278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
  /**
280
  * Check to see if any icons are set to show for the post type and return array of icons or false
281
  *
@@ -301,18 +390,32 @@ class Gensis_Simple_Share_Front_End {
301
 
302
  }
303
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  /**
305
  * Build output for the icons based on position
306
  *
307
  * @since 0.1.0
308
  *
309
- * @param string $location before or after location
310
- * @param array $icons array of icons to use when building output
 
 
311
  *
312
  * @returns string HTML and JS required to build the share icons.
313
  *
314
  */
315
- function get_icon_output( $location, $icons = array(), $force_show = false ){
316
 
317
  if( is_feed() ) {
318
  return;
@@ -343,6 +446,8 @@ class Gensis_Simple_Share_Front_End {
343
 
344
  $id = get_the_ID();
345
 
 
 
346
  $scripts = '';
347
  $buttons = array();
348
 
@@ -361,32 +466,55 @@ class Gensis_Simple_Share_Front_End {
361
  $button = 'twitter' == $icon && ( $via = genesis_get_option( 'twitter_id', 'genesis_simple_share' ) ) ? " twitter: { via: '". str_replace( '@', '', $via ) ."' }" : '';
362
  $button = 'pinterest' == $icon && $image ? " pinterest: { media: '$image', description: '$description' }" : $button;
363
 
364
- if( $this->is_archive() )
365
- $scripts .= sprintf( "$('#%s').waypoint( function() {
366
- $('#%s').sharrre({
 
 
 
 
367
  share: {
368
- %s: true
369
  },
370
- urlCurl: '%s',
371
  enableHover: false,
372
  enableTracking: true,
373
- buttons: { %s },
 
374
  click: function(api, options){
375
  api.simulateClick();
376
- api.openPopup('%s');
377
  }
378
  });
379
  },
380
- { offset: 'bottom-in-view' });\n",
381
- $div_id,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
382
  $div_id,
383
  $icon,
384
- plugins_url( 'sharrre/sharrre.php', __FILE__ ),
 
385
  $button,
386
- $icon
 
387
  );
388
 
389
- else
 
390
  $scripts .= sprintf( "$('#%s').sharrre({
391
  share: {
392
  %s: true
@@ -394,6 +522,7 @@ class Gensis_Simple_Share_Front_End {
394
  urlCurl: '%s',
395
  enableHover: false,
396
  enableTracking: true,
 
397
  buttons: { %s },
398
  click: function(api, options){
399
  api.simulateClick();
@@ -402,36 +531,43 @@ class Gensis_Simple_Share_Front_End {
402
  });\n",
403
  $div_id,
404
  $icon,
405
- plugins_url( 'sharrre/sharrre.php', __FILE__ ),
 
406
  $button,
407
  $icon
408
  );
409
 
 
 
 
 
410
  switch( $icon ){
411
 
412
  case 'twitter' :
413
 
414
- $data_title = 'Tweet';
415
  break;
416
 
417
  case 'pinterest' :
418
 
419
- $data_title = 'Pin';
420
  break;
421
 
422
  default:
423
 
424
- $data_title = 'Share';
425
 
426
  }
427
 
428
- $buttons[] = sprintf( '<div class="%s" id="%s" data-url="%s" data-urlalt="%s" data-text="%s" data-title="%s"></div>',
429
  $icon,
430
  $div_id,
431
- get_permalink( $id ),
432
  wp_get_shortlink( $id ),
433
  $description,
434
- $data_title
 
 
435
  );
436
 
437
  }
@@ -534,8 +670,20 @@ class Gensis_Simple_Share_Front_End {
534
  */
535
  function is_archive() {
536
 
537
- if( is_home() || is_archive() || is_search() || is_page_template('page_blog.php') )
 
 
 
 
 
 
 
 
 
 
 
538
  return true;
 
539
 
540
  return false;
541
  }
@@ -572,7 +720,13 @@ class Gensis_Simple_Share_Front_End {
572
  function genesis_simple_share() {
573
  global $Genesis_Simple_Share;
574
 
575
- $Genesis_Simple_Share = new Gensis_Simple_Share_Front_End;
 
 
 
 
 
 
576
 
577
  }
578
 
@@ -584,16 +738,17 @@ genesis_simple_share();
584
  *
585
  * @since 0.1.0
586
  *
587
- * @param string $location before or after location
588
- * @param array $icons array of icons to use when building output
 
 
589
  *
590
  * @returns string HTML and JS required to build the share icons.
591
  *
592
  */
593
- function genesis_share_get_icon_output( $position, $icons = array(), $force_show = false ) {
594
- global $Genesis_Simple_Share;
595
 
596
- return $Genesis_Simple_Share->get_icon_output( $position, $icons, $force_show );
597
 
598
  }
599
 
@@ -603,14 +758,16 @@ function genesis_share_get_icon_output( $position, $icons = array(), $force_show
603
  *
604
  * @since 0.1.0
605
  *
606
- * @param string $location before or after location
607
- * @param array $icons array of icons to use when building output
 
 
608
  *
609
- * @returns string HTML and JS required to build the share icons.
610
  *
611
  */
612
- function genesis_share_icon_output( $position, $icons = array(), $force_show = false ) {
613
 
614
- echo genesis_share_get_icon_output( $position, $icons, $force_show );
615
 
616
  }
25
  class Gensis_Simple_Share_Front_End {
26
 
27
  var $icons;
28
+ var $icon_text = array();
29
  var $appearance;
30
  var $size;
31
  var $archive;
39
  */
40
  function __construct() {
41
 
42
+ $this->set_icons();
43
+ $this->set_icon_text();
44
+ $this->set_appearance();
45
+ $this->set_size();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  add_action( 'wp_enqueue_scripts', array( $this, 'load_scripts' ), 5 );
48
 
64
 
65
  //use wp_enqueue_script() and wp_enqueue_style() to load scripts and styles
66
  wp_register_script( 'genesis-simple-share-plugin-js',
67
+ $url . 'assets/js/sharrre/jquery.sharrre.min.js',
68
  array( 'jquery' ),
69
  '0.1.0'
70
  );
71
 
72
  wp_register_style( 'genesis-simple-share-plugin-css',
73
+ $url . 'assets/css/share.min.css',
74
  array(),
75
  '0.1.0'
76
  );
77
 
78
  wp_register_style( 'genesis-simple-share-genericons-css',
79
+ $url . 'assets/css/genericons.min.css',
80
  array(),
81
  '0.1.0'
82
  );
83
 
84
  wp_register_script( 'genesis-simple-share-waypoint-js',
85
+ $url . 'assets/js/waypoints.min.js',
86
  array( 'jquery' ),
87
  '0.1.0'
88
  );
96
  wp_enqueue_script( 'genesis-simple-share-plugin-js' );
97
  wp_enqueue_style( 'genesis-simple-share-plugin-css' );
98
  wp_enqueue_style( 'genesis-simple-share-genericons-css' );
99
+ wp_enqueue_script( 'genesis-simple-share-waypoint-js' );
 
 
 
100
 
101
  }
102
 
235
 
236
  }
237
 
238
+ /**
239
+ * Sets the $icon_text property.
240
+ * If the $icon_text attribute it set it will use that,
241
+ * otherwise it will use the default value.
242
+ *
243
+ * @since 1.1.0
244
+ *
245
+ * @access public
246
+ * @param array $icon_text (default: array())
247
+ * @return void
248
+ */
249
+ function set_icon_text( $icon_text = array() ) {
250
+ $this->icon_text = $icon_text ? $icon_text : array(
251
+ 'googlePlus' => array(
252
+ 'label' => __( 'Share on Google Plus' , 'genesis-simple-share' ),
253
+ 'count' => __( '%s shares on Google Plus', 'genesis-simple-share' ),
254
+ ),
255
+ 'facebook' => array(
256
+ 'label' => __( 'Share on Facebook' , 'genesis-simple-share' ),
257
+ 'count' => __( '%s shares on Facebook', 'genesis-simple-share' ),
258
+ ),
259
+ 'twitter' => array(
260
+ 'label' => __( 'Tweet this', 'genesis-simple-share' ),
261
+ 'count' => __( '%s Tweets' , 'genesis-simple-share' ),
262
+ ),
263
+ 'pinterest' => array(
264
+ 'label' => __( 'Pin this', 'genesis-simple-share' ),
265
+ 'count' => __( '%s Pins' , 'genesis-simple-share' ),
266
+ ),
267
+ 'linkedin' => array(
268
+ 'label' => __( 'Share on LinkedIn' , 'genesis-simple-share' ),
269
+ 'count' => __( '%s shares on LinkedIn', 'genesis-simple-share' ),
270
+ ),
271
+ 'stumbleupon' => array(
272
+ 'label' => __( 'Share on StumbleUpon' , 'genesis-simple-share' ),
273
+ 'count' => __( '%s shares on StumbleUpon', 'genesis-simple-share' ),
274
+ ),
275
+ );
276
+ }
277
+ /**
278
+ * Sets the $appearance property.
279
+ * If the $appearance attribute it set it will use that,
280
+ * otherwise it will use the option value.
281
+ *
282
+ * @since 1.1.0
283
+ *
284
+ * @access public
285
+ * @param string $apeparance (default: '')
286
+ * @return void
287
+ */
288
+ function set_appearance( $appearance = '' ) {
289
+ $this->appearance = $appearance ? $appearance : genesis_get_option( 'general_appearance', 'genesis_simple_share' );
290
+ }
291
+
292
+ /**
293
+ * Sets the $size property.
294
+ * If the $size attribute it set it will use that,
295
+ * otherwise it will use the option value.
296
+ *
297
+ * @since 1.1.0
298
+ *
299
+ * @access public
300
+ * @param string $apeparance (default: '')
301
+ * @return void
302
+ */
303
+ function set_size( $size = '' ) {
304
+ $this->size = $size ? $size : genesis_get_option( 'general_size' , 'genesis_simple_share' );
305
+ }
306
+
307
+ /**
308
+ * Sets the $icons property.
309
+ * If the $icons attribute it set it will use that,
310
+ * otherwise it will check options then sort the order and get the icon display
311
+ * using the get_display_icons() method.
312
+ *
313
+ * @since 1.1.0
314
+ *
315
+ * @access public
316
+ * @param array $icon_text (default: array())
317
+ * @return void
318
+ */
319
+ function set_icons( $icons = array() ) {
320
+
321
+ if ( $icons ) {
322
+ $this->icons = $icons;
323
+ return;
324
+ }
325
+
326
+ $icons = get_option( 'genesis_simple_share_sort', array(
327
+ 'main' => 'genesis_simple_share_google_plus,genesis_simple_share_facebook,genesis_simple_share_twitter,genesis_simple_share_pinterest,genesis_simple_share_linkedin,genesis_simple_share_stumbleupon'
328
+ ) );
329
+
330
+ $icons = explode( ',', $icons['main'] );
331
+
332
+ $icon_sort = array();
333
+
334
+ foreach ( $icons as $icon ) {
335
+ switch( $icon ) {
336
+
337
+ case 'genesis_simple_share_google_plus':
338
+ $icon_sort[] = 'googlePlus';
339
+ break;
340
+
341
+ case 'genesis_simple_share_facebook':
342
+ $icon_sort[] = 'facebook';
343
+ break;
344
+
345
+ case 'genesis_simple_share_twitter':
346
+ $icon_sort[] = 'twitter';
347
+ break;
348
+
349
+ case 'genesis_simple_share_pinterest':
350
+ $icon_sort[] = 'pinterest';
351
+ break;
352
+
353
+ case 'genesis_simple_share_linkedin':
354
+ $icon_sort[] = 'linkedin';
355
+ break;
356
+
357
+ case 'genesis_simple_share_stumbleupon':
358
+ $icon_sort[] = 'stumbleupon';
359
+ break;
360
+
361
+ }
362
+ }
363
+
364
+ $this->icons = $this->get_display_icons( $icon_sort );
365
+
366
+ }
367
+
368
  /**
369
  * Check to see if any icons are set to show for the post type and return array of icons or false
370
  *
390
 
391
  }
392
 
393
+ /**
394
+ * Gets the $icons property.
395
+ *
396
+ * @since 1.1.0
397
+ *
398
+ * @access public
399
+ * @return void
400
+ */
401
+ function get_icons() {
402
+ return $this->icons;
403
+ }
404
+
405
  /**
406
  * Build output for the icons based on position
407
  *
408
  * @since 0.1.0
409
  *
410
+ * @param string $location before or after location
411
+ * @param array $icons array of icons to use when building output
412
+ * @param boolean $force_show forces the output even if it is duplicate ID.
413
+ * @param string $url Alternate URL to be used instead of post permalink. This value will be shared and also be the URL checked for social shares.
414
  *
415
  * @returns string HTML and JS required to build the share icons.
416
  *
417
  */
418
+ function get_icon_output( $location, $icons = array(), $force_show = false, $url = '' ){
419
 
420
  if( is_feed() ) {
421
  return;
446
 
447
  $id = get_the_ID();
448
 
449
+ $url = ( empty( $url ) && $opt = genesis_get_custom_field( '_gss_alternate_url' ) ) ? esc_url( $opt ) : $url;
450
+
451
  $scripts = '';
452
  $buttons = array();
453
 
466
  $button = 'twitter' == $icon && ( $via = genesis_get_option( 'twitter_id', 'genesis_simple_share' ) ) ? " twitter: { via: '". str_replace( '@', '', $via ) ."' }" : '';
467
  $button = 'pinterest' == $icon && $image ? " pinterest: { media: '$image', description: '$description' }" : $button;
468
 
469
+ $disable_count = genesis_get_option( 'general_disable_count', 'genesis_simple_share' ) ? 'disableCount: true,' : '';
470
+
471
+ if ( $this->is_archive() ) {
472
+
473
+ $scripts .= sprintf( 'if ( $.fn.waypoint ) {
474
+ $("#%1$s").waypoint( function() {
475
+ $("#%1$s").sharrre({
476
  share: {
477
+ %2$s: true
478
  },
479
+ urlCurl: "%3$s",
480
  enableHover: false,
481
  enableTracking: true,
482
+ %4$s
483
+ buttons: { %5$s },
484
  click: function(api, options){
485
  api.simulateClick();
486
+ api.openPopup("%6$s");
487
  }
488
  });
489
  },
490
+ { offset: "bottom-in-view" });
491
+ } else {
492
+ $("#%1$s").sharrre({
493
+ share: {
494
+ %2$s: true
495
+ },
496
+ urlCurl: "%3$s",
497
+ enableHover: false,
498
+ enableTracking: true,
499
+ %4$s
500
+ buttons: { %5$s },
501
+ click: function(api, options){
502
+ api.simulateClick();
503
+ api.openPopup("%6$s");
504
+ }
505
+ });
506
+ }%7$s',
507
  $div_id,
508
  $icon,
509
+ plugins_url( 'assets/js/sharrre/sharrre.php', __FILE__ ),
510
+ $disable_count,
511
  $button,
512
+ $icon,
513
+ PHP_EOL
514
  );
515
 
516
+ } else {
517
+
518
  $scripts .= sprintf( "$('#%s').sharrre({
519
  share: {
520
  %s: true
522
  urlCurl: '%s',
523
  enableHover: false,
524
  enableTracking: true,
525
+ %s
526
  buttons: { %s },
527
  click: function(api, options){
528
  api.simulateClick();
531
  });\n",
532
  $div_id,
533
  $icon,
534
+ plugins_url( 'assets/js/sharrre/sharrre.php', __FILE__ ),
535
+ $disable_count,
536
  $button,
537
  $icon
538
  );
539
 
540
+ }
541
+
542
+ $data_reader = '';
543
+
544
  switch( $icon ){
545
 
546
  case 'twitter' :
547
 
548
+ $data_title = __( 'Tweet', 'genesis-simple-share' );
549
  break;
550
 
551
  case 'pinterest' :
552
 
553
+ $data_title = __( 'Pin', 'genesis-simple-share' );
554
  break;
555
 
556
  default:
557
 
558
+ $data_title = __( 'Share', 'genesis-simple-share' );
559
 
560
  }
561
 
562
+ $buttons[] = sprintf( '<div class="%s" id="%s" data-url="%s" data-urlalt="%s" data-text="%s" data-title="%s" data-reader="%s" data-count="%s"></div>',
563
  $icon,
564
  $div_id,
565
+ $url ? $url : get_permalink( $id ),
566
  wp_get_shortlink( $id ),
567
  $description,
568
+ $data_title,
569
+ $this->icon_text[$icon]['label'],
570
+ $this->icon_text[$icon]['count']
571
  );
572
 
573
  }
670
  */
671
  function is_archive() {
672
 
673
+ /**
674
+ * Allows plugins and themes to define archive pages which may not normally be caught by the plugin logic.
675
+ * Default is false, return a true value to cause the archive options, e.g. waypoints script, to load.
676
+ *
677
+ * @since 0.1.0
678
+ *
679
+ */
680
+ if ( apply_filters( 'genesis_simple_share_is_archive', false ) ) {
681
+ return true;
682
+ }
683
+
684
+ if ( is_home() || is_archive() || is_search() || is_page_template( 'page_blog.php' ) || is_front_page() || is_customize_preview() ) {
685
  return true;
686
+ }
687
 
688
  return false;
689
  }
720
  function genesis_simple_share() {
721
  global $Genesis_Simple_Share;
722
 
723
+ if ( empty( $Genesis_Simple_Share ) ) {
724
+
725
+ $Genesis_Simple_Share = new Gensis_Simple_Share_Front_End;
726
+
727
+ }
728
+
729
+ return $Genesis_Simple_Share;
730
 
731
  }
732
 
738
  *
739
  * @since 0.1.0
740
  *
741
+ * @param string $location before or after location
742
+ * @param array $icons array of icons to use when building output
743
+ * @param boolean $force_show forces the output even if it is duplicate ID.
744
+ * @param string $url Alternate URL to be used instead of post permalink. This value will be shared and also be the URL checked for social shares.
745
  *
746
  * @returns string HTML and JS required to build the share icons.
747
  *
748
  */
749
+ function genesis_share_get_icon_output( $position, $icons = array(), $force_show = false, $url = '' ) {
 
750
 
751
+ return genesis_simple_share()->get_icon_output( $position, $icons, $force_show, $url );
752
 
753
  }
754
 
758
  *
759
  * @since 0.1.0
760
  *
761
+ * @param string $location before or after location
762
+ * @param array $icons array of icons to use when building output
763
+ * @param boolean $force_show forces the output even if it is duplicate ID.
764
+ * @param string $url Alternate URL to be used instead of post permalink. This value will be shared and also be the URL checked for social shares.
765
  *
766
+ * @returns null
767
  *
768
  */
769
+ function genesis_share_icon_output( $position, $icons = array(), $force_show = false, $url = '' ) {
770
 
771
+ echo genesis_share_get_icon_output( $position, $icons, $force_show, $url );
772
 
773
  }
lib/jquery-waypoints/waypoints.min.js DELETED
@@ -1,8 +0,0 @@
1
- // Generated by CoffeeScript 1.6.2
2
- /*
3
- jQuery Waypoints - v2.0.3
4
- Copyright (c) 2011-2013 Caleb Troughton
5
- Dual licensed under the MIT license and GPL license.
6
- https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
7
- */
8
- (function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++){if(e in this&&this[e]===t)return e}return-1},e=[].slice;(function(t,e){if(typeof define==="function"&&define.amd){return define("waypoints",["jquery"],function(n){return e(n,t)})}else{return e(t.jQuery,t)}})(this,function(n,r){var i,o,l,s,f,u,a,c,h,d,p,y,v,w,g,m;i=n(r);c=t.call(r,"ontouchstart")>=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e<n.length-1){return t.push(n[e+1])}})},_traverse:function(t,e,i){var o,l;if(t==null){t="vertical"}if(e==null){e=r}l=h.aggregate(e);o=[];this.each(function(){var e;e=n.inArray(this,l[t]);return i(o,e,l[t])});return this.pushStack(o)},_invoke:function(t,e){t.each(function(){var t;t=l.getWaypointsByElement(this);return n.each(t,function(t,n){n[e]();return true})});return this}};n.fn[g]=function(){var t,r;r=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(d[r]){return d[r].apply(this,t)}else if(n.isFunction(r)){return d.init.apply(this,arguments)}else if(n.isPlainObject(r)){return d.init.apply(this,[null,r])}else if(!r){return n.error("jQuery Waypoints needs a callback function or handler option.")}else{return n.error("The "+r+" method does not exist in jQuery Waypoints.")}};n.fn[g].defaults={context:r,continuous:true,enabled:true,horizontal:false,offset:0,triggerOnce:false};h={refresh:function(){return n.each(a,function(t,e){return e.refresh()})},viewportHeight:function(){var t;return(t=r.innerHeight)!=null?t:i.height()},aggregate:function(t){var e,r,i;e=s;if(t){e=(i=a[n(t).data(u)])!=null?i.waypoints:void 0}if(!e){return[]}r={horizontal:[],vertical:[]};n.each(r,function(t,i){n.each(e[t],function(t,e){return i.push(e)});i.sort(function(t,e){return t.offset-e.offset});r[t]=n.map(i,function(t){return t.element});return r[t]=n.unique(r[t])});return r},above:function(t){if(t==null){t=r}return h._filter(t,"vertical",function(t,e){return e.offset<=t.oldScroll.y})},below:function(t){if(t==null){t=r}return h._filter(t,"vertical",function(t,e){return e.offset>t.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
 
 
 
 
 
 
 
 
lib/js/admin.js DELETED
@@ -1,17 +0,0 @@
1
- jQuery(document).ready(function($) {
2
-
3
- $( ".genesis_simple_share_general_size, .genesis_simple_share_general_appearance" ).change( function() {
4
-
5
- var size = "share-" + $( ".genesis_simple_share_general_size" ).val();
6
- var appearance = "share-" + $( ".genesis_simple_share_general_appearance" ).val();
7
-
8
- //$( "#share-preview-preview" ).hide();
9
-
10
- $( "#share-preview-preview" ).removeClass();
11
- $( "#share-preview-preview" ).addClass( "share-preview " + size + " " + appearance );
12
-
13
- //$( "#share-preview-preview" ).fadeIn();
14
-
15
- } );
16
-
17
- } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/languages/genesis-simple-share.pot DELETED
@@ -1,161 +0,0 @@
1
- # Copyright (C) 2015 copyblogger
2
- # This file is distributed under the same license as the Genesis Simple Share package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Genesis Simple Share 1.0.4\n"
6
- "Report-Msgid-Bugs-To: StudioPress <translations@studiopress.com>\n"
7
- "POT-Creation-Date: 2015-09-28 19:58:47+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=utf-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: StudioPress <translations@studiopress.com>\n"
13
- "Language-Team: English <translations@studiopress.com>\n"
14
- "X-Generator: grunt-wp-i18n 0.4.4\n"
15
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
16
- "X-Poedit-Basepath: .\n"
17
- "X-Poedit-Language: English\n"
18
- "X-Poedit-Country: UNITED STATES\n"
19
- "X-Poedit-SourceCharset: utf-8\n"
20
- "X-Poedit-KeywordsList: "
21
- "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
22
- "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
23
- "X-Poedit-Bookmarks: \n"
24
- "X-Poedit-SearchPath-0: .\n"
25
- "X-Textdomain-Support: yes\n"
26
-
27
- #: lib/admin-icon-preview.php:14 lib/admin.php:14 lib/functions.php:16
28
- #: plugin.php:19
29
- msgid "Sorry, you are not allowed to access this page directly."
30
- msgstr ""
31
-
32
- #: lib/admin.php:40
33
- msgid "You can change button position by reordering these boxes:"
34
- msgstr ""
35
-
36
- #: lib/admin.php:64
37
- msgid "Genesis Simple Share Settings"
38
- msgstr ""
39
-
40
- #: lib/admin.php:65
41
- msgid "Simple Share"
42
- msgstr ""
43
-
44
- #: lib/admin.php:232
45
- msgid "Google+"
46
- msgstr ""
47
-
48
- #: lib/admin.php:233
49
- msgid "Facebook"
50
- msgstr ""
51
-
52
- #: lib/admin.php:234
53
- msgid "Twitter"
54
- msgstr ""
55
-
56
- #: lib/admin.php:235
57
- msgid "Pinterest"
58
- msgstr ""
59
-
60
- #: lib/admin.php:236
61
- msgid "Linkedin"
62
- msgstr ""
63
-
64
- #: lib/admin.php:237
65
- msgid "StumbleUpon"
66
- msgstr ""
67
-
68
- #: lib/admin.php:264
69
- msgid "Icon Size"
70
- msgstr ""
71
-
72
- #: lib/admin.php:265
73
- msgid "Small Bar"
74
- msgstr ""
75
-
76
- #: lib/admin.php:266
77
- msgid "Medium Bar"
78
- msgstr ""
79
-
80
- #: lib/admin.php:267
81
- msgid "Box"
82
- msgstr ""
83
-
84
- #: lib/admin.php:270
85
- msgid "Icon Appearance"
86
- msgstr ""
87
-
88
- #: lib/admin.php:271
89
- msgid "Outlined"
90
- msgstr ""
91
-
92
- #: lib/admin.php:272
93
- msgid "Filled"
94
- msgstr ""
95
-
96
- #: lib/admin.php:319 lib/admin.php:336 lib/admin.php:353 lib/admin.php:374
97
- #: lib/admin.php:389 lib/admin.php:409
98
- msgid "Use this button?"
99
- msgstr ""
100
-
101
- #: lib/admin.php:356
102
- msgid "Enter Twitter ID for @via to be added to default tweet text:"
103
- msgstr ""
104
-
105
- #: lib/admin.php:392
106
- msgid ""
107
- "Enter Default Image URL if there is no image available in content being "
108
- "shared:"
109
- msgstr ""
110
-
111
- #: lib/admin.php:423
112
- msgid "Icon Display Position"
113
- msgstr ""
114
-
115
- #: lib/admin.php:424
116
- msgid "Select display position to enable icons."
117
- msgstr ""
118
-
119
- #: lib/admin.php:425
120
- msgid "Before the Content"
121
- msgstr ""
122
-
123
- #: lib/admin.php:426
124
- msgid "After the Content"
125
- msgstr ""
126
-
127
- #: lib/admin.php:427
128
- msgid "Before and After the Content"
129
- msgstr ""
130
-
131
- #: lib/admin.php:477
132
- msgid "Enable on:"
133
- msgstr ""
134
-
135
- #: lib/admin.php:484
136
- msgid "Show on Archive Pages"
137
- msgstr ""
138
-
139
- #: lib/post-meta.php:18
140
- msgid "Share Settings"
141
- msgstr ""
142
-
143
- #: lib/post-meta.php:37
144
- msgid "Disable Share Buttons"
145
- msgstr ""
146
-
147
- #. Plugin Name of the plugin/theme
148
- msgid "Genesis Simple Share"
149
- msgstr ""
150
-
151
- #. Description of the plugin/theme
152
- msgid "A simple sharing plugin using the Share script."
153
- msgstr ""
154
-
155
- #. Author of the plugin/theme
156
- msgid "copyblogger"
157
- msgstr ""
158
-
159
- #. Author URI of the plugin/theme
160
- msgid "http://www.copyblogger.com"
161
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/post-meta.php CHANGED
@@ -3,69 +3,105 @@
3
  class Genesis_Simple_Share_Entry_Meta {
4
 
5
  function __construct() {
6
-
7
  add_action( 'admin_menu', array( $this, 'add_meta_box' ) );
8
  add_action( 'save_post' , array( $this, 'save_meta' ) );
9
-
10
  }
11
 
 
 
 
 
 
 
 
12
  function add_meta_box() {
13
-
14
- foreach ( (array) get_post_types( array( 'public' => true ) ) as $type ) {
 
 
 
 
 
 
 
 
 
 
 
15
  if ( genesis_get_option( 'general_' . $type, 'genesis_simple_share' ) ) {
16
- add_meta_box(
17
- 'genesis-simple-share-entry-meta',
18
- __( 'Share Settings', 'genesis-simple-share' ),
19
- array( $this, 'meta_box' ),
20
- $type,
21
- 'side',
22
- 'default'
23
  );
24
  }
25
  }
26
-
27
  }
28
-
29
  function meta_box() {
30
-
31
  $check = get_post_meta( get_the_ID(), '_disable_gss', true ) ? 1 : '';
32
 
33
  wp_nonce_field( 'genesis_simple_share_inpost_save', 'genesis_simple_share_inpost_nonce' )
34
- ?>
35
  <p>
36
  <input type="checkbox" id="_disable_gss" name="_disable_gss" <?php checked( $check, '1' ); ?> />
37
  <label for="_disable_gss"><?php _e( 'Disable Share Buttons', 'genesis-simple-share' ); ?></label>
38
  </p>
 
 
 
 
 
39
  <?php
40
-
41
  }
42
-
43
  function save_meta( $post_id ) {
44
-
45
  // Bail if we're doing an auto save
46
  if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
47
  return;
48
  }
49
-
50
  // if our nonce isn't there, or we can't verify it, bail
51
  if( ! isset( $_POST['genesis_simple_share_inpost_nonce'] ) || ! wp_verify_nonce( $_POST['genesis_simple_share_inpost_nonce'], 'genesis_simple_share_inpost_save' ) ) {
52
  return;
53
  }
54
-
55
  // if our current user can't edit this post, bail
56
- if( !current_user_can( 'edit_posts' ) ) {
57
  return;
58
  }
59
-
60
- if( isset( $_POST['_disable_gss'] ) ){
61
- update_post_meta( $post_id, '_disable_gss', 1 );
62
- }
63
- else {
64
- delete_post_meta( $post_id, '_disable_gss' );
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
-
67
  }
68
-
69
  }
70
 
71
  global $genesis_simple_share_entry_meta;
3
  class Genesis_Simple_Share_Entry_Meta {
4
 
5
  function __construct() {
6
+
7
  add_action( 'admin_menu', array( $this, 'add_meta_box' ) );
8
  add_action( 'save_post' , array( $this, 'save_meta' ) );
9
+
10
  }
11
 
12
+ /**
13
+ * Callback on the `admin_menu` action.
14
+ * Adds the post meta boxes for supported post types.
15
+ *
16
+ * @access public
17
+ * @return void
18
+ */
19
  function add_meta_box() {
20
+
21
+ $post_types = (array) get_post_types( array( 'public' => true ) );
22
+
23
+ /**
24
+ * Allows filtering the $post_types that are supported.
25
+ *
26
+ * @access public
27
+ * @param array $post_types supported post types
28
+ * @return void
29
+ */
30
+ $post_types = apply_filters( 'genesis_simple_share_post_types_support', $post_types );
31
+
32
+ foreach ( $post_types as $type ) {
33
  if ( genesis_get_option( 'general_' . $type, 'genesis_simple_share' ) ) {
34
+ add_meta_box(
35
+ 'genesis-simple-share-entry-meta',
36
+ __( 'Share Settings', 'genesis-simple-share' ),
37
+ array( $this, 'meta_box' ),
38
+ $type,
39
+ 'side',
40
+ 'default'
41
  );
42
  }
43
  }
44
+
45
  }
46
+
47
  function meta_box() {
48
+
49
  $check = get_post_meta( get_the_ID(), '_disable_gss', true ) ? 1 : '';
50
 
51
  wp_nonce_field( 'genesis_simple_share_inpost_save', 'genesis_simple_share_inpost_nonce' )
52
+ ?>
53
  <p>
54
  <input type="checkbox" id="_disable_gss" name="_disable_gss" <?php checked( $check, '1' ); ?> />
55
  <label for="_disable_gss"><?php _e( 'Disable Share Buttons', 'genesis-simple-share' ); ?></label>
56
  </p>
57
+ <p>
58
+ <label for="_gss_alternate_url"><?php _e( 'Alternate URL', 'genesis-simple-share' ); ?></label>
59
+ <input type="text" id="_gss_alternate_url" name="_gss_alternate_url" value="<?php echo esc_url ( get_post_meta( get_the_ID(), '_gss_alternate_url', true ) ); ?>" />
60
+ <span class="description"><?php _e( 'The alternate URL is used in place of the default link. This is the URL that will be shared and checked for social shares.', 'genesis-simple-share' ); ?></span>
61
+ </p>
62
  <?php
63
+
64
  }
65
+
66
  function save_meta( $post_id ) {
67
+
68
  // Bail if we're doing an auto save
69
  if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
70
  return;
71
  }
72
+
73
  // if our nonce isn't there, or we can't verify it, bail
74
  if( ! isset( $_POST['genesis_simple_share_inpost_nonce'] ) || ! wp_verify_nonce( $_POST['genesis_simple_share_inpost_nonce'], 'genesis_simple_share_inpost_save' ) ) {
75
  return;
76
  }
77
+
78
  // if our current user can't edit this post, bail
79
+ if( ! current_user_can( 'edit_posts' ) ) {
80
  return;
81
  }
82
+
83
+ $keys = array(
84
+ '_disable_gss',
85
+ '_gss_alternate_url',
86
+ );
87
+
88
+ foreach( $keys as $key ){
89
+ if( isset( $_POST[$key] ) ){
90
+
91
+ switch( $key ){
92
+ case '_disable_gss' : $value = 1; break;
93
+ case '_gss_alternate_url' : $value = esc_url( $_POST[$key] ); break;
94
+ }
95
+
96
+ update_post_meta( $post_id, $key, $value );
97
+ }
98
+ else {
99
+ delete_post_meta( $post_id, $key );
100
+ }
101
  }
102
+
103
  }
104
+
105
  }
106
 
107
  global $genesis_simple_share_entry_meta;
lib/sharrre/README.md DELETED
@@ -1,60 +0,0 @@
1
- jQuery Sharrre Plugin
2
- ===
3
-
4
- Make your sharing widget!
5
- Sharrre is a jQuery plugin that allows you to create nice widgets sharing for Facebook, Twitter, Google Plus (with PHP script) and more.
6
- More information on [Sharrre] (http://sharrre.com/#demos)
7
-
8
- Usage
9
- ===
10
-
11
- $('#sharrre').sharrre({
12
- share: {
13
- googlePlus: true,
14
- facebook: true,
15
- twitter: true
16
- },
17
- url: 'http://sharrre.com'
18
- });
19
-
20
- Example
21
- ===
22
-
23
- <div id="demo1" data-title="sharrre" data-url="http://sharrre.com" ></div>
24
- $(document).ready(function(){
25
- $('#demo1').sharrre({
26
- share: {
27
- googlePlus: true,
28
- facebook: true,
29
- twitter: true,
30
- delicious: true
31
- },
32
- buttons: {
33
- googlePlus: {size: 'tall'},
34
- facebook: {layout: 'box_count'},
35
- twitter: {count: 'vertical'},
36
- delicious: {size: 'tall'}
37
- },
38
- hover: function(api, options){
39
- $(api.element).find('.buttons').show();
40
- },
41
- hide: function(api, options){
42
- $(api.element).find('.buttons').hide();
43
- }
44
- });
45
- });
46
-
47
- See example on [official website] (http://sharrre.com/#demos)
48
-
49
-
50
- Dependencies
51
- ===
52
-
53
- jQuery 1.7
54
-
55
- Author
56
- ===
57
-
58
- - [Julien Hany](http://hany.fr)
59
- - [Twitter (@_JulienH)](http://twitter.com/_JulienH)
60
- - [Google+](http://plus.google.com/111637545317893682325)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/sharrre/index.html DELETED
@@ -1,106 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="fr">
3
- <head>
4
- <meta charset="UTF-8">
5
- <title>Sharrre.com</title>
6
- <meta name="description" content="Sharrre" />
7
- <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
8
- <script src="jquery.sharrre-1.3.1.js"></script>
9
- <script>
10
- $(function(){
11
- $('#demo1').sharrre({
12
- share: {
13
- googlePlus: true,
14
- facebook: true,
15
- twitter: true,
16
- delicious: true
17
- },
18
- buttons: {
19
- googlePlus: {size: 'tall'},
20
- facebook: {layout: 'box_count'},
21
- twitter: {count: 'vertical'},
22
- delicious: {size: 'tall'}
23
- },
24
- hover: function(api, options){
25
- $(api.element).find('.buttons').show();
26
- },
27
- hide: function(api, options){
28
- $(api.element).find('.buttons').hide();
29
- }
30
- });
31
-
32
- $('#demo2').sharrre({
33
- share: {
34
- googlePlus: true,
35
- facebook: true,
36
- twitter: true
37
- },
38
- url: 'http://sharrre.com',
39
- enableHover: false
40
- });
41
- });
42
- </script>
43
- <style type="text/css">
44
- #demo1.sharrre {
45
- width:100%;
46
- display:inline-block;
47
- }
48
- #demo2.sharrre {
49
- width:50px;
50
- }
51
- .sharrre .box{
52
- float:left;
53
- }
54
- .sharrre .count {
55
- color:#444444;
56
- display:block;
57
- font-size:17px;
58
- line-height:34px;
59
- height:34px;
60
- padding:4px 0;
61
- position:relative;
62
- text-align:center;
63
- text-decoration:none;
64
- width:50px;
65
- background-color:#eee;
66
- -webkit-border-radius:4px;
67
- -moz-border-radius:4px;
68
- border-radius:4px;
69
- }
70
- .sharrre .share {
71
- color:#FFFFFF;
72
- display:block;
73
- font-size:11px;
74
- height:16px;
75
- line-height:16px;
76
- margin-top:3px;
77
- padding:0;
78
- text-align:center;
79
- text-decoration:none;
80
- width:50px;
81
- background-color:#9CCE39;
82
- -webkit-border-radius:4px;
83
- -moz-border-radius:4px;
84
- border-radius:4px;
85
- }
86
- .sharrre .buttons {
87
- display:none;
88
- float:left;
89
- width:300px;
90
- }
91
- .sharrre .button {
92
- float:left;
93
- max-width:50px;
94
- height:50px;
95
- margin-left:10px;
96
- }
97
- </style>
98
- </head>
99
- <body>
100
- <h1>Sharrre demo</h1>
101
- <div id="demo1" data-title="sharrre" data-url="http://sharrre.com" ></div>
102
- <br /><br />
103
- <div id="demo2"></div>
104
- </body>
105
- </html>
106
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/sharrre/jquery.sharrre.min.js DELETED
@@ -1,42 +0,0 @@
1
- ;(function($,window,document,undefined){var pluginName='sharrre',defaults={className:'sharrre',share:{googlePlus:false,facebook:false,twitter:false,digg:false,delicious:false,stumbleupon:false,linkedin:false,pinterest:false},shareTotal:0,template:'',title:'',url:document.location.href,text:document.title,urlCurl:'sharrre.php',count:{},total:0,shorterTotal:true,enableHover:true,enableCounter:true,enableTracking:false,hover:function(){},hide:function(){},click:function(){},render:function(){},buttons:{googlePlus:{url:'',urlCount:false,size:'medium',lang:'en-US',annotation:''},facebook:{url:'',urlCount:false,action:'like',layout:'button_count',width:'',send:'false',faces:'false',colorscheme:'',font:'',lang:'en_US'},twitter:{url:'',urlCount:false,count:'horizontal',hashtags:'',via:'',related:'',lang:'en'},digg:{url:'',urlCount:false,type:'DiggCompact'},delicious:{url:'',urlCount:false,size:'medium'},stumbleupon:{url:'',urlCount:false,layout:'1'},linkedin:{url:'',urlCount:false,counter:''},pinterest:{url:'',media:'',description:'',layout:'horizontal'}}},urlJson={googlePlus:"",facebook:"//graph.facebook.com/?id={url}&callback=?",twitter:"//cdn.api.twitter.com/1/urls/count.json?url={url}&callback=?",digg:"//services.digg.com/2.0/story.getInfo?links={url}&type=javascript&callback=?",delicious:'//feeds.delicious.com/v2/json/urlinfo/data?url={url}&callback=?',stumbleupon:"",linkedin:"",pinterest:"//api.pinterest.com/v1/urls/count.json?url={url}&callback=?"},loadButton={googlePlus:function(self){var sett=self.options.buttons.googlePlus;$(self.element).find('.buttons').append('<div class="button googleplus"><div class="g-plusone" data-size="'+sett.size+'" data-href="'+(sett.url!==''?sett.url:self.options.url)+'" data-annotation="'+sett.annotation+'"></div></div>');window.___gcfg={lang:self.options.buttons.googlePlus.lang};var loading=0;if(typeof gapi==='undefined'&&loading==0){loading=1;(function(){var po=document.createElement('script');po.type='text/javascript';po.async=true;po.src='//apis.google.com/js/plusone.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(po,s);})();}
2
- else{gapi.plusone.go();}},facebook:function(self){var sett=self.options.buttons.facebook;$(self.element).find('.buttons').append('<div class="button facebook"><div id="fb-root"></div><div class="fb-like" data-href="'+(sett.url!==''?sett.url:self.options.url)+'" data-send="'+sett.send+'" data-layout="'+sett.layout+'" data-width="'+sett.width+'" data-show-faces="'+sett.faces+'" data-action="'+sett.action+'" data-colorscheme="'+sett.colorscheme+'" data-font="'+sett.font+'" data-via="'+sett.via+'"></div></div>');var loading=0;if(typeof FB==='undefined'&&loading==0){loading=1;(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}
3
- js=d.createElement(s);js.id=id;js.src='//connect.facebook.net/'+sett.lang+'/all.js#xfbml=1';fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));}
4
- else{FB.XFBML.parse();}},twitter:function(self){var sett=self.options.buttons.twitter;$(self.element).find('.buttons').append('<div class="button twitter"><a href="https://twitter.com/share" class="twitter-share-button" data-url="'+(sett.url!==''?sett.url:self.options.url)+'" data-count="'+sett.count+'" data-text="'+self.options.text+'" data-via="'+sett.via+'" data-hashtags="'+sett.hashtags+'" data-related="'+sett.related+'" data-lang="'+sett.lang+'">Tweet</a></div>');var loading=0;if(typeof twttr==='undefined'&&loading==0){loading=1;(function(){var twitterScriptTag=document.createElement('script');twitterScriptTag.type='text/javascript';twitterScriptTag.async=true;twitterScriptTag.src='//platform.twitter.com/widgets.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(twitterScriptTag,s);})();}
5
- else{$.ajax({url:'//platform.twitter.com/widgets.js',dataType:'script',cache:true});}},digg:function(self){var sett=self.options.buttons.digg;$(self.element).find('.buttons').append('<div class="button digg"><a class="DiggThisButton '+sett.type+'" rel="nofollow external" href="//digg.com/submit?url='+encodeURIComponent((sett.url!==''?sett.url:self.options.url))+'"></a></div>');var loading=0;if(typeof __DBW==='undefined'&&loading==0){loading=1;(function(){var s=document.createElement('SCRIPT'),s1=document.getElementsByTagName('SCRIPT')[0];s.type='text/javascript';s.async=true;s.src='//widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s,s1);})();}},delicious:function(self){if(self.options.buttons.delicious.size=='tall'){var css='width:50px;',cssCount='height:35px;width:50px;font-size:15px;line-height:35px;',cssShare='height:18px;line-height:18px;margin-top:3px;';}
6
- else{var css='width:93px;',cssCount='float:right;padding:0 3px;height:20px;width:26px;line-height:20px;',cssShare='float:left;height:20px;line-height:20px;';}
7
- var count=self.shorterTotal(self.options.count.delicious);if(typeof count==="undefined"){count=0;}
8
- $(self.element).find('.buttons').append('<div class="button delicious"><div style="'+css+'font:12px Arial,Helvetica,sans-serif;cursor:pointer;color:#666666;display:inline-block;float:none;height:20px;line-height:normal;margin:0;padding:0;text-indent:0;vertical-align:baseline;">'+'<div style="'+cssCount+'background-color:#fff;margin-bottom:5px;overflow:hidden;text-align:center;border:1px solid #ccc;border-radius:3px;">'+count+'</div>'+'<div style="'+cssShare+'display:block;padding:0;text-align:center;text-decoration:none;width:50px;background-color:#7EACEE;border:1px solid #40679C;border-radius:3px;color:#fff;">'+'<img src="//www.delicious.com/static/img/delicious.small.gif" height="10" width="10" alt="Delicious" /> Add</div></div></div>');$(self.element).find('.delicious').on('click',function(){self.openPopup('delicious');});},stumbleupon:function(self){var sett=self.options.buttons.stumbleupon;$(self.element).find('.buttons').append('<div class="button stumbleupon"><su:badge layout="'+sett.layout+'" location="'+(sett.url!==''?sett.url:self.options.url)+'"></su:badge></div>');var loading=0;if(typeof STMBLPN==='undefined'&&loading==0){loading=1;(function(){var li=document.createElement('script');li.type='text/javascript';li.async=true;li.src='//platform.stumbleupon.com/1/widgets.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li,s);})();s=window.setTimeout(function(){if(typeof STMBLPN!=='undefined'){STMBLPN.processWidgets();clearInterval(s);}},500);}
9
- else{STMBLPN.processWidgets();}},linkedin:function(self){var sett=self.options.buttons.linkedin;$(self.element).find('.buttons').append('<div class="button linkedin"><script type="in/share" data-url="'+(sett.url!==''?sett.url:self.options.url)+'" data-counter="'+sett.counter+'"></script></div>');var loading=0;if(typeof window.IN==='undefined'&&loading==0){loading=1;(function(){var li=document.createElement('script');li.type='text/javascript';li.async=true;li.src='//platform.linkedin.com/in.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li,s);})();}
10
- else{window.IN.init();}},pinterest:function(self){var sett=self.options.buttons.pinterest;$(self.element).find('.buttons').append('<div class="button pinterest"><a href="//pinterest.com/pin/create/button/?url='+(sett.url!==''?sett.url:self.options.url)+'&media='+sett.media+'&description='+sett.description+'" class="pin-it-button" count-layout="'+sett.layout+'">Pin It</a></div>');(function(){var li=document.createElement('script');li.type='text/javascript';li.async=true;li.src='//assets.pinterest.com/js/pinit.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li,s);})();}},tracking={googlePlus:function(){},facebook:function(){fb=window.setInterval(function(){if(typeof FB!=='undefined'){FB.Event.subscribe('edge.create',function(targetUrl){_gaq.push(['_trackSocial','facebook','like',targetUrl]);});FB.Event.subscribe('edge.remove',function(targetUrl){_gaq.push(['_trackSocial','facebook','unlike',targetUrl]);});FB.Event.subscribe('message.send',function(targetUrl){_gaq.push(['_trackSocial','facebook','send',targetUrl]);});clearInterval(fb);}},1000);},twitter:function(){tw=window.setInterval(function(){if(typeof twttr!=='undefined'){twttr.events.bind('tweet',function(event){if(event){_gaq.push(['_trackSocial','twitter','tweet']);}});clearInterval(tw);}},1000);},digg:function(){},delicious:function(){},stumbleupon:function(){},linkedin:function(){function LinkedInShare(){_gaq.push(['_trackSocial','linkedin','share']);}},pinterest:function(){}},popup={googlePlus:function(opt){window.open("https://plus.google.com/share?hl="+opt.buttons.googlePlus.lang+"&url="+encodeURIComponent((opt.buttons.googlePlus.url!==''?opt.buttons.googlePlus.url:opt.url)),"","toolbar=0, status=0, width=900, height=500");},facebook:function(opt){window.open("//www.facebook.com/sharer/sharer.php?u="+encodeURIComponent((opt.buttons.facebook.url!==''?opt.buttons.facebook.url:opt.url))+"&t="+opt.text+"","","toolbar=0, status=0, width=900, height=500");},twitter:function(opt){window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(opt.text)+"&url="+encodeURIComponent((opt.buttons.twitter.url!==''?opt.buttons.twitter.url:opt.url))+(opt.buttons.twitter.via!==''?'&via='+opt.buttons.twitter.via:''),"","toolbar=0, status=0, width=650, height=360");},digg:function(opt){window.open("//digg.com/tools/diggthis/submit?url="+encodeURIComponent((opt.buttons.digg.url!==''?opt.buttons.digg.url:opt.url))+"&title="+opt.text+"&related=true&style=true","","toolbar=0, status=0, width=650, height=360");},delicious:function(opt){window.open('//www.delicious.com/save?v=5&noui&jump=close&url='+encodeURIComponent((opt.buttons.delicious.url!==''?opt.buttons.delicious.url:opt.url))+'&title='+opt.text,'delicious','toolbar=no,width=550,height=550');},stumbleupon:function(opt){window.open('//www.stumbleupon.com/badge/?url='+encodeURIComponent((opt.buttons.delicious.url!==''?opt.buttons.delicious.url:opt.url)),'stumbleupon','toolbar=no,width=550,height=550');},linkedin:function(opt){window.open('https://www.linkedin.com/cws/share?url='+encodeURIComponent((opt.buttons.delicious.url!==''?opt.buttons.delicious.url:opt.url))+'&token=&isFramed=true','linkedin','toolbar=no,width=550,height=550');},pinterest:function(opt){window.open('//pinterest.com/pin/create/button/?url='+encodeURIComponent((opt.buttons.pinterest.url!==''?opt.buttons.pinterest.url:opt.url))+'&media='+encodeURIComponent(opt.buttons.pinterest.media)+'&description='+opt.buttons.pinterest.description,'pinterest','toolbar=no,width=700,height=300');}};function Plugin(element,options){this.element=element;this.options=$.extend(true,{},defaults,options);this.options.share=options.share;this._defaults=defaults;this._name=pluginName;this.init();};Plugin.prototype.init=function(){var self=this;if(this.options.urlCurl!==''){urlJson.googlePlus=this.options.urlCurl+'?url={url}&type=googlePlus';urlJson.stumbleupon=this.options.urlCurl+'?url={url}&type=stumbleupon';urlJson.linkedin=this.options.urlCurl+'?url={url}&type=linkedin';}
11
- $(this.element).addClass(this.options.className);if(typeof $(this.element).data('title')!=='undefined'){this.options.title=$(this.element).attr('data-title');}
12
- if(typeof $(this.element).data('url')!=='undefined'){this.options.url=$(this.element).data('url');}
13
- if(typeof $(this.element).data('urlalt')!=='undefined'){this.options.urlalt=$(this.element).data('urlalt');}
14
- if(typeof $(this.element).data('text')!=='undefined'){this.options.text=$(this.element).data('text');}
15
- $.each(this.options.share,function(name,val){if(val===true){self.options.shareTotal++;}});if(self.options.enableCounter===true){$.each(this.options.share,function(name,val){if(val===true){try{self.getSocialJson(name);self.getSocialJson(getSocialAltJson);}catch(e){}}});}
16
- else if(self.options.template!==''){this.options.render(this,this.options);}
17
- else{this.loadButtons();}
18
- $(this.element).hover(function(){if($(this).find('.buttons').length===0&&self.options.enableHover===true){self.loadButtons();}
19
- self.options.hover(self,self.options);},function(){self.options.hide(self,self.options);});$(this.element).click(function(){self.options.click(self,self.options);return false;});};Plugin.prototype.loadButtons=function(){var self=this;$(this.element).append('<div class="buttons"></div>');$.each(self.options.share,function(name,val){if(val==true){loadButton[name](self);if(self.options.enableTracking===true){tracking[name]();}}});};Plugin.prototype.getSocialJson=function(name){var self=this,count=0,url=urlJson[name].replace('{url}',encodeURIComponent(this.options.url));if('twitter'==name){self.options.hideCount=1;self.renderer();self.options.count[name]=0;self.rendererPerso();}else{self.options.hideCount=0;if(this.options.buttons[name].urlCount===true&&this.options.buttons[name].url!==''){url=urlJson[name].replace('{url}',this.options.buttons[name].url);}
20
- if(url!=''&&self.options.urlCurl!==''){$.getJSON(url,function(json){if(null!=json){if(typeof json.count!=="undefined"){var temp=json.count+'';temp=temp.replace('\u00c2\u00a0','');count+=parseInt(temp,10);}
21
- else if(typeof json.share!=="undefined"&&typeof json.share.share_count!=="undefined"){count+=parseInt(json.share.share_count, 10);}
22
- else if(typeof json[0]!=="undefined"){count+=parseInt(json[0].total_posts,10);}
23
- else if(typeof json[0]!=="undefined"){}
24
- self.options.count[name]=count;self.options.total+=count;self.renderer();self.rendererPerso();}
25
- else{self.renderer();self.options.count[name]=0;self.rendererPerso();}}).fail(function(){self.options.hideCount=1;self.renderer();self.options.count[name]=0;self.rendererPerso();});}
26
- else{self.renderer();self.options.count[name]=0;self.rendererPerso();}}};Plugin.prototype.getSocialAltJson=function(name){var self=this,count=0,url=urlJson[name].replace('{url}',encodeURIComponent(this.options.urlalt));self.options.hideCount=0;if(this.options.buttons[name].urlCount===true&&this.options.buttons[name].url!==''){url=urlJson[name].replace('{url}',this.options.buttons[name].url);}
27
- if(url!=''&&self.options.urlCurl!==''){$.getJSON(url,function(json){if(null!=json){if(typeof json.count!=="undefined"){var temp=json.count+'';temp=temp.replace('\u00c2\u00a0','');count+=parseInt(temp,10);}
28
- else if(json.data&&json.data.length>0&&typeof json.data[0].total_count!=="undefined"){count+=parseInt(json.data[0].total_count,10);}
29
- else if(typeof json[0]!=="undefined"){count+=parseInt(json[0].total_posts,10);}
30
- else if(typeof json[0]!=="undefined"){}
31
- self.options.count[name]+=count;self.options.total+=count;self.renderer();self.rendererPerso();}
32
- else{self.renderer();self.rendererPerso();}}).fail(function(){self.renderer();self.rendererPerso();});}
33
- else{self.renderer();self.rendererPerso();}};Plugin.prototype.rendererPerso=function(){var shareCount=0;for(e in this.options.count){shareCount++;}
34
- if(shareCount===this.options.shareTotal){this.options.render(this,this.options);}};Plugin.prototype.renderer=function(){var total=this.options.total,template=this.options.template
35
- hideCount=this.options.hideCount;if(hideCount){$(this.element).html('<div class="box no-count"><a class="count" href="#"></a>'+
36
- (this.options.title!==''?'<a class="share" href="#">'+this.options.title+'</a>':'')+'</div>');}
37
- else{if(this.options.shorterTotal===true){total=this.shorterTotal(total);}
38
- if(template!==''){template=template.replace('{total}',total);$(this.element).html(template);}
39
- else{$(this.element).html('<div class="box"><a class="count" href="#">'+total+'</a>'+
40
- (this.options.title!==''?'<a class="share" href="#">'+this.options.title+'</a>':'')+'</div>');}}};Plugin.prototype.shorterTotal=function(num){if(num>=1e6){num=(num/1e6).toFixed(2)+"M"}else if(num>=1e3){num=(num/1e3).toFixed(1)+"k"}
41
- return num;};Plugin.prototype.openPopup=function(site){popup[site](this.options);if(this.options.enableTracking===true){var tracking={googlePlus:{site:'Google',action:'+1'},facebook:{site:'facebook',action:'like'},twitter:{site:'twitter',action:'tweet'},digg:{site:'digg',action:'add'},delicious:{site:'delicious',action:'add'},stumbleupon:{site:'stumbleupon',action:'add'},linkedin:{site:'linkedin',action:'share'},pinterest:{site:'pinterest',action:'pin'}};_gaq.push(['_trackSocial',tracking[site].site,tracking[site].action]);}};Plugin.prototype.simulateClick=function(){var html=$(this.element).html();$(this.element).html(html.replace(this.options.total,this.options.total+1));};Plugin.prototype.update=function(url,text){if(url!==''){this.options.url=url;}
42
- if(text!==''){this.options.text=text;}};$.fn[pluginName]=function(options){var args=arguments;if(options===undefined||typeof options==='object'){return this.each(function(){if(!$.data(this,'plugin_'+pluginName)){$.data(this,'plugin_'+pluginName,new Plugin(this,options));}});}else if(typeof options==='string'&&options[0]!=='_'&&options!=='init'){return this.each(function(){var instance=$.data(this,'plugin_'+pluginName);if(instance instanceof Plugin&&typeof instance[options]==='function'){instance[options].apply(instance,Array.prototype.slice.call(args,1));}});}};})(jQuery,window,document);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/sharrre/sharrre.php DELETED
@@ -1,151 +0,0 @@
1
- <?php
2
-
3
- if( invalid_request() ){
4
- die();
5
- }
6
-
7
- header('content-type: application/json');
8
- //Sharrre by Julien Hany
9
- $json = array('url'=>'','count'=>0);
10
- //$json['url'] = $_GET['url'];
11
- $url = urlencode($_GET['url']);
12
- $type = urlencode($_GET['type']);
13
-
14
- if(filter_var($_GET['url'], FILTER_VALIDATE_URL)){
15
- if($type == 'googlePlus'){ //source http://www.helmutgranda.com/2011/11/01/get-a-url-google-count-via-php/
16
- $content = parse("https://plusone.google.com/u/0/_/+1/fastbutton?url=".$url."&count=true");
17
-
18
- $dom = new DOMDocument;
19
- $dom->preserveWhiteSpace = false;
20
- @$dom->loadHTML($content);
21
- $domxpath = new DOMXPath($dom);
22
- $newDom = new DOMDocument;
23
- $newDom->formatOutput = true;
24
-
25
- $filtered = $domxpath->query("//div[@id='aggregateCount']");
26
- if (isset($filtered->item(0)->nodeValue))
27
- {
28
- $json['count'] = str_replace('>', '', $filtered->item(0)->nodeValue);
29
- }
30
- }
31
- else if($type == 'stumbleupon'){
32
- $content = parse("http://www.stumbleupon.com/services/1.01/badge.getinfo?url=$url");
33
-
34
- $result = json_decode($content);
35
- if (isset($result->result->views))
36
- {
37
- $json['count'] = $result->result->views;
38
- }
39
-
40
- }
41
- else if($type == 'linkedin'){
42
- $content = parse("https://www.linkedin.com/countserv/count/share?format=jsonp&url=$url");
43
-
44
- if ( strpos( $content, '"count":' ) !== false ) {
45
- preg_match( '/"count":([^,]+),/', $content, $matches );
46
- $json['count'] = $matches[1];
47
- }
48
-
49
- }
50
- }
51
-
52
- //*
53
- if( isset( $json['count'] ) ){
54
- if( strpos( $json['count'], 'k' ) ){
55
- $json['count'] = ( str_replace( 'k', '', $json['count'] ) )*1000;
56
- }
57
- elseif( strpos( $json['count'], 'M' ) ){
58
- $json['count'] = ( str_replace( 'M', '', $json['count'] ) )*1000000;
59
- }
60
- }/**/
61
-
62
- echo str_replace('\\/','/',json_encode($json));
63
-
64
- function parse($encUrl){
65
- $options = array(
66
- CURLOPT_RETURNTRANSFER => true, // return web page
67
- CURLOPT_HEADER => false, // don't return headers
68
- CURLOPT_FOLLOWLOCATION => true, // follow redirects
69
- CURLOPT_ENCODING => "", // handle all encodings
70
- CURLOPT_USERAGENT => 'sharrre', // who am i
71
- CURLOPT_AUTOREFERER => true, // set referer on redirect
72
- CURLOPT_CONNECTTIMEOUT => 5, // timeout on connect
73
- CURLOPT_TIMEOUT => 10, // timeout on response
74
- CURLOPT_MAXREDIRS => 3, // stop after 10 redirects
75
- CURLOPT_SSL_VERIFYHOST => 0,
76
- CURLOPT_SSL_VERIFYPEER => false,
77
- );
78
- $ch = curl_init();
79
-
80
- $options[CURLOPT_URL] = $encUrl;
81
- curl_setopt_array($ch, $options);
82
-
83
- $content = curl_exec($ch);
84
- $err = curl_errno($ch);
85
- $errmsg = curl_error($ch);
86
-
87
- curl_close($ch);
88
-
89
- if ($errmsg != '' || $err != '') {
90
- /*print_r($errmsg);
91
- print_r($errmsg);*/
92
- }
93
- return $content;
94
- }
95
-
96
- /**
97
- * Validates the request by making sure the url and type values are set and are acceptable values
98
- *
99
- * @return boolean
100
- */
101
- function invalid_request() {
102
-
103
- //die( json_encode( $_GET ) );
104
-
105
- if( empty( $_GET['url'] ) || empty( $_GET['type'] ) ) {
106
- return true;
107
- }
108
-
109
- elseif( ! strpos( $_GET['url'], sharrre_get_host() ) ) {
110
- return true;
111
- }
112
-
113
- elseif( ! in_array( $_GET['type'], array( 'googlePlus', 'stumbleupon', 'linkedin' ) ) ) {
114
- return true;
115
- }
116
-
117
- return false;
118
-
119
- }
120
-
121
- /**
122
- * Polls different methods for getting the current domain and returns the value
123
- *
124
- * @return string
125
- */
126
- function sharrre_get_host() {
127
-
128
- $host = '';
129
-
130
- if( ! empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ){
131
- $host = $_SERVER['HTTP_X_FORWARDED_HOST'];
132
- $elements = explode(',', $host);
133
-
134
- $host = trim(end($elements));
135
- }
136
- elseif( ! empty( $_SERVER['HTTP_HOST'] ) ){
137
- $host = $_SERVER['HTTP_HOST'];
138
- }
139
- elseif( ! empty( $_SERVER['SERVER_NAME'] ) ){
140
- $host = $_SERVER['SERVER_NAME'];
141
- }
142
- elseif( ! empty( $_SERVER['SERVER_ADDR'] ) ){
143
- $host = $_SERVER['SERVER_ADDR'];
144
- }
145
-
146
- // Remove port number from host
147
- $host = preg_replace( '/:\d+$/', '', $host );
148
-
149
- return trim( $host );
150
-
151
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package.json CHANGED
@@ -5,6 +5,8 @@
5
  "type": "git",
6
  "url": "https://github.com/copyblogger/genesis-simple-share"
7
  },
 
 
8
  "dependencies": {},
9
  "devDependencies": {
10
  "grunt": "*",
@@ -21,7 +23,15 @@
21
  "grunt-phplint": "*",
22
  "grunt-styledocco": "*",
23
  "grunt-wp-i18n": "*",
24
- "load-grunt-tasks": "*"
 
 
 
 
 
 
 
 
25
  },
26
  "plugin": {
27
  "name": "Genesis Simple Share",
@@ -29,7 +39,7 @@
29
  "description": "A simple sharing plugin using the Share script.",
30
  "author": "StudioPress",
31
  "authoruri": "http://www.studiopress.com/",
32
- "version": "1.0.6",
33
  "license": "GPL-2.0+",
34
  "licenseuri": "http://www.gnu.org/licenses/gpl-2.0.html",
35
  "textdomain": "genesis-simple-share"
5
  "type": "git",
6
  "url": "https://github.com/copyblogger/genesis-simple-share"
7
  },
8
+ "author": "StudioPress",
9
+ "license": "GPL-2.0",
10
  "dependencies": {},
11
  "devDependencies": {
12
  "grunt": "*",
23
  "grunt-phplint": "*",
24
  "grunt-styledocco": "*",
25
  "grunt-wp-i18n": "*",
26
+ "load-grunt-tasks": "*",
27
+ "autoprefixer": "^7.1.1",
28
+ "gulp": "^3.9.1",
29
+ "gulp-postcss": "latest",
30
+ "gulp-rename": "^1.2.2",
31
+ "gulp-sass": "^3.1.0",
32
+ "gulp-sourcemaps": "^2.6.0",
33
+ "gulp-uglify": "^3.0.0",
34
+ "postcss-functions": "^2.1.1"
35
  },
36
  "plugin": {
37
  "name": "Genesis Simple Share",
39
  "description": "A simple sharing plugin using the Share script.",
40
  "author": "StudioPress",
41
  "authoruri": "http://www.studiopress.com/",
42
+ "version": "1.1.0",
43
  "license": "GPL-2.0+",
44
  "licenseuri": "http://www.gnu.org/licenses/gpl-2.0.html",
45
  "textdomain": "genesis-simple-share"
plugin.php CHANGED
@@ -5,10 +5,10 @@ Plugin URI:
5
 
6
  Description: A simple sharing plugin using the Share script.
7
 
8
- Version: 1.0.9
9
 
10
- Author: Rainmaker Digital LLC
11
- Author URI: http://www.copyblogger.com
12
 
13
  Text Domain: genesis-simple-share
14
  Domain Path /languages/
@@ -39,9 +39,8 @@ function genesis_simple_share_init() {
39
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'admin.php' );
40
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'post-meta.php' );
41
  }
42
- else
43
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'front-end.php' );
44
-
45
- //require_once( GENESIS_SIMPLE_SHArE_LIB . 'functions.php' );
46
 
47
  }
5
 
6
  Description: A simple sharing plugin using the Share script.
7
 
8
+ Version: 1.1.0
9
 
10
+ Author: StudioPress
11
+ Author URI: http://www.studiopress.com
12
 
13
  Text Domain: genesis-simple-share
14
  Domain Path /languages/
39
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'admin.php' );
40
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'post-meta.php' );
41
  }
42
+ else {
43
  require_once( GENESIS_SIMPLE_SHARE_LIB . 'front-end.php' );
44
+ }
 
45
 
46
  }
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: nathanrice, studiopress, wpmuguru, nick_thegeek, bgardner
3
  Tags: genesis, share, share buttons, facebook, twitter, pinterest, stumbleupon, linkedin, social
4
  Requires at least: 3.7
5
- Tested up to: 4.6
6
- Stable tag: 1.0.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -31,6 +31,14 @@ https://github.com/copyblogger/genesis-simple-share/wiki/Usage-Tips
31
 
32
  == Changelog ==
33
 
 
 
 
 
 
 
 
 
34
  = 1.0.9 =
35
  * Fixed: Facebook count continues to work after recent Facebook API changes.
36
 
2
  Contributors: nathanrice, studiopress, wpmuguru, nick_thegeek, bgardner
3
  Tags: genesis, share, share buttons, facebook, twitter, pinterest, stumbleupon, linkedin, social
4
  Requires at least: 3.7
5
+ Tested up to: 4.8.3
6
+ Stable tag: 1.1.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
31
 
32
  == Changelog ==
33
 
34
+ = 1.1.0 =
35
+ * Added: Setting for hiding the count
36
+ * Added: Post meta option to specify share URL
37
+ * Added: Fix for changing to HTTPS
38
+ * Fixed: Count is now hidden on GooglePlus button because g+ has dropped this feature
39
+ * Fixed: Conflicts when waypoint script is not correctly loaded in some pages
40
+ * Improved: Now uses SASS to build CSS and GULP to minify JS and CSS so files are smaller and load more quickly
41
+
42
  = 1.0.9 =
43
  * Fixed: Facebook count continues to work after recent Facebook API changes.
44
 
src/js/admin.js ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function($) {
2
+
3
+ $( ".genesis_simple_share_general_size, .genesis_simple_share_general_appearance" ).change( function() {
4
+
5
+ var size = "share-" + $( ".genesis_simple_share_general_size" ).val();
6
+ var appearance = "share-" + $( ".genesis_simple_share_general_appearance" ).val();
7
+
8
+ $( "#share-preview-preview" ).removeClass();
9
+ $( "#share-preview-preview" ).addClass( "share-preview " + size + " " + appearance );
10
+
11
+ } );
12
+
13
+ $( '.genesis_simple_share_general_disable_count' ).change( function() {
14
+
15
+ if ( $(this).prop('checked') ) {
16
+ $( '.share-preview .box' ).addClass( 'no-count' );
17
+ } else {
18
+ $( '.share-preview .sharrre:not(.twitter, .googlePlus ) .box' ).removeClass( 'no-count' );
19
+ }
20
+
21
+ } );
22
+
23
+ setTimeout( function(){
24
+ if ( $('.genesis_simple_share_general_disable_count').prop('checked') ) {
25
+ $( '.share-preview .box' ).addClass( 'no-count' );
26
+ } else {
27
+ $( '.share-preview .sharrre:not(.twitter, .googlePlus ) .box' ).removeClass( 'no-count' );
28
+ }
29
+ }, 2000 );
30
+
31
+ } );
{lib/jquery-waypoints → src/js}/licenses.txt RENAMED
File without changes
{lib → src/js}/sharrre/jquery.sharrre.js RENAMED
@@ -25,6 +25,10 @@
25
  shareTotal: 0,
26
  template: '',
27
  title: '',
 
 
 
 
28
  url: document.location.href,
29
  text: document.title,
30
  urlCurl: 'sharrre.php', //PHP script for google plus...
@@ -33,6 +37,7 @@
33
  shorterTotal: true, //show total by k or M when number is to big
34
  enableHover: true, //disable if you want to personalize hover event with callback
35
  enableCounter: true, //disable if you just want use buttons
 
36
  enableTracking: false, //tracking with google analitycs
37
  hover: function(){}, //personalize hover event with this callback function
38
  hide: function(){}, //personalize hide event with this callback function
@@ -104,7 +109,7 @@
104
  //facebook: "https://graph.facebook.com/fql?q=SELECT%20url,%20normalized_url,%20share_count,%20like_count,%20comment_count,%20total_count,commentsbox_count,%20comments_fbid,%20click_count%20FROM%20link_stat%20WHERE%20url=%27{url}%27&callback=?",
105
  facebook: "//graph.facebook.com/?id={url}&callback=?",
106
  //facebook : "//api.ak.facebook.com/restserver.php?v=1.0&method=links.getStats&urls={url}&format=json"
107
-
108
  twitter: "//cdn.api.twitter.com/1/urls/count.json?url={url}&callback=?",
109
  digg: "//services.digg.com/2.0/story.getInfo?links={url}&type=javascript&callback=?",
110
  delicious: '//feeds.delicious.com/v2/json/urlinfo/data?url={url}&callback=?',
@@ -208,7 +213,7 @@
208
  '<div style="'+cssCount+'background-color:#fff;margin-bottom:5px;overflow:hidden;text-align:center;border:1px solid #ccc;border-radius:3px;">'+count+'</div>'+
209
  '<div style="'+cssShare+'display:block;padding:0;text-align:center;text-decoration:none;width:50px;background-color:#7EACEE;border:1px solid #40679C;border-radius:3px;color:#fff;">'+
210
  '<img src="//www.delicious.com/static/img/delicious.small.gif" height="10" width="10" alt="Delicious" /> Add</div></div></div>');
211
-
212
  $(self.element).find('.delicious').on('click', function(){
213
  self.openPopup('delicious');
214
  });
@@ -221,7 +226,7 @@
221
  loading = 1;
222
  (function() {
223
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
224
- li.src = '//platform.stumbleupon.com/1/widgets.js';
225
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
226
  })();
227
  s = window.setTimeout(function(){
@@ -243,7 +248,7 @@
243
  loading = 1;
244
  (function() {
245
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
246
- li.src = '//platform.linkedin.com/in.js';
247
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
248
  })();
249
  }
@@ -257,7 +262,7 @@
257
 
258
  (function() {
259
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
260
- li.src = '//assets.pinterest.com/js/pinit.js';
261
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
262
  })();
263
  }
@@ -348,16 +353,16 @@
348
  ================================================== */
349
  function Plugin( element, options ) {
350
  this.element = element;
351
-
352
  this.options = $.extend( true, {}, defaults, options);
353
  this.options.share = options.share; //simple solution to allow order of buttons
354
-
355
  this._defaults = defaults;
356
  this._name = pluginName;
357
-
358
  this.init();
359
  };
360
-
361
  /* Initialization method
362
  ================================================== */
363
  Plugin.prototype.init = function () {
@@ -368,11 +373,19 @@
368
  urlJson.linkedin = this.options.urlCurl + '?url={url}&type=linkedin'; // PHP script for linkedin...
369
  }
370
  $(this.element).addClass(this.options.className); //add class
371
-
372
  //HTML5 Custom data
373
  if(typeof $(this.element).data('title') !== 'undefined'){
374
  this.options.title = $(this.element).attr('data-title');
375
  }
 
 
 
 
 
 
 
 
376
  if(typeof $(this.element).data('url') !== 'undefined'){
377
  this.options.url = $(this.element).data('url');
378
  }
@@ -382,14 +395,14 @@
382
  if(typeof $(this.element).data('text') !== 'undefined'){
383
  this.options.text = $(this.element).data('text');
384
  }
385
-
386
  //how many social website have been selected
387
  $.each(this.options.share, function(name, val) {
388
  if(val === true){
389
  self.options.shareTotal ++;
390
  }
391
  });
392
-
393
  if(self.options.enableCounter === true){ //if for some reason you don't need counter
394
  //get count of social share that have been selected
395
  $.each(this.options.share, function(name, val) {
@@ -409,7 +422,7 @@
409
  else{ // if you want to use official button like example 3 or 5
410
  this.loadButtons();
411
  }
412
-
413
  //add hover event
414
  $(this.element).hover(function(){
415
  //load social button if enable and 1 time
@@ -420,14 +433,14 @@
420
  }, function(){
421
  self.options.hide(self, self.options);
422
  });
423
-
424
  //click event
425
  $(this.element).click(function(){
426
  self.options.click(self, self.options);
427
  return false;
428
  });
429
  };
430
-
431
  /* loadButtons methode
432
  ================================================== */
433
  Plugin.prototype.loadButtons = function () {
@@ -442,31 +455,34 @@
442
  }
443
  });
444
  };
445
-
446
  /* getSocialJson methode
447
  ================================================== */
448
  Plugin.prototype.getSocialJson = function (name) {
449
  var self = this,
450
  count = 0,
451
- url = urlJson[name].replace('{url}', encodeURIComponent(this.options.url));
452
-
453
- if( 'twitter' == name ){ //twitter is dropping support for count service so for now we cannot get the count.
454
- self.options.hideCount = 1;
 
 
455
  self.renderer();
456
  self.options.count[name] = 0;
457
  self.rendererPerso();
458
  } else {
459
-
460
- self.options.hideCount = 0;
461
-
462
  if(this.options.buttons[name].urlCount === true && this.options.buttons[name].url !== ''){
463
  url = urlJson[name].replace('{url}', this.options.buttons[name].url);
464
  }
465
  //console.log('name : ' + name + ' - url : '+url); //debug
 
466
  if(url != '' && self.options.urlCurl !== ''){ //urlCurl = '' if you don't want to used PHP script but used social button
467
- $.getJSON(url, function(json){
468
  if( null != json ){
469
-
470
  if(typeof json.count !== "undefined"){ //GooglePlus, Stumbleupon, Twitter, Pinterest and Digg
471
  var temp = json.count + '';
472
  temp = temp.replace('\u00c2\u00a0', ''); //remove google plus special chars
@@ -481,11 +497,49 @@
481
  }
482
  else if(typeof json[0] !== "undefined"){ //Stumbleupon
483
  }
484
- self.options.count[name] = count;
485
  self.options.total += count;
486
- self.renderer();
487
- self.rendererPerso();
488
- //console.log(json); //debug
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
489
  }
490
  else {
491
  self.renderer();
@@ -494,30 +548,30 @@
494
  }
495
  //console.log(json); //debug
496
  })
497
- .fail(function() {
498
- self.options.hideCount = 1;
499
- self.renderer();
500
- self.options.count[name] = 0;
501
- self.rendererPerso();
502
  });
503
  }
504
  else{
505
  self.renderer();
506
- self.options.count[name] = 0;
507
  self.rendererPerso();
508
  }
509
-
510
  }
511
  };
512
-
513
  /* getSocialJson methode
514
  ================================================== */
515
  Plugin.prototype.getSocialAltJson = function (name) {
516
  var self = this,
517
  count = 0,
518
  url = urlJson[name].replace('{url}', encodeURIComponent(this.options.urlalt));
519
- self.options.hideCount = 0;
520
-
521
  if(this.options.buttons[name].urlCount === true && this.options.buttons[name].url !== ''){
522
  url = urlJson[name].replace('{url}', this.options.buttons[name].url);
523
  }
@@ -550,7 +604,7 @@
550
  }
551
  //console.log(json); //debug
552
  })
553
- .fail(function() {
554
  self.renderer();
555
  self.rendererPerso();
556
  });
@@ -560,7 +614,7 @@
560
  self.rendererPerso();
561
  }
562
  };
563
-
564
  /* launch render methode
565
  ================================================== */
566
  Plugin.prototype.rendererPerso = function () {
@@ -571,56 +625,65 @@
571
  this.options.render(this, this.options);
572
  }
573
  };
574
-
575
  /* render methode
576
  ================================================== */
577
  Plugin.prototype.renderer = function () {
578
- var total = this.options.total,
579
- template = this.options.template
580
- hideCount = this.options.hideCount;
581
-
582
- if( hideCount ){
583
- $(this.element).html(
584
- '<div class="box no-count"><a class="count" href="#"></a>' +
585
- (this.options.title !== '' ? '<a class="share" href="#">' + this.options.title + '</a>' : '') +
586
- '</div>'
587
- );
 
 
 
 
 
 
588
  }
589
  else{
590
- if(this.options.shorterTotal === true){ //format number like 1.2k or 5M
 
591
  total = this.shorterTotal(total);
592
  }
593
-
 
 
 
 
 
 
594
  if(template !== ''){ //if there is a template
595
  template = template.replace('{total}', total);
596
  $(this.element).html(template);
597
  }
598
  else{ //template by defaults
599
- $(this.element).html(
600
- '<div class="box"><a class="count" href="#">' + total + '</a>' +
601
- (this.options.title !== '' ? '<a class="share" href="#">' + this.options.title + '</a>' : '') +
602
- '</div>'
603
- );
604
  }
605
  }
606
  };
607
-
608
  /* format total numbers like 1.2k or 5M
609
  ================================================== */
610
  Plugin.prototype.shorterTotal = function (num) {
611
  if (num >= 1e6){
612
  num = (num / 1e6).toFixed(2) + "M"
613
- } else if (num >= 1e3){
614
  num = (num / 1e3).toFixed(1) + "k"
615
  }
616
  return num;
617
  };
618
-
619
  /* Methode for open popup
620
  ================================================== */
621
  Plugin.prototype.openPopup = function (site) {
622
  popup[site](this.options); //open
623
- if(this.options.enableTracking === true){ //tracking!
624
  var tracking = {
625
  googlePlus: {site: 'Google', action: '+1'},
626
  facebook: {site: 'facebook', action: 'like'},
@@ -634,14 +697,14 @@
634
  _gaq.push(['_trackSocial', tracking[site].site, tracking[site].action]);
635
  }
636
  };
637
-
638
  /* Methode for add +1 to a counter
639
  ================================================== */
640
  Plugin.prototype.simulateClick = function () {
641
  var html = $(this.element).html();
642
  $(this.element).html(html.replace(this.options.total, this.options.total+1));
643
  };
644
-
645
  /* Methode for add +1 to a counter
646
  ================================================== */
647
  Plugin.prototype.update = function (url, text) {
25
  shareTotal: 0,
26
  template: '',
27
  title: '',
28
+ labeledBy: '',
29
+ label: '',
30
+ countLabeledBy: '',
31
+ countLabel: '',
32
  url: document.location.href,
33
  text: document.title,
34
  urlCurl: 'sharrre.php', //PHP script for google plus...
37
  shorterTotal: true, //show total by k or M when number is to big
38
  enableHover: true, //disable if you want to personalize hover event with callback
39
  enableCounter: true, //disable if you just want use buttons
40
+ disableCount: false, //hides the count button using themed styles
41
  enableTracking: false, //tracking with google analitycs
42
  hover: function(){}, //personalize hover event with this callback function
43
  hide: function(){}, //personalize hide event with this callback function
109
  //facebook: "https://graph.facebook.com/fql?q=SELECT%20url,%20normalized_url,%20share_count,%20like_count,%20comment_count,%20total_count,commentsbox_count,%20comments_fbid,%20click_count%20FROM%20link_stat%20WHERE%20url=%27{url}%27&callback=?",
110
  facebook: "//graph.facebook.com/?id={url}&callback=?",
111
  //facebook : "//api.ak.facebook.com/restserver.php?v=1.0&method=links.getStats&urls={url}&format=json"
112
+
113
  twitter: "//cdn.api.twitter.com/1/urls/count.json?url={url}&callback=?",
114
  digg: "//services.digg.com/2.0/story.getInfo?links={url}&type=javascript&callback=?",
115
  delicious: '//feeds.delicious.com/v2/json/urlinfo/data?url={url}&callback=?',
213
  '<div style="'+cssCount+'background-color:#fff;margin-bottom:5px;overflow:hidden;text-align:center;border:1px solid #ccc;border-radius:3px;">'+count+'</div>'+
214
  '<div style="'+cssShare+'display:block;padding:0;text-align:center;text-decoration:none;width:50px;background-color:#7EACEE;border:1px solid #40679C;border-radius:3px;color:#fff;">'+
215
  '<img src="//www.delicious.com/static/img/delicious.small.gif" height="10" width="10" alt="Delicious" /> Add</div></div></div>');
216
+
217
  $(self.element).find('.delicious').on('click', function(){
218
  self.openPopup('delicious');
219
  });
226
  loading = 1;
227
  (function() {
228
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
229
+ li.src = '//platform.stumbleupon.com/1/widgets.js';
230
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
231
  })();
232
  s = window.setTimeout(function(){
248
  loading = 1;
249
  (function() {
250
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
251
+ li.src = '//platform.linkedin.com/in.js';
252
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
253
  })();
254
  }
262
 
263
  (function() {
264
  var li = document.createElement('script');li.type = 'text/javascript';li.async = true;
265
+ li.src = '//assets.pinterest.com/js/pinit.js';
266
  var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(li, s);
267
  })();
268
  }
353
  ================================================== */
354
  function Plugin( element, options ) {
355
  this.element = element;
356
+
357
  this.options = $.extend( true, {}, defaults, options);
358
  this.options.share = options.share; //simple solution to allow order of buttons
359
+
360
  this._defaults = defaults;
361
  this._name = pluginName;
362
+
363
  this.init();
364
  };
365
+
366
  /* Initialization method
367
  ================================================== */
368
  Plugin.prototype.init = function () {
373
  urlJson.linkedin = this.options.urlCurl + '?url={url}&type=linkedin'; // PHP script for linkedin...
374
  }
375
  $(this.element).addClass(this.options.className); //add class
376
+
377
  //HTML5 Custom data
378
  if(typeof $(this.element).data('title') !== 'undefined'){
379
  this.options.title = $(this.element).attr('data-title');
380
  }
381
+ if ( typeof $( this.element ).data( 'reader' ) !== 'undefined' && '' != $( this.element ).data( 'reader' ) ) {
382
+ this.options.labeledBy = $( this.element ).attr( 'id' ) + '-label';
383
+ this.options.label = '<span class="hidden" id="' + this.options.labeledBy + '">' + $(this.element).data('reader') + '</span>';
384
+ }
385
+ if ( typeof $( this.element ).data( 'count' ) !== 'undefined' && '' != $( this.element ).data( 'count' ) ) {
386
+ this.options.countLabeledBy = $( this.element ).attr( 'id' ) + '-count-label';
387
+ this.options.countLabel = '<span class="hidden" id="' + this.options.countLabeledBy + '">' + $(this.element).data('count') + '</span>';
388
+ }
389
  if(typeof $(this.element).data('url') !== 'undefined'){
390
  this.options.url = $(this.element).data('url');
391
  }
395
  if(typeof $(this.element).data('text') !== 'undefined'){
396
  this.options.text = $(this.element).data('text');
397
  }
398
+
399
  //how many social website have been selected
400
  $.each(this.options.share, function(name, val) {
401
  if(val === true){
402
  self.options.shareTotal ++;
403
  }
404
  });
405
+
406
  if(self.options.enableCounter === true){ //if for some reason you don't need counter
407
  //get count of social share that have been selected
408
  $.each(this.options.share, function(name, val) {
422
  else{ // if you want to use official button like example 3 or 5
423
  this.loadButtons();
424
  }
425
+
426
  //add hover event
427
  $(this.element).hover(function(){
428
  //load social button if enable and 1 time
433
  }, function(){
434
  self.options.hide(self, self.options);
435
  });
436
+
437
  //click event
438
  $(this.element).click(function(){
439
  self.options.click(self, self.options);
440
  return false;
441
  });
442
  };
443
+
444
  /* loadButtons methode
445
  ================================================== */
446
  Plugin.prototype.loadButtons = function () {
455
  }
456
  });
457
  };
458
+
459
  /* getSocialJson methode
460
  ================================================== */
461
  Plugin.prototype.getSocialJson = function (name) {
462
  var self = this,
463
  count = 0,
464
+ count2 = 0,
465
+ url = urlJson[name].replace('{url}', encodeURIComponent( this.options.url.replace( 'https:', 'http:' ) ) ),
466
+ url2 = urlJson[name].replace('{url}', encodeURIComponent(this.options.url.replace( 'http:', 'https:' ) ) );
467
+
468
+ if( self.options.disableCount || 'twitter' == name || 'googlePlus' == name ){ //twitter is dropping support for count service so for now we cannot get the count. Google also dropped support for the count service
469
+ self.options.disableCount = 1;
470
  self.renderer();
471
  self.options.count[name] = 0;
472
  self.rendererPerso();
473
  } else {
474
+
475
+ self.options.disableCount = 0;
476
+
477
  if(this.options.buttons[name].urlCount === true && this.options.buttons[name].url !== ''){
478
  url = urlJson[name].replace('{url}', this.options.buttons[name].url);
479
  }
480
  //console.log('name : ' + name + ' - url : '+url); //debug
481
+ //console.log('name : ' + name + ' - url2 : '+url2); //debug
482
  if(url != '' && self.options.urlCurl !== ''){ //urlCurl = '' if you don't want to used PHP script but used social button
483
+ $.getJSON(url, function(json) {
484
  if( null != json ){
485
+
486
  if(typeof json.count !== "undefined"){ //GooglePlus, Stumbleupon, Twitter, Pinterest and Digg
487
  var temp = json.count + '';
488
  temp = temp.replace('\u00c2\u00a0', ''); //remove google plus special chars
497
  }
498
  else if(typeof json[0] !== "undefined"){ //Stumbleupon
499
  }
500
+ self.options.count[name] += count;
501
  self.options.total += count;
502
+
503
+ //console.log(json); //debug
504
+
505
+ if ( url2 != '' && url2 != url ) {
506
+ $.getJSON(url2, function(json) {
507
+ if( null != json ){
508
+
509
+ if(typeof json.count !== "undefined"){ //GooglePlus, Stumbleupon, Twitter, Pinterest and Digg
510
+ var temp = json.count + '';
511
+ temp = temp.replace('\u00c2\u00a0', ''); //remove google plus special chars
512
+ count2 += parseInt(temp, 10);
513
+ }
514
+ //get the FB total count (shares, likes and more)
515
+ else if( typeof json.share !== "undefined" && typeof json.share.share_count !== "undefined"){ //Facebook total count
516
+ count2 += parseInt(json.share.share_count, 10);
517
+ }
518
+ else if(typeof json[0] !== "undefined"){ //Delicious
519
+ count2 += parseInt(json[0].total_posts, 10);
520
+ }
521
+ else if(typeof json[0] !== "undefined"){ //Stumbleupon
522
+ }
523
+ if ( count2 !== count ) {
524
+ self.options.count[name] += count2;
525
+ self.options.total += count2;
526
+ }
527
+ self.renderer();
528
+ self.rendererPerso();
529
+ //console.log(json); //debug
530
+ }
531
+ else {
532
+ self.renderer();
533
+ self.options.count[name] += 0;
534
+ self.rendererPerso();
535
+ }
536
+ //console.log(json); //debug
537
+ });
538
+ } else {
539
+ self.renderer();
540
+ self.rendererPerso();
541
+ }
542
+
543
  }
544
  else {
545
  self.renderer();
548
  }
549
  //console.log(json); //debug
550
  })
551
+ .fail(function() {
552
+ self.options.disableCount = 1;
553
+ self.renderer();
554
+ self.options.count[name] += 0;
555
+ self.rendererPerso();
556
  });
557
  }
558
  else{
559
  self.renderer();
560
+ self.options.count[name] += 0;
561
  self.rendererPerso();
562
  }
563
+
564
  }
565
  };
566
+
567
  /* getSocialJson methode
568
  ================================================== */
569
  Plugin.prototype.getSocialAltJson = function (name) {
570
  var self = this,
571
  count = 0,
572
  url = urlJson[name].replace('{url}', encodeURIComponent(this.options.urlalt));
573
+ self.options.disableCount = 0;
574
+
575
  if(this.options.buttons[name].urlCount === true && this.options.buttons[name].url !== ''){
576
  url = urlJson[name].replace('{url}', this.options.buttons[name].url);
577
  }
604
  }
605
  //console.log(json); //debug
606
  })
607
+ .fail(function() {
608
  self.renderer();
609
  self.rendererPerso();
610
  });
614
  self.rendererPerso();
615
  }
616
  };
617
+
618
  /* launch render methode
619
  ================================================== */
620
  Plugin.prototype.rendererPerso = function () {
625
  this.options.render(this, this.options);
626
  }
627
  };
628
+
629
  /* render methode
630
  ================================================== */
631
  Plugin.prototype.renderer = function () {
632
+ var total = this.options.total,
633
+ template = this.options.template
634
+ disableCount = this.options.disableCount,
635
+ labeledBy = '',
636
+ verb = this.options.title,
637
+ label = this.options.label,
638
+ countLabeledBy = '',
639
+ countLabel = this.options.countLabel;
640
+
641
+ if ( this.options.labeledBy ) {
642
+ labeledBy = ' aria-labelledby="' + this.options.labeledBy + '"';
643
+ verb = '<span aria-hidden="true">' + verb + '</span>';
644
+ }
645
+
646
+ if( disableCount ){
647
+ $(this.element).html( '<div class="box no-count"><a class="count" href="#"></a><a class="share" href="#" onclick="return false;"' + labeledBy + '>' + verb + '</a></div>' + label );
648
  }
649
  else{
650
+
651
+ if(this.options.shorterTotal === true){ //format number like 1.2k or 5M
652
  total = this.shorterTotal(total);
653
  }
654
+
655
+ if ( this.options.countLabeledBy ) {
656
+ countLabeledBy = ' aria-labelledby="' + this.options.countLabeledBy + '"';
657
+ countLabel = countLabel.replace( '%s', total );
658
+ total = '<span aria-hidden="true">' + total + '</span>';
659
+ }
660
+
661
  if(template !== ''){ //if there is a template
662
  template = template.replace('{total}', total);
663
  $(this.element).html(template);
664
  }
665
  else{ //template by defaults
666
+ $(this.element).html( '<div class="box"><a class="count" href="#" onclick="return false;"' + countLabeledBy + '><span>' + total + '</span></a><a class="share" href="#" onclick="return false;"' + labeledBy + '>' + verb + '</a></div>' + label + countLabel );
 
 
 
 
667
  }
668
  }
669
  };
670
+
671
  /* format total numbers like 1.2k or 5M
672
  ================================================== */
673
  Plugin.prototype.shorterTotal = function (num) {
674
  if (num >= 1e6){
675
  num = (num / 1e6).toFixed(2) + "M"
676
+ } else if (num >= 1e3){
677
  num = (num / 1e3).toFixed(1) + "k"
678
  }
679
  return num;
680
  };
681
+
682
  /* Methode for open popup
683
  ================================================== */
684
  Plugin.prototype.openPopup = function (site) {
685
  popup[site](this.options); //open
686
+ if(this.options.enableTracking === true && typeof _gaq !== 'undefined'){ //tracking!
687
  var tracking = {
688
  googlePlus: {site: 'Google', action: '+1'},
689
  facebook: {site: 'facebook', action: 'like'},
697
  _gaq.push(['_trackSocial', tracking[site].site, tracking[site].action]);
698
  }
699
  };
700
+
701
  /* Methode for add +1 to a counter
702
  ================================================== */
703
  Plugin.prototype.simulateClick = function () {
704
  var html = $(this.element).html();
705
  $(this.element).html(html.replace(this.options.total, this.options.total+1));
706
  };
707
+
708
  /* Methode for add +1 to a counter
709
  ================================================== */
710
  Plugin.prototype.update = function (url, text) {
{lib/jquery-waypoints → src/js}/waypoints.js RENAMED
File without changes
src/scss/_variables/_variables.scss ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Brand colors.
2
+ $twitter: #09b0ed !default;
3
+ $facebook: #3d5a98 !default;
4
+ $googlePlus: #dd4c39 !default;
5
+ $pinterest: #cb2127 !default;
6
+ $linkedin: #035a87 !default;
7
+ $stumbleupon: #eb4923 !default;
8
+ $youtube: #cc181e !default;
9
+
10
+ //brand icons
11
+ $twitter_i: '\f202';
12
+ $facebook_i: '\f204';
13
+ $googlePlus_i: '\f218';
14
+ $pinterest_i: '\f209';
15
+ $linkedin_i: '\f207';
16
+ $stumbleupon_i: '\f223';
src/scss/admin.scss ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Dependencies.
2
+ @import '_variables/_variables';
3
+
4
+ .gss-clear {
5
+ clear: both;
6
+ }
7
+
8
+ .genesis_page_genesis_simple_share_settings .genesis-metaboxes {
9
+ width: auto;
10
+ .top-buttons {
11
+ float: left;
12
+ }
13
+ .bottom-buttons {
14
+ clear: both;
15
+ float: left;
16
+ }
17
+ }
18
+
19
+ #main-sortables {
20
+ &:after {
21
+ content: "";
22
+ clear: both;
23
+ display: block;
24
+ margin-bottom: 20px;
25
+ }
26
+ display: -webkit-box;
27
+ display: -webkit-flex;
28
+ display: -ms-flexbox;
29
+ display: flex;
30
+ -webkit-flex-wrap: wrap;
31
+ -ms-flex-wrap: wrap;
32
+ flex-wrap: wrap;
33
+ -webkit-box-orient: horizontal;
34
+ -webkit-box-direction: normal;
35
+ -webkit-flex-direction: row;
36
+ -ms-flex-direction: row;
37
+ flex-direction: row;
38
+ }
39
+
40
+ .genesis_page_genesis_simple_share_settings {
41
+ .meta-box-sortables {
42
+ .postbox, .sortable-placeholder {
43
+ min-height: 240px;
44
+ float: left;
45
+ margin: 5px;
46
+ width: 260px;
47
+ }
48
+ .postbox {
49
+ &.closed {
50
+ height: 30px;
51
+ }
52
+ .handlediv {
53
+ display: none;
54
+ }
55
+ h3.hndle {
56
+ color: #fff;
57
+ display: block !important;
58
+ text-shadow: none;
59
+ &:before {
60
+ line-height: 1;
61
+ display: inline-block;
62
+ font-family: 'Genericons';
63
+ font-size: 13px;
64
+ margin-right: 10px;
65
+ -webkit-font-smoothing: antialiased;
66
+ }
67
+ }
68
+ .inside {
69
+ margin: 0px;
70
+ padding: 20px;
71
+ }
72
+ input[type=text] {
73
+ margin-top: 5px;
74
+ width: 100%;
75
+ }
76
+ }
77
+ }
78
+ #genesis_simple_share_twitter h3.hndle {
79
+ background: $twitter;
80
+ }
81
+ #genesis_simple_share_facebook h3.hndle {
82
+ background: $facebook;
83
+ }
84
+ #genesis_simple_share_google_plus h3.hndle {
85
+ background: $googlePlus;
86
+ }
87
+ #genesis_simple_share_pinterest h3.hndle {
88
+ background: $pinterest;
89
+ }
90
+ #genesis_simple_share_linkedin h3.hndle {
91
+ background: $linkedin;
92
+ }
93
+ #genesis_simple_share_stumbleupon h3.hndle {
94
+ background: $stumbleupon;
95
+ }
96
+ #genesis_simple_share_twitter h3.hndle:before {
97
+ content: $twitter_i;
98
+ }
99
+ #genesis_simple_share_facebook h3.hndle:before {
100
+ content: $facebook_i;
101
+ }
102
+ #genesis_simple_share_google_plus h3.hndle:before {
103
+ content: $googlePlus_i;
104
+ }
105
+ #genesis_simple_share_pinterest h3.hndle:before {
106
+ content: $pinterest_i;
107
+ }
108
+ #genesis_simple_share_linkedin h3.hndle:before {
109
+ content: $linkedin_i;
110
+ }
111
+ #genesis_simple_share_stumbleupon h3.hndle:before {
112
+ content: $stumbleupon_i;
113
+ }
114
+ }
lib/css/genericons.css → src/scss/genericons.scss RENAMED
File without changes
src/scss/ie-admin.scss ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /* IE 9 and below */
2
+ #main-sortables {
3
+ display: block;
4
+ }
5
+
6
+ .genesis_page_genesis_simple_share_settings .meta-box-sortables .postbox,
7
+ .genesis_page_genesis_simple_share_settings .meta-box-sortables .sortable-placeholder {
8
+ display: block;
9
+ float: left;
10
+ height: 240px;
11
+ }
src/scss/share.scss ADDED
@@ -0,0 +1,650 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Dependencies.
2
+ @import '_variables/_variables';
3
+
4
+ .sharrre {
5
+ display: inline-block;
6
+ font-family: Helvetica, Arial, sans-serif;
7
+ font-style: normal;
8
+ font-weight: normal;
9
+ margin-right: 5px;
10
+ overflow: hidden;
11
+ position: relative;
12
+ -webkit-transition: all 0.3s ease-in-out;
13
+ -moz-transition: all 0.3s ease-in-out;
14
+ -ms-transition: all 0.3s ease-in-out;
15
+ -o-transition: all 0.3s ease-in-out;
16
+ transition: all 0.3s ease-in-out;
17
+ }
18
+
19
+ .share-before {
20
+ margin-bottom: 25px;
21
+ }
22
+
23
+ .share-after {
24
+ margin: 25px 0;
25
+ }
26
+
27
+ .share-before:after, .share-after:after {
28
+ visibility: hidden;
29
+ display: block;
30
+ font-size: 0;
31
+ content: " ";
32
+ clear: both;
33
+ height: 0;
34
+ }
35
+
36
+ /* Buttons */
37
+
38
+ .sharrre {
39
+ .hidden {
40
+ display: none;
41
+ }
42
+ .share, .count {
43
+ -moz-box-sizing: border-box;
44
+ -webkit-box-sizing: border-box;
45
+ box-sizing: border-box;
46
+ border: none;
47
+ display: inline-block;
48
+ padding: 0;
49
+ text-decoration: none !important;
50
+ -webkit-transition: all 0.3s ease-in-out;
51
+ -moz-transition: all 0.3s ease-in-out;
52
+ -ms-transition: all 0.3s ease-in-out;
53
+ -o-transition: all 0.3s ease-in-out;
54
+ transition: all 0.3s ease-in-out;
55
+ }
56
+ .share {
57
+ background-color: #fff;
58
+ color: #fff;
59
+ float: left;
60
+ font-family: Helvetica, Arial, sans-serif;
61
+ font-style: normal;
62
+ font-weight: normal;
63
+ text-decoration: none;
64
+ }
65
+ &:hover .share {
66
+ border: none;
67
+ color: #fff;
68
+ text-decoration: none;
69
+ }
70
+ .count {
71
+ background-color: #fff;
72
+ font-family: Helvetica, Arial, sans-serif;
73
+ font-style: normal;
74
+ font-weight: bold;
75
+ position: relative;
76
+ text-align: center;
77
+ }
78
+ .no-count .count span {
79
+ display: none;
80
+ }
81
+ }
82
+
83
+ /* Small */
84
+
85
+ .share-small {
86
+ .share, .count {
87
+ font-size: 12px;
88
+ height: 20px;
89
+ line-height: 20px;
90
+ }
91
+ .share {
92
+ border-top-left-radius: 3px;
93
+ border-bottom-left-radius: 3px;
94
+ padding: 0 0 0 24px;
95
+ width: 20px;
96
+ }
97
+ .sharrre:hover .share, .facebook:hover .share {
98
+ width: 60px;
99
+ }
100
+ .pinterest:hover .share {
101
+ width: 45px;
102
+ }
103
+ .sharrre:hover .no-count .share {
104
+ width: 65px;
105
+ }
106
+ .count {
107
+ border-top-right-radius: 3px;
108
+ border-bottom-right-radius: 3px;
109
+ float: right;
110
+ min-width: 42px;
111
+ padding: 0 5px;
112
+ }
113
+ .no-count {
114
+ .share {
115
+ border-top-right-radius: 3px;
116
+ border-bottom-right-radius: 3px;
117
+ width: 65px;
118
+ }
119
+ .count {
120
+ display: none;
121
+ }
122
+ }
123
+ }
124
+
125
+ /* Medium */
126
+
127
+ .share-medium {
128
+ .share, .count {
129
+ font-size: 13px;
130
+ height: 25px;
131
+ line-height: 25px;
132
+ }
133
+ .share {
134
+ border-top-left-radius: 3px;
135
+ border-bottom-left-radius: 3px;
136
+ padding: 0 0 0 28px;
137
+ width: 28px;
138
+ }
139
+ .count {
140
+ border-top-right-radius: 3px;
141
+ border-bottom-right-radius: 3px;
142
+ float: right;
143
+ width: 42px;
144
+ }
145
+ .sharrre:hover .share, .facebook:hover .share {
146
+ width: 65px;
147
+ }
148
+ .pinterest:hover .share {
149
+ width: 50px;
150
+ }
151
+ .sharrre:hover .no-count .share {
152
+ width: 75px;
153
+ }
154
+ .no-count {
155
+ .share {
156
+ border-top-right-radius: 3px;
157
+ border-bottom-right-radius: 3px;
158
+ width: 75px;
159
+ }
160
+ .count {
161
+ display: none;
162
+ }
163
+ }
164
+ }
165
+
166
+ /* Tall */
167
+
168
+ .share-tall {
169
+ .share {
170
+ border-bottom-left-radius: 3px;
171
+ border-bottom-right-radius: 3px;
172
+ font-size: 13px;
173
+ height: 25px;
174
+ line-height: 25px;
175
+ padding-left: 20px;
176
+ text-align: center;
177
+ width: 100%;
178
+ }
179
+ .googlePlus .share {
180
+ padding-left: 16px;
181
+ }
182
+ .facebook .share {
183
+ padding-left: 18px;
184
+ }
185
+ .no-count .share {
186
+ padding-left: 0;
187
+ }
188
+ .count {
189
+ border-top-left-radius: 3px;
190
+ border-top-right-radius: 3px;
191
+ display: block;
192
+ float: none;
193
+ font-size: 16px;
194
+ height: 55px;
195
+ line-height: 55px;
196
+ width: 75px;
197
+ }
198
+ .no-count .share {
199
+ width: 75px;
200
+ }
201
+ }
202
+
203
+ /* Icons */
204
+
205
+ .share-small .share:before, .share-medium .share:before, .share-tall .share:before {
206
+ line-height: 1;
207
+ display: block;
208
+ font-family: 'Genericons';
209
+ font-size: 13px;
210
+ height: 20px;
211
+ top: 4px;
212
+ left: 6px;
213
+ text-indent: 0;
214
+ -webkit-font-smoothing: antialiased;
215
+ position: absolute;
216
+ width: 20px;
217
+ }
218
+
219
+ .share-medium .share:before {
220
+ font-size: 14px;
221
+ top: 5px;
222
+ left: 7px;
223
+ }
224
+
225
+ .share-tall .share:before {
226
+ bottom: 0px;
227
+ top: auto;
228
+ }
229
+
230
+ .twitter .share:before {
231
+ content: $twitter_i;
232
+ }
233
+
234
+ .facebook .share:before {
235
+ content: $facebook_i;
236
+ }
237
+
238
+ .googlePlus .share:before {
239
+ content: $googlePlus_i;
240
+ }
241
+
242
+ .youtube .share:before {
243
+ content: '\f213';
244
+ }
245
+
246
+ .digg .share:before {
247
+ content: '\f221';
248
+ }
249
+
250
+ .delicious .share:before {
251
+ content: $twitter_i;
252
+ }
253
+
254
+ .pinterest .share:before {
255
+ content: $pinterest_i;
256
+ }
257
+
258
+ .linkedin .share:before {
259
+ content: $linkedin_i;
260
+ }
261
+
262
+ .stumbleupon .share:before {
263
+ content: $stumbleupon_i;
264
+ }
265
+
266
+ .share-small {
267
+ .pinterest .share:before {
268
+ font-size: 12px;
269
+ }
270
+ .linkedin .share:before {
271
+ font-size: 16px;
272
+ top: 1px;
273
+ }
274
+ .stumbleupon .share:before {
275
+ font-size: 16px;
276
+ top: 3px;
277
+ }
278
+ }
279
+
280
+ .share-medium {
281
+ .pinterest .share:before {
282
+ font-size: 13px;
283
+ top: 6px;
284
+ }
285
+ .linkedin .share:before {
286
+ font-size: 17px;
287
+ top: 3px;
288
+ }
289
+ .stumbleupon .share:before {
290
+ font-size: 16px;
291
+ top: 5px;
292
+ }
293
+ }
294
+
295
+ .share-tall {
296
+ .pinterest .share:before {
297
+ font-size: 13px;
298
+ bottom: -1px;
299
+ }
300
+ .linkedin .share:before {
301
+ font-size: 17px;
302
+ bottom: 2px;
303
+ }
304
+ .stumbleupon .share:before {
305
+ font-size: 16px;
306
+ }
307
+ .no-count {
308
+ .share:before {
309
+ display: none;
310
+ }
311
+ .count:before {
312
+ display: block;
313
+ line-height: 44px;
314
+ font-family: 'Genericons';
315
+ font-size: 20px;
316
+ position: relative;
317
+ top: 5px;
318
+ -webkit-font-smoothing: antialiased;
319
+ -webkit-transition: all 0.3s ease-in-out;
320
+ -moz-transition: all 0.3s ease-in-out;
321
+ -ms-transition: all 0.3s ease-in-out;
322
+ -o-transition: all 0.3s ease-in-out;
323
+ transition: all 0.3s ease-in-out;
324
+ }
325
+ &:hover .count:before {
326
+ color: #fff;
327
+ }
328
+ }
329
+
330
+ .twitter {
331
+ .count:before {
332
+ content: $twitter_i;
333
+ }
334
+ }
335
+ .googlePlus {
336
+ .count:before {
337
+ content: $googlePlus_i;
338
+ }
339
+ }
340
+ .facebook .no-count {
341
+ .count:before {
342
+ content: $facebook_i;
343
+ }
344
+ }
345
+ .linkedin .no-count {
346
+ .count:before {
347
+ content: $linkedin_i;
348
+ }
349
+ }
350
+ .pinterest .no-count {
351
+ .count:before {
352
+ content: $pinterest_i;
353
+ }
354
+ }
355
+ .stumbleupon .no-count {
356
+ .count:before {
357
+ content: $stumbleupon_i;
358
+ }
359
+ }
360
+ }
361
+
362
+ /* Appearance - filled */
363
+
364
+ .share-filled {
365
+ .twitter {
366
+ .share {
367
+ background: $twitter;
368
+ }
369
+ .count {
370
+ color: $twitter;
371
+ border: 1px solid $twitter;
372
+ &:hover {
373
+ color: $twitter;
374
+ border: 1px solid $twitter;
375
+ }
376
+ }
377
+ }
378
+ .facebook {
379
+ .share {
380
+ background: $facebook;
381
+ }
382
+ .count {
383
+ color: $facebook;
384
+ border: 1px solid $facebook;
385
+ &:hover {
386
+ color: $facebook;
387
+ border: 1px solid $facebook;
388
+ }
389
+ }
390
+ }
391
+ .googlePlus {
392
+ .share {
393
+ background: $googlePlus;
394
+ }
395
+ .count {
396
+ color: $googlePlus;
397
+ border: 1px solid $googlePlus;
398
+ &:hover {
399
+ color: $googlePlus;
400
+ border: 1px solid $googlePlus;
401
+ }
402
+ }
403
+ }
404
+ .linkedin {
405
+ .share {
406
+ background: $linkedin;
407
+ }
408
+ .count {
409
+ color: $linkedin;
410
+ border: 1px solid $linkedin;
411
+ &:hover {
412
+ color: $linkedin;
413
+ border: 1px solid $linkedin;
414
+ }
415
+ }
416
+ }
417
+ .youtube {
418
+ .share {
419
+ background: $youtube;
420
+ }
421
+ .count {
422
+ color: $youtube;
423
+ border: 1px solid $youtube;
424
+ &:hover {
425
+ color: $youtube;
426
+ border: 1px solid $youtube;
427
+ }
428
+ }
429
+ }
430
+ .pinterest {
431
+ .share {
432
+ background: $pinterest;
433
+ }
434
+ .count {
435
+ color: $pinterest;
436
+ border: 1px solid $pinterest;
437
+ &:hover {
438
+ color: $pinterest;
439
+ border: 1px solid $pinterest;
440
+ }
441
+ }
442
+ }
443
+ .stumbleupon {
444
+ .share {
445
+ background: $stumbleupon;
446
+ }
447
+ .count {
448
+ color: $stumbleupon;
449
+ border: 1px solid $stumbleupon;
450
+ &:hover {
451
+ color: $stumbleupon;
452
+ border: 1px solid $stumbleupon;
453
+ }
454
+ }
455
+ }
456
+ .twitter:hover .count {
457
+ background: $twitter !important;
458
+ }
459
+ .facebook:hover .count {
460
+ background: $facebook !important;
461
+ }
462
+ .googlePlus:hover .count {
463
+ background: $googlePlus !important;
464
+ }
465
+ .linkedin:hover .count {
466
+ background: $linkedin !important;
467
+ }
468
+ .youtube:hover .count {
469
+ background: $youtube !important;
470
+ }
471
+ .pinterest:hover .count {
472
+ background: $pinterest !important;
473
+ }
474
+ .stumbleupon:hover .count {
475
+ background: $stumbleupon !important;
476
+ }
477
+ .sharrre:hover .count {
478
+ color: #fff;
479
+ }
480
+ }
481
+
482
+ /* Appearance - outlined */
483
+
484
+ .share-outlined {
485
+ .twitter {
486
+ .share {
487
+ border: 1px solid $twitter;
488
+ color: $twitter;
489
+ }
490
+ .count {
491
+ border: 1px solid $twitter;
492
+ color: $twitter;
493
+ &:hover {
494
+ border: 1px solid $twitter;
495
+ color: $twitter;
496
+ }
497
+ }
498
+ }
499
+ .facebook {
500
+ .share {
501
+ border: 1px solid $facebook;
502
+ color: $facebook;
503
+ }
504
+ .count {
505
+ border: 1px solid $facebook;
506
+ color: $facebook;
507
+ &:hover {
508
+ border: 1px solid $facebook;
509
+ color: $facebook;
510
+ }
511
+ }
512
+ }
513
+ .googlePlus {
514
+ .share {
515
+ border: 1px solid $googlePlus;
516
+ color: $googlePlus;
517
+ }
518
+ .count {
519
+ border: 1px solid $googlePlus;
520
+ color: $googlePlus;
521
+ &:hover {
522
+ border: 1px solid $googlePlus;
523
+ color: $googlePlus;
524
+ }
525
+ }
526
+ }
527
+ .linkedin {
528
+ .share {
529
+ border: 1px solid $linkedin;
530
+ color: $linkedin;
531
+ }
532
+ .count {
533
+ border: 1px solid $linkedin;
534
+ color: $linkedin;
535
+ &:hover {
536
+ border: 1px solid $linkedin;
537
+ color: $linkedin;
538
+ }
539
+ }
540
+ }
541
+ .youtube {
542
+ .share {
543
+ border: 1px solid $youtube;
544
+ color: $youtube;
545
+ }
546
+ .count {
547
+ border: 1px solid $youtube;
548
+ color: $youtube;
549
+ &:hover {
550
+ border: 1px solid $youtube;
551
+ color: $youtube;
552
+ }
553
+ }
554
+ }
555
+ .pinterest {
556
+ .share {
557
+ border: 1px solid $pinterest;
558
+ color: $pinterest;
559
+ }
560
+ .count {
561
+ border: 1px solid $pinterest;
562
+ color: $pinterest;
563
+ &:hover {
564
+ border: 1px solid $pinterest;
565
+ color: $pinterest;
566
+ }
567
+ }
568
+ }
569
+ .stumbleupon {
570
+ .share {
571
+ border: 1px solid $stumbleupon;
572
+ color: $stumbleupon;
573
+ }
574
+ .count {
575
+ border: 1px solid $stumbleupon;
576
+ color: $stumbleupon;
577
+ &:hover {
578
+ border: 1px solid $stumbleupon;
579
+ color: $stumbleupon;
580
+ }
581
+ }
582
+ }
583
+ &.share-small .share, &.share-medium .share {
584
+ border-right: none;
585
+ }
586
+ &.share-small .twitter .no-count .share, &.share-medium .twitter .no-count .share {
587
+ border-right: 1px solid $twitter;
588
+ }
589
+ &.share-small .facebook .no-count .share, &.share-medium .facebook .no-count .share {
590
+ border-right: 1px solid $facebook;
591
+ }
592
+ &.share-small .googlePlus .no-count .share, &.share-medium .googlePlus .no-count .share {
593
+ border-right: 1px solid $googlePlus;
594
+ }
595
+ &.share-small .pinterest .no-count .share, &.share-medium .pinterest .no-count .share {
596
+ border-right: 1px solid $pinterest;
597
+ }
598
+ &.share-small .linkedin .no-count .share, &.share-medium .linkedin .no-count .share {
599
+ border-right: 1px solid $linkedin;
600
+ }
601
+ &.share-small .stumbleupon .no-count .share, &.share-medium .stumbleupon .no-count .share {
602
+ border-right: 1px solid $stumbleupon;
603
+ }
604
+ &.share-small .youtube .no-count .share, &.share-medium .youtube .no-count .share {
605
+ border-right: 1px solid $youtube;
606
+ }
607
+ &.share-tall .share {
608
+ border-top: none;
609
+ }
610
+ .twitter:hover {
611
+ .share, .count {
612
+ background: $twitter;
613
+ }
614
+ }
615
+ .facebook:hover {
616
+ .share, .count {
617
+ background: $facebook;
618
+ }
619
+ }
620
+ .googlePlus:hover {
621
+ .share, .count {
622
+ background: $googlePlus;
623
+ }
624
+ }
625
+ .linkedin:hover {
626
+ .share, .count {
627
+ background: $linkedin;
628
+ }
629
+ }
630
+ .youtube:hover {
631
+ .share, .count {
632
+ background: $youtube;
633
+ }
634
+ }
635
+ .pinterest:hover {
636
+ .share, .count {
637
+ background: $pinterest;
638
+ }
639
+ }
640
+ .stumbleupon:hover {
641
+ .share, .count {
642
+ background: $stumbleupon;
643
+ }
644
+ }
645
+ .sharrre:hover {
646
+ .count, .share {
647
+ color: #fff;
648
+ }
649
+ }
650
+ }