??????????????
PK ½[*½2N N 404.phpnu [µü¤
source on its own array key, without adding the
* both `width` and `height` attributes, since these are added dynamically,
* before rendering the SVG code.
*
* All icons are assumed to have equal width and height, hence the option
* to only specify a `$size` parameter in the svg methods.
*
* @since Twenty Nineteen 1.0
*/
class TwentyNineteen_SVG_Icons {
/**
* Gets the SVG code for a given icon.
*/
public static function get_svg( $group, $icon, $size ) {
if ( 'ui' === $group ) {
$arr = self::$ui_icons;
} elseif ( 'social' === $group ) {
$arr = self::$social_icons;
} else {
$arr = array();
}
if ( array_key_exists( $icon, $arr ) ) {
$repl = sprintf( '\s*', '><', $svg ); // Remove whitespace between SVG tags.
return $svg;
}
return null;
}
/**
* Detects the social network from a URL and returns the SVG code for its icon.
*/
public static function get_social_link_svg( $uri, $size ) {
static $regex_map; // Only compute regex map once, for performance.
if ( ! isset( $regex_map ) ) {
$regex_map = array();
$map = &self::$social_icons_map; // Use reference instead of copy, to save memory.
foreach ( array_keys( self::$social_icons ) as $icon ) {
$domains = array_key_exists( $icon, $map ) ? $map[ $icon ] : array( sprintf( '%s.com', $icon ) );
$domains = array_map( 'trim', $domains ); // Remove leading/trailing spaces, to prevent regex from failing to match.
$domains = array_map( 'preg_quote', $domains );
$regex_map[ $icon ] = sprintf( '/(%s)/i', implode( '|', $domains ) );
}
}
foreach ( $regex_map as $icon => $regex ) {
if ( preg_match( $regex, $uri ) ) {
return self::get_svg( 'social', $icon, $size );
}
}
return null;
}
/**
* User Interface icons ā svg sources.
*
* @var array
*/
public static $ui_icons = array(
'link' => /* material-design ā link */ '
',
'watch' => /* material-design ā watch-later */ '
',
'archive' => /* material-design ā folder */ '
',
'tag' => /* material-design ā local_offer */ '
',
'comment' => /* material-design ā comment */ '
',
'person' => /* material-design ā person */ '
',
'edit' => /* material-design ā edit */ '
',
'chevron_left' => /* material-design ā chevron_left */ '
',
'chevron_right' => /* material-design ā chevron_right */ '
',
'check' => /* material-design ā check */ '
',
'arrow_drop_down_circle' => /* material-design ā arrow_drop_down_circle */ '
',
'keyboard_arrow_down' => /* material-design ā keyboard_arrow_down */ '
',
'keyboard_arrow_right' => /* material-design ā keyboard_arrow_right */ '
',
'keyboard_arrow_left' => /* material-design ā keyboard_arrow_left */ '
',
'arrow_drop_down_ellipsis' => /* custom ā arrow_drop_down_ellipsis */ '
',
);
/**
* Social Icons ā domain mappings.
*
* By default, each Icon ID is matched against a .com TLD. To override this behavior,
* specify all the domains it covers (including the .com TLD too, if applicable).
*
* @var array
*/
public static $social_icons_map = array(
'amazon' => array(
'amazon.com',
'amazon.cn',
'amazon.in',
'amazon.fr',
'amazon.de',
'amazon.it',
'amazon.nl',
'amazon.es',
'amazon.co',
'amazon.ca',
),
'apple' => array(
'apple.com',
'itunes.com',
),
'behance' => array(
'behance.net',
),
'codepen' => array(
'codepen.io',
),
'facebook' => array(
'facebook.com',
'fb.me',
),
'feed' => array(
'feed',
),
'google-plus' => array(
'plus.google.com',
),
'lastfm' => array(
'last.fm',
),
'mail' => array(
'mailto:',
),
'slideshare' => array(
'slideshare.net',
),
'pocket' => array(
'getpocket.com',
),
'twitch' => array(
'twitch.tv',
),
'wordpress' => array(
'wordpress.com',
'wordpress.org',
),
);
/**
* Social Icons ā svg sources.
*
* @var array
*/
public static $social_icons = array(
'500px' => '
',
'amazon' => '
',
'apple' => '
',
'bandcamp' => '
',
'behance' => '
',
'chain' => '
',
'codepen' => '
',
'deviantart' => '
',
'digg' => '
',
'dribbble' => '
',
'dropbox' => '
',
'etsy' => '
',
'facebook' => '
',
'feed' => '
',
'flickr' => '
',
'foursquare' => '
',
'goodreads' => '
',
'google-plus' => '
',
'google' => '
',
'github' => '
',
'instagram' => '
',
'lastfm' => '
',
'linkedin' => '
',
'mail' => '
',
'meetup' => '
',
'medium' => '
',
'pinterest' => '
',
'pocket' => '
',
'reddit' => '
',
'skype' => '
',
'slideshare' => '
',
'snapchat' => '
',
'soundcloud' => '
',
'spotify' => '
',
'stumbleupon' => '
',
'tumblr' => '
',
'twitch' => '
',
'twitter' => '
',
'vimeo' => '
',
'vk' => '
',
'wordpress' => '
',
'yelp' => '
',
'youtube' => '
',
);
}
PK ½[&OčŻō ō / classes/class-twentynineteen-walker-comment.phpnu [µü¤
< id="comment-" has_children ? 'parent' : '', $comment ); ?>>
'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '',
)
)
);
?>
PK ½['Ч¼ ¼ # fonts/NonBreakingSpaceOverride.woffnu [µü¤ wOFF ¼ L FFTM 5,ūGDEF | '
OS/2 “ I `cmap F JKģįgasp t glyf t 2 <½'ó/head D 0 6.ß
hhea t $Jhmtx j loca d J hmaxp K name Ø z !Ćüpost $ N `>/jwebf “ [āxŚc`d`` āßV’ē·łŹĄĶ~(Āp#PB;ėhv6ÅĮĄ¢ <§ØxŚc`d``÷ųŪĀĄĄĮ ģØ 7ķé xŚc`d```gą``b ÉČ s ó ģ W xŚc`füČ8
UeĆ4Ķ“ĮńĀ
rT’°{üma``÷`Ŗ
3äX# n> xŚć``d ¦Yļų +Ąy xŚc```f`FpņĮ|
ͤT’ü’äé’oq@Õ#ĆČ$P#Äį 8
xŚc`bd```g`c``RĀ@_
¬
Hžf F$`Č ö xŚĶNĀ@
Oł3n\,f'$Š%ŗ1l &@ a_Ź
„%å'ś>KW¾ÆįŅÓ2¢²paģMoī{Ļ Wx
ćw
K³"5gpgĶYÜą]sE£Æ9[ćMs„ĢJ#wÉL«6PŽę}4gŃĒęŖŠĒ”4ŠĪPFŌa3,ŌųKF¹;l¹L Ü©ŗm[5KŹøŪl%z”Ē."JēiAĢ1]%åŅl3ŗ*ćė)18Ø8ögĢø¹ĄM\1R}ąźōi8§¹3Ė/Ćs»Śyßŗ)„té=I:ČēµļæjʶE¼Fńć0C¶)Ļ.©ÜŃ&ŃN&%Ł]s{&9³;Ołp&éßF+Ę*ŽśQ(Ē
G\F;/
ÉŁĪŚ]©h77jM³ŁnX6ž~»æ^éĘ%į xŚc`b ’ņFŲ ;3201032123²°ęeŗ9K iG½¼ü<§¢ŌÄģ̼ōąÄäT>W½äü¼¢ü ī×S ’’ xŚc`d``ąb1 fb`B6 fó ą 5 Ō$ŗ ŲQ ŲC, [⬠PK ½[FQ¶éü ü $ fonts/NonBreakingSpaceOverride.woff2nu [µü¤ wOF2 ü L ” ?FFTM` J
<[6$ !`?webfcČ.!'z¤#ņĢsŌŠIõH+üæßoķsļMfŅTh&$Y$2!1JmÓÅmxiLåxÄŅŌK÷
\ę[s¦WæŚÉŲZ` $Ō÷o9_ąI1zo’ö¶$
,ć28³<*¾\@ģ/LV]M(I«Ķkņ=ŠųWnQI@OuŚl:ŃŃT7LÆ|q0x.9šnæ+žn( Õ O=.~“Ę·J½
+ųvćŠ[§NĮ’¾_Ą5Ūo
'ÜHV
p¶ÖXĘ,Ņóuķ@Č% ü`>Ē"@ ŹŖ+“¦į’ų( PŚ2P×ėq6ÓšUÅńq׌%ŪŠ·ĶŪÕ~t÷¬µżŃ=Oi ā)ĀõāuĘkCtKģB/ś|qFc4Ņ&"0=„ń\µ$T{ĄD®į“yĆ«%FććtرlaRM~ nŅ%%xŻŃJA×A¤ą®ĮŅØf`$ĒhŪļ$äōhZ 4öesDŚBF¹/upČ9°ÕxQhģźŲØJ>ń9,¤"Źš
$ÜTe¾C k«2°¶»e$25uŪLWĘŖ²®³1µ\߬%1ĪęlżŌ&Dī`ÉAm$±õ
qEIś+ȶĘ;:"~#Ø~2wå³ŲĒcĄÖå>'øÕäödzäBrR^ŃŻDH\ØłÕ·×Ą)ö$ĮÉ6püOļūļśęqarņŃīæĘ”pÉŽ²sēäżÄ=6øĪŻę;ńGQ
Ū· PK ½[Bb`V V
footer.phpnu [µü¤