Ticket #48110: 48110.11.diff
File 48110.11.diff, 265.3 KB (added by , 5 years ago) |
---|
-
Gruntfile.js
26 26 'wp-content/plugins/index.php', 27 27 'wp-content/plugins/hello.php', 28 28 'wp-content/plugins/akismet/**', 29 '!wp-content/themes/twenty*/node_modules/**' 29 '!wp-content/themes/twenty*/node_modules/**', 30 '!wp-content/themes/twenty*/vendor/**' 30 31 ], 31 32 changedFiles = { 32 33 php: [] … … 542 543 // Third party scripts 543 544 '!twenty{fourteen,fifteen,sixteen}/js/html5.js', 544 545 '!twentyseventeen/assets/js/html5.js', 545 '!twentyseventeen/assets/js/jquery.scrollTo.js', 546 '!twentytwenty/node_modules/**' 546 '!twentyseventeen/assets/js/jquery.scrollTo.js' 547 547 ] 548 548 }, 549 549 media: { -
src/wp-content/themes/twentytwenty/.stylelintrc.json
1 1 { 2 "extends": "stylelint-config-wordpress", 2 "extends": [ 3 "stylelint-config-wordpress" 4 ], 5 "plugins": ["stylelint-a11y"], 3 6 "rules": { 4 7 "font-family-no-missing-generic-family-keyword": null, 5 "no-descending-specificity": null 8 "no-descending-specificity": null, 9 "a11y/no-outline-none": true, 10 "a11y/selector-pseudo-class-focus": true 6 11 } 7 12 } -
src/wp-content/themes/twentytwenty/404.php
14 14 15 15 <div class="section-inner thin error404-content"> 16 16 17 <h1 class="entry-title"><?php _e( 'Page Not Found', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></h1>17 <h1 class="entry-title"><?php _e( 'Page Not Found', 'twentytwenty' ); ?></h1> 18 18 19 <div class="intro-text"><p><?php _e( 'The page you were looking for could not be found. It might have been removed, renamed, or did not exist in the first place.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></p></div>19 <div class="intro-text"><p><?php _e( 'The page you were looking for could not be found. It might have been removed, renamed, or did not exist in the first place.', 'twentytwenty' ); ?></p></div> 20 20 21 21 <?php 22 22 get_search_form( 23 23 array( 24 'label' => _ x( '404 not found', 'Label', 'twentytwenty' ),24 'label' => __( '404 not found', 'twentytwenty' ), 25 25 ) 26 26 ); 27 27 ?> 28 28 29 29 </div><!-- .section-inner --> 30 30 31 <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>32 33 31 </main><!-- #site-content --> 34 32 33 <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?> 34 35 35 <?php 36 36 get_footer(); -
src/wp-content/themes/twentytwenty/assets/css/editor-style-block-rtl.css
73 73 max-width: 610px; 74 74 } 75 75 76 .wp-block[data-align="wide"] .wp-block-group .wp-block { 77 max-width: 100%; 76 .wp-block[data-align="wide"] .wp-block, 77 .wp-block[data-align="full"] .wp-block { 78 max-width: none; 78 79 } 79 80 80 .wp-block[data-align="full"] .wp-block-group .wp-block { 81 max-width: 100%; 81 .wp-block[data-align="wide"] .wp-block[data-align="wide"], 82 .wp-block[data-align="full"] .wp-block[data-align="wide"] { 83 max-width: 1200px; 84 } 85 86 .wp-block .wp-block[data-type="core/group"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]), 87 .wp-block .wp-block[data-type="core/cover"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]) { 88 margin-right: auto; 89 margin-left: auto; 90 max-width: 610px; 91 } 92 93 .wp-block .wp-block[data-align="full"] { 94 margin-right: 0; 95 margin-left: 0; 82 96 } 83 97 84 98 *[data-align="right"] .wp-block-edit, … … 641 655 .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container { 642 656 margin: 0 auto; 643 657 max-width: 1200px; 644 width: calc(100% - 50px);658 width: calc(100% - 40px); 645 659 } 646 660 647 661 [data-align="left"] .wp-block-cover, … … 651 665 max-width: 260px; 652 666 } 653 667 654 .editor-styles-wrapper .wp-block-cover-image .wp-block,655 .editor-styles-wrapper .wp-block-cover .wp-block,656 668 .wp-block-cover-image .wp-block-cover-image-text, 657 669 .wp-block-cover-image .wp-block-cover-text, 658 670 .wp-block-cover-image h2, … … 660 672 .wp-block-cover .wp-block-cover-text, 661 673 .wp-block-cover h2 { 662 674 max-width: 100%; 663 padding: 0;664 }665 666 .editor-styles-wrapper .wp-block-cover p {667 font-family: inherit;668 675 } 669 676 670 677 .editor-styles-wrapper .wp-block-cover a { 671 678 color: inherit; 672 679 } 673 680 681 /* Block: Shared Media Styles ---------------- */ 682 683 .wp-block[data-type*="core-embed"][data-align="full"] figcaption, 684 .wp-block[data-type="core/image"][data-align="full"] figcaption, 685 .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption { 686 padding: 0 14px; 687 } 674 688 675 689 /* Block: Paragraph -------------------------- */ 676 690 … … 982 996 margin-top: 0; 983 997 } 984 998 999 .wp-block[data-type="core/group"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"], 1000 .wp-block[data-type="core/group"][data-align="full"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"] { 1001 margin-right: 0; 1002 width: 100%; 1003 } 1004 985 1005 /* Block: Paragraph -------------------------- */ 986 1006 987 1007 … … 1041 1061 @media ( min-width: 600px ) { 1042 1062 1043 1063 1064 /* BLOCK: SHARED MEDIA STYLES */ 1065 1066 .wp-block[data-type*="core-embed"][data-align="full"] figcaption, 1067 .wp-block[data-type="core/image"][data-align="full"] figcaption, 1068 .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption { 1069 padding: 0 45px; 1070 } 1071 1072 /* BLOCK: COLUMNS */ 1073 1074 .editor-styles-wrapper .wp-block[data-type="core/column"] h1, 1075 .editor-styles-wrapper .wp-block[data-type="core/column"] h2, 1076 .editor-styles-wrapper .wp-block[data-type="core/column"] h3, 1077 .editor-styles-wrapper .wp-block[data-type="core/column"] h4, 1078 .editor-styles-wrapper .wp-block[data-type="core/column"] h5, 1079 .editor-styles-wrapper .wp-block[data-type="core/column"] h6 { 1080 margin: 35px 0 20px 0; 1081 } 1082 1044 1083 /* BLOCK: PULLQUOTE */ 1045 1084 1046 1085 .editor-styles-wrapper .wp-block[data-type="core/pullquote"][data-align="right"] .block-editor-block-list__block-edit { … … 1228 1267 font-size: 18px; 1229 1268 } 1230 1269 1231 /* BLOCK: COVER */1232 1233 .editor-styles-wrapper .wp-block-cover-image .wp-block-cover__inner-container,1234 .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container {1235 width: calc(100% - 100px);1236 }1237 1238 1270 /* BLOCK: GROUP */ 1239 1271 1240 1272 .wp-block[data-align="wide"] .wp-block-group.has-background, -
src/wp-content/themes/twentytwenty/assets/css/editor-style-block.css
73 73 max-width: 610px; 74 74 } 75 75 76 .wp-block[data-align="wide"] .wp-block-group .wp-block { 77 max-width: 100%; 76 .wp-block[data-align="wide"] .wp-block, 77 .wp-block[data-align="full"] .wp-block { 78 max-width: none; 78 79 } 79 80 80 .wp-block[data-align="full"] .wp-block-group .wp-block { 81 max-width: 100%; 81 .wp-block[data-align="wide"] .wp-block[data-align="wide"], 82 .wp-block[data-align="full"] .wp-block[data-align="wide"] { 83 max-width: 1200px; 84 } 85 86 .wp-block .wp-block[data-type="core/group"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]), 87 .wp-block .wp-block[data-type="core/cover"]:not([data-align="full"]):not([data-align="wide"]):not([data-align="left"]):not([data-align="right"]) { 88 margin-left: auto; 89 margin-right: auto; 90 max-width: 610px; 91 } 92 93 .wp-block .wp-block[data-align="full"] { 94 margin-left: 0; 95 margin-right: 0; 82 96 } 83 97 84 98 *[data-align="right"] .wp-block-edit, … … 641 655 .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container { 642 656 margin: 0 auto; 643 657 max-width: 1200px; 644 width: calc(100% - 50px);658 width: calc(100% - 40px); 645 659 } 646 660 647 661 [data-align="left"] .wp-block-cover, … … 651 665 max-width: 260px; 652 666 } 653 667 654 .editor-styles-wrapper .wp-block-cover-image .wp-block,655 .editor-styles-wrapper .wp-block-cover .wp-block,656 668 .wp-block-cover-image .wp-block-cover-image-text, 657 669 .wp-block-cover-image .wp-block-cover-text, 658 670 .wp-block-cover-image h2, … … 660 672 .wp-block-cover .wp-block-cover-text, 661 673 .wp-block-cover h2 { 662 674 max-width: 100%; 663 padding: 0;664 }665 666 .editor-styles-wrapper .wp-block-cover p {667 font-family: inherit;668 675 } 669 676 670 677 .editor-styles-wrapper .wp-block-cover a { 671 678 color: inherit; 672 679 } 673 680 681 /* Block: Shared Media Styles ---------------- */ 682 683 .wp-block[data-type*="core-embed"][data-align="full"] figcaption, 684 .wp-block[data-type="core/image"][data-align="full"] figcaption, 685 .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption { 686 padding: 0 14px; 687 } 674 688 675 689 /* Block: Paragraph -------------------------- */ 676 690 … … 982 996 margin-top: 0; 983 997 } 984 998 999 .wp-block[data-type="core/group"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"], 1000 .wp-block[data-type="core/group"][data-align="full"] > .editor-block-list__block-edit > div > .wp-block-group.has-background > .wp-block-group__inner-container > .editor-inner-blocks > .editor-block-list__layout > .wp-block[data-align="full"] { 1001 margin-left: 0; 1002 width: 100%; 1003 } 1004 985 1005 /* Block: Paragraph -------------------------- */ 986 1006 987 1007 … … 1041 1061 @media ( min-width: 600px ) { 1042 1062 1043 1063 1064 /* BLOCK: SHARED MEDIA STYLES */ 1065 1066 .wp-block[data-type*="core-embed"][data-align="full"] figcaption, 1067 .wp-block[data-type="core/image"][data-align="full"] figcaption, 1068 .wp-block[data-type="core/gallery"][data-align="full"] .blocks-gallery-caption { 1069 padding: 0 45px; 1070 } 1071 1072 /* BLOCK: COLUMNS */ 1073 1074 .editor-styles-wrapper .wp-block[data-type="core/column"] h1, 1075 .editor-styles-wrapper .wp-block[data-type="core/column"] h2, 1076 .editor-styles-wrapper .wp-block[data-type="core/column"] h3, 1077 .editor-styles-wrapper .wp-block[data-type="core/column"] h4, 1078 .editor-styles-wrapper .wp-block[data-type="core/column"] h5, 1079 .editor-styles-wrapper .wp-block[data-type="core/column"] h6 { 1080 margin: 35px 0 20px 0; 1081 } 1082 1044 1083 /* BLOCK: PULLQUOTE */ 1045 1084 1046 1085 .editor-styles-wrapper .wp-block[data-type="core/pullquote"][data-align="right"] .block-editor-block-list__block-edit { … … 1228 1267 font-size: 18px; 1229 1268 } 1230 1269 1231 /* BLOCK: COVER */1232 1233 .editor-styles-wrapper .wp-block-cover-image .wp-block-cover__inner-container,1234 .editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container {1235 width: calc(100% - 100px);1236 }1237 1238 1270 /* BLOCK: GROUP */ 1239 1271 1240 1272 .wp-block[data-align="wide"] .wp-block-group.has-background, -
src/wp-content/themes/twentytwenty/assets/css/editor-style-classic-rtl.css
8 8 9 9 /* 10 10 * Chrome renders extra-wide characters for the Hoefler Text font. 11 * This results in a jumping cursor when typing in both the Classic and block12 * editors. The following font-face override fixes the issue by manually11 * This results in a jumping cursor when typing in both the classic editor and 12 * block editor. The following font-face override fixes the issue by manually 13 13 * inserting a custom font that includes just a Hoefler Text space replacement 14 14 * for that character instead. 15 15 */ … … 65 65 } 66 66 67 67 body#tinymce.wp-editor * { 68 -webkit-box-sizing: border-box;69 -moz-box-sizing: border-box;70 68 box-sizing: border-box; 71 69 -webkit-font-smoothing: antialiased; 72 70 } … … 373 371 } 374 372 375 373 body#tinymce.wp-editor .alignleft { 376 float: right;374 float: left; 377 375 margin-left: 25px; 378 376 max-width: 260px; 379 377 } 380 378 381 379 body#tinymce.wp-editor .alignright { 382 float: left;380 float: right; 383 381 margin-right: 25px; 384 382 max-width: 260px; 385 383 } -
src/wp-content/themes/twentytwenty/assets/css/editor-style-classic.css
8 8 9 9 /* 10 10 * Chrome renders extra-wide characters for the Hoefler Text font. 11 * This results in a jumping cursor when typing in both the Classic and block12 * editors. The following font-face override fixes the issue by manually11 * This results in a jumping cursor when typing in both the classic editor and 12 * block editor. The following font-face override fixes the issue by manually 13 13 * inserting a custom font that includes just a Hoefler Text space replacement 14 14 * for that character instead. 15 15 */ … … 65 65 } 66 66 67 67 body#tinymce.wp-editor * { 68 -webkit-box-sizing: border-box;69 -moz-box-sizing: border-box;70 68 box-sizing: border-box; 71 69 -webkit-font-smoothing: antialiased; 72 70 } … … 373 371 } 374 372 375 373 body#tinymce.wp-editor .alignleft { 374 375 /*rtl:ignore*/ 376 376 float: left; 377 377 margin-right: 25px; 378 378 max-width: 260px; 379 379 } 380 380 381 381 body#tinymce.wp-editor .alignright { 382 383 /*rtl:ignore*/ 382 384 float: right; 383 385 margin-left: 25px; 384 386 max-width: 260px; -
src/wp-content/themes/twentytwenty/assets/js/color-calculations.js
133 133 * @param {number} accentHue - The hue for our accent color. 134 134 * @return {Object} - this 135 135 */ 136 function twentyTwentyColor( backgroundColor, accentHue ) { 136 function twentyTwentyColor( backgroundColor, accentHue ) {// jshint ignore:line 137 137 var color = new _twentyTwentyColor( backgroundColor, accentHue ); 138 138 color.setAccentColorsArray(); 139 139 return color; -
src/wp-content/themes/twentytwenty/assets/js/index.js
4 4 5 5 var twentytwenty = twentytwenty || {}; 6 6 7 // Set a default value for scrolled. 8 twentytwenty.scrolled = 0; 9 7 10 // polyfill closest 8 11 // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill 9 12 if ( ! Element.prototype.closest ) { … … 37 40 } 38 41 39 42 // event "polyfill" 40 41 43 twentytwenty.createEvent = function( eventName ) { 42 44 var event; 43 45 if ( typeof window.Event === 'function' ) { … … 51 53 52 54 // matches "polyfill" 53 55 // https://developer.mozilla.org/es/docs/Web/API/Element/matches 54 55 56 if ( ! Element.prototype.matches ) { 56 57 Element.prototype.matches = 57 58 Element.prototype.matchesSelector || … … 137 138 138 139 // Hide and show modals before and after their animations have played out 139 140 hideAndShowModals: function() { 140 var modals = document.querySelectorAll( '.cover-modal' ), 141 htmlStyle = document.documentElement.style; 141 var modals, htmlStyle, adminBar, _doc, _win; 142 143 _doc = document; 144 _win = window; 145 modals = _doc.querySelectorAll( '.cover-modal' ); 146 htmlStyle = _doc.documentElement.style; 147 adminBar = _doc.querySelector( '#wpadminbar' ); 142 148 143 var getAdminBarHeight = function( negativeValue ) { 144 var adminBar = document.querySelector( '#wpadminbar' ); 149 function getAdminBarHeight( negativeValue ) { 150 var currentScroll, height; 151 152 currentScroll = _win.pageYOffset; 145 153 146 154 if ( adminBar ) { 147 return ( negativeValue ? '-' : '' ) + adminBar.getBoundingClientRect().height + 'px'; 155 height = currentScroll + adminBar.getBoundingClientRect().height; 156 157 return negativeValue ? -height : height; 148 158 } 149 159 150 return 0;151 } ;160 return currentScroll === 0 ? 0 : -currentScroll; 161 } 152 162 153 163 function htmlStyles() { 154 var overflow = window.innerHeight > document.documentElement.getBoundingClientRect().height;164 var overflow = _win.innerHeight > _doc.documentElement.getBoundingClientRect().height; 155 165 156 166 return { 157 167 'overflow-y': overflow ? 'hidden' : 'scroll', 158 168 position: 'fixed', 159 169 width: '100%', 160 top: getAdminBarHeight( true ) ,170 top: getAdminBarHeight( true ) + 'px', 161 171 left: 0 162 172 }; 163 173 } … … 165 175 // Show the modal 166 176 modals.forEach( function( modal ) { 167 177 modal.addEventListener( 'toggle-target-before-inactive', function( event ) { 178 var styles, paddingTop, offsetY, mQuery; 179 180 styles = htmlStyles(); 181 offsetY = _win.pageYOffset; 182 paddingTop = ( Math.abs( getAdminBarHeight() ) - offsetY ) + 'px'; 183 mQuery = _win.matchMedia( '(max-width: 600px)' ); 184 168 185 if ( event.target !== modal ) { 169 186 return; 170 187 } 171 188 172 window.scrollTo( { top: 0 } ); 173 174 Object.keys( htmlStyles() ).forEach( function( styleKey ) { 175 htmlStyle.setProperty( styleKey, htmlStyles()[ styleKey ] ); 189 Object.keys( styles ).forEach( function( styleKey ) { 190 htmlStyle.setProperty( styleKey, styles[ styleKey ] ); 176 191 } ); 177 192 178 document.body.style.setProperty( 'padding-top', getAdminBarHeight() ); 193 _win.twentytwenty.scrolled = parseInt( styles.top ); 194 195 if ( adminBar ) { 196 _doc.body.style.setProperty( 'padding-top', paddingTop ); 197 198 if ( mQuery.matches ) { 199 if ( offsetY >= getAdminBarHeight() ) { 200 modal.style.setProperty( 'top', 0 ); 201 } else { 202 modal.style.setProperty( 'top', ( getAdminBarHeight() - offsetY ) + 'px' ); 203 } 204 } 205 } 179 206 180 207 modal.classList.add( 'show-modal' ); 181 208 } ); … … 187 214 } 188 215 189 216 setTimeout( function() { 217 var clickedEl; 218 219 clickedEl = twentytwenty.toggles.clickedEl; 220 190 221 modal.classList.remove( 'show-modal' ); 191 222 192 223 Object.keys( htmlStyles() ).forEach( function( styleKey ) { 193 224 htmlStyle.removeProperty( styleKey ); 194 225 } ); 195 226 196 document.body.style.removeProperty( 'padding-top' ); 227 if ( adminBar ) { 228 _doc.body.style.removeProperty( 'padding-top' ); 229 modal.style.removeProperty( 'top' ); 230 } 231 232 _win.scrollTo( 0, Math.abs( _win.twentytwenty.scrolled + getAdminBarHeight() ) ); 233 234 _win.twentytwenty.scrolled = 0; 235 236 if ( clickedEl !== false ) { 237 clickedEl.focus(); 238 clickedEl = false; 239 } 197 240 }, 500 ); 198 241 } ); 199 242 } ); … … 393 436 // If the current menu item is the last one, return to close button when tab 394 437 goBackToCloseButton: function() { 395 438 document.addEventListener( 'keydown', function( event ) { 396 var desktopMenuButton = document.querySelector( '.toggle.close-nav-toggle' ); 397 var mobileMenuButton = document.querySelector( '.toggle.mobile-nav-toggle' ); 398 var isMobileMenu = desktopMenuButton ? window.getComputedStyle( desktopMenuButton, null ).getPropertyValue( 'display' ) === 'none' : false; 399 var firstMenuItem = isMobileMenu ? mobileMenuButton : desktopMenuButton; 400 401 var menuLinks = isMobileMenu ? 402 document.querySelectorAll( '.menu-modal .mobile-menu li' ) : 403 document.querySelectorAll( '.menu-modal .expanded-menu li' ); 404 405 var socialLinks = document.querySelectorAll( '.menu-modal .social-menu > li' ); 406 var hasSocialMenu = document.querySelectorAll( '.menu-modal .social-menu' ).length > 0; 407 var lastModalMenuItems = hasSocialMenu ? socialLinks : menuLinks; 408 var focusedElementParentLi = twentytwentyFindParents( event.target, 'li' ); 409 var focusedElementIsInsideModal = twentytwentyFindParents( event.target, '.menu-modal' ).length > 0; 410 var lastMenuItem = lastModalMenuItems[lastModalMenuItems.length - 1]; 411 412 var isFirstModalItem = isMobileMenu ? 413 event.target === mobileMenuButton : 414 focusedElementIsInsideModal && event.target === desktopMenuButton; 439 var closeMenuButton, mobileMenu, isDesktop, menuLinks, firstLevelmenuLinks, lastMenuLinkToggleButton, lastToogleSubMenuLinkNotOpened, lastMenuLinkHasSubClosedMenu, socialLinks, hasSocialMenu, lastModalMenuItems, focusedElementParentLi, focusedElementIsInsideModal, lastMenuItem, isFirstModalItem, isLastModalItem; 415 440 416 var isLastModalItem = focusedElementIsInsideModal && focusedElementParentLi[0] ? 441 closeMenuButton = document.querySelector( '.toggle.close-nav-toggle' ); 442 mobileMenu = document.querySelector( '.mobile-menu' ); 443 444 if ( mobileMenu ) { 445 return false; 446 } 447 448 isDesktop = window.getComputedStyle( mobileMenu, null ).getPropertyValue( 'display' ) === 'none'; 449 450 menuLinks = isDesktop ? 451 document.querySelectorAll( '.menu-modal .expanded-menu .modal-menu li' ) : 452 document.querySelectorAll( '.menu-modal .mobile-menu .modal-menu li' ); 453 454 firstLevelmenuLinks = isDesktop ? 455 document.querySelectorAll( '.menu-modal .expanded-menu .modal-menu > li' ) : 456 document.querySelectorAll( '.menu-modal .mobile-menu .modal-menu > li' ); 457 458 if ( firstLevelmenuLinks ) { 459 return false; 460 } 461 462 lastMenuLinkToggleButton = firstLevelmenuLinks[firstLevelmenuLinks.length - 1].querySelector( '.sub-menu-toggle' ) || undefined; 463 lastMenuLinkHasSubClosedMenu = lastMenuLinkToggleButton && ! lastMenuLinkToggleButton.classList.contains( 'active' ); 464 465 lastToogleSubMenuLinkNotOpened = isDesktop ? 466 document.querySelector( '.menu-modal .expanded-menu .modal-menu .sub-menu .sub-menu-toggle:not(.active)' ) : 467 document.querySelector( '.menu-modal .mobile-menu .sub-menu .sub-menu-toggle:not(.active)' ); 468 469 socialLinks = document.querySelectorAll( '.menu-modal .social-menu li' ); 470 hasSocialMenu = document.querySelectorAll( '.menu-modal .social-menu' ).length > 0; 471 lastModalMenuItems = hasSocialMenu ? socialLinks : menuLinks; 472 focusedElementParentLi = twentytwentyFindParents( event.target, 'li' ); 473 focusedElementIsInsideModal = twentytwentyFindParents( event.target, '.menu-modal' ).length > 0; 474 475 lastMenuItem = lastModalMenuItems[lastModalMenuItems.length - 1]; 476 477 isFirstModalItem = event.target === closeMenuButton; 478 479 isLastModalItem = focusedElementIsInsideModal && focusedElementParentLi[0] ? 417 480 focusedElementParentLi[0].className === lastMenuItem.className : 418 481 undefined; 419 482 483 if ( lastMenuLinkToggleButton && lastMenuLinkHasSubClosedMenu && ! hasSocialMenu ) { // Last 1st level item has submenu and is closed 484 isLastModalItem = event.target === lastMenuLinkToggleButton; 485 lastMenuItem = lastMenuLinkToggleButton; 486 } 487 if ( lastMenuLinkToggleButton && ! lastMenuLinkHasSubClosedMenu && ! hasSocialMenu ) { // Last 1st level item has submenu is opened 488 isLastModalItem = event.target === lastToogleSubMenuLinkNotOpened || event.target === menuLinks[menuLinks.length - 1].querySelector( 'a' ); 489 lastMenuItem = lastToogleSubMenuLinkNotOpened || menuLinks[menuLinks.length - 1].querySelector( 'a' ); 490 } 491 420 492 if ( ! event.shiftKey && event.key === 'Tab' && isLastModalItem ) { 421 493 // Forward 422 494 event.preventDefault(); 423 firstMenuItem.focus();495 closeMenuButton.focus(); 424 496 } 425 497 if ( event.shiftKey && event.key === 'Tab' && isFirstModalItem ) { 426 498 // Backward 427 499 event.preventDefault(); 428 lastMenuItem.querySelector( 'a' ).focus(); 500 if ( lastMenuItem.querySelector( 'a' ) ) { 501 lastMenuItem.querySelector( 'a' ).focus(); 502 } else { 503 lastMenuItem.focus(); 504 } 429 505 } 430 506 } ); 431 507 } … … 445 521 // by adding the '.focus' class to all 'li.menu-item-has-children' when the focus is on the 'a' element. 446 522 focusMenuWithChildren: function() { 447 523 // Get all the link elements within the primary menu. 448 var menu = document.querySelector( '.primary-menu-wrapper' ); 449 var links = menu.getElementsByTagName( 'a' ); 450 var i, len; 524 var menu, links, i, len; 525 526 menu = document.querySelector( '.primary-menu-wrapper' ); 527 528 if ( ! menu ) { 529 return false; 530 } 531 532 links = menu.getElementsByTagName( 'a' ); 451 533 452 534 // Each time a menu link is focused or blurred, toggle focus. 453 535 for ( i = 0, len = links.length; i < len; i++ ) { … … 481 563 482 564 twentytwenty.toggles = { 483 565 566 clickedEl: false, 567 484 568 init: function() { 485 569 // Do the toggle 486 570 this.toggle(); … … 493 577 }, 494 578 495 579 performToggle: function( element, instantly ) { 496 var toggle, targetString, target, timeOutTime, classToToggle, activeClass; 580 var self, toggle, _doc, targetString, target, timeOutTime, classToToggle, activeClass; 581 582 self = this; 583 _doc = document; 497 584 498 585 // Get our targets 499 586 toggle = element; 500 587 targetString = toggle.dataset.toggleTarget; 501 588 activeClass = 'active'; 502 589 590 // Elements to focus after modals are closed 591 if ( ! _doc.querySelectorAll( '.show-modal' ).length ) { 592 self.clickedEl = _doc.activeElement; 593 } 594 503 595 if ( targetString === 'next' ) { 504 596 target = toggle.nextSibling; 505 597 } else { 506 target = document.querySelector( targetString );598 target = _doc.querySelector( targetString ); 507 599 } 508 600 509 601 // Trigger events on the toggle targets before they are toggled … … 544 636 toggle.classList.toggle( activeClass ); 545 637 } else { 546 638 // If not, toggle all toggles with this toggle target 547 document.querySelector( '*[data-toggle-target="' + targetString + '"]' ).classList.toggle( activeClass );639 _doc.querySelector( '*[data-toggle-target="' + targetString + '"]' ).classList.toggle( activeClass ); 548 640 } 549 641 550 642 // Toggle aria-expanded on the target … … 555 647 556 648 // Toggle body class 557 649 if ( toggle.dataset.toggleBodyClass ) { 558 document.querySelector( 'body' ).classList.toggle( toggle.dataset.toggleBodyClass );650 _doc.querySelector( 'body' ).classList.toggle( toggle.dataset.toggleBodyClass ); 559 651 } 560 652 561 653 // Check whether to set focus 562 654 if ( toggle.dataset.setFocus ) { 563 focusElement = document.querySelector( toggle.dataset.setFocus );655 focusElement = _doc.querySelector( toggle.dataset.setFocus ); 564 656 565 657 if ( focusElement ) { 566 658 if ( target.classList.contains( activeClass ) ) { … … 588 680 var self = this; 589 681 590 682 document.querySelectorAll( '*[data-toggle-target]' ).forEach( function( element ) { 591 element.addEventListener( 'click', function() { 683 element.addEventListener( 'click', function( event ) { 684 event.preventDefault(); 592 685 self.performToggle( element ); 593 686 } ); 594 687 } ); -
src/wp-content/themes/twentytwenty/classes/class-twentytwenty-customize.php
90 90 $wp_customize, 91 91 'header_footer_background_color', 92 92 array( 93 'label' => esc_html__( 'Header &Footer Background Color', 'twentytwenty' ),93 'label' => __( 'Header & Footer Background Color', 'twentytwenty' ), 94 94 'section' => 'colors', 95 95 ) 96 96 ) 97 97 ); 98 98 99 // Enable picking an accent color. 100 $wp_customize->add_setting( 101 'accent_hue_active', 102 array( 103 'capability' => 'edit_theme_options', 104 'sanitize_callback' => array( __CLASS__, 'sanitize_select' ), 105 'transport' => 'postMessage', 106 'default' => 'default', 107 ) 108 ); 109 110 $wp_customize->add_control( 111 'accent_hue_active', 112 array( 113 'type' => 'radio', 114 'section' => 'colors', 115 'label' => __( 'Primary Color', 'twentytwenty' ), 116 'choices' => array( 117 'default' => __( 'Default', 'twentytwenty' ), 118 'custom' => __( 'Custom', 'twentytwenty' ), 119 ), 120 ) 121 ); 122 99 123 /** 100 124 * Implementation for the accent color. 101 125 * This is different to all other color options because of the accessibility enhancements. … … 136 160 ), 137 161 'type' => 'theme_mod', 138 162 'transport' => 'postMessage', 139 'sanitize_callback' => array( 'TwentyTwenty_Customize', 'sanitize_accent_accessible_colors' ),163 'sanitize_callback' => array( __CLASS__, 'sanitize_accent_accessible_colors' ), 140 164 ) 141 165 ); 142 166 … … 146 170 $wp_customize, 147 171 'accent_hue', 148 172 array( 149 'label' => esc_html__( 'Accent Color Hue', 'twentytwenty' ), 150 'section' => 'colors', 151 'settings' => 'accent_hue', 152 'mode' => 'hue', 173 'section' => 'colors', 174 'settings' => 'accent_hue', 175 'description' => __( 'Apply a custom color for links, buttons, featured images.', 'twentytwenty' ), 176 'mode' => 'hue', 177 'active_callback' => function() use ( $wp_customize ) { 178 return ( 'custom' === $wp_customize->get_setting( 'accent_hue_active' )->value() ); 179 }, 153 180 ) 154 181 ) 155 182 ); … … 164 191 $wp_customize->add_section( 165 192 'options', 166 193 array( 167 'title' => __( 'Theme Options', 'twentytwenty' ), 168 'priority' => 40, 169 'capability' => 'edit_theme_options', 170 'description' => __( 'Specific settings for the Twenty Twenty theme.', 'twentytwenty' ), 194 'title' => __( 'Theme Options', 'twentytwenty' ), 195 'priority' => 40, 196 'capability' => 'edit_theme_options', 171 197 ) 172 198 ); 173 199 … … 225 251 array( 226 252 'title' => __( 'Cover Template', 'twentytwenty' ), 227 253 'capability' => 'edit_theme_options', 228 'description' => __( 'Settings for the "Cover Template" page template. ', 'twentytwenty' ),254 'description' => __( 'Settings for the "Cover Template" page template. Add a featured image to use as background.', 'twentytwenty' ), 229 255 'priority' => 42, 230 256 ) 231 257 ); … … 294 320 $wp_customize, 295 321 'cover_template_overlay_background_color', 296 322 array( 297 'label' => __( ' ImageOverlay Background Color', 'twentytwenty' ),298 'description' => __( 'The color used for the featured imageoverlay. Defaults to the accent color.', 'twentytwenty' ),323 'label' => __( 'Overlay Background Color', 'twentytwenty' ), 324 'description' => __( 'The color used for the overlay. Defaults to the accent color.', 'twentytwenty' ), 299 325 'section' => 'cover_template_options', 300 326 ) 301 327 ) … … 316 342 $wp_customize, 317 343 'cover_template_overlay_text_color', 318 344 array( 319 'label' => __( ' ImageOverlay Text Color', 'twentytwenty' ),320 'description' => __( 'The color used for the text in the featured imageoverlay.', 'twentytwenty' ),345 'label' => __( 'Overlay Text Color', 'twentytwenty' ), 346 'description' => __( 'The color used for the text in the overlay.', 'twentytwenty' ), 321 347 'section' => 'cover_template_options', 322 348 ) 323 349 ) … … 337 363 $wp_customize->add_control( 338 364 'cover_template_overlay_opacity', 339 365 array( 340 'label' => __( ' ImageOverlay Opacity', 'twentytwenty' ),366 'label' => __( 'Overlay Opacity', 'twentytwenty' ), 341 367 'description' => __( 'Make sure that the contrast is high enough so that the text is readable.', 'twentytwenty' ), 342 368 'section' => 'cover_template_options', 343 369 'type' => 'range', … … 383 409 * 384 410 * @param string $input The input from the setting. 385 411 * @param object $setting The selected setting. 412 * 413 * @return string $input|$setting->default The input from the setting or the default setting. 386 414 */ 387 415 public static function sanitize_select( $input, $setting ) { 388 416 $input = sanitize_key( $input ); … … 393 421 /** 394 422 * Sanitize boolean for checkbox. 395 423 * 396 * @param bool $checked Wethere or not a blox is checked. 424 * @param bool $checked Whether or not a box is checked. 425 * 426 * @return bool 397 427 */ 398 428 public static function sanitize_checkbox( $checked ) { 399 429 return ( ( isset( $checked ) && true === $checked ) ? true : false ); -
src/wp-content/themes/twentytwenty/classes/class-twentytwenty-svg-icons.php
18 18 * Get the SVG code for the specified icon 19 19 * 20 20 * @param string $icon Icon name. 21 * @param string $group Icon group. 21 22 * @param string $color Color. 22 23 */ 23 public static function get_svg( $icon, $color = '#1A1A1B' ) { 24 $arr = apply_filters( 'twentytwenty_svg_icons', self::$icons ); 24 public static function get_svg( $icon, $group = 'ui', $color = '#1A1A1B' ) { 25 if ( 'ui' === $group ) { 26 $arr = self::$ui_icons; 27 } elseif ( 'social' === $group ) { 28 $arr = self::$social_icons; 29 } else { 30 $arr = array(); 31 } 25 32 if ( array_key_exists( $icon, $arr ) ) { 26 33 $repl = '<svg class="svg-icon" aria-hidden="true" role="img" focusable="false" '; 27 34 $svg = preg_replace( '/^<svg /', $repl, trim( $arr[ $icon ] ) ); // Add extra attributes to SVG code. … … 35 42 } 36 43 37 44 /** 45 * GET SOCIAL LINK SVG 46 * Detects the social network from a URL and returns the SVG code for its icon. 47 * 48 * @param string $uri The URL to retrieve SVG for. 49 */ 50 public static function get_social_link_svg( $uri ) { 51 static $regex_map; // Only compute regex map once, for performance. 52 if ( ! isset( $regex_map ) ) { 53 $regex_map = array(); 54 $map = &self::$social_icons_map; // Use reference instead of copy, to save memory. 55 foreach ( array_keys( self::$social_icons ) as $icon ) { 56 $domains = array_key_exists( $icon, $map ) ? $map[ $icon ] : array( sprintf( '%s.com', $icon ) ); 57 $domains = array_map( 'trim', $domains ); // Remove leading/trailing spaces, to prevent regex from failing to match. 58 $domains = array_map( 'preg_quote', $domains ); 59 $regex_map[ $icon ] = sprintf( '/(%s)/i', implode( '|', $domains ) ); 60 } 61 } 62 foreach ( $regex_map as $icon => $regex ) { 63 if ( preg_match( $regex, $uri ) ) { 64 return twentytwenty_get_theme_svg( $icon, 'social' ); 65 } 66 } 67 return null; 68 } 69 70 /** 38 71 * ICON STORAGE 39 72 * Store the code for all SVGs in an array. 40 73 * 41 74 * @var array 42 75 */ 43 public static $ icons = array(76 public static $ui_icons = array( 44 77 'arrow-down' => '<svg xmlns="http://www.w3.org/2000/svg" width="22" height="24" viewBox="0 0 22 24"> 45 78 <polygon fill="#FFF" points="721.105 856 721.105 874.315 728.083 867.313 730.204 869.41 719.59 880 709 869.41 711.074 867.313 718.076 874.315 718.076 856" transform="translate(-709 -856)"/> 46 79 </svg>', … … 71 104 'folder' => '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="19" viewBox="0 0 20 19"> 72 105 <path fill="#1A1A1B" d="M2.8,1.85 C2.275329,1.85 1.85,2.27532949 1.85,2.8 L1.85,15.4 C1.85,15.9246705 2.275329,16.35 2.8,16.35 L17.2,16.35 C17.724671,16.35 18.15,15.9246705 18.15,15.4 L18.15,5.5 C18.15,4.97532949 17.724671,4.55 17.2,4.55 L9.1,4.55 C8.8158,4.55 8.550403,4.40796403 8.392757,4.17149517 L6.845094,1.85 L2.8,1.85 Z M17.2,2.85 C18.663555,2.85 19.85,4.03644541 19.85,5.5 L19.85,15.4 C19.85,16.8635546 18.663555,18.05 17.2,18.05 L2.8,18.05 C1.336445,18.05 0.15,16.8635546 0.15,15.4 L0.15,2.8 C0.15,1.33644541 1.336445,0.15 2.8,0.15 L7.3,0.15 C7.5842,0.15 7.849597,0.292035965 8.007243,0.528504833 L9.554906,2.85 L17.2,2.85 Z"/> 73 106 </svg>', 107 'link' => '<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"> 108 <path d="M6.70846497,10.3082552 C6.43780491,9.94641406 6.5117218,9.43367048 6.87356298,9.16301045 C7.23540415,8.89235035 7.74814771,8.96626726 8.01880776,9.32810842 C8.5875786,10.0884893 9.45856383,10.5643487 10.4057058,10.6321812 C11.3528479,10.7000136 12.2827563,10.3531306 12.9541853,9.68145807 L15.3987642,7.23705399 C16.6390369,5.9529049 16.6212992,3.91168563 15.3588977,2.6492841 C14.0964962,1.38688258 12.0552769,1.36914494 10.77958,2.60113525 L9.37230725,4.00022615 C9.05185726,4.31881314 8.53381538,4.31730281 8.21522839,3.99685275 C7.89664141,3.67640269 7.89815174,3.15836082 8.21860184,2.83977385 L9.63432671,1.43240056 C11.5605503,-0.42800847 14.6223793,-0.401402004 16.5159816,1.49220028 C18.4095838,3.38580256 18.4361903,6.44763148 16.5658147,8.38399647 L14.1113741,10.838437 C13.1043877,11.8457885 11.7095252,12.366113 10.2888121,12.2643643 C8.86809903,12.1626156 7.56162126,11.4488264 6.70846497,10.3082552 Z M11.291535,7.6917448 C11.5621951,8.05358597 11.4882782,8.56632952 11.126437,8.83698955 C10.7645959,9.10764965 10.2518523,9.03373274 9.98119227,8.67189158 C9.4124214,7.91151075 8.54143617,7.43565129 7.59429414,7.36781884 C6.6471521,7.29998638 5.71724372,7.64686937 5.04581464,8.31854193 L2.60123581,10.762946 C1.36096312,12.0470951 1.37870076,14.0883144 2.64110228,15.3507159 C3.90350381,16.6131174 5.94472309,16.630855 7.21873082,15.400549 L8.61782171,14.0014581 C8.93734159,13.6819382 9.45538568,13.6819382 9.77490556,14.0014581 C10.0944254,14.320978 10.0944254,14.839022 9.77490556,15.1585419 L8.36567329,16.5675994 C6.43944966,18.4280085 3.37762074,18.401402 1.48401846,16.5077998 C-0.409583822,14.6141975 -0.436190288,11.5523685 1.43418536,9.61600353 L3.88862594,7.16156298 C4.89561225,6.15421151 6.29047483,5.63388702 7.71118789,5.7356357 C9.13190097,5.83738438 10.4383788,6.55117356 11.291535,7.6917448 Z"/> 109 </svg>', 74 110 'search' => '<svg xmlns="http://www.w3.org/2000/svg" width="23" height="23" viewBox="0 0 23 23"> 75 111 <path d="M38.710696,48.0601792 L43,52.3494831 L41.3494831,54 L37.0601792,49.710696 C35.2632422,51.1481185 32.9839107,52.0076499 30.5038249,52.0076499 C24.7027226,52.0076499 20,47.3049272 20,41.5038249 C20,35.7027226 24.7027226,31 30.5038249,31 C36.3049272,31 41.0076499,35.7027226 41.0076499,41.5038249 C41.0076499,43.9839107 40.1481185,46.2632422 38.710696,48.0601792 Z M36.3875844,47.1716785 C37.8030221,45.7026647 38.6734666,43.7048964 38.6734666,41.5038249 C38.6734666,36.9918565 35.0157934,33.3341833 30.5038249,33.3341833 C25.9918565,33.3341833 22.3341833,36.9918565 22.3341833,41.5038249 C22.3341833,46.0157934 25.9918565,49.6734666 30.5038249,49.6734666 C32.7048964,49.6734666 34.7026647,48.8030221 36.1716785,47.3875844 C36.2023931,47.347638 36.2360451,47.3092237 36.2726343,47.2726343 C36.3092237,47.2360451 36.347638,47.2023931 36.3875844,47.1716785 Z" transform="translate(-20 -31)"/> 76 112 </svg>', … … 82 118 </svg>', 83 119 ); 84 120 121 /** 122 * Social Icons – domain mappings. 123 * 124 * By default, each Icon ID is matched against a .com TLD. To override this behavior, 125 * specify all the domains it covers (including the .com TLD too, if applicable). 126 * 127 * @var array 128 */ 129 public static $social_icons_map = array( 130 'amazon' => array( 131 'amazon.com', 132 'amazon.cn', 133 'amazon.in', 134 'amazon.fr', 135 'amazon.de', 136 'amazon.it', 137 'amazon.nl', 138 'amazon.es', 139 'amazon.co', 140 'amazon.ca', 141 ), 142 'apple' => array( 143 'apple.com', 144 'itunes.com', 145 ), 146 'behance' => array( 147 'behance.net', 148 ), 149 'codepen' => array( 150 'codepen.io', 151 ), 152 'facebook' => array( 153 'facebook.com', 154 'fb.me', 155 ), 156 'feed' => array( 157 'feed', 158 ), 159 'google-plus' => array( 160 'plus.google.com', 161 ), 162 'lastfm' => array( 163 'last.fm', 164 ), 165 'mail' => array( 166 'mailto:', 167 ), 168 'slideshare' => array( 169 'slideshare.net', 170 'slideshare.com', 171 ), 172 'pocket' => array( 173 'getpocket.com', 174 ), 175 'twitch' => array( 176 'twitch.tv', 177 ), 178 'wordpress' => array( 179 'wordpress.com', 180 'wordpress.org', 181 ), 182 ); 183 184 /** 185 * Social Icons – svg sources. 186 * 187 * @var array 188 */ 189 public static $social_icons = array( 190 '500px' => '<svg width="14" height="18" viewBox="0 0 14 18" xmlns="http://www.w3.org/2000/svg"><path d="M2.448 11.848c-.047-.152 0-.26.14-.325.141-.065.253-.109.335-.132.14-.047.263-.07.369-.07.105 0 .176.058.21.175.118.317.264.624.44.923s.358.554.545.765V9.756c0-.422.088-.835.264-1.24.176-.403.427-.764.756-1.08.328-.34.714-.6 1.16-.782a3.599 3.599 0 011.37-.273c.493 0 .956.094 1.39.281.433.188.811.443 1.133.765.323.322.578.7.765 1.134s.281.89.281 1.37c0 .493-.093.956-.281 1.39s-.442.811-.765 1.133c-.322.323-.7.578-1.133.765s-.897.281-1.39.281c-.198 0-.38-.008-.544-.026a3.053 3.053 0 01-.58-.132.64.64 0 01-.132-.132c-.064-.076-.061-.237.009-.483.012-.059.05-.155.114-.29.065-.135.167-.185.308-.15.011 0 .111.024.299.07.187.048.345.071.474.071.692 0 1.28-.24 1.767-.72.486-.481.73-1.067.73-1.758 0-.317-.062-.624-.185-.923s-.302-.56-.536-.783c-.235-.234-.504-.413-.81-.536s-.626-.184-.966-.184c-.34 0-.662.07-.967.21-.304.141-.574.34-.808.598-.211.223-.372.475-.484.756s-.167.563-.167.844v4.166c.364.21.75.375 1.16.492a4.783 4.783 0 003.12-.193 4.966 4.966 0 001.574-1.037 4.993 4.993 0 001.037-1.565c.246-.586.37-1.201.37-1.845a4.774 4.774 0 00-1.407-3.393A4.758 4.758 0 009.857 5.51a4.798 4.798 0 00-1.854-.36c-.645 0-1.263.12-1.855.36-.592.24-1.11.589-1.556 1.046l-.325.325c-.217.217-.366.396-.448.536l-.018.018c-.07.082-.149.152-.237.21-.088.06-.255.06-.5 0a.925.925 0 01-.361-.149c-.112-.076-.167-.167-.167-.272V.405c0-.094.038-.182.114-.264a.379.379 0 01.29-.123L11.712 0c.152 0 .243.076.272.229s.044.263.044.334-.012.179-.035.325c-.024.146-.111.22-.264.22H3.573v4.886c.281-.293.633-.58 1.055-.86s.773-.481 1.054-.599c.364-.152.742-.27 1.134-.351a5.786 5.786 0 012.364 0c.387.082.756.2 1.108.351.351.141.685.32 1.002.537.316.216.61.46.879.73a5.982 5.982 0 011.265 1.862 5.843 5.843 0 01.457 2.285c0 .399-.038.791-.114 1.178-.076.387-.19.756-.343 1.108s-.334.685-.545 1.002a5.754 5.754 0 01-1.6 1.6 5.45 5.45 0 01-1.001.526c-.352.165-.72.285-1.108.36a6.08 6.08 0 01-2.337 0 5.137 5.137 0 01-1.125-.36 5.198 5.198 0 01-.994-.527 6.12 6.12 0 01-1.6-1.6 5.154 5.154 0 01-.623-1.23 1.052 1.052 0 01-.053-.158zm4.201-.984c0-.024.006-.05.018-.08s.04-.061.088-.096l.65-.668-.668-.668c-.059-.047-.076-.109-.053-.185a.62.62 0 01.194-.255.371.371 0 01.15-.14.369.369 0 01.149-.035c.035 0 .061.003.079.008.017.006.032.021.044.044l.668.668.65-.65a.2.2 0 01.21-.053.803.803 0 01.413.387c.042.082.027.158-.043.228l-.65.668.632.633c.024.035.05.091.08.167.029.076-.021.185-.15.325a.778.778 0 01-.167.132.339.339 0 01-.167.044l-.105-.035a.17.17 0 01-.088-.07l-.633-.615c-.023.023-.132.134-.325.334-.194.199-.308.31-.343.334 0 .011-.012.023-.035.035s-.059.017-.106.017a.36.36 0 01-.158-.044.605.605 0 01-.158-.114v-.018c-.035-.035-.073-.076-.114-.123s-.062-.105-.062-.175zm1.424-8.912c.55 0 1.093.052 1.626.158s1.052.258 1.556.457c.457.199.879.425 1.265.677.387.251.75.536 1.09.852.094.094.12.188.08.281a1.168 1.168 0 01-.203.3c-.07.07-.138.134-.202.192a.298.298 0 01-.202.088.216.216 0 01-.08-.017.177.177 0 01-.078-.07 11.99 11.99 0 00-1.046-.792 5.607 5.607 0 00-1.029-.544 6.76 6.76 0 00-1.344-.422 7.2 7.2 0 00-1.433-.14c-.422 0-.858.043-1.31.13a7.633 7.633 0 00-1.31.379c-.14.047-.242.009-.307-.114a5.898 5.898 0 00-.15-.273 19.104 19.104 0 01-.06-.22.27.27 0 01-.01-.149c0-.047.015-.088.044-.123s.062-.065.097-.088a7.153 7.153 0 011.424-.413c.527-.1 1.055-.15 1.582-.15zm5.678 13.025c.175.164.26.29.255.377s-.039.15-.097.185l-.044.044-.026.026c-.364.364-.765.692-1.205.985s-.899.545-1.38.756c-.503.222-1.025.386-1.564.492a8.452 8.452 0 01-3.252 0 7.353 7.353 0 01-1.564-.492c-.48-.2-.938-.446-1.372-.739s-.837-.627-1.212-1.002a8.226 8.226 0 01-1.758-2.601 12.433 12.433 0 01-.317-.932 6.897 6.897 0 01-.21-.95c-.024-.14.035-.234.175-.28.14-.047.24-.077.299-.088.152-.024.281-.024.387 0s.164.093.175.21v.036c.024.094.068.284.132.571.065.287.179.63.343 1.028.164.41.375.806.633 1.187.258.38.557.741.896 1.081.329.328.683.618 1.064.87.38.252.782.472 1.204.66.434.187.885.327 1.353.421a7.154 7.154 0 002.83 0 6.72 6.72 0 001.354-.422 8.15 8.15 0 001.213-.668 6.895 6.895 0 001.055-.861l.052-.07a.26.26 0 01.123-.07.198.198 0 01.141.017.604.604 0 01.14.079c.06.041.118.09.176.15z"/></svg>', 191 192 'amazon' => '<svg width="18" height="16" viewBox="0 0 18 15" xmlns="http://www.w3.org/2000/svg"><path d="M16.004 11.571c.164-.07.29-.035.378.106.088.14.056.27-.097.386a8.912 8.912 0 01-1.635.95c-.586.281-1.199.516-1.838.703a13.92 13.92 0 01-3.842.563c-.867 0-1.706-.076-2.515-.229a13.056 13.056 0 01-4.484-1.74 12.657 12.657 0 01-1.899-1.442c-.082-.07-.094-.147-.035-.23.059-.081.14-.087.246-.017.633.376 1.301.704 2.005.985.703.293 1.43.542 2.18.747.75.206 1.524.361 2.321.466.786.106 1.583.159 2.392.159.551 0 1.114-.03 1.688-.088a17.495 17.495 0 001.723-.264 18.569 18.569 0 001.724-.44 17.07 17.07 0 001.688-.615zm1.934-1.09c.106.129.077.55-.088 1.266-.164.715-.51 1.29-1.037 1.723-.07.07-.138.091-.202.062s-.08-.085-.044-.167c.129-.305.278-.718.448-1.24.17-.522.196-.859.08-1.011-.13-.153-.464-.211-1.003-.176-.54.035-.967.07-1.284.105-.105 0-.164-.029-.176-.087-.011-.06.024-.124.106-.194.563-.387 1.21-.566 1.943-.536.733.03 1.152.114 1.257.255zM9.99 3.834v-.247c0-.21-.006-.43-.018-.659a1.181 1.181 0 00-.193-.607c-.106-.164-.252-.281-.44-.351s-.369-.106-.545-.106c-.34 0-.642.088-.905.264-.264.176-.431.44-.502.791a.48.48 0 01-.123.229.269.269 0 01-.193.088L5.348 3.06a.466.466 0 01-.185-.114c-.053-.053-.073-.132-.062-.238.2-1.043.695-1.755 1.486-2.136A5.592 5.592 0 019.04 0c.422 0 .885.067 1.39.202s.92.36 1.248.677c.422.41.657.874.703 1.39s.07 1.06.07 1.635v2.743c0 .41.074.73.22.958.147.23.297.449.449.66.059.094.09.182.097.264a.288.288 0 01-.097.228c-.2.141-.434.331-.703.572-.27.24-.493.436-.669.589a.278.278 0 01-.202.088.486.486 0 01-.22-.053c-.281-.246-.477-.445-.589-.598a9.661 9.661 0 01-.395-.598c-.493.493-.944.833-1.354 1.02-.41.188-.932.282-1.566.282-.738 0-1.362-.23-1.872-.686-.51-.457-.765-1.143-.765-2.058 0-.727.176-1.327.527-1.802A3.337 3.337 0 016.684 4.43a5.668 5.668 0 011.635-.422c.61-.07 1.167-.129 1.67-.176zM9.638 7.49c.176-.316.279-.624.308-.923a9.65 9.65 0 00.044-.94V5.24c-.633 0-1.231.109-1.794.326s-.844.694-.844 1.433c0 .387.1.7.3.94s.462.361.79.361c.247 0 .478-.073.695-.22.217-.146.384-.342.501-.589z"/></svg>', 193 194 'apple' => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M14.94 6.186c-.633.21-1.143.68-1.53 1.406-.386.727-.58 1.418-.58 2.074a4.7 4.7 0 00.669 2.409c.445.761 1.054 1.248 1.828 1.459-.106.363-.252.75-.44 1.16-.199.398-.422.785-.668 1.16s-.504.72-.773 1.037a5.975 5.975 0 01-.826.756 2.503 2.503 0 01-.739.343c-.27.076-.574.114-.914.114-.21 0-.442-.023-.694-.07s-.548-.14-.888-.282a4.333 4.333 0 00-.738-.263 2.533 2.533 0 00-.598-.088c-.14 0-.354.04-.641.123-.287.082-.636.205-1.046.37-.223.07-.428.128-.615.175-.188.047-.346.07-.475.07-.363 0-.709-.073-1.037-.22s-.662-.354-1.002-.624a9.465 9.465 0 01-1.389-1.582 10.162 10.162 0 01-1.01-1.837 10.446 10.446 0 01-.625-2.03C.07 11.143 0 10.428 0 9.702c0-.715.105-1.407.316-2.075a6.08 6.08 0 01.932-1.784c.398-.521.878-.94 1.441-1.257s1.19-.474 1.88-.474c.423 0 .792.04 1.108.123.317.082.616.193.897.334.258.152.507.26.747.325s.483.097.73.097c.187 0 .392-.018.615-.053.222-.035.439-.1.65-.193.539-.211.99-.37 1.353-.475.364-.105.65-.158.862-.158.527 0 1.005.079 1.432.237.428.158.818.396 1.17.712.14.14.278.305.412.492.135.188.267.399.396.633zM7.557 4.217c0-.492.097-.96.29-1.406.194-.445.46-.879.8-1.3.328-.364.715-.66 1.16-.888.446-.229.914-.39 1.406-.484a4.55 4.55 0 01-.254 1.494c-.17.492-.425.944-.765 1.354-.387.422-.794.732-1.222.931-.428.2-.9.3-1.415.3z"/></svg>', 195 196 'bandcamp' => '<svg width="19" height="6" viewBox="0 0 19 6" xmlns="http://www.w3.org/2000/svg"><path d="M.32 5.811L3.449.361h6.68l-3.13 5.45H.32zm13.289-3.445c.07.105.14.214.21.325.071.111.13.225.177.343a2.953 2.953 0 01.105.808c0 .14-.009.276-.026.405a2.422 2.422 0 01-.08.369c-.034.129-.078.246-.131.351-.053.106-.114.211-.185.317a2.01 2.01 0 01-.237.263 1.046 1.046 0 01-.29.194 2.079 2.079 0 01-.378.132c-.123.029-.255.043-.395.043a2.389 2.389 0 01-.422-.035c-.07 0-.141-.008-.211-.026s-.14-.044-.211-.08a1.46 1.46 0 01-.317-.175 1.12 1.12 0 01-.14-.167 1.724 1.724 0 01-.106-.184h-.035v.562h-.808V.361h.878v2.005a.73.73 0 01.106-.14l.105-.106c.059-.036.109-.07.15-.106.04-.035.085-.07.132-.105a6.737 6.737 0 01.351-.106.492.492 0 01.185-.035h.167c.164 0 .313.012.448.035.135.024.255.059.36.106.141.058.258.123.352.193.094.07.176.158.246.264zm-.457 1.968a.93.93 0 00.044-.228 2.46 2.46 0 01.026-.229c0-.093-.003-.184-.009-.272a.773.773 0 00-.061-.255.938.938 0 00-.097-.246c-.04-.07-.079-.14-.114-.21-.059-.06-.114-.112-.167-.16s-.114-.087-.185-.122c-.07-.059-.149-.097-.237-.114s-.173-.027-.255-.027c-.175 0-.34.035-.492.106a.853.853 0 00-.351.28 1.377 1.377 0 00-.211.45 2.007 2.007 0 00-.044.843l.044.255a.938.938 0 00.096.246c.041.07.08.14.115.21.058.06.117.112.175.159a.909.909 0 00.211.123.688.688 0 00.211.08c.082.017.164.026.246.026.094 0 .182-.012.264-.036s.158-.058.228-.105a.868.868 0 00.194-.132.972.972 0 00.158-.184 2.87 2.87 0 01.123-.22.616.616 0 00.088-.238zm3.973.668a1.1 1.1 0 00.22-.307 1.12 1.12 0 00.096-.396h.879c-.059.27-.135.501-.229.695a1.66 1.66 0 01-.369.5c-.164.141-.345.247-.545.317-.199.07-.427.106-.685.106-.164 0-.317-.018-.457-.053a3.004 3.004 0 01-.387-.123 2.1 2.1 0 01-.343-.194c-.1-.07-.184-.146-.255-.228a1.352 1.352 0 01-.228-.299 2.92 2.92 0 01-.158-.334c-.035-.14-.068-.278-.097-.413a2.045 2.045 0 010-.853c.03-.14.062-.27.097-.386.058-.14.117-.267.176-.378s.128-.22.21-.325c.07-.094.159-.176.264-.247.106-.07.217-.128.334-.175.129-.059.27-.103.422-.132a2.255 2.255 0 011.125.062c.105.035.205.073.299.114.094.04.181.085.263.132.07.07.141.143.211.22.07.075.13.155.176.237.035.093.07.193.106.298.035.106.058.217.07.334h-.879a.964.964 0 00-.114-.325.967.967 0 00-.202-.237c-.07-.059-.159-.103-.264-.132s-.217-.044-.334-.044a.701.701 0 00-.185.026c-.064.018-.12.033-.167.044-.07.024-.14.053-.21.088a.67.67 0 00-.317.317c-.035.07-.07.146-.105.228-.036.106-.062.217-.08.334s-.026.252-.026.404a3.348 3.348 0 00.035.493c.024.07.05.146.08.228a.74.74 0 00.096.194c.035.07.085.131.15.184.064.053.12.097.167.132.07.035.149.061.237.079a1.299 1.299 0 00.633-.026.819.819 0 00.29-.159z"/></svg>', 197 198 'behance' => '<svg width="19" height="12" viewBox="0 0 19 12" xmlns="http://www.w3.org/2000/svg"><path d="M16.52 2.396h-4.499V1.342h4.499v1.054zM9.069 6.649c.176.246.308.512.395.8.088.286.132.606.132.957 0 .281-.026.542-.079.782-.053.24-.132.46-.237.659-.117.21-.25.398-.396.562a3.975 3.975 0 01-.483.457 4.816 4.816 0 01-.597.317c-.211.093-.434.175-.668.246-.223.046-.457.087-.703.123a5.213 5.213 0 01-.738.052H.318V.427h5.201c.258 0 .51.02.756.062.246.04.486.09.72.15.211.046.405.113.58.201.176.088.346.185.51.29.152.106.29.235.413.387.123.152.231.316.325.492.082.152.144.34.185.562.04.223.061.469.061.738 0 .258-.03.507-.088.747-.058.24-.158.448-.299.624-.117.188-.272.36-.465.518-.194.159-.413.29-.66.396.352.105.65.246.897.422.246.175.451.386.615.632zM2.672 4.927h2.53c.223 0 .425-.015.607-.044.182-.03.343-.097.483-.203.14-.105.246-.234.317-.386.07-.152.105-.352.105-.598a2.03 2.03 0 00-.026-.334.81.81 0 00-.114-.298c-.047-.07-.1-.138-.159-.202s-.134-.126-.228-.185a9.83 9.83 0 00-.237-.114 1.404 1.404 0 00-.29-.097 5.861 5.861 0 01-.317-.044 1.921 1.921 0 00-.316-.026H2.672v2.53zm4.499 3.338c0-.28-.041-.518-.123-.711s-.205-.355-.369-.484a1.573 1.573 0 00-.545-.263 2.697 2.697 0 00-.72-.088H2.672v3.058h2.671a3.8 3.8 0 00.36-.018c.124-.012.238-.03.343-.053.106-.035.202-.07.29-.105.088-.035.179-.082.273-.14a.959.959 0 00.228-.185.741.741 0 00.158-.273c.047-.082.088-.184.123-.307s.053-.267.053-.43zm11.141-.105h-5.8c0 .281.05.568.15.861s.237.521.413.685c.152.153.349.273.589.36.24.089.512.132.817.132.223 0 .43-.032.624-.096.193-.065.372-.161.536-.29.152-.106.275-.211.369-.316s.17-.246.228-.422h1.933c-.152.539-.351.972-.597 1.3a3.439 3.439 0 01-.844.809c-.316.21-.667.374-1.054.492s-.808.175-1.265.175a4.577 4.577 0 01-1.722-.316 4.25 4.25 0 01-.686-.369 3.793 3.793 0 01-.58-.475 3.888 3.888 0 01-.474-.623 4.664 4.664 0 01-.37-.747 5.992 5.992 0 01-.201-.791 4.86 4.86 0 010-1.757c.052-.282.131-.557.237-.826.082-.258.193-.495.334-.712a5.31 5.31 0 01.474-.624 4.11 4.11 0 01.607-.5c.216-.147.448-.285.694-.414.257-.105.527-.184.808-.237a4.76 4.76 0 011.819.018c.299.064.583.16.852.29.246.14.472.298.677.474.205.176.39.37.553.58.176.223.32.466.43.73a5.57 5.57 0 01.423 1.721c.029.323.038.618.026.888zm-2.214-1.441c-.035-.258-.094-.492-.176-.703s-.187-.387-.316-.527a1.301 1.301 0 00-.536-.343 2.19 2.19 0 00-.73-.114 1.96 1.96 0 00-.474.053c-.14.035-.275.088-.404.158a1.803 1.803 0 00-.308.176c-.1.07-.184.152-.255.246-.07.082-.125.17-.166.263-.041.094-.08.193-.115.299a1.135 1.135 0 00-.105.492h3.585z"/></svg>', 199 200 'codepen' => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M18 6.38v5.5c0 .012-.003.03-.009.053a.29.29 0 00-.009.07v.054a.873.873 0 01-.044.132 2.497 2.497 0 01-.061.132c-.012 0-.018.003-.018.01v.008a.078.078 0 01-.009.035c-.005.012-.014.018-.026.018a.235.235 0 01-.044.061l-.026.027c-.024.012-.041.026-.053.044s-.024.032-.035.044c-.012 0-.02.003-.027.009l-.026.026-8.147 5.413a.135.135 0 01-.052.017c-.012 0-.024.006-.036.018-.023.012-.04.018-.052.018s-.03.005-.053.017c-.035.012-.08.024-.132.035a.69.69 0 01-.3 0 1.357 1.357 0 01-.131-.035.122.122 0 01-.053-.009l-.053-.026a.078.078 0 01-.035-.009l-.053-.026-8.129-5.413a.77.77 0 01-.123-.114 2.032 2.032 0 00-.106-.115H.15c-.006 0-.01-.006-.01-.017-.01 0-.017-.003-.017-.01v-.008a2.499 2.499 0 01-.061-.132.873.873 0 01-.044-.133v-.052c0-.024-.003-.047-.01-.071S0 11.91 0 11.898V6.38c0-.012.003-.03.009-.053s.009-.047.009-.07v-.053a.873.873 0 01.044-.132c.017-.042.038-.086.061-.133.012 0 .018-.003.018-.009v-.008l.017-.018a1.15 1.15 0 01.23-.23L8.515.264C8.54.25 8.557.245 8.57.245s.023-.006.035-.018A.135.135 0 018.657.21c.012 0 .03-.006.053-.018a.819.819 0 01.58 0c.024 0 .041.003.053.009l.053.026c.012 0 .023.003.035.01l.053.026 8.129 5.412a.77.77 0 01.123.114c.035.042.07.08.106.115h.008c.006 0 .01.006.01.018.011 0 .017.003.017.008v.01c.023.046.044.09.061.132a.873.873 0 01.044.132v.053c0 .023.003.047.01.07s.008.041.008.053zm-9.009 4.46l2.551-1.71-2.55-1.71L6.44 9.13l2.551 1.71zm.845-4.918l3.22 2.168 2.551-1.728-5.771-3.825v3.385zm-1.69 0V2.537l-5.77 3.825 2.55 1.728 3.22-2.168zM3.397 9.13L1.689 7.967v2.31L3.396 9.13zm1.53 1.023l-2.55 1.727 5.77 3.826v-3.385l-3.22-2.168zm4.91 2.168v3.385l5.771-3.826-2.551-1.727-3.22 2.168zm4.75-3.19l1.707 1.163v-2.31L14.587 9.13z"/></svg>', 201 202 'deviantart' => '<svg width="12" height="19" viewBox="0 0 12 19" xmlns="http://www.w3.org/2000/svg"><path d="M11.48.139h-.01v3.608L8.32 9.753l.29.284h2.86v4.513H6.14l-.46.249-1.58 3.003-.32.337H.68v-3.607l3.15-6.006-.29-.284H.68V3.747h5.35l.47-.267L8.08.477 8.4.139z"/></svg>', 203 204 'digg' => '<svg width="18" height="11" viewBox="0 0 18 11" xmlns="http://www.w3.org/2000/svg"><path d="M5.41 2.554h1.793v6.117H5.41V2.554zM2.879.023h1.793V8.67H-.004V2.554h2.883V.023zm0 3.973h-1.09V7.23h1.09V3.996zM5.41.023h1.793V1.85H5.41V.023zm2.496 2.531h4.676v8.297H7.906V9.41h2.883V8.67H7.906V2.554zM9.7 7.23h1.09V3.995h-1.09V7.23zm8.297-4.676v8.297H13.32V9.41h2.883V8.67H13.32V2.554h4.676zm-1.793 1.441h-1.09V7.23h1.09V3.995z"/></svg>', 205 206 'dribbble' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.68.139c1.254 0 2.426.234 3.516.703 1.09.48 2.042 1.128 2.856 1.943s1.456 1.766 1.925 2.856.703 2.256.703 3.498c0 1.242-.234 2.408-.703 3.498s-1.11 2.042-1.925 2.856-1.767 1.462-2.856 1.943c-1.102.468-2.274.703-3.516.703s-2.408-.235-3.498-.703c-1.09-.48-2.042-1.128-2.856-1.943s-1.462-1.766-1.943-2.856A8.758 8.758 0 01.68 9.139c0-1.242.234-2.408.703-3.498.48-1.09 1.128-2.042 1.943-2.856S5.092 1.323 6.182.842A8.758 8.758 0 019.68.14zm5.977 4.148a7.736 7.736 0 01-1.16 1.16 12.69 12.69 0 01-1.301.932c-.516.328-1.125.639-1.828.932.093.176.181.36.263.554.082.193.158.383.229.57.035.06.064.121.088.185.023.065.052.132.088.203a12.923 12.923 0 011.88-.106c.622.012 1.178.041 1.67.088s.897.1 1.213.158c.328.059.522.094.58.106 0-.914-.155-1.779-.466-2.593a7.84 7.84 0 00-1.256-2.189zM9.68 1.44a7.741 7.741 0 00-1.793.21c.059.083.182.253.37.51.187.27.412.604.676 1.002.264.399.56.856.888 1.372.316.503.632 1.043.949 1.617 1.371-.516 2.37-1.081 2.997-1.697.627-.615.964-.975 1.01-1.08a7.29 7.29 0 00-1.09-.81 8.176 8.176 0 00-1.22-.606 6.813 6.813 0 00-1.346-.378 7.332 7.332 0 00-1.44-.14zm-3.234.738a7.587 7.587 0 00-1.512.932 8.169 8.169 0 00-1.257 1.248 7.56 7.56 0 00-.94 1.494 7.7 7.7 0 00-.58 1.705c.093 0 .345-.006.755-.018.41 0 .938-.026 1.582-.079a30.18 30.18 0 002.198-.272c.832-.13 1.699-.31 2.601-.545a45.446 45.446 0 00-.966-1.617 92.45 92.45 0 00-1.881-2.848zm-4.43 6.96c0 .493.047.974.14 1.442a7.136 7.136 0 001.002 2.584c.247.399.522.768.827 1.108l.492-.739c.281-.41.685-.884 1.213-1.423a14.583 14.583 0 011.916-1.618c.761-.539 1.64-.966 2.636-1.283l.15-.061a.938.938 0 01.132-.044l-.29-.65c-.1-.223-.203-.44-.308-.651-.973.293-1.916.516-2.83.668s-1.734.26-2.461.325c-.727.065-1.324.097-1.793.097-.469.012-.744.012-.826 0v.246zm7.664 7.7c.55 0 1.078-.059 1.582-.176.504-.117.984-.27 1.441-.457a11.367 11.367 0 00-.158-.79c-.07-.376-.17-.818-.299-1.328a31.427 31.427 0 00-.492-1.714c-.199-.633-.433-1.3-.703-2.004 0 .024-.006.036-.018.036h-.017c-1.09.375-2.01.826-2.76 1.353-.762.516-1.38 1.017-1.854 1.503-.475.486-.824.917-1.046 1.292a8.306 8.306 0 00-.387.668c.656.492 1.386.885 2.188 1.178s1.644.439 2.523.439zm4.324-1.336a8.092 8.092 0 001.196-.984c.363-.375.685-.78.966-1.213s.516-.897.703-1.389.323-1.008.405-1.547a8.474 8.474 0 00-.51-.158 11.686 11.686 0 00-2.531-.316c-.551-.012-1.131.029-1.74.123.257.691.474 1.347.65 1.969.176.609.325 1.157.448 1.643s.214.894.273 1.222c.07.316.117.533.14.65z"/></svg>', 207 208 'etsy' => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M.83.841A.423.423 0 01.9.543C.96.46 1.076.42 1.251.42c.082 0 .333.006.754.017.422.012.924.024 1.51.036s1.21.023 1.876.035 1.287.017 1.86.017c2.35 0 3.947-.064 4.79-.193.842-.128 1.467-.193 1.877-.193.21.012.35.082.42.21s.106.246.106.352-.035.26-.105.465a2.25 2.25 0 00-.105.728c0 .28.023.558.07.833.046.275.07.547.07.816 0 .245-.08.412-.237.5a.901.901 0 01-.43.131c-.105 0-.19-.029-.254-.087s-.097-.193-.097-.404c-.011-.398-.16-.824-.447-1.28-.287-.457-1.868-.685-4.746-.685-1.45 0-2.31.097-2.579.29s-.403.517-.403.973v4.456c0 .246.038.413.114.5.076.088.213.132.412.132h4.176c.397 0 .775-.117 1.131-.35s.565-.644.623-1.229c.012-.292.056-.47.132-.535s.196-.097.36-.097c.151 0 .28.065.385.193.106.13.152.334.14.614-.034.293-.072.597-.113.913-.041.316-.062.678-.062 1.087 0 .422.03.825.088 1.211.058.386.088.731.088 1.035 0 .292-.14.46-.421.5s-.457-.102-.527-.43c-.07-.292-.228-.646-.473-1.061-.246-.415-.825-.623-1.737-.623h-3.72c-.21 0-.362.067-.456.202-.093.134-.14.371-.14.71v4.737c0 .421.108.813.325 1.176s.74.543 1.57.543c.42 0 .912.006 1.473.018a20.7 20.7 0 001.685-.07 10.113 10.113 0 001.631-.263c.527-.13.965-.328 1.316-.597.28-.222.485-.517.614-.886.129-.368.24-.833.333-1.395.047-.245.26-.339.64-.28.38.058.553.386.518.982-.011.28-.108.67-.29 1.167-.18.497-.271.938-.271 1.324v.957c0 .345-.14.517-.421.517-.246 0-.445-.047-.597-.14-.152-.094-.772-.14-1.86-.14-.537 0-1.35.005-2.438.017-1.088 0-2.207.006-3.36.018-1.152.011-2.213.017-3.184.017-.97.012-1.614.018-1.93.018-.222 0-.37-.035-.447-.106s-.114-.175-.114-.315.044-.258.132-.351.23-.14.43-.14c.187 0 .579-.088 1.175-.264.596-.175.895-.79.895-1.842V3.858c0-.561-.1-1.088-.299-1.579-.198-.491-.649-.772-1.35-.842-.281-.035-.439-.102-.474-.202S.83 1.005.83.841z"/></svg>', 209 210 'facebook' => '<svg width="11" height="19" viewBox="0 0 11 19" xmlns="http://www.w3.org/2000/svg"><path d="M7.05 18.437H3.745V10.21H.968V7.011h2.777V4.656c0-.692.1-1.295.3-1.81.198-.528.477-.97.834-1.328a3.367 3.367 0 011.292-.8A4.903 4.903 0 017.86.437c.586 0 1.107.015 1.564.044.457.03.756.062.897.097v2.847H8.632c-.668 0-1.099.144-1.292.431-.193.287-.29.66-.29 1.116v2.04h3.164l-.422 3.199H7.05v8.226z"/></svg>', 211 212 'feed' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M5.12 15.714c0 .668-.232 1.233-.697 1.696a2.321 2.321 0 01-1.703.695c-.67 0-1.238-.232-1.703-.695a2.303 2.303 0 01-.697-1.696c0-.645.232-1.204.697-1.679a2.292 2.292 0 011.703-.712c.67 0 1.238.235 1.703.704.465.468.697 1.03.697 1.687zM.32 9.702V6.257c1.647 0 3.188.31 4.624.932 1.447.632 2.708 1.485 3.785 2.557s1.926 2.33 2.55 3.77a11.6 11.6 0 01.935 4.624H8.755a8.552 8.552 0 00-.635-3.243 8.383 8.383 0 00-1.835-2.734A8.436 8.436 0 001.979 9.86 8.652 8.652 0 00.32 9.702zm0-6.117V.14c2.482 0 4.812.474 6.988 1.424 2.188.937 4.097 2.223 5.727 3.858s2.92 3.542 3.873 5.722c.941 2.191 1.412 4.523 1.412 6.996h-3.459c0-2.004-.382-3.89-1.147-5.66s-1.806-3.314-3.123-4.632a14.708 14.708 0 00-4.624-3.12C4.202 3.966 2.32 3.585.32 3.585z"/></svg>', 213 214 'flickr' => '<svg width="18" height="9" viewBox="0 0 18 9" xmlns="http://www.w3.org/2000/svg"><path d="M4.08 8.179c-.563 0-1.09-.105-1.582-.316a4.082 4.082 0 01-1.292-.87 4.274 4.274 0 01-.888-1.31C.108 5.19.002 4.663.002 4.1s.105-1.09.316-1.582c.211-.492.501-.923.87-1.292.37-.37.806-.665 1.31-.888A3.973 3.973 0 014.08.023c.563 0 1.09.105 1.582.316.492.211.923.501 1.292.87.37.37.665.806.888 1.31.21.492.316 1.02.316 1.582s-.105 1.09-.316 1.582c-.211.492-.501.923-.87 1.292-.37.369-.806.665-1.31.888-.492.21-1.02.316-1.582.316zm9.844 0c-.563 0-1.09-.105-1.582-.316a4.082 4.082 0 01-1.292-.87 4.274 4.274 0 01-.888-1.31c-.21-.492-.316-1.02-.316-1.582s.105-1.09.316-1.582c.211-.492.501-.923.87-1.292.37-.37.806-.665 1.31-.888a3.973 3.973 0 011.582-.316c.562 0 1.09.105 1.582.316.492.211.923.501 1.292.87.369.37.665.806.888 1.31.21.492.316 1.02.316 1.582s-.106 1.09-.316 1.582c-.211.492-.501.923-.87 1.292-.37.369-.806.665-1.31.888-.492.21-1.02.316-1.582.316z"/></svg>', 215 216 'foursquare' => '<svg width="14" height="19" viewBox="0 0 14 19" xmlns="http://www.w3.org/2000/svg"><path d="M12.28.101c.727 0 1.195.196 1.406.589.211.392.246.958.106 1.696-.106.492-.252 1.195-.44 2.11-.176.914-.354 1.828-.536 2.742-.182.914-.349 1.734-.5 2.46-.142.716-.224 1.126-.247 1.231-.07.27-.193.571-.37.905-.175.334-.567.501-1.177.501H7.57c-.059 0-.097.006-.114.018l-.132.088c-.023.023-.275.31-.756.861-.48.563-1.005 1.175-1.573 1.837-.568.662-1.093 1.269-1.573 1.82l-.703.826c-.176.21-.384.316-.624.316s-.42-.023-.537-.07c-.105-.035-.225-.132-.36-.29-.135-.159-.202-.413-.202-.765V1.718c0-.316.12-.665.36-1.046.24-.38.683-.571 1.327-.571h9.598zm-.055 10.055l.09-.457.06-.283-.15.74zm.15-.74l.584-2.898-.143.72a251.52 251.52 0 01-.442 2.178zm.584-2.898c.132-.674.264-1.348.393-2.023.188-.914.334-1.617.44-2.109l-.833 4.132zm-1.241-3.816a.517.517 0 00-.097-.448.45.45 0 00-.36-.184H3.562c-.176 0-.32.064-.431.193s-.167.264-.167.404v11.918c0 .012.008.018.026.018s.032-.006.044-.018l.44-.545a55.84 55.84 0 001.01-1.204c.37-.45.724-.882 1.064-1.292.328-.41.533-.662.615-.756.164-.199.302-.325.413-.378.111-.052.29-.079.536-.079h2.566c.2 0 .346-.058.44-.175.094-.118.146-.211.158-.282a35 35 0 00.202-.993c.112-.568.185-.929.22-1.08.012-.165-.038-.317-.15-.458s-.237-.21-.377-.21H6.97c-.21 0-.38-.065-.51-.194s-.193-.3-.193-.51v-.457c0-.211.065-.38.194-.51s.298-.193.51-.193H10.732c.13 0 .252-.05.37-.15s.193-.202.228-.307l.387-2.11z"/></svg>', 217 218 'goodreads' => '<svg width="13" height="19" viewBox="0 0 13 19" xmlns="http://www.w3.org/2000/svg"><path d="M10.63.418h1.444v12.294c0 .869-.117 1.638-.352 2.307-.247.67-.599 1.233-1.057 1.691s-1.027.804-1.708 1.04c-.681.234-1.462.351-2.343.351-.775 0-1.467-.094-2.078-.281-.61-.2-1.127-.485-1.55-.855a3.653 3.653 0 01-.969-1.347c-.234-.528-.358-1.133-.37-1.814l-.035-.388H2.88v.423c.06.951.39 1.67.995 2.158.605.487 1.495.73 2.669.73 1.409 0 2.442-.325 3.1-.977.657-.652.986-1.664.986-3.038v-1.867c-.458.634-1.075 1.133-1.85 1.497a5.769 5.769 0 01-2.483.546c-.88 0-1.67-.173-2.369-.52s-1.283-.842-1.752-1.488a6.218 6.218 0 01-.969-1.955 8.196 8.196 0 01-.334-2.378c0-.974.135-1.855.405-2.641.27-.799.651-1.48 1.144-2.044S3.51.864 4.202.56C4.893.254 5.662.101 6.508.101c.845 0 1.629.185 2.35.555a4.72 4.72 0 011.77 1.559V.418zm.317 6.13a6.213 6.213 0 00-.361-2.238c-.252-.692-.614-1.274-1.083-1.743a3.753 3.753 0 00-1.268-.846 4.137 4.137 0 00-1.55-.281c-.81 0-1.491.152-2.043.458a3.998 3.998 0 00-1.357 1.215 5.054 5.054 0 00-.74 1.638 7.39 7.39 0 00-.228 1.796c0 .764.1 1.45.3 2.061.199.61.48 1.136.845 1.576s.804.778 1.32 1.013a4.124 4.124 0 001.726.352c.764 0 1.427-.14 1.99-.422a4.218 4.218 0 001.374-1.145c.364-.47.635-1.004.81-1.603s.265-1.21.265-1.832z"/></svg>', 219 220 'google-plus' => '<svg width="19" height="13" viewBox="0 0 19 13" xmlns="http://www.w3.org/2000/svg"><path d="M6.14 5.323h5.45c.082.516.111 1.031.088 1.547s-.112 1.02-.264 1.512a5.708 5.708 0 01-.554 1.31c-.24.416-.536.788-.888 1.116-.34.305-.709.56-1.107.765s-.815.348-1.248.43a6.43 6.43 0 01-1.495.176c-.504 0-.99-.058-1.459-.176a5.32 5.32 0 01-1.107-.439 6.98 6.98 0 01-1.002-.65 4.671 4.671 0 01-.906-.862 6.176 6.176 0 01-.677-1.037 5.985 5.985 0 01-.545-1.846A5.935 5.935 0 01.48 5.288a7.45 7.45 0 01.211-.774c.082-.246.176-.48.281-.703A5.884 5.884 0 012.334 2.08 5.754 5.754 0 014.24.963a6.02 6.02 0 011.97-.307c.68.005 1.324.12 1.933.342.352.13.686.29 1.002.484.317.193.604.419.862.677-.094.093-.19.184-.29.272-.1.088-.19.185-.273.29L8.39 3.776a2.845 2.845 0 00-1.265-.738c-.27-.094-.548-.141-.836-.141s-.57.023-.852.07c-.317.07-.627.19-.932.36-.305.17-.568.367-.791.59-.2.199-.37.416-.51.65-.14.235-.252.475-.334.72-.117.376-.176.754-.176 1.135s.059.753.176 1.116c.129.352.305.68.528.985.222.304.492.562.808.773.2.14.405.26.616.36s.427.168.65.203c.234.047.472.067.712.061.24-.006.472-.026.694-.061.211-.035.428-.097.65-.185.224-.088.429-.19.616-.308.305-.21.557-.471.756-.782.2-.31.334-.647.404-1.01H6.14V5.322zm12.236.14v1.442h-1.969v1.97h-1.442v-1.97h-1.969V5.464h1.97v-1.97h1.441v1.97h1.969z"/></svg>', 221 222 'google' => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M17.65 8.499c.047.633.038 1.256-.026 1.871a12.714 12.714 0 01-.325 1.819 8.868 8.868 0 01-.896 2.02 7.555 7.555 0 01-1.388 1.704 8.218 8.218 0 01-1.731 1.213 7.965 7.965 0 01-1.959.72 9.909 9.909 0 01-2.31.255 8.672 8.672 0 01-2.293-.325 9.662 9.662 0 01-1.73-.66 7.935 7.935 0 01-1.538-.992c-.515-.41-.981-.867-1.397-1.37s-.77-1.043-1.063-1.617C.772 12.692.59 12.23.45 11.75s-.246-.966-.317-1.458a7.93 7.93 0 01-.07-1.493 9.1 9.1 0 01.158-1.494c.094-.386.202-.77.325-1.15.123-.381.272-.747.448-1.099.27-.515.58-1.007.931-1.475a9.392 9.392 0 012.618-2.267 8.746 8.746 0 011.581-.72A9.498 9.498 0 019.146.1a8.34 8.34 0 011.529.14 8.067 8.067 0 011.493.422c.527.2 1.034.448 1.52.747.486.298.94.647 1.361 1.045-.14.14-.284.287-.43.44-.146.152-.296.298-.448.439-.27.28-.542.556-.817.825s-.553.545-.835.826c-.269-.27-.568-.5-.896-.694a5.15 5.15 0 00-1.036-.465c-.422-.13-.858-.2-1.31-.211s-.892.023-1.326.105a5.833 5.833 0 00-1.458.58c-.457.258-.86.568-1.212.931-.305.305-.568.636-.79.993s-.405.729-.545 1.115a5.67 5.67 0 00-.255 1.757c.006.61.102 1.195.29 1.757h-.035a.603.603 0 01.061.123c.018.047.032.088.044.123.2.492.469.958.808 1.397.34.44.726.805 1.16 1.098a6.2 6.2 0 00.957.545 4.63 4.63 0 001.046.334 5.451 5.451 0 002.143 0c.352-.059.694-.156 1.028-.29s.647-.296.94-.484c.48-.316.878-.717 1.195-1.203.316-.486.527-1.01.632-1.572H9.041V7.41h8.468c.035.175.065.357.088.544s.041.37.053.545z"/></svg>', 223 224 'github' => '<svg width="17" height="19" viewBox="0 0 17 19" xmlns="http://www.w3.org/2000/svg"><path d="M16.82 6.336c0 1.127-.153 2.049-.458 2.765-.317.716-.725 1.286-1.224 1.709s-1.066.728-1.7.915c-.645.188-1.291.317-1.937.388.211.2.393.478.546.837.153.358.229.807.229 1.347V18.1H6.464a173.584 173.584 0 00-.035-2.783c-1.62.353-2.683.212-3.188-.422l-.758-.951c-.27-.67-.554-1.125-.854-1.365l-.449-.361c-.528-.353-.643-.558-.343-.617l.449-.088c.587.059 1.033.273 1.338.643l.458.555c.517.892 1.127 1.318 1.832 1.277.704-.041 1.221-.138 1.55-.291.059-.376.158-.693.3-.951s.299-.458.475-.599a12.085 12.085 0 01-1.938-.405c-.634-.2-1.206-.51-1.717-.933S2.665 9.817 2.36 9.1c-.317-.716-.475-1.638-.475-2.765 0-.634.108-1.215.325-1.744.218-.528.508-.992.872-1.391-.059-.14-.132-.49-.22-1.048S2.894.911 3.223.101l.757.035C4.485.16 5.301.547 6.43 1.3A11.364 11.364 0 019.352.91c.517 0 1.022.036 1.515.106.493.07.974.164 1.444.282C13.427.536 14.24.145 14.751.128L15.515.1c.318.81.432 1.494.344 2.052s-.167.907-.238 1.048c.388.41.684.878.89 1.4.205.523.308 1.101.308 1.735zM2.096 12.078a.235.235 0 00-.026-.106.134.134 0 00-.08-.07c-.058-.036-.105-.047-.14-.036a.106.106 0 00-.071.07c-.012.024-.006.057.018.098a.163.163 0 00.088.079c.035.012.076.012.123 0s.076-.024.088-.035zm.458.528a.122.122 0 00.035-.123.261.261 0 00-.07-.124c-.036-.058-.077-.088-.124-.088s-.088.006-.123.018c-.012.035-.017.076-.017.123s.017.088.052.124.083.058.141.07c.059.012.094.012.106 0zm.458.67a.18.18 0 00.053-.133.245.245 0 00-.053-.15c-.035-.058-.076-.093-.123-.105a.22.22 0 00-.124 0c-.035.023-.053.064-.053.123s.018.112.053.159c.035.058.077.094.124.105a.22.22 0 00.123 0zm.634.633c.035-.035.044-.082.026-.14a.267.267 0 00-.097-.141c-.035-.06-.082-.091-.14-.097s-.106.014-.141.061c-.036.036-.044.08-.027.132.018.053.05.103.097.15.035.059.082.088.141.088s.106-.017.14-.053zm.88.388c.012-.059-.002-.112-.044-.159s-.085-.076-.132-.088a.469.469 0 00-.202.01c-.065.017-.103.049-.115.096a.177.177 0 00.044.159.274.274 0 00.168.088c.058.011.117.008.176-.01s.094-.05.106-.096zm.705.246c.07 0 .13-.017.176-.052s.07-.077.07-.124a.146.146 0 00-.07-.132.327.327 0 00-.176-.044c-.07 0-.13.018-.176.053-.047.035-.07.076-.07.123 0 .06.023.103.07.132.047.03.106.044.176.044zm.916-.105c.07-.024.129-.056.176-.097s.07-.08.07-.115a.223.223 0 00-.105-.123.284.284 0 00-.176-.017c-.07.023-.13.055-.176.096s-.07.08-.07.115c.023.059.058.1.105.123s.105.03.176.018z"/></svg>', 225 226 'instagram' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.51 1.757c-1.219 0-2.01.009-2.373.026-.363.018-.791.033-1.283.044a6.324 6.324 0 00-1.046.123 4.488 4.488 0 00-.642.194c-.199.07-.38.16-.545.272a3.267 3.267 0 00-.852.853 2.815 2.815 0 00-.29.562 5.826 5.826 0 00-.176.624c-.059.252-.094.607-.105 1.064-.024.48-.041.902-.053 1.265s-.018 1.149-.018 2.356c0 1.219.009 2.01.027 2.373.017.363.032.79.044 1.283.023.445.064.794.123 1.046s.123.466.193.642c.07.199.161.38.272.544a3.267 3.267 0 00.853.853c.164.111.352.208.562.29.165.059.373.117.624.176.252.058.607.094 1.064.105.48.024.902.041 1.266.053s1.148.018 2.355.018c1.219 0 2.01-.01 2.373-.027s.791-.032 1.283-.044a6.324 6.324 0 001.046-.123c.252-.058.466-.123.642-.193.199-.07.38-.161.545-.273a3.267 3.267 0 00.852-.852c.112-.164.208-.352.29-.563.059-.164.117-.372.176-.624s.094-.606.106-1.063c.023-.48.04-.902.052-1.266s.018-1.148.018-2.355c0-1.219-.009-2.01-.027-2.373a53.213 53.213 0 01-.043-1.283 6.324 6.324 0 00-.124-1.046 4.488 4.488 0 00-.193-.642c-.07-.2-.161-.38-.272-.545s-.244-.322-.396-.474a2.83 2.83 0 00-1.02-.668 5.826 5.826 0 00-.623-.176c-.252-.059-.607-.094-1.064-.106-.48-.023-.902-.04-1.266-.052s-1.148-.018-2.355-.018zm0-1.617c1.23 0 2.036.009 2.417.026.38.018.806.032 1.274.044.493.024.909.067 1.248.132.34.064.65.15.932.255.305.129.589.275.853.44.263.163.518.368.764.615s.454.503.624.773.314.55.43.844c.106.27.194.577.265.923.07.345.11.764.123 1.256.023.48.04.909.052 1.284.012.375.018 1.177.018 2.408s-.009 2.036-.026 2.417c-.018.38-.033.805-.044 1.274a9.181 9.181 0 01-.132 1.248c-.065.34-.15.65-.255.932-.129.304-.275.589-.44.852s-.369.519-.615.765-.504.454-.773.624c-.27.17-.551.313-.844.43-.27.106-.577.194-.923.264-.346.07-.764.112-1.257.123-.48.024-.908.041-1.283.053-.375.012-1.178.018-2.408.018s-2.036-.01-2.417-.027-.806-.032-1.274-.044a9.181 9.181 0 01-1.248-.131c-.34-.065-.65-.15-.932-.255a6.136 6.136 0 01-.853-.44c-.263-.164-.518-.369-.764-.615s-.454-.504-.624-.773c-.17-.27-.314-.551-.43-.844a5.607 5.607 0 01-.265-.923A7.287 7.287 0 01.58 12.83c-.023-.48-.04-.908-.052-1.283C.516 11.173.51 10.37.51 9.14s.009-2.036.026-2.417c.018-.381.033-.806.044-1.275.024-.492.068-.908.132-1.248.065-.34.15-.65.255-.931.129-.305.275-.59.44-.853.164-.264.369-.518.615-.764s.504-.455.773-.625c.27-.17.551-.313.844-.43.27-.106.577-.194.923-.264.345-.07.764-.111 1.257-.123.48-.023.908-.04 1.283-.053S8.279.14 9.51.14zm0 4.36c.645 0 1.248.122 1.81.368a4.53 4.53 0 012.461 2.461c.247.563.37 1.166.37 1.81 0 .645-.123 1.249-.37 1.811a4.53 4.53 0 01-2.46 2.461 4.467 4.467 0 01-1.811.37 4.467 4.467 0 01-1.81-.37 4.53 4.53 0 01-2.461-2.46 4.467 4.467 0 01-.37-1.811c0-.645.123-1.248.37-1.81a4.53 4.53 0 012.46-2.462A4.467 4.467 0 019.51 4.5zm0 7.663c.832 0 1.544-.299 2.136-.896.591-.598.887-1.307.887-2.127 0-.832-.298-1.544-.896-2.136-.598-.592-1.307-.888-2.127-.888-.832 0-1.544.3-2.136.897-.592.598-.887 1.307-.887 2.127 0 .832.298 1.544.896 2.136.598.591 1.307.887 2.127.887zm5.871-7.84c0 .293-.1.548-.299.765a.982.982 0 01-.756.325 1.06 1.06 0 01-.764-.316 1.038 1.038 0 01-.325-.774c0-.292.105-.541.316-.747.21-.205.469-.307.773-.307.293 0 .542.1.747.299.206.199.308.45.308.755z"/></svg>', 227 228 'lastfm' => '<svg width="19" height="11" viewBox="0 0 19 11" xmlns="http://www.w3.org/2000/svg"><path d="M14.52 10.093c-.89 0-1.647-.094-2.268-.281-.609-.188-1.125-.446-1.547-.774a4.092 4.092 0 01-1.019-1.142 7.805 7.805 0 01-.615-1.389l-.668-2.074c-.246-.75-.563-1.383-.95-1.899-.386-.515-1.03-.773-1.933-.773-.633 0-1.213.258-1.74.773-.528.516-.791 1.407-.791 2.672 0 .985.222 1.764.668 2.338s1.03.862 1.758.862c.808 0 1.456-.2 1.942-.598l.73-.598.667 1.793-.852.545c-.569.363-1.433.545-2.593.545-.715 0-1.353-.105-1.916-.316-.562-.211-1.034-.519-1.415-.923s-.67-.905-.87-1.503c-.2-.598-.299-1.29-.299-2.074 0-.82.1-1.547.299-2.18.2-.645.495-1.186.888-1.626s.876-.776 1.45-1.01C4.02.225 4.688.108 5.45.108c.68 0 1.283.064 1.81.193.528.129.99.34 1.389.633.398.293.738.668 1.02 1.125.292.469.55 1.037.773 1.705l.668 2.074c.246.75.62 1.371 1.125 1.864.504.492 1.277.738 2.32.738.703 0 1.236-.085 1.6-.255.363-.17.545-.448.545-.835 0-.293-.103-.545-.308-.756-.205-.21-.571-.38-1.099-.51l-1.406-.351c-.844-.188-1.453-.504-1.828-.95-.375-.445-.562-1.019-.562-1.722 0-1.125.38-1.899 1.142-2.32s1.612-.633 2.549-.633c1.055 0 1.887.199 2.496.597s.961 1.067 1.055 2.004l-2.074.246c-.036-.433-.19-.747-.466-.94-.276-.193-.66-.29-1.152-.29-.457 0-.811.094-1.063.281-.252.188-.378.457-.378.809 0 .316.08.568.237.756.158.187.466.334.923.44l1.336.28c.879.211 1.55.548 2.013 1.011.463.463.694 1.11.694 1.942 0 1.032-.392 1.764-1.178 2.198-.785.433-1.822.65-3.11.65z"/></svg>', 229 230 'linkedin' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M14.27 9.628a1.057 1.057 0 00-.492-.316 2.467 2.467 0 00-.774-.106c-.386 0-.712.059-.975.176a1.64 1.64 0 00-.642.492c-.152.223-.266.492-.343.809s-.114.68-.114 1.09v6.152a.473.473 0 01-.026.15.448.448 0 01-.114.166c-.036.035-.083.068-.141.097s-.117.044-.176.044H7.24c-.047 0-.097-.015-.15-.044s-.108-.062-.167-.097a1.305 1.305 0 01-.096-.15.339.339 0 01-.044-.166V6.57a.31.31 0 01.044-.15 5.8 5.8 0 01.096-.167c.047-.035.097-.067.15-.096s.108-.044.167-.044h3.129a.69.69 0 01.149.017c.053.012.097.03.132.053.035.012.061.041.079.088l.061.158c0 .047.006.094.018.14a.48.48 0 01.018.106v.281c.398-.386.867-.67 1.406-.852a5.59 5.59 0 011.793-.273c.75 0 1.418.088 2.004.264.586.176 1.09.451 1.511.826.422.387.739.856.95 1.407.21.55.316 1.195.316 1.933v7.664a.473.473 0 01-.026.15.448.448 0 01-.115.167c-.035.035-.082.067-.14.096s-.117.044-.176.044h-3.305a.31.31 0 01-.15-.044 5.8 5.8 0 01-.166-.096 1.305 1.305 0 01-.097-.15.339.339 0 01-.044-.167V11c0-.293-.026-.553-.079-.782a1.85 1.85 0 00-.237-.589zm-9.738-5.45c-.211.212-.446.37-.703.475s-.54.159-.844.159c-.293 0-.571-.053-.835-.159s-.501-.263-.712-.474c-.211-.211-.37-.443-.475-.695a2.19 2.19 0 01-.158-.852c0-.293.053-.566.158-.817.106-.252.264-.484.475-.695.21-.21.445-.375.703-.492s.54-.176.844-.176c.293 0 .571.059.835.176s.5.281.712.492c.21.211.369.44.474.686.106.246.159.521.159.826 0 .316-.053.6-.159.852a2.159 2.159 0 01-.474.695zm.527 2.391v11.355a.31.31 0 01-.044.15c-.03.053-.061.108-.097.167a1.305 1.305 0 01-.149.096.339.339 0 01-.167.044H1.368a.31.31 0 01-.15-.044 5.802 5.802 0 01-.167-.096 1.305 1.305 0 01-.096-.15.339.339 0 01-.044-.167V6.57a.31.31 0 01.044-.149c.029-.053.061-.108.096-.167.047-.035.097-.067.15-.097a.339.339 0 01.167-.044h3.234a.31.31 0 01.15.044 5.8 5.8 0 01.166.097c.036.047.068.097.097.15.03.052.044.108.044.166z"/></svg>', 231 232 'mail' => '<svg width="18" height="13" viewBox="0 0 18 13" xmlns="http://www.w3.org/2000/svg"><path d="M9.6 8.175l8.402-6.856v10.793h-18V1.32l8.403 6.856c.093.07.19.129.29.176s.202.07.307.07.211-.023.317-.07c.105-.047.199-.106.28-.176zm-.598-2.074a.662.662 0 01-.263-.053 1.417 1.417 0 01-.229-.123L1.373.089h15.258L9.495 5.925a.813.813 0 01-.492.176z"/></svg>', 233 234 'medium' => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M18.39 15.093h-6.856l1.372-1.512c.023-.023.038-.079.044-.167.005-.088.008-.202.008-.342V3.667l-4.5 11.426L3.572 4.441a5.822 5.822 0 01-.167-.457 39.698 39.698 0 01-.15-.474v7.927c0 .164.006.282.018.352.012.07.076.182.193.334l2.074 2.97H.39l2.092-2.97c.117-.152.178-.264.184-.334.006-.07.01-.188.01-.352V3.246c0-.176.002-.293.008-.352.006-.058-.032-.14-.114-.246L.97.222h4.852l4.2 9.3 3.657-9.3h4.711l-1.266 1.565c-.082.094-.131.187-.149.281s-.026.211-.026.352v10.635c0 .14.003.252.008.334.006.082.027.14.062.176l1.371 1.529z"/></svg>', 235 236 'meetup' => '<svg width="19" height="15" viewBox="0 0 19 15" xmlns="http://www.w3.org/2000/svg"><path d="M12.22 11.542c-.012-.258.012-.504.07-.738s.14-.463.246-.685c.375-.797.75-1.59 1.125-2.38a774.383 774.383 0 001.291-2.742c.053-.123.085-.254.097-.395a1.428 1.428 0 00-.018-.387c-.023-.128-.105-.228-.246-.298-.14-.07-.278-.091-.413-.062s-.255.097-.36.202c-.14.106-.255.232-.343.378a6.41 6.41 0 00-.237.43c-.27.528-.533 1.049-.79 1.564a192.161 192.161 0 01-1.582 3.092l-.773 1.547c-.082.152-.164.301-.246.448a1.8 1.8 0 01-.298.395c-.223.234-.501.39-.835.465-.334.077-.653.05-.957-.079a.87.87 0 01-.519-.535c-.088-.252-.073-.548.044-.888.2-.527.401-1.048.606-1.563s.413-1.031.624-1.547l.316-.843.317-.843c.035-.07.064-.147.087-.229s.041-.158.053-.228a1.094 1.094 0 00-.088-.703.8.8 0 00-.474-.421.77.77 0 00-.598.07c-.199.105-.35.28-.456.527-.246.609-.492 1.221-.738 1.836s-.486 1.227-.72 1.836c-.258.632-.513 1.268-.765 1.906s-.506 1.268-.764 1.889c-.281.68-.68 1.13-1.195 1.353s-1.118.222-1.81 0c-.609-.2-1.068-.563-1.379-1.09-.31-.527-.377-1.112-.202-1.756.13-.528.27-1.055.422-1.582.152-.527.31-1.051.474-1.572.164-.522.328-1.04.492-1.555.176-.527.346-1.048.51-1.564l.457-1.265c.153-.422.316-.837.491-1.247.305-.656.794-1.166 1.467-1.529.674-.363 1.327-.457 1.96-.28.28.07.553.172.816.307s.525.272.782.412c.27.153.522.205.756.159.234-.047.462-.164.685-.352a92.698 92.698 0 00.597-.527c.422-.34.864-.504 1.327-.492.463.012.893.2 1.291.562.07.059.138.118.202.176.065.059.132.117.202.176a.653.653 0 00.378.202.597.597 0 00.413-.114 2.279 2.279 0 011.15-.37c.393-.011.788.024 1.187.106.55.117.978.413 1.282.887s.416.993.334 1.555a7.778 7.778 0 01-.588 2.02 277.748 277.748 0 00-1.626 3.725 9.284 9.284 0 00-.58 1.863c-.011.117-.023.228-.035.334a3.025 3.025 0 00-.017.333c-.012.328.05.583.184.765.135.181.372.313.712.395.21.059.43.105.659.14s.454.077.676.124c.316.07.539.184.668.342.129.158.187.372.175.641-.011.246-.09.446-.237.598s-.372.258-.676.316c-.55.106-1.092.123-1.625.053s-1.052-.217-1.555-.44c-.598-.257-1.051-.629-1.362-1.115-.31-.486-.483-1.057-.518-1.713z"/></svg>', 237 238 'pinterest' => '<svg width="15" height="19" viewBox="0 0 15 19" xmlns="http://www.w3.org/2000/svg"><path d="M4.77 7.548c0-.387.047-.738.14-1.055.094-.316.247-.61.458-.879.187-.257.404-.457.65-.597.246-.14.51-.211.791-.211.223 0 .422.035.598.105.175.07.328.188.457.352a1.866 1.866 0 01.387 1.16c0 .14-.015.296-.044.466-.03.17-.074.354-.132.554-.047.21-.1.436-.159.676s-.134.495-.228.765c-.082.281-.158.527-.229.738-.07.211-.123.399-.158.563-.07.28-.079.545-.026.79.053.247.167.475.343.686.175.188.378.334.606.44s.483.158.765.158c.492 0 .94-.138 1.344-.413s.765-.689 1.082-1.24c.316-.562.553-1.177.711-1.845s.238-1.4.238-2.197c0-.598-.097-1.143-.29-1.635a3.831 3.831 0 00-.87-1.319 3.932 3.932 0 00-1.398-.835c-.545-.193-1.169-.29-1.872-.29-.785 0-1.494.123-2.127.37a4.48 4.48 0 00-1.67 1.142A4.99 4.99 0 003.03 5.632a5.075 5.075 0 00-.37 1.951c0 .422.06.809.176 1.16.118.352.293.668.528.95a.566.566 0 01.158.28.96.96 0 01.017.317c-.035.082-.07.194-.105.334s-.07.31-.105.51a.397.397 0 01-.07.176.32.32 0 01-.141.105.614.614 0 01-.15.018.852.852 0 01-.167-.018 3.17 3.17 0 01-.949-.606 3.555 3.555 0 01-.703-.94A4.85 4.85 0 01.727 8.69a6.23 6.23 0 01-.14-1.354c0-.316.026-.627.078-.932.053-.304.132-.615.238-.931.105-.317.231-.624.378-.923s.325-.589.536-.87c.21-.293.445-.566.703-.818.258-.252.527-.495.809-.73.292-.222.618-.424.975-.606a7.928 7.928 0 011.204-.483c.422-.117.859-.21 1.31-.281.451-.07.917-.106 1.397-.106.504 0 .988.044 1.45.132.463.088.906.22 1.328.396.421.152.814.342 1.177.571.364.229.686.483.967.765.293.293.55.6.774.923.222.322.421.67.597 1.045.153.364.273.739.36 1.125s.132.774.132 1.16c0 1.055-.131 2.02-.395 2.892a6.954 6.954 0 01-1.222 2.347c-.539.703-1.154 1.225-1.846 1.564-.69.34-1.459.51-2.302.51-.281 0-.554-.03-.818-.088a2.728 2.728 0 01-.764-.299 2.626 2.626 0 01-.633-.413 1.94 1.94 0 01-.422-.536c-.187.82-.343 1.477-.466 1.969s-.214.82-.272.984a7.114 7.114 0 01-.528 1.336 13.037 13.037 0 01-.984 1.618H3.61a15.553 15.553 0 01-.08-1.97c.018-.597.08-1.136.185-1.616L5.086 9.27a3.083 3.083 0 01-.237-.765 5.323 5.323 0 01-.08-.958z"/></svg>', 239 240 'pocket' => '<svg width="19" height="17" viewBox="0 0 19 17" xmlns="http://www.w3.org/2000/svg"><path d="M18.2 2.721v4.673c0 .492-.03.99-.088 1.493-.058.504-.158.99-.299 1.459-.269.831-.647 1.607-1.133 2.327s-1.068 1.35-1.748 1.89a8.416 8.416 0 01-1.142.807c-.398.246-.814.457-1.247.633s-.878.316-1.335.421a8.79 8.79 0 01-1.37.211c-.48.035-.955.03-1.424-.017a7.998 7.998 0 01-1.405-.229 9.677 9.677 0 01-1.353-.457 8.131 8.131 0 01-1.265-.667 9.857 9.857 0 01-1.985-1.704A8.739 8.739 0 01.983 11.4a9.283 9.283 0 01-.492-1.388 7.71 7.71 0 01-.246-1.423C.21 8.062.195 7.535.201 7.008s.01-1.043.01-1.546V2.3c0-.387.107-.738.324-1.055a1.55 1.55 0 01.87-.632c.105-.035.213-.056.325-.062a6.52 6.52 0 01.342-.008h8.714c.539.011 1.072.017 1.599.017.527 0 1.06.006 1.599.018h1.58c.235-.024.478-.035.73-.035s.5.035.746.105a1.956 1.956 0 01.914.703c.14.21.217.43.228.659.012.228.018.465.018.711zm-3.584 4.076c.07-.2.082-.404.035-.615s-.129-.392-.246-.545a1.232 1.232 0 00-.527-.36 1.236 1.236 0 00-.632-.061 1.4 1.4 0 00-.72.386c-.2.2-.393.387-.58.562a142.695 142.695 0 01-2.74 2.6 21.07 21.07 0 01-1.187-1.097c-.38-.381-.77-.765-1.168-1.151l-.29-.29c-.1-.1-.202-.19-.307-.272a4.673 4.673 0 00-.598-.563c-.164-.105-.351-.166-.562-.184s-.41.009-.597.08c-.422.175-.66.485-.712.93-.052.445.068.814.36 1.107.41.41.817.808 1.221 1.195.404.386.806.773 1.204 1.16.199.175.395.36.588.552.194.194.396.384.606.571.164.164.337.34.519.527.181.188.395.305.64.352a1.308 1.308 0 001.16-.316 62.497 62.497 0 001.23-1.195 111.392 111.392 0 002.425-2.284c.164-.164.34-.33.527-.5.187-.17.304-.367.351-.59z"/></svg>', 241 242 'reddit' => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M18.19 7.429c0 .375-.105.709-.316 1.002-.211.293-.48.51-.809.65a2.953 2.953 0 01.105.774c0 .726-.21 1.406-.632 2.039-.422.633-.994 1.186-1.714 1.661-.721.475-1.568.853-2.54 1.134a11.8 11.8 0 01-3.13.404c-1.112 0-2.155-.14-3.128-.422-.973-.27-1.82-.641-2.54-1.116-.72-.475-1.292-1.028-1.714-1.661-.422-.645-.633-1.324-.633-2.04 0-.14.009-.28.027-.421.017-.14.044-.27.079-.387a1.753 1.753 0 01-.765-.65 1.719 1.719 0 01-.29-.967c0-.492.17-.908.51-1.248.34-.34.756-.51 1.248-.51.281 0 .536.059.764.176.229.117.42.27.572.457a8.346 8.346 0 011.142-.668c.41-.2.844-.369 1.301-.51.457-.14.938-.252 1.442-.334a11.25 11.25 0 011.564-.14L10.245.257a.295.295 0 01.15-.167.377.377 0 01.236-.044l3.551.844c.024 0 .041.006.053.018l.018.017c.128-.246.304-.442.527-.589s.48-.22.773-.22c.387 0 .712.132.976.396s.395.589.395.976c0 .386-.131.718-.395.993a1.297 1.297 0 01-.976.413c-.386 0-.714-.132-.984-.396a1.335 1.335 0 01-.422-.94h-.14L10.771.785l-1.3 3.867a11.692 11.692 0 013.103.475c.473.14.916.316 1.326.527.422.199.809.427 1.16.685a1.705 1.705 0 011.371-.668c.492 0 .908.17 1.248.51.34.34.51.756.51 1.248zM5.077 8.835c0 .352.129.656.387.914s.562.387.914.387c.351 0 .656-.129.914-.387s.387-.562.387-.914c0-.351-.13-.656-.387-.914s-.563-.387-.914-.387c-.352 0-.656.13-.914.387s-.387.563-.387.914zm7.031 3.586c.035-.035.053-.085.053-.15a.27.27 0 00-.053-.166c-.035-.035-.082-.053-.14-.053s-.106.018-.141.053c-.27.27-.624.466-1.064.589-.439.123-.963.184-1.573.184-.633 0-1.166-.064-1.6-.193s-.779-.322-1.036-.58c-.036-.035-.082-.053-.141-.053s-.106.018-.14.053a.34.34 0 00-.053.175.19.19 0 00.052.141c.305.305.698.527 1.178.668s1.06.211 1.74.211c.692 0 1.278-.073 1.758-.22s.867-.366 1.16-.659zm-.07-2.285c.351 0 .65-.126.896-.378s.37-.56.37-.923c0-.351-.124-.656-.37-.914s-.545-.387-.896-.387c-.375 0-.692.13-.95.387s-.386.563-.386.914c0 .375.132.686.395.932.264.246.578.369.94.369z"/></svg>', 243 244 'skype' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M17.6 11.315a4.903 4.903 0 01.492 2.18c0 .68-.129 1.318-.387 1.916a5.054 5.054 0 01-1.045 1.564c-.44.446-.958.797-1.556 1.055a4.661 4.661 0 01-1.899.387c-.421 0-.832-.053-1.23-.159a4.512 4.512 0 01-1.09-.439 5.48 5.48 0 01-.782.114c-.252.018-.507.027-.765.027a8.246 8.246 0 01-3.304-.668 8.475 8.475 0 01-2.681-1.793 8.486 8.486 0 01-1.82-2.69 8.121 8.121 0 01-.667-3.287c0-.305.017-.598.052-.879.036-.281.077-.562.123-.844C.831 7.448.666 7.06.55 6.63S.373 5.772.373 5.338c0-.68.13-1.318.387-1.916a5.054 5.054 0 011.046-1.564c.44-.445.958-.797 1.556-1.055A4.66 4.66 0 015.26.417c.492 0 .958.067 1.398.202.44.134.852.313 1.239.536a9.444 9.444 0 011.441-.106c1.172 0 2.268.223 3.287.668a8.486 8.486 0 012.69 1.82 8.475 8.475 0 011.793 2.68 8.246 8.246 0 01.668 3.305c0 .305-.012.61-.035.914-.024.305-.07.598-.14.879zm-4.008 2.215a3.214 3.214 0 00.598-1.899c0-.28-.03-.55-.088-.808a2.15 2.15 0 00-.264-.668 2.261 2.261 0 00-.395-.563 3.334 3.334 0 00-.554-.457 4.657 4.657 0 00-.66-.351c-.24-.106-.5-.211-.781-.317a9.03 9.03 0 00-.897-.246c-.316-.07-.638-.14-.967-.21l-.72-.185c-.2-.053-.358-.097-.475-.132a2.172 2.172 0 01-.334-.106 9.622 9.622 0 01-.334-.14 2.74 2.74 0 01-.29-.185.825.825 0 01-.202-.202.523.523 0 01-.14-.237.988.988 0 01-.036-.255c0-.164.044-.314.132-.448s.22-.255.395-.36c.176-.13.387-.22.633-.273a4.05 4.05 0 01.844-.08c.316 0 .595.027.835.08.24.053.43.132.571.237.14.106.273.237.396.396.123.158.237.342.343.553.105.14.199.27.28.387.083.117.165.211.247.281.094.07.2.123.316.158.118.036.246.053.387.053.176 0 .34-.03.492-.088a.99.99 0 00.387-.263c.129-.13.22-.261.272-.396.053-.135.08-.272.08-.413a2.13 2.13 0 00-.247-.984 2.612 2.612 0 00-.351-.475 3.635 3.635 0 00-.492-.44 3.688 3.688 0 00-.624-.395 4.436 4.436 0 00-.783-.308 4.034 4.034 0 00-.896-.193 10.103 10.103 0 00-1.072-.053c-.48 0-.923.03-1.328.088a4.956 4.956 0 00-1.133.3 3.913 3.913 0 00-.967.474c-.27.187-.498.404-.686.65-.199.246-.348.516-.448.809-.1.293-.15.597-.15.914 0 .34.05.65.15.931s.237.534.413.756c.176.235.387.44.633.615s.516.323.809.44c.304.14.647.267 1.028.378.38.111.788.208 1.222.29.316.07.606.14.87.21.263.071.489.13.676.177.176.07.34.143.493.22.152.076.28.166.386.272.13.105.22.228.273.369.053.14.079.287.079.44 0 .21-.053.404-.158.58s-.264.333-.475.474c-.21.164-.463.281-.756.352-.293.07-.615.105-.967.105-.246 0-.474-.017-.685-.053a2.144 2.144 0 01-.545-.158 2.167 2.167 0 01-.958-.949 16.982 16.982 0 00-.237-.457 1.965 1.965 0 00-.211-.43 1.295 1.295 0 00-.282-.308.876.876 0 00-.342-.194 1.434 1.434 0 00-.396-.052c-.176 0-.337.026-.483.079s-.279.132-.396.237a.869.869 0 00-.272.37c-.053.14-.08.286-.08.439 0 .246.045.495.133.747.087.252.22.506.395.764.176.27.384.507.624.712.24.205.501.378.782.519.41.21.867.369 1.371.474s1.055.159 1.653.159c.515 0 .993-.039 1.432-.115.44-.076.841-.19 1.204-.342a4.995 4.995 0 001.011-.563c.287-.21.525-.457.712-.738z"/></svg>', 245 246 'slideshare' => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 5.901c.586 0 1.084.193 1.494.58.41.387.615.85.615 1.389 0 .55-.208 1.016-.624 1.397s-.91.572-1.485.572a2.098 2.098 0 01-1.494-.58c-.41-.387-.615-.85-.615-1.39 0-.55.208-1.016.624-1.397.416-.38.91-.571 1.485-.571zm4.992-.035c.598 0 1.105.193 1.52.58.417.387.625.85.625 1.389 0 .562-.208 1.037-.624 1.424-.416.386-.923.58-1.52.58a2.098 2.098 0 01-1.495-.58 1.88 1.88 0 01-.615-1.424c0-.551.208-1.017.624-1.398s.911-.571 1.485-.571zm5.555 3.129c.27-.188.475-.19.615-.009s.123.396-.052.642c-.317.386-.78.808-1.39 1.265-.608.457-1.376.88-2.302 1.266.492 1.676.516 3.006.07 3.99-.445.997-1.028 1.662-1.749 1.996-.72.334-1.42.36-2.1.079-.668-.293-.99-.873-.967-1.74v-3.27a2.404 2.404 0 00-.492-.106v3.375c.023.868-.3 1.448-.967 1.74-.68.282-1.38.256-2.1-.078-.721-.334-1.299-1-1.732-1.996-.446-.984-.416-2.314.088-3.99-.95-.387-1.732-.809-2.347-1.266-.615-.457-1.087-.879-1.415-1.265-.153-.246-.167-.46-.044-.642.123-.182.325-.179.606.009l.115.079c.04.03.061.05.061.062V2.174c0-.492.173-.908.519-1.248.345-.34.735-.51 1.169-.51h12.62c.446 0 .81.17 1.09.51s.422.756.422 1.248v6.962a.423.423 0 00.185-.08c.03-.029.062-.05.097-.061zm-1.16.668V2.948c0-.563-.085-.973-.255-1.23-.17-.258-.519-.387-1.046-.387H3.406c-.562 0-.937.117-1.125.351S2 2.338 2 2.948v6.75c.55.316 1.096.55 1.635.703.539.14 1.051.238 1.538.29.486.053.928.074 1.327.062.41-.012.75-.024 1.02-.035.246-.012.439.005.58.052.14.047.263.112.369.194.023.023.038.044.044.061s.014.032.026.044c.106.094.211.182.317.264.105.082.199.158.28.228a1.01 1.01 0 01.282-.65c.164-.164.457-.229.879-.193.281.011.621.023 1.02.035.398.012.837-.009 1.318-.062a9.87 9.87 0 001.547-.307 7.72 7.72 0 001.705-.721z"/></svg>', 247 248 'snapchat' => '<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.6 13.58c.105.012.196.056.272.131s.102.173.079.29a.639.639 0 01-.036.21c-.035.105-.102.196-.201.272s-.23.16-.394.254c-.2.082-.444.16-.737.236s-.63.15-1.016.22c-.024.035-.044.09-.062.166s-.032.15-.043.22a2.855 2.855 0 00-.106.42.432.432 0 01-.175.236.507.507 0 01-.28.08H14.62a1.03 1.03 0 01-.245-.036 2.836 2.836 0 00-.42-.079 4.292 4.292 0 00-.492-.026c-.128 0-.245.009-.35.026a4.775 4.775 0 01-.35.044c-.211.035-.415.108-.614.22a7.67 7.67 0 00-.649.411 7.636 7.636 0 01-1.043.666c-.391.21-.861.316-1.41.316H8.8c-.55 0-1.02-.108-1.411-.324a11.522 11.522 0 01-1.06-.658 9.375 9.375 0 00-.64-.403 1.88 1.88 0 00-.605-.228 4.775 4.775 0 01-.35-.044 1.916 1.916 0 00-.316-.026c-.222 0-.409.015-.56.044s-.281.05-.386.061c-.082.024-.158.041-.228.053s-.135.017-.193.017c-.152 0-.26-.04-.324-.122s-.12-.158-.167-.228a2.687 2.687 0 00-.105-.42 3.64 3.64 0 00-.044-.22.526.526 0 00-.061-.166c-.386-.07-.725-.14-1.017-.21s-.537-.153-.736-.246a2.321 2.321 0 01-.386-.254.673.673 0 01-.21-.272.188.188 0 01-.035-.105V14c-.023-.094.003-.181.079-.263a.426.426 0 01.272-.14c.268-.059.531-.132.788-.22.257-.087.497-.213.719-.376.222-.129.42-.278.596-.447.175-.17.345-.348.508-.535.292-.339.514-.649.666-.929a6.92 6.92 0 00.246-.473h.035a.999.999 0 00.105-.342.574.574 0 00-.035-.29c-.07-.151-.205-.268-.403-.35-.199-.082-.38-.152-.544-.21-.058-.012-.11-.03-.157-.053s-.088-.04-.123-.052a3.966 3.966 0 01-.386-.184.996.996 0 01-.28-.22c-.152-.116-.237-.23-.254-.341a.877.877 0 01-.009-.272.74.74 0 01.14-.254 1.15 1.15 0 01.263-.237c.059-.035.137-.067.237-.096.099-.03.195-.044.289-.044.047 0 .096.006.149.018.052.011.108.029.166.052.14.07.278.123.412.158.135.035.254.053.36.053.07 0 .131-.006.184-.018a.644.644 0 00.149-.053.7.7 0 00-.027-.184.834.834 0 01-.026-.219 33.536 33.536 0 01-.052-1.928c0-.678.105-1.244.315-1.7.14-.304.3-.587.482-.85.181-.263.383-.494.605-.692.187-.2.388-.368.604-.509.217-.14.447-.268.693-.385.432-.187.835-.307 1.21-.36s.66-.079.858-.079H9.152c.187 0 .467.024.84.07s.772.17 1.193.369c.245.117.476.245.692.385.216.14.418.31.605.509.234.198.444.432.63.7.188.27.351.562.492.877.198.42.295.976.289 1.665-.006.69-.032 1.332-.079 1.928v.246a.614.614 0 01-.035.192c.047 0 .088.006.123.018a.456.456 0 00.14.018c.128 0 .254-.018.377-.053.122-.035.254-.088.394-.158.047-.035.105-.055.175-.061s.129-.009.176-.009c.07 0 .14.006.21.018a.93.93 0 01.193.052c.163.07.304.16.42.272a.526.526 0 01.176.394.721.721 0 01-.044.22.598.598 0 01-.184.254 1.444 1.444 0 01-.307.227c-.123.07-.266.135-.43.193a3.582 3.582 0 00-.122.044.601.601 0 00-.123.061c-.175.059-.365.129-.57.21-.204.082-.341.2-.411.351a.494.494 0 00-.027.28c.018.106.062.223.132.351l.228.456c.14.269.356.575.648.92.292.345.655.67 1.087.973.432.315.952.526 1.56.631z"/></svg>', 249 250 'soundcloud' => '<svg width="19" height="9" viewBox="0 0 19 9" xmlns="http://www.w3.org/2000/svg"><path d="M1.3 7.415H.948v-2.18H1.3v2.18zm.914.703h-.352v-3.41h.352v3.41zm.703.211h-.351V4.356h.351V8.33zm.738.176h-.351V4.532h.351v3.973zm.88 0h-.352V3.267h.351v5.238zm.738 0H4.92V2.563h.352v5.942zm.879 0H5.8V2.177h.352v6.328zm.738 0h-.352V2h.352v6.504zm.914 0h-.387V2.177h.387v6.328zm.703 0h-.352V2.388h.352v6.117zm.738 0H8.86V1.649h.386v6.856zm.88 0h-.352V1.122h.351v7.383zm6.609-.07H10.58a.303.303 0 01-.193-.07.216.216 0 01-.088-.177v-7.03c0-.071.018-.127.053-.168.035-.04.1-.079.193-.114.211-.082.437-.144.677-.185.24-.04.483-.061.73-.061.503 0 .984.094 1.44.281.458.176.862.422 1.214.738.351.317.632.692.843 1.125.223.434.358.903.405 1.407.14-.047.28-.088.422-.123.14-.036.293-.053.457-.053.609 0 1.13.214 1.564.641s.65.953.65 1.574c0 .609-.213 1.13-.641 1.564-.428.434-.952.65-1.573.65z"/></svg>', 251 252 'spotify' => '<svg width="19" height="13" viewBox="0 0 19 13" xmlns="http://www.w3.org/2000/svg"><path d="M14.7 12.008a.737.737 0 01-.474.342.697.697 0 01-.58-.096c-.75-.445-1.54-.808-2.37-1.089-.844-.27-1.728-.457-2.653-.562s-1.896-.117-2.915-.035a20 20 0 00-3.161.492.83.83 0 01-.588-.115.795.795 0 01-.36-.483.746.746 0 01.105-.588.83.83 0 01.492-.36 24.104 24.104 0 013.477-.527 17.117 17.117 0 013.205.053c1.025.117 2 .334 2.924.65.937.304 1.82.714 2.652 1.23.187.105.305.263.351.473s.012.416-.105.615zm1.546-3.442a.955.955 0 01-.598.43.94.94 0 01-.737-.114 13.108 13.108 0 00-2.845-1.265 16.552 16.552 0 00-3.223-.702 17.724 17.724 0 00-3.346-.07c-1.124.07-2.189.257-3.196.562-.246.082-.489.058-.729-.07s-.407-.317-.5-.563a1.03 1.03 0 01.079-.755.876.876 0 01.588-.474 16.48 16.48 0 013.618-.667c1.253-.094 2.5-.07 3.74.07a17.96 17.96 0 013.619.79c1.17.375 2.242.86 3.213 1.458.223.152.37.36.44.623.07.264.029.513-.123.747zm1.756-4.004c-.153.28-.39.46-.712.535a1.24 1.24 0 01-.904-.114c-1.019-.609-2.172-1.083-3.46-1.423-1.3-.327-2.617-.544-3.951-.65s-2.635-.105-3.9 0c-1.276.106-2.4.305-3.371.598a1.055 1.055 0 01-.878-.07 1.185 1.185 0 01-.598-.703 1.215 1.215 0 01.106-.904c.152-.287.386-.478.702-.571C2.15.92 3.42.686 4.847.557S7.74.426 9.237.55s2.975.377 4.427.763c1.451.399 2.769.943 3.951 1.634.281.175.46.418.536.729.076.31.026.606-.15.887z"/></svg>', 253 254 'stumbleupon' => '<svg width="19" height="15" viewBox="0 0 19 15" xmlns="http://www.w3.org/2000/svg"><path d="M9.2 3.602c-.258 0-.48.09-.668.272s-.281.408-.281.677v5.766a4.118 4.118 0 01-.334 1.547c-.211.48-.501.9-.87 1.257-.37.357-.794.641-1.275.852a3.93 3.93 0 01-1.564.316 3.93 3.93 0 01-1.565-.316 4.033 4.033 0 01-1.265-.87c-.364-.37-.65-.8-.862-1.292A3.93 3.93 0 01.2 10.246V7.75h3.094v2.461c0 .258.09.48.272.668a.904.904 0 00.677.281c.258 0 .48-.09.668-.272a.904.904 0 00.281-.677v-5.8c.012-.54.13-1.044.352-1.512.21-.469.498-.88.861-1.23A4.01 4.01 0 017.671.841 3.87 3.87 0 019.2.543a4.009 4.009 0 012.795 1.125c.362.352.65.762.86 1.23.211.47.328.973.352 1.512v1.301l-1.828.528-1.23-.563V4.551c0-.258-.092-.48-.273-.668a.904.904 0 00-.677-.281zm9 6.644a3.93 3.93 0 01-.316 1.565c-.211.492-.498.923-.862 1.292-.363.37-.785.66-1.265.87-.493.211-1.014.317-1.565.317s-1.072-.106-1.564-.317c-.48-.21-.905-.498-1.275-.861a4.016 4.016 0 01-1.204-2.83V7.786l1.23.562 1.829-.562v2.53c0 .259.09.481.272.669a.904.904 0 00.677.281c.258 0 .48-.09.668-.272a.904.904 0 00.281-.677V7.75H18.2v2.496z"/></svg>', 255 256 'tumblr' => '<svg width="12" height="19" viewBox="0 0 12 19" xmlns="http://www.w3.org/2000/svg"><path d="M.1 8.239V5.673a5.138 5.138 0 001.828-.985c.246-.21.472-.445.677-.703s.378-.539.518-.844c.153-.293.282-.632.387-1.02.106-.386.188-.808.246-1.265h2.567v4.535h4.289V8.24h-4.29v4.606c0 .527.015.958.045 1.292.029.334.073.57.131.712a.99.99 0 00.229.395c.105.111.228.214.37.308.21.117.43.21.658.28.229.071.466.106.712.106.457 0 .914-.076 1.371-.228.457-.152.914-.381 1.371-.686v2.848c-.386.176-.755.331-1.107.466a7.137 7.137 0 01-1.002.307 7.26 7.26 0 01-.958.159c-.346.035-.694.052-1.046.052a8.03 8.03 0 01-1.169-.079 5.926 5.926 0 01-1.01-.237c-.317-.105-.613-.228-.888-.37s-.519-.31-.73-.509a3.638 3.638 0 01-.571-.598 3.28 3.28 0 01-.378-.632 3.428 3.428 0 01-.185-.791 8.727 8.727 0 01-.061-1.108V8.24H.1z"/></svg>', 257 258 'twitch' => '<svg width="18" height="19" viewBox="0 0 18 19" xmlns="http://www.w3.org/2000/svg"><path d="M12.8 16.061H9.284L6.93 18.417h-2.32V16.06H.284V3.545L1.48.416h16.03v10.97L12.8 16.06zm3.129-5.484V1.963H3.027v11.355h3.515v2.356l2.356-2.356h4.29l2.741-2.742zm-2.742-5.45v4.676H11.64V5.127h1.547zm-5.871 0h1.582v4.676H7.316V5.127z"/></svg>', 259 260 'twitter' => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M16.6 4.2v.457c0 1.219-.229 2.455-.686 3.709a10.568 10.568 0 01-2.021 3.375c-.89 1.008-1.992 1.834-3.305 2.479-1.3.632-2.8.949-4.5.949-.515 0-1.025-.035-1.53-.106-.503-.07-.992-.175-1.467-.316s-.934-.317-1.38-.527a9.099 9.099 0 01-1.283-.704 9.86 9.86 0 00.879.036c.855 0 1.679-.135 2.47-.405a6.85 6.85 0 002.135-1.177c-.808 0-1.529-.244-2.162-.73a3.782 3.782 0 01-1.318-1.837c.117.035.231.056.343.062s.231.008.36.008a4.54 4.54 0 00.984-.105A3.632 3.632 0 012.01 8.085a3.563 3.563 0 01-.844-2.338v-.07c.246.14.507.252.783.334s.565.123.87.123a3.58 3.58 0 01-1.196-1.292 3.56 3.56 0 01-.316-2.734c.094-.316.223-.615.387-.896.445.562.949 1.072 1.511 1.53a10.59 10.59 0 003.85 1.985c.727.2 1.47.317 2.232.352a3.555 3.555 0 01-.105-.844c0-.504.094-.984.281-1.441.2-.446.466-.835.8-1.17a3.625 3.625 0 011.169-.781c.445-.2.926-.3 1.441-.3.54 0 1.04.106 1.503.317.463.211.865.492 1.204.844a7.969 7.969 0 001.23-.343 6.622 6.622 0 001.126-.536c-.14.422-.352.809-.633 1.16-.281.352-.61.645-.984.88a8.26 8.26 0 001.072-.212 5.848 5.848 0 001.037-.386A8.42 8.42 0 0116.6 4.2z"/></svg>', 261 262 'vimeo' => '<svg width="19" height="16" viewBox="0 0 19 16" xmlns="http://www.w3.org/2000/svg"><path d="M12.1 3.883c-.21 0-.428.026-.65.08a3.818 3.818 0 00-.685.236c.222-.726.492-1.359.808-1.897s.685-.984 1.107-1.336.896-.609 1.423-.773 1.101-.234 1.722-.21c.926.01 1.608.315 2.047.913s.636 1.488.589 2.67a5.986 5.986 0 01-.281 1.442c-.164.515-.399 1.072-.703 1.669s-.685 1.242-1.142 1.933c-.445.68-.967 1.4-1.564 2.161-.61.785-1.195 1.476-1.757 2.074s-1.102 1.098-1.617 1.502c-.515.404-1.007.706-1.476.905-.469.2-.914.299-1.335.299-.528 0-1.01-.243-1.45-.73-.44-.486-.846-1.215-1.221-2.187-.246-.89-.49-1.778-.73-2.662a251.3 251.3 0 01-.711-2.68c-.281-.96-.565-1.681-.852-2.161-.287-.48-.589-.72-.905-.72-.07 0-.22.07-.448.21s-.548.351-.958.633l-.843-1.09A125.804 125.804 0 013.103 1.81C3.677 1.306 4.19.92 4.641.65 5.09.38 5.47.228 5.774.193c.68-.07 1.236.132 1.67.606.433.475.732 1.233.896 2.276.175 1.101.325 1.994.448 2.68.123.685.22 1.162.29 1.432.187.913.395 1.599.623 2.055s.466.686.712.686c.188 0 .422-.147.703-.44.281-.292.61-.732.984-1.317.363-.598.65-1.125.861-1.582s.334-.843.369-1.16c.047-.503-.032-.887-.237-1.15-.205-.264-.536-.396-.993-.396z"/></svg>', 263 264 'vk' => '<svg width="19" height="11" viewBox="0 0 19 11" xmlns="http://www.w3.org/2000/svg"><path d="M18.1 9.122c.105.129.234.31.387.545.152.234.222.44.21.615-.07.504-.55.691-1.44.563s-1.536-.106-1.934.07h-.07a2.677 2.677 0 01-1.187-.554 7.723 7.723 0 01-.888-.852 7.918 7.918 0 01-.58-.668c-.222-.281-.462-.399-.72-.352-.387.059-.563.337-.528.835.036.498-.035.888-.21 1.169-.13.234-.422.354-.88.36-.456.006-.878-.008-1.265-.044-1.218-.14-2.18-.498-2.882-1.072a12.286 12.286 0 01-1.864-1.88 1.12 1.12 0 01-.14-.167 3.297 3.297 0 00-.106-.15.426.426 0 01-.052-.061.085.085 0 01-.018-.044c-.035-.035-.07-.076-.105-.123s-.059-.088-.07-.123c-.024-.024-.042-.044-.053-.062s-.018-.032-.018-.044a.54.54 0 01-.088-.114 1.285 1.285 0 00-.088-.132c-.023 0-.038-.009-.044-.026a.11.11 0 00-.026-.044 5.18 5.18 0 01-.106-.185 1.384 1.384 0 00-.105-.167 4.165 4.165 0 00-.211-.316.427.427 0 01-.053-.062.085.085 0 01-.017-.044.47.47 0 01-.088-.123.47.47 0 00-.088-.123.108.108 0 00-.018-.061.085.085 0 01-.017-.044.47.47 0 01-.088-.123.47.47 0 00-.088-.123c0-.024-.006-.044-.018-.062s-.017-.032-.017-.044a27.3 27.3 0 01-1.195-2.214C1.19 2.794 1.05 2.5.91 2.196a2.32 2.32 0 01-.211-.984c.2-.152.451-.225.756-.22.304.007.615.01.931.01.282 0 .604-.01.967-.027s.65.027.861.132c.106.059.217.22.334.483s.229.49.334.677c.14.34.29.647.448.923.159.275.314.542.466.8.024.023.044.05.062.079a.34.34 0 00.044.061c0 .024.003.038.008.044l.027.027c0 .023.009.043.026.061l.044.044.018.018.017.017c.024.035.038.065.044.088s.015.041.027.053l.017.017.018.018c.023.035.044.064.061.088s.032.053.044.088c.13.164.278.36.448.588s.36.326.572.29c.21-.035.34-.251.386-.65.047-.398.07-.756.07-1.072v-.105c.012-.375.007-.745-.017-1.108-.023-.363-.088-.638-.193-.826a.665.665 0 00-.396-.343 2.02 2.02 0 01-.518-.255C6.769.908 7.04.72 7.422.65c.38-.07.823-.105 1.327-.105.422 0 .882.011 1.38.035.498.023.823.164.975.422.176.304.238.682.185 1.133-.053.451-.08.87-.08 1.257a.217.217 0 00-.034.123v.65l-.018.01c-.012.006-.017.014-.017.026v.175c0 .024.005.035.017.035h.018V4.798c.023 0 .035.003.035.009v.132c.023 0 .035.006.035.017V5.044l.009.009.026.026v.071h.035v.07c.024 0 .035.003.035.009v.026c0 .024.006.035.018.035h.018v.035l.017.01c.012.005.018.014.018.026.023 0 .035.005.035.017v.018l.035.035.018.009c.011.006.017.014.017.026H11.561v.035c.024 0 .038.003.044.009l.027.026a.855.855 0 00.562-.316c.14-.176.27-.352.387-.527.023-.035.044-.065.061-.088a.513.513 0 01.044-.053l.01-.018c.006-.012.014-.017.025-.017 0-.024.006-.041.018-.053l.018-.017c.023-.024.038-.041.044-.053s.014-.018.026-.018c0-.023.003-.038.009-.044l.026-.026c0-.023.006-.038.018-.044.011-.006.017-.015.017-.026l.018-.01c.012-.005.017-.014.017-.025a.408.408 0 00.106-.176.427.427 0 00.053-.062.085.085 0 00.017-.044.425.425 0 00.053-.061.085.085 0 00.017-.044c.141-.235.276-.478.405-.73s.263-.524.404-.817c.094-.2.196-.436.308-.712.11-.275.243-.436.395-.483.27-.106.592-.144.967-.114.375.029.744.044 1.107.044.305 0 .671-.006 1.099-.018.427-.012.694.088.8.299.07.176.029.436-.123.782a7.444 7.444 0 01-.334.694c-.235.352-.466.671-.695.958s-.454.577-.676.87c-.024.024-.039.044-.044.062s-.015.032-.027.044l-.017.008a.028.028 0 00-.018.027c-.023 0-.038.009-.044.026s-.015.032-.026.044c0 .024-.006.038-.018.044s-.017.015-.017.026l-.044.044-.027.027-.061.061-.044.044-.457.624c-.176.24-.258.49-.246.747.023.2.111.372.263.519.153.146.3.29.44.43.34.317.636.6.887.853.252.252.507.554.765.905z"/></svg>', 265 266 'wordpress' => '<svg width="19" height="19" viewBox="0 0 19 19" xmlns="http://www.w3.org/2000/svg"><path d="M9.9.375c1.242 0 2.408.234 3.498.703 1.09.48 2.042 1.128 2.856 1.943s1.462 1.766 1.943 2.856c.469 1.09.703 2.256.703 3.498s-.234 2.408-.703 3.498c-.48 1.09-1.128 2.042-1.943 2.856s-1.766 1.462-2.856 1.943a8.758 8.758 0 01-3.498.703 8.758 8.758 0 01-3.498-.703 9.307 9.307 0 01-2.856-1.943 9.309 9.309 0 01-1.943-2.856C1.134 11.783.9 10.617.9 9.375s.234-2.408.703-3.498A9.307 9.307 0 013.546 3.02a9.309 9.309 0 012.856-1.943A8.758 8.758 0 019.9.375zm-8.086 9a8.042 8.042 0 001.274 4.35 8.625 8.625 0 001.433 1.697 8.287 8.287 0 001.863 1.23L2.517 6.07c-.234.516-.41 1.052-.527 1.609S1.814 8.8 1.814 9.375zM9.9 17.461c.48 0 .946-.038 1.398-.114.45-.077.875-.19 1.274-.343 0-.024-.006-.044-.018-.062s-.017-.032-.017-.044l-2.496-6.82-2.426 7.067a8.284 8.284 0 002.285.316zm1.125-11.883l2.918 8.684.809-2.672c.175-.563.319-1.055.43-1.477s.167-.809.167-1.16c0-.492-.073-.92-.22-1.283a6.964 6.964 0 00-.448-.932c-.199-.34-.378-.66-.536-.958a1.983 1.983 0 01-.237-.94c0-.375.126-.71.378-1.002.252-.293.571-.44.958-.44h.105a8.386 8.386 0 00-1.16-.879 8.651 8.651 0 00-2.742-1.09A8.44 8.44 0 009.9 1.29c-.703 0-1.383.088-2.04.263-.655.176-1.274.422-1.854.739s-1.11.697-1.59 1.142c-.48.457-.903.961-1.266 1.512h.527c.422 0 .885-.018 1.389-.053l.756-.053c.21-.011.325.088.343.3.017.21-.085.333-.308.368l-.272.027c-.182.017-.396.032-.642.044l2.953 8.754 1.758-5.309-1.266-3.445c-.21-.024-.404-.041-.58-.053l-.263-.018c-.211-.023-.308-.143-.29-.36s.137-.32.36-.308l.764.053c.51.035.958.053 1.345.053.422 0 .89-.018 1.406-.053l.774-.053c.21-.011.322.088.334.3.012.21-.088.333-.299.368l-.273.027c-.181.017-.395.032-.641.044zm2.953 10.793a8.14 8.14 0 001.635-1.266 8.137 8.137 0 001.266-1.634 8.362 8.362 0 00.826-1.934 8.224 8.224 0 00.28-2.162c0-.703-.084-1.383-.254-2.04s-.413-1.265-.73-1.827a4.285 4.285 0 01.07.808c0 .422-.049.87-.149 1.345-.1.475-.26.999-.483 1.573l-2.46 7.137z"/></svg>', 267 268 'yelp' => '<svg width="16" height="19" viewBox="0 0 16 19" xmlns="http://www.w3.org/2000/svg"><path d="M2.8 2.176a.803.803 0 01.325-.316l.202-.106 3.55-1.3c.07-.011.16-.035.271-.07.112-.035.302.035.571.21.153.083.255.261.308.537l.079.413.035 6.079-.097.369a.63.63 0 01-.465.474.73.73 0 01-.589-.105l-.254-.176-3.655-4.99-.228-.36c-.153-.24-.17-.46-.053-.659zM.938 12.542c-.07-.117-.106-.275-.106-.474v-.3l.246-3.056c0-.082.044-.176.132-.281s.184-.188.29-.246c.117-.082.287-.091.51-.027l.333.097 3.795 1.933.281.193c.188.129.281.31.281.545 0 .316-.058.503-.175.562s-.223.117-.317.176l-4.462.983-.334.08c-.223.052-.38-.01-.474-.185zM7.79 18.34a1.14 1.14 0 01-.422.026l-.21-.026-2.988-.949a.926.926 0 01-.28-.193.7.7 0 01-.176-.334c-.047-.152-.012-.325.105-.518l.176-.29 2.986-3.268.273-.184c.181-.123.36-.132.536-.027.175.082.284.202.325.36l.061.238-.07 4.427-.009.325c-.006.217-.108.354-.307.413zm1.827-9.101l2.39-3.795.175-.237a.537.537 0 01.492-.22c.176 0 .307.053.395.158l.132.158 2.038 2.39.08.228c.052.153.06.31.026.475-.036.152-.156.284-.36.395l-.308.167-4.252 1.23-.342.017c-.229.012-.396-.076-.501-.263-.082-.176-.097-.337-.044-.483l.079-.22zm5.587 4.955l-1.792 2.6-.21.123a.89.89 0 01-.458.123c-.152 0-.307-.082-.465-.246l-.238-.246-2.284-3.83-.087-.317c-.059-.21-.018-.386.123-.527.14-.14.292-.205.456-.193l.246.018 4.287 1.37.3.106c.198.07.298.21.298.421 0 .14-.03.275-.088.404l-.088.194z"/></svg>', 269 270 'youtube' => '<svg xmlns="http://www.w3.org/2000/svg" width="19" height="14" viewBox="0 0 19 14"><path d="M18.216 3.72l.088.905a20.4 20.4 0 01.088 1.977v1.371c0 .739-.029 1.41-.088 2.013l-.088.905-.158.686c-.105.457-.287.826-.545 1.107-.351.352-.7.566-1.046.642-.345.076-.606.12-.782.132-.62.047-1.3.082-2.039.105-.726.024-1.406.041-2.039.053-.633.012-1.16.018-1.582.018H8.636c-.503-.012-1.092-.024-1.766-.036a116.07 116.07 0 01-2.03-.052 27.164 27.164 0 01-1.565-.088c-.2-.035-.495-.085-.888-.15-.392-.064-.764-.272-1.116-.624-.27-.281-.454-.65-.554-1.107l-.149-.686-.088-.905a20.961 20.961 0 01-.088-2.013v-1.37c0-.727.03-1.39.088-1.987l.088-.897.158-.703c.106-.468.287-.832.545-1.09.352-.375.7-.594 1.046-.659.346-.064.607-.102.782-.114a47.09 47.09 0 012.04-.105c.726-.024 1.406-.041 2.038-.053C7.81.983 8.337.977 8.76.977h1.266c.422 0 .95.006 1.582.018.633.012 1.313.03 2.04.053a47.09 47.09 0 012.038.105c.176.023.437.067.782.132.346.064.695.278 1.046.641.27.27.454.636.554 1.1l.15.693zm-6.398 3.726l.598-.316-4.852-2.532v5.063l4.254-2.215z"/></svg>', 271 272 ); 273 85 274 } 86 275 } -
src/wp-content/themes/twentytwenty/classes/class-twentytwenty-walker-comment.php
33 33 $tag = ( 'div' === $args['style'] ) ? 'div' : 'li'; 34 34 35 35 ?> 36 <<?php echo esc_html( $tag );?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>36 <<?php echo $tag; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>> 37 37 <article id="div-comment-<?php comment_ID(); ?>" class="comment-body"> 38 38 <footer class="comment-meta"> 39 39 <div class="comment-author vcard"> … … 50 50 } 51 51 } 52 52 53 /* Translators: '%1$s = comment author name */ 54 printf( '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>', esc_html( $comment_author ), __( 'says:', 'twentytwenty' ) ); // phpcs:ignore 53 printf( 54 '<span class="fn">%1$s</span><span class="screen-reader-text says">%2$s</span>', 55 esc_html( $comment_author ), 56 __( 'says:', 'twentytwenty' ) 57 ); 55 58 56 59 if ( ! empty( $comment_author_url ) ) { 57 60 echo '</a>'; … … 71 74 </a> 72 75 <?php 73 76 if ( get_edit_comment_link() ) { 74 echo ' • <a class="comment-edit-link" href="' . esc_url( get_edit_comment_link() ) . '">' . __( 'Edit', 'twentytwenty' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations77 echo ' • <a class="comment-edit-link" href="' . esc_url( get_edit_comment_link() ) . '">' . __( 'Edit', 'twentytwenty' ) . '</a>'; 75 78 } 76 79 ?> 77 80 </div><!-- .comment-metadata --> 78 81 79 82 </footer><!-- .comment-meta --> 80 83 81 <div class="comment-content ">84 <div class="comment-content entry-content"> 82 85 83 86 <?php 84 87 … … 86 89 87 90 if ( '0' === $comment->comment_approved ) { 88 91 ?> 89 <p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></p>92 <p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.', 'twentytwenty' ); ?></p> 90 93 <?php 91 94 } 92 95 … … 121 124 echo $comment_reply_link; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped --Link is escaped in https://developer.wordpress.org/reference/functions/get_comment_reply_link/ 122 125 } 123 126 if ( $by_post_author ) { 124 echo '<span class="by-post-author">' . __( 'By Post Author', 'twentytwenty' ) . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations127 echo '<span class="by-post-author">' . __( 'By Post Author', 'twentytwenty' ) . '</span>'; 125 128 } 126 129 ?> 127 130 -
src/wp-content/themes/twentytwenty/comments.php
31 31 <h2 class="comment-reply-title"> 32 32 <?php 33 33 if ( ! have_comments() ) { 34 esc_html_e( 'Leave a comment', 'twentytwenty' );34 _e( 'Leave a comment', 'twentytwenty' ); 35 35 } elseif ( '1' === $comments_number ) { 36 36 /* translators: %s: post title */ 37 printf( esc_html_x( 'One reply on “%s”', 'comments title', 'twentytwenty' ), esc_html( get_the_title() ) );37 printf( _x( 'One reply on “%s”', 'comments title', 'twentytwenty' ), esc_html( get_the_title() ) ); 38 38 } else { 39 echo esc_html( 40 sprintf( 41 /* translators: 1: number of comments, 2: post title */ 42 _nx( 43 '%1$s reply on “%2$s”', 44 '%1$s replies on “%2$s”', 45 $comments_number, 46 'comments title', 47 'twentytwenty' 48 ), 49 number_format_i18n( $comments_number ), 50 get_the_title() 51 ) 39 echo sprintf( 40 /* translators: 1: number of comments, 2: post title */ 41 _nx( 42 '%1$s reply on “%2$s”', 43 '%1$s replies on “%2$s”', 44 $comments_number, 45 'comments title', 46 'twentytwenty' 47 ), 48 number_format_i18n( $comments_number ), 49 esc_html( get_the_title() ) 52 50 ); 53 51 } 54 52 … … 60 58 <div class="comments-inner section-inner thin max-percentage"> 61 59 62 60 <?php 63 64 61 wp_list_comments( 65 62 array( 66 63 'walker' => new TwentyTwenty_Walker_Comment(), … … 80 77 ); 81 78 82 79 if ( $comment_pagination ) { 80 $pagination_classes = ''; 83 81 84 82 // If we're only showing the "Next" link, add a class indicating so. 85 if ( strpos( $comment_pagination, 'prev page-numbers' ) === false) {83 if ( false === strpos( $comment_pagination, 'prev page-numbers' ) ) { 86 84 $pagination_classes = ' only-next'; 87 } else {88 $pagination_classes = '';89 85 } 90 86 ?> 91 87 92 <nav class="comments-pagination pagination<?php echo esc_attr( $pagination_classes );?>" aria-label="<?php esc_attr_e( 'Comments', 'twentytwenty' ); ?>">88 <nav class="comments-pagination pagination<?php echo $pagination_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>" aria-label="<?php esc_attr_e( 'Comments', 'twentytwenty' ); ?>"> 93 89 <?php echo wp_kses_post( $comment_pagination ); ?> 94 90 </nav> 95 91 … … 128 124 129 125 <div class="comment-respond" id="respond"> 130 126 131 <p class="comments-closed"><?php _e( 'Comments are closed.', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></p>127 <p class="comments-closed"><?php _e( 'Comments are closed.', 'twentytwenty' ); ?></p> 132 128 133 129 </div><!-- #respond --> 134 130 -
src/wp-content/themes/twentytwenty/footer.php
11 11 * @since 1.0.0 12 12 */ 13 13 14 ?> 14 ?> 15 15 <footer id="site-footer" role="contentinfo" class="header-footer-group"> 16 16 17 17 <div class="section-inner"> … … 20 20 21 21 <p class="footer-copyright">© 22 22 <?php 23 echo esc_html( 24 date_i18n( 25 /* Translators: Y = Format parameter for date() https://php.net/manual/en/function.date.php */ 26 _x( 'Y', 'Translators: Y = Current year', 'twentytwenty' ) 27 ) 23 echo date_i18n( 24 /* translators: Copyright date format, see https://secure.php.net/date */ 25 _x( 'Y', 'copyright date format', 'twentytwenty' ) 28 26 ); 29 27 ?> 30 28 <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php echo bloginfo( 'name' ); ?></a> … … 32 30 33 31 <p class="powered-by-wordpress"> 34 32 <a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentytwenty' ) ); ?>"> 35 <?php 36 _e( 'Powered by WordPress', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations 37 ?> 33 <?php _e( 'Powered by WordPress', 'twentytwenty' ); ?> 38 34 </a> 39 </p><!-- . theme-credits -->35 </p><!-- .powered-by-wordpress --> 40 36 41 37 </div><!-- .footer-credits --> 42 38 43 39 <a class="to-the-top" href="#site-header"> 44 40 <span class="to-the-top-long"> 45 41 <?php 46 / / Translators: %s = HTML character for an arrow.47 printf( esc_html( _x( 'To the top %s', '%s = HTML character for an arrow', 'twentytwenty' )), '<span class="arrow">↑</span>' );42 /* translators: %s: HTML character for up arrow */ 43 printf( __( 'To the top %s', 'twentytwenty' ), '<span class="arrow">↑</span>' ); 48 44 ?> 49 </span> 45 </span><!-- .to-the-top-long --> 50 46 <span class="to-the-top-short"> 51 47 <?php 52 / / Translators: %s = HTML character for an arrow.53 printf( esc_html( _x( 'Up %s', '%s = HTML character for an arrow', 'twentytwenty' )), '<span class="arrow">↑</span>' );48 /* translators: %s: HTML character for up arrow */ 49 printf( __( 'Up %s', 'twentytwenty' ), '<span class="arrow">↑</span>' ); 54 50 ?> 55 </span> 56 </a> 51 </span><!-- .to-the-top-short --> 52 </a><!-- .to-the-top --> 57 53 58 54 </div><!-- .section-inner --> 59 55 -
src/wp-content/themes/twentytwenty/functions.php
19 19 * Custom Logo 20 20 * WP Body Open 21 21 * Register Sidebars 22 * Enqueue Block editor assets23 * Classic Editor Style22 * Enqueue block editor assets 23 * Enqueue classic editor styles 24 24 * Block editor settings 25 25 */ 26 26 … … 60 60 // Set post thumbnail size. 61 61 set_post_thumbnail_size( 1200, 9999 ); 62 62 63 // Add custom image size s.63 // Add custom image size used in Cover Template. 64 64 add_image_size( 'twentytwenty-fullscreen', 1980, 9999 ); 65 65 66 66 // Custom logo. … … 174 174 */ 175 175 function twentytwenty_register_styles() { 176 176 177 $theme_version = wp_get_theme()->get( 'Version' ); 178 $css_dependencies = array(); 179 180 /** 181 * Filter to load, unload Font Awesome CSS 182 * 183 * By default, only load the Font Awesome fonts if the social menu is in use or 184 * using filter Font Awesome css be loaded 185 * 186 * @since 1.0.0 187 * 188 * @param bool Whether to load font awesome, Default false. 189 */ 190 $load_font_awesome = apply_filters( 'twentytwenty_load_font_awesome', has_nav_menu( 'social' ) ); 191 192 if ( $load_font_awesome ) { 193 wp_register_style( 'font-awesome', get_template_directory_uri() . '/assets/css/font-awesome.css', false, '5.10.2', 'all' ); 194 $css_dependencies[] = 'font-awesome'; 195 } 177 $theme_version = wp_get_theme()->get( 'Version' ); 196 178 197 wp_enqueue_style( 'twentytwenty-style', get_ template_directory_uri() . '/style.css', $css_dependencies, $theme_version );179 wp_enqueue_style( 'twentytwenty-style', get_stylesheet_uri(), array(), $theme_version ); 198 180 wp_style_add_data( 'twentytwenty-style', 'rtl', 'replace' ); 199 181 200 182 // Add output of Customizer settings as inline style. … … 247 229 * Get the information about the logo. 248 230 * 249 231 * @param string $html The HTML output from get_custom_logo (core function). 232 * 233 * @return string $html 250 234 */ 251 235 function twentytwenty_get_custom_logo( $html ) { 252 236 … … 302 286 * Include a skip to content link at the top of the page so that users can bypass the menu. 303 287 */ 304 288 function twentytwenty_skip_link() { 305 echo '<a class="skip-link screen-reader-text" href="#site-content">' . __( 'Skip to the content', 'twentytwenty' ) . '</a>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations289 echo '<a class="skip-link screen-reader-text" href="#site-content">' . __( 'Skip to the content', 'twentytwenty' ) . '</a>'; 306 290 } 307 291 308 292 add_action( 'wp_body_open', 'twentytwenty_skip_link', 5 ); … … 386 370 add_action( 'init', 'twentytwenty_classic_editor_styles' ); 387 371 388 372 /** 389 * Output Customizer Settings in the Classic Editor.373 * Output Customizer settings in the classic editor. 390 374 * Adds styles to the head of the TinyMCE iframe. Kudos to @Otto42 for the original solution. 391 375 * 392 376 * @param array $mce_init TinyMCE styles. 377 * 378 * @return array $mce_init TinyMCE styles. 393 379 */ 394 380 function twentytwenty_add_classic_editor_customizer_styles( $mce_init ) { 395 381 … … 416 402 // Block Editor Palette. 417 403 $editor_color_palette = array( 418 404 array( 419 'name' => esc_html__( 'Accent Color', 'twentytwenty' ),405 'name' => __( 'Accent Color', 'twentytwenty' ), 420 406 'slug' => 'accent', 421 407 'color' => twentytwenty_get_color_for_area( 'content', 'accent' ), 422 408 ), 423 409 array( 424 'name' => esc_html__( 'Secondary', 'twentytwenty' ), 410 'name' => __( 'Primary', 'twentytwenty' ), 411 'slug' => 'primary', 412 'color' => twentytwenty_get_color_for_area( 'content', 'text' ), 413 ), 414 array( 415 'name' => __( 'Secondary', 'twentytwenty' ), 425 416 'slug' => 'secondary', 426 417 'color' => twentytwenty_get_color_for_area( 'content', 'secondary' ), 427 418 ), 428 419 array( 429 'name' => esc_html__( 'Subtle Background', 'twentytwenty' ),420 'name' => __( 'Subtle Background', 'twentytwenty' ), 430 421 'slug' => 'subtle-background', 431 422 'color' => twentytwenty_get_color_for_area( 'content', 'borders' ), 432 423 ), … … 449 440 add_theme_support( 'editor-color-palette', $editor_color_palette ); 450 441 } 451 442 452 // GutenbergFont Sizes.443 // Block Editor Font Sizes. 453 444 add_theme_support( 454 445 'editor-font-sizes', 455 446 array( 456 447 array( 457 'name' => _x( 'Small', 'Name of the small font size in Gutenberg', 'twentytwenty' ),458 'shortName' => _x( 'S', 'Short name of the small font size in the Gutenbergeditor.', 'twentytwenty' ),459 'size' => 1 6,448 'name' => _x( 'Small', 'Name of the small font size in the block editor', 'twentytwenty' ), 449 'shortName' => _x( 'S', 'Short name of the small font size in the block editor.', 'twentytwenty' ), 450 'size' => 18, 460 451 'slug' => 'small', 461 452 ), 462 453 array( 463 'name' => _x( 'Regular', 'Name of the regular font size in Gutenberg', 'twentytwenty' ),464 'shortName' => _x( 'M', 'Short name of the regular font size in the Gutenbergeditor.', 'twentytwenty' ),465 'size' => 18,454 'name' => _x( 'Regular', 'Name of the regular font size in the block editor', 'twentytwenty' ), 455 'shortName' => _x( 'M', 'Short name of the regular font size in the block editor.', 'twentytwenty' ), 456 'size' => 21, 466 457 'slug' => 'regular', 467 458 ), 468 459 array( 469 'name' => _x( 'Large', 'Name of the large font size in Gutenberg', 'twentytwenty' ),470 'shortName' => _x( 'L', 'Short name of the large font size in the Gutenbergeditor.', 'twentytwenty' ),460 'name' => _x( 'Large', 'Name of the large font size in the block editor', 'twentytwenty' ), 461 'shortName' => _x( 'L', 'Short name of the large font size in the block editor.', 'twentytwenty' ), 471 462 'size' => 24, 472 463 'slug' => 'large', 473 464 ), 474 465 array( 475 'name' => _x( 'Larger', 'Name of the larger font size in Gutenberg', 'twentytwenty' ),476 'shortName' => _x( 'XL', 'Short name of the larger font size in the Gutenbergeditor.', 'twentytwenty' ),466 'name' => _x( 'Larger', 'Name of the larger font size in the block editor', 'twentytwenty' ), 467 'shortName' => _x( 'XL', 'Short name of the larger font size in the block editor.', 'twentytwenty' ), 477 468 'size' => 32, 478 469 'slug' => 'larger', 479 470 ), … … 498 489 return sprintf( 499 490 '<a href="%1$s" class="more-link faux-button">%2$s <span class="screen-reader-text">"%3$s"</span></a>', 500 491 esc_url( get_permalink( get_the_ID() ) ), 501 esc_html__( 'Continue reading', 'twentytwenty' ),502 get_the_title( get_the_ID() )492 __( 'Continue reading', 'twentytwenty' ), 493 esc_html( get_the_title( get_the_ID() ) ) 503 494 ); 504 495 } 505 496 add_filter( 'the_content_more_link', 'twentytwenty_read_more_tag' ); … … 514 505 function twentytwenty_customize_controls_enqueue_scripts() { 515 506 $theme_version = wp_get_theme()->get( 'Version' ); 516 507 508 // Add main customizer js file. 509 wp_enqueue_script( 'twentytwenty-customize', get_template_directory_uri() . '/assets/js/customize.js', array( 'jquery' ), $theme_version, false ); 510 517 511 // Add script for color calculations. 518 512 wp_enqueue_script( 'twentytwenty-color-calculations', get_template_directory_uri() . '/assets/js/color-calculations.js', array( 'wp-color-picker' ), $theme_version, false ); 519 513 … … 622 616 $elements = array( 623 617 'content' => array( 624 618 'accent' => array( 625 'color' => array( '.color-accent', '.color-accent-hover:hover', '.color-accent-hover:focus', '.has-accent-color', '.has-drop-cap:not(:focus):first-letter', '.wp-block-button.is-style-outline', 'a' ), 626 'border-color' => array( 'blockquote', '.border-color-accent', '.border-color-accent-hover:hover', '.border-color-accent-hover:focus' ), 627 'background' => array( 'button:not(.toggle)', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]' ), 628 'background-color' => array( '.bg-accent', '.bg-accent-hover:hover', '.bg-accent-hover:focus', '.has-accent-background-color', '.comment-reply-link' ), 629 'fill' => array( '.fill-children-accent', '.fill-children-accent *' ), 619 'color' => array( '.color-accent', '.color-accent-hover:hover', '.color-accent-hover:focus', '.has-accent-color', '.has-drop-cap:not(:focus):first-letter', '.wp-block-button.is-style-outline', 'a' ), 620 'border-color' => array( 'blockquote', '.border-color-accent', '.border-color-accent-hover:hover', '.border-color-accent-hover:focus' ), 621 'background' => array( 'button:not(.toggle)', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file .wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]', '.bg-accent', '.bg-accent-hover:hover', '.bg-accent-hover:focus', '.has-accent-background-color', '.comment-reply-link' ), 622 'fill' => array( '.fill-children-accent', '.fill-children-accent *' ), 630 623 ), 631 624 'background' => array( 632 625 'color' => array( 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-button__link:active', '.wp-block-button__link:focus', '.wp-block-button__link:visited', '.wp-block-button__link:hover', '.wp-block-file__button', 'input[type="button"]', 'input[type="reset"]', 'input[type="submit"]', '.comment-reply-link' ), 633 'background' => array( ),626 'background' => array( '.has-background-background-color' ), 634 627 ), 635 628 'text' => array( 636 'color' => array( 'body', '.entry-title a' ), 629 'color' => array( 'body', '.entry-title a', '.has-primary-color' ), 630 'background' => array( '.has-primary-background-color' ), 637 631 ), 638 632 'secondary' => array( 639 'color' => array( 'cite', 'figcaption', '.wp-caption-text', '.post-meta', '.entry-content .wp-block-archives li', '.entry-content .wp-block-categories li', '.entry-content .wp-block-latest-posts li', '.wp-block-latest-comments__comment-date', '.wp-block-latest-posts__post-date', '.wp-block-embed figcaption', '.wp-block-image figcaption', '.wp-block-pullquote cite', '.comment-metadata', '.comment-respond .comment-notes', '.comment-respond .logged-in-as', '.pagination .dots', '.entry-content hr:not(.has-background)', 'hr.styled-separator' ), 633 'color' => array( 'cite', 'figcaption', '.wp-caption-text', '.post-meta', '.entry-content .wp-block-archives li', '.entry-content .wp-block-categories li', '.entry-content .wp-block-latest-posts li', '.wp-block-latest-comments__comment-date', '.wp-block-latest-posts__post-date', '.wp-block-embed figcaption', '.wp-block-image figcaption', '.wp-block-pullquote cite', '.comment-metadata', '.comment-respond .comment-notes', '.comment-respond .logged-in-as', '.pagination .dots', '.entry-content hr:not(.has-background)', 'hr.styled-separator', '.has-secondary-color' ), 634 'background' => array( '.has-secondary-background-color' ), 640 635 ), 641 636 'borders' => array( 642 637 'border-color' => array( 'pre', 'fieldset', 'input', 'textarea', 'table', 'table *', 'hr' ), 643 'background' => array( 'caption', 'code', 'code', 'kbd', 'samp', '.wp-block-table.is-style-stripes tbody tr:nth-child(odd)' ),638 'background' => array( 'caption', 'code', 'code', 'kbd', 'samp', '.wp-block-table.is-style-stripes tbody tr:nth-child(odd)', '.has-subtle-background-background-color' ), 644 639 'border-bottom-color' => array( '.wp-block-table.is-style-stripes' ), 645 640 'border-top-color' => array( '.wp-block-latest-posts.is-grid li' ), 641 'color' => array( '.has-subtle-background-color' ), 646 642 ), 647 643 ), 648 644 'header-footer' => array( … … 651 647 'background' => array( '.social-icons a', '#site-footer button:not(.toggle)', '#site-footer .button', '#site-footer .faux-button', '#site-footer .wp-block-button__link', '#site-footer .wp-block-file__button', '#site-footer input[type="button"]', '#site-footer input[type="reset"]', '#site-footer input[type="submit"]' ), 652 648 ), 653 649 'background' => array( 654 'color' => array( '.social-icons a', '.overlay-header .header-inner', ' .primary-menu ul', '.header-footer-group button', '.header-footer-group .button', '.header-footer-group .faux-button', '.header-footer-group .wp-block-button:not(.is-style-outline) .wp-block-button__link', '.header-footer-group .wp-block-file__button', '.header-footer-group input[type="button"]', '.header-footer-group input[type="reset"]', '.header-footer-group input[type="submit"]' ),650 'color' => array( '.social-icons a', '.overlay-header .header-inner', 'body:not(.overlay-header) .primary-menu ul', '.header-footer-group button', '.header-footer-group .button', '.header-footer-group .faux-button', '.header-footer-group .wp-block-button:not(.is-style-outline) .wp-block-button__link', '.header-footer-group .wp-block-file__button', '.header-footer-group input[type="button"]', '.header-footer-group input[type="reset"]', '.header-footer-group input[type="submit"]' ), 655 651 'background' => array( '#site-header', '.footer-nav-widgets-wrapper', '#site-footer', '.menu-modal', '.menu-modal-inner', '.search-modal-inner', '.archive-header', '.singular .entry-header', '.singular .featured-media:before', '.wp-block-pullquote:before' ), 656 652 ), 657 653 'text' => array( -
src/wp-content/themes/twentytwenty/header.php
9 9 * @since 1.0.0 10 10 */ 11 11 12 ?> 13 <!DOCTYPE html> 12 ?><!DOCTYPE html> 14 13 15 14 <html class="no-js" <?php language_attributes(); ?>> 16 15 … … 31 30 wp_body_open(); 32 31 ?> 33 32 34 <header id="site-header" class="header-footer-group" >33 <header id="site-header" class="header-footer-group" role="banner"> 35 34 36 35 <div class="header-inner section-inner"> 37 36 … … 46 45 47 46 ?> 48 47 49 <button class="toggle search-toggle mobile-search-toggle" data-toggle-target=".search-modal" data-toggle- screen-lock="true" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">50 < divclass="toggle-inner">51 < divclass="toggle-icon">48 <button class="toggle search-toggle mobile-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false"> 49 <span class="toggle-inner"> 50 <span class="toggle-icon"> 52 51 <?php twentytwenty_the_theme_svg( 'search' ); ?> 53 </ div>54 <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>55 </ div>52 </span> 53 <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); ?></span> 54 </span> 56 55 </button><!-- .search-toggle --> 57 56 58 57 <?php } ?> … … 69 68 70 69 </div><!-- .header-titles --> 71 70 72 <button class="toggle nav-toggle mobile-nav-toggle" data-toggle-target=".menu-modal" data-toggle-screen-lock="true"data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">73 < divclass="toggle-inner">74 < divclass="toggle-icon">71 <button class="toggle nav-toggle mobile-nav-toggle" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle"> 72 <span class="toggle-inner"> 73 <span class="toggle-icon"> 75 74 <?php twentytwenty_the_theme_svg( 'ellipsis' ); ?> 76 </ div>77 <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>78 </ div>75 </span> 76 <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); ?></span> 77 </span> 79 78 </button><!-- .nav-toggle --> 80 79 81 80 </div><!-- .header-titles-wrapper --> … … 129 128 } 130 129 ?> 131 130 132 <div class="header-toggles hide-no-js<?php echo esc_attr( $header_toggles_classes );?>">131 <div class="header-toggles hide-no-js<?php echo $header_toggles_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>"> 133 132 134 133 <?php 135 134 $nav_toggle_wrapper_classes = ''; … … 140 139 } 141 140 ?> 142 141 143 <div class="toggle-wrapper nav-toggle-wrapper<?php echo esc_attr( $nav_toggle_wrapper_classes );?>">142 <div class="toggle-wrapper nav-toggle-wrapper<?php echo $nav_toggle_wrapper_classes; //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static output ?>"> 144 143 145 <button class="toggle nav-toggle " data-toggle-target=".menu-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle">146 < divclass="toggle-inner">147 <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>148 < divclass="toggle-icon">144 <button class="toggle nav-toggle desktop-nav-toggle" data-toggle-target=".menu-modal" data-toggle-body-class="showing-menu-modal" aria-expanded="false" data-set-focus=".close-nav-toggle"> 145 <span class="toggle-inner"> 146 <span class="toggle-text"><?php _e( 'Menu', 'twentytwenty' ); ?></span> 147 <span class="toggle-icon"> 149 148 <?php twentytwenty_the_theme_svg( 'ellipsis' ); ?> 150 </ div>151 </ div>149 </span> 150 </span> 152 151 </button><!-- .nav-toggle --> 153 152 154 153 </div><!-- .nav-toggle-wrapper --> … … 159 158 160 159 <div class="toggle-wrapper search-toggle-wrapper"> 161 160 162 <button class="toggle search-toggle " data-toggle-target=".search-modal" data-toggle-screen-lock="true" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false">163 < divclass="toggle-inner">161 <button class="toggle search-toggle desktop-search-toggle" data-toggle-target=".search-modal" data-toggle-body-class="showing-search-modal" data-set-focus=".search-modal .search-field" aria-expanded="false"> 162 <span class="toggle-inner"> 164 163 <?php twentytwenty_the_theme_svg( 'search' ); ?> 165 <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>166 </ div>164 <span class="toggle-text"><?php _e( 'Search', 'twentytwenty' ); ?></span> 165 </span> 167 166 </button><!-- .search-toggle --> 168 167 169 168 </div> -
src/wp-content/themes/twentytwenty/inc/custom-css.php
60 60 $accent = sanitize_hex_color( twentytwenty_get_color_for_area( 'content', 'accent' ) ); 61 61 $accent_default = '#cd2653'; 62 62 /** 63 * Filters the CSS selectors target ting button component on frontend to apply common css63 * Filters the CSS selectors targeting button component on frontend to apply common css 64 64 * 65 65 * @since 1.0.0 66 66 * 67 * @param string $string The comma separated string of all CSS selectors target ting button component67 * @param string $string The comma separated string of all CSS selectors targeting button component 68 68 */ 69 69 $buttons_targets = apply_filters( 'twentytwenty_buttons_targets_front_end', 'button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, input[type=\'button\'], input[type=\'reset\'], input[type=\'submit\']' ); 70 70 … … 102 102 foreach ( $definitions as $property => $elements ) { 103 103 /* 104 104 * If we don't have an elements array or it is empty 105 * then skip this it teration early;105 * then skip this iteration early; 106 106 */ 107 107 if ( ! is_array( $elements ) || empty( $elements ) ) { 108 108 continue; … … 120 120 twentytwenty_generate_css( '.cover-header .entry-header *', 'color', $cover ); 121 121 } 122 122 123 // Helper Classes.124 if ( $accent && $accent !== $accent_default ) {125 twentytwenty_generate_css( '.color-accent, .color-accent-hover:hover, .has-accent-color', 'color', $accent );126 twentytwenty_generate_css( '.bg-accent, .bg-accent-hover:hover, .has-accent-background-color', 'background-color', $accent );127 twentytwenty_generate_css( '.border-color-accent, .border-color-accent-hover:hover', 'border-color', $accent );128 twentytwenty_generate_css( '.fill-children-accent, .fill-children-accent *', 'fill', $accent );129 }130 131 123 // Block Editor Styles. 132 124 } elseif ( 'block-editor' === $type ) { 133 125 -
src/wp-content/themes/twentytwenty/inc/starter-content.php
22 22 // Define and register starter content to showcase the theme on new sites. 23 23 $starter_content = array( 24 24 'widgets' => array( 25 // Place one core-defined widgets in the first tooter widget area.25 // Place one core-defined widgets in the first footer widget area. 26 26 'sidebar-1' => array( 27 27 'text_about', 28 28 ), 29 // Place one core-defined widgets in the second tooter widget area.29 // Place one core-defined widgets in the second footer widget area. 30 30 'sidebar-2' => array( 31 31 'text_business_info', 32 32 ), … … 34 34 35 35 // Specify the core-defined pages to create and add custom thumbnails to some of them. 36 36 'posts' => array( 37 'home', 37 'front' => array( 38 'post_type' => 'page', 39 'post_title' => __( 'The New UMoMA Opens its Doors', 'twentytwenty' ), 40 'post_content' => join( 41 '', 42 array( 43 '<!-- wp:group {"align":"wide"} -->', 44 '<div class="wp-block-group alignwide"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center"} -->', 45 '<h2 class="has-text-align-center">' . __( 'The premier destination for modern art in Northern Sweden. Open from 10 AM to 6 PM every day during the summer months.', 'twentytwenty' ) . '</h2>', 46 '<!-- /wp:heading --></div></div>', 47 '<!-- /wp:group -->', 48 '<!-- wp:columns {"align":"wide"} -->', 49 '<div class="wp-block-columns alignwide"><!-- wp:column -->', 50 '<div class="wp-block-column"><!-- wp:group -->', 51 '<div class="wp-block-group"><div class="wp-block-group__inner-container">', 52 '<!-- wp:heading {"level":3} -->', 53 '<h3>' . __( 'Works and Days', 'twentytwenty' ) . '</h3>', 54 '<!-- /wp:heading -->', 55 '<!-- wp:paragraph -->', 56 '<p>' . __( 'August 1 -- December 1', 'twentytwenty' ) . '</p>', 57 '<!-- /wp:paragraph -->', 58 '<!-- wp:button {"className":"is-style-outline"} -->', 59 '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>', 60 '<!-- /wp:button --></div></div>', 61 '<!-- /wp:group -->', 62 '<!-- wp:group -->', 63 '<div class="wp-block-group"><div class="wp-block-group__inner-container">', 64 '<!-- wp:heading {"level":3} -->', 65 '<h3>' . __( 'Theatre of Operations', 'twentytwenty' ) . '</h3>', 66 '<!-- /wp:heading -->', 67 '<!-- wp:paragraph -->', 68 '<p>' . __( 'October 1 -- December 1', 'twentytwenty' ) . '</p>', 69 '<!-- /wp:paragraph -->', 70 '<!-- wp:button {"className":"is-style-outline"} -->', 71 '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>', 72 '<!-- /wp:button --></div></div>', 73 '<!-- /wp:group --></div>', 74 '<!-- /wp:column -->', 75 '<!-- wp:column -->', 76 '<div class="wp-block-column"><!-- wp:group -->', 77 '<div class="wp-block-group"><div class="wp-block-group__inner-container">', 78 '<!-- wp:heading {"level":3} -->', 79 '<h3>' . __( 'The Life I Deserve', 'twentytwenty' ) . '</h3>', 80 '<!-- /wp:heading -->', 81 '<!-- wp:paragraph -->', 82 '<p>' . __( 'August 1 -- December 1', 'twentytwenty' ) . '</p>', 83 '<!-- /wp:paragraph -->', 84 '<!-- wp:button {"className":"is-style-outline"} -->', 85 '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>', 86 '<!-- /wp:button --></div></div>', 87 '<!-- /wp:group -->', 88 '<!-- wp:group -->', 89 '<div class="wp-block-group"><div class="wp-block-group__inner-container">', 90 '<!-- wp:heading {"level":3} -->', 91 '<h3>' . __( 'From Signac to Matisse', 'twentytwenty' ) . '</h3>', 92 '<!-- /wp:heading -->', 93 '<!-- wp:paragraph -->', 94 '<p>' . __( 'October 1 -- December 1', 'twentytwenty' ) . '</p>', 95 '<!-- /wp:paragraph -->', 96 '<!-- wp:button {"className":"is-style-outline"} -->', 97 '<div class="wp-block-button is-style-outline"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Read More', 'twentytwenty' ) . '</a></div>', 98 '<!-- /wp:button --></div></div>', 99 '<!-- /wp:group --></div>', 100 '<!-- /wp:column --></div>', 101 '<!-- /wp:columns -->', 102 '<!-- wp:group {"align":"wide"} -->', 103 '<div class="wp-block-group alignwide"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center","textColor":"accent"} -->', 104 '<h2 class="has-accent-color has-text-align-center">' . __( '”Cyborgs, as the philosopher Donna Haraway established, are not reverent. They do not remember the cosmos.”', 'twentytwenty' ) . '</h2>', 105 '<!-- /wp:heading --></div></div>', 106 '<!-- /wp:group -->', 107 '<!-- wp:paragraph {"dropCap":true} -->', 108 '<p class="has-drop-cap">' . __( 'With seven floors of striking architecture, UMoMA shows exhibitions of international contemporary art, sometimes along with art historical retrospectives. Existential, political and philosophical issues are intrinsic to our programme. As visitor you are invited to guided tours artist talks, lectures, film screenings and other events with free admission', 'twentytwenty' ) . '</p>', 109 '<!-- /wp:paragraph -->', 110 '<!-- wp:paragraph -->', 111 '<p>' . __( 'The exhibitions are produced by UMoMA in collaboration with artists and museums around the world and they often attract international attention. UMoMA has received a Special Commendation from the European Museum of the Year, and was among the top candidates for the Swedish Museum of the Year Award as well as for the Council of Europe Museum Prize.', 'twentytwenty' ) . '</p>', 112 '<!-- /wp:paragraph -->', 113 '<!-- wp:paragraph -->', 114 '<p></p>', 115 '<!-- /wp:paragraph -->', 116 '<!-- wp:group {"customBackgroundColor":"#ffffff","align":"wide"} -->', 117 '<div class="wp-block-group alignwide has-background" style="background-color:#ffffff"><div class="wp-block-group__inner-container"><!-- wp:group -->', 118 '<div class="wp-block-group"><div class="wp-block-group__inner-container"><!-- wp:heading {"align":"center"} -->', 119 '<h2 class="has-text-align-center">' . __( 'Become a Member and Get Exclusive Offers!', 'twentytwenty' ) . '</h2>', 120 '<!-- /wp:heading -->', 121 '<!-- wp:paragraph {"align":"center"} -->', 122 '<p class="has-text-align-center">' . __( 'Members get access to exclusive exhibits and sales. Our memberships cost $99.99 and are billed annually.', 'twentytwenty' ) . '</p>', 123 '<!-- /wp:paragraph -->', 124 '<!-- wp:button {"align":"center"} -->', 125 '<div class="wp-block-button aligncenter"><a class="wp-block-button__link" href="https://make.wordpress.org/core/2019/09/27/block-editor-theme-related-updates-in-wordpress-5-3/">' . __( 'Join the Club', 'twentytwenty' ) . '</a></div>', 126 '<!-- /wp:button --></div></div>', 127 '<!-- /wp:group --></div></div>', 128 '<!-- /wp:group -->', 129 ) 130 ), 131 ), 38 132 'about', 39 133 'contact', 40 134 'blog', … … 43 137 // Default to a static front page and assign the front and posts pages. 44 138 'options' => array( 45 139 'show_on_front' => 'page', 46 'page_on_front' => '{{ home}}',140 'page_on_front' => '{{front}}', 47 141 'page_for_posts' => '{{blog}}', 48 142 ), 49 143 -
src/wp-content/themes/twentytwenty/inc/svg-icons.php
13 13 * Output and get the SVG markup for an icon in the TwentyTwenty_SVG_Icons class. 14 14 * 15 15 * @param string $svg_name The name of the icon. 16 * @param string $group The group the icon belongs to. 16 17 * @param string $color Color code. 17 18 */ 18 function twentytwenty_the_theme_svg( $svg_name, $ color = '' ) {19 echo twentytwenty_get_theme_svg( $svg_name, $ color ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_theme_svg();.19 function twentytwenty_the_theme_svg( $svg_name, $group = 'ui', $color = '' ) { 20 echo twentytwenty_get_theme_svg( $svg_name, $group, $color ); //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped in twentytwenty_get_theme_svg();. 20 21 } 21 22 } 22 23 … … 26 27 * Get information about the SVG icon. 27 28 * 28 29 * @param string $svg_name The name of the icon. 30 * @param string $group The group the icon belongs to. 29 31 * @param string $color Color code. 30 32 */ 31 function twentytwenty_get_theme_svg( $svg_name, $ color = '' ) {33 function twentytwenty_get_theme_svg( $svg_name, $group = 'ui', $color = '' ) { 32 34 33 35 // Make sure that only our allowed tags and attributes are included. 34 36 $svg = wp_kses( 35 TwentyTwenty_SVG_Icons::get_svg( $svg_name, $ color ),37 TwentyTwenty_SVG_Icons::get_svg( $svg_name, $group, $color ), 36 38 array( 37 39 'svg' => array( 38 40 'class' => true, -
src/wp-content/themes/twentytwenty/inc/template-tags.php
9 9 10 10 /** 11 11 * Table of Contents: 12 * Logo & Description 12 13 * Comments 13 14 * Post Meta 14 15 * Menus 15 16 * Classes 17 * Archives 18 * Miscellaneous 16 19 */ 17 20 18 21 /** 22 * Logo & Description 23 */ 24 /** 19 25 * Displays the site logo, either text or image. 20 26 * 21 27 * @param array $args Arguments for displaying the site logo either as an image or text. 22 * @param boolean $echo Echo or return the html. 28 * @param boolean $echo Echo or return the HTML. 29 * 30 * @return string $html Compiled HTML based on our arguments. 23 31 */ 24 32 function twentytwenty_site_logo( $args = array(), $echo = true ) { 25 33 $logo = get_custom_logo(); … … 81 89 * Displays the site description. 82 90 * 83 91 * @param boolean $echo Echo or return the html. 92 * 93 * @return string $html The HTML to display. 84 94 */ 85 95 function twentytwenty_site_description( $echo = true ) { 86 96 $description = get_bloginfo( 'description' ); … … 118 128 * Check if the specified comment is written by the author of the post commented on. 119 129 * 120 130 * @param object $comment Comment data. 131 * 132 * @return bool 121 133 */ 122 134 function twentytwenty_is_comment_by_post_author( $comment = null ) { 123 135 … … 142 154 * makes it scroll to the wrong position on the page. 143 155 * 144 156 * @param string $link Link to the top of the page. 157 * 158 * @return string $link Link to the top of the page. 145 159 */ 146 160 function twentytwenty_filter_comment_reply_link( $link ) { 147 161 … … 169 183 } 170 184 171 185 /** 186 * Filters the edit post link to add an icon and use the post meta structure. 187 * 188 * @param string $link Anchor tag for the edit link. 189 * @param int $post_id Post ID. 190 * @param string $text Anchor text. 191 */ 192 function twentytwenty_edit_post_link( $link, $post_id, $text ) { 193 194 $edit_url = get_edit_post_link( $post_id ); 195 196 if ( ! $edit_url ) { 197 return; 198 } 199 200 $text = sprintf( 201 wp_kses( 202 /* translators: %s: Post title. Only visible to screen readers. */ 203 __( 'Edit <span class="screen-reader-text">%s</span>', 'twentytwenty' ), 204 array( 205 'span' => array( 206 'class' => array(), 207 ), 208 ) 209 ), 210 get_the_title( $post_id ) 211 ); 212 213 return '<div class="post-meta-wrapper post-meta-edit-link-wrapper"><ul class="post-meta"><li class="post-edit meta-wrapper"><span class="meta-icon">' . twentytwenty_get_theme_svg( 'edit' ) . '</span><span class="meta-text"><a href="' . esc_url( $edit_url ) . '">' . $text . '</a></span></li></ul><!-- .post-meta --></div><!-- .post-meta-wrapper -->'; 214 215 } 216 217 add_filter( 'edit_post_link', 'twentytwenty_edit_post_link', 10, 3 ); 218 219 /** 172 220 * Get the post meta. 173 221 * 174 222 * @param int $post_id The iD of the post. … … 206 254 /** 207 255 * Filters post meta info visibility 208 256 * 209 * Use this filter to hide post meta information like Author, Post date, Comments, Is sti ky status257 * Use this filter to hide post meta information like Author, Post date, Comments, Is sticky status 210 258 * 211 259 * @since 1.0.0 212 260 * … … 289 337 ?> 290 338 <li class="post-author meta-wrapper"> 291 339 <span class="meta-icon"> 292 <span class="screen-reader-text"><?php _e( 'Post author', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>340 <span class="screen-reader-text"><?php _e( 'Post author', 'twentytwenty' ); ?></span> 293 341 <?php twentytwenty_the_theme_svg( 'user' ); ?> 294 342 </span> 295 343 <span class="meta-text"> 296 344 <?php 297 345 printf( 298 / / Translators: %s = the author name.299 _ x( 'By %s', '%s = author name', 'twentytwenty' ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- core trusts translations346 /* translators: %s: Author name */ 347 __( 'By %s', 'twentytwenty' ), 300 348 '<a href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author_meta( 'display_name' ) ) . '</a>' 301 349 ); 302 350 ?> … … 314 362 <li class="post-date"> 315 363 <a class="meta-wrapper" href="<?php the_permalink(); ?>"> 316 364 <span class="meta-icon"> 317 <span class="screen-reader-text"><?php _e( 'Post date', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>365 <span class="screen-reader-text"><?php _e( 'Post date', 'twentytwenty' ); ?></span> 318 366 <?php twentytwenty_the_theme_svg( 'calendar' ); ?> 319 367 </span> 320 368 <span class="meta-text"> … … 333 381 ?> 334 382 <li class="post-categories meta-wrapper"> 335 383 <span class="meta-icon"> 336 <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>384 <span class="screen-reader-text"><?php _e( 'Categories', 'twentytwenty' ); ?></span> 337 385 <?php twentytwenty_the_theme_svg( 'folder' ); ?> 338 386 </span> 339 387 <span class="meta-text"> 340 <?php _e ( 'In', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?> <?php the_category( ', ' ); ?>388 <?php _ex( 'In', 'A string that is output before one or more categories', 'twentytwenty' ); ?> <?php the_category( ', ' ); ?> 341 389 </span> 342 390 </li> 343 391 <?php … … 351 399 ?> 352 400 <li class="post-tags meta-wrapper"> 353 401 <span class="meta-icon"> 354 <span class="screen-reader-text"><?php _e( 'Tags', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?></span>402 <span class="screen-reader-text"><?php _e( 'Tags', 'twentytwenty' ); ?></span> 355 403 <?php twentytwenty_the_theme_svg( 'tag' ); ?> 356 404 </span> 357 405 <span class="meta-text"> … … 389 437 <?php twentytwenty_the_theme_svg( 'bookmark' ); ?> 390 438 </span> 391 439 <span class="meta-text"> 392 <?php _e( 'Sticky post', 'twentytwenty' ); // phpcs:ignore WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations?>440 <?php _e( 'Sticky post', 'twentytwenty' ); ?> 393 441 </span> 394 442 </li> 395 443 <?php … … 437 485 * Filter the class applied to wp_list_pages() items with children to match the menu class, to simplify. 438 486 * styling of sub levels in the fallback. Only applied if the match_menu_classes argument is set. 439 487 * 440 * @param string$css_class CSS Class names.488 * @param array $css_class CSS Class names. 441 489 * @param string $item Comment. 442 490 * @param int $depth Depth of the current comment. 443 491 * @param array $args An array of arguments. 444 * @param string $current_page Wether or not the item is the current item. 492 * @param string $current_page Whether or not the item is the current item. 493 * 494 * @return array $css_class CSS Class names. 445 495 */ 446 496 function twentytwenty_filter_wp_list_pages_item_classes( $css_class, $item, $depth, $args, $current_page ) { 447 497 … … 471 521 /** 472 522 * Add a Sub Nav Toggle to the Expanded Menu and Mobile Menu. 473 523 * 474 * @param array $args An array of arguments. 475 * @param string $item Menu item. 476 * @param int $depth Depth of the current menu item. 524 * @param stdClass $args An array of arguments. 525 * @param string $item Menu item. 526 * @param int $depth Depth of the current menu item. 527 * 528 * @return stdClass $args An object of wp_nav_menu() arguments. 477 529 */ 478 530 function twentytwenty_add_sub_toggles_to_main_menu( $args, $item, $depth ) { 479 531 … … 514 566 add_filter( 'nav_menu_item_args', 'twentytwenty_add_sub_toggles_to_main_menu', 10, 3 ); 515 567 516 568 /** 569 * Display SVG icons in social links menu. 570 * 571 * @param string $item_output The menu item output. 572 * @param WP_Post $item Menu item object. 573 * @param int $depth Depth of the menu. 574 * @param array $args wp_nav_menu() arguments. 575 * @return string $item_output The menu item output with social icon. 576 */ 577 function twentytwenty_nav_menu_social_icons( $item_output, $item, $depth, $args ) { 578 // Change SVG icon inside social links menu if there is supported URL. 579 if ( 'social' === $args->theme_location ) { 580 $svg = TwentyTwenty_SVG_Icons::get_social_link_svg( $item->url ); 581 if ( empty( $svg ) ) { 582 $svg = twentytwenty_get_theme_svg( 'link' ); 583 } 584 $item_output = str_replace( $args->link_after, '</span>' . $svg, $item_output ); 585 } 586 587 return $item_output; 588 } 589 590 add_filter( 'walker_nav_menu_start_el', 'twentytwenty_nav_menu_social_icons', 10, 4 ); 591 592 /** 517 593 * Classes 518 594 */ 519 595 /** … … 531 607 add_action( 'wp_head', 'twentytwenty_no_js_class' ); 532 608 533 609 /** 534 * Filters the archive title and styles the word before the first colon.535 *536 * @param string $title Current archive title.537 */538 function twentytwenty_get_the_archive_title( $title ) {539 540 $regex = apply_filters(541 'twentytwenty_get_the_archive_title_regex',542 array(543 'pattern' => '/(\A[^\:]+\:)/',544 'replacement' => '<span class="color-accent">$1</span>',545 )546 );547 548 if ( empty( $regex ) ) {549 550 return $title;551 552 }553 554 return preg_replace( $regex['pattern'], $regex['replacement'], $title );555 556 }557 558 add_filter( 'get_the_archive_title', 'twentytwenty_get_the_archive_title' );559 560 /**561 * Filters the edit post link to add an icon and use the post meta structure.562 *563 * @param string $link Anchor tag for the edit link.564 * @param int $post_id Post ID.565 * @param string $text Anchor text.566 */567 function twentytwenty_edit_post_link( $link, $post_id, $text ) {568 569 $edit_url = get_edit_post_link( $post_id );570 571 if ( ! $edit_url ) {572 return;573 }574 575 return '<div class="post-meta-wrapper post-meta-edit-link-wrapper"><ul class="post-meta"><li class="post-edit meta-wrapper"><span class="meta-icon">' . twentytwenty_get_theme_svg( 'edit' ) . '</span><span class="meta-text"><a href="' . esc_url( $edit_url ) . '">' . $text . '</a></span></li></ul><!-- .post-meta --></div><!-- .post-meta-wrapper -->';576 577 }578 579 add_filter( 'edit_post_link', 'twentytwenty_edit_post_link', 10, 3 );580 581 /**582 610 * Add conditional body classes. 583 611 * 584 * @param string $classes Classes added to the body tag. 612 * @param array $classes Classes added to the body tag. 613 * 614 * @return array $classes Classes added to the body tag. 585 615 */ 586 616 function twentytwenty_body_classes( $classes ) { 587 617 … … 675 705 add_filter( 'body_class', 'twentytwenty_body_classes' ); 676 706 677 707 /** 708 * Archives 709 */ 710 /** 711 * Filters the archive title and styles the word before the first colon. 712 * 713 * @param string $title Current archive title. 714 * 715 * @return string $title Current archive title. 716 */ 717 function twentytwenty_get_the_archive_title( $title ) { 718 719 $regex = apply_filters( 720 'twentytwenty_get_the_archive_title_regex', 721 array( 722 'pattern' => '/(\A[^\:]+\:)/', 723 'replacement' => '<span class="color-accent">$1</span>', 724 ) 725 ); 726 727 if ( empty( $regex ) ) { 728 729 return $title; 730 731 } 732 733 return preg_replace( $regex['pattern'], $regex['replacement'], $title ); 734 735 } 736 737 add_filter( 'get_the_archive_title', 'twentytwenty_get_the_archive_title' ); 738 739 /** 740 * Miscellaneous 741 */ 742 /** 678 743 * Toggle animation duration in milliseconds. 679 744 * 680 745 * @return integer Duration in milliseconds … … 691 756 692 757 return $duration; 693 758 } 759 760 /** 761 * Get unique ID. 762 * 763 * This is a PHP implementation of Underscore's uniqueId method. A static variable 764 * contains an integer that is incremented with each call. This number is returned 765 * with the optional prefix. As such the returned value is not universally unique, 766 * but it is unique across the life of the PHP process. 767 * 768 * @see wp_unique_id() Themes requiring WordPress 5.0.3 and greater should use this instead. 769 * 770 * @staticvar int $id_counter 771 * 772 * @param string $prefix Prefix for the returned ID. 773 * @return string Unique ID. 774 */ 775 function twentytwenty_unique_id( $prefix = '' ) { 776 static $id_counter = 0; 777 if ( function_exists( 'wp_unique_id' ) ) { 778 return wp_unique_id( $prefix ); 779 } 780 return $prefix . (string) ++$id_counter; 781 } -
src/wp-content/themes/twentytwenty/index.php
34 34 ); 35 35 36 36 if ( $wp_query->found_posts ) { 37 /* Translators: %s = Number of results */ 38 $archive_subtitle = sprintf( _nx( 'We found %s result for your search.', 'We found %s results for your search.', $wp_query->found_posts, '%s = Number of results', 'twentytwenty' ), $wp_query->found_posts ); 37 $archive_subtitle = sprintf( 38 /* translators: %s: Number of search results */ 39 _n( 40 'We found %s result for your search.', 41 'We found %s results for your search.', 42 $wp_query->found_posts, 43 'twentytwenty' 44 ), 45 number_format_i18n( $wp_query->found_posts ) 46 ); 39 47 } else { 40 48 $archive_subtitle = __( 'We could not find any results for your search. You can give it another try through the search form below.', 'twentytwenty' ); 41 49 } … … 88 96 <?php 89 97 get_search_form( 90 98 array( 91 'label' => _ x( 'search again', 'Label', 'twentytwenty' ),99 'label' => __( 'search again', 'twentytwenty' ), 92 100 ) 93 101 ); 94 102 ?> … … 100 108 ?> 101 109 102 110 <?php get_template_part( 'template-parts/pagination' ); ?> 103 <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>104 111 105 112 </main><!-- #site-content --> 106 113 114 <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?> 115 107 116 <?php 108 117 get_footer(); -
src/wp-content/themes/twentytwenty/package-lock.json
3882 3882 "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 3883 3883 "dev": true 3884 3884 }, 3885 "dependency-graph": { 3886 "version": "0.8.0", 3887 "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.8.0.tgz", 3888 "integrity": "sha512-DCvzSq2UiMsuLnj/9AL484ummEgLtZIcRS7YvtO38QnpX3vqh9nJ8P+zhu8Ja+SmLrBHO2iDbva20jq38qvBkQ==", 3889 "dev": true 3890 }, 3885 3891 "des.js": { 3886 3892 "version": "1.0.0", 3887 3893 "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", … … 5280 5286 "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", 5281 5287 "dev": true 5282 5288 }, 5289 "fs-extra": { 5290 "version": "7.0.1", 5291 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 5292 "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 5293 "dev": true, 5294 "requires": { 5295 "graceful-fs": "^4.1.2", 5296 "jsonfile": "^4.0.0", 5297 "universalify": "^0.1.0" 5298 } 5299 }, 5283 5300 "fs-write-stream-atomic": { 5284 5301 "version": "1.0.10", 5285 5302 "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", … … 5311 5328 "dependencies": { 5312 5329 "abbrev": { 5313 5330 "version": "1.1.1", 5314 "bundled": true, 5331 "resolved": false, 5332 "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 5315 5333 "dev": true, 5316 5334 "optional": true 5317 5335 }, 5318 5336 "ansi-regex": { 5319 5337 "version": "2.1.1", 5320 "bundled": true, 5338 "resolved": false, 5339 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 5321 5340 "dev": true, 5322 5341 "optional": true 5323 5342 }, 5324 5343 "aproba": { 5325 5344 "version": "1.2.0", 5326 "bundled": true, 5345 "resolved": false, 5346 "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", 5327 5347 "dev": true, 5328 5348 "optional": true 5329 5349 }, 5330 5350 "are-we-there-yet": { 5331 5351 "version": "1.1.5", 5332 "bundled": true, 5352 "resolved": false, 5353 "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 5333 5354 "dev": true, 5334 5355 "optional": true, 5335 5356 "requires": { … … 5339 5360 }, 5340 5361 "balanced-match": { 5341 5362 "version": "1.0.0", 5342 "bundled": true, 5363 "resolved": false, 5364 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 5343 5365 "dev": true, 5344 5366 "optional": true 5345 5367 }, 5346 5368 "brace-expansion": { 5347 5369 "version": "1.1.11", 5348 "bundled": true, 5370 "resolved": false, 5371 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 5349 5372 "dev": true, 5350 5373 "optional": true, 5351 5374 "requires": { … … 5355 5378 }, 5356 5379 "chownr": { 5357 5380 "version": "1.1.1", 5358 "bundled": true, 5381 "resolved": false, 5382 "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", 5359 5383 "dev": true, 5360 5384 "optional": true 5361 5385 }, 5362 5386 "code-point-at": { 5363 5387 "version": "1.1.0", 5364 "bundled": true, 5388 "resolved": false, 5389 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 5365 5390 "dev": true, 5366 5391 "optional": true 5367 5392 }, 5368 5393 "concat-map": { 5369 5394 "version": "0.0.1", 5370 "bundled": true, 5395 "resolved": false, 5396 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 5371 5397 "dev": true, 5372 5398 "optional": true 5373 5399 }, 5374 5400 "console-control-strings": { 5375 5401 "version": "1.1.0", 5376 "bundled": true, 5402 "resolved": false, 5403 "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", 5377 5404 "dev": true, 5378 5405 "optional": true 5379 5406 }, 5380 5407 "core-util-is": { 5381 5408 "version": "1.0.2", 5382 "bundled": true, 5409 "resolved": false, 5410 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 5383 5411 "dev": true, 5384 5412 "optional": true 5385 5413 }, 5386 5414 "debug": { 5387 5415 "version": "4.1.1", 5388 "bundled": true, 5416 "resolved": false, 5417 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 5389 5418 "dev": true, 5390 5419 "optional": true, 5391 5420 "requires": { … … 5394 5423 }, 5395 5424 "deep-extend": { 5396 5425 "version": "0.6.0", 5397 "bundled": true, 5426 "resolved": false, 5427 "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 5398 5428 "dev": true, 5399 5429 "optional": true 5400 5430 }, 5401 5431 "delegates": { 5402 5432 "version": "1.0.0", 5403 "bundled": true, 5433 "resolved": false, 5434 "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", 5404 5435 "dev": true, 5405 5436 "optional": true 5406 5437 }, 5407 5438 "detect-libc": { 5408 5439 "version": "1.0.3", 5409 "bundled": true, 5440 "resolved": false, 5441 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", 5410 5442 "dev": true, 5411 5443 "optional": true 5412 5444 }, 5413 5445 "fs-minipass": { 5414 5446 "version": "1.2.5", 5415 "bundled": true, 5447 "resolved": false, 5448 "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", 5416 5449 "dev": true, 5417 5450 "optional": true, 5418 5451 "requires": { … … 5421 5454 }, 5422 5455 "fs.realpath": { 5423 5456 "version": "1.0.0", 5424 "bundled": true, 5457 "resolved": false, 5458 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 5425 5459 "dev": true, 5426 5460 "optional": true 5427 5461 }, 5428 5462 "gauge": { 5429 5463 "version": "2.7.4", 5430 "bundled": true, 5464 "resolved": false, 5465 "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 5431 5466 "dev": true, 5432 5467 "optional": true, 5433 5468 "requires": { … … 5443 5478 }, 5444 5479 "glob": { 5445 5480 "version": "7.1.3", 5446 "bundled": true, 5481 "resolved": false, 5482 "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 5447 5483 "dev": true, 5448 5484 "optional": true, 5449 5485 "requires": { … … 5457 5493 }, 5458 5494 "has-unicode": { 5459 5495 "version": "2.0.1", 5460 "bundled": true, 5496 "resolved": false, 5497 "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", 5461 5498 "dev": true, 5462 5499 "optional": true 5463 5500 }, 5464 5501 "iconv-lite": { 5465 5502 "version": "0.4.24", 5466 "bundled": true, 5503 "resolved": false, 5504 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 5467 5505 "dev": true, 5468 5506 "optional": true, 5469 5507 "requires": { … … 5472 5510 }, 5473 5511 "ignore-walk": { 5474 5512 "version": "3.0.1", 5475 "bundled": true, 5513 "resolved": false, 5514 "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", 5476 5515 "dev": true, 5477 5516 "optional": true, 5478 5517 "requires": { … … 5481 5520 }, 5482 5521 "inflight": { 5483 5522 "version": "1.0.6", 5484 "bundled": true, 5523 "resolved": false, 5524 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 5485 5525 "dev": true, 5486 5526 "optional": true, 5487 5527 "requires": { … … 5491 5531 }, 5492 5532 "inherits": { 5493 5533 "version": "2.0.3", 5494 "bundled": true, 5534 "resolved": false, 5535 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 5495 5536 "dev": true, 5496 5537 "optional": true 5497 5538 }, 5498 5539 "ini": { 5499 5540 "version": "1.3.5", 5500 "bundled": true, 5541 "resolved": false, 5542 "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 5501 5543 "dev": true, 5502 5544 "optional": true 5503 5545 }, 5504 5546 "is-fullwidth-code-point": { 5505 5547 "version": "1.0.0", 5506 "bundled": true, 5548 "resolved": false, 5549 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 5507 5550 "dev": true, 5508 5551 "optional": true, 5509 5552 "requires": { … … 5512 5555 }, 5513 5556 "isarray": { 5514 5557 "version": "1.0.0", 5515 "bundled": true, 5558 "resolved": false, 5559 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 5516 5560 "dev": true, 5517 5561 "optional": true 5518 5562 }, 5519 5563 "minimatch": { 5520 5564 "version": "3.0.4", 5521 "bundled": true, 5565 "resolved": false, 5566 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 5522 5567 "dev": true, 5523 5568 "optional": true, 5524 5569 "requires": { … … 5527 5572 }, 5528 5573 "minimist": { 5529 5574 "version": "0.0.8", 5530 "bundled": true, 5575 "resolved": false, 5576 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 5531 5577 "dev": true, 5532 5578 "optional": true 5533 5579 }, 5534 5580 "minipass": { 5535 5581 "version": "2.3.5", 5536 "bundled": true, 5582 "resolved": false, 5583 "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", 5537 5584 "dev": true, 5538 5585 "optional": true, 5539 5586 "requires": { … … 5543 5590 }, 5544 5591 "minizlib": { 5545 5592 "version": "1.2.1", 5546 "bundled": true, 5593 "resolved": false, 5594 "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", 5547 5595 "dev": true, 5548 5596 "optional": true, 5549 5597 "requires": { … … 5552 5600 }, 5553 5601 "mkdirp": { 5554 5602 "version": "0.5.1", 5555 "bundled": true, 5603 "resolved": false, 5604 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 5556 5605 "dev": true, 5557 5606 "optional": true, 5558 5607 "requires": { … … 5561 5610 }, 5562 5611 "ms": { 5563 5612 "version": "2.1.1", 5564 "bundled": true, 5613 "resolved": false, 5614 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 5565 5615 "dev": true, 5566 5616 "optional": true 5567 5617 }, 5568 5618 "needle": { 5569 5619 "version": "2.3.0", 5570 "bundled": true, 5620 "resolved": false, 5621 "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", 5571 5622 "dev": true, 5572 5623 "optional": true, 5573 5624 "requires": { … … 5578 5629 }, 5579 5630 "node-pre-gyp": { 5580 5631 "version": "0.12.0", 5581 "bundled": true, 5632 "resolved": false, 5633 "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", 5582 5634 "dev": true, 5583 5635 "optional": true, 5584 5636 "requires": { … … 5596 5648 }, 5597 5649 "nopt": { 5598 5650 "version": "4.0.1", 5599 "bundled": true, 5651 "resolved": false, 5652 "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", 5600 5653 "dev": true, 5601 5654 "optional": true, 5602 5655 "requires": { … … 5606 5659 }, 5607 5660 "npm-bundled": { 5608 5661 "version": "1.0.6", 5609 "bundled": true, 5662 "resolved": false, 5663 "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", 5610 5664 "dev": true, 5611 5665 "optional": true 5612 5666 }, 5613 5667 "npm-packlist": { 5614 5668 "version": "1.4.1", 5615 "bundled": true, 5669 "resolved": false, 5670 "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", 5616 5671 "dev": true, 5617 5672 "optional": true, 5618 5673 "requires": { … … 5622 5677 }, 5623 5678 "npmlog": { 5624 5679 "version": "4.1.2", 5625 "bundled": true, 5680 "resolved": false, 5681 "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 5626 5682 "dev": true, 5627 5683 "optional": true, 5628 5684 "requires": { … … 5634 5690 }, 5635 5691 "number-is-nan": { 5636 5692 "version": "1.0.1", 5637 "bundled": true, 5693 "resolved": false, 5694 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 5638 5695 "dev": true, 5639 5696 "optional": true 5640 5697 }, 5641 5698 "object-assign": { 5642 5699 "version": "4.1.1", 5643 "bundled": true, 5700 "resolved": false, 5701 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 5644 5702 "dev": true, 5645 5703 "optional": true 5646 5704 }, 5647 5705 "once": { 5648 5706 "version": "1.4.0", 5649 "bundled": true, 5707 "resolved": false, 5708 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 5650 5709 "dev": true, 5651 5710 "optional": true, 5652 5711 "requires": { … … 5655 5714 }, 5656 5715 "os-homedir": { 5657 5716 "version": "1.0.2", 5658 "bundled": true, 5717 "resolved": false, 5718 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 5659 5719 "dev": true, 5660 5720 "optional": true 5661 5721 }, 5662 5722 "os-tmpdir": { 5663 5723 "version": "1.0.2", 5664 "bundled": true, 5724 "resolved": false, 5725 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 5665 5726 "dev": true, 5666 5727 "optional": true 5667 5728 }, 5668 5729 "osenv": { 5669 5730 "version": "0.1.5", 5670 "bundled": true, 5731 "resolved": false, 5732 "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", 5671 5733 "dev": true, 5672 5734 "optional": true, 5673 5735 "requires": { … … 5677 5739 }, 5678 5740 "path-is-absolute": { 5679 5741 "version": "1.0.1", 5680 "bundled": true, 5742 "resolved": false, 5743 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 5681 5744 "dev": true, 5682 5745 "optional": true 5683 5746 }, 5684 5747 "process-nextick-args": { 5685 5748 "version": "2.0.0", 5686 "bundled": true, 5749 "resolved": false, 5750 "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 5687 5751 "dev": true, 5688 5752 "optional": true 5689 5753 }, 5690 5754 "rc": { 5691 5755 "version": "1.2.8", 5692 "bundled": true, 5756 "resolved": false, 5757 "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 5693 5758 "dev": true, 5694 5759 "optional": true, 5695 5760 "requires": { … … 5701 5766 "dependencies": { 5702 5767 "minimist": { 5703 5768 "version": "1.2.0", 5704 "bundled": true, 5769 "resolved": false, 5770 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 5705 5771 "dev": true, 5706 5772 "optional": true 5707 5773 } … … 5709 5775 }, 5710 5776 "readable-stream": { 5711 5777 "version": "2.3.6", 5712 "bundled": true, 5778 "resolved": false, 5779 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 5713 5780 "dev": true, 5714 5781 "optional": true, 5715 5782 "requires": { … … 5724 5791 }, 5725 5792 "rimraf": { 5726 5793 "version": "2.6.3", 5727 "bundled": true, 5794 "resolved": false, 5795 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 5728 5796 "dev": true, 5729 5797 "optional": true, 5730 5798 "requires": { … … 5733 5801 }, 5734 5802 "safe-buffer": { 5735 5803 "version": "5.1.2", 5736 "bundled": true, 5804 "resolved": false, 5805 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 5737 5806 "dev": true, 5738 5807 "optional": true 5739 5808 }, 5740 5809 "safer-buffer": { 5741 5810 "version": "2.1.2", 5742 "bundled": true, 5811 "resolved": false, 5812 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 5743 5813 "dev": true, 5744 5814 "optional": true 5745 5815 }, 5746 5816 "sax": { 5747 5817 "version": "1.2.4", 5748 "bundled": true, 5818 "resolved": false, 5819 "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 5749 5820 "dev": true, 5750 5821 "optional": true 5751 5822 }, 5752 5823 "semver": { 5753 5824 "version": "5.7.0", 5754 "bundled": true, 5825 "resolved": false, 5826 "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", 5755 5827 "dev": true, 5756 5828 "optional": true 5757 5829 }, 5758 5830 "set-blocking": { 5759 5831 "version": "2.0.0", 5760 "bundled": true, 5832 "resolved": false, 5833 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 5761 5834 "dev": true, 5762 5835 "optional": true 5763 5836 }, 5764 5837 "signal-exit": { 5765 5838 "version": "3.0.2", 5766 "bundled": true, 5839 "resolved": false, 5840 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 5767 5841 "dev": true, 5768 5842 "optional": true 5769 5843 }, 5770 5844 "string-width": { 5771 5845 "version": "1.0.2", 5772 "bundled": true, 5846 "resolved": false, 5847 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 5773 5848 "dev": true, 5774 5849 "optional": true, 5775 5850 "requires": { … … 5780 5855 }, 5781 5856 "string_decoder": { 5782 5857 "version": "1.1.1", 5783 "bundled": true, 5858 "resolved": false, 5859 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 5784 5860 "dev": true, 5785 5861 "optional": true, 5786 5862 "requires": { … … 5789 5865 }, 5790 5866 "strip-ansi": { 5791 5867 "version": "3.0.1", 5792 "bundled": true, 5868 "resolved": false, 5869 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 5793 5870 "dev": true, 5794 5871 "optional": true, 5795 5872 "requires": { … … 5798 5875 }, 5799 5876 "strip-json-comments": { 5800 5877 "version": "2.0.1", 5801 "bundled": true, 5878 "resolved": false, 5879 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 5802 5880 "dev": true, 5803 5881 "optional": true 5804 5882 }, 5805 5883 "tar": { 5806 5884 "version": "4.4.8", 5807 "bundled": true, 5885 "resolved": false, 5886 "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", 5808 5887 "dev": true, 5809 5888 "optional": true, 5810 5889 "requires": { … … 5819 5898 }, 5820 5899 "util-deprecate": { 5821 5900 "version": "1.0.2", 5822 "bundled": true, 5901 "resolved": false, 5902 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 5823 5903 "dev": true, 5824 5904 "optional": true 5825 5905 }, 5826 5906 "wide-align": { 5827 5907 "version": "1.1.3", 5828 "bundled": true, 5908 "resolved": false, 5909 "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 5829 5910 "dev": true, 5830 5911 "optional": true, 5831 5912 "requires": { … … 5834 5915 }, 5835 5916 "wrappy": { 5836 5917 "version": "1.0.2", 5837 "bundled": true, 5918 "resolved": false, 5919 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 5838 5920 "dev": true, 5839 5921 "optional": true 5840 5922 }, 5841 5923 "yallist": { 5842 5924 "version": "3.0.3", 5843 "bundled": true, 5925 "resolved": false, 5926 "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", 5844 5927 "dev": true, 5845 5928 "optional": true 5846 5929 } … … 6087 6170 } 6088 6171 }, 6089 6172 "handlebars": { 6090 "version": "4. 2.0",6091 "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4. 2.0.tgz",6092 "integrity": "sha512- Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==",6173 "version": "4.4.2", 6174 "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz", 6175 "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==", 6093 6176 "dev": true, 6094 6177 "requires": { 6095 6178 "neo-async": "^2.6.0", … … 6099 6182 }, 6100 6183 "dependencies": { 6101 6184 "commander": { 6102 "version": "2.20. 0",6103 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20. 0.tgz",6104 "integrity": "sha512- 7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",6185 "version": "2.20.1", 6186 "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", 6187 "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==", 6105 6188 "dev": true, 6106 6189 "optional": true 6107 6190 }, … … 6399 6482 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 6400 6483 "dev": true 6401 6484 }, 6485 "import-cwd": { 6486 "version": "2.1.0", 6487 "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", 6488 "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", 6489 "dev": true, 6490 "requires": { 6491 "import-from": "^2.1.0" 6492 } 6493 }, 6402 6494 "import-fresh": { 6403 6495 "version": "3.1.0", 6404 6496 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", … … 6409 6501 "resolve-from": "^4.0.0" 6410 6502 } 6411 6503 }, 6504 "import-from": { 6505 "version": "2.1.0", 6506 "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", 6507 "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", 6508 "dev": true, 6509 "requires": { 6510 "resolve-from": "^3.0.0" 6511 }, 6512 "dependencies": { 6513 "resolve-from": { 6514 "version": "3.0.0", 6515 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", 6516 "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", 6517 "dev": true 6518 } 6519 } 6520 }, 6412 6521 "import-lazy": { 6413 6522 "version": "3.1.0", 6414 6523 "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", … … 7634 7743 } 7635 7744 } 7636 7745 }, 7746 "jsonfile": { 7747 "version": "4.0.0", 7748 "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 7749 "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 7750 "dev": true, 7751 "requires": { 7752 "graceful-fs": "^4.1.6" 7753 } 7754 }, 7637 7755 "jsprim": { 7638 7756 "version": "1.4.1", 7639 7757 "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", … … 9107 9225 "supports-color": "^5.4.0" 9108 9226 } 9109 9227 }, 9228 "postcss-cli": { 9229 "version": "6.1.3", 9230 "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-6.1.3.tgz", 9231 "integrity": "sha512-eieqJU+OR1OFc/lQqMsDmROTJpoMZFvoAQ+82utBQ8/8qGMTfH9bBSPsTdsagYA8uvNzxHw2I2cNSSJkLAGhvw==", 9232 "dev": true, 9233 "requires": { 9234 "chalk": "^2.1.0", 9235 "chokidar": "^2.0.0", 9236 "dependency-graph": "^0.8.0", 9237 "fs-extra": "^7.0.0", 9238 "get-stdin": "^6.0.0", 9239 "globby": "^9.0.0", 9240 "postcss": "^7.0.0", 9241 "postcss-load-config": "^2.0.0", 9242 "postcss-reporter": "^6.0.0", 9243 "pretty-hrtime": "^1.0.3", 9244 "read-cache": "^1.0.0", 9245 "yargs": "^12.0.1" 9246 }, 9247 "dependencies": { 9248 "ansi-regex": { 9249 "version": "3.0.0", 9250 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 9251 "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 9252 "dev": true 9253 }, 9254 "cliui": { 9255 "version": "4.1.0", 9256 "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", 9257 "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", 9258 "dev": true, 9259 "requires": { 9260 "string-width": "^2.1.1", 9261 "strip-ansi": "^4.0.0", 9262 "wrap-ansi": "^2.0.0" 9263 } 9264 }, 9265 "find-up": { 9266 "version": "3.0.0", 9267 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 9268 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 9269 "dev": true, 9270 "requires": { 9271 "locate-path": "^3.0.0" 9272 } 9273 }, 9274 "get-caller-file": { 9275 "version": "1.0.3", 9276 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", 9277 "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", 9278 "dev": true 9279 }, 9280 "is-fullwidth-code-point": { 9281 "version": "1.0.0", 9282 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 9283 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 9284 "dev": true, 9285 "requires": { 9286 "number-is-nan": "^1.0.0" 9287 } 9288 }, 9289 "locate-path": { 9290 "version": "3.0.0", 9291 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 9292 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 9293 "dev": true, 9294 "requires": { 9295 "p-locate": "^3.0.0", 9296 "path-exists": "^3.0.0" 9297 } 9298 }, 9299 "p-limit": { 9300 "version": "2.2.1", 9301 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", 9302 "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", 9303 "dev": true, 9304 "requires": { 9305 "p-try": "^2.0.0" 9306 } 9307 }, 9308 "p-locate": { 9309 "version": "3.0.0", 9310 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 9311 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 9312 "dev": true, 9313 "requires": { 9314 "p-limit": "^2.0.0" 9315 } 9316 }, 9317 "p-try": { 9318 "version": "2.2.0", 9319 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 9320 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 9321 "dev": true 9322 }, 9323 "postcss": { 9324 "version": "7.0.18", 9325 "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", 9326 "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", 9327 "dev": true, 9328 "requires": { 9329 "chalk": "^2.4.2", 9330 "source-map": "^0.6.1", 9331 "supports-color": "^6.1.0" 9332 } 9333 }, 9334 "require-main-filename": { 9335 "version": "1.0.1", 9336 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 9337 "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 9338 "dev": true 9339 }, 9340 "strip-ansi": { 9341 "version": "4.0.0", 9342 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 9343 "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 9344 "dev": true, 9345 "requires": { 9346 "ansi-regex": "^3.0.0" 9347 } 9348 }, 9349 "supports-color": { 9350 "version": "6.1.0", 9351 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 9352 "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 9353 "dev": true, 9354 "requires": { 9355 "has-flag": "^3.0.0" 9356 } 9357 }, 9358 "wrap-ansi": { 9359 "version": "2.1.0", 9360 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 9361 "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 9362 "dev": true, 9363 "requires": { 9364 "string-width": "^1.0.1", 9365 "strip-ansi": "^3.0.1" 9366 }, 9367 "dependencies": { 9368 "ansi-regex": { 9369 "version": "2.1.1", 9370 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 9371 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 9372 "dev": true 9373 }, 9374 "string-width": { 9375 "version": "1.0.2", 9376 "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 9377 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 9378 "dev": true, 9379 "requires": { 9380 "code-point-at": "^1.0.0", 9381 "is-fullwidth-code-point": "^1.0.0", 9382 "strip-ansi": "^3.0.0" 9383 } 9384 }, 9385 "strip-ansi": { 9386 "version": "3.0.1", 9387 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 9388 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 9389 "dev": true, 9390 "requires": { 9391 "ansi-regex": "^2.0.0" 9392 } 9393 } 9394 } 9395 }, 9396 "yargs": { 9397 "version": "12.0.5", 9398 "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", 9399 "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", 9400 "dev": true, 9401 "requires": { 9402 "cliui": "^4.0.0", 9403 "decamelize": "^1.2.0", 9404 "find-up": "^3.0.0", 9405 "get-caller-file": "^1.0.1", 9406 "os-locale": "^3.0.0", 9407 "require-directory": "^2.1.1", 9408 "require-main-filename": "^1.0.1", 9409 "set-blocking": "^2.0.0", 9410 "string-width": "^2.0.0", 9411 "which-module": "^2.0.0", 9412 "y18n": "^3.2.1 || ^4.0.0", 9413 "yargs-parser": "^11.1.1" 9414 } 9415 }, 9416 "yargs-parser": { 9417 "version": "11.1.1", 9418 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", 9419 "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", 9420 "dev": true, 9421 "requires": { 9422 "camelcase": "^5.0.0", 9423 "decamelize": "^1.2.0" 9424 } 9425 } 9426 } 9427 }, 9110 9428 "postcss-html": { 9111 9429 "version": "0.36.0", 9112 9430 "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", … … 9156 9474 } 9157 9475 } 9158 9476 }, 9477 "postcss-load-config": { 9478 "version": "2.1.0", 9479 "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", 9480 "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", 9481 "dev": true, 9482 "requires": { 9483 "cosmiconfig": "^5.0.0", 9484 "import-cwd": "^2.0.0" 9485 } 9486 }, 9159 9487 "postcss-markdown": { 9160 9488 "version": "0.36.0", 9161 9489 "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", … … 9347 9675 "react-is": "^16.8.4" 9348 9676 } 9349 9677 }, 9678 "pretty-hrtime": { 9679 "version": "1.0.3", 9680 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 9681 "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", 9682 "dev": true 9683 }, 9350 9684 "private": { 9351 9685 "version": "0.1.8", 9352 9686 "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", … … 9644 9978 "scheduler": "^0.15.0" 9645 9979 } 9646 9980 }, 9981 "read-cache": { 9982 "version": "1.0.0", 9983 "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 9984 "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", 9985 "dev": true, 9986 "requires": { 9987 "pify": "^2.3.0" 9988 }, 9989 "dependencies": { 9990 "pify": { 9991 "version": "2.3.0", 9992 "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 9993 "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 9994 "dev": true 9995 } 9996 } 9997 }, 9647 9998 "read-pkg": { 9648 9999 "version": "3.0.0", 9649 10000 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", … … 11145 11496 } 11146 11497 } 11147 11498 }, 11499 "stylelint-a11y": { 11500 "version": "1.2.1", 11501 "resolved": "https://registry.npmjs.org/stylelint-a11y/-/stylelint-a11y-1.2.1.tgz", 11502 "integrity": "sha512-yfH6ibVkfAlAt7J5ExrzpBPFCSWDTxBL9svdFZ6BfGF5hRmFgTS03x4r/rBAAaNDpgKE32CQz5qcLbgOLzuxfA==", 11503 "dev": true 11504 }, 11148 11505 "stylelint-config-recommended": { 11149 11506 "version": "2.2.0", 11150 11507 "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz", … … 11818 12175 "unist-util-is": "^3.0.0" 11819 12176 } 11820 12177 }, 12178 "universalify": { 12179 "version": "0.1.2", 12180 "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 12181 "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 12182 "dev": true 12183 }, 11821 12184 "unpipe": { 11822 12185 "version": "1.0.0", 11823 12186 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", -
src/wp-content/themes/twentytwenty/package.json
18 18 "url": "https://github.com/wordpress/twentytwenty/issues" 19 19 }, 20 20 "devDependencies": { 21 "@wordpress/browserslist-config": "^2.6.0", 21 22 "@wordpress/scripts": "^5.0.0", 23 "autoprefixer": "^9.6.1", 22 24 "concurrently": "^4.1.2", 23 "rtlcss": "^2.4.0" 25 "postcss-cli": "^6.1.3", 26 "rtlcss": "^2.4.0", 27 "stylelint-a11y": "^1.2.1" 24 28 }, 29 "browserslist": [ 30 "extends @wordpress/browserslist-config" 31 ], 25 32 "rtlcssConfig": { 26 33 "options": { 27 34 "autoRename": false, … … 36 43 "map": false 37 44 }, 38 45 "scripts": { 46 "build": "npm run build:vendor-prefixes && npm run build:rtl", 39 47 "build:rtl": "concurrently \"npm run build:rtl-style\" \"npm run build:rtl-esb\" \"npm run build:rtl-esc\"", 40 48 "build:rtl-style": "rtlcss style.css style-rtl.css", 41 49 "build:rtl-esb": "rtlcss assets/css/editor-style-block.css assets/css/editor-style-block-rtl.css", 42 50 "build:rtl-esc": "rtlcss assets/css/editor-style-classic.css assets/css/editor-style-classic-rtl.css", 51 "build:vendor-prefixes": "concurrently \"npm run build:vendor-prefixes-style\" \"npm run build:vendor-prefixes-esb\" \"npm run build:vendor-prefixes-esc\"", 52 "build:vendor-prefixes-style": "postcss -r --no-map style.css assets/css/editor-style-block.css assets/css/editor-style-classic.css", 53 "build:vendor-prefixes-esb": "postcss -r --no-map assets/css/editor-style-block.css ", 54 "build:vendor-prefixes-esc": "postcss -r --no-map assets/css/editor-style-classic.css", 43 55 "lint:css": "wp-scripts lint-style 'style.css' 'assets/**/*.css'", 44 56 "lint:js": "wp-scripts lint-js 'assets/**/*.js'", 45 57 "lint:pkg-json": "wp-scripts lint-pkg-json" -
src/wp-content/themes/twentytwenty/readme.txt
52 52 Copyright (c) 2013-2017 Cole Bemis 53 53 License: MIT License, https://opensource.org/licenses/MIT 54 54 Source: https://feathericons.com 55 Used for post meta icons, and the link icon in the social menu. 55 56 56 Font Awesome Icons 57 Copyright (c) 2012-2019 Fonticons, Inc. 57 Socicon Icons 58 58 License: SIL Open Font License, 1.1, https://opensource.org/licenses/OFL-1.1 59 Source: https://www.fontawesome.io 59 Source: https://www.socicon.com 60 Used for all social menu icons except the link icon. 60 61 61 Font Awesome Code 62 Copyright (c) 2012-2019 Fonticons, Inc. 63 License: MIT License, https://opensource.org/licenses/MIT 64 Source: https://www.fontawesome.io 62 Code from Twenty Nineteen 63 Copyright (c) 2018 WordPress.org 64 License: GPLv2 65 Source: https://wordpress.org/themes/twentynineteen/ 66 Included as part of the following classes and functions: 67 - TwentyTwenty_SVG_Icons 68 - twentytwenty_the_theme_svg() 69 - twentytwenty_get_theme_svg() 70 - twentytwenty_nav_menu_social_icons() 71 72 Code from Twenty Seventeen 73 Copyright (c) 2016 WordPress.org 74 License: GPLv2 75 Source: https://wordpress.org/themes/twentyseventeen/ 76 Included as part of the following classes and functions: 77 - twentytwenty_unique_id() 78 No newline at end of file -
src/wp-content/themes/twentytwenty/searchform.php
15 15 * Generate a unique ID for each form and a string containing an aria-label if 16 16 * one was passed to get_search_form() in the args array. 17 17 */ 18 $unique_id = uniqid( 'search-form-' ); 19 $aria_label = ( isset( $args['label'] ) && ! empty( $args['label'] ) ) ? 'aria-label="' . esc_attr( $args['label'] ) . '"' : ''; 18 $unique_id = twentytwenty_unique_id( 'search-form-' ); 19 20 $aria_label = ! empty( $args['label'] ) ? 'aria-label="' . esc_attr( $args['label'] ) . '"' : ''; 20 21 ?> 21 22 <form role="search" <?php echo $aria_label; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. ?> method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> 22 23 <label for="<?php echo esc_attr( $unique_id ); ?>"> 23 <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label', 'twentytwenty' ); // phpcs:ignore: WordPress.Security.EscapeOutput.OutputNotEscaped-- core trusts translations ?></span>24 <input type="search" id="<?php echo esc_attr( $unique_id ); ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'twentytwenty' ); ?>" value="<?php get_search_query(); ?>" name="s" />24 <span class="screen-reader-text"><?php _e( 'Search for:', 'twentytwenty' ); // phpcs:ignore: WordPress.Security.EscapeOutput.UnsafePrintingFunction -- core trusts translations ?></span> 25 <input type="search" id="<?php echo esc_attr( $unique_id ); ?>" class="search-field" placeholder="<?php echo esc_attr_x( 'Search …', 'placeholder', 'twentytwenty' ); ?>" value="<?php echo get_search_query(); ?>" name="s" /> 25 26 </label> 26 27 <input type="submit" class="search-submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'twentytwenty' ); ?>" /> 27 28 </form> -
src/wp-content/themes/twentytwenty/singular.php
25 25 } 26 26 } 27 27 28 get_template_part( 'template-parts/footer-menus-widgets' );29 30 28 ?> 31 29 32 30 </main><!-- #site-content --> 33 31 32 <?php get_template_part( 'template-parts/footer-menus-widgets' ); ?> 33 34 34 <?php get_footer(); ?> -
src/wp-content/themes/twentytwenty/style-rtl.css
117 117 118 118 body { 119 119 background: #f5efe0; 120 -webkit-box-sizing: border-box;121 -moz-box-sizing: border-box;122 120 box-sizing: border-box; 123 121 color: #000; 124 122 font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif; … … 137 135 *, 138 136 *::before, 139 137 *::after { 140 -webkit-box-sizing: inherit;141 -moz-box-sizing: inherit;142 138 box-sizing: inherit; 143 139 -webkit-font-smoothing: antialiased; 144 140 word-break: break-word; … … 178 174 .screen-reader-text { 179 175 border: 0; 180 176 clip: rect(1px, 1px, 1px, 1px); 177 -webkit-clip-path: inset(50%); 181 178 clip-path: inset(50%); 182 179 height: 1px; 183 180 margin: -1px; … … 193 190 border-radius: 3px; 194 191 box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); 195 192 clip: auto !important; 193 -webkit-clip-path: none; 196 194 clip-path: none; 197 195 color: #21759b; 198 196 display: block; … … 237 235 238 236 /* 239 237 * Chrome renders extra-wide characters for the Hoefler Text font. 240 * This results in a jumping cursor when typing in both the Classic and block241 * editors. The following font-face override fixes the issue by manually238 * This results in a jumping cursor when typing in both the classic editor and 239 * block editor. The following font-face override fixes the issue by manually 242 240 * inserting a custom font that includes just a Hoefler Text space replacement 243 241 * for that character instead. 244 242 */ … … 711 709 input, 712 710 textarea { 713 711 border-color: #dcd7ca; 712 color: #000; 714 713 } 715 714 716 715 code, … … 742 741 border-style: solid; 743 742 border-width: 0.1rem; 744 743 box-shadow: none; 745 color: inherit;746 744 display: block; 747 745 font-size: 1.6rem; 748 746 letter-spacing: -0.015em; … … 850 848 line-height: 1.4; 851 849 margin: 0; 852 850 overflow: visible; 853 padding: 2.5%;851 padding: 0.5em; 854 852 } 855 853 856 854 caption { 857 855 background: #dcd7ca; 858 856 font-weight: 600; 859 padding: 2.5%;857 padding: 0.5em; 860 858 text-align: center; 861 859 } 862 860 … … 1004 1002 .no-select { 1005 1003 -webkit-touch-callout: none; 1006 1004 -webkit-user-select: none; 1007 -khtml-user-select: none;1008 1005 -moz-user-select: none; 1009 1006 -ms-user-select: none; 1010 1007 user-select: none; … … 1128 1125 opacity: 0.9; 1129 1126 } 1130 1127 1128 .blend-mode-exclusion { 1129 mix-blend-mode: exclusion; 1130 } 1131 1132 .blend-mode-hue { 1133 mix-blend-mode: hue; 1134 } 1135 1136 .blend-mode-saturation { 1137 mix-blend-mode: saturation; 1138 } 1139 1140 .blend-mode-color { 1141 mix-blend-mode: color; 1142 } 1143 1144 .blend-mode-luminosity { 1145 mix-blend-mode: luminosity; 1146 } 1147 1131 1148 1132 1149 /* Image Classes ----------------------------- */ 1133 1150 … … 1186 1203 flex-shrink: 0; 1187 1204 } 1188 1205 1206 .search-form .search-submit:focus, 1207 .search-form .search-submit:hover { 1208 text-decoration: none; 1209 } 1210 1189 1211 1190 1212 /* Social Icons ------------------------------ */ 1191 1213 1192 1214 ul.social-icons { 1193 1215 display: flex; 1194 1216 flex-wrap: wrap; 1195 margin: -1rem -1rem 0 0; 1217 margin: -0.9rem -0.9rem 0 0; 1218 width: calc(100% + 0.9rem); 1196 1219 } 1197 1220 1198 1221 ul.social-icons li { 1199 margin: 1rem 1rem 0 0;1222 margin: 0.9rem 0.9rem 0 0; 1200 1223 } 1201 1224 1202 1225 .social-icons a { … … 1219 1242 text-decoration: none; 1220 1243 } 1221 1244 1222 .social-icons a::before {1223 content: "\e805";1224 display: block;1225 font-family: "Font Awesome 5";1226 font-size: 2rem;1227 }1228 1229 /* NON-BRAND ICONS */1230 1231 .s-icons a[href*="mailto"]::before {1232 content: "\f0e0";1233 }1234 1235 .s-icons a[href*="/feed/"]::before,1236 .s-icons a[href*="rss"]::before {1237 content: "\f09e";1238 }1239 1240 /* BRAND ICONS */1241 1242 .s-icons a[href*="500px.com"]::before {1243 content: "\f26e";1244 font-family: "Font Awesome 5 Brands";1245 }1246 1247 .s-icons a[href*="amazon.com"]::before {1248 content: "\f270";1249 font-family: "Font Awesome 5 Brands";1250 }1251 1252 .s-icons a[href*="angel.co"]::before {1253 content: "\f209";1254 font-family: "Font Awesome 5 Brands";1255 }1256 1257 .s-icons a[href*="audible.com"]::before {1258 content: "\f373";1259 font-family: "Font Awesome 5 Brands";1260 }1261 1262 .s-icons a[href*="behance.net"]::before {1263 content: "\f1b4";1264 font-family: "Font Awesome 5 Brands";1265 }1266 1267 .s-icons a[href*="blogger.com"]::before {1268 content: "\f37d";1269 font-family: "Font Awesome 5 Brands";1270 }1271 1272 .s-icons a[href*="codepen.io"]::before {1273 content: "\f1cb";1274 font-family: "Font Awesome 5 Brands";1275 }1276 1277 .s-icons a[href*="creativecommons.com"]::before {1278 content: "\f25e";1279 font-family: "Font Awesome 5 Brands";1280 }1281 1282 .s-icons a[href*="deviantart.com"]::before {1283 content: "\f1bd";1284 font-family: "Font Awesome 5 Brands";1285 }1286 1287 .s-icons a[href*="digg.com"]::before {1288 content: "\f1a6";1289 font-family: "Font Awesome 5 Brands";1290 }1291 1292 .s-icons a[href*="discordapp.com"]::before {1293 content: "\f392";1294 font-family: "Font Awesome 5 Brands";1295 }1296 1297 .s-icons a[href*="dribbble.com"]::before {1298 content: "\f17d";1299 font-family: "Font Awesome 5 Brands";1300 }1301 1302 .s-icons a[href*="ebay"]::before {1303 content: "\f4f4";1304 font-family: "Font Awesome 5 Brands";1305 }1306 1307 .s-icons a[href*="etsy.com"]::before {1308 content: "\f2d7";1309 font-family: "Font Awesome 5 Brands";1310 }1311 1312 .s-icons a[href*="facebook.com"]::before {1313 content: "\f39e";1314 font-family: "Font Awesome 5 Brands";1315 }1316 1317 .s-icons a[href*="flickr.com"]::before {1318 content: "\f16e";1319 font-family: "Font Awesome 5 Brands";1320 }1321 1322 .s-icons a[href*="github.com"]::before {1323 content: "\f113";1324 font-family: "Font Awesome 5 Brands";1325 }1326 1327 .s-icons a[href*="gitlab.com"]::before {1328 content: "\f296";1329 font-family: "Font Awesome 5 Brands";1330 }1331 1332 .s-icons a[href*="goodreads.com"]::before {1333 content: "\f3a9";1334 font-family: "Font Awesome 5 Brands";1335 }1336 1337 .s-icons a[href*="houzz"]::before {1338 content: "\f27c";1339 font-family: "Font Awesome 5 Brands";1340 }1341 1342 .s-icons a[href*="imdb.com"]::before {1343 content: "\f2d8";1344 font-family: "Font Awesome 5 Brands";1345 }1346 1347 .s-icons a[href*="instagram.com"]::before {1348 content: "\f16d";1349 font-family: "Font Awesome 5 Brands";1350 }1351 1352 .s-icons a[href*="kickstarter.com"]::before {1353 content: "\f3bc";1354 font-family: "Font Awesome 5 Brands";1355 }1356 1357 .s-icons a[href*="jsfiddle.net"]::before {1358 content: "\f1cc";1359 font-family: "Font Awesome 5 Brands";1360 }1361 1362 .s-icons a[href*="linkedin.com"]::before {1363 content: "\f0e1";1364 font-family: "Font Awesome 5 Brands";1365 }1366