From b6b0f4ace2b439f364e7249b9cb2a2cfff3c11f4 Mon Sep 17 00:00:00 2001 From: Tennyson Holloway Date: Mon, 10 Oct 2016 03:06:15 -0700 Subject: [PATCH] visualizer, easter egg --- footer.php | 180 ++++++++++++++++++++++++++++++++++++++------- functions.php | 24 +++--- header.php | 32 ++++---- js/audio.js | 56 +++++--------- sass/index.min.css | 1 + sass/index.scss | 177 ++++++++++++++++++++++++++++---------------- van.png | Bin 0 -> 25592 bytes 7 files changed, 315 insertions(+), 155 deletions(-) create mode 100644 sass/index.min.css create mode 100644 van.png diff --git a/footer.php b/footer.php index 5333f5c..9caec7b 100644 --- a/footer.php +++ b/footer.php @@ -13,6 +13,10 @@ +
+ +
+ @@ -28,12 +32,12 @@ diff --git a/functions.php b/functions.php index 4ecd4bc..f27b514 100644 --- a/functions.php +++ b/functions.php @@ -102,21 +102,21 @@ function xx_widgets_init() { /* https://codex.wordpress.org/Rewrite_API/add_rewrite_rule */ function custom_rewrite_basic() { - - /* playlist/1015 => playlist/?playlist=1015 - + + /* playlist/1015 => playlist/?playlist=1015 + doesn't work playlist/1015 => ksdt.org/playlist => index.php?page_id=69 - + http://regexr.com/ */ add_rewrite_rule('^playlist\/([0-9]+)\/?$', 'index.php?pagename=playlist&playlist=$matches[1]', 'top'); - + /* show/Burger Town => show/?showName=Burger Town */ /* http://regexr.com/3e2gg */ add_rewrite_rule('^show\/(.*)/?$', 'index.php?pagename=show&showName=$matches[1]', 'top'); - + add_rewrite_rule('^writings/blog', 'index.php?pagename=posts', 'top'); } add_action('init', 'custom_rewrite_basic'); @@ -131,7 +131,7 @@ function add_query_vars_filter( $vars ){ function create_post_type() { - + /* creates custom 'album review' posts */ register_post_type( 'albumreviews', array( @@ -148,7 +148,7 @@ function create_post_type() { 'taxonomies' => array('category'), ) ); - + /* creates custom 'weeklypicks' posts */ register_post_type( 'weeklypicks', array( @@ -165,7 +165,7 @@ function create_post_type() { 'taxonomies' => array('category'), ) ); - + /* creates custom 'concertreviews' posts */ register_post_type( 'concertreviews', array( @@ -182,8 +182,8 @@ function create_post_type() { 'taxonomies' => array('category'), ) ); - - + + } add_action( 'init', 'create_post_type' ); @@ -215,7 +215,7 @@ function mytheme_customize_register( $wp_customize ) { */ function xx_scripts() { wp_enqueue_style( 'xx-style', get_stylesheet_uri() ); - wp_enqueue_style( 'xx-sass-styles', get_template_directory_uri() . '/sass/index.css'); + wp_enqueue_style( 'xx-sass-styles', get_template_directory_uri() . '/sass/index.min.css'); wp_enqueue_script( 'zoom', get_template_directory_uri() . '/js/zoom.min.js', array('jquery'), '', true); wp_enqueue_script( 'xx-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true ); diff --git a/header.php b/header.php index d199190..f2708fc 100644 --- a/header.php +++ b/header.php @@ -26,20 +26,22 @@ >
diff --git a/js/audio.js b/js/audio.js index 34c4098..d922c19 100644 --- a/js/audio.js +++ b/js/audio.js @@ -16,7 +16,7 @@ this.sourceNode = null; this.audioElement = null; this.passthru = (options && 'passthru' in options) ? options.passthru : false; - this.mono = (options && 'mono' in options) ? options.mono : true; + this.mono = (options && 'mono' in options) ? options.mono : false; this.smoothing = (options && 'smoothing' in options) ? options.smoothing : 0; this.rmsValues = []; this.channelCount = -1; @@ -142,47 +142,30 @@ /* sets up audio api graph, channel splitters/mergers if non-mono, passthru to destination. */ _AudioAnalyser.prototype.createGraph = function () { if (!this.mono) { + channels = 2; - (new Promise((resolve, reject) => { - /* determine how many channels there are */ - var xhr = new XMLHttpRequest(); - xhr.open('GET', this.audioElement.src, true); - xhr.responseType = "arraybuffer"; - xhr.onload = (function() { - this.audioContext.decodeAudioData(xhr.response, function(decodedBuffer) { - resolve(decodedBuffer.numberOfChannels); - }); - }).bind(this); - xhr.error = function () { - reject("Unable to retrieve channels."); - } - xhr.send(null); - })).then((channels) => { + this.channelCount = channels; + this.channelSplitter = this.audioContext.createChannelSplitter(channels); - this.channelCount = channels; - this.channelSplitter = this.audioContext.createChannelSplitter(channels); + if (this.passthru) { + this.channelMerger = this.audioContext.createChannelMerger(channels); + } - if (this.passthru) { - this.channelMerger = this.audioContext.createChannelMerger(channels); - } + this.sourceNode.connect(this.channelSplitter); - this.sourceNode.connect(this.channelSplitter); - - for (var i = 0; i < channels; i++) { - this.analyserNodes.push( - (this.audioContext.createAnalyser()) - ); - this.analyserNodes[i].smoothingTimeConstant = this.smoothing; - this.channelSplitter.connect(this.analyserNodes[i], i, 0); - if (this.passthru) { - this.analyserNodes[i].connect(this.channelMerger, 0, i); - } - } + for (var i = 0; i < channels; i++) { + this.analyserNodes.push( + (this.audioContext.createAnalyser()) + ); + this.analyserNodes[i].smoothingTimeConstant = this.smoothing; + this.channelSplitter.connect(this.analyserNodes[i], i, 0); if (this.passthru) { - this.channelMerger.connect(this.audioContext.destination); + this.analyserNodes[i].connect(this.channelMerger, 0, i); } - }); - + } + if (this.passthru) { + this.channelMerger.connect(this.audioContext.destination); + } } else if (this.mono) { this.analyserNodes[0] = this.audioContext.createAnalyser(); this.analyserNodes[0].smoothingTimeConstant = this.smoothing; @@ -252,4 +235,3 @@ global.AudioAnalyser = AudioAnalyser; })(this); - diff --git a/sass/index.min.css b/sass/index.min.css new file mode 100644 index 0000000..b53fbb0 --- /dev/null +++ b/sass/index.min.css @@ -0,0 +1 @@ +.container-extended{max-width:none;padding:0;margin:0;padding-left:5rem}@media screen and (max-width: 992px){.container-extended{padding:0}}div.nav-zone{width:33%;display:inline-block;vertical-align:top}@media screen and (max-width: 992px){div.nav-zone{width:100%}}div.reading-zone{width:calc(66% - 2px);display:inline-block;vertical-align:top;transition:opacity 100ms linear;position:relative}@media screen and (max-width: 992px){div.reading-zone{display:none}}div.reading-zone .full-iframe{position:fixed}div.reading-zone .lightbox img{display:inline-block;margin-left:0.5rem;margin-bottom:0.5rem}div.reading-zone .fluidbox__wrap{width:30%;display:inline-block}div.reading-zone .fluidbox__ghost:hover .lightbox-caption{background-color:rgba(0,0,0,0.7);opacity:1}div.reading-zone .lightbox-caption{display:none;position:fixed;bottom:0;width:100%;left:0;z-index:50000;font-size:1rem;opacity:0;transition:opacity 300ms linear;padding:0.5rem 1rem 1rem 0.8rem;background-color:rgba(0,0,0,0.85)}div.reading-zone .lightbox-caption>div{max-width:600px;margin:auto}div.reading-zone .lightbox-caption .insta-profile{width:50px;height:50px;display:inline-block;margin-left:0.5rem}div.reading-zone .lightbox-caption .insta-user{color:white;opacity:0.8;font-weight:bold}div.reading-zone .lightbox-caption .insta-user:before{content:'@'}div.reading-zone .lightbox-caption p{font-weight:lighter;line-height:1.1;margin-left:0.5rem;margin-bottom:0.3rem;margin-top:0.3rem;opacity:0.8;color:white}div.reading-zone .lightbox-caption p:hover{cursor:pointer}.overlay-1 .fluidbox__overlay{background-color:rgba(0,0,0,0.85)}.content-area{margin-top:2rem}div.egg{position:fixed;width:100%;bottom:0;height:100px;z-index:100;transform:translateY(45px);transition:transform 0.3s ease-out;opacity:0.2}div.egg img{position:absolute;width:100px;bottom:0;right:0;transition:transform 0.3s ease-out}div.egg img:hover{transform:rotate(10deg)}header.site-header{width:100%;position:fixed;font-family:monospace;z-index:1000}@media screen and (max-width: 992px){header.site-header{position:relative}}header.site-header nav.navbar{border-radius:0;border-bottom:1px solid #d9d9d9;width:100%;padding:0;padding-left:3rem}@media screen and (max-width: 992px){header.site-header nav.navbar{position:fixed;width:100%;top:0;left:0;z-index:300}}@media screen and (max-width: 992px){header.site-header nav.navbar button.navbar-toggler{right:0.5rem;top:0.5rem;position:fixed}}header.site-header nav.navbar li.nav-item a{color:black;cursor:crosshair}header.site-header .bg-faded{background-color:white}header.site-header .navbar-extend{width:100%}header.site-header div.ksdt-name{background-color:white;position:fixed;transform-origin:top left;transform:rotate(90deg);top:0;width:100%;left:4rem;z-index:200;font-size:3rem;font-family:Verdana;font-style:italic;padding-left:3rem}header.site-header div.ksdt-name a{color:inherit;text-decoration:none;cursor:inherit}header.site-header div.ksdt-name a{cursor:crosshair;z-index:5000}header.site-header div.ksdt-name a.ksdt-name-sub{font-size:1.5rem;cursor:help;display:inline}@media screen and (max-width: 992px){header.site-header div.ksdt-name{font-size:2rem;transform:none;position:relative;left:0}header.site-header div.ksdt-name span.ksdt-name-sub{display:none}}ul.index-post-list{list-style:none;margin:0;margin-left:auto;max-width:400px;padding:0;font-family:monospace;border-right:1px solid #d9d9d9}@media screen and (max-width: 992px){ul.index-post-list{border:none;margin:auto}}ul.index-post-list a.index-post-link:hover{color:inherit}ul.index-post-list a.index-post-link:hover>li{opacity:0.8;background-color:#f7f7f7;cursor:crosshair}ul.index-post-list a.index-post-link:hover>li.featured{background-color:#eef095}@media screen and (max-width: 992px){ul.index-post-list a.index-post-link:hover>li{cursor:pointer}}ul.index-post-list li.index-post-entry{padding:0.2rem 0.5rem;margin:0.5rem}ul.index-post-list li.index-post-entry.featured{background-color:yellow}ul.index-post-list li.index-post-entry article.index-post h1{font-size:1rem;font-weight:bold;text-decoration:underline;margin:0;padding:0;margin-bottom:0.2rem}ul.index-post-list li.index-post-entry article.index-post .meta{color:rgba(0,0,0,0.8);width:100%;font-size:0.8rem;height:calc(0.8rem)}ul.index-post-list li.index-post-entry article.index-post .meta :nth-child(1){float:left}ul.index-post-list li.index-post-entry article.index-post .meta :nth-child(2){float:right}ul.index-post-list li.index-post-entry article.index-post p{clear:both;padding:0;margin:0;line-height:1.1;font-size:0.8rem;margin-top:0.8rem}ul.index-post-list hr{margin:0;width:75%;border-color:#d9d9d9;margin-left:auto;margin-right:auto}.player{display:inline-block;padding-top:8px;padding-left:40px}@media screen and (max-width: 992px){.player{display:none}}.player i{cursor:crosshair}.visualizer{position:absolute;width:283px;height:100%;top:-5px;z-index:-5000}.visualizer canvas{opacity:0.1;width:100%;height:100%}.oscilloscope{width:50px;height:50px;position:absolute;transform:rotate(-90deg);left:-10px;top:10px}.oscilloscope__wave{fill:none;stroke:#000000;stroke-width:0.5px}article.page,article.post,article.albumreviews,article.concertreviews,article.weeklypicks,article.event{font-family:Verdana,sans-serif;color:rgba(0,0,0,0.8);text-rendering:optimizeLegibility}article.page header.entry-header,article.post header.entry-header,article.albumreviews header.entry-header,article.concertreviews header.entry-header,article.weeklypicks header.entry-header,article.event header.entry-header{font-size:1.125rem;font-weight:bold;line-height:2.1;text-align:center}article.page header.entry-header>h1,article.post header.entry-header>h1,article.albumreviews header.entry-header>h1,article.concertreviews header.entry-header>h1,article.weeklypicks header.entry-header>h1,article.event header.entry-header>h1{padding-top:2rem}article.page img.cover,article.post img.cover,article.albumreviews img.cover,article.concertreviews img.cover,article.weeklypicks img.cover,article.event img.cover{object-fit:cover;max-height:650px;width:100%}article.page div.entry-content,article.post div.entry-content,article.albumreviews div.entry-content,article.concertreviews div.entry-content,article.weeklypicks div.entry-content,article.event div.entry-content{font-size:75%}article.page div.entry-content p,article.post div.entry-content p,article.albumreviews div.entry-content p,article.concertreviews div.entry-content p,article.weeklypicks div.entry-content p,article.event div.entry-content p{max-width:450px;font-size:0.8rem;line-height:1.58;letter-spacing:-.003em;padding:0 0.3rem 0 0.3rem;max-width:400px;margin-left:auto;margin-right:auto}article.page div.entry-content p:before,article.post div.entry-content p:before,article.albumreviews div.entry-content p:before,article.concertreviews div.entry-content p:before,article.weeklypicks div.entry-content p:before,article.event div.entry-content p:before{content:"";width:175px;display:block;overflow:hidden}article.page div.entry-content figure,article.post div.entry-content figure,article.albumreviews div.entry-content figure,article.concertreviews div.entry-content figure,article.weeklypicks div.entry-content figure,article.event div.entry-content figure{width:100%}article.page div.entry-content figure>figcaption,article.post div.entry-content figure>figcaption,article.albumreviews div.entry-content figure>figcaption,article.concertreviews div.entry-content figure>figcaption,article.weeklypicks div.entry-content figure>figcaption,article.event div.entry-content figure>figcaption{font-size:90%;color:#818a91}article.page div.entry-content figure.alignleft,article.post div.entry-content figure.alignleft,article.albumreviews div.entry-content figure.alignleft,article.concertreviews div.entry-content figure.alignleft,article.weeklypicks div.entry-content figure.alignleft,article.event div.entry-content figure.alignleft{width:inherit;margin-left:13vw}@media screen and (max-width: 992px){article.page div.entry-content figure.alignleft,article.post div.entry-content figure.alignleft,article.albumreviews div.entry-content figure.alignleft,article.concertreviews div.entry-content figure.alignleft,article.weeklypicks div.entry-content figure.alignleft,article.event div.entry-content figure.alignleft{float:none;clear:both;display:block;margin:0;width:100% !important}}article.page .featured-lead,article.post .featured-lead,article.albumreviews .featured-lead,article.concertreviews .featured-lead,article.weeklypicks .featured-lead,article.event .featured-lead{max-height:500px;height:500px;background-size:cover;position:relative;background-position:50%;width:100%}article.page .featured-lead .meta,article.post .featured-lead .meta,article.albumreviews .featured-lead .meta,article.concertreviews .featured-lead .meta,article.weeklypicks .featured-lead .meta,article.event .featured-lead .meta{position:absolute;bottom:0;width:100%;margin-left:auto;margin-right:auto}article.page .featured-lead .meta h1,article.post .featured-lead .meta h1,article.albumreviews .featured-lead .meta h1,article.concertreviews .featured-lead .meta h1,article.weeklypicks .featured-lead .meta h1,article.event .featured-lead .meta h1{font-weight:bolder;color:white;font-style:italic;margin:0;padding:0;line-height:1;margin-bottom:0.3rem}article.page .featured-lead .meta span,article.post .featured-lead .meta span,article.albumreviews .featured-lead .meta span,article.concertreviews .featured-lead .meta span,article.weeklypicks .featured-lead .meta span,article.event .featured-lead .meta span{color:white;display:block;font-size:0.8rem;line-height:1;margin-bottom:0.3rem}article.page div.sharedaddy,article.page div.jp-relatedposts,article.post div.sharedaddy,article.post div.jp-relatedposts,article.albumreviews div.sharedaddy,article.albumreviews div.jp-relatedposts,article.concertreviews div.sharedaddy,article.concertreviews div.jp-relatedposts,article.weeklypicks div.sharedaddy,article.weeklypicks div.jp-relatedposts,article.event div.sharedaddy,article.event div.jp-relatedposts{max-width:450px;margin:auto !important}article.page .instagram-media,article.post .instagram-media,article.albumreviews .instagram-media,article.concertreviews .instagram-media,article.weeklypicks .instagram-media,article.event .instagram-media{margin-left:auto !important;margin-right:auto !important;max-width:600px !important;clear:both;margin-bottom:0.5rem !important;margin-top:0.5rem !important}article.page{padding:2rem 0 2rem 0}article.page div.entry-content{margin:auto}article.page.show,article.page.playlist{display:block}article.page.show .show,article.page.playlist .show{border:0}article.page.show .show h2,article.page.playlist .show h2{font-size:1.2rem;margin:0.5rem 0}article.page.show .show .info .title,article.page.playlist .show .info .title{margin:0;margin-bottom:0.5rem;font-size:2rem}article.page.show .show .info .djs,article.page.playlist .show .info .djs{display:block;margin-bottom:0.3rem}article.page.show .show .info .times,article.page.playlist .show .info .times{color:#818a91;display:block}article.page.show .show .info .description,article.page.playlist .show .info .description{margin:0;margin-top:0.5rem}article.page.show .show .other-info,article.page.playlist .show .other-info{border-left:1px solid #eceeef}article.page.show .show .playlist-date,article.page.playlist .show .playlist-date{display:block;margin-bottom:0.3rem;color:#818a91}article.page.show .show .songs,article.page.show .show .playlists,article.page.playlist .show .songs,article.page.playlist .show .playlists{list-style:none;padding:0;margin:0}article.page.show .show .songs .timestamp,article.page.show .show .playlists .timestamp,article.page.playlist .show .songs .timestamp,article.page.playlist .show .playlists .timestamp{color:#818a91;font-size:0.6rem}article.page.show .show .songs .artist:before,article.page.show .show .playlists .artist:before,article.page.playlist .show .songs .artist:before,article.page.playlist .show .playlists .artist:before{content:' by ';color:#818a91}.cya-styles{text-decoration:none;color:inherit}.cya-styles:hover{text-decoration:none}.cya-styles:visited{color:inherit}.cya-styles:active{text-decoration:none}.cya-styles:focus{text-decoration:none}article.page.programming{display:block}article.page.programming .day-selection ul{display:flex;justify-content:space-between;margin:0;margin-left:auto;margin-right:auto;list-style:none;text-align:center;padding:0;max-width:800px}article.page.programming .day-selection ul li{opacity:0.6;cursor:pointer;font-size:2rem;display:inline-block}article.page.programming .day-selection ul li.selected{opacity:1;text-decoration:underline}article.page.programming table.day{display:none;margin-left:auto;margin-right:auto;max-width:600px}article.page.programming table.day.selected{display:table}article.page.programming table.day tr>td{border:0;width:50%}article.page.programming table.day tr>td.time{text-align:right;font-size:1.2rem;border-right:1px solid #eceeef}article.page.programming table.day tr>td.time span{color:#818a91;font-size:0.8rem;text-transform:uppercase}article.page.programming table.day tr>td a{text-decoration:none;color:inherit}article.page.programming table.day tr>td a:hover{text-decoration:none}article.page.programming table.day tr>td .show{display:inline-block;width:250px}article.page.programming table.day tr>td .show:hover{opacity:0.8;background-color:#f7f7f7;cursor:pointer}article.page.programming table.day tr>td .show span.title{font-size:1.1rem}article.page.programming table.day tr>td .show span.tag{margin-left:0.5rem}article.page.programming table.day tr>td .show span.djs{display:block;color:#818a91}article.page.programming table.day tr>td .show p.description{font-size:0.7rem;line-height:1.2}article.page.contact{padding:0;padding-top:3rem}article.page.contact .row{margin:auto}article.page.contact pre{padding:0.2rem}article.page.contact h4{font-size:1.2rem}article.page.contact table.contact-table{font-family:Verdana,sans-serif}article.page.contact table.contact-table tr>td{border:none;font-size:0.8rem;vertical-align:text-bottom}article.page.contact table.contact-table tr>td:nth-child(1){cursor:default;text-align:right;font-size:1.2rem}article.page.contact table.contact-table tr>td:nth-child(1)>span:nth-child(2){cursor:text;font-size:0.6rem;display:block}article.page.events .entry-content{margin-left:20px}article.page.events .entry-content .event-type{margin-left:15px;font-weight:300;font-size:2em}article.page.events .entry-content h1{font-weight:1300;margin-left:15px;font-size:3em}article.page.events .entry-content .image-div{max-height:150px;height:150px}article.page.events .entry-content .image-div .image-extended{object-fit:cover;min-height:150px;max-height:150px;width:100%}article.page.events .entry-content .card-block-extended{height:150px;max-height:150px}article.page.events .entry-content .card-block-extended .card-title-extended{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}article.page.writings .entry-content{margin-left:20px}article.page.writings h1{font-size:3em}article.page.writings .row{border:0;margin-top:20px;margin-left:0px;width:100%}@media (max-width: 767px){article.page.writings .row .col-extended{display:none}}article.page.writings .row .col-extended .image-div{max-height:180px;height:180px}article.page.writings .row .col-extended .image-div .image-extended{object-fit:cover;min-height:180px;max-height:180px;width:100%}article.page.writings .row .col-extended .no-image{max-height:180px;min-height:180px;background-color:black}article.page.writings .row .col-extended .card-block-extended{height:170px;max-height:170px}article.page.writings .row .col-extended .card-block-extended .card-title-extended{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}article.page.writings .row .col-extended:hover{opacity:1.0}article.page.writings .row .col-title{padding:0;margin:0}article.page.writings .row .col-title .writings-container{background-color:#404040;height:350px;max-height:350px;position:relative;overflow:hidden;font-family:Verdana,sans-serif}article.page.writings .row .col-title .writings-container .writings-text{text-transform:uppercase;color:white;position:absolute;top:50%;text-align:center;left:50%;transform:translate(-50%, -50%);font-size:2em;font-weight:200}article.page.writings .row .col-title .writings-container:hover{opacity:0.5}article.hentry.albumreviews,article.hentry.concertreviews,article.hentry.weeklypicks,article.blog{margin-left:15px}article.hentry.albumreviews .row,article.hentry.concertreviews .row,article.hentry.weeklypicks .row,article.blog .row{margin-top:60px}article.hentry.albumreviews .row h1,article.hentry.concertreviews .row h1,article.hentry.weeklypicks .row h1,article.blog .row h1{margin-left:15px}article.hentry.albumreviews .row .col-extended .image-div,article.hentry.concertreviews .row .col-extended .image-div,article.hentry.weeklypicks .row .col-extended .image-div,article.blog .row .col-extended .image-div{max-height:180px;height:180px}article.hentry.albumreviews .row .col-extended .image-div .image-extended,article.hentry.concertreviews .row .col-extended .image-div .image-extended,article.hentry.weeklypicks .row .col-extended .image-div .image-extended,article.blog .row .col-extended .image-div .image-extended{object-fit:cover;min-height:180px;max-height:180px;width:100%}article.hentry.albumreviews .row .col-extended .no-image,article.hentry.concertreviews .row .col-extended .no-image,article.hentry.weeklypicks .row .col-extended .no-image,article.blog .row .col-extended .no-image{max-height:180px;min-height:180px;background-color:black}article.hentry.albumreviews .row .col-extended .card-block-extended,article.hentry.concertreviews .row .col-extended .card-block-extended,article.hentry.weeklypicks .row .col-extended .card-block-extended,article.blog .row .col-extended .card-block-extended{height:170px;max-height:170px}article.hentry.albumreviews .row .col-extended .card-block-extended .card-title-extended,article.hentry.concertreviews .row .col-extended .card-block-extended .card-title-extended,article.hentry.weeklypicks .row .col-extended .card-block-extended .card-title-extended,article.blog .row .col-extended .card-block-extended .card-title-extended{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}article.page.blog .row{margin-top:60px}article.page.blog .row h1{margin-left:15px;font-size:3em}article.page.blog .row .col-extended .image-div{max-height:180px;height:180px}article.page.blog .row .col-extended .image-div .image-extended{object-fit:cover;min-height:180px;max-height:180px;width:100%}article.page.blog .row .col-extended .no-image{max-height:180px;min-height:180px;background-color:black}article.page.blog .row .col-extended .card-block-extended{height:170px;max-height:170px}article.page.blog .row .col-extended .card-block-extended .card-title-extended{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading{opacity:0.3;pointer-events:none;cursor:default}.spinner{display:none;position:absolute;top:35%;left:45%;margin:-30px 0 0 -30px;width:40px;height:40px;background-color:#333;margin:100px auto;-webkit-animation:sk-rotateplane 1.2s infinite ease-in-out;animation:sk-rotateplane 1.2s infinite ease-in-out}@-webkit-keyframes sk-rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotateplane{0%{transform:perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}img[data-action="zoom"]{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in}.zoom-img,.zoom-img-wrap{position:relative;z-index:666;-webkit-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}img.zoom-img{cursor:pointer;cursor:-webkit-zoom-out;cursor:-moz-zoom-out}.zoom-overlay{z-index:420;background:#fff;position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;filter:"alpha(opacity=0)";opacity:0;-webkit-transition:opacity 300ms;-o-transition:opacity 300ms;transition:opacity 300ms}.zoom-overlay-open .zoom-overlay{filter:"alpha(opacity=100)";opacity:1} diff --git a/sass/index.scss b/sass/index.scss index 734de97..770d3e4 100644 --- a/sass/index.scss +++ b/sass/index.scss @@ -49,11 +49,11 @@ div.reading-zone { display: inline-block; margin-left: 0.5rem; margin-bottom: 0.5rem; - } + } } .fluidbox__wrap { width: 30%; - display: inline-block; + display: inline-block; } .fluidbox__ghost { &:hover { @@ -118,6 +118,29 @@ div.reading-zone { margin-top: 2rem; } +div.egg { + position: fixed; + width: 100%; + bottom: 0; + height: 100px; + z-index: 100; + transform: translateY(45px); + transition: transform 0.3s ease-out; + opacity: 0.2; + img { + position: absolute; + width: 100px; + bottom: 0; + right: 0; + transition: transform 0.3s ease-out; + &:hover { + transform: rotate(10deg); + } + } +} + + + header.site-header { @media screen and (max-width: $SM) { position: relative; @@ -160,8 +183,8 @@ header.site-header { .navbar-extend { width: 100%; } - - span.ksdt-name { + + div.ksdt-name { background-color: white; a { color: inherit; @@ -178,9 +201,12 @@ header.site-header { font-size: 3rem; font-family: Verdana; font-style: italic; - cursor: crosshair; padding-left: 3rem; - span.ksdt-name-sub { + a { + cursor: crosshair; + z-index: 5000; + } + a.ksdt-name-sub { font-size: 1.5rem; cursor: help; display: inline; @@ -198,7 +224,7 @@ header.site-header { } ul.index-post-list { - @media screen and (max-width: $SM) { + @media screen and (max-width: $SM) { border: none; margin: auto; } @@ -208,9 +234,9 @@ ul.index-post-list { max-width: 400px; padding: 0; font-family: $fontmono; - + border-right: 1px solid #d9d9d9; - + a.index-post-link { &:hover { color: inherit; @@ -220,22 +246,22 @@ ul.index-post-list { &.featured { background-color: #eef095; } - cursor: crosshair; + cursor: crosshair; @media screen and (max-width: $SM) { cursor: pointer; } } } } - + li.index-post-entry { padding: 0.2rem 0.5rem; margin: 0.5rem; - + &.featured { background-color: yellow; } - + article.index-post { h1 { font-size: 1rem; @@ -267,7 +293,7 @@ ul.index-post-list { } } } - + hr { margin: 0; width: 75%; @@ -278,7 +304,7 @@ ul.index-post-list { } .player { - @media screen and (max-width: $SM) { + @media screen and (max-width: $SM) { display: none; } display: inline-block; @@ -288,6 +314,32 @@ ul.index-post-list { cursor: crosshair; } } +.visualizer { + position: absolute; + width: 283px; + height: 100%; + top: -5px; + z-index: -5000; + canvas { + opacity: 0.1; + width: 100%; + height: 100%; + } +} +.oscilloscope { + width: 50px; + height: 50px; + position: absolute; + transform: rotate(-90deg); + left: -10px; + top: 10px; +} +.oscilloscope__wave { + fill: none; + + stroke: #000000; + stroke-width: 0.5px; +} /* BEGIN PAGE/POST SHARED STYLES */ @@ -317,7 +369,7 @@ article.page, article.post, article.albumreviews, article.concertreviews, articl content: ""; width: 175px; display: block; - overflow: hidden; + overflow: hidden; } max-width: 450px; font-size: 0.8rem; @@ -348,7 +400,7 @@ article.page, article.post, article.albumreviews, article.concertreviews, articl } } } - + .featured-lead { max-height: 500px; height: 500px; @@ -384,7 +436,7 @@ article.page, article.post, article.albumreviews, article.concertreviews, articl max-width: 450px; margin: auto !important; } - + /* instagram embedded images */ .instagram-media { margin-left: auto !important; @@ -525,7 +577,7 @@ article.page.programming { } } .show { - + display: inline-block; &:hover { opacity: 0.8; @@ -553,7 +605,7 @@ article.page.programming { } } } - + } article.page.contact { @@ -584,7 +636,7 @@ article.page.contact { display: block; } } - + } } } @@ -603,11 +655,11 @@ article.page.events { margin-left: 15px; font-size: 3em; } - + .image-div { max-height: 150px; height: 150px; - + .image-extended { object-fit: cover; min-height: 150px; @@ -615,11 +667,11 @@ article.page.events { width: 100%; } } - + .card-block-extended { height: 150px; max-height: 150px; - + .card-title-extended { white-space: nowrap; overflow: hidden; @@ -627,13 +679,13 @@ article.page.events { } } } - - + + } /* writings -- added by Raymond */ article.page.writings { - + .entry-content { margin-left: 20px; } @@ -651,11 +703,11 @@ article.page.writings { @media (max-width: 767px) { display: none; } - + .image-div { max-height: 180px; height: 180px; - + .image-extended { object-fit: cover; min-height: 180px; @@ -663,17 +715,17 @@ article.page.writings { width: 100%; } } - + .no-image { max-height: 180px; min-height: 180px; background-color: black; } - + .card-block-extended { height: 170px; max-height: 170px; - + .card-title-extended { white-space: nowrap; overflow: hidden; @@ -689,9 +741,9 @@ article.page.writings { .col-title { padding: 0; margin: 0; - + .writings-container { - + } .writings-container { background-color: #404040; @@ -700,7 +752,7 @@ article.page.writings { position: relative; overflow: hidden; font-family: $fontserious; - + .writings-text { text-transform: uppercase; color: white; @@ -718,11 +770,11 @@ article.page.writings { } } } - + } -article.hentry.albumreviews, article.hentry.concertreviews, +article.hentry.albumreviews, article.hentry.concertreviews, article.hentry.weeklypicks, article.blog { margin-left: 15px; .row { @@ -734,7 +786,7 @@ article.hentry.weeklypicks, article.blog { .image-div { max-height: 180px; height: 180px; - + .image-extended { object-fit: cover; min-height: 180px; @@ -742,17 +794,17 @@ article.hentry.weeklypicks, article.blog { width: 100%; } } - + .no-image { max-height: 180px; min-height: 180px; background-color: black; } - + .card-block-extended { height: 170px; max-height: 170px; - + .card-title-extended { white-space: nowrap; overflow: hidden; @@ -763,13 +815,13 @@ article.hentry.weeklypicks, article.blog { } /* .col-extended { - + border-style: groove; border-width: 0px 1px 0px 0px; border-color: #404040; - - - + + + @media (max-width: 543px){ margin-top: 15px; padding-top: 20px; @@ -777,26 +829,26 @@ article.hentry.weeklypicks, article.blog { border-width: 1px 0px 0px 0px; border-color: #404040; } - + @media (max-width: 767px) { margin-top: 50px; } - + @media (max-width: 991px) { margin-top: 50px; } - + //margin-top: 20px; overflow: hidden; } - - + + h1{ font-size: 4em; //color: #404040; } - + .archive-container { font-family: $fontserious; height: 300px; @@ -806,7 +858,7 @@ article.hentry.weeklypicks, article.blog { } - + .archive-container:hover{ opacity: 0.5; } */ @@ -824,7 +876,7 @@ article.page.blog { .image-div { max-height: 180px; height: 180px; - + .image-extended { object-fit: cover; min-height: 180px; @@ -832,17 +884,17 @@ article.page.blog { width: 100%; } } - + .no-image { max-height: 180px; min-height: 180px; background-color: black; } - + .card-block-extended { height: 170px; max-height: 170px; - + .card-title-extended { white-space: nowrap; overflow: hidden; @@ -883,13 +935,13 @@ article.page.blog { } @keyframes sk-rotateplane { - 0% { + 0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg); - -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) - } 50% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) + } 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) - } 100% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) + } 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } @@ -933,4 +985,3 @@ img.zoom-img { filter: "alpha(opacity=100)"; opacity: 1; } - diff --git a/van.png b/van.png new file mode 100644 index 0000000000000000000000000000000000000000..bf75e6a2175524422ffb8a15dfb3fe5b1d5af75e GIT binary patch literal 25592 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