Importing Twenty Nineteen, our new default theme for 2019, set for 5.0.

Let Gutenberg shine with this simple, fast, and powerful theme. Initial development occurred on GitHub. See: https://github.com/WordPress/twentynineteen

Props allancole, karmatosed, kjellr, yingling017, mrasharirfan, milana_cap, fabiankaegy, westonruter, aaronjorbin, netweb, b-07, khleomix, blowery, dereksmart, jasmussen, audrasjb, nielslange, mmaumio, dimadin, joyously, anevins12.

Built from https://develop.svn.wordpress.org/branches/5.0@43808


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
allancole 2018-10-23 15:53:44 +00:00
parent 46e270096b
commit a3ae67bd8f
81 changed files with 18538 additions and 1 deletions

View File

@ -0,0 +1,33 @@
<?php
/**
* The template for displaying 404 pages (not found)
*
* @link https://codex.wordpress.org/Creating_an_Error_404_Page
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<section class="error-404 not-found">
<header class="page-header">
<h1 class="page-title"><?php _e( 'Oops! That page can&rsquo;t be found.', 'twentynineteen' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<p><?php _e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentynineteen' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .page-content -->
</section><!-- .error-404 -->
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_footer();

View File

@ -0,0 +1,55 @@
<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<?php
the_archive_title( '<h1 class="page-title">', '</h1>' );
the_archive_description( '<div class="page-description">', '</div>' );
?>
</header><!-- .page-header -->
<?php
// Start the Loop.
while ( have_posts() ) :
the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'template-parts/content/content' );
// End the loop.
endwhile;
// Previous/next page navigation.
twentynineteen_the_posts_navigation();
// If no content, include the "No posts found" template.
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</main><!-- .site-main -->
</div><!-- .content-area -->
<?php
get_footer();

View File

@ -0,0 +1,430 @@
<?php
/**
* SVG Icons class
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/**
* This class is in charge of displaying SVG icons across the site.
*
* Place each <svg> source on its own array key, without adding the
* both `width` and `height` attributes, since these are added dnamically,
* 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 1.0.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( '<svg id="%s-icon-%s" class="svg-icon" width="%d" height="%d" aria-hidden="true" role="img" ', $group, $icon, $size, $size );
$svg = preg_replace( '/^<svg /', $repl, trim( $arr[ $icon ] ) ); // Add extra attributes to SVG code.
$svg = preg_replace( "/([\n\t]+)/", ' ', $svg ); // Remove newlines & tabs.
$svg = preg_replace( '/>\s*</', '><', $svg ); // Remove white space 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
*/
static $ui_icons = array(
'link' => /* material-design link */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/>
</svg>',
'watch' => /* material-design watch-later */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<defs>
<path id="a" d="M0 0h24v24H0V0z"/>
</defs>
<clipPath id="b">
<use xlink:href="#a" overflow="visible"/>
</clipPath>
<path clip-path="url(#b)" d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"/>
</svg>',
'archive' => /* material-design folder */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'tag' => /* material-design local_offer */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'comment' => /* material-design comment */ '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'person' => /* material-design person */ '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'edit' => /* material-design edit */ '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'chevron_left' => /* material-design chevron_left */ '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'chevron_right' => /* material-design chevron_right */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
<path d="M0 0h24v24H0z" fill="none"/>
</svg>',
'check' => /* material-design check */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/>
</svg>',
'arrow_drop_down_circle' => /* material-design arrow_drop_down_circle */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"/>
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 12l-4-4h8l-4 4z"/>
</svg>',
'keyboard_arrow_down' => /* material-design keyboard_arrow_down */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"/>
<path fill="none" d="M0 0h24v24H0V0z"/>
</svg>',
'keyboard_arrow_right' => /* material-design keyboard_arrow_right */ '
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path d="M10 17l5-5-5-5v10z"/>
<path fill="none" d="M0 24V0h24v24H0z"/>
</svg>',
);
/**
* 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
*/
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',
),
'google-plus' => array(
'plus.google.com',
),
'slideshare' => array(
'slideshare.net',
),
'pocket' => array(
'getpocket.com',
),
'twitch' => array(
'twitch.tv',
),
'wordpress' => array(
'wordpress.com',
'wordpress.org',
),
);
/**
* Social Icons svg sources.
*
* @var array
*/
static $social_icons = array(
'500px' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M6.94026,15.1412c.00437.01213.108.29862.168.44064a6.55008,6.55008,0,1,0,6.03191-9.09557,6.68654,6.68654,0,0,0-2.58357.51467A8.53914,8.53914,0,0,0,8.21268,8.61344L8.209,8.61725V3.22948l9.0504-.00008c.32934-.0036.32934-.46353.32934-.61466s0-.61091-.33035-.61467L7.47248,2a.43.43,0,0,0-.43131.42692v7.58355c0,.24466.30476.42131.58793.4819.553.11812.68074-.05864.81617-.2457l.018-.02481A10.52673,10.52673,0,0,1,9.32258,9.258a5.35268,5.35268,0,1,1,7.58985,7.54976,5.417,5.417,0,0,1-3.80867,1.56365,5.17483,5.17483,0,0,1-2.69822-.74478l.00342-4.61111a2.79372,2.79372,0,0,1,.71372-1.78792,2.61611,2.61611,0,0,1,1.98282-.89477,2.75683,2.75683,0,0,1,1.95525.79477,2.66867,2.66867,0,0,1,.79656,1.909,2.724,2.724,0,0,1-2.75849,2.748,4.94651,4.94651,0,0,1-.86254-.13719c-.31234-.093-.44519.34058-.48892.48349-.16811.54966.08453.65862.13687.67489a3.75751,3.75751,0,0,0,1.25234.18375,3.94634,3.94634,0,1,0-2.82444-6.742,3.67478,3.67478,0,0,0-1.13028,2.584l-.00041.02323c-.0035.11667-.00579,2.881-.00644,3.78811l-.00407-.00451a6.18521,6.18521,0,0,1-1.0851-1.86092c-.10544-.27856-.34358-.22925-.66857-.12917-.14192.04372-.57386.17677-.47833.489Zm4.65165-1.08338a.51346.51346,0,0,0,.19513.31818l.02276.022a.52945.52945,0,0,0,.3517.18416.24242.24242,0,0,0,.16577-.0611c.05473-.05082.67382-.67812.73287-.738l.69041.68819a.28978.28978,0,0,0,.21437.11032.53239.53239,0,0,0,.35708-.19486c.29792-.30419.14885-.46821.07676-.54751l-.69954-.69975.72952-.73469c.16-.17311.01874-.35708-.12218-.498-.20461-.20461-.402-.25742-.52855-.14083l-.7254.72665-.73354-.73375a.20128.20128,0,0,0-.14179-.05695.54135.54135,0,0,0-.34379.19648c-.22561.22555-.274.38149-.15656.5059l.73374.7315-.72942.73072A.26589.26589,0,0,0,11.59191,14.05782Zm1.59866-9.915A8.86081,8.86081,0,0,0,9.854,4.776a.26169.26169,0,0,0-.16938.22759.92978.92978,0,0,0,.08619.42094c.05682.14524.20779.531.50006.41955a8.40969,8.40969,0,0,1,2.91968-.55484,7.87875,7.87875,0,0,1,3.086.62286,8.61817,8.61817,0,0,1,2.30562,1.49315.2781.2781,0,0,0,.18318.07586c.15529,0,.30425-.15253.43167-.29551.21268-.23861.35873-.4369.1492-.63538a8.50425,8.50425,0,0,0-2.62312-1.694A9.0177,9.0177,0,0,0,13.19058,4.14283ZM19.50945,18.6236h0a.93171.93171,0,0,0-.36642-.25406.26589.26589,0,0,0-.27613.06613l-.06943.06929A7.90606,7.90606,0,0,1,7.60639,18.505a7.57284,7.57284,0,0,1-1.696-2.51537,8.58715,8.58715,0,0,1-.5147-1.77754l-.00871-.04864c-.04939-.25873-.28755-.27684-.62981-.22448-.14234.02178-.5755.088-.53426.39969l.001.00712a9.08807,9.08807,0,0,0,15.406,4.99094c.00193-.00192.04753-.04718.0725-.07436C19.79425,19.16234,19.87422,18.98728,19.50945,18.6236Z"/>
</svg>',
'amazon' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M13.582,8.182C11.934,8.367,9.78,8.49,8.238,9.166c-1.781,0.769-3.03,2.337-3.03,4.644 c0,2.953,1.86,4.429,4.253,4.429c2.02,0,3.125-0.477,4.685-2.065c0.516,0.747,0.685,1.109,1.629,1.894 c0.212,0.114,0.483,0.103,0.672-0.066l0.006,0.006c0.567-0.505,1.599-1.401,2.18-1.888c0.231-0.188,0.19-0.496,0.009-0.754 c-0.52-0.718-1.072-1.303-1.072-2.634V8.305c0-1.876,0.133-3.599-1.249-4.891C15.23,2.369,13.422,2,12.04,2 C9.336,2,6.318,3.01,5.686,6.351C5.618,6.706,5.877,6.893,6.109,6.945l2.754,0.298C9.121,7.23,9.308,6.977,9.357,6.72 c0.236-1.151,1.2-1.706,2.284-1.706c0.584,0,1.249,0.215,1.595,0.738c0.398,0.584,0.346,1.384,0.346,2.061V8.182z M13.049,14.088 c-0.451,0.8-1.169,1.291-1.967,1.291c-1.09,0-1.728-0.83-1.728-2.061c0-2.42,2.171-2.86,4.227-2.86v0.615 C13.582,12.181,13.608,13.104,13.049,14.088z M20.683,19.339C18.329,21.076,14.917,22,11.979,22c-4.118,0-7.826-1.522-10.632-4.057 c-0.22-0.199-0.024-0.471,0.241-0.317c3.027,1.762,6.771,2.823,10.639,2.823c2.608,0,5.476-0.541,8.115-1.66 C20.739,18.62,21.072,19.051,20.683,19.339z M21.336,21.043c-0.194,0.163-0.379,0.076-0.293-0.139 c0.284-0.71,0.92-2.298,0.619-2.684c-0.301-0.386-1.99-0.183-2.749-0.092c-0.23,0.027-0.266-0.173-0.059-0.319 c1.348-0.946,3.555-0.673,3.811-0.356C22.925,17.773,22.599,19.986,21.336,21.043z"/>
</svg>',
'apple' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M20.07,17.586a10.874,10.874,0,0,1-1.075,1.933,9.822,9.822,0,0,1-1.385,1.674,2.687,2.687,0,0,1-1.78.784,4.462,4.462,0,0,1-1.644-.393,4.718,4.718,0,0,0-1.77-.391,4.878,4.878,0,0,0-1.82.391A4.9,4.9,0,0,1,9.021,22a2.53,2.53,0,0,1-1.82-.8A10.314,10.314,0,0,1,5.752,19.46,11.987,11.987,0,0,1,4.22,16.417a11.143,11.143,0,0,1-.643-3.627,6.623,6.623,0,0,1,.87-3.465A5.1,5.1,0,0,1,6.268,7.483a4.9,4.9,0,0,1,2.463-.695,5.8,5.8,0,0,1,1.9.443,6.123,6.123,0,0,0,1.511.444,9.04,9.04,0,0,0,1.675-.523,5.537,5.537,0,0,1,2.277-.4,4.835,4.835,0,0,1,3.788,1.994,4.213,4.213,0,0,0-2.235,3.827,4.222,4.222,0,0,0,1.386,3.181,4.556,4.556,0,0,0,1.385.909q-.167.483-.353.927ZM16.211,2.4a4.267,4.267,0,0,1-1.094,2.8,3.726,3.726,0,0,1-3.1,1.528A3.114,3.114,0,0,1,12,6.347a4.384,4.384,0,0,1,1.16-2.828,4.467,4.467,0,0,1,1.414-1.061A4.215,4.215,0,0,1,16.19,2a3.633,3.633,0,0,1,.021.4Z"/>
</svg>',
'bandcamp' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M15.27 17.289 3 17.289 8.73 6.711 21 6.711 15.27 17.289"/>
</svg>',
'behance' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M7.799,5.698c0.589,0,1.12,0.051,1.606,0.156c0.482,0.102,0.894,0.273,1.241,0.507c0.344,0.235,0.612,0.546,0.804,0.938 c0.188,0.387,0.281,0.871,0.281,1.443c0,0.619-0.141,1.137-0.421,1.551c-0.284,0.413-0.7,0.751-1.255,1.014 c0.756,0.218,1.317,0.601,1.689,1.146c0.374,0.549,0.557,1.205,0.557,1.975c0,0.623-0.12,1.161-0.359,1.612 c-0.241,0.457-0.569,0.828-0.973,1.114c-0.408,0.288-0.876,0.5-1.399,0.637C9.052,17.931,8.514,18,7.963,18H2V5.698H7.799 M7.449,10.668c0.481,0,0.878-0.114,1.192-0.345c0.311-0.228,0.463-0.603,0.463-1.119c0-0.286-0.051-0.523-0.152-0.707 C8.848,8.315,8.711,8.171,8.536,8.07C8.362,7.966,8.166,7.894,7.94,7.854c-0.224-0.044-0.457-0.06-0.697-0.06H4.709v2.874H7.449z M7.6,15.905c0.267,0,0.521-0.024,0.759-0.077c0.243-0.053,0.457-0.137,0.637-0.261c0.182-0.12,0.332-0.283,0.441-0.491 C9.547,14.87,9.6,14.602,9.6,14.278c0-0.633-0.18-1.084-0.533-1.357c-0.356-0.27-0.83-0.404-1.413-0.404H4.709v3.388L7.6,15.905z M16.162,15.864c0.367,0.358,0.897,0.538,1.583,0.538c0.493,0,0.92-0.125,1.277-0.374c0.354-0.248,0.571-0.514,0.654-0.79h2.155 c-0.347,1.072-0.872,1.838-1.589,2.299C19.534,18,18.67,18.23,17.662,18.23c-0.701,0-1.332-0.113-1.899-0.337 c-0.567-0.227-1.041-0.544-1.439-0.958c-0.389-0.415-0.689-0.907-0.904-1.484c-0.213-0.574-0.32-1.21-0.32-1.899 c0-0.666,0.11-1.288,0.329-1.863c0.222-0.577,0.529-1.075,0.933-1.492c0.406-0.42,0.885-0.751,1.444-0.994 c0.558-0.241,1.175-0.363,1.857-0.363c0.754,0,1.414,0.145,1.98,0.44c0.563,0.291,1.026,0.686,1.389,1.181 c0.363,0.493,0.622,1.057,0.783,1.69c0.16,0.632,0.217,1.292,0.171,1.983h-6.428C15.557,14.84,15.795,15.506,16.162,15.864 M18.973,11.184c-0.291-0.321-0.783-0.496-1.384-0.496c-0.39,0-0.714,0.066-0.973,0.2c-0.254,0.132-0.461,0.297-0.621,0.491 c-0.157,0.197-0.265,0.405-0.328,0.628c-0.063,0.217-0.101,0.413-0.111,0.587h3.98C19.478,11.969,19.265,11.509,18.973,11.184z M15.057,7.738h4.985V6.524h-4.985L15.057,7.738z"/>
</svg>',
'chain' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M19.647,16.706a1.134,1.134,0,0,0-.343-.833l-2.549-2.549a1.134,1.134,0,0,0-.833-.343,1.168,1.168,0,0,0-.883.392l.233.226q.2.189.264.264a2.922,2.922,0,0,1,.184.233.986.986,0,0,1,.159.312,1.242,1.242,0,0,1,.043.337,1.172,1.172,0,0,1-1.176,1.176,1.237,1.237,0,0,1-.337-.043,1,1,0,0,1-.312-.159,2.76,2.76,0,0,1-.233-.184q-.073-.068-.264-.264l-.226-.233a1.19,1.19,0,0,0-.4.895,1.134,1.134,0,0,0,.343.833L15.837,19.3a1.13,1.13,0,0,0,.833.331,1.18,1.18,0,0,0,.833-.318l1.8-1.789a1.12,1.12,0,0,0,.343-.821Zm-8.615-8.64a1.134,1.134,0,0,0-.343-.833L8.163,4.7a1.134,1.134,0,0,0-.833-.343,1.184,1.184,0,0,0-.833.331L4.7,6.473a1.12,1.12,0,0,0-.343.821,1.134,1.134,0,0,0,.343.833l2.549,2.549a1.13,1.13,0,0,0,.833.331,1.184,1.184,0,0,0,.883-.38L8.728,10.4q-.2-.189-.264-.264A2.922,2.922,0,0,1,8.28,9.9a.986.986,0,0,1-.159-.312,1.242,1.242,0,0,1-.043-.337A1.172,1.172,0,0,1,9.254,8.079a1.237,1.237,0,0,1,.337.043,1,1,0,0,1,.312.159,2.761,2.761,0,0,1,.233.184q.073.068.264.264l.226.233a1.19,1.19,0,0,0,.4-.895ZM22,16.706a3.343,3.343,0,0,1-1.042,2.488l-1.8,1.789a3.536,3.536,0,0,1-4.988-.025l-2.525-2.537a3.384,3.384,0,0,1-1.017-2.488,3.448,3.448,0,0,1,1.078-2.561l-1.078-1.078a3.434,3.434,0,0,1-2.549,1.078,3.4,3.4,0,0,1-2.5-1.029L3.029,9.794A3.4,3.4,0,0,1,2,7.294,3.343,3.343,0,0,1,3.042,4.806l1.8-1.789A3.384,3.384,0,0,1,7.331,2a3.357,3.357,0,0,1,2.5,1.042l2.525,2.537a3.384,3.384,0,0,1,1.017,2.488,3.448,3.448,0,0,1-1.078,2.561l1.078,1.078a3.551,3.551,0,0,1,5.049-.049l2.549,2.549A3.4,3.4,0,0,1,22,16.706Z"/>
</svg>',
'codepen' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M22.016,8.84c-0.002-0.013-0.005-0.025-0.007-0.037c-0.005-0.025-0.008-0.048-0.015-0.072 c-0.003-0.015-0.01-0.028-0.013-0.042c-0.008-0.02-0.015-0.04-0.023-0.062c-0.007-0.015-0.013-0.028-0.02-0.042 c-0.008-0.02-0.018-0.037-0.03-0.057c-0.007-0.013-0.017-0.027-0.025-0.038c-0.012-0.018-0.023-0.035-0.035-0.052 c-0.01-0.013-0.02-0.025-0.03-0.037c-0.015-0.017-0.028-0.032-0.043-0.045c-0.01-0.012-0.022-0.023-0.035-0.035 c-0.015-0.015-0.032-0.028-0.048-0.04c-0.012-0.01-0.025-0.02-0.037-0.03c-0.005-0.003-0.01-0.008-0.015-0.012l-9.161-6.096 c-0.289-0.192-0.666-0.192-0.955,0L2.359,8.237C2.354,8.24,2.349,8.245,2.344,8.249L2.306,8.277 c-0.017,0.013-0.033,0.027-0.048,0.04C2.246,8.331,2.234,8.342,2.222,8.352c-0.015,0.015-0.028,0.03-0.042,0.047 c-0.012,0.013-0.022,0.023-0.03,0.037C2.139,8.453,2.125,8.471,2.115,8.488C2.107,8.501,2.099,8.514,2.09,8.526 C2.079,8.548,2.069,8.565,2.06,8.585C2.054,8.6,2.047,8.613,2.04,8.626C2.032,8.648,2.025,8.67,2.019,8.69 c-0.005,0.013-0.01,0.027-0.013,0.042C1.999,8.755,1.995,8.778,1.99,8.803C1.989,8.817,1.985,8.828,1.984,8.84 C1.978,8.879,1.975,8.915,1.975,8.954v6.093c0,0.037,0.003,0.075,0.008,0.112c0.002,0.012,0.005,0.025,0.007,0.038 c0.005,0.023,0.008,0.047,0.015,0.072c0.003,0.015,0.008,0.028,0.013,0.04c0.007,0.022,0.013,0.042,0.022,0.063 c0.007,0.015,0.013,0.028,0.02,0.04c0.008,0.02,0.018,0.038,0.03,0.058c0.007,0.013,0.015,0.027,0.025,0.038 c0.012,0.018,0.023,0.035,0.035,0.052c0.01,0.013,0.02,0.025,0.03,0.037c0.013,0.015,0.028,0.032,0.042,0.045 c0.012,0.012,0.023,0.023,0.035,0.035c0.015,0.013,0.032,0.028,0.048,0.04l0.038,0.03c0.005,0.003,0.01,0.007,0.013,0.01 l9.163,6.095C11.668,21.953,11.833,22,12,22c0.167,0,0.332-0.047,0.478-0.144l9.163-6.095l0.015-0.01 c0.013-0.01,0.027-0.02,0.037-0.03c0.018-0.013,0.035-0.028,0.048-0.04c0.013-0.012,0.025-0.023,0.035-0.035 c0.017-0.015,0.03-0.032,0.043-0.045c0.01-0.013,0.02-0.025,0.03-0.037c0.013-0.018,0.025-0.035,0.035-0.052 c0.008-0.013,0.018-0.027,0.025-0.038c0.012-0.02,0.022-0.038,0.03-0.058c0.007-0.013,0.013-0.027,0.02-0.04 c0.008-0.022,0.015-0.042,0.023-0.063c0.003-0.013,0.01-0.027,0.013-0.04c0.007-0.025,0.01-0.048,0.015-0.072 c0.002-0.013,0.005-0.027,0.007-0.037c0.003-0.042,0.007-0.079,0.007-0.117V8.954C22.025,8.915,22.022,8.879,22.016,8.84z M12.862,4.464l6.751,4.49l-3.016,2.013l-3.735-2.492V4.464z M11.138,4.464v4.009l-3.735,2.494L4.389,8.954L11.138,4.464z M3.699,10.562L5.853,12l-2.155,1.438V10.562z M11.138,19.536l-6.749-4.491l3.015-2.011l3.735,2.492V19.536z M12,14.035L8.953,12 L12,9.966L15.047,12L12,14.035z M12.862,19.536v-4.009l3.735-2.492l3.016,2.011L12.862,19.536z M20.303,13.438L18.147,12 l2.156-1.438L20.303,13.438z"/>
</svg>',
'deviantart' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M 18.19 5.636 18.19 2 18.188 2 14.553 2 14.19 2.366 12.474 5.636 11.935 6 5.81 6 5.81 10.994 9.177 10.994 9.477 11.357 5.81 18.363 5.81 22 5.811 22 9.447 22 9.81 21.634 11.526 18.364 12.065 18 18.19 18 18.19 13.006 14.823 13.006 14.523 12.641 18.19 5.636z"/>
</svg>',
'digg' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M4.5,5.4h2.2V16H1V8.5h3.5V5.4L4.5,5.4z M4.5,14.2v-4H3.2v4H4.5z M7.6,8.5V16h2.2V8.5C9.8,8.5,7.6,8.5,7.6,8.5z M7.6,5.4 v2.2h2.2V5.4C9.8,5.4,7.6,5.4,7.6,5.4z M10.7,8.5h5.7v10.1h-5.7v-1.8h3.5V16h-3.5C10.7,16,10.7,8.5,10.7,8.5z M14.2,14.2v-4h-1.3v4 H14.2z M17.3,8.5H23v10.1h-5.7v-1.8h3.5V16h-3.5C17.3,16,17.3,8.5,17.3,8.5z M20.8,14.2v-4h-1.3v4H20.8z"/>
</svg>',
'dribbble' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,22C6.486,22,2,17.514,2,12S6.486,2,12,2c5.514,0,10,4.486,10,10S17.514,22,12,22z M20.434,13.369 c-0.292-0.092-2.644-0.794-5.32-0.365c1.117,3.07,1.572,5.57,1.659,6.09C18.689,17.798,20.053,15.745,20.434,13.369z M15.336,19.876c-0.127-0.749-0.623-3.361-1.822-6.477c-0.019,0.006-0.038,0.013-0.056,0.019c-4.818,1.679-6.547,5.02-6.701,5.334 c1.448,1.129,3.268,1.803,5.243,1.803C13.183,20.555,14.311,20.313,15.336,19.876z M5.654,17.724 c0.193-0.331,2.538-4.213,6.943-5.637c0.111-0.036,0.224-0.07,0.337-0.102c-0.214-0.485-0.448-0.971-0.692-1.45 c-4.266,1.277-8.405,1.223-8.778,1.216c-0.003,0.087-0.004,0.174-0.004,0.261C3.458,14.207,4.29,16.21,5.654,17.724z M3.639,10.264 c0.382,0.005,3.901,0.02,7.897-1.041c-1.415-2.516-2.942-4.631-3.167-4.94C5.979,5.41,4.193,7.613,3.639,10.264z M9.998,3.709 c0.236,0.316,1.787,2.429,3.187,5c3.037-1.138,4.323-2.867,4.477-3.085C16.154,4.286,14.17,3.471,12,3.471 C11.311,3.471,10.641,3.554,9.998,3.709z M18.612,6.612C18.432,6.855,17,8.69,13.842,9.979c0.199,0.407,0.389,0.821,0.567,1.237 c0.063,0.148,0.124,0.295,0.184,0.441c2.842-0.357,5.666,0.215,5.948,0.275C20.522,9.916,19.801,8.065,18.612,6.612z"/>
</svg>',
'dropbox' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,6.134L6.069,9.797L2,6.54l5.883-3.843L12,6.134z M2,13.054l5.883,3.843L12,13.459L6.069,9.797L2,13.054z M12,13.459 l4.116,3.439L22,13.054l-4.069-3.257L12,13.459z M22,6.54l-5.884-3.843L12,6.134l5.931,3.663L22,6.54z M12.011,14.2l-4.129,3.426 l-1.767-1.153v1.291l5.896,3.539l5.897-3.539v-1.291l-1.769,1.153L12.011,14.2z"/>
</svg>',
'etsy' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M9.16033,4.038c0-.27174.02717-.43478.48913-.43478h6.22283c1.087,0,1.68478.92391,2.11957,2.663l.35326,1.38587h1.05978C19.59511,3.712,19.75815,2,19.75815,2s-2.663.29891-4.23913.29891h-7.962L3.29076,2.163v1.1413L4.731,3.57609c1.00543.19022,1.25.40761,1.33152,1.33152,0,0,.08152,2.71739.08152,7.20109s-.08152,7.17391-.08152,7.17391c0,.81522-.32609,1.11413-1.33152,1.30435l-1.44022.27174V22l4.2663-.13587h7.11957c1.60326,0,5.32609.13587,5.32609.13587.08152-.97826.625-5.40761.70652-5.89674H19.7038L18.644,18.52174c-.84239,1.90217-2.06522,2.038-3.42391,2.038H11.1712c-1.3587,0-2.01087-.54348-2.01087-1.712V12.65217s3.0163,0,3.99457.08152c.76087.05435,1.22283.27174,1.46739,1.33152l.32609,1.413h1.16848l-.08152-3.55978.163-3.587H15.02989l-.38043,1.57609c-.24457,1.03261-.40761,1.22283-1.46739,1.33152-1.38587.13587-4.02174.1087-4.02174.1087Z"/>
</svg>',
'facebook' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M20.007,3H3.993C3.445,3,3,3.445,3,3.993v16.013C3,20.555,3.445,21,3.993,21h8.621v-6.971h-2.346v-2.717h2.346V9.31 c0-2.325,1.42-3.591,3.494-3.591c0.993,0,1.847,0.074,2.096,0.107v2.43l-1.438,0.001c-1.128,0-1.346,0.536-1.346,1.323v1.734h2.69 l-0.35,2.717h-2.34V21h4.587C20.555,21,21,20.555,21,20.007V3.993C21,3.445,20.555,3,20.007,3z"/>
</svg>',
'feed' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M2,8.667V12c5.515,0,10,4.485,10,10h3.333C15.333,14.637,9.363,8.667,2,8.667z M2,2v3.333 c9.19,0,16.667,7.477,16.667,16.667H22C22,10.955,13.045,2,2,2z M4.5,17C3.118,17,2,18.12,2,19.5S3.118,22,4.5,22S7,20.88,7,19.5 S5.882,17,4.5,17z"/>
</svg>',
'flickr' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M6.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5S9.25,7,6.5,7z M17.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5 S20.25,7,17.5,7z"/>
</svg>',
'foursquare' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M17.573,2c0,0-9.197,0-10.668,0S5,3.107,5,3.805s0,16.948,0,16.948c0,0.785,0.422,1.077,0.66,1.172 c0.238,0.097,0.892,0.177,1.285-0.275c0,0,5.035-5.843,5.122-5.93c0.132-0.132,0.132-0.132,0.262-0.132h3.26 c1.368,0,1.588-0.977,1.732-1.552c0.078-0.318,0.692-3.428,1.225-6.122l0.675-3.368C19.56,2.893,19.14,2,17.573,2z M16.495,7.22 c-0.053,0.252-0.372,0.518-0.665,0.518c-0.293,0-4.157,0-4.157,0c-0.467,0-0.802,0.318-0.802,0.787v0.508 c0,0.467,0.337,0.798,0.805,0.798c0,0,3.197,0,3.528,0s0.655,0.362,0.583,0.715c-0.072,0.353-0.407,2.102-0.448,2.295 c-0.04,0.193-0.262,0.523-0.655,0.523c-0.33,0-2.88,0-2.88,0c-0.523,0-0.683,0.068-1.033,0.503 c-0.35,0.437-3.505,4.223-3.505,4.223c-0.032,0.035-0.063,0.027-0.063-0.015V4.852c0-0.298,0.26-0.648,0.648-0.648 c0,0,8.228,0,8.562,0c0.315,0,0.61,0.297,0.528,0.683L16.495,7.22z"/>
</svg>',
'goodreads' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M17.3,17.5c-0.2,0.8-0.5,1.4-1,1.9c-0.4,0.5-1,0.9-1.7,1.2C13.9,20.9,13.1,21,12,21c-0.6,0-1.3-0.1-1.9-0.2 c-0.6-0.1-1.1-0.4-1.6-0.7c-0.5-0.3-0.9-0.7-1.2-1.2c-0.3-0.5-0.5-1.1-0.5-1.7h1.5c0.1,0.5,0.2,0.9,0.5,1.2 c0.2,0.3,0.5,0.6,0.9,0.8c0.3,0.2,0.7,0.3,1.1,0.4c0.4,0.1,0.8,0.1,1.2,0.1c1.4,0,2.5-0.4,3.1-1.2c0.6-0.8,1-2,1-3.5v-1.7h0 c-0.4,0.8-0.9,1.4-1.6,1.9c-0.7,0.5-1.5,0.7-2.4,0.7c-1,0-1.9-0.2-2.6-0.5C8.7,15,8.1,14.5,7.7,14c-0.5-0.6-0.8-1.3-1-2.1 c-0.2-0.8-0.3-1.6-0.3-2.5c0-0.9,0.1-1.7,0.4-2.5c0.3-0.8,0.6-1.5,1.1-2c0.5-0.6,1.1-1,1.8-1.4C10.3,3.2,11.1,3,12,3 c0.5,0,0.9,0.1,1.3,0.2c0.4,0.1,0.8,0.3,1.1,0.5c0.3,0.2,0.6,0.5,0.9,0.8c0.3,0.3,0.5,0.6,0.6,1h0V3.4h1.5V15 C17.6,15.9,17.5,16.7,17.3,17.5z M13.8,14.1c0.5-0.3,0.9-0.7,1.3-1.1c0.3-0.5,0.6-1,0.8-1.6c0.2-0.6,0.3-1.2,0.3-1.9 c0-0.6-0.1-1.2-0.2-1.9c-0.1-0.6-0.4-1.2-0.7-1.7c-0.3-0.5-0.7-0.9-1.3-1.2c-0.5-0.3-1.1-0.5-1.9-0.5s-1.4,0.2-1.9,0.5 c-0.5,0.3-1,0.7-1.3,1.2C8.5,6.4,8.3,7,8.1,7.6C8,8.2,7.9,8.9,7.9,9.5c0,0.6,0.1,1.3,0.2,1.9C8.3,12,8.6,12.5,8.9,13 c0.3,0.5,0.8,0.8,1.3,1.1c0.5,0.3,1.1,0.4,1.9,0.4C12.7,14.5,13.3,14.4,13.8,14.1z"/>
</svg>',
'google-plus' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M8,11h6.61c0.06,0.35,0.11,0.7,0.11,1.16c0,4-2.68,6.84-6.72,6.84c-3.87,0-7-3.13-7-7s3.13-7,7-7 c1.89,0,3.47,0.69,4.69,1.83l-1.9,1.83C10.27,8.16,9.36,7.58,8,7.58c-2.39,0-4.34,1.98-4.34,4.42S5.61,16.42,8,16.42 c2.77,0,3.81-1.99,3.97-3.02H8V11L8,11z M23,11h-2V9h-2v2h-2v2h2v2h2v-2h2"/>
</svg>',
'google' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12.02,10.18v3.72v0.01h5.51c-0.26,1.57-1.67,4.22-5.5,4.22c-3.31,0-6.01-2.75-6.01-6.12s2.7-6.12,6.01-6.12 c1.87,0,3.13,0.8,3.85,1.48l2.84-2.76C16.99,2.99,14.73,2,12.03,2c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.77,0,9.6-4.06,9.6-9.77 c0-0.83-0.11-1.42-0.25-2.05H12.02z"/>
</svg>',
'github' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833
c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"/>
</svg>',
'instagram' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z"/>
</svg>',
'linkedin' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"/>
</svg>',
'mail' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M20,4H4C2.895,4,2,4.895,2,6v12c0,1.105,0.895,2,2,2h16c1.105,0,2-0.895,2-2V6C22,4.895,21.105,4,20,4z M20,8.236l-8,4.882 L4,8.236V6h16V8.236z"/>
</svg>',
'meetup' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z"/>
</svg>',
'medium' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M20.962,7.257l-5.457,8.867l-3.923-6.375l3.126-5.08c0.112-0.182,0.319-0.286,0.527-0.286c0.05,0,0.1,0.008,0.149,0.02 c0.039,0.01,0.078,0.023,0.114,0.041l5.43,2.715l0.006,0.003c0.004,0.002,0.007,0.006,0.011,0.008 C20.971,7.191,20.98,7.227,20.962,7.257z M9.86,8.592v5.783l5.14,2.57L9.86,8.592z M15.772,17.331l4.231,2.115 C20.554,19.721,21,19.529,21,19.016V8.835L15.772,17.331z M8.968,7.178L3.665,4.527C3.569,4.479,3.478,4.456,3.395,4.456 C3.163,4.456,3,4.636,3,4.938v11.45c0,0.306,0.224,0.669,0.498,0.806l4.671,2.335c0.12,0.06,0.234,0.088,0.337,0.088 c0.29,0,0.494-0.225,0.494-0.602V7.231C9,7.208,8.988,7.188,8.968,7.178z"/>
</svg>',
'pinterest' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2"/>
</svg>',
'pocket' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M21.927,4.194C21.667,3.48,20.982,3,20.222,3h-0.01h-1.721H3.839C3.092,3,2.411,3.47,2.145,4.17 C2.066,4.378,2.026,4.594,2.026,4.814v6.035l0.069,1.2c0.29,2.73,1.707,5.115,3.899,6.778c0.039,0.03,0.079,0.059,0.119,0.089 l0.025,0.018c1.175,0.859,2.491,1.441,3.91,1.727c0.655,0.132,1.325,0.2,1.991,0.2c0.615,0,1.232-0.057,1.839-0.17 c0.073-0.014,0.145-0.028,0.219-0.044c0.02-0.004,0.042-0.012,0.064-0.023c1.359-0.297,2.621-0.864,3.753-1.691l0.025-0.018 c0.04-0.029,0.08-0.058,0.119-0.089c2.192-1.664,3.609-4.049,3.898-6.778l0.069-1.2V4.814C22.026,4.605,22,4.398,21.927,4.194z M17.692,10.481l-4.704,4.512c-0.266,0.254-0.608,0.382-0.949,0.382c-0.342,0-0.684-0.128-0.949-0.382l-4.705-4.512 C5.838,9.957,5.82,9.089,6.344,8.542c0.524-0.547,1.392-0.565,1.939-0.04l3.756,3.601l3.755-3.601 c0.547-0.524,1.415-0.506,1.939,0.04C18.256,9.089,18.238,9.956,17.692,10.481z"/>
</svg>',
'reddit' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M22,11.816c0-1.256-1.021-2.277-2.277-2.277c-0.593,0-1.122,0.24-1.526,0.614c-1.481-0.965-3.455-1.594-5.647-1.69 l1.171-3.702l3.18,0.748c0.008,1.028,0.846,1.862,1.876,1.862c1.035,0,1.877-0.842,1.877-1.878c0-1.035-0.842-1.877-1.877-1.877 c-0.769,0-1.431,0.466-1.72,1.13l-3.508-0.826c-0.203-0.047-0.399,0.067-0.46,0.261l-1.35,4.268 c-2.316,0.038-4.411,0.67-5.97,1.671C5.368,9.765,4.853,9.539,4.277,9.539C3.021,9.539,2,10.56,2,11.816 c0,0.814,0.433,1.523,1.078,1.925c-0.037,0.221-0.061,0.444-0.061,0.672c0,3.292,4.011,5.97,8.941,5.97s8.941-2.678,8.941-5.97 c0-0.214-0.02-0.424-0.053-0.632C21.533,13.39,22,12.661,22,11.816z M18.776,4.394c0.606,0,1.1,0.493,1.1,1.1s-0.493,1.1-1.1,1.1 s-1.1-0.494-1.1-1.1S18.169,4.394,18.776,4.394z M2.777,11.816c0-0.827,0.672-1.5,1.499-1.5c0.313,0,0.598,0.103,0.838,0.269 c-0.851,0.676-1.477,1.479-1.812,2.36C2.983,12.672,2.777,12.27,2.777,11.816z M11.959,19.606c-4.501,0-8.164-2.329-8.164-5.193 S7.457,9.22,11.959,9.22s8.164,2.329,8.164,5.193S16.46,19.606,11.959,19.606z M20.636,13.001c-0.326-0.89-0.948-1.701-1.797-2.384 c0.248-0.186,0.55-0.301,0.883-0.301c0.827,0,1.5,0.673,1.5,1.5C21.223,12.299,20.992,12.727,20.636,13.001z M8.996,14.704 c-0.76,0-1.397-0.616-1.397-1.376c0-0.76,0.637-1.397,1.397-1.397c0.76,0,1.376,0.637,1.376,1.397 C10.372,14.088,9.756,14.704,8.996,14.704z M16.401,13.328c0,0.76-0.616,1.376-1.376,1.376c-0.76,0-1.399-0.616-1.399-1.376 c0-0.76,0.639-1.397,1.399-1.397C15.785,11.931,16.401,12.568,16.401,13.328z M15.229,16.708c0.152,0.152,0.152,0.398,0,0.55 c-0.674,0.674-1.727,1.002-3.219,1.002c-0.004,0-0.007-0.002-0.011-0.002c-0.004,0-0.007,0.002-0.011,0.002 c-1.492,0-2.544-0.328-3.218-1.002c-0.152-0.152-0.152-0.398,0-0.55c0.152-0.152,0.399-0.151,0.55,0 c0.521,0.521,1.394,0.775,2.669,0.775c0.004,0,0.007,0.002,0.011,0.002c0.004,0,0.007-0.002,0.011-0.002 c1.275,0,2.148-0.253,2.669-0.775C14.831,16.556,15.078,16.556,15.229,16.708z"/>
</svg>',
'skype' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M10.113,2.699c0.033-0.006,0.067-0.013,0.1-0.02c0.033,0.017,0.066,0.033,0.098,0.051L10.113,2.699z M2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223z M21.275,13.771 c0.007-0.035,0.011-0.071,0.018-0.106c-0.018-0.031-0.033-0.064-0.052-0.095L21.275,13.771z M13.563,21.199 c0.032,0.019,0.065,0.035,0.096,0.053c0.036-0.006,0.071-0.011,0.105-0.017L13.563,21.199z M22,16.386 c0,1.494-0.581,2.898-1.637,3.953c-1.056,1.057-2.459,1.637-3.953,1.637c-0.967,0-1.914-0.251-2.75-0.725 c0.036-0.006,0.071-0.011,0.105-0.017l-0.202-0.035c0.032,0.019,0.065,0.035,0.096,0.053c-0.543,0.096-1.099,0.147-1.654,0.147 c-1.275,0-2.512-0.25-3.676-0.743c-1.125-0.474-2.135-1.156-3.002-2.023c-0.867-0.867-1.548-1.877-2.023-3.002 c-0.493-1.164-0.743-2.401-0.743-3.676c0-0.546,0.049-1.093,0.142-1.628c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103C2.244,9.5,2,8.566,2,7.615c0-1.493,0.582-2.898,1.637-3.953 c1.056-1.056,2.46-1.638,3.953-1.638c0.915,0,1.818,0.228,2.622,0.655c-0.033,0.007-0.067,0.013-0.1,0.02l0.199,0.031 c-0.032-0.018-0.066-0.034-0.098-0.051c0.002,0,0.003-0.001,0.004-0.001c0.586-0.112,1.187-0.169,1.788-0.169 c1.275,0,2.512,0.249,3.676,0.742c1.124,0.476,2.135,1.156,3.002,2.024c0.868,0.867,1.548,1.877,2.024,3.002 c0.493,1.164,0.743,2.401,0.743,3.676c0,0.575-0.054,1.15-0.157,1.712c-0.018-0.031-0.033-0.064-0.052-0.095l0.034,0.201 c0.007-0.035,0.011-0.071,0.018-0.106C21.754,14.494,22,15.432,22,16.386z M16.817,14.138c0-1.331-0.613-2.743-3.033-3.282 l-2.209-0.49c-0.84-0.192-1.807-0.444-1.807-1.237c0-0.794,0.679-1.348,1.903-1.348c2.468,0,2.243,1.696,3.468,1.696 c0.645,0,1.209-0.379,1.209-1.031c0-1.521-2.435-2.663-4.5-2.663c-2.242,0-4.63,0.952-4.63,3.488c0,1.221,0.436,2.521,2.839,3.123 l2.984,0.745c0.903,0.223,1.129,0.731,1.129,1.189c0,0.762-0.758,1.507-2.129,1.507c-2.679,0-2.307-2.062-3.743-2.062 c-0.645,0-1.113,0.444-1.113,1.078c0,1.236,1.501,2.886,4.856,2.886C15.236,17.737,16.817,16.199,16.817,14.138z"/>
</svg>',
'slideshare' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M11.738,10.232a2.142,2.142,0,0,1-.721,1.619,2.556,2.556,0,0,1-3.464,0,2.183,2.183,0,0,1,0-3.243,2.572,2.572,0,0,1,3.464,0A2.136,2.136,0,0,1,11.738,10.232Zm5.7,0a2.15,2.15,0,0,1-.715,1.619,2.563,2.563,0,0,1-3.469,0,2.183,2.183,0,0,1,0-3.243,2.58,2.58,0,0,1,3.469,0A2.144,2.144,0,0,1,17.439,10.232Zm2.555,2.045V4.7a2.128,2.128,0,0,0-.363-1.4,1.614,1.614,0,0,0-1.261-.415H5.742a1.656,1.656,0,0,0-1.278.386A2.246,2.246,0,0,0,4.129,4.7v7.643a8.212,8.212,0,0,0,1,.454q.516.193.92.318a6.847,6.847,0,0,0,.92.21q.516.085.806.125a6.615,6.615,0,0,0,.795.045l.665.006q.16,0,.642-.023t.506-.023a1.438,1.438,0,0,1,1.079.307,1.134,1.134,0,0,0,.114.1,7.215,7.215,0,0,0,.693.579q.079-1.033,1.34-.988.057,0,.415.017l.488.023q.13.006.517.011t.6-.011l.619-.051a5.419,5.419,0,0,0,.693-.1l.7-.153a5.353,5.353,0,0,0,.761-.221q.345-.131.766-.307a8.727,8.727,0,0,0,.818-.392Zm1.851-.057a10.4,10.4,0,0,1-4.225,2.862,6.5,6.5,0,0,1-.261,5.281,3.524,3.524,0,0,1-2.078,1.681,2.452,2.452,0,0,1-2.067-.17,1.915,1.915,0,0,1-.931-1.863l-.011-3.7V16.3l-.279-.068q-.188-.045-.267-.057l-.011,3.839a1.9,1.9,0,0,1-.943,1.863,2.481,2.481,0,0,1-2.078.17,3.519,3.519,0,0,1-2.067-1.7,6.546,6.546,0,0,1-.25-5.258A10.4,10.4,0,0,1,2.152,12.22a.56.56,0,0,1-.045-.715q.238-.3.681.011l.125.079a.767.767,0,0,1,.125.091V3.8a1.987,1.987,0,0,1,.534-1.4,1.7,1.7,0,0,1,1.295-.579H19.141a1.7,1.7,0,0,1,1.295.579,1.985,1.985,0,0,1,.534,1.4v7.882l.238-.17q.443-.307.681-.011a.56.56,0,0,1-.045.715Z"/>
</svg>',
'snapchat' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12.065,2a5.526,5.526,0,0,1,3.132.892A5.854,5.854,0,0,1,17.326,5.4a5.821,5.821,0,0,1,.351,2.33q0,.612-.117,2.487a.809.809,0,0,0,.365.091,1.93,1.93,0,0,0,.664-.176,1.93,1.93,0,0,1,.664-.176,1.3,1.3,0,0,1,.729.234.7.7,0,0,1,.351.6.839.839,0,0,1-.41.7,2.732,2.732,0,0,1-.9.41,3.192,3.192,0,0,0-.9.378.728.728,0,0,0-.41.618,1.575,1.575,0,0,0,.156.56,6.9,6.9,0,0,0,1.334,1.953,5.6,5.6,0,0,0,1.881,1.315,5.875,5.875,0,0,0,1.042.3.42.42,0,0,1,.365.456q0,.911-2.852,1.341a1.379,1.379,0,0,0-.143.507,1.8,1.8,0,0,1-.182.605.451.451,0,0,1-.429.241,5.878,5.878,0,0,1-.807-.085,5.917,5.917,0,0,0-.833-.085,4.217,4.217,0,0,0-.807.065,2.42,2.42,0,0,0-.82.293,6.682,6.682,0,0,0-.755.5q-.351.267-.755.527a3.886,3.886,0,0,1-.989.436A4.471,4.471,0,0,1,11.831,22a4.307,4.307,0,0,1-1.256-.176,3.784,3.784,0,0,1-.976-.436q-.4-.26-.749-.527a6.682,6.682,0,0,0-.755-.5,2.422,2.422,0,0,0-.807-.293,4.432,4.432,0,0,0-.82-.065,5.089,5.089,0,0,0-.853.1,5,5,0,0,1-.762.1.474.474,0,0,1-.456-.241,1.819,1.819,0,0,1-.182-.618,1.411,1.411,0,0,0-.143-.521q-2.852-.429-2.852-1.341a.42.42,0,0,1,.365-.456,5.793,5.793,0,0,0,1.042-.3,5.524,5.524,0,0,0,1.881-1.315,6.789,6.789,0,0,0,1.334-1.953A1.575,1.575,0,0,0,6,12.9a.728.728,0,0,0-.41-.618,3.323,3.323,0,0,0-.9-.384,2.912,2.912,0,0,1-.9-.41.814.814,0,0,1-.41-.684.71.71,0,0,1,.338-.593,1.208,1.208,0,0,1,.716-.241,1.976,1.976,0,0,1,.625.169,2.008,2.008,0,0,0,.69.169.919.919,0,0,0,.416-.091q-.117-1.849-.117-2.474A5.861,5.861,0,0,1,6.385,5.4,5.516,5.516,0,0,1,8.625,2.819,7.075,7.075,0,0,1,12.062,2Z"/>
</svg>',
'soundcloud' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M8.9,16.1L9,14L8.9,9.5c0-0.1,0-0.1-0.1-0.1c0,0-0.1-0.1-0.1-0.1c-0.1,0-0.1,0-0.1,0.1c0,0-0.1,0.1-0.1,0.1L8.3,14l0.1,2.1 c0,0.1,0,0.1,0.1,0.1c0,0,0.1,0.1,0.1,0.1C8.8,16.3,8.9,16.3,8.9,16.1z M11.4,15.9l0.1-1.8L11.4,9c0-0.1,0-0.2-0.1-0.2 c0,0-0.1,0-0.1,0s-0.1,0-0.1,0c-0.1,0-0.1,0.1-0.1,0.2l0,0.1l-0.1,5c0,0,0,0.7,0.1,2v0c0,0.1,0,0.1,0.1,0.1c0.1,0.1,0.1,0.1,0.2,0.1 c0.1,0,0.1,0,0.2-0.1c0.1,0,0.1-0.1,0.1-0.2L11.4,15.9z M2.4,12.9L2.5,14l-0.2,1.1c0,0.1,0,0.1-0.1,0.1c0,0-0.1,0-0.1-0.1L2.1,14 l0.1-1.1C2.2,12.9,2.3,12.9,2.4,12.9C2.3,12.9,2.4,12.9,2.4,12.9z M3.1,12.2L3.3,14l-0.2,1.8c0,0.1,0,0.1-0.1,0.1 c-0.1,0-0.1,0-0.1-0.1L2.8,14L3,12.2C3,12.2,3,12.2,3.1,12.2C3.1,12.2,3.1,12.2,3.1,12.2z M3.9,11.9L4.1,14l-0.2,2.1 c0,0.1,0,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L3.5,14l0.2-2.1c0-0.1,0-0.1,0.1-0.1C3.9,11.8,3.9,11.8,3.9,11.9z M4.7,11.9L4.9,14 l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L4.3,14l0.2-2.2c0-0.1,0-0.1,0.1-0.1C4.7,11.7,4.7,11.8,4.7,11.9z M5.6,12 l0.2,2l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c0,0-0.1,0-0.1,0c0,0,0-0.1,0-0.1L5.1,14l0.2-2c0,0,0-0.1,0-0.1s0.1,0,0.1,0 C5.5,11.9,5.5,11.9,5.6,12L5.6,12z M6.4,10.7L6.6,14l-0.2,2.1c0,0,0,0.1,0,0.1c0,0-0.1,0-0.1,0c-0.1,0-0.1-0.1-0.2-0.2L5.9,14 l0.2-3.3c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0C6.4,10.7,6.4,10.7,6.4,10.7z M7.2,10l0.2,4.1l-0.2,2.1c0,0,0,0.1,0,0.1 c0,0-0.1,0-0.1,0c-0.1,0-0.2-0.1-0.2-0.2l-0.1-2.1L6.8,10c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0S7.2,9.9,7.2,10z M8,9.6L8.2,14 L8,16.1c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2L7.5,14l0.1-4.4c0-0.1,0-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0.1,0,0.1,0,0.1,0.1 C8,9.6,8,9.6,8,9.6z M11.4,16.1L11.4,16.1L11.4,16.1z M9.7,9.6L9.8,14l-0.1,2.1c0,0.1,0,0.1-0.1,0.2s-0.1,0.1-0.2,0.1 c-0.1,0-0.1,0-0.1-0.1s-0.1-0.1-0.1-0.2L9.2,14l0.1-4.4c0-0.1,0-0.1,0.1-0.2s0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S9.7,9.5,9.7,9.6 L9.7,9.6z M10.6,9.8l0.1,4.3l-0.1,2c0,0.1,0,0.1-0.1,0.2c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c0,0-0.1-0.1-0.1-0.2L10,14 l0.1-4.3c0-0.1,0-0.1,0.1-0.2c0,0,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S10.6,9.7,10.6,9.8z M12.4,14l-0.1,2c0,0.1,0,0.1-0.1,0.2 c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2l-0.1-1l-0.1-1l0.1-5.5v0c0-0.1,0-0.2,0.1-0.2 c0.1,0,0.1-0.1,0.2-0.1c0,0,0.1,0,0.1,0c0.1,0,0.1,0.1,0.1,0.2L12.4,14z M22.1,13.9c0,0.7-0.2,1.3-0.7,1.7c-0.5,0.5-1.1,0.7-1.7,0.7 h-6.8c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2V8.2c0-0.1,0.1-0.2,0.2-0.3c0.5-0.2,1-0.3,1.6-0.3c1.1,0,2.1,0.4,2.9,1.1 c0.8,0.8,1.3,1.7,1.4,2.8c0.3-0.1,0.6-0.2,1-0.2c0.7,0,1.3,0.2,1.7,0.7C21.8,12.6,22.1,13.2,22.1,13.9L22.1,13.9z"/>
</svg>',
'spotify' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,2C6.477,2,2,6.477,2,12c0,5.523,4.477,10,10,10c5.523,0,10-4.477,10-10C22,6.477,17.523,2,12,2 M16.586,16.424 c-0.18,0.295-0.563,0.387-0.857,0.207c-2.348-1.435-5.304-1.76-8.785-0.964c-0.335,0.077-0.67-0.133-0.746-0.469 c-0.077-0.335,0.132-0.67,0.469-0.746c3.809-0.871,7.077-0.496,9.713,1.115C16.673,15.746,16.766,16.13,16.586,16.424 M17.81,13.7 c-0.226,0.367-0.706,0.482-1.072,0.257c-2.687-1.652-6.785-2.131-9.965-1.166C6.36,12.917,5.925,12.684,5.8,12.273 C5.675,11.86,5.908,11.425,6.32,11.3c3.632-1.102,8.147-0.568,11.234,1.328C17.92,12.854,18.035,13.335,17.81,13.7 M17.915,10.865 c-3.223-1.914-8.54-2.09-11.618-1.156C5.804,9.859,5.281,9.58,5.131,9.086C4.982,8.591,5.26,8.069,5.755,7.919 c3.532-1.072,9.404-0.865,13.115,1.338c0.445,0.264,0.59,0.838,0.327,1.282C18.933,10.983,18.359,11.129,17.915,10.865"/>
</svg>',
'stumbleupon' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12,4.294c-2.469,0-4.471,2.002-4.471,4.471v6.353c0,0.585-0.474,1.059-1.059,1.059c-0.585,0-1.059-0.474-1.059-1.059 v-2.824H2v2.941c0,2.469,2.002,4.471,4.471,4.471c2.469,0,4.471-2.002,4.471-4.471V8.765c0-0.585,0.474-1.059,1.059-1.059 s1.059,0.474,1.059,1.059v1.294l1.412,0.647l2-0.647V8.765C16.471,6.296,14.469,4.294,12,4.294z M13.059,12.353v2.882 c0,2.469,2.002,4.471,4.471,4.471S22,17.704,22,15.235v-2.824h-3.412v2.824c0,0.585-0.474,1.059-1.059,1.059 c-0.585,0-1.059-0.474-1.059-1.059v-2.882l-2,0.647L13.059,12.353z"/>
</svg>',
'tumblr' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M16.749,17.396c-0.357,0.17-1.041,0.319-1.551,0.332c-1.539,0.041-1.837-1.081-1.85-1.896V9.847h3.861V6.937h-3.847V2.039 c0,0-2.77,0-2.817,0c-0.046,0-0.127,0.041-0.138,0.144c-0.165,1.499-0.867,4.13-3.783,5.181v2.484h1.945v6.282 c0,2.151,1.587,5.206,5.775,5.135c1.413-0.024,2.982-0.616,3.329-1.126L16.749,17.396z"/>
</svg>',
'twitch' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M16.499,8.089h-1.636v4.91h1.636V8.089z M12,8.089h-1.637v4.91H12V8.089z M4.228,3.178L3,6.451v13.092h4.499V22h2.456 l2.454-2.456h3.681L21,14.636V3.178H4.228z M19.364,13.816l-2.864,2.865H12l-2.453,2.453V16.68H5.863V4.814h13.501V13.816z"/>
</svg>',
'twitter' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"/>
</svg>',
'vimeo' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M22.396,7.164c-0.093,2.026-1.507,4.799-4.245,8.32C15.322,19.161,12.928,21,10.97,21c-1.214,0-2.24-1.119-3.079-3.359 c-0.56-2.053-1.119-4.106-1.68-6.159C5.588,9.243,4.921,8.122,4.206,8.122c-0.156,0-0.701,0.328-1.634,0.98L1.594,7.841 c1.027-0.902,2.04-1.805,3.037-2.708C6.001,3.95,7.03,3.327,7.715,3.264c1.619-0.156,2.616,0.951,2.99,3.321 c0.404,2.557,0.685,4.147,0.841,4.769c0.467,2.121,0.981,3.181,1.542,3.181c0.435,0,1.09-0.688,1.963-2.065 c0.871-1.376,1.338-2.422,1.401-3.142c0.125-1.187-0.343-1.782-1.401-1.782c-0.498,0-1.012,0.115-1.541,0.341 c1.023-3.35,2.977-4.977,5.862-4.884C21.511,3.066,22.52,4.453,22.396,7.164z"/>
</svg>',
'vk' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M22,7.1c0.2,0.4-0.4,1.5-1.6,3.1c-0.2,0.2-0.4,0.5-0.7,0.9c-0.5,0.7-0.9,1.1-0.9,1.4c-0.1,0.3-0.1,0.6,0.1,0.8 c0.1,0.1,0.4,0.4,0.8,0.9h0l0,0c1,0.9,1.6,1.7,2,2.3c0,0,0,0.1,0.1,0.1c0,0.1,0,0.1,0.1,0.3c0,0.1,0,0.2,0,0.4 c0,0.1-0.1,0.2-0.3,0.3c-0.1,0.1-0.4,0.1-0.6,0.1l-2.7,0c-0.2,0-0.4,0-0.6-0.1c-0.2-0.1-0.4-0.1-0.5-0.2l-0.2-0.1 c-0.2-0.1-0.5-0.4-0.7-0.7s-0.5-0.6-0.7-0.8c-0.2-0.2-0.4-0.4-0.6-0.6C14.8,15,14.6,15,14.4,15c0,0,0,0-0.1,0c0,0-0.1,0.1-0.2,0.2 c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.1-0.1,0.3-0.2,0.5c-0.1,0.2-0.1,0.5-0.1,0.8c0,0.1,0,0.2,0,0.3c0,0.1-0.1,0.2-0.1,0.2l0,0.1 c-0.1,0.1-0.3,0.2-0.6,0.2h-1.2c-0.5,0-1,0-1.5-0.2c-0.5-0.1-1-0.3-1.4-0.6s-0.7-0.5-1.1-0.7s-0.6-0.4-0.7-0.6l-0.3-0.3 c-0.1-0.1-0.2-0.2-0.3-0.3s-0.4-0.5-0.7-0.9s-0.7-1-1.1-1.6c-0.4-0.6-0.8-1.3-1.3-2.2C2.9,9.4,2.5,8.5,2.1,7.5C2,7.4,2,7.3,2,7.2 c0-0.1,0-0.1,0-0.2l0-0.1c0.1-0.1,0.3-0.2,0.6-0.2l2.9,0c0.1,0,0.2,0,0.2,0.1S5.9,6.9,5.9,7L6,7c0.1,0.1,0.2,0.2,0.3,0.3 C6.4,7.7,6.5,8,6.7,8.4C6.9,8.8,7,9,7.1,9.2l0.2,0.3c0.2,0.4,0.4,0.8,0.6,1.1c0.2,0.3,0.4,0.5,0.5,0.7s0.3,0.3,0.4,0.4 c0.1,0.1,0.3,0.1,0.4,0.1c0.1,0,0.2,0,0.3-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.1-0.2c0.1-0.1,0.1-0.3,0.1-0.5c0-0.2,0.1-0.5,0.1-0.8 c0-0.4,0-0.8,0-1.3c0-0.3,0-0.5-0.1-0.8c0-0.2-0.1-0.4-0.1-0.5L9.6,7.6C9.4,7.3,9.1,7.2,8.7,7.1C8.6,7.1,8.6,7,8.7,6.9 C8.9,6.7,9,6.6,9.1,6.5c0.4-0.2,1.2-0.3,2.5-0.3c0.6,0,1,0.1,1.4,0.1c0.1,0,0.3,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.3 c0,0.1,0.1,0.2,0.1,0.3s0,0.3,0,0.5c0,0.2,0,0.4,0,0.6c0,0.2,0,0.4,0,0.7c0,0.3,0,0.6,0,0.9c0,0.1,0,0.2,0,0.4c0,0.2,0,0.4,0,0.5 c0,0.1,0,0.3,0,0.4s0.1,0.3,0.1,0.4c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.2-0.2,0.4-0.4 s0.3-0.4,0.5-0.7c0.2-0.3,0.5-0.7,0.7-1.1c0.4-0.7,0.8-1.5,1.1-2.3c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.1l0,0l0.1,0 c0,0,0,0,0.1,0s0.2,0,0.2,0l3,0c0.3,0,0.5,0,0.7,0S21.9,7,21.9,7L22,7.1z"/>
</svg>',
'wordpress' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z"/>
</svg>',
'yelp' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M12.271,16.718v1.417q-.011,3.257-.067,3.4a.707.707,0,0,1-.569.446,4.637,4.637,0,0,1-2.024-.424A4.609,4.609,0,0,1,7.8,20.565a.844.844,0,0,1-.19-.4.692.692,0,0,1,.044-.29,3.181,3.181,0,0,1,.379-.524q.335-.412,2.019-2.409.011,0,.669-.781a.757.757,0,0,1,.44-.274.965.965,0,0,1,.552.039.945.945,0,0,1,.418.324.732.732,0,0,1,.139.468Zm-1.662-2.8a.783.783,0,0,1-.58.781l-1.339.435q-3.067.981-3.257.981a.711.711,0,0,1-.6-.4,2.636,2.636,0,0,1-.19-.836,9.134,9.134,0,0,1,.011-1.857,3.559,3.559,0,0,1,.335-1.389.659.659,0,0,1,.625-.357,22.629,22.629,0,0,1,2.253.859q.781.324,1.283.524l.937.379a.771.771,0,0,1,.4.34A.982.982,0,0,1,10.609,13.917Zm9.213,3.313a4.467,4.467,0,0,1-1.021,1.8,4.559,4.559,0,0,1-1.512,1.417.671.671,0,0,1-.7-.078q-.156-.112-2.052-3.2l-.524-.859a.761.761,0,0,1-.128-.513.957.957,0,0,1,.217-.513.774.774,0,0,1,.926-.29q.011.011,1.327.446,2.264.736,2.7.887a2.082,2.082,0,0,1,.524.229.673.673,0,0,1,.245.68Zm-7.5-7.049q.056,1.137-.6,1.361-.647.19-1.272-.792L6.237,4.08a.7.7,0,0,1,.212-.691,5.788,5.788,0,0,1,2.314-1,5.928,5.928,0,0,1,2.5-.352.681.681,0,0,1,.547.5q.034.2.245,3.407T12.327,10.181Zm7.384,1.2a.679.679,0,0,1-.29.658q-.167.112-3.67.959-.747.167-1.015.257l.011-.022a.769.769,0,0,1-.513-.044.914.914,0,0,1-.413-.357.786.786,0,0,1,0-.971q.011-.011.836-1.137,1.394-1.908,1.673-2.275a2.423,2.423,0,0,1,.379-.435A.7.7,0,0,1,17.435,8a4.482,4.482,0,0,1,1.372,1.489,4.81,4.81,0,0,1,.9,1.868v.034Z"/>
</svg>',
'youtube' => '
<svg viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"/>
</svg>',
);
}

View File

@ -0,0 +1,104 @@
<?php
/**
* Custom comment walker for this theme
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/**
* This class outputs custom comment walker for HTML5 friendly WordPress comment and threaded replies.
*
* @since 1.0.0
*/
class TwentyNineteen_Walker_Comment extends Walker_Comment {
/**
* Outputs a comment in the HTML5 format.
*
* @see wp_list_comments()
*
* @param WP_Comment $comment Comment to display.
* @param int $depth Depth of the current comment.
* @param array $args An array of arguments.
*/
protected function html5_comment( $comment, $depth, $args ) {
$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
?>
<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>
<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
<footer class="comment-meta">
<div class="comment-author vcard">
<?php
$comment_author_link = get_comment_author_link( $comment );
$comment_author_url = get_comment_author_url( $comment );
$avatar = get_avatar( $comment, $args['avatar_size'] );
if ( 0 != $args['avatar_size'] ) {
if ( empty( $comment_author_url ) ) {
echo $avatar;
} else {
echo preg_replace( '/>[^<]+</', sprintf( '>%s<', $avatar ), $comment_author_link );
}
}
/*
* Using the `check` icon instead of `check_circle`, since we can't add a
* fill color to the inner check shape when in circle form.
*/
if ( twentynineteen_is_comment_by_post_author( $comment ) ) {
/* translators: %s: SVG Icon */
printf( '<span class="post-author-badge" aria-hidden="true">%s</span>', twentynineteen_get_icon_svg( 'check', 24 ) );
}
/* translators: %s: comment author link */
printf(
__( '%s <span class="screen-reader-text says">says:</span>' ),
sprintf( '<b class="fn">%s</b>', get_comment_author_link( $comment ) )
);
?>
</div><!-- .comment-author -->
<div class="comment-metadata">
<a href="<?php echo esc_url( get_comment_link( $comment, $args ) ); ?>">
<?php /* translators: 1: comment date, 2: comment time */ ?>
<time datetime="<?php comment_time( 'c' ); ?>" title="<?php printf( __( '%1$s at %2$s', 'twentynineteen' ), get_comment_date( '', $comment ), get_comment_time() ); ?>">
<?php printf( __( '%1$s at %2$s', 'twentynineteen' ), get_comment_date( '', $comment ), get_comment_time() ); ?>
</time>
</a>
<?php
$edit_comment_icon = twentynineteen_get_icon_svg( 'edit', 16 );
edit_comment_link( __( 'Edit' ), '<span class="edit-link-sep">&mdash;</span> <span class="edit-link">' . $edit_comment_icon, '</span>' );
?>
</div><!-- .comment-metadata -->
<?php if ( '0' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></p>
<?php endif; ?>
</footer><!-- .comment-meta -->
<div class="comment-content">
<?php comment_text(); ?>
</div><!-- .comment-content -->
</article><!-- .comment-body -->
<?php
comment_reply_link(
array_merge(
$args,
array(
'add_below' => 'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '<div class="comment-reply">',
'after' => '</div>',
)
)
);
?>
<?php
}
}

View File

@ -0,0 +1,127 @@
<?php
/**
* The template for displaying comments
*
* This is the template that displays the area of the page that contains both the current comments
* and the comment form.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/*
If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}
?>
<div id="comments" class="<?php echo comments_open() ? 'comments-area' : 'comments-area comments-closed'; ?>">
<div class="<?php echo twentynineteen_get_discussion_data()->responses > 0 ? 'comments-title-wrap' : 'comments-title-wrap no-responses'; ?>">
<h2 class="comments-title">
<?php
if ( comments_open() ) {
if ( have_comments() ) {
echo esc_html_e( 'Join the Conversation', 'twentynineteen' );
} else {
echo esc_html_e( 'Leave a comment', 'twentynineteen' );
}
} else {
$comments_number = get_comments_number();
if ( '1' === $comments_number ) {
/* translators: %s: post title */
printf( _x( 'One reply on &ldquo;%s&rdquo;', 'comments title', 'twentynineteen' ), get_the_title() );
} else {
printf(
/* translators: 1: number of comments, 2: post title */
_nx(
'%1$s reply on &ldquo;%2$s&rdquo;',
'%1$s replies on &ldquo;%2$s&rdquo;',
$comments_number,
'comments title',
'twentynineteen'
),
number_format_i18n( $comments_number ),
get_the_title()
);
}
}
?>
</h2><!-- .comments-title -->
<?php
// Only show discussion meta information when comments are open and available.
if ( have_comments() && comments_open() ) {
get_template_part( 'template-parts/post/discussion', 'meta' );
}
?>
</div><!-- .comments-title-flex -->
<?php
if ( have_comments() ) :
// Show comment form at top if showing newest comments at the top.
if ( comments_open() ) {
twentynineteen_comment_form( 'desc' );
}
?>
<ol class="comment-list">
<?php
wp_list_comments(
array(
'walker' => new TwentyNineteen_Walker_Comment(),
'avatar_size' => twentynineteen_get_avatar_size(),
'short_ping' => true,
'style' => 'ol',
)
);
?>
</ol><!-- .comment-list -->
<?php
// Show comment form at bottom if showing newest comments at the bottom.
if ( comments_open() && 'asc' === strtolower( get_option( 'comment_order', 'asc' ) ) ) :
?>
<div class="comment-form-flex">
<span class="screen-reader-text"><?php esc_html_e( 'Leave a comment', 'twentynineteen' ); ?></span>
<?php twentynineteen_comment_form( 'asc' ); ?>
<h2 class="comments-title" aria-hidden="true"><?php esc_html_e( 'Leave a comment', 'twentynineteen' ); ?></h2>
</div>
<?php
endif;
// Show comment navigation
if ( have_comments() ) :
$prev_icon = twentynineteen_get_icon_svg( 'chevron_left', 22 );
$next_icon = twentynineteen_get_icon_svg( 'chevron_right', 22 );
$comments_text = __( 'Comments', 'twentynineteen' );
the_comments_navigation(
array(
'prev_text' => sprintf( '%s <span class="nav-prev-text"><span class="primary-text">%s</span> <span class="secondary-text">%s</span></span>', $prev_icon, __( 'Previous', 'twentynineteen' ), __( 'Comments', 'twentynineteen' ) ),
'next_text' => sprintf( '<span class="nav-next-text"><span class="primary-text">%s</span> <span class="secondary-text">%s</span></span> %s', __( 'Next', 'twentynineteen' ), __( 'Comments', 'twentynineteen' ), $next_icon ),
)
);
endif;
// If comments are closed and there are comments, let's leave a little note, shall we?
if ( ! comments_open() ) :
?>
<p class="no-comments">
<?php esc_html_e( 'Comments are closed.', 'twentynineteen' ); ?>
</p>
<?php
endif;
else :
// Show comment form.
twentynineteen_comment_form( true );
endif; // if have_comments();
?>
</div><!-- #comments -->

View File

@ -0,0 +1,36 @@
<?php
/**
* The template for displaying the footer
*
* Contains the closing of the #content div and all content after.
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
</div><!-- #content -->
<footer id="colophon" class="site-footer">
<div class="site-info">
<a class="site-name" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>,
<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentynineteen' ) ); ?>" class="imprint">
<?php printf( __( 'Proudly powered by %s', 'twentynineteen' ), 'WordPress' ); ?>.
</a>
<?php
if ( function_exists( 'the_privacy_policy_link' ) ) {
the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
}
?>
</div><!-- .site-info -->
</footer><!-- #colophon -->
</div><!-- #page -->
<?php wp_footer(); ?>
</body>
</html>

View File

@ -0,0 +1,187 @@
<?php
/**
* Twenty Nineteen functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
if ( ! function_exists( 'twentynineteen_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support for post thumbnails.
*/
function twentynineteen_setup() {
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on Twenty Nineteen, use a find and replace
* to change 'twentynineteen' to the name of your theme in all the template files.
*/
load_theme_textdomain( 'twentynineteen', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 1568, 9999 );
// This theme uses wp_nav_menu() in two locations.
register_nav_menus(
array(
'menu-1' => esc_html__( 'Primary', 'twentynineteen' ),
'social' => __( 'Social Links Menu', 'twentynineteen' ),
)
);
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
)
);
// Set up the WordPress core custom background feature.
add_theme_support(
'custom-background',
apply_filters(
'twentynineteen_custom_background_args',
array(
'default-color' => 'ffffff',
'default-image' => '',
)
)
);
/**
* Add support for core custom logo.
*
* @link https://codex.wordpress.org/Theme_Logo
*/
add_theme_support(
'custom-logo',
array(
'height' => 190,
'width' => 190,
'flex-width' => false,
'flex-height' => false,
)
);
// Add support for Block Styles
add_theme_support( 'wp-block-styles' );
// Add support for full and wide align images.
add_theme_support( 'align-wide' );
// Add support for editor styles
add_theme_support( 'editor-styles' );
// Enqueue editor styles
add_editor_style( 'style-editor.css' );
}
endif;
add_action( 'after_setup_theme', 'twentynineteen_setup' );
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function twentynineteen_content_width() {
// This variable is intended to be overruled from themes.
// Open WPCS issue: {@link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/1043}.
// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
$GLOBALS['content_width'] = apply_filters( 'twentynineteen_content_width', 640 );
}
add_action( 'after_setup_theme', 'twentynineteen_content_width', 0 );
/**
* Enqueue scripts and styles.
*/
function twentynineteen_scripts() {
wp_enqueue_style( 'twentynineteen-style', get_stylesheet_uri() );
wp_style_add_data( 'twentynineteen-style', 'rtl', 'replace' );
wp_enqueue_script( 'twentynineteen-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true );
wp_enqueue_style( 'twentynineteen-print-style', get_template_directory_uri() . '/print.css', array(), wp_get_theme()->get( 'Version' ), 'print' );
if ( is_singular() && twentynineteen_can_show_post_thumbnail() ) {
wp_add_inline_style( 'twentynineteen-style', twentynineteen_header_featured_image_css() );
}
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'twentynineteen_scripts' );
/**
* Enqueue supplemental block editor styles
*/
function twentynineteen_editor_frame_styles() {
wp_enqueue_style( 'twentynineteen-editor-frame-styles', get_theme_file_uri( '/style-editor-frame.css' ), false, '1.0', 'all' );
}
add_action( 'enqueue_block_editor_assets', 'twentynineteen_editor_frame_styles' );
/**
* SVG Icons class.
*/
require get_template_directory() . '/classes/class-twentynineteen-svg-icons.php';
/**
* Custom Comment Walker template.
*/
require get_template_directory() . '/classes/class-twentynineteen-walker-comment.php';
/**
* Enhance the theme by hooking into WordPress.
*/
require get_template_directory() . '/inc/template-functions.php';
/**
* SVG Icons related functions.
*/
require get_template_directory() . '/inc/icon-functions.php';
/**
* Custom template tags for the theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';

View File

@ -0,0 +1,76 @@
<?php
/**
* The header for our theme
*
* This is the template that displays all of the <head> section and everything up until <div id="content">
*
* @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?><!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="https://gmpg.org/xfn/11" />
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page" class="site">
<a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'twentynineteen' ); ?></a>
<header id="masthead" class="<?php echo is_singular() && twentynineteen_can_show_post_thumbnail() ? 'site-header featured-image' : 'site-header'; ?>">
<div class="site-branding-container">
<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
</div><!-- .layout-wrap -->
<?php if ( is_singular() && twentynineteen_can_show_post_thumbnail() ) : ?>
<div class="hentry">
<?php the_post(); ?>
<div class="entry-header">
<?php if ( ! is_page() ) : ?>
<?php $discussion = twentynineteen_can_show_post_thumbnail() ? twentynineteen_get_discussion_data() : null; ?>
<?php endif; ?>
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
<?php if ( ! is_page() ) : ?>
<div class="<?php echo ( ! empty( $discussion ) && count( $discussion->authors ) > 0 ) ? 'entry-meta has-discussion' : 'entry-meta'; ?>">
<?php twentynineteen_posted_by(); ?>
<?php twentynineteen_posted_on(); ?>
<span class="comment-count">
<?php
if ( ! empty( $discussion ) ) {
twentynineteen_discussion_avatars_list( $discussion->authors );}
?>
<?php twentynineteen_comment_count(); ?>
</span>
<?php
// Edit post link.
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers. */
__( 'Edit <span class="screen-reader-text">%s</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
),
'<span class="edit-link">' . twentynineteen_get_icon_svg( 'edit', 16 ),
'</span>'
);
?>
</div><!-- .meta-info -->
<?php endif; ?>
</div><!-- .entry-header -->
<?php rewind_posts(); ?>
</div>
<?php endif; ?>
</header><!-- #masthead -->
<div id="content" class="site-content">

View File

@ -0,0 +1,62 @@
<?php
/**
* Twenty Nineteen Theme Customizer
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
function twentynineteen_customize_register( $wp_customize ) {
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
if ( isset( $wp_customize->selective_refresh ) ) {
$wp_customize->selective_refresh->add_partial(
'blogname',
array(
'selector' => '.site-title a',
'render_callback' => 'twentynineteen_customize_partial_blogname',
)
);
$wp_customize->selective_refresh->add_partial(
'blogdescription',
array(
'selector' => '.site-description',
'render_callback' => 'twentynineteen_customize_partial_blogdescription',
)
);
}
}
add_action( 'customize_register', 'twentynineteen_customize_register' );
/**
* Render the site title for the selective refresh partial.
*
* @return void
*/
function twentynineteen_customize_partial_blogname() {
bloginfo( 'name' );
}
/**
* Render the site tagline for the selective refresh partial.
*
* @return void
*/
function twentynineteen_customize_partial_blogdescription() {
bloginfo( 'description' );
}
/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function twentynineteen_customize_preview_js() {
wp_enqueue_script( 'twentynineteen-customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20151215', true );
}
add_action( 'customize_preview_init', 'twentynineteen_customize_preview_js' );

View File

@ -0,0 +1,51 @@
<?php
/**
* SVG icons related functions
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/**
* Gets the SVG code for a given icon.
*/
function twentynineteen_get_icon_svg( $icon, $size = 24 ) {
return TwentyNineteen_SVG_Icons::get_svg( 'ui', $icon, $size );
}
/**
* Gets the SVG code for a given social icon.
*/
function twentynineteen_get_social_icon_svg( $icon, $size = 24 ) {
return TwentyNineteen_SVG_Icons::get_svg( 'social', $icon, $size );
}
/**
* Detects the social network from a URL and returns the SVG code for its icon.
*/
function twentynineteen_get_social_link_svg( $uri, $size = 24 ) {
return TwentyNineteen_SVG_Icons::get_social_link_svg( $uri, $size );
}
/**
* Display SVG icons in social links menu.
*
* @param string $item_output The menu item output.
* @param WP_Post $item Menu item object.
* @param int $depth Depth of the menu.
* @param array $args wp_nav_menu() arguments.
* @return string $item_output The menu item output with social icon.
*/
function twentynineteen_nav_menu_social_icons( $item_output, $item, $depth, $args ) {
// Change SVG icon inside social links menu if there is supported URL.
if ( 'social' === $args->theme_location ) {
$svg = twentynineteen_get_social_link_svg( $item->url, 26 );
if ( empty( $svg ) ) {
$svg = twentynineteen_get_icon_svg( 'link' );
}
$item_output = str_replace( $args->link_after, '</span>' . $svg, $item_output );
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'twentynineteen_nav_menu_social_icons', 10, 4 );

View File

@ -0,0 +1,226 @@
<?php
/**
* Functions which enhance the theme by hooking into WordPress
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/**
* Adds custom classes to the array of body classes.
*
* @param array $classes Classes for the body element.
* @return array
*/
function twentynineteen_body_classes( $classes ) {
if ( is_singular() ) {
// Adds `singular` to singular pages.
$classes[] = 'singular';
} else {
// Adds `hfeed` to non singular pages.
$classes[] = 'hfeed';
}
// Adds a class if image filters are enabled.
if ( twentynineteen_image_filters_enabled() ) {
$classes[] = 'image-filters-enabled';
}
return $classes;
}
add_filter( 'body_class', 'twentynineteen_body_classes' );
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function twentynineteen_pingback_header() {
if ( is_singular() && pings_open() ) {
echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
}
}
add_action( 'wp_head', 'twentynineteen_pingback_header' );
/**
* Changes comment form default fields.
*/
function twentynineteen_comment_form_defaults( $defaults ) {
$comment_field = $defaults['comment_field'];
// Adjust height of comment form.
$defaults['comment_field'] = preg_replace( '/rows="\d+"/', 'rows="5"', $comment_field );
return $defaults;
}
add_filter( 'comment_form_defaults', 'twentynineteen_comment_form_defaults' );
/**
* Filters the default archive titles.
*/
function twentynineteen_get_the_archive_title() {
if ( is_category() ) {
$title = esc_html__( 'Category Archives:', 'twentynineteen' );
} elseif ( is_tag() ) {
$title = esc_html__( 'Tag Archives:', 'twentynineteen' );
} elseif ( is_author() ) {
$title = esc_html__( 'Author Archives:', 'twentynineteen' );
} elseif ( is_year() ) {
$title = esc_html__( 'Yearly Archives:', 'twentynineteen' );
} elseif ( is_month() ) {
$title = esc_html__( 'Monthly Archives:', 'twentynineteen' );
} elseif ( is_day() ) {
$title = esc_html__( 'Daily Archives:', 'twentynineteen' );
} elseif ( is_post_type_archive() ) {
$title = esc_html__( 'Post Type Archives:', 'twentynineteen' );
} elseif ( is_tax() ) {
$tax = get_taxonomy( get_queried_object()->taxonomy );
/* translators: 1: Taxonomy singular name */
$title = sprintf( __( '%s Archives: ' ), $tax->labels->singular_name );
} else {
$title = esc_html__( 'Archives:', 'twentynineteen' );
}
return $title;
}
add_filter( 'get_the_archive_title', 'twentynineteen_get_the_archive_title' );
/**
* Filters the default archive descriptions.
*/
function twentynineteen_get_the_archive_description() {
if ( is_category() || is_tag() || is_tax() ) {
$description = single_term_title( '', false );
} elseif ( is_author() ) {
$description = get_the_author_meta( 'display_name' );
} elseif ( is_post_type_archive() ) {
$description = post_type_archive_title( '', false );
} elseif ( is_year() ) {
$description = get_the_date( _x( 'Y', 'yearly archives date format', 'twentynineteen' ) );
} elseif ( is_month() ) {
$description = get_the_date( _x( 'F Y', 'monthly archives date format', 'twentynineteen' ) );
} elseif ( is_day() ) {
$description = get_the_date();
} else {
$description = null;
}
return $description;
}
add_filter( 'get_the_archive_description', 'twentynineteen_get_the_archive_description' );
/**
* Determines if post thumbnail can be displayed.
*/
function twentynineteen_can_show_post_thumbnail() {
return ! post_password_required() && ! is_attachment() && has_post_thumbnail();
}
/**
* Returns true if image filters are enabled on the theme options.
*/
function twentynineteen_image_filters_enabled() {
return true;
}
/**
* Returns the size for avatars used in the theme.
*/
function twentynineteen_get_avatar_size() {
return 60;
}
/**
* Returns true if comment is by author of the post.
*
* @see get_comment_class()
*/
function twentynineteen_is_comment_by_post_author( $comment = null ) {
if ( is_object( $comment ) && $comment->user_id > 0 ) {
$user = get_userdata( $comment->user_id );
$post = get_post( $comment->comment_post_ID );
if ( ! empty( $user ) && ! empty( $post ) ) {
return $comment->user_id === $post->post_author;
}
}
return false;
}
/**
* Returns information about the current post's discussion, with cache support.
*/
function twentynineteen_get_discussion_data() {
static $discussion, $post_id;
$current_post_id = get_the_ID();
if ( $current_post_id === $post_id ) { /* If we have discussion information for post ID, return cached object */
return $discussion;
}
$authors = array();
$commenters = array();
$user_id = is_user_logged_in() ? get_current_user_id() : -1;
$comments = get_comments(
array(
'post_id' => $current_post_id,
'orderby' => 'comment_date_gmt',
'order' => get_option( 'comment_order', 'asc' ), /* Respect comment order from Settings » Discussion. */
'status' => 'approve',
)
);
foreach ( $comments as $comment ) {
$comment_user_id = (int) $comment->user_id;
if ( $comment_user_id !== $user_id ) {
$authors[] = ( $comment_user_id > 0 ) ? $comment_user_id : $comment->comment_author_email;
$commenters[] = $comment->comment_author_email;
}
}
$authors = array_unique( $authors );
$responses = count( $commenters );
$commenters = array_unique( $commenters );
$post_id = $current_post_id;
$discussion = (object) array(
'authors' => array_slice( $authors, 0, 6 ), /* Unique authors commenting on post (a subset of), excluding current user. */
'commenters' => count( $commenters ), /* Number of commenters involved in discussion, excluding current user. */
'responses' => $responses, /* Number of responses, excluding responses from current user. */
);
return $discussion;
}
/**
* WCAG 2.0 Attributes for Dropdown Menus
*
* Adjustments to menu attributes tot support WCAG 2.0 recommendations
* for flyout and dropdown menus.
*
* @ref https://www.w3.org/WAI/tutorials/menus/flyout/
*/
function twentynineteen_nav_menu_link_attributes( $atts, $item, $args, $depth ) {
// Add [aria-haspopup] and [aria-expanded] to menu items that have children
$item_has_children = in_array( 'menu-item-has-children', $item->classes );
if ( $item_has_children ) {
$atts['aria-haspopup'] = 'true';
$atts['aria-expanded'] = 'false';
}
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'twentynineteen_nav_menu_link_attributes', 10, 4 );
/**
* Add a dropdown icon to top-level menu items
*/
function twentynineteen_add_dropdown_icons( $output, $item, $depth, $args ) {
// Only add class to 'top level' items on the 'primary' menu.
if ( 'menu-1' == $args->theme_location && 0 === $depth ) {
if ( in_array( 'menu-item-has-children', $item->classes ) ) {
$output .= twentynineteen_get_icon_svg( 'arrow_drop_down_circle', 16 );
}
} else if ( 'menu-1' == $args->theme_location && $depth >= 1 ) {
if ( in_array( 'menu-item-has-children', $item->classes ) ) {
$output .= twentynineteen_get_icon_svg( 'keyboard_arrow_right', 24 );
}
}
return $output;
}
add_filter( 'walker_nav_menu_start_el', 'twentynineteen_add_dropdown_icons', 10, 4 );

View File

@ -0,0 +1,247 @@
<?php
/**
* Custom template tags for this theme
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
if ( ! function_exists( 'twentynineteen_posted_on' ) ) :
/**
* Prints HTML with meta information for the current post-date/time.
*/
function twentynineteen_posted_on() {
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
}
$time_string = sprintf(
$time_string,
esc_attr( get_the_date( DATE_W3C ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( DATE_W3C ) ),
esc_html( get_the_modified_date() )
);
printf(
'<span class="posted-on">%1$s<a href="%2$s" rel="bookmark">' . $time_string . '</a></span>',
twentynineteen_get_icon_svg( 'watch', 16 ),
esc_url( get_permalink() ),
$time_string
);
}
endif;
if ( ! function_exists( 'twentynineteen_posted_by' ) ) :
/**
* Prints HTML with meta information about theme author.
*/
function twentynineteen_posted_by() {
printf(
'<span class="byline">%1$s<span class="screen-reader-text">%2$s</span><span class="author vcard"><a class="url fn n" href="%3$s">%4$s</a></span></span>',
/* translators: 1: SVG icon. 2: post author, only visible to screen readers. 3: author link. */
twentynineteen_get_icon_svg( 'person', 16 ),
esc_html__( 'Posted by', 'twentynineteen' ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_html( get_the_author() )
);
}
endif;
if ( ! function_exists( 'twentynineteen_comment_count' ) ) :
/**
* Prints HTML with the comment count for the current post.
*/
function twentynineteen_comment_count() {
if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
echo '<span class="comments-link">';
echo twentynineteen_get_icon_svg( 'comment', 16 );
/* translators: %s: Name of current post. Only visible to screen readers. */
comments_popup_link( sprintf( __( 'Leave a comment<span class="screen-reader-text"> on %s</span>', 'twentynineteen' ), get_the_title() ) );
echo '</span>';
}
}
endif;
if ( ! function_exists( 'twentynineteen_entry_footer' ) ) :
/**
* Prints HTML with meta information for the categories, tags and comments.
*/
function twentynineteen_entry_footer() {
// Posted by
twentynineteen_posted_by();
// Hide category and tag text for pages.
if ( 'post' === get_post_type() ) {
/* translators: used between list items, there is a space after the comma. */
$categories_list = get_the_category_list( esc_html__( ', ', 'twentynineteen' ) );
if ( $categories_list ) {
/* translators: 1: SVG icon. 2: posted in label, only visible to screen readers. 3: list of categories. */
printf(
'<span class="cat-links">%1$s<span class="screen-reader-text">%2$s</span>%3$s</span>',
twentynineteen_get_icon_svg( 'archive', 16 ),
esc_html__( 'Posted in', 'twentynineteen' ),
$categories_list
); // WPCS: XSS OK.
}
/* translators: used between list items, there is a space after the comma. */
$tags_list = get_the_tag_list( '', esc_html__( ', ', 'twentynineteen' ) );
if ( $tags_list ) {
/* translators: 1: SVG icon. 2: posted in label, only visible to screen readers. 3: list of tags. */
printf(
'<span class="cat-links">%1$s<span class="screen-reader-text">%2$s </span>%3$s</span>',
twentynineteen_get_icon_svg( 'tag', 16 ),
esc_html__( 'Tags:', 'twentynineteen' ),
$tags_list
); // WPCS: XSS OK.
}
}
// Comment count.
if ( ! is_singular() ) {
twentynineteen_comment_count();
}
// Edit post link.
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers. */
__( 'Edit <span class="screen-reader-text">%s</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
),
'<span class="edit-link">' . twentynineteen_get_icon_svg( 'edit', 16 ),
'</span>'
);
}
endif;
if ( ! function_exists( 'twentynineteen_post_thumbnail' ) ) :
/**
* Displays an optional post thumbnail.
*
* Wraps the post thumbnail in an anchor element on index views, or a div
* element when on single views.
*/
function twentynineteen_post_thumbnail() {
if ( ! twentynineteen_can_show_post_thumbnail() ) {
return;
}
if ( is_singular() ) :
?>
<figure class="post-thumbnail">
<?php the_post_thumbnail(); ?>
</figure><!-- .post-thumbnail -->
<?php
else :
?>
<figure class="post-thumbnail">
<a class="post-thumbnail-inner" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
<?php
the_post_thumbnail(
'post-thumbnail',
array(
'alt' => the_title_attribute(
array( 'echo' => false )
),
)
);
?>
</a>
</figure><!-- .post-thumbnail -->
<?php
endif; // End is_singular().
}
endif;
if ( ! function_exists( 'twentynineteen_header_featured_image_css' ) ) :
/**
* Returns the CSS for the header featured image background.
*/
function twentynineteen_header_featured_image_css() {
$img_url = get_the_post_thumbnail_url( get_the_ID(), 'post-thumbnail' );
return sprintf( 'body.singular .site-header.featured-image .site-branding-container:before { background-image: url(%s); }', esc_url( $img_url ) );
}
endif;
if ( ! function_exists( 'twentynineteen_comment_avatar' ) ) :
/**
* Returns the HTML markup to generate a user avatar.
*/
function twentynineteen_get_user_avatar_markup( $id_or_email = null ) {
if ( ! isset( $id_or_email ) ) {
$id_or_email = get_current_user_id();
}
$classes = array( 'comment-author', 'vcard' );
return sprintf( '<div class="comment-user-avatar comment-author vcard">%s</div>', get_avatar( $id_or_email, twentynineteen_get_avatar_size() ) );
}
endif;
if ( ! function_exists( 'twentynineteen_discussion_avatars_list' ) ) :
/**
* Displays a list of avatars involved in a discussion for a given post.
*/
function twentynineteen_discussion_avatars_list( $comment_authors ) {
if ( ! empty( $comment_authors ) ) {
$out = array( '<ol class="discussion-avatar-list">' );
foreach ( $comment_authors as $id_or_email ) {
$out[] = sprintf( '<li>%s</li>', twentynineteen_get_user_avatar_markup( $id_or_email ) );
}
$out[] = '</ol><!-- .discussion-avatar-list -->';
echo implode( "\n", $out );
}
return null;
}
endif;
if ( ! function_exists( 'twentynineteen_comment_form' ) ) :
/**
* Documentation for function.
*/
function twentynineteen_comment_form( $order ) {
if ( true === $order || strtolower( $order ) === strtolower( get_option( 'comment_order', 'asc' ) ) ) {
comment_form(
array(
'title_reply_before' => twentynineteen_get_user_avatar_markup(),
'logged_in_as' => null,
'title_reply' => null,
)
);
}
}
endif;
if ( ! function_exists( 'twentynineteen_the_posts_navigation' ) ) :
/**
* Documentation for function.
*/
function twentynineteen_the_posts_navigation() {
$prev_icon = twentynineteen_get_icon_svg( 'chevron_left', 22 );
$next_icon = twentynineteen_get_icon_svg( 'chevron_right', 22 );
the_posts_pagination(
array(
'mid_size' => 2,
'prev_text' => sprintf( '%s <span class="nav-prev-text">%s</span>', $prev_icon, __( 'Newer posts', 'twentynineteen' ) ),
'next_text' => sprintf( '<span class="nav-next-text">%s</span> %s', __( 'Older posts', 'twentynineteen' ), $next_icon ),
)
);
}
endif;

View File

@ -0,0 +1,7 @@
<?php
/**
* Custom Icons for this theme
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/

View File

@ -0,0 +1,45 @@
<?php
/**
* The main template file
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
if ( have_posts() ) {
// Load posts loop.
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content/content' );
}
// Previous/next page navigation.
twentynineteen_the_posts_navigation();
} else {
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content/content', 'none' );
}
?>
</main><!-- .site-main -->
</div><!-- .content-area -->
<?php
get_footer();

View File

@ -0,0 +1,11 @@
/**
* File customizer.js.
*
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) { // jshint ignore:line
} )( jQuery );

View File

@ -0,0 +1,31 @@
/**
* File skip-link-focus-fix.js.
*
* Helps with accessibility for keyboard only users.
*
* Learn more: https://git.io/vWdr2
*/
( function() {
var isIe = /(trident|msie)/i.test( navigator.userAgent );
if ( isIe && document.getElementById && window.addEventListener ) {
window.addEventListener( 'hashchange', function() {
var id = location.hash.substring( 1 ),
element;
if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
return;
}
element = document.getElementById( id );
if ( element ) {
if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
element.tabIndex = -1;
}
element.focus();
}
}, false );
}
} )();

View File

@ -0,0 +1,186 @@
# Copyright (C) 2017 Automattic
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: _s 1.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n"
"POT-Creation-Date: 2016-12-23 16:00+0100\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
"Last-Translator:\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"X-Generator: grunt-wp-i18n 0.5.4\n"
#: 404.php:17
msgid "Oops! That page can&rsquo;t be found."
msgstr ""
#: 404.php:21
msgid ""
"It looks like nothing was found at this location. Maybe try one of the "
"links below or a search?"
msgstr ""
#: 404.php:30
msgid "Most Used Categories"
msgstr ""
#: 404.php:47
#. translators: %1$s: smiley
msgid "Try looking in the monthly archives. %1$s"
msgstr ""
#: comments.php:34
#. translators: 1: title.
msgid "One thought on &ldquo;%1$s&rdquo;"
msgstr ""
#: comments.php:67
msgid "Comments are closed."
msgstr ""
#: footer.php:18
msgid "https://wordpress.org/"
msgstr ""
#: footer.php:20
#. translators: %s: CMS name, i.e. WordPress.
msgid "Proudly powered by %s"
msgstr ""
#: footer.php:25
#. translators: 1: Theme name, 2: Theme author.
msgid "Theme: %1$s by %2$s."
msgstr ""
#: functions.php:47
msgid "Primary"
msgstr ""
#: functions.php:105
msgid "Sidebar"
msgstr ""
#: functions.php:107
msgid "Add widgets here."
msgstr ""
#: header.php:24
msgid "Skip to content"
msgstr ""
#: header.php:45
msgid "Primary Menu"
msgstr ""
#: inc/template-tags.php:52
#. translators: used between list items, there is a space after the comma
msgid ", "
msgstr ""
#: inc/template-tags.php:55
#. translators: 1: list of categories.
msgid "Posted in %1$s"
msgstr ""
#: inc/template-tags.php:62
#. translators: 1: list of tags.
msgid "Tagged %1$s"
msgstr ""
#: inc/template-tags.php:72
#. translators: %s: post title
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
msgstr ""
#: inc/template-tags.php:89 template-parts/content-page.php:35
#. translators: %s: Name of current post. Only visible to screen readers
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
msgstr ""
#: search.php:21
#. translators: %s: search query.
msgid "Search Results for: %s"
msgstr ""
#: template-parts/content-none.php:14
msgid "Nothing Found"
msgstr ""
#: template-parts/content-none.php:25
#. translators: 1: link to WP admin new post page.
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
#: template-parts/content-none.php:38
msgid ""
"Sorry, but nothing matched your search terms. Please try again with some "
"different keywords."
msgstr ""
#: template-parts/content-none.php:44
msgid ""
"It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps "
"searching can help."
msgstr ""
#: template-parts/content-page.php:22 template-parts/content.php:45
msgid "Pages:"
msgstr ""
#: template-parts/content.php:34
#. translators: %s: Name of current post. Only visible to screen readers
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
msgstr ""
#. Theme Name of the plugin/theme
msgid "_s"
msgstr ""
#. Theme URI of the plugin/theme
msgid "https://underscores.me/"
msgstr ""
#. Description of the plugin/theme
msgid ""
"Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if "
"you like. I'm a theme meant for hacking so don't use me as a <em>Parent "
"Theme</em>. Instead try turning me into the next, most awesome, WordPress "
"theme out there. That's what I'm here for."
msgstr ""
#. Author of the plugin/theme
msgid "Automattic"
msgstr ""
#. Author URI of the plugin/theme
msgid "https://automattic.com/"
msgstr ""
#: comments.php:40
#. translators: 1: comment count number, 2: title.
msgctxt "comments title"
msgid "%1$s thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] ""
msgstr[1] ""
#: inc/template-tags.php:29
#. translators: %s: post date.
msgctxt "post date"
msgid "Posted on %s"
msgstr ""
#: inc/template-tags.php:35
#. translators: %s: post author.
msgctxt "post author"
msgid "by %s"
msgstr ""
#: inc/template-tags.php:59
#. translators: used between list items, there is a space after the comma
msgctxt "list item separator"
msgid ", "
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
{
"name": "twentynineteen",
"version": "1.0.0",
"description": "Default WP Theme",
"bugs": {
"url": "https://github.com/WordPress/twentynineteen/issues"
},
"homepage": "https://github.com/WordPress/twentynineteen#readme",
"devDependencies": {
"@wordpress/browserslist-config": "^2.2.2",
"autoprefixer": "^9.1.5",
"chokidar-cli": "^1.2.1",
"node-sass": "^4.9.3",
"postcss-cli": "^6.0.0",
"rtlcss": "^2.4.0",
"npm-run-all": "^4.1.3"
},
"rtlcssConfig": {
"options": {
"autoRename": false,
"autoRenameStrict": false,
"blacklist": {},
"clean": true,
"greedy": false,
"processUrls": false,
"stringMap": []
},
"plugins": [],
"map": false
},
"browserslist": [
"extends @wordpress/browserslist-config"
],
"scripts": {
"build:style": "node-sass style.scss style.css --output-style expanded && postcss -r style.css",
"build:style-editor": "node-sass style-editor.scss style-editor.css --output-style expanded && postcss -r style-editor.css",
"build:style-editor-frame": "node-sass style-editor-frame.scss style-editor-frame.css --output-style expanded && postcss -r style-editor-frame.css",
"build:rtl": "rtlcss style.css style-rtl.css",
"build:print": "node-sass print.scss print.css --output-style expanded && postcss -r print.css",
"build": "run-p \"build:*\"",
"watch": "chokidar \"**/*.scss\" -c \"npm run build\" --initial"
}
}

View File

@ -0,0 +1,37 @@
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content/content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_footer();

View File

@ -0,0 +1,5 @@
module.exports = {
plugins: {
autoprefixer: {}
}
};

View File

@ -0,0 +1,105 @@
@charset "UTF-8";
/*
Theme Name: Twenty Nineteen
Adding print support. The print styles are based on the the great work of
Andreas Hecht in https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/.
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Margins
# Typography÷
# Page breaks
# Links
# Visibility
--------------------------------------------------------------*/
@media print {
/* Margins */
@page {
margin: 2cm;
}
.hentry .entry-header, .site-footer .site-info {
margin: 0;
}
/* Fonts */
body {
font: 13pt Georgia, "Times New Roman", Times, serif;
line-height: 1.3;
background: #fff !important;
color: #000;
}
h1 {
font-size: 24pt;
}
h2,
h3,
h4,
.has-regular-font-size,
.has-large-font-size,
h2.author-title,
p.author-bio,
.comments-title, h3 {
font-size: 14pt;
margin-top: 25px;
}
/* Page breaks */
a {
page-break-inside: avoid;
}
blockquote {
page-break-inside: avoid;
}
h1,
h2,
h3,
h4,
h5,
h6 {
page-break-after: avoid;
page-break-inside: avoid;
}
img {
page-break-inside: avoid;
page-break-after: avoid;
}
table, pre {
page-break-inside: avoid;
}
ul, ol, dl {
page-break-before: avoid;
}
/* Links */
a:link, a:visited, a {
background: transparent;
color: #520;
font-weight: bold;
text-decoration: underline;
text-align: left;
}
a {
page-break-inside: avoid;
}
a[href^=http]:after {
content: " < " attr(href) "> ";
}
a:after > img {
content: "";
}
article a[href^="#"]:after {
content: "";
}
a:not(:local-link):after {
content: " < " attr(href) "> ";
}
/* Visibility */
.main-navigation,
.social-navigation,
.site-branding-container:before,
.hentry .entry-title:before,
.entry-meta, .entry-footer,
.author-description:before,
.post-navigation {
display: none;
}
}

View File

@ -0,0 +1,128 @@
/*
Theme Name: Twenty Nineteen
Adding print support. The print styles are based on the the great work of
Andreas Hecht in https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/.
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Margins
# Typography÷
# Page breaks
# Links
# Visibility
--------------------------------------------------------------*/
@media print {
/* Margins */
@page {
margin: 2cm;
}
.hentry .entry-header, .site-footer .site-info {
margin: 0;
}
/* Fonts */
body {
font: 13pt Georgia, "Times New Roman", Times, serif;
line-height: 1.3;
background: #fff !important;
color: #000;
}
h1 {
font-size: 24pt;
}
h2,
h3,
h4,
.has-regular-font-size,
.has-large-font-size,
h2.author-title,
p.author-bio,
.comments-title, h3 {
font-size: 14pt;
margin-top: 25px;
}
/* Page breaks */
a {
page-break-inside: avoid
}
blockquote {
page-break-inside: avoid;
}
h1,
h2,
h3,
h4,
h5,
h6 {
page-break-after: avoid;
page-break-inside: avoid
}
img {
page-break-inside: avoid;
page-break-after: avoid;
}
table, pre {
page-break-inside: avoid;
}
ul, ol, dl {
page-break-before: avoid;
}
/* Links */
a:link, a:visited, a {
background: transparent;
color: #520;
font-weight: bold;
text-decoration: underline;
text-align: left;
}
a {
page-break-inside: avoid
}
a[href^=http]:after {
content: " < " attr(href) "> ";
}
a:after > img {
content: "";
}
article a[href^="#"]:after {
content: "";
}
a:not(:local-link):after {
content: " < " attr(href) "> ";
}
/* Visibility */
.main-navigation,
.social-navigation,
.site-branding-container:before,
.hentry .entry-title:before,
.entry-meta, .entry-footer,
.author-description:before,
.post-navigation {
display: none;
}
}

View File

@ -0,0 +1,65 @@
# Twenty Nineteen
[![Build Status](https://travis-ci.org/WordPress/twentynineteen.svg?branch=master)](https://travis-ci.org/WordPress/twentynineteen)
**Contributors:** the WordPress team
**Requires at least:** WordPress 4.9.6
**Tested up to:** WordPress 4.9.8
**Version:** 1.0
**License:** GPLv2 or later
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
**Tags:** one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
## Description
Twenty Nineteen is a Gutenberg-ready theme for WordPress.
## Installation
1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
2. Type in Twenty Nineteen in the search form and press the 'Enter' key on your keyboard.
3. Click on the 'Activate' button to use your new theme right away.
4. Go to https://codex.wordpress.org/Twenty_Nineteen for a guide on how to customize this theme.
5. Navigate to Appearance > Customize in your admin panel and customize to taste.
## Copyright
Twenty Nineteen WordPress Theme, Copyright 2018 WordPress.org
Twenty Nineteen is distributed under the terms of the GNU GPL
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Twenty Nineteen bundles the following third-party resources:
_s, Copyright 2015-2018 Automattic, Inc.
**License:** GPLv2 or later
Source: https://github.com/Automattic/_s/
normalize.css, Copyright 2012-2016 Nicolas Gallagher and Jonathan Neal
**License:** MIT
Source: https://necolas.github.io/normalize.css/
Bundled header image 1, Copyright XXXXX XXXXX
**License:** CC0 1.0 Universal (CC0 1.0)
Source: https://pexels.com/xxxxxxxxxx
Bundled header image 2, Copyright XXXXX XXXXX
**License:** CC0 1.0 Universal (CC0 1.0)
Source: https://pexels.com/xxxxxxxxxx
## Changelog
### X.X
* Released: XX-XX-XXXX
Initial release

View File

@ -0,0 +1,341 @@
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@ -0,0 +1,631 @@
/* !Block styles */
.entry-content > *,
.entry-summary > * {
margin: 32px $size__spacing-unit;
max-width: calc(100vw - (2 * #{ $size__spacing-unit }));
@include media(tablet) {
margin: 32px calc(2 * (100vw / 12));
max-width: calc(8 * (100vw / 12));
}
@include media(desktop) {
max-width: calc(6 * (100vw / 12));
}
/*
// Set top margins for headings
& + h1:before,
& + h2:before,
& + h3,
& + h4,
& + h5,
& + h6 {
margin-top: calc(4 * #{ $size__spacing-unit});
}
*/
> *:first-child {
margin-top: 0;
}
> *:last-child {
margin-bottom: 0;
}
&.alignwide {
margin-left: auto;
margin-right: auto;
@include media(tablet) {
margin-left: calc(1 * (100vw / 12));
margin-right: calc(1 * (100vw / 12));
max-width: calc(10 * (100vw / 12));
}
}
&.alignfull {
margin-top: calc(2 * #{$size__spacing-unit});
margin-right: 0;
margin-bottom: calc(2 * #{$size__spacing-unit});
margin-left: 0;
max-width: 100%;
}
&.alignleft {
float: left;
max-width: calc(5 * (100vw / 12));
margin-top: 0;
@include media(tablet) {
max-width: calc(4 * (100vw / 12));
margin-right: calc(2 * #{$size__spacing-unit});
}
@include media(desktop) {
max-width: calc(3 * (100vw / 12));
}
}
&.alignright {
float: right;
max-width: calc(5 * (100vw / 12));
margin-top: 0;
margin-left: $size__spacing-unit;
margin-right: $size__spacing-unit;
@include media(tablet) {
max-width: calc(4 * (100vw / 12));
margin-left: calc(2 * #{$size__spacing-unit});
margin-right: calc(2 * (100vw / 12));
}
}
}
.entry-content {
//! Audio
.wp-block-audio {
width: 100%;
audio {
width: 100%;
}
&.alignleft audio,
&.alignright audio {
max-width: (0.5 * $mobile_width);
@include media(tablet) {
max-width: (0.5 * $tablet_width);
}
@include media(wide) {
max-width: (0.33 * $desktop_width);
}
}
}
//! Video
.wp-block-video {
video {
width: 100%;
}
}
//! Button
.wp-block-button {
.wp-block-button__link {
@include button-transition;
border: none;
background: $color__background-button;
font-size: $font__size-sm;
font-family: $font__heading;
line-height: $font__line-height-heading;
box-sizing: border-box;
font-weight: bold;
padding: ($size__spacing-unit * .66) $size__spacing-unit;
outline: none;
color: white;
outline: none;
&:hover {
cursor: pointer;
}
&:hover, &:focus {
background: $color__background-button-hover;
}
&:focus {
outline: thin dotted;
outline-offset: -4px;
}
}
&:not(.is-style-squared) .wp-block-button__link {
border-radius: 5px;
}
&.is-style-outline .wp-block-button__link,
&.is-style-outline .wp-block-button__link:focus,
&.is-style-outline .wp-block-button__link:active {
@include button-all-transition;
background: transparent;
border: 2px solid $color__background-button;
&:not(.has-text-color) {
color: $color__background-button;
}
}
&.is-style-outline .wp-block-button__link:hover {
border-color: $color__background-button-hover;
color: $color__background-button-hover;
}
}
//! Latest posts, categories, archives
.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts {
padding: 0;
list-style: none;
li {
color: $color__text-light;
font-family: $font__heading;
font-size: calc(#{$font__size_base} * #{$font__size-lg / 1em} );
font-weight: bold;
line-height: $font__line-height-heading;
a:after {
color: $color__text-light;
content: ",";
}
&:last-child a:after {
color: $color__text-light;
content: ".";
}
}
}
//! Latest posts grid view
.wp-block-latest-posts.is-grid {
li {
border-top: 2px solid $color__border;
padding-top: (1 * $size__spacing-unit);
margin-bottom: (2 * $size__spacing-unit);
a {
&:after {
content: '';
}
}
&:last-child {
margin-bottom: auto;
a:after {
content: '';
}
}
}
}
//! Latest preformatted text
.wp-block-preformatted {
font-size: $font__size-xs;
line-height: 1.8;
padding: $size__spacing-unit;
}
//! Verse
.wp-block-verse {
font-family: $font__body;
font-size: $font__size_base;
line-height: 1.8;
}
// !Paragraphs
.has-drop-cap {
&:not(:focus):first-letter {
font-family: $font__heading;
font-size: $font__size-xxxl;
line-height: 1;
font-weight: bold;
margin: 0 0.25em 0 0;
}
}
// !Pullquote
.wp-block-pullquote {
border: none;
padding: $size__spacing-unit;
blockquote {
border: none;
padding-bottom: calc(2 * #{$size__spacing-unit});
margin-right: 0;
}
p {
font-size: $font__size-lg;
font-style: italic;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
color: $color__text-main;
em {
font-style: normal;
}
@include media(tablet) {
font-size: $font__size-xl;
}
}
cite {
display: inline-block;
font-family: $font__heading;
font-size: $font__size-xs;
line-height: 1.6;
text-transform: none;
color: $color__text-light;
}
&.alignleft,
&.alignright {
padding: 0;
blockquote {
margin-left: 0;
padding: 0;
text-align: left;
max-width: 100%;
}
}
&.is-style-solid-color {
p {
font-size: $font__size-lg;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
@include media(tablet) {
font-size: $font__size-xl;
}
}
blockquote {
margin: 0 auto;
}
blockquote:not(.has-text-color) p,
cite {
color: white;
}
&:not(.has-background-color) {
background-color: $color__link;
}
&.alignleft,
&.alignright {
padding: $size__spacing-unit $size__spacing-unit 0;
blockquote {
padding: 0 0 calc( 1.5 * #{$size__spacing-unit} );
margin-left: 0;
margin-top: 0;
}
@include media(tablet) {
padding: calc( 2 * #{$size__spacing-unit} ) calc( 2 * #{$size__spacing-unit} ) $size__spacing-unit;
}
}
}
}
//! Blockquote
.wp-block-quote {
&:not(.is-large),
&:not(.is-style-large) {
border-left: 2px solid $color__link;
padding-top: 0;
padding-bottom: 0;
}
p {
font-size: 1em;
font-style: normal;
line-height: 1.8;
}
cite {
font-size: $font__size-xs;
}
&.is-large,
&.is-style-large {
padding: $size__spacing-unit 0 ($size__spacing-unit) ($size__spacing-unit * 2);
margin: $size__spacing-unit 0;
border-left: none;
p {
font-size: $font__size-lg;
line-height: 1.4;
font-style: italic;
}
cite,
footer {
font-size: $font__size-xs;
}
@include media(tablet) {
margin: $size__spacing-unit calc(2 * (100vw / 12));
max-width: calc(6 * (100vw / 12));
p {
font-size: $font__size-lg;
}
}
}
}
//! Image
.wp-block-image {
img {
display: block;
}
&.alignleft,
&.alignright {
max-width: 100%;
}
&.alignfull img {
width: 100vw;
margin-left: auto;
margin-right: auto;
}
}
//! Cover Image
.wp-block-cover-image {
.wp-block-cover-image-text,
h2 {
font-family: $font__heading;
font-size: $font__size-lg;
font-weight: bold;
width: calc(100vw - (2 * #{ $size__spacing-unit }));
max-width: calc(100vw - (2 * #{ $size__spacing-unit }));
@include media(tablet) {
font-size: $font__size-xl;
width: calc(8 * (100vw / 12));
max-width: calc(8 * (100vw / 12));
}
@include media(desktop) {
width: calc(6 * (100vw / 12 ));
max-width: calc(6 * (100vw / 12 ));
}
}
&.alignleft,
&.alignright,
&.aligncenter {
h2,
.wp-block-cover-image-text {
width: 100%;
z-index: 1;
left: 50%;
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
}
}
&.has-left-content {
justify-content: center;
h2,
.wp-block-cover-image-text {
padding: $size__spacing-unit;
}
}
&.has-right-content {
justify-content: center;
h2,
.wp-block-cover-image-text {
padding: $size__spacing-unit;
}
}
}
//! Galleries
.wp-block-gallery .blocks-gallery-image:last-child,
.wp-block-gallery .blocks-gallery-item:last-child {
margin-bottom: 16px;
}
//! Captions
.wp-block-audio figcaption,
.wp-block-video figcaption,
.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
font-size: $font__size-xs;
font-family: $font__heading;
line-height: $font__line-height-pre;
margin: 0;
padding: ( $size__spacing-unit * .5 );
text-align: left;
}
//! Separator
.wp-block-separator,
hr {
margin-bottom: (2 * $size__spacing-unit);
margin-top: (2 * $size__spacing-unit);
&:not(.is-style-dots) {
background-color: $color__text-light;
border: 0;
height: 2px;
}
&:not(.is-style-wide):not(.is-style-dots) {
max-width: 2.25em;
}
/* Remove duplicate rule-line when a separator
* is followed by an H1, or H2 */
& + h1,
& + h2 {
&:before {
display: none;
}
}
&.is-style-dots:before {
color: $color__text-light;
font-size: $font__size-lg;
letter-spacing: $font__size-sm;
padding-left: $font__size-sm;
}
}
//! Twitter Embed
.wp-block-embed-twitter {
overflow: hidden;
}
//! Table
.wp-block-table {
td, th {
border-color: $color__text-light;
}
}
//! File
.wp-block-file {
font-family: $font__heading;
.wp-block-file__button {
@include button-transition;
border: none;
border-radius: 5px;
background: $color__background-button;
font-size: $font__size-base;
font-family: $font__heading;
line-height: $font__line-height-heading;
font-weight: bold;
padding: ($size__spacing-unit * .75) $size__spacing-unit;
@include media(desktop) {
font-size: $font__size-base;
padding: ($size__spacing-unit * .875) ($size__spacing-unit * 1.5);
}
&:hover {
cursor: pointer;
}
&:hover, &:focus {
background: $color__background-button-hover;
}
&:focus {
outline: thin dotted;
outline-offset: -4px;
}
}
}
//! Code
.wp-block-code {
border-radius: 0;
code {
font-size: $font__size-md;
}
}
//! Columns
.wp-block-columns {
.wp-block-column > * {
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
}
&[class*='has-'] > * {
margin-right: $size__spacing-unit;
&:last-child {
margin-right: 0;
}
}
}
//! Latest Comments
.wp-block-latest-comments {
.wp-block-latest-comments__comment-meta {
font-family: $font__heading;
font-weight: bold;
.wp-block-latest-comments__comment-date {
font-weight: normal;
}
}
.wp-block-latest-comments__comment,
.wp-block-latest-comments__comment-date,
.wp-block-latest-comments__comment-excerpt p {
font-size: inherit;
}
&.has-avatars {
}
&.has-dates {
.wp-block-latest-comments__comment-date {
font-size: $font__size-xs;
}
}
&.has-excerpts {
}
}
}

View File

@ -0,0 +1,109 @@
html {
box-sizing: border-box;
}
::-moz-selection {
background: $color__background_selection;
}
::selection {
background: $color__background_selection;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
body {
background: $color__background-body;
}
a {
@include link-transition;
color: $color__link;
}
a:visited {
}
a:hover,
a:active {
color: $color__link-hover;
outline: 0;
text-decoration: none;
}
a:focus {
outline: 0;
text-decoration: underline;
}
h1, h2, h3, h4, h5, h6 {
clear: both;
margin: $size__spacing-unit 0;
}
h1:not(.site-title), h2 {
@include post-section-dash;
}
hr {
background-color: $color__text-light;
border: 0;
height: 2px;
}
@import "lists";
img {
height: auto;
max-width: 100%;
position: relative;
&:before {
background-color: $color__background-pre;
border: 1px dashed $color__background-hr;
border-radius: 3px;
content: " ";
display: block;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
&:after {
color: $color__text-input;
content: "This image is broken :-/ ( "attr(alt)" )";
display: block;
left: 50%;
position: absolute;
text-align: center;
top: 50%;
transform: translate(-50%, -50%);
width: 100%;
}
}
figure {
margin: 0;
}
blockquote {
border-left: 2px solid $color__link;
margin-left: -($size__spacing-unit * 2);
padding: $size__spacing-unit 0 ($size__spacing-unit * .5) ($size__spacing-unit * 2);
> p {
margin: 0 0 $size__spacing-unit;
}
cite {
color: $color__text-light;
}
}
@import "tables";

View File

@ -0,0 +1,33 @@
ul,
ol {
padding-left: ( 1 * $size__spacing-unit );
}
ul {
list-style: disc;
ul {
list-style-type: circle;
}
}
ol {
list-style: decimal;
}
li {
line-height: $font__line-height-body;
}
li > ul,
li > ol {
padding-left: ( 2 * $size__spacing-unit );
}
dt {
font-weight: bold;
}
dd {
margin: 0 $size__spacing-unit $size__spacing-unit;
}

View File

@ -0,0 +1,8 @@
table {
margin: 0 0 $size__spacing-unit;
width: 100%;
td, th {
border-color: $color__text-light;
}
}

View File

@ -0,0 +1,33 @@
.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
@include button-transition;
background: $color__background-button;
border: none;
border-radius: 5px;
box-sizing: border-box;
color: white;
font-family: $font__heading;
font-size: $font__size-sm;
font-weight: 600;
line-height: $font__line-height-heading;
outline: none;
padding: ( $size__spacing-unit * .66 ) $size__spacing-unit;
&:hover {
cursor: pointer;
}
&:hover,
&:focus {
background: $color__background-button-hover;
}
&:focus {
outline: thin dotted;
outline-offset: -4px;
}
}

View File

@ -0,0 +1,49 @@
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
-webkit-backface-visibility: hidden;
background: $color__background-input;
border: solid 1px $color__border;
box-sizing: border-box;
outline: none;
padding: #{.5 * $size__spacing-unit} #{.66 * $size__spacing-unit};
&:focus {
border-color: $color__link;
outline: thin solid rgba( $color__link, 0.15 );
outline-offset: -4px;
}
}
select {
}
textarea {
box-sizing: border-box;
display: block;
width: 100%;
max-width: 100%;
resize: vertical;
}
form {
p {
margin: $size__spacing-unit 0;
}
}

View File

@ -0,0 +1,3 @@
@import "buttons";
@import "fields";

View File

@ -0,0 +1,11 @@
/** === Layout === */
#page {
width: 100%;
}
.site-content {
overflow: hidden;
}

View File

@ -0,0 +1,17 @@
.wp-caption {
margin-bottom: calc(1.5 * #{$size__spacing-unit});
}
.wp-caption img[class*="wp-image-"] {
display: block;
margin-left: auto;
margin-right: auto;
}
.wp-caption .wp-caption-text {
margin: calc(0.875 * #{$size__spacing-unit}) 0;
}
.wp-caption-text {
text-align: center;
}

View File

@ -0,0 +1,46 @@
.gallery {
display: flex;
margin-bottom: calc(1.5 * #{$size__spacing-unit});
}
.gallery-item {
display: inline-block;
margin-right: $size__spacing-unit;
margin-bottom: $size__spacing-unit;
text-align: center;
vertical-align: top;
width: 100%;
// Loops to enumerate the classes for gallery columns.
@for $i from 2 through 9 {
.gallery-columns-#{$i} & {
max-width: calc( ( 12 / #{$i} ) * (100% / 12) );
}
}
&:last-of-type {
margin-right: 0;
}
}
.gallery-caption {
display: block;
font-size: $font__size-xs;
font-family: $font__heading;
line-height: $font__line-height-pre;
margin: 0;
padding: ( $size__spacing-unit * .5 );
}
.gallery-item > div > a {
display: block;
line-height: 0;
// Accessibility
box-shadow: 0 0 0 0 transparent;
&:focus {
box-shadow: 0 0 0 2px rgba( $color__link, 1 );
}
}

View File

@ -0,0 +1,41 @@
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
border: none;
margin-bottom: 0;
margin-top: 0;
padding: 0;
}
embed,
iframe,
object {
max-width: 100%;
}
.custom-logo-link {
display: inline-block;
}
.avatar {
border-radius: 100%;
display: block;
height: calc(2.25 * #{$size__spacing-unit});
min-height: inherit;
width: calc(2.25 * #{$size__spacing-unit});
}
svg {
transition: fill $icon_transition ease-in-out;
fill: currentColor;
}
/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
@import "captions";
/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
@import "galleries";

View File

@ -0,0 +1,85 @@
// Rem output with px fallback
@mixin font-size($sizeValue: 1) {
font-size: ($sizeValue * 16) * 1px;
font-size: $sizeValue * 1rem;
}
// Center block
@mixin center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
// Clearfix
@mixin clearfix() {
content: "";
display: table;
table-layout: fixed;
}
// Clear after (not all clearfix need this also)
@mixin clearfix-after() {
clear: both;
}
// Column width with margin
@mixin column-width($numberColumns: 3) {
width: map-get($columns, $numberColumns) - (($columns__margin * ($numberColumns - 1)) / $numberColumns);
}
@mixin filter-duotone {
&:before {
background: $color__link;
mix-blend-mode: screen;
opacity: 0.1;
z-index: 2;
}
&:after {
background: $color__link;
mix-blend-mode: multiply;
opacity: 1;
z-index: 3;
}
}
@mixin filter-grayscale {
position: relative;
filter: grayscale(100%);
z-index: 1;
&:after {
display: block;
width: 100%;
height: 100%;
z-index: 10;
}
}
@mixin post-section-dash {
&:before {
background: $color__text-light;
content: "\020";
display: block;
height: 2px;
margin: $size__spacing-unit 0;
width: 1em;
}
}
/* If we add the border using a regular CSS border, it won't look good on non-retina devices,
* since its edges can look jagged due to lack of antialiasing. In this case, we are several
* layers of box-shadow to add the border visually, which will render the border smoother. */
@mixin box-shadow( $size ) {
box-shadow:
0 0 0 $size $color__text-light inset, // Original border.
0 0 0 ($size + 1px) $color__text-light inset, // Antialiasing, inner edge.
0 0 1px 0 rgba( $color__text-light, 0.7 ); // Antialiasing, outer edge.
}
@import "utilities";

View File

@ -0,0 +1,44 @@
@mixin media( $res ) {
@if tablet == $res {
@media only screen and (min-width: $tablet_width) {
@content;
}
}
@if desktop == $res {
@media only screen and (min-width: $desktop_width) {
@content;
}
}
@if wide == $res {
@media only screen and (min-width: $wide_width) {
@content;
}
}
}
@mixin link-transition( $attr: color ) {
transition: $attr $link_transition ease-in-out;
}
@mixin button-transition() {
transition: background $button_transition ease-in-out;
}
@mixin button-all-transition() {
transition: all $button_transition ease-in-out;
}
@mixin background-transition() {
transition: background $background_transition ease-in-out;
}
@mixin selection {
::-moz-selection {
@content;
}
::selection {
@content;
}
}

View File

@ -0,0 +1,38 @@
/* Text meant only for screen readers. */
.screen-reader-text {
border: 0;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute !important;
width: 1px;
word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
&:focus {
background-color: $color__background-screen;
border-radius: 3px;
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
clip: auto !important;
clip-path: none;
color: $color__text-screen;
display: block;
@include font-size(0.875);
font-weight: bold;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000; /* Above WP toolbar. */
}
}
/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
outline: 0;
}

View File

@ -0,0 +1,14 @@
.alignleft {
float: left;
margin-right: $size__spacing-unit;
}
.alignright {
float: right;
margin-left: $size__spacing-unit;
}
.aligncenter {
clear: both;
@include center-block;
}

View File

@ -0,0 +1,23 @@
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
@include clearfix;
}
.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
@include clearfix-after;
}

View File

@ -0,0 +1,21 @@
a {
@include link-transition;
color: $color__link;
&:visited {
color: $color__link-visited;
}
&:hover,
&:active {
color: $color__link-hover;
outline: 0;
text-decoration: none;
}
&:focus {
outline: 0;
text-decoration: underline;
}
}

View File

@ -0,0 +1,249 @@
/** === Main menu === */
.main-navigation {
display: inline;
@include media(tablet) {
display: block;
}
body.page & {
display: block;
}
> div {
display: inline;
}
.main-menu {
display: inline;
margin: 0;
padding: 0;
> li {
display: inline;
> a {
font-weight: 700;
color: $color__link;
+ svg {
color: $color__link;
margin-right: #{-0.25 * $size__spacing-unit};
}
&:hover {
color: $color__link-hover;
+ svg {
color: $color__link-hover;
}
}
&:after {
content: ",";
display: inline;
color: $color__text-light;
}
}
&.menu-item-has-children {
&:after {
content: ",";
display: inline;
color: $color__text-light;
}
& > a,
.menu-item-has-children > a {
&:after {
content: "";
display: none;
}
}
}
&:last-child> a:after {
content: ".";
}
&:last-child > a {
margin-right: 0;
}
}
}
.sub-menu {
background: $color__link;
color: $color__background-body;
list-style: none;
padding-left: 0;
display: none;
float: left;
width: 100%;
position: absolute;
opacity: 0;
left: -999em;
z-index: 99999;
-webkit-transition: opacity 0.5s ease-in-out;
-moz-transition: opacity 0.5s ease-in-out;
transition: opacity 0.5s ease-in-out;
@include media(tablet) {
max-width: calc(3 * (100vw / 12));
}
> li {
clear: both;
display: block;
float: none;
position: relative;
word-break: break-word;
&.menu-item-has-children {
svg {
position: absolute;
right: #{0.5 * $size__spacing-unit};
top: #{0.65 * $size__spacing-unit};
}
@include media(tablet) {
.menu-item-has-children > a {
&:after {
content: "\203a";
}
}
}
}
> a {
color: $color__background-body;
display: block;
line-height: $font__line-height-heading;
padding: calc( .5 * #{$size__spacing-unit} ) $size__spacing-unit;
&:hover,
&:focus {
background: $color__link-hover;
&:after {
background: $color__link-hover;
}
}
}
}
}
.main-menu .menu-item-has-children:hover > .sub-menu,
.main-menu .menu-item-has-children .sub-menu:hover {
display: block;
left: inherit;
margin-top: -2px;
opacity: 1;
.sub-menu {
margin-top: inherit;
position: relative;
padding-left: $size__spacing-unit;
@include media(tablet) {
padding-left: 0;
position: absolute;
left: 100%;
top: 0;
}
}
}
/*
* :focus-within needs its own selector so other similar
* selectors dont get ignored if a browser doesnt recognize it
*/
.main-menu .menu-item-has-children:focus-within > .sub-menu {
display: block;
left: inherit;
margin-top: -2px;
opacity: 1;
.sub-menu {
margin-top: inherit;
position: relative;
padding-left: $size__spacing-unit;
@include media(tablet) {
padding-left: 0;
position: absolute;
left: 100%;
top: 0;
}
}
}
}
/* Social menu */
.social-navigation {
margin-top: calc(#{$size__spacing-unit} / 2 );
text-align: left;
ul.social-links-menu {
@include clearfix;
display: inline-block;
margin: 0;
padding: 0;
li {
display: inline-block;
vertical-align: bottom;
vertical-align: -webkit-baseline-middle;
list-style: none;
&:nth-child(n+2) {
margin-left: 0.1em;
}
a {
border-bottom: 1px solid transparent;
display: block;
color: $color__text-main;
margin-bottom: -1px;
transition: opacity $link_transition ease-in-out;
&:hover,
&:active {
color: $color__text-main;
opacity: 0.6;
}
&:focus {
color: $color__text-main;
opacity: 1;
border-bottom: 1px solid $color__text-main;
}
svg {
display: block;
width: 32px;
height: 32px;
&#ui-icon-link {
transform: rotate(-45deg);
}
}
}
}
}
}

View File

@ -0,0 +1,14 @@
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
@import "links";
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
@import "menus";
/*--------------------------------------------------------------
## Next / Previous
--------------------------------------------------------------*/
@import "next-previous";

View File

@ -0,0 +1,177 @@
/* Next/Previous navigation */
// Singular navigation
.post-navigation {
margin: calc(3 * 1rem) 0;
.nav-links {
margin: 0 $size__spacing-unit;
max-width: 100%;
display: flex;
flex-direction: column;
@include media(desktop) {
flex-direction: row;
margin: 0 calc(2 * (100vw / 12));
max-width: calc(8 * (100vw / 12));
}
a {
.meta-nav {
color: $color__text-light;
user-select: none;
&:before,
&:after {
display: none;
content: "";
width: 2em;
color: $color__text-light;
height: 1em;
}
}
.post-title {
hyphens: auto;
}
&:hover {
color: $color__link-hover;
}
}
.nav-previous,
.nav-next {
@include media(desktop) {
min-width: calc(50% - 2 * #{$size__spacing-unit});
}
}
.nav-previous {
order: 2;
@include media(desktop) {
order: 1;
}
+ .nav-next {
margin-bottom: $size__spacing-unit;
}
.meta-nav {
&:before {
display: inline;
}
}
}
.nav-next {
order: 1;
@include media(desktop) {
order: 2;
}
.meta-nav {
&:after {
display: inline;
}
}
}
}
}
// Index/archive navigation
.pagination {
.nav-links {
display: flex;
flex-wrap: wrap;
padding: 0 calc(.5 * #{$size__spacing-unit});
& > * {
padding: calc(.5 * #{$size__spacing-unit});
&.dots,
&.prev {
padding-left: 0;
}
&.dots,
&.next {
padding-right: 0;
}
}
.nav-next-text,
.nav-prev-text {
display: none;
}
@include media(tablet) {
margin-left: calc(2 * (100vw / 12) );
padding: 0;
.prev,
.next {
& > * {
display: inline-block;
vertical-align: text-bottom;
}
}
& > * {
padding: $size__spacing-unit;
}
}
}
}
// Comments navigation
.comment-navigation {
.nav-links {
display: flex;
flex-direction: row;
}
.nav-previous,
.nav-next {
min-width: 50%;
width: 100%;
.secondary-text {
display: none;
@include media(tablet) {
display: inline;
}
}
svg {
vertical-align: middle;
position: relative;
margin: 0 -0.35em;
top: -1px;
}
a {
&:hover {
color: $color__link;
}
}
}
.nav-next {
text-align: right;
}
}

View File

@ -0,0 +1,27 @@
/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/
@import "header/site-header";
@import "header/site-featured-image";
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
@import "primary/posts-and-pages";
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
@import "primary/comments";
/*--------------------------------------------------------------
## Archives
--------------------------------------------------------------*/
@import "primary/archives";
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/
@import "footer/site-footer";

View File

@ -0,0 +1,29 @@
/* Site footer */
.site-footer {
color: $color__text-light;
.site-info {
margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit;
@include media(tablet) {
margin: calc(3 * #{$size__spacing-unit}) calc(2 * (100vw / 12));
max-width: calc(8 * (100vw / 12));
}
.imprint {
margin-right: $size__spacing-unit;
}
}
a {
color: inherit;
&:hover {
text-decoration: none;
color: $color__link;
}
}
}

View File

@ -0,0 +1,181 @@
// Featured image styles
.site-header.featured-image {
/* Need relative positioning to properly align layers. */
position: relative;
/* Add text shadow to text, to increase readability. */
text-shadow: 0 1px 2px rgba(black, 0.35);
/* Set white text color when featured image is set. */
.site-branding .site-title,
.site-branding .site-description,
.main-navigation a:after,
.main-navigation .main-menu > li.menu-item-has-children:after,
.main-navigation li,
.social-navigation li,
.entry-meta,
.entry-title {
color: white;
}
.main-navigation a,
.social-navigation a,
.site-title a,
.hentry a {
color: white;
transition: opacity $link_transition ease-in-out;
&:hover,
&:active {
color: white;
opacity: 0.6;
}
&:focus {
color: white;
}
}
// add focus state to social media icons
.social-navigation a {
&:focus {
color: white;
opacity: 1;
border-bottom: 1px solid white;
}
}
.social-navigation svg,
.hentry svg {
/* Use -webkit- only if supporting: Chrome < 54, iOS < 9.3, Android < 4.4.4 */
-webkit-filter: drop-shadow(0 1px 2px rgba(black, 0.35) );
filter: drop-shadow(0 1px 2px rgba(black, 0.35) );
}
/* Post header styles */
.hentry .entry-header {
margin-left: 0;
margin-right: 0;
@include media (tablet) {
margin-left: calc(2 * (100vw / 12));
margin-right: calc(2 * (100vw / 12));
}
.entry-title {
&:before {
background: white;
}
}
}
/* Custom Logo Link */
.custom-logo-link {
background: white;
box-shadow: 0 0 0 0 rgba(white, 0);
&:hover,
&:active,
&:focus {
box-shadow: 0 0 0 2px rgba(white, 1);
}
}
/* Make sure important elements are above pseudo elements used for effects. */
.site-branding,
.hentry .entry-header {
z-index: 10;
}
/* Set up image filter layer positioning */
.site-branding-container:before,
.site-branding-container:after,
.hentry:before,
.hentry:after,
&:after {
display: block;
position: absolute;
top: 0; left: 0;
content: "\020";
width: 100%;
height: 100%;
}
/* Background & Effects */
/* Shared background settings between pseudo elements. See .site-branding-container */
background-position: center;
background-repeat: no-repeat;
background-size: cover;
/* The intensity of each blend mode is controlled via layer opacity. */
/* First layer: grayscale. */
.site-branding-container:before {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
filter: grayscale(100%);
z-index: 1;
}
/* Second layer: screen. */
.hentry:before {
background: $color__link;
mix-blend-mode: screen;
opacity: 0.1;
z-index: 2;
}
/* Third layer: multiply. */
.hentry:after {
background: $color__link;
mix-blend-mode: multiply;
opacity: 1;
z-index: 3;
}
/* Fourth layer: overlay. */
.site-branding-container:after {
background: rgba(white, 0.35);
mix-blend-mode: overlay;
opacity: 0.5;
z-index: 4;
}
/* Fifth layer: readability overlay */
&:after {
background: mix($color__link, black, 12%);
/**
* Add a transition to the readability overlay, to add a subtle
* but smooth effect when resizing the screen.
*/
transition: opacity 1200ms ease-in-out;
z-index: 5;
opacity: 0.38;
@include media(tablet) {
opacity: 0.18;
}
@include media(desktop) {
opacity: 0.1;
}
}
::-moz-selection {
background: rgba(white, 0.17);
}
::selection {
background: rgba(white, 0.17);
}
}

View File

@ -0,0 +1,128 @@
// Site header
.site-header {
padding: 1em;
@include media(tablet) {
margin: 0;
padding: 3rem 0;
&.featured-image {
display: flex;
min-height: 100vh;
flex-direction: column;
justify-content: space-between;
margin-bottom: 3rem;
.site-branding-container {
margin-bottom: auto;
}
}
}
}
// Site branding
.site-branding {
color: $color__text-light;
position: relative;
@include media(tablet) {
margin: 0 calc(2 * (100vw / 12));
max-width: 22em;
}
}
// Site logo
.site-logo {
position: relative;
z-index: 999;
margin-bottom: calc(.66 * #{$size__spacing-unit});
@include media(tablet) {
margin-bottom: 0;
position: absolute;
right: calc(100% + (0.5 * calc(100vw / 12)));
top: 4px; // Accounts for box-shadow widths
z-index: 999;
}
.custom-logo-link {
border-radius: 100%;
box-sizing: content-box;
box-shadow: 0 0 0 0 rgba(black, 0);
display: block;
width: 32px;
height: 32px;
overflow: hidden;
transition: box-shadow $background_transition ease-in-out;
.custom-logo {
min-height: inherit;
}
&:hover,
&:active,
&:focus {
box-shadow: 0 0 0 2px rgba(black, 1);
}
@include media(tablet) {
width: 64px;
height: 64px;
}
}
}
// Site title
.site-title {
margin: auto;
display: inline;
color: $color__text-main;
.featured-image & {
margin: 0;
@include media(tablet) {
display: inline-block;
}
}
/* When there is no description set, make sure navigation appears below title. */
+ .main-navigation {
display: block;
}
a {
color: inherit;
&:hover {
color: $color__text-hover;
}
}
@include media(tablet) {
display: inline;
}
}
// Site description
.site-description {
display: inline;
color: $color__text-light;
font-weight: normal;
margin: 0;
&:not(:empty):before {
content: "\2014";
margin: 0 .2em;
}
}

View File

@ -0,0 +1,65 @@
.archive .page-header,
.search .page-header,
.error404 .page-header {
margin: $size__spacing-unit $size__spacing-unit calc(3 * #{$size__spacing-unit});
@include media(tablet) {
margin: 0 calc(2 * (100vw / 12)) calc(3 * #{$size__spacing-unit});
max-width: calc(8 * (100vw / 12));
}
.page-title {
color: $color__text-light;
display: inline;
letter-spacing: normal;
&:before {
display: none;
}
}
.search-term,
.page-description {
display: inherit;
clear: both;
&:after {
content: ".";
font-weight: bold;
color: $color__text-light;
}
}
}
.hfeed .hentry .entry-header {
@include media(tablet) {
margin: calc(3 * #{$size__spacing-unit}) calc(2 * (100vw / 12)) calc(#{ $size__spacing-unit } / 2);
}
}
/* 404 & Not found */
.error-404.not-found,
.no-results.not-found {
.page-content {
margin: calc(3 * #{$size__spacing-unit}) #{$size__spacing-unit};
@include media(tablet) {
margin: calc(3 * #{$size__spacing-unit}) calc(2 * (100vw / 12)) calc(#{ $size__spacing-unit } / 2);
}
}
.search-submit {
vertical-align: middle;
margin: $size__spacing-unit 0;
}
.search-field {
width: 100%;
}
}

View File

@ -0,0 +1,404 @@
.comment-content a {
word-wrap: break-word;
}
.bypostauthor {
display: block;
}
.comments-area {
/* Add extra margin when the comments section is located immediately after the
* post itself (this happens on pages).
*/
.hentry + & {
margin-top: calc(3 * #{$size__spacing-unit});
}
.comments-title-wrap,
.comment-list,
> .comment-respond,
.comment-form-flex,
.no-comments {
margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit;
@include media(tablet) {
margin: calc(3 * #{$size__spacing-unit}) calc(2 * (100vw / 12));
max-width: calc(6 * (100vw / 12));
}
}
.comments-title-wrap {
align-items: baseline;
display: flex;
justify-content: space-between;
.comments-title {
@include post-section-dash;
margin: 0;
}
}
}
#comment {
max-width: 100%;
box-sizing: border-box;
}
#respond {
position: relative;
.comment-user-avatar {
display: none;
}
.comment .comment-form {
padding-left: 0;
}
> small {
display: block;
font-size: $font__size_base;
position: absolute;
left: calc(#{$size__spacing-unit} + 100%);
top: calc(-3.5 * #{$size__spacing-unit});
width: calc(100vw / 12 );
}
}
#comments {
> .comments-title:last-child {
display: none;
}
> #respond {
@include media(desktop) {
.comment-user-avatar {
position: absolute;
display: block;
top: 0;
left: 0;
.avatar {
display: block;
}
}
}
}
}
.comment-form-flex {
display: flex;
flex-direction: column;
.comments-title {
display: none;
margin: 0;
order: 1;
}
#respond {
order: 2;
+ .comments-title {
display: block;
}
}
}
.comment-list {
list-style: none;
padding: 0;
.children {
margin: 0;
padding: 0 0 0 $size__spacing-unit;
}
> .comment:first-child {
margin-top: 0;
}
}
.comment-reply {
left: calc(#{$size__spacing-unit} + 100%);
bottom: 0;
position: absolute;
#respond + & {
display: none;
}
.comment-reply-link {
display: inline-block;
}
}
.comment {
list-style: none;
position: relative;
@include media(tablet) {
padding-left: calc(.5 * (#{$size__spacing-unit} + calc(100vw / 12 )));
.children {
padding-left: 0;
}
}
&:hover > .comment-body > .comment-meta > .comment-metadata {
> .edit-link-sep,
> .edit-link {
opacity: 1;
}
}
.comment-body {
margin: calc(2 * #{$size__spacing-unit}) 0;
}
.comment-meta {
position: relative;
}
.comment-author {
@include media(tablet) {
display: inline-block;
vertical-align: baseline;
}
.avatar {
float: left;
margin-right: $size__spacing-unit;
position: relative;
@include media(tablet) {
float: inherit;
margin-right: inherit;
position: absolute;
top: 0;
right: calc(100% + #{$size__spacing-unit});
}
}
.fn {
position: relative;
display: block;
@include media(tablet) {
display: inline-block;
vertical-align: baseline;
}
a {
color: inherit;
&:hover {
color: $color__link-hover;
}
}
}
.post-author-badge {
border-radius: 100%;
display: block;
height: 18px;
position: absolute;
background: lighten( $color__link, 8% );
right: calc(100% + #{$size__spacing-unit * .25});
top: -3px;
width: 18px;
svg {
width: inherit;
height: inherit;
display: block;
fill: white;
transform: scale(0.875);
}
}
}
.comment-metadata {
@include media(tablet) {
display: inline-block;
margin-left: $size__spacing-unit;
position: relative;
vertical-align: baseline;
}
> a,
.comment-edit-link {
display: inline-block;
font-weight: 500;
color: $color__text-light;
vertical-align: baseline;
time {
vertical-align: baseline;
}
&:hover {
color: $color__text-hover;
text-decoration: none;
}
}
> * {
display: inline-block;
}
.edit-link-sep {
color: $color__text-light;
margin: 0 0.2em;
opacity: 0;
transition: opacity 200ms ease-in-out;
vertical-align: baseline;
}
.edit-link {
color: $color__text-light;
transition: opacity 200ms ease-in-out;
opacity: 0;
svg {
transform: scale(0.8);
vertical-align: baseline;
margin-right: 0.1em;
}
}
.comment-edit-link {
position: relative;
padding-left: $size__spacing-unit;
margin-left: -#{$size__spacing-unit};
z-index: 1;
&:hover {
color: $color__link;
}
}
}
.comment-content {
margin: $size__spacing-unit 0;
> *:first-child {
margin-top: 0;
}
> *:last-child {
margin-bottom: 0;
}
a {
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
}
.comment-reply-link,
#cancel-comment-reply-link {
font-weight: 500;
&:hover {
color: $color__link-hover;
}
}
.discussion-avatar-list {
@include clearfix;
margin: 0;
padding: 0;
li {
position: relative;
list-style: none;
margin: 0 -8px 0 0;
padding: 0;
float: left;
}
.comment-user-avatar {
img {
height: calc(1.5 * #{$size__spacing-unit});
width: calc(1.5 * #{$size__spacing-unit});
}
@include media(tablet) {
}
}
}
.discussion-meta {
.discussion-avatar-list {
display: inline-block;
margin-right: 8px;
}
.discussion-meta-info {
margin: 0;
.svg-icon {
vertical-align: middle;
fill: currentColor;
transform: scale( 0.6 ) scaleX(-1) translateY(-0.1em);
margin-left: -#{.25 * $size__spacing-unit}; // Align icon with avatars above.
}
}
}
.comment-form {
.comment-notes,
label {
font-family: $font__heading;
font-size: $font__size-xs;
color: $color__text-light;
}
.comment-form-author,
.comment-form-email {
@include media(tablet) {
width: calc(50% - #{$size__spacing-unit / 2});
float: left;
}
}
.comment-form-email {
@include media(tablet) {
margin-left: $size__spacing-unit;
}
}
input[name="author"],
input[name="email"],
input[name="url"] {
display: block;
width: 100%;
}
}

View File

@ -0,0 +1,240 @@
.sticky {
display: block;
}
.sticky-post {
background: $color__background-button;
color: #fff;
display: inline-block;
font-weight: bold;
line-height: 1;
padding: .25rem;
position: absolute;
text-transform: uppercase;
top: -$size__spacing-unit;
z-index: 1;
}
.updated:not(.published) {
display: none;
}
.page-links {
clear: both;
margin: 0 0 calc(1.5 * #{$size__spacing-unit});
}
.hentry {
margin-top: calc(6 * #{$size__spacing-unit});
&:first-of-type {
margin-top: 0;
}
.entry-header {
margin: calc(3 * #{ $size__spacing-unit}) $size__spacing-unit $size__spacing-unit;
position: relative;
@include media(tablet) {
margin: calc(3 * #{ $size__spacing-unit}) calc(2 * (100vw / 12 ) ) $size__spacing-unit;
.featured-image & {
margin-bottom: 0;
}
}
}
.entry-title {
@include post-section-dash;
margin: 0;
a {
color: inherit;
&:hover {
color: $color__text-hover;
}
}
}
.entry-meta,
.entry-footer {
color: $color__text-light;
font-weight: 500;
> span {
margin-right: $size__spacing-unit;
&:last-child {
margin-right: 0;
}
}
a {
@include link-transition;
color: currentColor;
&:hover {
text-decoration: none;
color: $color__link;
}
}
.svg-icon {
position: relative;
display: inline-block;
vertical-align: middle;
margin-right: 0.5em;
}
}
.entry-meta {
margin: $size__spacing-unit 0;
&.has-discussion .comment-count {
@include media(desktop) {
float: right;
position: relative;
}
.discussion-avatar-list {
display: none;
@include media(desktop) {
bottom: 100%;
display: block;
position: absolute;
}
}
}
}
.entry-footer {
margin: calc(2 * #{$size__spacing-unit}) $size__spacing-unit $size__spacing-unit;
@include media(tablet) {
margin: calc(3 * #{$size__spacing-unit}) calc(2 * (100vw / 12));
max-width: calc(8 * (100vw / 12));
}
@include media(tablet) {
max-width: calc(6 * (100vw / 12));
}
}
.post-thumbnail {
margin: $size__spacing-unit;
@include media(tablet) {
margin: $size__spacing-unit calc(2 * (100vw / 12));
}
&:focus {
outline: none;
}
.post-thumbnail-inner {
display: block;
img {
position: relative;
display: block;
width: 100%;
}
}
}
.image-filters-enabled & {
.post-thumbnail {
position: relative;
display: block;
.post-thumbnail-inner {
@include filter-grayscale;
}
&:before, &:after {
position: absolute;
display: block;
width: 100%;
height: 100%;
top: 0; left: 0;
content: "\020";
display: block;
pointer-events: none;
}
@include filter-duotone;
}
}
.entry-content {
.more-link {
@include link-transition;
display: inline;
color: inherit;
&:after {
content: "»";
margin-left: 0.5em;
}
&:hover {
color: $color__link;
text-decoration: none;
}
}
a {
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
// Overwrite iframe embeds that have inline styles.
> iframe[style] {
margin: 32px $size__spacing-unit !important;
max-width: calc(100vw - (2 * #{ $size__spacing-unit })) !important;
@include media(tablet) {
margin: 32px calc(2 * (100vw / 12)) !important;
max-width: calc(8 * (100vw / 12)) !important;
}
@include media(desktop) {
max-width: calc(6 * (100vw / 12)) !important;
}
}
// Classic editor audio embeds.
.wp-audio-shortcode {
max-width: calc(100vw - (2 * #{ $size__spacing-unit }));
@include media(tablet) {
max-width: calc(8 * (100vw / 12));
}
@include media(desktop) {
max-width: calc(6 * (100vw / 12));
}
}
}
}

View File

@ -0,0 +1,8 @@
.widget {
margin: 0 0 #{$size__spacing-unit};
/* Make sure select elements fit in widgets. */
select {
max-width: 100%;
}
}

View File

@ -0,0 +1,61 @@
p {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
dfn, cite, em, i {
font-style: italic;
}
blockquote {
> p {
font-size: $font__size-lg;
font-style: italic;
line-height: $font__line-height-heading;
}
cite {
font-size: $font__size-sm;
font-style: normal;
font-family: $font__heading;
}
}
pre {
font-size: $font__size-sm;
font-family: $font__pre;
line-height: $font__line-height-body;
overflow: auto;
}
code, kbd, tt, var {
font-size: $font__size-sm;
font-family: $font__code;
}
abbr, acronym {
border-bottom: 1px dotted #666;
cursor: help;
}
mark, ins {
background: #fff9c0;
text-decoration: none;
}
big {
font-size: 125%;
}
a {
text-decoration: none;
&:hover {
text-decoration: none;
}
&:focus {
text-decoration: underline;
}
}

View File

@ -0,0 +1,139 @@
.main-navigation,
.page-description,
h2.author-title,
.not-found .page-title,
.error-404 .page-title,
.post-navigation .post-title,
.pagination .nav-links,
.comments-title,
.comment-author .fn,
.no-comments,
.site-title,
h1, h2, h3, h4, h5, h6 {
font-family: $font__heading;
font-weight: 700;
letter-spacing: -0.02em;
line-height: $font__line-height-heading;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.site-info,
.page-description,
.post-navigation .post-title,
.comment-metadata,
.discussion-meta-info,
.entry-meta,
.entry-footer,
.comment-reply-link,
#cancel-comment-reply-link,
img:after,
.page-links,
.sticky-post {
font-family: $font__heading;
}
.page-title {
font-family: $font__body;
}
.site-branding,
.main-navigation ul.main-menu > li,
.social-navigation,
.author-description p.author-bio,
.nav-links {
line-height: 1.25;
}
h1 {
font-size: $font__size-xl;
@include media(tablet) {
font-size: $font__size-xxl;
}
}
.entry-title,
.not-found .page-title,
.error-404 .page-title,
.has-larger-font-size,
h2 {
font-size: $font__size-lg;
@include media(tablet) {
font-size: $font__size-xl;
}
}
.has-regular-font-size,
.has-large-font-size,
.comments-title,
h3 {
font-size: $font__size-lg;
}
.site-title,
.site-description,
.main-navigation,
.nav-links,
.page-title,
.page-description,
.comment-author .fn,
.no-comments,
h2.author-title,
p.author-bio,
h4 {
font-size: $font__size-md;
}
.pagination .nav-links,
.comment-content,
h5 {
font-size: $font__size-sm;
}
.entry-meta,
.entry-footer,
.discussion-meta-info,
.site-info,
.has-small-font-size,
.comment-reply-link,
.comment-metadata,
.comment-notes,
.sticky-post,
#cancel-comment-reply-link,
img:after,
h6 {
font-size: $font__size-xs;
}
.site-title,
.page-title {
font-weight: normal;
}
.page-description,
.page-links a {
font-weight: bold;
}
.site-description {
letter-spacing: -0.01em;
}
.post-navigation .post-title,
.entry-title,
.not-found .page-title,
.error-404 .page-title,
.comments-title,
blockquote {
hyphens: auto;
word-break: break-word;
}
/* Do not hyphenate entry title on tablet view and bigger. */
.entry-title {
@include media(tablet) {
hyphens: none;
}
}

View File

@ -0,0 +1,32 @@
html {
font-size: $font__size_base;
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: $color__text-main;
font-family: $font__body;
font-weight: 400;
font-size: 1em;
line-height: $font__line-height-body;
margin: 0;
text-rendering: optimizeLegibility;
}
button,
input,
select,
optgroup,
textarea {
color: $color__text-main;
font-family: $font__body;
font-weight: 400;
line-height: $font__line-height-body;
text-rendering: optimizeLegibility;
}
@import "headings";
@import "copy";

View File

@ -0,0 +1,34 @@
// Backgrounds
$color__background-body: #fff;
$color__background-input: #fff;
$color__background-screen: #f1f1f1;
$color__background-hr: #ccc;
$color__background-button: #0073aa;
$color__background-button-hover: #111;
$color__background-pre: #eee;
$color__background-ins: #fff9c0;
$color__background_selection: mix( $color__background-body, $color__background-button, 75% ); // lighten( salmon, 22.5% ); // lighten( #0999d4, 48% );
// Text
$color__text-main: #111;
$color__text-light: #767676;
$color__text-hover: lighten( #111, 22.5% );
$color__text-screen: #21759b;
$color__text-input: #666;
$color__text-input-focus: #111;
// Links
$color__link: #0073aa;
$color__link-visited: #0073aa;
$color__link-hover: darken( $color__link, 10% );
// Borders
$color__border: #ccc;
$color__border-link: #0073aa;
$color__border-link-hover: darken( $color__link, 10% );
$color__border-button: #ccc #ccc #bbb;
$color__border-button-hover: #ccc #bbb #aaa;
$color__border-button-focus: #aaa #bbb #bbb;
$color__border-input: $color__border;
$color__border-abbr: #666;

View File

@ -0,0 +1,16 @@
$columns: (
1: calc(1 * (100vw / 12)),
2: calc(2 * (100vw / 12)),
3: calc(3 * (100vw / 12)),
4: calc(4 * (100vw / 12)),
5: calc(5 * (100vw / 12)),
6: calc(6 * (100vw / 12)),
7: calc(7 * (100vw / 12)),
8: calc(8 * (100vw / 12)),
9: calc(9 * (100vw / 12)),
10: calc(10 * (100vw / 12)),
11: calc(11 * (100vw / 12)),
12: calc(12 * (100vw / 12))
);
$columns__margin: $size__spacing-unit;

View File

@ -0,0 +1,23 @@
// Font and typographic variables
$font__body: "Hoefler Text", "Baskerville Old Face", Garamond, "Times New Roman", serif;
$font__heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
$font__code: Menlo, monaco, Consolas, Lucida Console, monospace;
$font__pre: "Courier 10 Pitch", Courier, monospace;
$font__size_base: 22px;
$font__size-ratio: 1.125;
$font__size-xxs: 1em / (1.5 * $font__size-ratio);
$font__size-xs: 1em / (1.25 * $font__size-ratio);
$font__size-sm: 1em / (1 * $font__size-ratio);
$font__size-md: 1em * (1 * $font__size-ratio);
$font__size-lg: 1em * (1.5 * $font__size-ratio);
$font__size-xl: 1em * (2 * $font__size-ratio);
$font__size-xxl: 1em * (2.5 * $font__size-ratio);
$font__size-xxxl: 1em * (3 * $font__size-ratio);
$font__line-height-body: 1.8;
$font__line-height-pre: 1.6;
$font__line-height-heading: 1.2;
$font__line-height-double: 2 * $font__line-height-heading;

View File

@ -0,0 +1,13 @@
// Responsive widths.
$size__spacing-unit: 1rem;
$size__site-main: 100%;
$size__site-sidebar: 25%;
// Responsive widths.
$mobile_width: 380px;
$tablet_width: 768px;
$desktop_width: 1168px;
$wide_width: 1379px;

View File

@ -0,0 +1,6 @@
// Transition timeouts.
$link_transition: 110ms;
$icon_transition: 120ms;
$button_transition: 150ms;
$background_transition: 200ms;

View File

@ -0,0 +1,5 @@
@import "colors";
@import "fonts";
@import "structure";
@import "columns";
@import "transitions";

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 KiB

View File

@ -0,0 +1,56 @@
<?php
/**
* The template for displaying search results pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#search-result
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<section id="primary" class="content-area">
<main id="main" class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php esc_html_e( 'Search results for:', 'twentynineteen' ); ?>
</h1>
<div class="page-description">
<?php echo get_search_query(); ?>
</div>
</header><!-- .page-header -->
<?php
// Start the Loop.
while ( have_posts() ) :
the_post();
/*
* Include the Post-Format-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Format name) and that will be used instead.
*/
get_template_part( 'template-parts/content/content' );
// End the loop.
endwhile;
// Previous/next page navigation.
twentynineteen_the_posts_navigation();
// If no content, include the "No posts found" template.
else :
get_template_part( 'template-parts/content/content', 'none' );
endif;
?>
</main><!-- #main -->
</section><!-- #primary -->
<?php
get_footer();

View File

@ -0,0 +1,60 @@
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
get_header();
?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/content/content', 'single' );
if ( is_singular( 'attachment' ) ) {
// Parent post navigation.
the_post_navigation(
array(
'prev_text' => _x( '<span class="meta-nav">Published in</span><span class="post-title">%title</span>', 'Parent post link', 'twentynineteen' ),
)
);
} elseif ( is_singular( 'post' ) ) {
// Previous/next post navigation.
the_post_navigation(
array(
'next_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Next Post', 'twentynineteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Next post:', 'twentynineteen' ) . '</span> <br/>' .
'<span class="post-title">%title</span>',
'prev_text' => '<span class="meta-nav" aria-hidden="true">' . __( 'Previous Post', 'twentynineteen' ) . '</span> ' .
'<span class="screen-reader-text">' . __( 'Previous post:', 'twentynineteen' ) . '</span> <br/>' .
'<span class="post-title">%title</span>',
)
);
}
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) {
comments_template();
}
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_template_part( 'template-parts/post/post', 'navigation' ); ?>
<?php
get_footer();

View File

@ -0,0 +1,60 @@
/*!
Twenty Nineteen Editor Frame Styles
NOTE: This file customizes items that are out of the normal scope of style-editor.css due to the auto-prefixing functionality associated with add_editor_style(). When that file is able to edit the post title and a container similar to .edit-post-layout, these styles should be migrated into style-editor.css.
*/
/** === Includes === */
/* If we add the border using a regular CSS border, it won't look good on non-retina devices,
* since its edges can look jagged due to lack of antialiasing. In this case, we are several
* layers of box-shadow to add the border visually, which will render the border smoother. */
/** === Title === */
body.gutenberg-editor-page .gutenberg .editor-post-title__block:before {
background: #767676;
content: "\020";
display: block;
height: 2px;
margin: 1rem 0;
width: 1em;
}
body.gutenberg-editor-page .gutenberg .editor-post-title__block:before {
width: 2.8125em;
margin-top: 0;
margin-bottom: 0;
margin-left: 1em;
position: relative;
top: 0.5em;
}
body.gutenberg-editor-page .gutenberg .editor-post-title__block .editor-post-title__input {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 2.8125em;
}
/** === Default Appender === */
body.gutenberg-editor-page .gutenberg .editor-default-block-appender__content {
font-family: "Hoefler Text", "Baskerville Old Face", Garamond, "Times New Roman", serif;
font-size: 22px;
}
/** === Off-Center Content === */
@media only screen and (min-width: 768px) {
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-writing-flow {
max-width: 80%;
margin: 0 10%;
}
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-post-title__block,
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-default-block-appender,
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-block-list__block {
margin-left: 0;
margin-right: 0;
}
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-block-list__block[data-align="full"] {
width: calc( 125% + 88px + 28px);
position: relative;
left: calc( -12.5% - 46px - 14px);
}
body.gutenberg-editor-page .gutenberg .edit-post-layout .editor-block-list__block[data-align="right"] {
max-width: 125%;
}
}

View File

@ -0,0 +1,67 @@
/*!
Twenty Nineteen Editor Frame Styles
NOTE: This file customizes items that are out of the normal scope of style-editor.css due to the auto-prefixing functionality associated with add_editor_style(). When that file is able to edit the post title and a container similar to .edit-post-layout, these styles should be migrated into style-editor.css.
*/
/** === Includes === */
@import "sass/variables-site/variables-site";
@import "sass/variables-site/colors";
@import "sass/mixins/mixins-master";
/** === Title === */
body.gutenberg-editor-page .gutenberg .editor-post-title__block {
@include post-section-dash;
&:before {
width: $font__size-xxl;
margin-top: 0;
margin-bottom: 0;
margin-left: 1em;
position: relative;
top: 0.5em;
}
.editor-post-title__input {
font-family: $font__heading;
font-size: $font__size-xxl;
}
}
/** === Default Appender === */
body.gutenberg-editor-page .gutenberg .editor-default-block-appender__content {
font-family: $font__body;
font-size: $font__size_base;
}
/** === Off-Center Content === */
body.gutenberg-editor-page .gutenberg .edit-post-layout {
@include media(tablet) {
.editor-writing-flow {
max-width: 80%;
margin: 0 10%;
}
.editor-post-title__block,
.editor-default-block-appender,
.editor-block-list__block {
margin-left: 0;
margin-right: 0;
}
.editor-block-list__block[data-align="full"] {
width: calc( 125% + 88px + 28px );
position: relative;
left: calc( -12.5% - 46px - 14px );
}
.editor-block-list__block[data-align="right"] {
max-width: 125%;
}
}
}

View File

@ -0,0 +1,552 @@
/*!
Twenty Nineteen Editor Styles
NOTE: Styling alignment styles require use of [data-align] selectors.
This is not ideal, but it works. Styles using those selectors should be refactored
when Gutenberg supports styling those variations more intuitively.
*/
/** === Includes === */
/* If we add the border using a regular CSS border, it won't look good on non-retina devices,
* since its edges can look jagged due to lack of antialiasing. In this case, we are several
* layers of box-shadow to add the border visually, which will render the border smoother. */
/** === Content Width === */
.wp-block {
width: calc(100vw - (2 * 1rem));
}
@media only screen and (min-width: 768px) {
.wp-block {
width: calc(8 * (100vw / 12));
}
}
@media only screen and (min-width: 1168px) {
.wp-block {
width: calc(6 * (100vw / 12 ));
}
}
/** === Base Typography === */
body {
font-size: 22px;
font-family: "Hoefler Text", "Baskerville Old Face", Garamond, "Times New Roman", serif;
color: #111;
}
p {
font-size: 22px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
h1 {
font-size: 2.25em;
}
h1:before {
background: #767676;
content: "\020";
display: block;
height: 2px;
margin: 1rem 0;
width: 1em;
}
@media only screen and (min-width: 768px) {
h1 {
font-size: 2.8125em;
}
}
h2 {
font-size: 1.6875em;
}
h2:before {
background: #767676;
content: "\020";
display: block;
height: 2px;
margin: 1rem 0;
width: 1em;
}
@media only screen and (min-width: 768px) {
h2 {
font-size: 2.25em;
}
}
h3 {
font-size: 1.6875em;
}
h4 {
font-size: 1.125em;
}
h5 {
font-size: 0.88889em;
}
h6 {
font-size: 0.71111em;
}
a {
transition: color 110ms ease-in-out;
color: #0073aa;
}
a:hover, a:active {
color: #005177;
outline: 0;
text-decoration: none;
}
a:focus {
outline: 0;
text-decoration: underline;
}
figcaption,
.gallery-caption {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 0.71111em;
line-height: 1.6;
color: #767676;
}
/** === Paragraph === */
.wp-block-paragraph.has-drop-cap:not(:focus)::first-letter {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 3.375em;
line-height: 1;
font-weight: bold;
margin: 0 0.25em 0 0;
}
/** === Cover Image === */
.wp-block-cover-image h2,
.wp-block-cover-image .wp-block-cover-image-text {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 2.25em;
font-weight: bold;
line-height: 1.4;
}
.wp-block-cover-image.has-left-content {
justify-content: center;
}
.wp-block-cover-image.has-left-content h2,
.wp-block-cover-image.has-left-content .wp-block-cover-image-text {
padding: 1em;
}
.wp-block-cover-image.has-right-content {
justify-content: center;
}
.wp-block-cover-image.has-right-content h2,
.wp-block-cover-image.has-right-content .wp-block-cover-image-text {
padding: 1em;
}
body[data-type="core/cover-image"][data-align="left"] h2,
body[data-type="core/cover-image"][data-align="left"] .wp-block-cover-image-text,
body[data-type="core/cover-image"][data-align="right"] h2,
body[data-type="core/cover-image"][data-align="right"] .wp-block-cover-image-text {
width: 100%;
max-width: 305px;
}
@media only screen and (min-width: 1168px) {
body[data-type="core/cover-image"][data-align="wide"] h2,
body[data-type="core/cover-image"][data-align="wide"] .wp-block-cover-image-text,
body[data-type="core/cover-image"][data-align="full"] h2,
body[data-type="core/cover-image"][data-align="full"] .wp-block-cover-image-text {
padding: 0;
width: calc(6 * (100vw / 12));
max-width: calc(6 * (100vw / 12));
}
}
/** === Gallery === */
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.wp-block-gallery .gallery-item .gallery-caption {
font-size: 0.71111em;
line-height: 1.6;
}
/** === Button === */
.wp-block-button .wp-block-button__link {
line-height: 1.8;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 0.88889em;
font-weight: bold;
}
.wp-block-button .wp-block-button__link:not(.has-background),
.wp-block-button .wp-block-button__link:not(.has-background) {
background: #0073aa;
}
.wp-block-button:not(.is-style-squared) .wp-block-button__link {
border-radius: 5px;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:active {
background: transparent;
border-color: #0073aa;
}
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-outline .wp-block-button__link:hover:not(.has-text-color),
.wp-block-button.is-style-outline .wp-block-button__link:focus:not(.has-text-color),
.wp-block-button.is-style-outline .wp-block-button__link:active:not(.has-text-color) {
color: #0073aa;
}
/** === Blockquote === */
.wp-block-quote:not(.is-large):not(.is-style-large) {
border-left: 2px solid #0073aa;
}
.wp-block-quote.is-large, .wp-block-quote.is-style-large {
margin-top: 2.8125em;
margin-bottom: 2.8125em;
}
.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
font-size: 1.6875em;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
}
.wp-block-quote cite,
.wp-block-quote footer,
.wp-block-quote .wp-block-quote__citation {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 0.71111em;
line-height: 1.6;
color: #767676;
}
/** === Pullquote === */
.wp-block-pullquote {
border: none;
}
.wp-block-pullquote.is-style-solid-color blockquote {
width: calc(100vw - (2 * 1rem));
max-width: 80%;
}
@media only screen and (min-width: 768px) {
.wp-block-pullquote.is-style-solid-color blockquote {
width: calc(8 * (100vw / 12));
}
}
@media only screen and (min-width: 1168px) {
.wp-block-pullquote.is-style-solid-color blockquote {
width: calc(6 * (100vw / 12));
}
}
.wp-block-pullquote.is-style-solid-color blockquote:not(.has-text-color) p,
.wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation {
color: white;
}
.wp-block-pullquote.is-style-solid-color:not(.has-background-color) {
background-color: #0073aa;
}
.wp-block-pullquote blockquote {
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
word-break: break-word;
}
body[data-type="core/pullquote"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"] p,
body[data-type="core/pullquote"][data-align="left"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="left"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="left"] p,
body[data-type="core/pullquote"][data-align="right"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="right"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="right"] p {
font-size: 1.6875em;
font-style: italic;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
color: #111;
}
@media only screen and (min-width: 768px) {
body[data-type="core/pullquote"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"] p,
body[data-type="core/pullquote"][data-align="left"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="left"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="left"] p,
body[data-type="core/pullquote"][data-align="right"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="right"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="right"] p {
font-size: 2.25em;
}
}
body[data-type="core/pullquote"] .wp-block-pullquote__citation,
body[data-type="core/pullquote"][data-align="left"] .wp-block-pullquote__citation,
body[data-type="core/pullquote"][data-align="right"] .wp-block-pullquote__citation {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 0.71111em;
line-height: 1.6;
text-transform: none;
color: #767676;
}
body[data-type="core/pullquote"] em,
body[data-type="core/pullquote"][data-align="left"] em,
body[data-type="core/pullquote"][data-align="right"] em {
font-style: normal;
}
body[data-type="core/pullquote"][data-align="left"] .editor-block-list__block-edit,
body[data-type="core/pullquote"][data-align="right"] .editor-block-list__block-edit {
max-width: 50%;
}
body[data-type="core/pullquote"][data-align="left"] .editor-block-list__block-edit .wp-block-pullquote:not(.is-style-solid-color),
body[data-type="core/pullquote"][data-align="right"] .editor-block-list__block-edit .wp-block-pullquote:not(.is-style-solid-color) {
padding: 0;
}
body[data-type="core/pullquote"][data-align="left"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color,
body[data-type="core/pullquote"][data-align="right"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color {
padding: 1em;
}
body[data-type="core/pullquote"][data-align="left"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color p,
body[data-type="core/pullquote"][data-align="left"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation,
body[data-type="core/pullquote"][data-align="right"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color p,
body[data-type="core/pullquote"][data-align="right"] .editor-block-list__block-edit .wp-block-pullquote.is-style-solid-color .wp-block-pullquote__citation {
color: white;
}
body[data-type="core/pullquote"][data-align="left"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="left"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="left"] p,
body[data-type="core/pullquote"][data-align="left"] .wp-block-pullquote__citation,
body[data-type="core/pullquote"][data-align="right"] blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
body[data-type="core/pullquote"][data-align="right"] blockquote > .editor-rich-text p,
body[data-type="core/pullquote"][data-align="right"] p,
body[data-type="core/pullquote"][data-align="right"] .wp-block-pullquote__citation {
text-align: left;
}
/** === File === */
.wp-block-file {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
.wp-block-file .wp-block-file__button {
line-height: 1.8;
font-size: 0.88889em;
font-weight: bold;
background-color: #0073aa;
border-radius: 5px;
}
/** === Verse === */
.wp-block-verse,
.wp-block-verse pre {
padding: 0;
}
/** === Code === */
.wp-block-code {
border-radius: 0;
}
/** === Table === */
.wp-block-table td, .wp-block-table th {
border-color: #767676;
}
/** === Separator === */
.wp-block-separator:not(.is-style-dots) {
border-bottom: 2px solid #767676;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
width: 2.25em;
margin-left: 0;
}
.wp-block-separator.is-style-dots:before {
color: #767676;
font-size: 1.6875em;
letter-spacing: 0.88889em;
}
/** === Latest Posts, Archives, Categories === */
ul.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts {
padding: 0;
list-style-type: none;
}
ul.wp-block-archives ul,
.wp-block-categories ul,
.wp-block-latest-posts ul {
padding: 0;
list-style-type: none;
}
ul.wp-block-archives li,
.wp-block-categories li,
.wp-block-latest-posts li {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 1.6875em;
font-weight: bold;
line-height: 1.2;
}
ul.wp-block-archives li a,
.wp-block-categories li a,
.wp-block-latest-posts li a {
text-decoration: none;
}
ul.wp-block-archives li a:after,
.wp-block-categories li a:after,
.wp-block-latest-posts li a:after {
color: #767676;
content: ",";
}
ul.wp-block-archives li:last-child a:after,
.wp-block-categories li:last-child a:after,
.wp-block-latest-posts li:last-child a:after {
color: #767676;
content: ".";
}
/** === Latest Posts grid view === */
.wp-block-latest-posts.is-grid li {
border-top: 2px solid #ccc;
padding-top: 1rem;
margin-bottom: 2rem;
}
.wp-block-latest-posts.is-grid li a:after {
content: '';
}
.wp-block-latest-posts.is-grid li:last-child {
margin-bottom: auto;
}
.wp-block-latest-posts.is-grid li:last-child a:after {
content: '';
}
/** === Latest Comments === */
.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-weight: bold;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-meta .wp-block-latest-comments__comment-date {
font-weight: normal;
}
.wp-block-latest-comments .wp-block-latest-comments__comment,
.wp-block-latest-comments .wp-block-latest-comments__comment-date,
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
font-size: inherit;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-date {
font-size: 0.71111em;
}
/** === Classic Editor === */
/* Properly center-align captions in the classic-editor block */
.wp-caption dd {
text-align: center;
-webkit-margin-start: 0px;
margin-inline-start: 0px;
}
.wp-block-freeform {
/* Add style for galleries in classic-editor block */
}
.wp-block-freeform .gallery {
display: flex;
}
.wp-block-freeform .gallery .gallery-item {
padding: 0.5rem;
text-align: center;
vertical-align: top;
width: 100%;
}
.wp-block-freeform .gallery .gallery-item .gallery-caption {
margin: 0;
}
.wp-block-freeform .gallery.gallery-columns-2 .gallery-item {
max-width: calc( ( 12 / 2 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-3 .gallery-item {
max-width: calc( ( 12 / 3 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-4 .gallery-item {
max-width: calc( ( 12 / 4 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-5 .gallery-item {
max-width: calc( ( 12 / 5 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-6 .gallery-item {
max-width: calc( ( 12 / 6 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-7 .gallery-item {
max-width: calc( ( 12 / 7 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-8 .gallery-item {
max-width: calc( ( 12 / 8 ) * (100% / 12));
}
.wp-block-freeform .gallery.gallery-columns-9 .gallery-item {
max-width: calc( ( 12 / 9 ) * (100% / 12));
}

View File

@ -0,0 +1,524 @@
/*!
Twenty Nineteen Editor Styles
NOTE: Styling alignment styles require use of [data-align] selectors.
This is not ideal, but it works. Styles using those selectors should be refactored
when Gutenberg supports styling those variations more intuitively.
*/
/** === Includes === */
@import "sass/variables-site/variables-site";
@import "sass/variables-site/colors";
@import "sass/mixins/mixins-master";
/** === Content Width === */
.wp-block {
width: calc(100vw - (2 * #{$size__spacing-unit}));
@include media(tablet) {
width: calc(8 * (100vw / 12));
}
@include media(desktop) {
width: calc(6 * (100vw / 12 ));
}
}
/** === Base Typography === */
body {
font-size: $font__size_base;
font-family: $font__body;
color: $color__text-main;
}
p {
font-size: $font__size_base;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: $font__heading;
}
h1 {
font-size: $font__size-xl;
@include post-section-dash;
@include media(tablet) {
font-size: $font__size-xxl;
}
}
h2 {
font-size: $font__size-lg;
@include post-section-dash;
@include media(tablet) {
font-size: $font__size-xl;
}
}
h3 {
font-size: $font__size-lg;
}
h4 {
font-size: $font__size-md;
}
h5 {
font-size: $font__size-sm;
}
h6 {
font-size: $font__size-xs;
}
a {
@include link-transition;
color: $color__link;
*:visited {
}
&:hover,
&:active {
color: $color__link-hover;
outline: 0;
text-decoration: none;
}
&:focus {
outline: 0;
text-decoration: underline;
}
}
figcaption,
.gallery-caption {
font-family: $font__heading;
font-size: $font__size-xs;
line-height: 1.6;
color: $color__text-light;
}
/** === Paragraph === */
.wp-block-paragraph {
&.has-drop-cap:not(:focus)::first-letter {
font-family: $font__heading;
font-size: $font__size-xxxl;
line-height: 1;
font-weight: bold;
margin: 0 0.25em 0 0;
}
}
/** === Cover Image === */
.wp-block-cover-image {
h2,
.wp-block-cover-image-text {
font-family: $font__heading;
font-size: $font__size-xl;
font-weight: bold;
line-height: 1.4;
}
&.has-left-content {
justify-content: center;
h2,
.wp-block-cover-image-text {
padding: 1em;
}
}
&.has-right-content {
justify-content: center;
h2,
.wp-block-cover-image-text {
padding: 1em;
}
}
}
body[data-type="core/cover-image"][data-align="left"],
body[data-type="core/cover-image"][data-align="right"] {
h2,
.wp-block-cover-image-text {
width: 100%;
max-width: 305px;
}
}
body[data-type="core/cover-image"][data-align="wide"],
body[data-type="core/cover-image"][data-align="full"] {
@include media(desktop) {
h2,
.wp-block-cover-image-text {
padding: 0;
width: calc(6 * (100vw / 12));
max-width: calc(6 * (100vw / 12));
}
}
}
/** === Gallery === */
.wp-block-gallery {
.blocks-gallery-image figcaption,
.blocks-gallery-item figcaption,
.gallery-item .gallery-caption {
font-size: $font__size-xs;
line-height: 1.6;
}
}
/** === Button === */
.wp-block-button {
.wp-block-button__link {
line-height: 1.8;
font-family: $font__heading;
font-size: $font__size-sm;
font-weight: bold;
}
.wp-block-button__link:not(.has-background),
.wp-block-button__link:not(.has-background) {
background: $color__background-button;
}
&:not(.is-style-squared) .wp-block-button__link {
border-radius: 5px;
}
&.is-style-outline .wp-block-button__link,
&.is-style-outline .wp-block-button__link:hover,
&.is-style-outline .wp-block-button__link:focus,
&.is-style-outline .wp-block-button__link:active {
background: transparent;
border-color: $color__background-button;
&:not(.has-text-color) {
color: $color__background-button;
}
}
}
/** === Blockquote === */
.wp-block-quote {
&:not(.is-large):not(.is-style-large) {
border-left: 2px solid $color__link;
}
&.is-large,
&.is-style-large {
margin-top: $font__size-xxl;
margin-bottom: $font__size-xxl;
}
&.is-large p,
&.is-style-large p {
font-size: $font__size-lg;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
}
cite,
footer,
.wp-block-quote__citation {
font-family: $font__heading;
font-size: $font__size-xs;
line-height: 1.6;
color: $color__text-light;
}
}
/** === Pullquote === */
.wp-block-pullquote {
border: none;
&.is-style-solid-color {
blockquote {
width: calc(100vw - (2 * #{ $size__spacing-unit}));
max-width: 80%;
@include media(tablet) {
width: calc(8 * (100vw / 12));
}
@include media(desktop) {
width: calc(6 * (100vw / 12));
}
}
blockquote:not(.has-text-color) p,
.wp-block-pullquote__citation {
color: white;
}
&:not(.has-background-color) {
background-color: $color__link;
}
}
blockquote {
hyphens: auto;
word-break: break-word;
}
}
body[data-type="core/pullquote"],
body[data-type="core/pullquote"][data-align="left"],
body[data-type="core/pullquote"][data-align="right"] {
blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
blockquote > .editor-rich-text p,
p {
font-size: $font__size-lg;
font-style: italic;
line-height: 1.3;
margin-bottom: 0.5em;
margin-top: 0.5em;
color: $color__text-main;
@include media(tablet) {
font-size: $font__size-xl;
}
}
.wp-block-pullquote__citation {
font-family: $font__heading;
font-size: $font__size-xs;
line-height: 1.6;
text-transform: none;
color: $color__text-light;
}
em {
font-style: normal;
}
}
body[data-type="core/pullquote"][data-align="left"],
body[data-type="core/pullquote"][data-align="right"] {
.editor-block-list__block-edit {
max-width: 50%;
.wp-block-pullquote:not(.is-style-solid-color) {
padding: 0;
}
.wp-block-pullquote.is-style-solid-color {
padding: 1em;
p,
.wp-block-pullquote__citation {
color: white;
}
}
}
blockquote > .block-library-pullquote__content .editor-rich-text__tinymce[data-is-empty="true"]::before,
blockquote > .editor-rich-text p,
p,
.wp-block-pullquote__citation {
text-align: left;
}
}
/** === File === */
.wp-block-file {
font-family: $font__heading;
.wp-block-file__button {
line-height: 1.8;
font-size: $font__size-sm;
font-weight: bold;
background-color: $color__link;
border-radius: 5px;
}
}
/** === Verse === */
.wp-block-verse,
.wp-block-verse pre {
padding: 0;
}
/** === Code === */
.wp-block-code {
border-radius: 0;
}
/** === Table === */
.wp-block-table {
td, th {
border-color: $color__text-light;
}
}
/** === Separator === */
.wp-block-separator {
&:not(.is-style-dots) {
border-bottom: 2px solid $color__text-light;
}
&:not(.is-style-wide):not(.is-style-dots) {
width: $font__size-xl;
margin-left: 0;
}
&.is-style-dots:before {
color: $color__text-light;
font-size: $font__size-lg;
letter-spacing: $font__size-sm;
}
}
/** === Latest Posts, Archives, Categories === */
ul.wp-block-archives,
.wp-block-categories,
.wp-block-latest-posts {
padding: 0;
list-style-type: none;
ul {
padding: 0;
list-style-type: none;
}
li {
font-family: $font__heading;
font-size: $font__size-lg;
font-weight: bold;
line-height: $font__line-height-heading;
a {
text-decoration: none;
&:after {
color: $color__text-light;
content: ",";
}
}
&:last-child a:after {
color: $color__text-light;
content: ".";
}
}
}
/** === Latest Posts grid view === */
.wp-block-latest-posts.is-grid {
li {
border-top: 2px solid $color__border;
padding-top: (1 * $size__spacing-unit);
margin-bottom: (2 * $size__spacing-unit);
a {
&:after {
content: '';
}
}
&:last-child {
margin-bottom: auto;
a:after {
content: '';
}
}
}
}
/** === Latest Comments === */
.wp-block-latest-comments {
.wp-block-latest-comments__comment-meta {
font-family: $font__heading;
font-weight: bold;
.wp-block-latest-comments__comment-date {
font-weight: normal;
}
}
.wp-block-latest-comments__comment,
.wp-block-latest-comments__comment-date,
.wp-block-latest-comments__comment-excerpt p {
font-size: inherit;
}
.wp-block-latest-comments__comment-date {
font-size: $font__size-xs;
}
}
/** === Classic Editor === */
/* Properly center-align captions in the classic-editor block */
.wp-caption {
dd {
text-align: center;
-webkit-margin-start: 0px;
margin-inline-start: 0px;
}
}
.wp-block-freeform {
/* Add style for galleries in classic-editor block */
.gallery {
display: flex;
.gallery-item {
padding: ( $size__spacing-unit * .5 );
text-align: center;
vertical-align: top;
width: 100%;
.gallery-caption {
margin: 0;
}
}
// Loops to enumerate the classes for gallery columns.
@for $i from 2 through 9 {
&.gallery-columns-#{$i} .gallery-item {
max-width: calc( ( 12 / #{$i} ) * (100% / 12) );
}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,109 @@
/*
Theme Name: Twenty Nineteen
Theme URI: https://github.com/WordPress/twentynineteen
Author: the WordPress team
Author URI: https://wordpress.org/
Description: A new Gutenberg-ready theme.
Requires at least: WordPress 4.9.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: twentynineteen
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Twenty Nineteen is based on Underscores https://underscores.me/, (C) 2012-2018 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Variables
# Normalize
# Typography
## Headings
## Copy
# Elements
## Lists
## Tables
# Forms
## Buttons
## Fields
# Navigation
## Links
## Menus
## Next & Previous
# Accessibility
# Alignments
# Clearings
# Layout
# Widgets
# Content
## Archives
## Posts and pages
## Comments
# Blocks
# Media
## Captions
## Galleries
--------------------------------------------------------------*/
@import "sass/variables-site/variables-site";
@import "sass/mixins/mixins-master";
/* Normalize */
@import "sass/normalize";
/* Typography */
@import "sass/typography/typography";
/* Elements */
@import "sass/elements/elements";
/* Forms */
@import "sass/forms/forms";
/* Navigation */
@import "sass/navigation/navigation";
/* Accessibility */
@import "sass/modules/accessibility";
/* Alignments */
@import "sass/modules/alignments";
/* Clearings */
@import "sass/modules/clearings";
/* Layout */
@import "sass/layout/layout";
/* Content */
@import "sass/site/site";
/* Widgets */
@import "sass/site/secondary/widgets";
/* Blocks */
@import "sass/blocks/blocks";
/* Media */
@import "sass/media/media";

View File

@ -0,0 +1,52 @@
<?php
/**
* Template part for displaying a message that posts cannot be found
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
<section class="no-results not-found">
<header class="page-header">
<h1 class="page-title"><?php esc_html_e( 'Nothing Found', 'twentynineteen' ); ?></h1>
</header><!-- .page-header -->
<div class="page-content">
<?php
if ( is_home() && current_user_can( 'publish_posts' ) ) :
printf(
'<p>' . wp_kses(
/* translators: 1: link to WP admin new post page. */
__( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'twentynineteen' ),
array(
'a' => array(
'href' => array(),
),
)
) . '</p>',
esc_url( admin_url( 'post-new.php' ) )
);
elseif ( is_search() ) :
?>
<p><?php esc_html_e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentynineteen' ); ?></p>
<?php
get_search_form();
else :
?>
<p><?php esc_html_e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'twentynineteen' ); ?></p>
<?php
get_search_form();
endif;
?>
</div><!-- .page-content -->
</section><!-- .no-results -->

View File

@ -0,0 +1,56 @@
<?php
/**
* Template part for displaying page content in page.php
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
if ( ! twentynineteen_can_show_post_thumbnail() ) {
get_template_part( 'template-parts/header/entry', 'header' );}
?>
</header>
<div class="entry-content">
<?php
the_content();
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'twentynineteen' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<?php if ( get_edit_post_link() ) : ?>
<footer class="entry-footer">
<?php
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Edit <span class="screen-reader-text">%s</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
),
'<span class="edit-link">',
'</span>'
);
?>
</footer><!-- .entry-footer -->
<?php endif; ?>
</article><!-- #post-<?php the_ID(); ?> -->

View File

@ -0,0 +1,87 @@
<?php
/**
* Template part for displaying posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php if ( ! twentynineteen_can_show_post_thumbnail() ) : ?>
<header class="entry-header">
<?php if ( ! is_page() ) : ?>
<?php $discussion = twentynineteen_can_show_post_thumbnail() ? twentynineteen_get_discussion_data() : null; ?>
<?php endif; ?>
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
<?php if ( ! is_page() ) : ?>
<div class="<?php echo ( ! empty( $discussion ) && count( $discussion->authors ) > 0 ) ? 'entry-meta has-discussion' : 'entry-meta'; ?>">
<?php twentynineteen_posted_by(); ?>
<?php twentynineteen_posted_on(); ?>
<span class="comment-count">
<?php
if ( ! empty( $discussion ) ) {
twentynineteen_discussion_avatars_list( $discussion->authors );}
?>
<?php twentynineteen_comment_count(); ?>
</span>
<?php
// Edit post link.
edit_post_link(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers. */
__( 'Edit <span class="screen-reader-text">%s</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
),
'<span class="edit-link">' . twentynineteen_get_icon_svg( 'edit', 16 ),
'</span>'
);
?>
</div><!-- .meta-info -->
<?php endif; ?>
</header>
<?php endif; ?>
<div class="entry-content">
<?php
the_content(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
)
);
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'twentynineteen' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php twentynineteen_entry_footer(); ?>
</footer><!-- .entry-footer -->
<?php get_template_part( 'template-parts/post/author', 'info' ); ?>
</article><!-- #post-${ID} -->

View File

@ -0,0 +1,59 @@
<?php
/**
* Template part for displaying posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php
if ( is_sticky() && is_home() && ! is_paged() ) {
printf( '<span class="sticky-post">%s</span>', __( 'Featured', 'twentynineteen' ) );
}
if ( is_singular() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' );
endif;
?>
</header><!-- .entry-header -->
<?php twentynineteen_post_thumbnail(); ?>
<div class="entry-content">
<?php
the_content(
sprintf(
wp_kses(
/* translators: %s: Name of current post. Only visible to screen readers */
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', 'twentynineteen' ),
array(
'span' => array(
'class' => array(),
),
)
),
get_the_title()
)
);
wp_link_pages(
array(
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'twentynineteen' ),
'after' => '</div>',
)
);
?>
</div><!-- .entry-content -->
<footer class="entry-footer">
<?php twentynineteen_entry_footer(); ?>
</footer><!-- .entry-footer -->
</article><!-- #post-${ID} -->

View File

@ -0,0 +1,27 @@
<?php
/**
* Displays the post header
*
* @package WordPress
* @subpackage Twenty_Nineteen
* @since Twenty Nineteen 1.0
*/
if ( ! is_page() ) :
?>
<?php $discussion = twentynineteen_can_show_post_thumbnail() ? twentynineteen_get_discussion_data() : null; ?>
<?php endif; ?>
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
<?php if ( ! is_page() ) : ?>
<div class="<?php echo ( ! empty( $discussion ) && count( $discussion->authors ) > 0 ) ? 'entry-meta has-discussion' : 'entry-meta'; ?>">
<?php twentynineteen_posted_by(); ?>
<?php twentynineteen_posted_on(); ?>
<span class="comment-count">
<?php
if ( ! empty( $discussion ) ) {
twentynineteen_discussion_avatars_list( $discussion->authors );}
?>
<?php twentynineteen_comment_count(); ?>
</span>
</div><!-- .meta-info -->
<?php endif; ?>

View File

@ -0,0 +1,56 @@
<?php
/**
* Displays header site branding
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
?>
<div class="site-branding">
<?php if ( has_custom_logo() ) : ?>
<div class="site-logo"><?php the_custom_logo(); ?></div>
<?php endif; ?>
<?php if ( is_front_page() && is_home() ) : ?>
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php else : ?>
<p class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php endif; ?>
<?php
$description = get_bloginfo( 'description', 'display' );
if ( $description || is_customize_preview() ) :
?>
<p class="site-description">
<?php echo $description; ?>
</p>
<?php endif; ?>
<?php if ( has_nav_menu( 'menu-1' ) ) : ?>
<nav id="site-navigation" class="main-navigation" aria-label="<?php esc_attr_e( 'Top Menu', 'twentynineteen' ); ?>">
<?php
wp_nav_menu(
array(
'theme_location' => 'menu-1',
'menu_class' => 'main-menu',
)
);
?>
</nav><!-- #site-navigation -->
<?php endif; ?>
<?php if ( has_nav_menu( 'social' ) ) : ?>
<nav class="social-navigation" aria-label="<?php esc_attr_e( 'Footer Social Links Menu', 'twentynineteen' ); ?>">
<?php
wp_nav_menu(
array(
'theme_location' => 'social',
'menu_class' => 'social-links-menu',
'link_before' => '<span class="screen-reader-text">',
'link_after' => '</span>' . twentynineteen_get_icon_svg( 'link' ),
'depth' => 1,
)
);
?>
</nav><!-- .social-navigation -->
<?php endif; ?>
</div><!-- .site-branding -->

View File

@ -0,0 +1,21 @@
<?php
/**
* The template for displaying Author info
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
if ( (bool) get_the_author_meta( 'description' ) ) : ?>
<div class="author-description">
<h2 class="author-title">
<span class="author-heading"><?php echo esc_html( sprintf( __( 'Published by %s', 'twentynineteen' ), get_the_author() ) ); ?></span>
</h2>
<p class="author-bio">
<?php the_author_meta( 'description' ); ?>
<a class="author-link" href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<?php _e( 'View more posts ', 'twentynineteen' ); ?>
</a>
</p><!-- .author-bio -->
<div><!-- .author-description -->
<?php endif; ?>

View File

@ -0,0 +1,42 @@
<?php
/**
* The template for displaying Current Discussion on posts
*
* @package WordPress
* @subpackage Twenty_Nineteen
*/
/* Get data from current discussion on post. */
$discussion = twentynineteen_get_discussion_data();
$comments_number = get_comments_number();
$has_responses = $discussion->responses > 0;
if ( $has_responses ) {
/* translators: %1(X responses)$s from %2(X others)$s */
$meta_label = sprintf(
'%1$s from %2$s.',
sprintf( _n( '%d response', '%d responses', $discussion->responses, 'twentynineteen' ), $discussion->responses ),
sprintf( _n( '%d other', '%d others', $discussion->commenters, 'twentynineteen' ), $discussion->commenters )
);
} elseif ( $comments_number > 0 ) {
/* Show comment count if not enough discussion information */
$meta_label = sprintf( _n( '%d Comment', '%d Comments', $comments_number, 'twentynineteen' ), $comments_number );
} else {
$meta_label = __( 'No comments', 'twentynineteen' );
}
?>
<div class="discussion-meta">
<?php
if ( $has_responses ) {
twentynineteen_discussion_avatars_list( $discussion->authors );
}
?>
<p class="discussion-meta-info">
<?php echo twentynineteen_get_icon_svg( 'comment', 24 ); ?>
<span><?php echo esc_html( $meta_label ); ?></span>
</p>
</div><!-- .discussion-meta -->

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.0-alpha-43807';
$wp_version = '5.0-alpha-43808';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.