switch to new theme due to old theme not liking newer versions. New theme seems kick-arse, however

This commit is contained in:
Don Harper 2019-08-17 19:36:46 -05:00
parent 1909ea34ea
commit e3ac8b96f5
531 changed files with 147790 additions and 66 deletions

View file

@ -26,9 +26,11 @@ theme = "Bleach"
useSessionStorage = false
[params]
#copyright = "All Rights Reserved - 2006 -"
copyright = "All Rights Reserved - 2006 -"
author = "don"
authorlocation = "3rd rock from the Sun"
classes = ["feature-figcaption"]
twitter = "duckunix"
authorwebsite = "https://www.duckland.org"
cover = "/images/user.jpg"
description = "Donald Harper Photographs"
@ -36,9 +38,6 @@ theme = "Bleach"
bio = [
"Don is a computer guy stumbling through life trying to raise his kids and take some pictures"
]
copyright = [
"© 2006-2019 Don Harper"
]
logo = "/images/user.png"
paginate = 5
# Optional RSS-Link, if not provided it defaults to the standard index.xml
@ -48,8 +47,8 @@ theme = "Bleach"
# set true if you are not proud of using Hugo (true will hide the footer note "Proudly published with HUGO.....")
hideHUGOSupport = false
showtoc = false
[params.footer]
company = "Donald Harper Photographs"
#[params.footer]
#company = "Donald Harper Photographs"
[params.social]
# facebook = "https://facebooke.com"
twitter = "https://twitter.com/duckunix"
@ -68,3 +67,10 @@ theme = "Bleach"
linkedin = "https://www.linkedin.com/in/donaldharper"
instagram = "https://www.instagram.com/duckunix/"
github = "https://github.com/duckunix"
[outputs]
home = ["HTML", "JSON", "RSS"]
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML", "RSS"]
taxonomyTerm = ["HTML", "RSS"]

4
content/_index.md Normal file
View file

@ -0,0 +1,4 @@
---
---
![me](/images/user.png)
Don is a computer guy stumbling through life trying to raise his kids and take some pictures.

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
{"Target":"assets/css/external.min.css","MediaType":"text/css","Data":{}}

View file

@ -0,0 +1,147 @@
/*!
* baguetteBox.js
* @author feimosi
* @version 1.11.0
* @url https://github.com/feimosi/baguetteBox.js
*/(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define(factory);}else if(typeof exports==='object'){module.exports=factory();}else{root.baguetteBox=factory();}}(this,function(){'use strict';var leftArrow='<svg width="44" height="60">'+
'<polyline points="30 10 10 30 30 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"'+
'stroke-linecap="butt" fill="none" stroke-linejoin="round"/>'+
'</svg>',rightArrow='<svg width="44" height="60">'+
'<polyline points="14 10 34 30 14 50" stroke="rgba(255,255,255,0.5)" stroke-width="4"'+
'stroke-linecap="butt" fill="none" stroke-linejoin="round"/>'+
'</svg>',closeX='<svg width="30" height="30">'+
'<g stroke="rgb(160,160,160)" stroke-width="4">'+
'<line x1="5" y1="5" x2="25" y2="25"/>'+
'<line x1="5" y1="25" x2="25" y2="5"/>'+
'</g></svg>';var options={},defaults={captions:true,buttons:'auto',fullScreen:false,noScrollbars:false,bodyClass:'baguetteBox-open',titleTag:false,async:false,preload:2,animation:'slideIn',afterShow:null,afterHide:null,onChange:null,overlayBackgroundColor:'rgba(0,0,0,.8)'};var supports={};var overlay,slider,previousButton,nextButton,closeButton;var currentGallery=[];var currentIndex=0;var isOverlayVisible=false;var touch={};var touchFlag=false;var regex=/.+\.(gif|jpe?g|png|webp)/i;var data={};var imagesElements=[];var documentLastFocus=null;var overlayClickHandler=function(event){if(event.target.id.indexOf('baguette-img')!==-1){hideOverlay();}};var previousButtonClickHandler=function(event){event.stopPropagation?event.stopPropagation():event.cancelBubble=true;showPreviousImage();};var nextButtonClickHandler=function(event){event.stopPropagation?event.stopPropagation():event.cancelBubble=true;showNextImage();};var closeButtonClickHandler=function(event){event.stopPropagation?event.stopPropagation():event.cancelBubble=true;hideOverlay();};var touchstartHandler=function(event){touch.count++;if(touch.count>1){touch.multitouch=true;}
touch.startX=event.changedTouches[0].pageX;touch.startY=event.changedTouches[0].pageY;};var touchmoveHandler=function(event){if(touchFlag||touch.multitouch){return;}
event.preventDefault?event.preventDefault():event.returnValue=false;var touchEvent=event.touches[0]||event.changedTouches[0];if(touchEvent.pageX-touch.startX>40){touchFlag=true;showPreviousImage();}else if(touchEvent.pageX-touch.startX<-40){touchFlag=true;showNextImage();}else if(touch.startY-touchEvent.pageY>100){hideOverlay();}};var touchendHandler=function(){touch.count--;if(touch.count<=0){touch.multitouch=false;}
touchFlag=false;};var contextmenuHandler=function(){touchendHandler();};var trapFocusInsideOverlay=function(event){if(overlay.style.display==='block'&&(overlay.contains&&!overlay.contains(event.target))){event.stopPropagation();initFocus();}};if(![].forEach){Array.prototype.forEach=function(callback,thisArg){for(var i=0;i<this.length;i++){callback.call(thisArg,this[i],i,this);}};}
if(![].filter){Array.prototype.filter=function(a,b,c,d,e){c=this;d=[];for(e=0;e<c.length;e++)
a.call(b,c[e],e,c)&&d.push(c[e]);return d;};}
function run(selector,userOptions){supports.transforms=testTransformsSupport();supports.svg=testSvgSupport();supports.passiveEvents=testPassiveEventsSupport();buildOverlay();removeFromCache(selector);return bindImageClickListeners(selector,userOptions);}
function bindImageClickListeners(selector,userOptions){var galleryNodeList=document.querySelectorAll(selector);var selectorData={galleries:[],nodeList:galleryNodeList};data[selector]=selectorData;[].forEach.call(galleryNodeList,function(galleryElement){if(userOptions&&userOptions.filter){regex=userOptions.filter;}
var tagsNodeList=[];if(galleryElement.tagName==='A'){tagsNodeList=[galleryElement];}else{tagsNodeList=galleryElement.getElementsByTagName('a');}
tagsNodeList=[].filter.call(tagsNodeList,function(element){if(element.className.indexOf(userOptions&&userOptions.ignoreClass)===-1){return regex.test(element.href);}});if(tagsNodeList.length===0){return;}
var gallery=[];[].forEach.call(tagsNodeList,function(imageElement,imageIndex){var imageElementClickHandler=function(event){event.preventDefault?event.preventDefault():event.returnValue=false;prepareOverlay(gallery,userOptions);showOverlay(imageIndex);};var imageItem={eventHandler:imageElementClickHandler,imageElement:imageElement};bind(imageElement,'click',imageElementClickHandler);gallery.push(imageItem);});selectorData.galleries.push(gallery);});return selectorData.galleries;}
function clearCachedData(){for(var selector in data){if(data.hasOwnProperty(selector)){removeFromCache(selector);}}}
function removeFromCache(selector){if(!data.hasOwnProperty(selector)){return;}
var galleries=data[selector].galleries;[].forEach.call(galleries,function(gallery){[].forEach.call(gallery,function(imageItem){unbind(imageItem.imageElement,'click',imageItem.eventHandler);});if(currentGallery===gallery){currentGallery=[];}});delete data[selector];}
function buildOverlay(){overlay=getByID('baguetteBox-overlay');if(overlay){slider=getByID('baguetteBox-slider');previousButton=getByID('previous-button');nextButton=getByID('next-button');closeButton=getByID('close-button');return;}
overlay=create('div');overlay.setAttribute('role','dialog');overlay.id='baguetteBox-overlay';document.getElementsByTagName('body')[0].appendChild(overlay);slider=create('div');slider.id='baguetteBox-slider';overlay.appendChild(slider);previousButton=create('button');previousButton.setAttribute('type','button');previousButton.id='previous-button';previousButton.setAttribute('aria-label','Previous');previousButton.innerHTML=supports.svg?leftArrow:'&lt;';overlay.appendChild(previousButton);nextButton=create('button');nextButton.setAttribute('type','button');nextButton.id='next-button';nextButton.setAttribute('aria-label','Next');nextButton.innerHTML=supports.svg?rightArrow:'&gt;';overlay.appendChild(nextButton);closeButton=create('button');closeButton.setAttribute('type','button');closeButton.id='close-button';closeButton.setAttribute('aria-label','Close');closeButton.innerHTML=supports.svg?closeX:'&times;';overlay.appendChild(closeButton);previousButton.className=nextButton.className=closeButton.className='baguetteBox-button';bindEvents();}
function keyDownHandler(event){switch(event.keyCode){case 37:showPreviousImage();break;case 39:showNextImage();break;case 27:hideOverlay();break;case 36:showFirstImage(event);break;case 35:showLastImage(event);break;}}
function bindEvents(){var options=supports.passiveEvents?{passive:true}:null;bind(overlay,'click',overlayClickHandler);bind(previousButton,'click',previousButtonClickHandler);bind(nextButton,'click',nextButtonClickHandler);bind(closeButton,'click',closeButtonClickHandler);bind(slider,'contextmenu',contextmenuHandler);bind(overlay,'touchstart',touchstartHandler,options);bind(overlay,'touchmove',touchmoveHandler,options);bind(overlay,'touchend',touchendHandler);bind(document,'focus',trapFocusInsideOverlay,true);}
function unbindEvents(){var options=supports.passiveEvents?{passive:true}:null;unbind(overlay,'click',overlayClickHandler);unbind(previousButton,'click',previousButtonClickHandler);unbind(nextButton,'click',nextButtonClickHandler);unbind(closeButton,'click',closeButtonClickHandler);unbind(slider,'contextmenu',contextmenuHandler);unbind(overlay,'touchstart',touchstartHandler,options);unbind(overlay,'touchmove',touchmoveHandler,options);unbind(overlay,'touchend',touchendHandler);unbind(document,'focus',trapFocusInsideOverlay,true);}
function prepareOverlay(gallery,userOptions){if(currentGallery===gallery){return;}
currentGallery=gallery;setOptions(userOptions);while(slider.firstChild){slider.removeChild(slider.firstChild);}
imagesElements.length=0;var imagesFiguresIds=[];var imagesCaptionsIds=[];for(var i=0,fullImage;i<gallery.length;i++){fullImage=create('div');fullImage.className='full-image';fullImage.id='baguette-img-'+i;imagesElements.push(fullImage);imagesFiguresIds.push('baguetteBox-figure-'+i);imagesCaptionsIds.push('baguetteBox-figcaption-'+i);slider.appendChild(imagesElements[i]);}
overlay.setAttribute('aria-labelledby',imagesFiguresIds.join(' '));overlay.setAttribute('aria-describedby',imagesCaptionsIds.join(' '));}
function setOptions(newOptions){if(!newOptions){newOptions={};}
for(var item in defaults){options[item]=defaults[item];if(typeof newOptions[item]!=='undefined'){options[item]=newOptions[item];}}
slider.style.transition=slider.style.webkitTransition=(options.animation==='fadeIn'?'opacity .4s ease':options.animation==='slideIn'?'':'none');if(options.buttons==='auto'&&('ontouchstart'in window||currentGallery.length===1)){options.buttons=false;}
previousButton.style.display=nextButton.style.display=(options.buttons?'':'none');try{overlay.style.backgroundColor=options.overlayBackgroundColor;}catch(e){}}
function showOverlay(chosenImageIndex){if(options.noScrollbars){document.documentElement.style.overflowY='hidden';document.body.style.overflowY='scroll';}
if(overlay.style.display==='block'){return;}
bind(document,'keydown',keyDownHandler);currentIndex=chosenImageIndex;touch={count:0,startX:null,startY:null};loadImage(currentIndex,function(){preloadNext(currentIndex);preloadPrev(currentIndex);});updateOffset();overlay.style.display='block';if(options.fullScreen){enterFullScreen();}
setTimeout(function(){overlay.className='visible';if(options.bodyClass&&document.body.classList){document.body.classList.add(options.bodyClass);}
if(options.afterShow){options.afterShow();}},50);if(options.onChange){options.onChange(currentIndex,imagesElements.length);}
documentLastFocus=document.activeElement;initFocus();isOverlayVisible=true;}
function initFocus(){if(options.buttons){previousButton.focus();}else{closeButton.focus();}}
function enterFullScreen(){if(overlay.requestFullscreen){overlay.requestFullscreen();}else if(overlay.webkitRequestFullscreen){overlay.webkitRequestFullscreen();}else if(overlay.mozRequestFullScreen){overlay.mozRequestFullScreen();}}
function exitFullscreen(){if(document.exitFullscreen){document.exitFullscreen();}else if(document.mozCancelFullScreen){document.mozCancelFullScreen();}else if(document.webkitExitFullscreen){document.webkitExitFullscreen();}}
function hideOverlay(){if(options.noScrollbars){document.documentElement.style.overflowY='auto';document.body.style.overflowY='auto';}
if(overlay.style.display==='none'){return;}
unbind(document,'keydown',keyDownHandler);overlay.className='';setTimeout(function(){overlay.style.display='none';if(document.fullscreen){exitFullscreen();}
if(options.bodyClass&&document.body.classList){document.body.classList.remove(options.bodyClass);}
if(options.afterHide){options.afterHide();}
documentLastFocus&&documentLastFocus.focus();isOverlayVisible=false;},500);}
function loadImage(index,callback){var imageContainer=imagesElements[index];var galleryItem=currentGallery[index];if(typeof imageContainer==='undefined'||typeof galleryItem==='undefined'){return;}
if(imageContainer.getElementsByTagName('img')[0]){if(callback){callback();}
return;}
var imageElement=galleryItem.imageElement;var thumbnailElement=imageElement.getElementsByTagName('img')[0];var imageCaption=typeof options.captions==='function'?options.captions.call(currentGallery,imageElement):imageElement.getAttribute('data-caption')||imageElement.title;var imageSrc=getImageSrc(imageElement);var figure=create('figure');figure.id='baguetteBox-figure-'+index;figure.innerHTML='<div class="baguetteBox-spinner">'+
'<div class="baguetteBox-double-bounce1"></div>'+
'<div class="baguetteBox-double-bounce2"></div>'+
'</div>';if(options.captions&&imageCaption){var figcaption=create('figcaption');figcaption.id='baguetteBox-figcaption-'+index;figcaption.innerHTML=imageCaption;figure.appendChild(figcaption);}
imageContainer.appendChild(figure);var image=create('img');image.onload=function(){var spinner=document.querySelector('#baguette-img-'+index+' .baguetteBox-spinner');figure.removeChild(spinner);if(!options.async&&callback){callback();}};image.setAttribute('src',imageSrc);image.alt=thumbnailElement?thumbnailElement.alt||'':'';if(options.titleTag&&imageCaption){image.title=imageCaption;}
figure.appendChild(image);if(options.async&&callback){callback();}}
function getImageSrc(image){var result=image.href;if(image.dataset){var srcs=[];for(var item in image.dataset){if(item.substring(0,3)==='at-'&&!isNaN(item.substring(3))){srcs[item.replace('at-','')]=image.dataset[item];}}
var keys=Object.keys(srcs).sort(function(a,b){return parseInt(a,10)<parseInt(b,10)?-1:1;});var width=window.innerWidth*window.devicePixelRatio;var i=0;while(i<keys.length-1&&keys[i]<width){i++;}
result=srcs[keys[i]]||result;}
return result;}
function showNextImage(){return show(currentIndex+1);}
function showPreviousImage(){return show(currentIndex-1);}
function showFirstImage(event){if(event){event.preventDefault();}
return show(0);}
function showLastImage(event){if(event){event.preventDefault();}
return show(currentGallery.length-1);}
function show(index,gallery){if(!isOverlayVisible&&index>=0&&index<gallery.length){prepareOverlay(gallery,options);showOverlay(index);return true;}
if(index<0){if(options.animation){bounceAnimation('left');}
return false;}
if(index>=imagesElements.length){if(options.animation){bounceAnimation('right');}
return false;}
currentIndex=index;loadImage(currentIndex,function(){preloadNext(currentIndex);preloadPrev(currentIndex);});updateOffset();if(options.onChange){options.onChange(currentIndex,imagesElements.length);}
return true;}
function bounceAnimation(direction){slider.className='bounce-from-'+direction;setTimeout(function(){slider.className='';},400);}
function updateOffset(){var offset=-currentIndex*100+'%';if(options.animation==='fadeIn'){slider.style.opacity=0;setTimeout(function(){supports.transforms?slider.style.transform=slider.style.webkitTransform='translate3d('+offset+',0,0)':slider.style.left=offset;slider.style.opacity=1;},400);}else{supports.transforms?slider.style.transform=slider.style.webkitTransform='translate3d('+offset+',0,0)':slider.style.left=offset;}}
function testTransformsSupport(){var div=create('div');return typeof div.style.perspective!=='undefined'||typeof div.style.webkitPerspective!=='undefined';}
function testSvgSupport(){var div=create('div');div.innerHTML='<svg/>';return(div.firstChild&&div.firstChild.namespaceURI)==='http://www.w3.org/2000/svg';}
function testPassiveEventsSupport(){var passiveEvents=false;try{var opts=Object.defineProperty({},'passive',{get:function(){passiveEvents=true;}});window.addEventListener('test',null,opts);}catch(e){}
return passiveEvents;}
function preloadNext(index){if(index-currentIndex>=options.preload){return;}
loadImage(index+1,function(){preloadNext(index+1);});}
function preloadPrev(index){if(currentIndex-index>=options.preload){return;}
loadImage(index-1,function(){preloadPrev(index-1);});}
function bind(element,event,callback,options){if(element.addEventListener){element.addEventListener(event,callback,options);}else{element.attachEvent('on'+event,function(event){event=event||window.event;event.target=event.target||event.srcElement;callback(event);});}}
function unbind(element,event,callback,options){if(element.removeEventListener){element.removeEventListener(event,callback,options);}else{element.detachEvent('on'+event,callback);}}
function getByID(id){return document.getElementById(id);}
function create(element){return document.createElement(element);}
function destroyPlugin(){unbindEvents();clearCachedData();unbind(document,'keydown',keyDownHandler);document.getElementsByTagName('body')[0].removeChild(document.getElementById('baguetteBox-overlay'));data={};currentGallery=[];currentIndex=0;}
return{run:run,show:show,showNext:showNextImage,showPrevious:showPreviousImage,hide:hideOverlay,destroy:destroyPlugin};}));;/*!
* headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it
* Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js
* License: MIT
*/(function(root,factory){'use strict';if(typeof define==='function'&&define.amd){define([],factory);}
else if(typeof exports==='object'){module.exports=factory();}
else{root.Headroom=factory();}}(this,function(){'use strict';var features={bind:!!(function(){}.bind),classList:'classList'in document.documentElement,rAF:!!(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame)};window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;function Debouncer(callback){this.callback=callback;this.ticking=false;}
Debouncer.prototype={constructor:Debouncer,update:function(){this.callback&&this.callback();this.ticking=false;},requestTick:function(){if(!this.ticking){requestAnimationFrame(this.rafCallback||(this.rafCallback=this.update.bind(this)));this.ticking=true;}},handleEvent:function(){this.requestTick();}};function isDOMElement(obj){return obj&&typeof window!=='undefined'&&(obj===window||obj.nodeType);}
function extend(object){if(arguments.length<=0){throw new Error('Missing arguments in extend function');}
var result=object||{},key,i;for(i=1;i<arguments.length;i++){var replacement=arguments[i]||{};for(key in replacement){if(typeof result[key]==='object'&&!isDOMElement(result[key])){result[key]=extend(result[key],replacement[key]);}
else{result[key]=result[key]||replacement[key];}}}
return result;}
function normalizeTolerance(t){return t===Object(t)?t:{down:t,up:t};}
function Headroom(elem,options){options=extend(options,Headroom.options);this.lastKnownScrollY=0;this.elem=elem;this.tolerance=normalizeTolerance(options.tolerance);this.classes=options.classes;this.offset=options.offset;this.scroller=options.scroller;this.initialised=false;this.onPin=options.onPin;this.onUnpin=options.onUnpin;this.onTop=options.onTop;this.onNotTop=options.onNotTop;this.onBottom=options.onBottom;this.onNotBottom=options.onNotBottom;}
Headroom.prototype={constructor:Headroom,init:function(){if(!Headroom.cutsTheMustard){return;}
this.debouncer=new Debouncer(this.update.bind(this));this.elem.classList.add(this.classes.initial);setTimeout(this.attachEvent.bind(this),100);return this;},destroy:function(){var classes=this.classes;this.initialised=false;for(var key in classes){if(classes.hasOwnProperty(key)){this.elem.classList.remove(classes[key]);}}
this.scroller.removeEventListener('scroll',this.debouncer,false);},attachEvent:function(){if(!this.initialised){this.lastKnownScrollY=this.getScrollY();this.initialised=true;this.scroller.addEventListener('scroll',this.debouncer,false);this.debouncer.handleEvent();}},unpin:function(){var classList=this.elem.classList,classes=this.classes;if(classList.contains(classes.pinned)||!classList.contains(classes.unpinned)){classList.add(classes.unpinned);classList.remove(classes.pinned);this.onUnpin&&this.onUnpin.call(this);}},pin:function(){var classList=this.elem.classList,classes=this.classes;if(classList.contains(classes.unpinned)){classList.remove(classes.unpinned);classList.add(classes.pinned);this.onPin&&this.onPin.call(this);}},top:function(){var classList=this.elem.classList,classes=this.classes;if(!classList.contains(classes.top)){classList.add(classes.top);classList.remove(classes.notTop);this.onTop&&this.onTop.call(this);}},notTop:function(){var classList=this.elem.classList,classes=this.classes;if(!classList.contains(classes.notTop)){classList.add(classes.notTop);classList.remove(classes.top);this.onNotTop&&this.onNotTop.call(this);}},bottom:function(){var classList=this.elem.classList,classes=this.classes;if(!classList.contains(classes.bottom)){classList.add(classes.bottom);classList.remove(classes.notBottom);this.onBottom&&this.onBottom.call(this);}},notBottom:function(){var classList=this.elem.classList,classes=this.classes;if(!classList.contains(classes.notBottom)){classList.add(classes.notBottom);classList.remove(classes.bottom);this.onNotBottom&&this.onNotBottom.call(this);}},getScrollY:function(){return(this.scroller.pageYOffset!==undefined)?this.scroller.pageYOffset:(this.scroller.scrollTop!==undefined)?this.scroller.scrollTop:(document.documentElement||document.body.parentNode||document.body).scrollTop;},getViewportHeight:function(){return window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;},getElementPhysicalHeight:function(elm){return Math.max(elm.offsetHeight,elm.clientHeight);},getScrollerPhysicalHeight:function(){return(this.scroller===window||this.scroller===document.body)?this.getViewportHeight():this.getElementPhysicalHeight(this.scroller);},getDocumentHeight:function(){var body=document.body,documentElement=document.documentElement;return Math.max(body.scrollHeight,documentElement.scrollHeight,body.offsetHeight,documentElement.offsetHeight,body.clientHeight,documentElement.clientHeight);},getElementHeight:function(elm){return Math.max(elm.scrollHeight,elm.offsetHeight,elm.clientHeight);},getScrollerHeight:function(){return(this.scroller===window||this.scroller===document.body)?this.getDocumentHeight():this.getElementHeight(this.scroller);},isOutOfBounds:function(currentScrollY){var pastTop=currentScrollY<0,pastBottom=currentScrollY+this.getScrollerPhysicalHeight()>this.getScrollerHeight();return pastTop||pastBottom;},toleranceExceeded:function(currentScrollY,direction){return Math.abs(currentScrollY-this.lastKnownScrollY)>=this.tolerance[direction];},shouldUnpin:function(currentScrollY,toleranceExceeded){var scrollingDown=currentScrollY>this.lastKnownScrollY,pastOffset=currentScrollY>=this.offset;return scrollingDown&&pastOffset&&toleranceExceeded;},shouldPin:function(currentScrollY,toleranceExceeded){var scrollingUp=currentScrollY<this.lastKnownScrollY,pastOffset=currentScrollY<=this.offset;return(scrollingUp&&toleranceExceeded)||pastOffset;},update:function(){var currentScrollY=this.getScrollY(),scrollDirection=currentScrollY>this.lastKnownScrollY?'down':'up',toleranceExceeded=this.toleranceExceeded(currentScrollY,scrollDirection);if(this.isOutOfBounds(currentScrollY)){return;}
if(currentScrollY<=this.offset){this.top();}else{this.notTop();}
if(currentScrollY+this.getViewportHeight()>=this.getScrollerHeight()){this.bottom();}
else{this.notBottom();}
if(this.shouldUnpin(currentScrollY,toleranceExceeded)){this.unpin();}
else if(this.shouldPin(currentScrollY,toleranceExceeded)){this.pin();}
this.lastKnownScrollY=currentScrollY;}};Headroom.options={tolerance:{up:0,down:0},offset:0,scroller:window,classes:{pinned:'headroom--pinned',unpinned:'headroom--unpinned',top:'headroom--top',notTop:'headroom--not-top',bottom:'headroom--bottom',notBottom:'headroom--not-bottom',initial:'headroom'}};Headroom.cutsTheMustard=typeof features!=='undefined'&&features.rAF&&features.bind&&features.classList;return Headroom;}));;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};(function(global,factory){(typeof exports==='undefined'?'undefined':_typeof(exports))==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):global.LazyLoad=factory();})(this,function(){'use strict';var defaultSettings={elements_selector:"img",container:document,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,callback_load:null,callback_error:null,callback_set:null,callback_enter:null,to_webp:false};var getInstanceSettings=function getInstanceSettings(customSettings){return _extends({},defaultSettings,customSettings);};var dataPrefix="data-";var processedDataName="was-processed";var timeoutDataName="ll-timeout";var trueString="true";var getData=function getData(element,attribute){return element.getAttribute(dataPrefix+attribute);};var setData=function setData(element,attribute,value){var attrName=dataPrefix+attribute;if(value===null){element.removeAttribute(attrName);return;}
element.setAttribute(attrName,value);};var setWasProcessedData=function setWasProcessedData(element){return setData(element,processedDataName,trueString);};var getWasProcessedData=function getWasProcessedData(element){return getData(element,processedDataName)===trueString;};var setTimeoutData=function setTimeoutData(element,value){return setData(element,timeoutDataName,value);};var getTimeoutData=function getTimeoutData(element){return getData(element,timeoutDataName);};function purgeElements(elements){return elements.filter(function(element){return!getWasProcessedData(element);});}
var createInstance=function createInstance(classObj,options){var event;var eventString="LazyLoad::Initialized";var instance=new classObj(options);try{event=new CustomEvent(eventString,{detail:{instance:instance}});}catch(err){event=document.createEvent("CustomEvent");event.initCustomEvent(eventString,false,false,{instance:instance});}
window.dispatchEvent(event);};function autoInitialize(classObj,options){if(!options){return;}
if(!options.length){createInstance(classObj,options);}else{for(var i=0,optionsItem;optionsItem=options[i];i+=1){createInstance(classObj,optionsItem);}}}
var replaceExtToWebp=function replaceExtToWebp(value,condition){return condition?value.replace(/\.(jpe?g|png)/gi,".webp"):value;};var detectWebp=function detectWebp(){var webpString="image/webp";var canvas=document.createElement("canvas");if(canvas.getContext&&canvas.getContext("2d")){return canvas.toDataURL(webpString).indexOf('data:'+webpString)===0;}
return false;};var runningOnBrowser=typeof window!=="undefined";var isBot=runningOnBrowser&&!("onscroll"in window)||/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);var supportsIntersectionObserver=runningOnBrowser&&"IntersectionObserver"in window;var supportsClassList=runningOnBrowser&&"classList"in document.createElement("p");var supportsWebp=runningOnBrowser&&detectWebp();var setSourcesInChildren=function setSourcesInChildren(parentTag,attrName,dataAttrName,toWebpFlag){for(var i=0,childTag;childTag=parentTag.children[i];i+=1){if(childTag.tagName==="SOURCE"){var attrValue=getData(childTag,dataAttrName);setAttributeIfValue(childTag,attrName,attrValue,toWebpFlag);}}};var setAttributeIfValue=function setAttributeIfValue(element,attrName,value,toWebpFlag){if(!value){return;}
element.setAttribute(attrName,replaceExtToWebp(value,toWebpFlag));};var setSourcesImg=function setSourcesImg(element,settings){var toWebpFlag=supportsWebp&&settings.to_webp;var srcsetDataName=settings.data_srcset;var parent=element.parentNode;if(parent&&parent.tagName==="PICTURE"){setSourcesInChildren(parent,"srcset",srcsetDataName,toWebpFlag);}
var sizesDataValue=getData(element,settings.data_sizes);setAttributeIfValue(element,"sizes",sizesDataValue);var srcsetDataValue=getData(element,srcsetDataName);setAttributeIfValue(element,"srcset",srcsetDataValue,toWebpFlag);var srcDataValue=getData(element,settings.data_src);setAttributeIfValue(element,"src",srcDataValue,toWebpFlag);};var setSourcesIframe=function setSourcesIframe(element,settings){var srcDataValue=getData(element,settings.data_src);setAttributeIfValue(element,"src",srcDataValue);};var setSourcesVideo=function setSourcesVideo(element,settings){var srcDataName=settings.data_src;var srcDataValue=getData(element,srcDataName);setSourcesInChildren(element,"src",srcDataName);setAttributeIfValue(element,"src",srcDataValue);element.load();};var setSourcesBgImage=function setSourcesBgImage(element,settings){var toWebpFlag=supportsWebp&&settings.to_webp;var srcDataValue=getData(element,settings.data_src);var bgDataValue=getData(element,settings.data_bg);if(srcDataValue){var setValue=replaceExtToWebp(srcDataValue,toWebpFlag);element.style.backgroundImage='url("'+setValue+'")';}
if(bgDataValue){var _setValue=replaceExtToWebp(bgDataValue,toWebpFlag);element.style.backgroundImage=_setValue;}};var setSourcesFunctions={IMG:setSourcesImg,IFRAME:setSourcesIframe,VIDEO:setSourcesVideo};var setSources=function setSources(element,settings){var tagName=element.tagName;var setSourcesFunction=setSourcesFunctions[tagName];if(setSourcesFunction){setSourcesFunction(element,settings);return;}
setSourcesBgImage(element,settings);};var addClass=function addClass(element,className){if(supportsClassList){element.classList.add(className);return;}
element.className+=(element.className?" ":"")+className;};var removeClass=function removeClass(element,className){if(supportsClassList){element.classList.remove(className);return;}
element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"");};var callbackIfSet=function callbackIfSet(callback,argument){if(callback){callback(argument);}};var genericLoadEventName="load";var mediaLoadEventName="loadeddata";var errorEventName="error";var addEventListener=function addEventListener(element,eventName,handler){element.addEventListener(eventName,handler);};var removeEventListener=function removeEventListener(element,eventName,handler){element.removeEventListener(eventName,handler);};var addAllEventListeners=function addAllEventListeners(element,loadHandler,errorHandler){addEventListener(element,genericLoadEventName,loadHandler);addEventListener(element,mediaLoadEventName,loadHandler);addEventListener(element,errorEventName,errorHandler);};var removeAllEventListeners=function removeAllEventListeners(element,loadHandler,errorHandler){removeEventListener(element,genericLoadEventName,loadHandler);removeEventListener(element,mediaLoadEventName,loadHandler);removeEventListener(element,errorEventName,errorHandler);};var eventHandler=function eventHandler(event,success,settings){var className=success?settings.class_loaded:settings.class_error;var callback=success?settings.callback_load:settings.callback_error;var element=event.target;removeClass(element,settings.class_loading);addClass(element,className);callbackIfSet(callback,element);};var addOneShotEventListeners=function addOneShotEventListeners(element,settings){var loadHandler=function loadHandler(event){eventHandler(event,true,settings);removeAllEventListeners(element,loadHandler,errorHandler);};var errorHandler=function errorHandler(event){eventHandler(event,false,settings);removeAllEventListeners(element,loadHandler,errorHandler);};addAllEventListeners(element,loadHandler,errorHandler);};var managedTags=["IMG","IFRAME","VIDEO"];var loadAndUnobserve=function loadAndUnobserve(element,observer,settings){revealElement(element,settings);observer.unobserve(element);};var cancelDelayLoad=function cancelDelayLoad(element){var timeoutId=getTimeoutData(element);if(!timeoutId){return;}
clearTimeout(timeoutId);setTimeoutData(element,null);};var delayLoad=function delayLoad(element,observer,settings){var loadDelay=settings.load_delay;var timeoutId=getTimeoutData(element);if(timeoutId){return;}
timeoutId=setTimeout(function(){loadAndUnobserve(element,observer,settings);cancelDelayLoad(element);},loadDelay);setTimeoutData(element,timeoutId);};function revealElement(element,settings,force){if(!force&&getWasProcessedData(element)){return;}
callbackIfSet(settings.callback_enter,element);if(managedTags.indexOf(element.tagName)>-1){addOneShotEventListeners(element,settings);addClass(element,settings.class_loading);}
setSources(element,settings);setWasProcessedData(element);callbackIfSet(settings.callback_set,element);}
var isIntersecting=function isIntersecting(entry){return entry.isIntersecting||entry.intersectionRatio>0;};var getObserverSettings=function getObserverSettings(settings){return{root:settings.container===document?null:settings.container,rootMargin:settings.thresholds||settings.threshold+"px"};};var LazyLoad=function LazyLoad(customSettings,elements){this._settings=getInstanceSettings(customSettings);this._setObserver();this.update(elements);};LazyLoad.prototype={_manageIntersection:function _manageIntersection(entry){var observer=this._observer;var settings=this._settings;var loadDelay=this._settings.load_delay;var element=entry.target;if(isIntersecting(entry)){if(!loadDelay){loadAndUnobserve(element,observer,settings);}else{delayLoad(element,observer,settings);}}
if(!isIntersecting(entry)){cancelDelayLoad(element);}},_onIntersection:function _onIntersection(entries){entries.forEach(this._manageIntersection.bind(this));this._elements=purgeElements(this._elements);},_setObserver:function _setObserver(){if(!supportsIntersectionObserver){return;}
this._observer=new IntersectionObserver(this._onIntersection.bind(this),getObserverSettings(this._settings));},loadAll:function loadAll(){var _this=this;this._elements.forEach(function(element){_this.load(element);});this._elements=purgeElements(this._elements);},update:function update(elements){var _this2=this;var settings=this._settings;var nodeSet=elements||settings.container.querySelectorAll(settings.elements_selector);this._elements=purgeElements(Array.prototype.slice.call(nodeSet));if(isBot||!this._observer){this.loadAll();return;}
this._elements.forEach(function(element){_this2._observer.observe(element);});},destroy:function destroy(){var _this3=this;if(this._observer){purgeElements(this._elements).forEach(function(element){_this3._observer.unobserve(element);});this._observer=null;}
this._elements=null;this._settings=null;},load:function load(element,force){revealElement(element,this._settings,force);}};if(runningOnBrowser){autoInitialize(LazyLoad,window.lazyLoadOptions);}
return LazyLoad;});;document.addEventListener('DOMContentLoaded',function(event){const myLazyLoad=new LazyLoad()
baguetteBox.run('main',{})
const navbar=document.querySelector('nav')
if(navbar){const headroom=new Headroom(navbar,{'offset':205,'tolerance':5,'classes':{'initial':'animated','pinned':'slideDown','unpinned':'slideUp'}})
headroom.init()}})

View file

@ -0,0 +1 @@
{"Target":"assets/js/scripts.min.js","MediaType":"application/javascript","Data":{}}

View file

@ -0,0 +1 @@
(function($){'use strict';$('html').removeClass('nojs').addClass('js');})(u);

View file

@ -0,0 +1 @@
{"Target":"js/script.min.8e4d91ebe0d9226621e408b7205bd7b009e4935608e4b29c4275116490cc836d.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-jk2R6+DZImYh5Ai3IFvXsAnkk1YI5LKcQnURZJDMg20="}}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
{"Target":"js/umbrella.min.b426107371d121c9a56a27aac9e9058ff592a021e2f4c3c94827fe70920d3cbb.js","MediaType":"application/javascript","Data":{"Integrity":"sha256-tCYQc3HRIcmlaieqyekFj/WSoCHi9MPJSCf+cJINPLs="}}

View file

@ -1,60 +0,0 @@
diff --git a/assets/css/style.css b/assets/css/style.css
index d35bcba..b21219a 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -29,6 +29,8 @@ div {
img {
border: 0;
+ max-width: 90%;
+ height: auto;
}
a {
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 6f4d2fa..6a3ec57 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -30,6 +30,25 @@
</div>
</div>
+ {{ if .Params.series }}
+ {{ $name := index .Params.series 0 }}
+ <hr/>
+ <p><a href="" id="series"></a>This is a post in the
+ <b>{{$name}}</b> series.<br/>
+ Other posts in this series:</p>
+
+ {{ $name := $name | urlize }}
+ {{ $series := index .Site.Taxonomies.series $name }}
+ <ul class="series">
+ {{ range $series.Pages }}
+ <li>{{.Date.Format "Jan 02, 2006"}} -
+ <a href="{{.Permalink}}">{{.LinkTitle}}</a></li>
+ {{end}}
+ </ul>
+ {{end}}
+ {{if .NextInSection}}<p>Next: <a href="{{.NextInSection.Permalink}}">{{.NextInSection.Title}}</a></p>{{end}}
+ {{if .PrevInSection}}<p>Previous: <a href="{{.PrevInSection.Permalink}}">{{.PrevInSection.Title}}</a></p>{{end}}
+
</div>
-{{ end }}
\ No newline at end of file
+{{ end }}
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index e0d0f30..e69de29 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -1,9 +0,0 @@
-{{ "<!-- google analitycs -->" | safeHTML }}
-<script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
- ga('create', '{{ .Site.Params.googleAnalitycsID }}', 'auto');
- ga('send', 'pageview');
-</script>
\ No newline at end of file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

View file

@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help improve the theme.
title: "[BUG] "
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is. **Please state this in the form of a problem, such as "[BUG] The door will not unlock without the key."**
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Device information):**
- Device [e.g. MacBook, iPhone, ...]
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.

View file

@ -0,0 +1,23 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FEATURE] "
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen. What problem does this solve, for whom, in what types of circumstances? What is the value of your idea?
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered. Screenshots or mockups are helpful.
**Additional context**
Add any other context or screenshots about the feature request here.
**Does it fit with Story's design?**
Tell us why your idea is a good fit for Story in particular, rather than generically being a good idea. Does it align well with Story's goals of simplicity, elegance? Is your idea targeted towards Story's intended audience and use case?

3
themes/story/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*.swp
.DS_Store
public

20
themes/story/LICENSE.md Normal file
View file

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018 Baron Schwartz
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

24
themes/story/README.md Normal file
View file

@ -0,0 +1,24 @@
# Story
Story is a beautiful [Hugo theme](https://gohugo.io) for showcasing your writing
and presentations. There's a robust [demo site](https://story.xaprb.com/) where you can see its
many features in action, and learn more about how to use them. You can also see Story in use on a real site by [Baron Schwartz](https://www.xaprb.com/).
![Story screenshot](https://raw.githubusercontent.com/xaprb/story/master/images/screenshot.png)
Story is targeted to technical writers and
speakers: people such as software engineers and open source developers, who want a
website for their technical work, such as blogging about software
engineering. It's a great way to share your writing and speaking with the world.
It has a lot of features for people who invest effort in their websites and blogs!
- Beautiful, responsive typography for long-form content on screen and in print, including blogs, essays, and single pages.
- Support for [RemarkJS slides](https://remarkjs.com/).
- LaTeX math typesetting with [KaTeX](https://github.com/Khan/KaTeX)
- A built-in search page with [LunrJS](https://github.com/olivernn/lunr.js).
- Music notation typesetting with [abcjs](https://abcjs.net/).
- Easy-to-use, backwards-compatible Markdown enhancements such as ways to control image behavior (size, float, etc) with CSS.
This is just a fraction of Story's feature set, see the [demo site](https://story.xaprb.com/) for much more
documentation and screenshots.

View file

@ -0,0 +1,12 @@
---
title: '{{ replace .TranslationBaseName "-" " " | title }}'
date: "{{ .Date }}"
url: "/{{ .Dir }}{{ .Name }}"
description: ""
tldr: ""
image: ""
credit: ""
thumbnail: ""
categories:
- Uncategorized
---

View file

@ -0,0 +1,33 @@
---
title: {{ .Name | humanize | title }}
date: "{{ .Date }}"
url: "/{{ .Dir }}"
image: "/slides/{{ .Name }}/cover.jpg"
description: ""
ratio: "16:9"
themes:
- apron
- adirondack
- descartes
---
class: title
background-image: url(cover.jpg)
# {{ .Name | humanize | title }}
## Subtitle
---
# About Me
- Slides are at {{ "talks/" | absURL }}
- Ask questions anytime
---
# Slides and Contact Information
.qrcode.db.fr.w-40pct.ml-4[]
Slides are at {{ .Site.BaseURL }}talks/ or you can scan the QR code.
Contact:

View file

@ -0,0 +1,13 @@
---
title: '{{ replace .TranslationBaseName "-" " " | title }}'
date: "{{ .Date }}"
url: "/{{ .Dir }}{{ .Name }}/"
event: ""
location: ""
site: ""
video: ""
slides: "/slides/{{ .Name }}/"
thumbnail: "/slides/{{ .Name }}/thumbnail.jpg"
image: "/slides/{{ .Name }}/cover.jpg"
description: ""
---

View file

@ -0,0 +1,37 @@
# Site settings
baseurl = "https://example.com/"
title = "Hugo Story Theme"
paginate = 5
buildFuture = true
[[menu.social]]
name = "GitHub"
title = "fab fa-github-square"
url = "https://github.com/xaprb/story/"
[[menu.main]]
name = "Talks"
title = "Talks"
url = "/talks/"
[[menu.main]]
name = "Slides"
title = "Slides"
url = "/slides/"
[[menu.main]]
name = "Archives"
title = "Archives"
url = "/archives/"
[params]
author = "Baron Schwartz"
twitter = "xaprb"
classes = []
[outputs]
home = ["HTML", "JSON", "RSS"]
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML", "RSS"]
taxonomyTerm = ["HTML", "RSS"]

View file

@ -0,0 +1,10 @@
---
title: Story Hugo Theme Demo Site
subtitle: "Showcase Your Work"
---
[![Baron Schwartz](/img/baron-square.jpg)](https://www.xaprb.com)
Baron Schwartz is the founder and CTO of [VividCortex](https://vividcortex.com), author of
several books, and creator of various open-source software. He writes about topics
such as technology, entrepreneurship, and fitness. [More about
Baron](https://www.xaprb.com/).

View file

@ -0,0 +1,43 @@
---
title: The Story Hugo Theme
date: "2018-09-03"
url: "/about-story"
description: "Story is a beautiful responsive Hugo blog theme with many extra features including presentations, math typesetting, and search."
tldr: "Story is a beautiful responsive Hugo blog theme with powerful extra features out-of-the-box. It's targeted to people who want to showcase their technical work online."
credit: "https://unsplash.com/photos/o-ubWHV29Uk"
image: "img/unsplash-photos-o-ubWHV29Uk.jpg"
thumbnail: img/unsplash-photos-o-ubWHV29Uk.tn-500x500.jpg
categories:
- Demo
---
Story is a beautiful Hugo theme. [Hugo](https://gohugo.io) is a static website
generator, which builds websites by rendering
[Markdown](https://commonmark.org/help/) content into templates from themes like
Story. The resulting site is fast, secure, and easy to build and maintain.
Story is a responsive theme that supports blogs, with many extra features such
as presentations, math and music typesetting, and search. The Story design
philosophy prioritizes simplicity and elegance, so it can be sophisticated
and powerful at the same time.
<!--more-->
Story is easy to use, making it a great way to share your writing and speaking
with the world. Story is targeted to technical writers and speakers: people
such as software engineers and open source developers, who want a website for
their technical work and side projects---for example, those who write and speak
about software engineering.
Story is deceptively simple, while offering the features you need:
- Beautiful, responsive typography for long-form content on screen and in print, including blogs and single pages.
- Support for Remark in-browser slideshows, written in simple Markdown.
- LaTeX math equation typesetting.
- Sheet music rendering from ABC music notation.
- Built-in site search.
Story has many more features than this.
Explore Story and learn all the ways it can help you showcase your work!
Read next: [Story's features](/theme-features).

View file

@ -0,0 +1,9 @@
---
layout: archives
url: /archives/
title: Archives
classes:
- feature-nosubtitle
- feature-nohdr
- feature-depth
---

View file

@ -0,0 +1,111 @@
---
author: Elvis Presley
title: Story's Author Profiles
url: /author-profiles
date: "2018-08-29"
description: "With Story, you can define global and per-item author profiles/biographies."
image: "img/unsplash-photos-TzMi5Ov7QeM.jpg"
credit: "https://unsplash.com/photos/TzMi5Ov7QeM"
thumbnail: "img/unsplash-photos-TzMi5Ov7QeM.tn-500x500.jpg"
categories:
- Demo
---
Story supports author profiles, so you can highlight your bio.
It's possible to set this globally for the entire site, or individually for each
piece of content. Or you can set a global default and override it on individual
pieces of content.
Scroll to the bottom of any page on this site to see how author profiles are
styled.
<!--more-->
Story's author profile system is a slightly simplified (incomplete)
implementation of the ideas laid out in [Netlify's how-to
document](https://www.netlify.com/blog/2018/07/24/hugo-tips-how-to-create-author-pages/).
It allows only one author per piece of content, and doesn't require Hugo to
create the authors taxonomy. Because it's incomplete, it's a) missing a few of the
features Netlify describes, and b) easier to set up.
### Global And Per-Content Authors
If you want to specify an author in the front matter of each post, it's
simply specified like this (YAML example):
```
---
author: "Elvis Presley"
---
```
If you want to set a global author parameter for the entire site, which will serve as
the default in case any pieces of content don't specify their own, use your
config file's `params` array:
```
params:
author: "Baron Schwartz"
```
That's exactly what this sample site you're reading right now does: Baron is the
author by default, but Elvis is the author of _this_ content you're reading now.
### Creating Author Profiles
To create author profiles, you need to create the author hierarchy under
`content`, and a slugified directory for each author. Then, place an `_index.md`
file into each of those directories, and give it the content needed to describe
the author.
For example:
```
└── content/
└── authors/
├── elvis-presley/
│ └── _index.md
├── aretha-franklin/
│ └── _index.md
└── stevie-wonder/
└── _index.md
```
You can put any content you want in the file, but Story has CSS to nicely format
a square image followed by a paragraph of text. This page you're viewing right
now has "Elvis Presley" as its author, and the content of
`content/authors/elvis-presley/_index.md` is:
```
---
---
![Elvis](/img/elvis.jpg)
Elvis Aaron Presley (January 8, 1935 August 16, 1977) was an American singer
and actor. Regarded as one of the most significant cultural icons of the 20th
century, he is often referred to as the "King of Rock and Roll" or simply "the
King".
```
### Global Fallback Content
Even if you don't have an author directory and a specific author's file as
described above, you can create content that will serve as a fallback across the
whole site. If Story doesn't find a specific author's profile page, it'll look
for the default `_index.md` content for the section it's currently rendering.
The top-level default for the whole site is `content/_index.md`, which this demo
site uses to provide Baron Schwartz's author information. This information will
appear on all pages _other than_ the current page, which is authored by Elvis
Presley. This fallback information from `content/_index.md` looks like the
following:
```
[![Baron Schwartz](/img/baron-square.jpg)](https://www.xaprb.com)
Baron Schwartz is the founder and CTO of [VividCortex](https://vividcortex.com), author of
several books, and creator of various open-source software. He writes about topics
such as technology, entrepreneurship, and fitness. [More about
Baron](https://www.xaprb.com/).
```
This content is a (non-author-specific) fallback for the entire site.
You can see it on all the other pages of this site.
Read next: [Story's figures, captions, and tables](/figures/).

View file

@ -0,0 +1,8 @@
---
---
![Elvis](/img/elvis.jpg)
Elvis Aaron Presley (January 8, 1935 August 16, 1977) was an American singer
and actor. Regarded as one of the most significant cultural icons of the 20th
century, he is often referred to as the "King of Rock and Roll" or simply "the
King".

View file

@ -0,0 +1,9 @@
X: 1
T: Cooley's
M: 4/4
L: 1/8
K: Emin
|:D2|EB{c}BA B2 EB|~B2 AB dBAG|FDAD BDAD|FDAD dAFD|
EBBA B2 EB|B2 AB defg|afe^c dBAF|DEFD E2:|
|:gf|eB B2 efge|eB B2 gedB|A2 FA DAFA|A2 FA defg|
eB B2 eBgB|eB B2 defg|afe^c dBAF|DEFD E2:|

View file

@ -0,0 +1,109 @@
---
title: Story's Feature Flags
date: "2018-08-30"
url: "/features"
description: "Story comes with a lot of power, but it's all configurable: almost every extra feature is optional."
credit: "https://unsplash.com/photos/QRkew0KwXSM"
image: "img/unsplash-photos-QRkew0KwXSM.jpg"
thumbnail: img/unsplash-photos-QRkew0KwXSM.tn-500x500.jpg
classes:
categories:
- Demo
---
Feature flags, which are called _classes_ in the markup, control many of Story's features.
You can enable and disable them in your site config, or in an individual post's front matter.
This article documents Story's feature flags.
<!--more-->
### Enabling Feature Flags
Feature flags can be enabled globally or locally, and the combination of these determines content behavior.
This lets you enable them for the entire site, or for an individual post.
The combined list of features that applies to a piece of content is the union of the two lists.
Here's how to enable the "example" feature for the entire site, in your site's `config.yaml` file:
```yaml
params:
classes:
- feature-example
```
Here's how to enable the "misc" feature in an individual piece of content, via its YAML front matter:
```yaml
---
classes:
- feature-misc
---
```
The contents of both feature lists are combined and put into the `<body>` tag's `class` attribute, verbatim:
```html
<body class="feature-example feature-misc">...</body>
```
If you're using TOML, then the syntax in `config.toml` looks like this:
```toml
[params]
classes = ["feature-example", "feature-misc"]
```
### Disabling Features
Many features can be _negated_ by prefixing the feature name with `no`, like this:
```yaml
---
classes:
- feature-noexample
---
```
If a feature is enabled globally and negated in a single piece of content's front matter, both the positive and negative form will appear in the CSS classes.
Features in Story are inside of code that checks not only whether flags are enabled, but also whether they're overridden with a negation.
One consequence of this is that if you disable a feature globally in `config.yaml`, you can't enable it locally in a single piece of content.
You can only enable globally and disable locally, not the other way around.
There's nothing special about a feature flag, and you can put arbitrary values into the configuration arrays.
Story only recognizes and supports specific values; it ignores others.
You can take advantage of this to add any values into the arrays that you want, if they're useful for your other purposes.
For example, you can use this ability to set any desired CSS class, for selection either with your custom CSS, or to work with something off-the-shelf that happens to look for a specific class.
### List Of Features
Features have varying implementations.
Some affect how Hugo processes content, some affect CSS presentation, and some are implemented in unobtrusive JavaScript after the page finishes loading.
Here's a list of all of Story's features and how they're implemented.
The first column links to a demo of those features.
For brevity, the `feature-` prefix is omitted, but all of Story's classes have that prefix to avoid naming conflicts.
| Feature | Explanation | Implementation |
|--------------------|---------------------------------------------------------------------------------------------|----------------|
| [3dbook-covers](/images) | Styles images to resemble a hardcover book | JS + CSS |
| [figcaption](/figures) | Transforms images into captioned figures | JS + CSS |
| [figcaption-hidden](/figures) | Hides figure captions, revealing them on mouseover | CSS |
| [figcaption-visible](/figures) | Formats figure captions visibly | CSS |
| [figlink](/figures) | Links text like "Figure/Table 3" to the corresponding figure or table | JS |
| [fignum](/figures) | Auto-numbers figures and tables | CSS |
| [h3-cl](/typography) | Adds CSS `clear: left` to all `<h3>` tags | CSS |
| [h3-cr](/typography) | Adds CSS `clear: right` to all `<h3>` tags | CSS |
| [h3-cb](/typography) | Adds CSS `clear: both` to all `<h3>` tags | CSS |
| [highlight](/typography) | Applies syntax highlighting to code blocks, using HighlightJS | JS + CSS |
| [hrdinkus](/typography) | Styles `<hr>` elements as a dinkus (three asterisks) | CSS |
| [hrfleuron](/typography) | Styles `<hr>` elements as a fleuron (&#10086;) | CSS |
| [hyphenate](/typography) | Enables line-breaks and hyphenation of text via the browser | CSS |
| [justify](/typography) | Aligns text with full-justification | CSS |
| [math](/math) | Enables LaTeX math typesetting using KaTeX | JS |
| [music](/music) | Enables rendering abc notation as sheet music with abcjs | JS |
| [nohdr](/images/) | Disables header images locally; when applied globally, disables preview thumbnails in lists | Hugo |
| [subtitle](/typography) | Enabled by default; disable to hide page subtitles | CSS |
| [tablefig](/figures) | Styles tables similar to scientific papers | JS + CSS |
| [tablefw](/figures) | Sets table cells in a font with fixed-width numerals | CSS |
| titlecase | Not enabled by default; Transforms All Content Titles to Titlecase | Hugo |
| [tweetquote](/typography) | Renders a blockquote in a simplistic tweet style, if it follows conventions | JS + CSS |
Read next: [Story's author biographies](/author-profiles/).

View file

@ -0,0 +1,149 @@
---
title: Story's Figures, Captions, and Tables
date: "2018-08-22"
url: "/figures"
description: "This article shows you how to enhance your images and tables with features such as captions and alternative stylings."
credit: "https://unsplash.com/photos/vHnVtLK8rCc"
image: "img/unsplash-photos-vHnVtLK8rCc.jpg"
thumbnail: img/unsplash-photos-vHnVtLK8rCc.tn-500x500.jpg
classes:
- feature-figcaption
- feature-figcaption-hidden
- feature-figlink
- feature-fignum
- feature-tablecaption
categories:
- Demo
---
Story can automatically transform images into figures with captions.
It can also add captions to tables.
And it adds features and styling to both images and tables.
This article is a demo of Story's features for figures, tables, and captions.
<!--more-->
### Image Captions and Figures
If the `feature-figcaption` flag is set (and not negated), Story will transform
your images into figures, and add a caption. There are several ways this can be done. Story tries
each method, in the following order.
First, if an image is followed immediately by an `<em>` _in the same paragraph_, Story treats
the content of the `<em>` as the image caption. To enable this, the image and
the text must not have a blank line between them. Example:
```md
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg)
_Water lily photo by Zoltan Tasi on Unsplash_
```
This markup results in a `<p><img...><em...></p>` markup that Story converts into a captioned figure.
Hover your mouse over the picture to see the caption:
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg)
_Water lily photo by Zoltan Tasi on Unsplash_
If there's no `<em>` to use, Story uses the image's `title` attribute as a fallback:
```md
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg "A water lily")
```
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg "A water lily")
Finally, Story falls back to the `alt` attribute:
```md
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg)
```
![Water Lily](/img/unsplash-photos-vHnVtLK8rCc.jpg)
### Table Styling
Story has multiple built-in table styles that you can apply with feature flags.
The default is similar to GitHub's table styling:
| Command | Description |
| --- | --- |
| `git status` | List all *new or modified* files |
| `git diff` | Show file differences that **haven't been** staged |
| `git commit` | Record changes to the repository |
| `git branch` | List, create, or delete branches |
There is _also_ a style designed for tables that are part of an
article with figures, resembling scientific papers or other more formal use
cases. This is enabled with `feature-tablefig`. Click <a
id="tablefig">here</a> to toggle.
| Item | Estimated | Positive and Significant | Negative and Significant |
|-------------------------------------------|:---------:|:------------------------:|:------------------------:|
| Demographic Variables for Head | | | |
| Male | 85 | 74 | 11 |
| Age | 85 | 85 | 0 |
| Age Squared | 85 | 0 | 85 |
| Head's Education | | | |
| Completed primary or incomplete secondary | 76 | 76 | 0 |
| Completed secondary or higher | 60 | 60 | 0 |
| Completed secondary | 19 | 19 | 0 |
| Higher | 20 | 20 | 0 |
| Unknown | 12 | 12 | 0 |
Tables with columns of right-aligned numbers are more readable with fixed-width numerals; click to toggle <a id="tablefw">`feature-tablefw`</a>. Observe the table below and see how its columns are easier to read with fixed-width numerals. This is noticeable with Github-style table formatting, but not with academic-style.
Date | Inclination, deg. | Longitude, Asc. Node, deg. | Mean Distance, au | Eccentricity | Mean Longitude, deg. |
--------------|------------------:|---------------------------:|------------------:|--------------:|----------------------:|
Jan.&nbsp;28 | 7.0052 | 48.486 | 0.387097 | 0.205644 | 355.3943 |
Mar.&nbsp;9 | 7.0052 | 48.487 | 0.387098 | 0.205646 | 159.0899 |
Apr.&nbsp;18 | 7.0052 | 48.489 | 0.387097 | 0.205649 | 322.7854 |
May&nbsp;28 | 7.0052 | 48.490 | 0.387097 | 0.205650 | 126.4812 |
July&nbsp;7 | 7.0052 | 48.492 | 0.387098 | 0.205645 | 290.1771 |
Aug.&nbsp;16 | 7.0052 | 48.493 | 0.387098 | 0.205645 | 93.8725 |
Sept.&nbsp;25 | 7.0052 | 48.494 | 0.387098 | 0.205642 | 257.5683 |
Nov.&nbsp;4 | 7.0052 | 48.495 | 0.387099 | 0.205635 | 61.2628 |
Dec.&nbsp;14 | 7.0052 | 48.497 | 0.387099 | 0.205635 | 224.9579 |
Dec.&nbsp;54 | 7.0052 | 48.498 | 0.387098 | 0.205633 | 28.6524 |
_Mercury's Heliocentric Osculating Orbital Elements Referred to the Mean Equinox and Ecliptic of Date for 2013_
### Caption Styling And Linking
Story uses JavaScript and CSS to make figures and tables more beautiful and
functional.
- Figures and tables get sequentially numbered `ID` attributes of `#fig-1` and so on, so
you can link to them.
- The `feature-figlink` feature flag searches the article for text such as
Figure 1 and automatically links it to the appropriate figure.
- If the `feature-fignum` feature is enabled, the text of the caption is
prepended with the figure number. Click here to <a id="fignum">toggle this
feature</a>, then inspect the captions again to see the effect.
- The `feature-figcaption-hidden` feature makes the captions hidden until you
move the mouse over them. The `feature-figcaption-visible` feature flag
overrides this and makes the captions visible immediately below the image.
Click here to <a id="figvisible">toggle this feature</a>.
### Table Captions
Story doesn't convert tables to figures, but it can add captions to tables.
See Table 3, which is followed by a paragraph whose entire content is inside an `<em>` tag.
If the `feature-tablecaption` feature is enabled, Story will use unobtrusive JavaScript to move that paragraph's text into the table's `<caption>` element.
Tables can be autolinked and table captions can be numbered, similar to images.
These features are controlled by the same `feature-figlink` and `feature-fignum` flags that control image captioning and linking, so they'll be consistently applied.
<script type="text/javascript">
$( "#fignum" ).click(function() {
$("body").toggleClass("feature-fignum");
});
$( "#figvisible" ).click(function() {
$("body").toggleClass("feature-figcaption-visible");
});
$( "#tablefig" ).click(function() {
$("body").toggleClass("feature-tablefig");
});
$( "#tablefw" ).click(function() {
$("body").toggleClass("feature-tablefw");
});
</script>
Read next: [Story's image formatting features](/images/).

View file

@ -0,0 +1,115 @@
---
title: Story's Image Formatting Controls
date: "2018-08-21"
url: "/images"
description: "Story gives you extra control over image formatting using only Markdown syntax."
classes:
- feature-figcaption
- feature-figcaption-hidden
- feature-3dbook-covers
- feature-tablecaption
- feature-depth
categories:
- Demo
---
This article is a demo of Story's image-related features (other than [figure captions](/figures)).
Story can apply a variety of stylistic and layout transformations to your images.
These features are enabled by unobtrusive, accessibility-friendly tricks that give you more control over images than Markdown typically provides.
Story also has out-of-the-box support for header and preview images, for a visually stunning site.
<!--more-->
### Shrinking Large Images
Story's CSS automatically shrinks images to fit into the width of the article.
![Default header image](/img/default-header-img.jpg)
The image above is much wider than the content region, but it's sized to fit.
### Control Over Image Formatting
Story uses [URL fragment
techniques](https://www.xaprb.com/blog/how-to-style-images-with-markdown/) to
give you control over image styling.
Images that use this technique don't get converted into [figures with captions](/figures).
![Small Lily](/img/lily.jpg# fr)
For example, you can float an image right with the `fr` URL fragment:
```md
![Small Lily](/img/lily.jpg# fr)
```
There's a selection of these pseudo-classes built into Story via the Descartes
CSS file; inspect the CSS or LESS source to see what styles you can attach to
images.
If floated images interfere with headings, you can use [heading clear feature flags](/features) to fix this.
### Book Cover Mockups
[![Small Lily](/img/lily.jpg# 3dbook)](https://unsplash.com/photos/vHnVtLK8rCc)
A book cover image that's inside an `<a>` link can be floated right and given
a 3d look with the `3dbook` URL fragment pseudo-class.
```
[![Small Lily](/img/lily.jpg# 3dbook)](https://unsplash.com/photos/vHnVtLK8rCc)
```
### Header Images
Story is designed for visual impact, with a featured image for each piece of content.
Use the `image` property in the article's front-matter to set the image.
Use the `credit` to give credit to the image's creator if you wish; Story will put a small camera icon in the header if it finds that parameter.
Use the `thumbnail` property to supply a smaller version of the image in list views.
A typical piece of content will have front matter like the following:
```yaml
image: "/img/unsplash-photos-QRkew0KwXSM.jpg"
thumbnail: /img/unsplash-photos-QRkew0KwXSM.tn-500x500.jpg
credit: "https://unsplash.com/photos/QRkew0KwXSM"
```
If there's no thumbnail, Story falls back to the full-size image.
If there's no article-specific image, Story uses its default, `/img/default-header-img.jpg`, or the thumbnail equivalent, `/img/default-header-img.tn-500x500.jpg`.
This page doesn't supply its own header image, so Story is using the default.
You can supply your own default header image by simply putting an image with the same name in your *site's* `/static/img` directory.
If Hugo finds that you've added an image of your own, it will take precedence.
You can also override section-specific header images in list
(non-individual-page) views with parameters in the `_index.md` content file in
that section. (The `title` and `subtitle` parameters in those files can also
override what's shown in list page headers.)
### Imageless Layout Options
If you don't want header images or preview thumbnails in list views, you can set
the `feature-nohdr` feature. Set locally in a piece of content, it will display
no header/banner image. Here's an example of what a page looks like with and
without the header image:
![A page in Story, with and without the header](/img/page-header-formatting.png)
Set globally for the whole site, it will make the site simply ignore all header
and preview images:
![A site in Story, with and without header and preview images](/img/site-header-formatting.png)
To illustrate this feature, the [search page](/search) has this feature set, so
it has a plain, bannerless layout.
### Adding Depth To Headers
Articles (but not list pages) can be given a bit of extra depth with the
`feature-depth` class, which is negatable with `feature-nodepth`. This article
is an example: notice how the content is shifted up slightly to overlap the
header image a bit, with rounded corners and a shadow around it.
The `feature-depth` class can be set globally in your `config.yaml` or similar,
and overridden as you wish on individual pages.
Read next: [Story's built-in search features](/search-page/).

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,69 @@
---
title: "Story's MailChimp Integration Features"
date: "2018-08-18"
url: "/mailchimp-features"
description: "Story makes it easy to grow a MailChimp subscriber list and send beautifully formatted emails to them automatically."
image: "img/jessy-hoffmann-720198-unsplash.jpg"
credit: "https://unsplash.com/photos/EsNkWAv6Vmw/"
thumbnail: "img/jessy-hoffmann-720198-unsplash.tn-500x500.jpg"
categories:
- Demo
---
If you're a blogger, you might use MailChimp to build a subscriber list, and
Story makes that easy. MailChimp also has the ability to automatically send your
new content to the list from an RSS feed, and guess what---Story helps you
create an RSS feed customized just for that if you like, too.
<!--more-->
First, MailChimp subscriber forms. If you want to add a subscription form at the
bottom of each page, just add your MailChimp URL as a parameter in your
configuration file. Here's a YAML example for `config.yaml`:
```yaml
params:
- mailchimp: "your URL here"
```
And here's an example for `config.toml`:
```toml
[params]
mailchimp = "your URL here"
```
You can copy the URL from the address bar of your MailChimp subscriber form. It
becomes the `action` of the form, which will appear at the bottom of each page
near your author biography.
Next, an RSS feed. Story has an RSS layout customized to create summaries of
your content's title, description, featured image, and summary content. The
summary content is either delimited explicitly by the `<!--more-->` comment in
your Markdown source, or generated automatically by Hugo. (Read more
[here](https://gohugo.io/content-management/summaries/).)
The default content of the RSS feed entries is generated from the page's
`description` front matter and `.Summary` content, but you can provide your own
to override this. Simply add an excerpt in the `tldr` front matter property.
To enable the RSS feed, you need to create a special `.md` file that won't
appear as regular content, but will render an extra RSS feed file. Its content
is ignored, and only its front matter is important. For example, you could
create it as `content/mailchimp/_index.md` with the following contents, using YAML
front matter:
```yaml
---
layout: mailchimp
outputs:
- rss
---
```
Now Hugo will build an extra feed at
[`/mailchimp/index.xml`](/mailchimp/index.xml), and you can use it to create
[RSS campaigns in
MailChimp](https://mailchimp.com/help/share-your-blog-posts-with-mailchimp/). Of
course, you can also use your normal RSS feed, but Story's default is to put
full content into that, so it might be more than you want.
Read next: [Story's 'talks' feature for presentations](/talks/adirondack/).

View file

@ -0,0 +1,7 @@
---
skip: true
layout: mailchimp
outputs:
- rss
- html
---

View file

@ -0,0 +1,58 @@
---
title: Story's Mathematical Equation Typesetting
date: "2018-08-20"
url: "/math"
description: "If you ever write equations or mathematical formulas, Story has the features you need."
credit: "https://unsplash.com/photos/5mZ_M06Fc9g/download"
image: "img/unsplash-photos-5mZ_M06Fc9g.jpg"
thumbnail: img/unsplash-photos-5mZ_M06Fc9g.tn-500x500.jpg
classes:
- feature-math
categories:
- Demo
---
This article is a demo of Story's ability to typeset mathematical equations,
both inline and in block form.
<!--more-->
Story uses the [KaTeX](https://khan.github.io/KaTeX/) library to typeset
mathematical formulae in {{< math >}}\LaTeX{{< /math >}} notation. KaTeX is
similar to MathJax, but simpler and faster. It provides most of the features
needed for typesetting equations, both inline and in block form.
Story provides a `math` Hugo shortcode to help avoid problems that result from
Markdown processing. Here's an example of using the shortcode for inline math:
<pre><code>The quadratic equation is &#123;{< math >}}x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}&#123;{< /math >}}.</code></pre>
The quadratic equation is {{< math >}}x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}{{< /math >}}.
And in equation mode,
<pre><code>&#123;{< math >}}
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
&#123;{< /math >}}</code></pre>
{{< math >}}
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
{{< /math >}}
You don't have to use the shortcode, but it saves you from needing to
backslash-escape special characters, and fixes problems like backslashes and
spaces at the end of the line, which Hugo's Markdown processor will otherwise
mangle. This enables frustration-free typesetting of more advanced equations
such as the following:
{{< math >}}
\left\{
\begin{array}{c}
a_1x+b_1y+c_1z=d_1 \\
a_2x+b_2y+c_2z=d_2 \\
a_3x+b_3y+c_3z=d_3
\end{array}
\right.
{{< /math >}}
Math typesetting is controlled with the `feature-[no]math` flag.
Read next: [Story's music notation](/music/).

View file

@ -0,0 +1,62 @@
---
title: Story's Music Notation
date: "2018-08-20 04:00:00"
url: "/music"
description: "Story can render music notation in your website."
credit: "https://unsplash.com/photos/UpdR5OaUJl0"
image: "img/jordan-mixson-372435-unsplash.jpg"
thumbnail: img/jordan-mixson-372435-unsplash.tn-500x500.jpg
classes:
- feature-music
categories:
- Demo
---
Story uses the [abcjs](https://github.com/paulrosen/abcjs) library to transform
[abc](https://www.abcnotation.com) music notation into "sheet music" dynamically.
This works well for displaying a wide variety of music notation in a web
browser conveniently, without embedding images or PDFs or the like.
<!--more-->
To generate sheet music within a page, enter it in a code listing with the language `abc`, like this:
```abc
[ABC music notation goes here]
```
If you enable music notation rendering with the `feature-[no]music` flag, then Story's
JavaScript, which runs when the page loads, will search for every `abc` code listing and transform it.
Here's an example:
```abc
X: 76
T:Mazurka
C:F. Chopin
T: Op.33 No.1
M:3/4
L:1/4
Q:"Mesto"
K:B
%%staves {(RH1 RH2) (LH1 LH2)}
V: RH1 clef=treble name="Piano"
V: RH2 clef=treble
V: LH1 clef=bass
V: LH2 clef=bass
%
[V: RH1] (!p!LD | E/>D/ [^^CGB][^C^^FA] | G2-) (G/A/ | B/c/ d {/f}e | (d/g//)) z// (Ld2 |
[V: RH2] x | x x x | z [B,D] z | x x x | x z [G-B-]|
[V: LH1] x | x x x | z [D,G,] x | x3 | x3 |
[V: LH2] z | z z (D,, | G,,2) z | z3 | z z [G,-D-]|
%
[V: RH1] d/>c/ e d) | {/c}(B/>A/ [EGc][DGB]) | (E/>D/ [^^CGB][^C^^FA] | G2 B | d/>c/e d) |
[V: RH2] [GB] [GA] [GB] | x3 | x3 | z [B,D][B,D] | z [GA] [GB] |
[V: LH1] x3 | x3 | x3 | z [D,G,] [D,G,] | x3 |
[V: LH2] [G,D] ([C,C] [G,,G,]) | z ([C,C,,] [G,,,G,,]) | z z (D,, | G,,2) x | z ([C,C] [G,,G,])
```
Story also has a `music` shortcode, which simply takes the name of an abc file as an argument, e.g. the following example code and the resulting music notation. This enables you to store your music files separately from your content and include them easily.
<pre><code>&#123;{< music "/cooleys.abc" >}}</code></pre>
{{< music "/cooleys.abc" >}}
Read next: [Story's beautiful typography](/typography/).

View file

@ -0,0 +1,56 @@
---
title: Story's Theme Features
url: /theme-features
date: "2018-09-01"
description: "This page is a tour of Story's features, so you can take full advantage of its power."
image: "img/unsplash-photos-nehfi_SfqtU.jpg"
credit: "https://unsplash.com/photos/nehfi_SfqtU"
thumbnail: "img/unsplash-photos-nehfi_SfqtU.tn-500x500.jpg"
categories:
- Demo
---
Story has a lot of features, but most are optional and have smart defaults!
This page is an introduction to Story, with links to further pages that go into
more details. There's also a listing of features that either don't need
a separate documentation page, or just don't have full documentation yet.
<!--more-->
- [Gorgeous, responsive typography on all devices and in print](/typography)
- [Beautiful featured images and thumbnails](/images/) (optional)
- [Multiple layouts](/images/)
- [Flexibility via feature toggles](/features)
- [Author profile pages](/author-profiles)
- [Remark browser-based presentation support](/slides/), including CSS themes and multiple aspect ratios
- [Automatic table and image enhancements](/figures)
- [Advanced image styling features](/images)
- [Mathematical equation typesetting](/math)
- [Formatting ABC music notation as sheet music](/music)
- [Built-in search](/search-page)
- [MailChimp subscribe forms and RSS feeds](/mailchimp-features)
Story also has support for the following, which aren't extensively documented:
- Code syntax highlighting
- Google Analytics
- Categories
- All types of blogs; Story isn't opinionated about what you call them (you
can put your content under `/posts/`, `/blog/`, `/articles/`, or whatever)
- A section for "talks," which is different from slideshows; a talks page is a
place to put information about your presentations, including links to videos,
the location, slides, and so on. `/talks/` and `/slides/` are the only two
content types for which Story has special formatting and archetypes.
- An archive listing page, which uses the `archives` layout analogously to the [search](/search-page) feature
- 404 error page
- Social-media meta tags to make your content look great when shared on social
media sites
- Using `skip` to hide content from default lists, but generating HTML pages for it
- Meta keywords
- Font Awesome icon fonts
- Custom header meta tags with any content you want
- Custom footer content with any HTML, JS, or CSS you want; useful for adding
custom features from third-parties that provide script blocks to paste into
your site
- Custom CSS classes in the `<body>` tag
- Custom content and social link menus with any content you want (not limited to predefined)
Read next: [Story's feature flags](/features/).

View file

@ -0,0 +1,80 @@
---
title: Story's JavaScript Search
date: "2018-08-21"
url: "/search-page"
description: "With Story, your site will have built-in search with no external dependencies."
image: "img/unsplash-photos-4zxSWESyZio.jpg"
credit: "https://unsplash.com/photos/4zxSWESyZio"
thumbnail: "img/unsplash-photos-4zxSWESyZio.tn-500x500.jpg"
categories:
- Demo
---
This article documents Story's built-in search features, which don't rely on external search engines.
Story uses the [LunrJS](https://lunrjs.com/) library to provide fast browser-based search.
This page first explains how search setup works, and then provides copy-paste
ready code samples for you to use.
<!--more-->
To get Story's search to work, you need to take a couple of steps:
1. Create a piece of content with the URL you want. Story assumes you want
`/search/` and adds an icon for that in the top menu automatically. So you
can simply create `content/search/_index.md` and that should work.
2. Give this content the `search` layout, and a title.
There doesn't need to be any Markdown content; the `search` layout ignores it.
This will create the search page, but you also need to tell Hugo that it should
build the JSON index of the content in the site, which LunrJS uses. To do this,
configure the `home` output type to include JSON, which isn't included by
default. This will override the default output settings, so you'll need to
explicitly specify the defaults in addition. Here's a YAML config file section
for your `config.yaml` file to enable this:
```
outputs:
home:
- HTML
- JSON
- RSS
page:
- HTML
section:
- HTML
- RSS
taxonomy:
- HTML
- RSS
taxonomyTerm:
- HTML
- RSS
```
If you use TOML, use this:
```
[outputs]
home = ["HTML", "JSON", "RSS"]
page = ["HTML"]
section = ["HTML", "RSS"]
taxonomy = ["HTML", "RSS"]
taxonomyTerm = ["HTML", "RSS"]
```
There's more you can do. If you want to create a full-featured search page easily, just paste the following code into `content/search/_index.md`
```
---
layout: search
url: /search/
title: Search
classes:
- feature-nosubtitle
- feature-nohdr
---
```
This illustrates an additional layout feature in Story:
displaying it without a header image.
Read next: [Story's mathematical equation typesetting features](/math/).

View file

@ -0,0 +1,9 @@
---
layout: search
url: /search/
title: Search
classes:
- feature-nosubtitle
- feature-nohdr
- feature-depth
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,606 @@
---
title: 'Creating Beautiful Presentations with Story'
date: "2018-04-25T09:50:00-07:00"
url: "slides/adirondack/"
image: "slides/adirondack/leo-serrat-533922-unsplash.jpg"
thumbnail: slides/adirondack/thumbnail.jpg
description: "Story's Remark frameworks help you create sophisticated slides with simple, clean Markdown. There are predefined layouts for most presentation needs, beautiful typography and colors, precise image control, and a simple modular way to create custom layouts."
ratio: "16:9"
themes:
- apron
- descartes
- adirondack
classes:
- feature-math
- feature-qrcode
- feature-nohighlight
- feature-music
---
class: title, smokescreen, shelf, no-footer
background-image: url(leo-serrat-533922-unsplash.jpg)
# Creating Beautiful Presentations
### With Remark, Apron, Adirondack, and Descartes
---
# The Story Remark Themes
[Story](https://github.com/xaprb/story) offers helper themes for creating
beautiful presentations with [Remark](https://remarkjs.com/), using simple
Markdown to create slide layouts.
- Apron defines the layouts' structure and size.
- Adirondack adds typography, theme colors, and helpful features.
- Descartes provides element and image positioning and colors.
Story has a design goal of clean, simple Markdown content. Avoiding "raw" HTML
and Remark's Markdown extensions makes things easier.
View the source of this page to see the Markdown that creates it.
These characteristics make it easy to build gorgeous slideshows. They're also
a great foundation for creating your own themes.
---
# What is Remark?
Remark (sometimes called RemarkJS) is a browser-based slideshow system. It's
simple but surprisingly powerful:
- You write slides in simple Markdown
- It supports a presenter mode, slide notes, and dual monitors
- It supports slide layouts, templates, and incremental slides
- It's easy to extend and customize with simple CSS
Story integrates Remark into Hugo, creating a live-reload editing experience,
and a permanent home for your slides on your own website!
View this page's source to see how easily you can compose slideshows
with Remark.
---
name: getting-started
# Getting Started
To get started, use `hugo new slides/my-presentation.md` and ensure that the
following `themes` are in the front matter, for example:
```yaml
---
title: 'Creating Beautiful Presentations with Story'
date: "2018-04-25T09:50:00-07:00"
url: "/slides/adirondack/"
ratio: "16:9"
themes:
- apron
- descartes
- adirondack
```
---
class: compact
# Apron's Slide Layouts
It's easy to create common slide layouts with Remark's slide classes.
![Slide Layouts](slide-layouts.svg# maxw-70pct center)
---
class: img-right
# Heading, Content, and Image
![Yosemite](leo-serrat-533922-unsplash.jpg)
This is the `img-right` slide class. The content consists simply of a
header, an image, and this text.
* The image's aspect ratio and cropping are not altered.
* All content after the image goes in the lefthand column.
Although this text is in the lefthand column, the image comes _first_ in the
markdown source.
---
class: img-left
# Heading, Image, and Content
![Yosemite](leo-serrat-533922-unsplash.jpg)
This is the `img-left` slide class. The content is structured in just the same
way as the `img-right` slide class.
- All content after the image goes in the right-hand column.
--
- These columns require no wrapper `<div>`, just plain Markdown.
- This avoids interference with Remark features.
--
- Incremental builds with `--` work fine, for example.
---
class: img-right-full
![](kari-shea-272383-unsplash.jpg)
# Content and Image
This is the `img-right-full` class. The content is simply an image and text
(including a header in this case).
The image is 2x larger than the visible area and its position is set to `left`.
This lets you pair this layout with the following one.
- A red flare silhouetted the jagged edge of a wing.
- Almost before we knew it, we had left the ground.
---
class: img-left-full
![](kari-shea-272383-unsplash.jpg)
# The Other Side of the Coin
This slide's class is `img-left-full`. Like the previous slide, it's just an
image and some content. The image is exactly the same as the previous slide, but
it's positioned to reveal the other half.
- All their equipment and instruments are alive.
- I watched the storm, so beautiful yet terrific.
- Almost before we knew it, we had left the ground.
---
class: img-caption
![Image](will-turner-508747-unsplash.jpg)
This slide's class is `img-caption`. Its content is simply an image and this
text.
---
class: col-2
# Two-Column Layouts
This is a two-column layout, created with `class: col-2`.
There's no columnar markup (no DIVs, for example) in the content.
![](leo-serrat-533922-unsplash.jpg# mw-90 center)
The columns are created natively in CSS. The first H1 spans all columns.
> Relaxing in the Adirondack chair, I felt the gathering dusk creep on kitten
feet. It came to me, then, that a day lived in this paradise was better than a
lifetime anywhere else.
- I watched the storm, so beautiful yet terrific.
---
class: col-3
# Three-Column Layouts
This is a three-column layout, created with `class: col-3`.
As with `col-2`, Apron assumes the slide begins with an H1 header.
Mist enveloped the ship three hours out from port.
![](tanya-nevidoma-632010-unsplash.jpg# mw-90)
- My two natures had memory in common.
- The face of the moon was in shadow.
Call me Ishmael. Some years ago---never mind how long precisely---having little or
no money in my purse, and nothing particular to interest me on shore, I thought
I would sail about a little and see the watery part of the world.
---
# Apron's Layout Classes
Here are the Apron slide layouts classes and how to use them:
| Class | Content structuring guidelines |
|-------------------------------|-------------------------------------------------|
| title | Add a background-image, H1, and optional H2/H3. |
| img-caption | Add an image and optional caption text. |
| img-right, img-left | Add a header, image, and content. |
| img-right-full, img-left-full | Add an image, _then_ headers and content. |
| col-2, col-3 | Add a header, then any content desired. |
---
class: compact
# A Compact Slide
This slide's class is `compact`, which reduces font sizes, line heights, and
slide padding. This makes it possible to fit more content on the slide, which
can be useful.
- I watched the storm, so beautiful yet terrific.
- Almost before we knew it, we had left the ground.
```javascript
function $initHighlight(block, cls) {
if (cls.search(/\bno\-highlight\b/) != -1)
return process(block, true, 0x0F) + ` class="${cls}"`;
for (var i = 0 / 2; i < classes.length; i++) {
if (checkCondition(classes[i]) === undefined)
console.log('undefined');
}
}
```
---
class: compact, col-3
# Compact Three-Column Layout
This is a three-column layout,
created with `class: col-3, compact`.
The `compact` class works well three columns, which have less room.
![](tanya-nevidoma-632010-unsplash.jpg# maxw-90pct)
A shining crescent far beneath the flying vessel.
- It was going to be a lonely trip back.
- Mist enveloped the ship three hours out from port.
- My two natures had memory in common.
- Silver mist suffused the deck of the ship.
- The face of the moon was in shadow.
Call me Ishmael. Some years ago---never mind how long precisely---having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world.
---
class: roomy
# A Roomy Slide
This slide doesn't have as much content, so I gave it the class `roomy` to let
its content stretch out a bit for readability.
- A red flare silhouetted the jagged edge of a wing.
- I watched the storm, so beautiful yet terrific.
- Almost before we knew it, we had left the ground.
- All their equipment and instruments are alive.
---
class: roomy, col-2
# Room For Two Columns
This roomy slide has two columns: `class: roomy, col-2`. Bulleted lists
shouldn't break across columns.
- A red flare silhouetted the jagged edge of a wing.
- I watched the storm, so beautiful yet terrific.
- Almost before we knew it, we had left the ground.
- All their equipment and instruments are alive.
---
class: compact
# Apron's Auxiliary Classes
Apron offers the following additional slide classes:
| Class | Applies To | Content structuring guidelines |
|------------|------------|------------------------------------------------------------------------------------|
| top | title | Moves the title and subtitle to the top of the slide. |
| bottom | title | Moves the title and subtitle to the bottom. |
| shelf | title | Extends the title's background and locates the subtitle above it. |
| compact | (all) | Reduces text size and margins to fit more content. |
| roomy | (all) | Increases text size to fill more space. |
| fullbleed | (all) | Removes margins from the slide and its text. |
| no-footer | (all) | Hides the footer (including slide number). |
| debug | (all) | Outlines elements in gold to make formatting visible. Variants: -white and -black. |
| debug-grid | (all) | Displays a layout grid. Variants: -8, -16, -solid, and combinations of these. |
---
class: title, fogscreen
background-image: url(tanya-nevidoma-632010-unsplash.jpg)
# Adirondack's Typography and Features
---
# Adirondack
Adirondack is built on top of Apron, and adds beautiful typography, colors, and
extra features. This section is a demo and documentation of those features.
# Heading Level 1
## Heading Level 2
### Heading Level 3
Text with _italics_, __bold__, ~~strikethrough~~, `<code>`,
[link](https://www.wikipedia.org/).
---
class: col-2
# Bulleted Lists Demo
This column illustrates bulleted lists.
* A bulleted list.
* Another bullet.
* Nested bullets.
* Another.
* Deeply nested.
* Back to the top-level again.
This column has numbered lists.
2. Another bullet.
3. The last bullet.
1. Nested numbered lists.
2. Another.
3. Deeper.
1. Top-level again.
---
# Code Typography Demo
Remark offers [HighlightJS](https://highlightjs.org/) code syntax highlighting.
Story enables/disables this with [feature flags](/features/).
```javascript
function $initHighlight(block, cls) {
if (cls.search(/\bno\-highlight\b/) != -1)
return process(block, true, 0x0F) + ` class="${cls}"`;
for (var i = 0 / 2; i < classes.length; i++) {
if (checkCondition(classes[i]) === undefined)
console.log('undefined');
}
}
```
---
class: col-2
# Math Typesetting
Story supports math equation typesetting using the KaTeX library,
if [`feature-math`](/math/) is enabled.
\\[
\left( \beta mc^2 + c \left ( \sum_{n=1}^3 \alpha_n p\_n \right ) \right) \psi(x,t) = i \hbar \frac{\partial \psi(x,t) }{\partial t}
\\]
The coherence is the \\(\kappa\\) coefficient of \\(n^2\\),
which is \\(e^{i\pi}-1=0\\).
\\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
\\]
![Universal Scalability Law](linear3.svg)
You can also display equations inline, such as the quadratic equation, which is
\\(x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\\)
---
class: compact
# Music Notation and Sheet Music
Story supports [formatting sheet music from ABC](/music).
```abc
X: 1
T: Cooley's
M: 4/4
L: 1/8
K: Emin
|:D2|EB{c}BA B2 EB|~B2 AB dBAG|FDAD BDAD|FDAD dAFD|
EBBA B2 EB|B2 AB defg|afe^c dBAF|DEFD E2:|
```
---
class: fit-h1, roomy
# This Slide Has A Very Long Multi-Line Heading That Has Been Shrunk
The `fit-h1` slide class will automatically shrink the first H1 heading until it
fits on a single line.
This doesn't work on title slides.
Story also applies 6'2" tall "smartypants" processing to replace 'straight
quotes,' en- and em-dashes (boil for 12--15 minutes---longer if needed),
and ellipses with their nicer typographical equivalents... isn't that nice?
---
# Share Your Slides With QR Codes
.qrcode.db.fr.w-40pct.ml-4[]
Adirondack has built-in support for QR codes to share your slides easily. No
more emailing links or files! Your audience can simply snap a picture of the
screen.
Just enable the `feature-qrcode` [flag](/features/) and add markup like the
following to your slide:
```
.qrcode.db.fr.w-40pct.ml-4[]
```
The `qrcode` class is important but the rest is up to you.
---
# Export Your Slides To PDFs
Remark has support for printing slides to a PDF, using Google Chrome's print
dialog (not the native system dialog).
There are some bugs in it... but Story implements workarounds so you don't even
need to think about it.
Just print with Chrome and save to a PDF file.
This works for both 16:9 and 4:3 ratio slides. Speaking of which, you select
that with the `ratio` in the front matter, as shown on the [getting
started](#getting-started) slide.
---
layout: true
.footer[
- @xaprb
- ![logo](vividcortex-horizontal-web.svg)
]
---
class: compact
# Footer Content
This slide builds on content from the previous (hidden, layout) slide, whose
content is:
```
---
layout: true
.footer[
- @xaprb
- ![logo](vividcortex-horizontal-web.svg)
]
```
This content uses Adirondack's built-in `footer` css styling to define footer
elements. You can see them at the bottom of this slide. In the next section,
you'll learn Descartes classes you can add
to the div to style it, e.g. `.footer.bt.bc-cornflower[...]`.
You can hide both the Remark and custom footer on any slide with `class: no-footer`.
---
layout: false
# Adirondacks Slide Classes
Here are Adirondack's slide classes:
| Class | Notes |
|---------------|----------------------------------------------------------------------|
| `smokescreen` | Creates a dark shaded semi-transparent background on `title` slides. |
| `fogscreen` | Similar to `smokescreen`, but uses a white shading. |
| `fit-h1` | Shrinks the H1 heading's font-size to fit on a single line. |
---
class: title, smokescreen, shelf
background-image: url(will-turner-508747-unsplash.jpg)
# Positioning Images And Elements
## Using Descartes To Create Intricate Layouts
---
# Descartes' Styling Functionality
Descartes is an add-on that gives lots of power over image and element formatting with
Markdown. It uses composable, functional pseudo-classes in the image's URL
fragment (the part after the `#` character). For example, this image will be 33% width,
display as block, 2rem right margin, and float left:
```
![Image](tom-barrett-364228-unsplash.jpg# w-33pct db fl mr-4)
```
![Image](tom-barrett-364228-unsplash.jpg# w-33pct db fl mr-4)
That URL has four "words" in the fragment, delimited by whitespace. The
whitespace is important!
Image classes are also available for `<div>`s.
---
class: center
This image collage has no "raw" markup or Remark `<div>` extensions. The next
slide illustrates Descartes's grid of 12ths.
![](kari-shea-272383-unsplash.jpg# l-0 t-20pct w-two-thirds h-80pct ofv absolute)
![](leo-serrat-533922-unsplash.jpg# w-third h-40pct t-20pct r-0 ofv absolute)
![](will-turner-508747-unsplash.jpg# w-third h-40pct t-60pct r-0 ofv absolute)
---
class: fullbleed
background-color: black
![](kari-shea-272383-unsplash.jpg# absolute ofv w-9-12th h-7-12th)
![](leo-serrat-533922-unsplash.jpg# absolute ofv w-3-12th h-3-12th t-0 l-9-12th)
![](nasa-53884-unsplash.jpg# absolute ofv w-2-12th h-9-12th t-3-12th l-9-12th)
![](tom-barrett-364228-unsplash.jpg# absolute ofv w-1-12th h-5-12th t-3-12th l-11-12th)
![](will-turner-508747-unsplash.jpg# absolute ofv w-1-12th h-4-12th t-8-12th l-11-12th opr)
![](tanya-nevidoma-632010-unsplash.jpg# absolute ofv w-5-12th h-5-12th t-7-12th l-0)
![](tom-barrett-364228-unsplash.jpg# absolute ofv w-4-12th h-3-12th t-7-12th l-5-12th)
![](will-turner-508747-unsplash.jpg# absolute ofv w-4-12th h-2-12th t-10-12th l-5-12th)
.absolute.w-7-12th.pa-3.l-1-12th.t-20pct.ba.bw-4.br-4.bg-white-60pct[
This slide is composed only of simple Markdown markup, no raw HTML.
]
---
# Using Descartes' Coordinate Grids
Descartes offers several length scales for element sizes and positions. For
each, a class naming convention selects the value:
- rems, from 1 rem (-1) to 96rem (-9)
- tenths, in 10% increments from -10pct to -100pct, plus -33pct, -34pct, and -75pct
- twelfths, in 1/12th increments from -1-12th to -11-12th
- thirds, as -third and -two-thirds
There's always a prefix that specifies what the item is, and a suffix that
selects the units. So for example, if you want an element to have a width of
50%, you can give it a class of `w-50pct`, and if you want it to be 25% width
you can use `w-3-12th`.
---
class: col-2
# Descartes' Coordinate Selectors
You can apply the length scales from the previous slide to a variety of element
properties (see right). The X can be any of the suffixes discussed on the
previous slide.
These can be applied as classes to a DIV, or image pseudo-classes:
```
.w-50pct.h-1-12th.t-0.l-50pct[....]
![img](pic.jpg# w-50pct h-1-12th t-0 l-50pct)
```
- w-X: width
- maxw-X: max-width
- minw-X: min-width
- h-X: height
- maxh-X: max-height
- minh-X: min-height
- t-X: top
- r-X: right
- b-X: bottom
- l-X: left
---
# Descartes' Other Features
Descartes also has classes to control color (text, border, background,
transparency), opacity, borders (sides, width, radius), spacing (padding,
margin), centering, display types, floats, clearfix, position types, background
image fitting and positioning, and box shadows.
For many of these, there's a set of units and sizing scales.
These cannot be documented fully in this slideshow, but hopefully it gives you a
sense of what's possible. You should read the `.less` files; they are short and
easy to understand.
---
# Where Did The Names Come From?
For some reason, I named my Remark slideshow layouts after iconic chair designs
(Monobloc, Adirondack, etc).
![Chair parts](chair-parts.png# fr ml-2)
The apron is the part of the chair upon which everything rests, so I gave the
underlying "supporting" set of CSS that name. I named Descartes after the famous
inventor of the Cartesian coordinate system.
Credit: http://www.props.eric-hart.com/

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

View file

@ -0,0 +1,415 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 731.0755 360.29779"
height="360.29779"
width="731.0755"
xml:space="preserve"
version="1.1"
id="svg2"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
id="clipPath12"
clipPathUnits="userSpaceOnUse"><path
id="path14"
d="M 0,0 612,0 612,360 0,360 0,0 Z" /></clipPath><clipPath
id="clipPath22"
clipPathUnits="userSpaceOnUse"><path
id="path24"
d="M 0,0 612,0 612,360 0,360 0,0 Z" /></clipPath><clipPath
id="clipPath32"
clipPathUnits="userSpaceOnUse"><path
id="path34"
d="m 59.04,73.44 522.72,0 0,227.52 -522.72,0 0,-227.52 z" /></clipPath><clipPath
id="clipPath78"
clipPathUnits="userSpaceOnUse"><path
id="path80"
d="M 0,0 612,0 612,360 0,360 0,0 Z" /></clipPath><clipPath
id="clipPath158"
clipPathUnits="userSpaceOnUse"><path
id="path160"
d="m 59.04,73.44 522.72,0 0,227.52 -522.72,0 0,-227.52 z" /></clipPath><clipPath
id="clipPath204"
clipPathUnits="userSpaceOnUse"><path
id="path206"
d="M 0,0 612,0 612,360 0,360 0,0 Z" /></clipPath></defs><g
clip-path="url(#clipPath12)"
transform="matrix(1.25,0,0,-1.25,0,380.214)"
id="g10"><g
id="g16" /><g
id="g18"><g
clip-path="url(#clipPath22)"
id="g20"><path
id="path26"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 612,0 612,360 0,360 0,0 Z" /></g></g><g
id="g28"><g
clip-path="url(#clipPath32)"
id="g30"><path
id="path36"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 133.5,103.45 35,13.71" /><path
id="path38"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 181.9,122.41 35,13.71" /><path
id="path40"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 230.3,141.37 35,13.71" /><path
id="path42"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 278.7,160.33 35,13.71" /><path
id="path44"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 327.1,179.29 35,13.71" /><path
id="path46"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 375.5,198.25 35,13.71" /><path
id="path48"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 423.9,217.21 35,13.71" /><path
id="path50"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 472.3,236.17 35,13.71" /><path
id="path52"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 520.7,255.13 35,13.71" /><path
id="path54"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 124.1,100.83 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path56"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 172.5,119.79 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path58"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 220.9,138.75 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path60"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 269.3,157.71 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path62"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 317.7,176.67 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path64"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 366.1,195.63 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path66"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 414.5,214.59 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path68"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 462.9,233.55 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path70"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 511.3,252.51 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path72"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 559.7,271.47 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /></g></g><g
id="g74"><g
clip-path="url(#clipPath78)"
id="g76"><path
id="path82"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 78.4,73.44 484,0" /><path
id="path84"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 78.4,73.44 0,-7.2" /><path
id="path86"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 175.2,73.44 0,-7.2" /><path
id="path88"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 272,73.44 0,-7.2" /><path
id="path90"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 368.8,73.44 0,-7.2" /><path
id="path92"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 465.6,73.44 0,-7.2" /><path
id="path94"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 562.4,73.44 0,-7.2" /><text
id="text96"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,73.95,47.52)"><tspan
id="tspan98"
y="0"
x="0">0</tspan></text>
<text
id="text100"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,170.75,47.52)"><tspan
id="tspan102"
y="0"
x="0">2</tspan></text>
<text
id="text104"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,267.55,47.52)"><tspan
id="tspan106"
y="0"
x="0">4</tspan></text>
<text
id="text108"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,364.35,47.52)"><tspan
id="tspan110"
y="0"
x="0">6</tspan></text>
<text
id="text112"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,461.15,47.52)"><tspan
id="tspan114"
y="0"
x="0">8</tspan></text>
<text
id="text116"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,553.5,47.52)"><tspan
id="tspan118"
y="0"
x="0 8.8959999">10</tspan></text>
<path
id="path120"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,81.87 0,210.66" /><path
id="path122"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,81.87 -7.2,0" /><path
id="path124"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,134.53 -7.2,0" /><path
id="path126"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,187.2 -7.2,0" /><path
id="path128"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,239.87 -7.2,0" /><path
id="path130"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,292.53 -7.2,0" /><text
id="text132"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,77.42)"><tspan
id="tspan134"
y="0"
x="0">0</tspan></text>
<text
id="text136"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,116.74)"><tspan
id="tspan138"
y="0"
x="0 8.8959999 17.792 26.688">5000</tspan></text>
<text
id="text140"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,217.63)"><tspan
id="tspan142"
y="0"
x="0 8.8959999 17.792 26.688 35.584">15000</tspan></text>
<path
id="path144"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,73.44 522.72,0 0,227.52 -522.72,0 0,-227.52" /><text
id="text146"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,298.61,18.72)"><tspan
id="tspan148"
y="0"
x="0 8.8959999 17.792 26.688 35.584">nodes</tspan></text>
<text
id="text150"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,12.96,148.95)"><tspan
id="tspan152"
y="0"
x="0 4.448 13.344 18.672001 27.568001 36.464001 45.360001 54.256001 63.152 72.047997">throughput</tspan></text>
</g></g><g
id="g154"><g
clip-path="url(#clipPath158)"
id="g156"><path
id="path162"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 133.64,103.07 34.72,11.35" /><path
id="path164"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 182.19,118.37 34.42,8.41" /><path
id="path166"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 230.7,129.65 34.2,5.61" /><path
id="path168"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 279.17,137.12 34.06,3.3" /><path
id="path170"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 327.59,141.45 34.02,1.57" /><path
id="path172"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 376,143.43 34,0.38" /><path
id="path174"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 424.4,143.8 34,-0.43" /><path
id="path176"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 472.8,143.08 34,-0.93" /><path
id="path178"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 521.2,141.69 34,-1.23" /><path
id="path180"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 124.1,100.83 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path182"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 172.5,116.66 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path184"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 220.9,128.49 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path186"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 269.3,136.43 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path188"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 317.7,141.12 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path190"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 366.1,143.35 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path192"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 414.5,143.89 c 0,1.48 1.21,2.7 2.7,2.7 1.49,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.21,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path194"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 462.9,143.28 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path196"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 511.3,141.95 c 0,1.48 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.22 2.7,-2.7 0,-1.49 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.21 -2.7,2.7" /><path
id="path198"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 559.7,140.2 c 0,1.49 1.21,2.7 2.7,2.7 1.48,0 2.7,-1.21 2.7,-2.7 0,-1.48 -1.22,-2.7 -2.7,-2.7 -1.49,0 -2.7,1.22 -2.7,2.7" /></g></g><g
id="g200"><g
clip-path="url(#clipPath204)"
id="g202"><path
id="path208"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 78.4,73.44 484,0" /><path
id="path210"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 78.4,73.44 0,-7.2" /><path
id="path212"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 175.2,73.44 0,-7.2" /><path
id="path214"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 272,73.44 0,-7.2" /><path
id="path216"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 368.8,73.44 0,-7.2" /><path
id="path218"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 465.6,73.44 0,-7.2" /><path
id="path220"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 562.4,73.44 0,-7.2" /><text
id="text222"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,73.95,47.52)"><tspan
id="tspan224"
y="0"
x="0">0</tspan></text>
<text
id="text226"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,170.75,47.52)"><tspan
id="tspan228"
y="0"
x="0">2</tspan></text>
<text
id="text230"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,267.55,47.52)"><tspan
id="tspan232"
y="0"
x="0">4</tspan></text>
<text
id="text234"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,364.35,47.52)"><tspan
id="tspan236"
y="0"
x="0">6</tspan></text>
<text
id="text238"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,461.15,47.52)"><tspan
id="tspan240"
y="0"
x="0">8</tspan></text>
<text
id="text242"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,553.5,47.52)"><tspan
id="tspan244"
y="0"
x="0 8.8959999">10</tspan></text>
<path
id="path246"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,81.87 0,210.66" /><path
id="path248"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,81.87 -7.2,0" /><path
id="path250"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,134.53 -7.2,0" /><path
id="path252"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,187.2 -7.2,0" /><path
id="path254"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,239.87 -7.2,0" /><path
id="path256"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,292.53 -7.2,0" /><text
id="text258"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,77.42)"><tspan
id="tspan260"
y="0"
x="0">0</tspan></text>
<text
id="text262"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,116.74)"><tspan
id="tspan264"
y="0"
x="0 8.8959999 17.792 26.688">5000</tspan></text>
<text
id="text266"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,41.76,217.63)"><tspan
id="tspan268"
y="0"
x="0 8.8959999 17.792 26.688 35.584">15000</tspan></text>
<path
id="path270"
style="fill:none;stroke:#000000;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 59.04,73.44 522.72,0 0,227.52 -522.72,0 0,-227.52" /><text
id="text272"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(1,0,0,-1,298.61,18.72)"><tspan
id="tspan274"
y="0"
x="0 8.8959999 17.792 26.688 35.584">nodes</tspan></text>
<text
id="text276"
style="font-variant:normal;font-weight:normal;font-size:16px;font-family:Helvetica;-inkscape-font-specification:Helvetica;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="matrix(0,1,1,0,12.96,148.95)"><tspan
id="tspan278"
y="0"
x="0 4.448 13.344 18.672001 27.568001 36.464001 45.360001 54.256001 63.152 72.047997">throughput</tspan></text>
</g></g></g></svg>

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View file

@ -0,0 +1,894 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 2560 1440" height="1440" width="2560" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs id="defs6">
<clipPath id="clipPath20" clipPathUnits="userSpaceOnUse">
<path id="path18" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath30" clipPathUnits="userSpaceOnUse">
<path id="path28" d="m 702.5,789.0737 h 515 V 1080 h -515 z"/>
</clipPath>
<clipPath id="clipPath42" clipPathUnits="userSpaceOnUse">
<path id="path40" d="m 722.3505,999.6307 h 472.7713 v 63.7405 H 722.3505 Z"/>
</clipPath>
<clipPath id="clipPath54" clipPathUnits="userSpaceOnUse">
<path id="path52" d="m 715.3145,1002.131 h 486.8433 v 58.7405 H 715.3145 Z"/>
</clipPath>
<clipPath id="clipPath68" clipPathUnits="userSpaceOnUse">
<path id="path66" d="m 722.3505,805.7762 h 472.7713 V 991.4357 H 722.3505 Z"/>
</clipPath>
<clipPath id="clipPath80" clipPathUnits="userSpaceOnUse">
<path id="path78" d="m 718.8905,808.2762 h 479.6913 V 994.8957 H 718.8905 Z"/>
</clipPath>
<clipPath id="clipPath94" clipPathUnits="userSpaceOnUse">
<path id="path92" d="m 1429.028,999.7702 h 472.7713 v 63.7405 H 1429.028 Z"/>
</clipPath>
<clipPath id="clipPath106" clipPathUnits="userSpaceOnUse">
<path id="path104" d="m 1421.992,1002.27 h 486.8433 v 58.7405 H 1421.992 Z"/>
</clipPath>
<clipPath id="clipPath120" clipPathUnits="userSpaceOnUse">
<path id="path118" d="m 1429.028,805.9157 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath132" clipPathUnits="userSpaceOnUse">
<path id="path130" d="m 1425.568,808.4157 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath146" clipPathUnits="userSpaceOnUse">
<path id="path144" d="m 1407.913,789.2132 h 512.0869 V 1080 H 1407.913 Z"/>
</clipPath>
<clipPath id="clipPath158" clipPathUnits="userSpaceOnUse">
<path id="path156" d="m 1668.799,805.9157 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath172" clipPathUnits="userSpaceOnUse">
<path id="path170" d="m 1665.339,808.4157 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath182" clipPathUnits="userSpaceOnUse">
<path id="path180" d="m 1694.12,838.0164 h 160.0969 v 69.96136 H 1694.12 Z"/>
</clipPath>
<clipPath id="clipPath192" clipPathUnits="userSpaceOnUse">
<path id="path190" d="m 1812.06,900.5397 h 68.3471 v 68.34713 H 1812.06 Z"/>
</clipPath>
<clipPath id="clipPath202" clipPathUnits="userSpaceOnUse">
<path id="path200" d="M 0,789.2132 H 514.6147 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath214" clipPathUnits="userSpaceOnUse">
<path id="path212" d="m 20.72905,933.7011 h 472.7713 v 63.74047 H 20.72905 Z"/>
</clipPath>
<clipPath id="clipPath226" clipPathUnits="userSpaceOnUse">
<path id="path224" d="m 13.69304,936.2011 h 486.8433 v 58.74047 H 13.69304 Z"/>
</clipPath>
<clipPath id="clipPath240" clipPathUnits="userSpaceOnUse">
<path id="path238" d="m 20.72905,871.9849 h 472.7713 v 63.74047 H 20.72905 Z"/>
</clipPath>
<clipPath id="clipPath252" clipPathUnits="userSpaceOnUse">
<path id="path250" d="m 15.48104,874.4849 h 483.2673 v 58.74047 H 15.48104 Z"/>
</clipPath>
<clipPath id="clipPath266" clipPathUnits="userSpaceOnUse">
<path id="path264" d="m 0,418.725 h 514.6147 v 291 H 0 Z"/>
</clipPath>
<clipPath id="clipPath278" clipPathUnits="userSpaceOnUse">
<path id="path276" d="m 20.72903,629.282 h 472.7713 v 63.74047 H 20.72903 Z"/>
</clipPath>
<clipPath id="clipPath290" clipPathUnits="userSpaceOnUse">
<path id="path288" d="m 13.69302,631.782 h 486.8433 v 58.74047 H 13.69302 Z"/>
</clipPath>
<clipPath id="clipPath304" clipPathUnits="userSpaceOnUse">
<path id="path302" d="m 260.5003,435.4276 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath316" clipPathUnits="userSpaceOnUse">
<path id="path314" d="m 257.0403,437.9276 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath330" clipPathUnits="userSpaceOnUse">
<path id="path328" d="m 20.22903,435.9276 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath344" clipPathUnits="userSpaceOnUse">
<path id="path342" d="m 16.76902,438.4276 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath354" clipPathUnits="userSpaceOnUse">
<path id="path352" d="m 45.5497,468.0282 h 160.0969 v 69.96136 H 45.5497 Z"/>
</clipPath>
<clipPath id="clipPath364" clipPathUnits="userSpaceOnUse">
<path id="path362" d="m 163.49,530.5515 h 68.34713 v 68.34713 H 163.49 Z"/>
</clipPath>
<clipPath id="clipPath374" clipPathUnits="userSpaceOnUse">
<path id="path372" d="m 702.5,418.725 h 515 v 291 h -515 z"/>
</clipPath>
<clipPath id="clipPath386" clipPathUnits="userSpaceOnUse">
<path id="path384" d="m 722.3505,629.282 h 282 v 63.74047 h -282 z"/>
</clipPath>
<clipPath id="clipPath398" clipPathUnits="userSpaceOnUse">
<path id="path396" d="m 715.3145,631.782 h 296.072 v 58.74047 h -296.072 z"/>
</clipPath>
<clipPath id="clipPath412" clipPathUnits="userSpaceOnUse">
<path id="path410" d="m 722.3505,435.4275 h 282 V 621.087 h -282 z"/>
</clipPath>
<clipPath id="clipPath424" clipPathUnits="userSpaceOnUse">
<path id="path422" d="m 718.8905,437.9275 h 288.92 V 624.547 h -288.92 z"/>
</clipPath>
<clipPath id="clipPath438" clipPathUnits="userSpaceOnUse">
<path id="path436" d="M 1023.128,418.725 H 1218 v 291 h -194.872 z"/>
</clipPath>
<clipPath id="clipPath452" clipPathUnits="userSpaceOnUse">
<path id="path450" d="m 1019.668,421.225 h 201.792 v 291.96 h -201.792 z"/>
</clipPath>
<clipPath id="clipPath462" clipPathUnits="userSpaceOnUse">
<path id="path460" d="m 1053.611,543.8921 h 133.9063 v 58.70277 H 1053.611 Z"/>
</clipPath>
<clipPath id="clipPath472" clipPathUnits="userSpaceOnUse">
<path id="path470" d="m 1145.361,600.7861 h 68.3471 v 68.34713 h -68.3471 z"/>
</clipPath>
<clipPath id="clipPath482" clipPathUnits="userSpaceOnUse">
<path id="path480" d="m 1099.136,435.4276 h 102.0742 V 537.3532 H 1099.136 Z"/>
</clipPath>
<clipPath id="clipPath492" clipPathUnits="userSpaceOnUse">
<path id="path490" d="m 1407.913,418.225 h 512.0869 v 291 H 1407.913 Z"/>
</clipPath>
<clipPath id="clipPath504" clipPathUnits="userSpaceOnUse">
<path id="path502" d="m 1620.793,628.782 h 282 v 63.74047 h -282 z"/>
</clipPath>
<clipPath id="clipPath516" clipPathUnits="userSpaceOnUse">
<path id="path514" d="m 1613.757,631.282 h 296.072 v 58.74047 h -296.072 z"/>
</clipPath>
<clipPath id="clipPath530" clipPathUnits="userSpaceOnUse">
<path id="path528" d="m 1620.793,434.9275 h 282 V 620.587 h -282 z"/>
</clipPath>
<clipPath id="clipPath542" clipPathUnits="userSpaceOnUse">
<path id="path540" d="m 1617.333,437.4275 h 288.92 V 624.047 h -288.92 z"/>
</clipPath>
<clipPath id="clipPath556" clipPathUnits="userSpaceOnUse">
<path id="path554" d="m 1406.972,418.725 h 194.872 v 291 h -194.872 z"/>
</clipPath>
<clipPath id="clipPath570" clipPathUnits="userSpaceOnUse">
<path id="path568" d="m 1403.512,421.225 h 201.792 v 291.96 h -201.792 z"/>
</clipPath>
<clipPath id="clipPath580" clipPathUnits="userSpaceOnUse">
<path id="path578" d="m 1437.455,543.8921 h 133.9063 v 58.70277 H 1437.455 Z"/>
</clipPath>
<clipPath id="clipPath590" clipPathUnits="userSpaceOnUse">
<path id="path588" d="m 1529.205,600.7861 h 68.3471 v 68.34713 h -68.3471 z"/>
</clipPath>
<clipPath id="clipPath600" clipPathUnits="userSpaceOnUse">
<path id="path598" d="m 1482.98,435.4276 h 102.0742 V 537.3532 H 1482.98 Z"/>
</clipPath>
<clipPath id="clipPath610" clipPathUnits="userSpaceOnUse">
<path id="path608" d="m 0,50.23682 h 514.6147 v 291 H 0 Z"/>
</clipPath>
<clipPath id="clipPath622" clipPathUnits="userSpaceOnUse">
<path id="path620" d="M 0,103.6825 H 515.2623 V 341.2368 H 0 Z"/>
</clipPath>
<clipPath id="clipPath636" clipPathUnits="userSpaceOnUse">
<path id="path634" d="M 0,106.1825 H 518.7223 V 344.6968 H 0 Z"/>
</clipPath>
<clipPath id="clipPath646" clipPathUnits="userSpaceOnUse">
<path id="path644" d="M 19.5018,199.3335 H 253.9564 V 301.2591 H 19.5018 Z"/>
</clipPath>
<clipPath id="clipPath656" clipPathUnits="userSpaceOnUse">
<path id="path654" d="m 391.4636,232.2979 h 68.34713 v 68.34713 H 391.4636 Z"/>
</clipPath>
<clipPath id="clipPath666" clipPathUnits="userSpaceOnUse">
<path id="path664" d="M 257.9662,114.7986 H 360.0404 V 216.7242 H 257.9662 Z"/>
</clipPath>
<clipPath id="clipPath676" clipPathUnits="userSpaceOnUse">
<path id="path674" d="m 0,51.17502 h 514.6147 v 55.85416 H 0 Z"/>
</clipPath>
<clipPath id="clipPath688" clipPathUnits="userSpaceOnUse">
<path id="path686" d="m 0,53.67502 h 518.0748 v 50.85416 H 0 Z"/>
</clipPath>
<clipPath id="clipPath702" clipPathUnits="userSpaceOnUse">
<path id="path700" d="m 702.5,50.23682 h 515 v 291 h -515 z"/>
</clipPath>
<clipPath id="clipPath714" clipPathUnits="userSpaceOnUse">
<path id="path712" d="m 723.6144,259.7938 h 472.7713 v 63.74047 H 723.6144 Z"/>
</clipPath>
<clipPath id="clipPath726" clipPathUnits="userSpaceOnUse">
<path id="path724" d="m 716.5784,262.2938 h 486.8433 v 58.74047 H 716.5784 Z"/>
</clipPath>
<clipPath id="clipPath740" clipPathUnits="userSpaceOnUse">
<path id="path738" d="m 723.6144,66.4393 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath752" clipPathUnits="userSpaceOnUse">
<path id="path750" d="m 720.1544,68.9393 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath766" clipPathUnits="userSpaceOnUse">
<path id="path764" d="m 963.3856,66.93936 h 233 v 185.6595 h -233 z"/>
</clipPath>
<clipPath id="clipPath778" clipPathUnits="userSpaceOnUse">
<path id="path776" d="m 959.9256,69.43936 h 239.92 v 186.6195 h -239.92 z"/>
</clipPath>
<clipPath id="clipPath792" clipPathUnits="userSpaceOnUse">
<path id="path790" d="m 1407.913,50.23682 h 512.0869 v 291 H 1407.913 Z"/>
</clipPath>
<clipPath id="clipPath804" clipPathUnits="userSpaceOnUse">
<path id="path802" d="m 1429.028,260.7938 h 472.7713 v 63.74047 H 1429.028 Z"/>
</clipPath>
<clipPath id="clipPath816" clipPathUnits="userSpaceOnUse">
<path id="path814" d="m 1421.992,263.2938 h 486.8433 v 58.74047 H 1421.992 Z"/>
</clipPath>
<clipPath id="clipPath830" clipPathUnits="userSpaceOnUse">
<path id="path828" d="m 1429.028,67.93936 h 153 v 185.6595 h -153 z"/>
</clipPath>
<clipPath id="clipPath842" clipPathUnits="userSpaceOnUse">
<path id="path840" d="m 1425.568,70.43936 h 159.92 v 186.6195 h -159.92 z"/>
</clipPath>
<clipPath id="clipPath856" clipPathUnits="userSpaceOnUse">
<path id="path854" d="m 1588.913,67.93936 h 153 v 185.6595 h -153 z"/>
</clipPath>
<clipPath id="clipPath868" clipPathUnits="userSpaceOnUse">
<path id="path866" d="m 1585.453,70.43936 h 159.92 v 186.6195 h -159.92 z"/>
</clipPath>
<clipPath id="clipPath882" clipPathUnits="userSpaceOnUse">
<path id="path880" d="m 1748.799,67.93936 h 153 v 185.6595 h -153 z"/>
</clipPath>
<clipPath id="clipPath894" clipPathUnits="userSpaceOnUse">
<path id="path892" d="m 1745.339,70.43936 h 159.92 v 186.6195 h -159.92 z"/>
</clipPath>
<clipPath id="clipPath908" clipPathUnits="userSpaceOnUse">
<path id="path906" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath922" clipPathUnits="userSpaceOnUse">
<path id="path920" d="m 813.3313,740.6621 h 293.3866 v 43.30402 H 813.3313 Z"/>
</clipPath>
<clipPath id="clipPath936" clipPathUnits="userSpaceOnUse">
<path id="path934" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath950" clipPathUnits="userSpaceOnUse">
<path id="path948" d="m 107.9182,740.6621 h 293.3866 v 43.30402 H 107.9182 Z"/>
</clipPath>
<clipPath id="clipPath964" clipPathUnits="userSpaceOnUse">
<path id="path962" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath978" clipPathUnits="userSpaceOnUse">
<path id="path976" d="m 1518.744,740.6621 h 293.3866 v 43.30402 H 1518.744 Z"/>
</clipPath>
<clipPath id="clipPath992" clipPathUnits="userSpaceOnUse">
<path id="path990" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1006" clipPathUnits="userSpaceOnUse">
<path id="path1004" d="m 813.3313,370.2971 h 293.3866 v 43.30402 H 813.3313 Z"/>
</clipPath>
<clipPath id="clipPath1020" clipPathUnits="userSpaceOnUse">
<path id="path1018" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1034" clipPathUnits="userSpaceOnUse">
<path id="path1032" d="m 107.9182,370.2971 h 293.3866 v 43.30402 H 107.9182 Z"/>
</clipPath>
<clipPath id="clipPath1048" clipPathUnits="userSpaceOnUse">
<path id="path1046" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1062" clipPathUnits="userSpaceOnUse">
<path id="path1060" d="m 1518.744,370.2971 h 293.3866 v 43.30402 H 1518.744 Z"/>
</clipPath>
<clipPath id="clipPath1076" clipPathUnits="userSpaceOnUse">
<path id="path1074" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1090" clipPathUnits="userSpaceOnUse">
<path id="path1088" d="m 813.3313,1.739593 h 293.3866 v 43.30402 H 813.3313 Z"/>
</clipPath>
<clipPath id="clipPath1104" clipPathUnits="userSpaceOnUse">
<path id="path1102" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1118" clipPathUnits="userSpaceOnUse">
<path id="path1116" d="m 107.9182,1.739593 h 293.3866 v 43.30402 H 107.9182 Z"/>
</clipPath>
<clipPath id="clipPath1132" clipPathUnits="userSpaceOnUse">
<path id="path1130" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</clipPath>
<clipPath id="clipPath1146" clipPathUnits="userSpaceOnUse">
<path id="path1144" d="m 1518.744,1.739593 h 293.3866 v 43.30402 H 1518.744 Z"/>
</clipPath>
</defs>
<g transform="matrix(1.3333333,0,0,-1.3333333,0,1440)" id="g10">
<g id="g12"/>
<g id="g14">
<g clip-path="url(#clipPath20)" id="g16">
<path id="path22" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 H 1920 V 1080 H 0 Z"/>
</g>
</g>
<g id="g24">
<g clip-path="url(#clipPath30)" id="g26">
<g transform="matrix(1,0,0,-1,704,1078.574)" id="g32">
<path id="path34" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g36">
<g clip-path="url(#clipPath42)" id="g38">
<g transform="matrix(1,0,0,-1,723.8505,1061.871)" id="g44">
<path id="path46" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g48">
<g clip-path="url(#clipPath54)" id="g50">
<g transform="translate(725,1020)" id="g56">
<text id="text60" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan58" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g62">
<g clip-path="url(#clipPath68)" id="g64">
<g transform="matrix(1,0,0,-1,723.8505,989.9356)" id="g70">
<path id="path72" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g74">
<g clip-path="url(#clipPath80)" id="g76">
<g transform="translate(725,969)" id="g82">
<text id="text86" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan84" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g88">
<g clip-path="url(#clipPath94)" id="g90">
<g transform="matrix(1,0,0,-1,1430.528,1062.011)" id="g96">
<path id="path98" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g100">
<g clip-path="url(#clipPath106)" id="g102">
<g transform="translate(1432,1020)" id="g108">
<text id="text112" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan110" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g114">
<g clip-path="url(#clipPath120)" id="g116">
<g transform="matrix(1,0,0,-1,1430.528,990.0752)" id="g122">
<path id="path124" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g126">
<g clip-path="url(#clipPath132)" id="g128">
<g transform="translate(1432,969)" id="g134">
<text id="text138" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan136" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g140">
<g clip-path="url(#clipPath146)" id="g142">
<g transform="matrix(1,0,0,-1,1409.413,1078.713)" id="g148">
<path id="path150" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M -0.163 0 L 509.837 0 L 509.837 288 L -0.163 288 Z"/>
</g>
</g>
</g>
<g id="g152">
<g clip-path="url(#clipPath158)" id="g154">
<path id="path160" style="fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1670.299,990.0752 h 230 V 807.4157 h -230 z"/>
<g transform="matrix(1,0,0,-1,1670.299,990.0752)" id="g162">
<path id="path164" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g166">
<g clip-path="url(#clipPath172)" id="g168">
<g transform="translate(1671,969)" id="g174"/>
</g>
</g>
<g id="g176">
<g clip-path="url(#clipPath182)" id="g178">
<path id="path184" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1764.311,906.9777 c -0.551,0 -1.1,-0.2656 -1.415,-0.7379 -28.965,-42.6216 -67.776,-67.2234 -67.776,-67.2234 h 158.096 c 0,0 -38.772,24.6018 -67.776,67.2234 -0.315,0.4723 -0.824,0.7379 -1.415,0.7379 z m 2.238,-3.8494 h 15.349 c 0.551,0 1.065,-0.278 1.34,-0.7502 2.243,-3.542 5.313,-8.1121 7.281,-10.3553 1.771,-2.0071 -0.827,-3.6182 -2.558,-2.0047 -1.535,1.4562 -3.031,3.5838 -3.936,4.8825 -0.984,1.3774 -2.516,0.7896 -2.201,-0.824 0.708,-3.6994 4.174,-14.3671 5.079,-17.0826 0.945,-2.7155 -2.051,-3.4288 -2.878,-1.3036 -1.889,4.8407 -5.072,15.6633 -6.174,20.8582 -0.314,1.6136 -2.41,1.2692 -2.41,-0.3443 0,-1.6136 0.553,-7.3644 1.144,-13.5038 0.275,-2.7155 -3.306,-3.1902 -3.542,0.0369 -0.158,2.2039 -0.35,3.6625 -0.468,5.4728 -0.157,2.1646 -2.127,2.1301 -2.718,0.3198 -1.731,-5.3523 -2.681,-7.1306 -3.665,-8.7442 -1.338,-2.2039 -3.856,-0.8658 -2.951,1.1806 1.377,3.0304 4.294,11.2999 5.436,15.6683 0.393,1.4955 -1.065,2.3957 -2.128,0.8609 -1.928,-2.7549 -2.674,-3.938 -5.153,-6.4567 -1.456,-1.4561 -3.699,0.007 -2.361,2.0538 2.282,3.4633 4.523,6.3362 6.137,9.2485 0.275,0.5116 0.826,0.7871 1.377,0.7871 z"/>
</g>
</g>
<g id="g186">
<g clip-path="url(#clipPath192)" id="g188">
<path id="path194" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1846.233,967.8868 -5.798,-12.006 c 1.676,0.4358 3.671,0.6914 5.783,0.6915 2.129,0 4.125,-0.2546 5.835,-0.7072 z m 23.436,-9.7064 -12.587,-4.3949 c 1.525,-0.8884 3.097,-2.112 4.588,-3.6039 1.509,-1.5086 2.737,-3.101 3.625,-4.6096 z m -46.903,-0.0367 4.395,-12.5874 c 0.889,1.5254 2.112,3.1021 3.604,4.5939 1.509,1.5086 3.101,2.7312 4.61,3.6196 z m 23.467,-4.5729 c -10.442,0 -18.941,-8.4985 -18.941,-18.9414 0,-10.4429 8.499,-18.9413 18.941,-18.9413 10.443,0 18.942,8.4984 18.942,18.9413 0,10.4429 -8.499,18.9414 -18.942,18.9414 z m -21.151,-13.0432 -12.022,-5.8144 12.006,-5.7987 c -0.436,1.693 -0.692,3.6709 -0.692,5.783 0,2.1288 0.255,4.1204 0.708,5.8301 z m 42.324,0 c 0.436,-1.693 0.686,-3.6709 0.686,-5.7829 0,-2.1289 -0.249,-4.1204 -0.701,-5.8302 l 12.016,5.8144 z m -2.095,-16.6627 c -0.888,-1.5254 -2.112,-3.0968 -3.604,-4.5887 -1.509,-1.5086 -3.101,-2.7364 -4.61,-3.6248 l 12.604,-4.3739 z m -38.134,-0.0157 -4.374,-12.6031 12.587,4.3896 c -1.525,0.8884 -3.102,2.1121 -4.594,3.6039 -1.508,1.5086 -2.731,3.101 -3.619,4.6096 z m 13.242,-10.2931 5.814,-12.0164 5.799,12.0007 c -1.676,-0.4358 -3.671,-0.6862 -5.783,-0.6862 -2.129,0 -4.12,0.2493 -5.83,0.7019 z"/>
</g>
</g>
<g id="g196">
<g clip-path="url(#clipPath202)" id="g198">
<g transform="matrix(1,0,0,-1,1.114689,1078.713)" id="g204">
<path id="path206" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g208">
<g clip-path="url(#clipPath214)" id="g210">
<g transform="matrix(1,0,0,-1,22.22905,995.9416)" id="g216">
<path id="path218" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g220">
<g clip-path="url(#clipPath226)" id="g222">
<g transform="translate(208,954)" id="g228">
<text id="text232" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan230" y="0" x="0 17.792 26.688 45.664001 53.375999 64.031998 71.744003"># Title</tspan></text>
</g>
</g>
</g>
<g id="g234">
<g clip-path="url(#clipPath240)" id="g236">
<g transform="matrix(1,0,0,-1,22.22905,934.2254)" id="g242">
<path id="path244" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g246">
<g clip-path="url(#clipPath252)" id="g248">
<g transform="translate(193,894)" id="g254">
<text id="text258" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 26px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan256" y="0" x="0 14.456 28.912001 36.139999 52.987999 67.912003 83.797997 92.456001 98.722 107.38 113.646">## Subtitle</tspan></text>
</g>
</g>
</g>
<g id="g260">
<g clip-path="url(#clipPath266)" id="g262">
<g transform="matrix(1,0,0,-1,1.114689,708.225)" id="g268">
<path id="path270" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g272">
<g clip-path="url(#clipPath278)" id="g274">
<g transform="matrix(1,0,0,-1,22.22903,691.5225)" id="g280">
<path id="path282" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g284">
<g clip-path="url(#clipPath290)" id="g286">
<g transform="translate(23,649)" id="g292">
<text id="text296" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan294" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g298">
<g clip-path="url(#clipPath304)" id="g300">
<g transform="matrix(1,0,0,-1,262.0003,619.587)" id="g306">
<path id="path308" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g310">
<g clip-path="url(#clipPath316)" id="g312">
<g transform="translate(263,599)" id="g318">
<text id="text322" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan320" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g324">
<g clip-path="url(#clipPath330)" id="g326">
<path id="path332" style="fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 21.72903,620.087 H 251.729 V 437.4276 H 21.72903 Z"/>
<g transform="matrix(1,0,0,-1,21.72903,620.087)" id="g334">
<path id="path336" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g338">
<g clip-path="url(#clipPath344)" id="g340">
<g transform="translate(23,599)" id="g346"/>
</g>
</g>
<g id="g348">
<g clip-path="url(#clipPath354)" id="g350">
<path id="path356" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 115.7409,536.9895 c -0.551,0 -1.0995,-0.2656 -1.4143,-0.7379 C 85.36122,493.6301 46.54969,469.0282 46.5497,469.0282 h 158.0969 c 0,0 -38.7722,24.6019 -67.7769,67.2234 -0.3149,0.4723 -0.824,0.738 -1.4143,0.7379 z m 2.2383,-3.8494 h 15.3485 c 0.551,0 1.0651,-0.2779 1.3406,-0.7502 2.2432,-3.5419 5.3129,-8.112 7.2807,-10.3553 1.7709,-2.0071 -0.8265,-3.6182 -2.5581,-2.0046 -1.5349,1.4561 -3.0304,3.5837 -3.9355,4.8824 -0.9839,1.3775 -2.5163,0.7896 -2.2015,-0.824 0.7084,-3.6993 4.1741,-14.367 5.0793,-17.0825 0.9445,-2.7155 -2.0514,-3.4289 -2.8778,-1.3037 -1.8891,4.8407 -5.0719,15.6634 -6.1739,20.8582 -0.3148,1.6136 -2.4105,1.2692 -2.4105,-0.3443 0,-1.6136 0.5535,-7.3643 1.1438,-13.5037 0.2755,-2.7155 -3.3059,-3.1903 -3.542,0.0369 -0.1574,2.2038 -0.3492,3.6624 -0.4673,5.4728 -0.1574,2.1645 -2.1277,2.1301 -2.718,0.3197 -1.7316,-5.3523 -2.6811,-7.1306 -3.6649,-8.7442 -1.3381,-2.2039 -3.8568,-0.8658 -2.9517,1.1807 1.3775,3.0303 4.2947,11.2998 5.436,15.6682 0.3935,1.4955 -1.0651,2.3958 -2.1277,0.8609 -1.9284,-2.7548 -2.6737,-3.9379 -5.153,-6.4567 -1.4562,-1.4561 -3.6994,0.007 -2.3613,2.0539 2.2826,3.4632 4.5234,6.3361 6.1369,9.2484 0.2755,0.5116 0.8264,0.7871 1.3774,0.7871 z"/>
</g>
</g>
<g id="g358">
<g clip-path="url(#clipPath364)" id="g360">
<path id="path366" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 197.6636,597.8986 -5.7987,-12.006 c 1.6762,0.4359 3.6709,0.6914 5.783,0.6915 2.1288,0 4.1255,-0.2546 5.8353,-0.7072 z m 23.4357,-9.7064 -12.5874,-4.3949 c 1.5254,-0.8884 3.0968,-2.112 4.5887,-3.6038 1.5086,-1.5086 2.7364,-3.1011 3.6248,-4.6097 z m -46.9029,-0.0367 4.3949,-12.5874 c 0.8884,1.5254 2.112,3.1021 3.6039,4.5939 1.5086,1.5086 3.101,2.7312 4.6096,3.6196 z m 23.4672,-4.5729 c -10.4429,0 -18.9414,-8.4985 -18.9414,-18.9414 0,-10.4429 8.4985,-18.9413 18.9414,-18.9413 10.4429,0 18.9413,8.4984 18.9413,18.9413 0,10.4429 -8.4984,18.9414 -18.9413,18.9414 z m -21.1519,-13.0432 -12.0217,-5.8144 12.006,-5.7987 c -0.4358,1.693 -0.6914,3.671 -0.6915,5.783 0,2.1288 0.2546,4.1204 0.7072,5.8301 z m 42.3247,0 c 0.4358,-1.6929 0.6862,-3.6709 0.6862,-5.7829 0,-2.1288 -0.2493,-4.1204 -0.7019,-5.8302 l 12.0164,5.8145 z m -2.0953,-16.6627 c -0.8884,-1.5254 -2.112,-3.0968 -3.6039,-4.5887 -1.5086,-1.5086 -3.101,-2.7364 -4.6096,-3.6248 l 12.6031,-4.3739 z m -38.1341,-0.0157 -4.3739,-12.6031 12.5874,4.3896 c -1.5254,0.8884 -3.1021,2.1121 -4.5939,3.6039 -1.5086,1.5086 -2.7312,3.101 -3.6196,4.6096 z m 13.2422,-10.2931 5.8144,-12.0164 5.7987,12.0007 c -1.6762,-0.4358 -3.671,-0.6862 -5.783,-0.6862 -2.1288,0 -4.1203,0.2493 -5.8301,0.7019 z"/>
</g>
</g>
<g id="g368">
<g clip-path="url(#clipPath374)" id="g370">
<g transform="matrix(1,0,0,-1,704,708.225)" id="g376">
<path id="path378" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g380">
<g clip-path="url(#clipPath386)" id="g382">
<g transform="matrix(1,0,0,-1,723.8505,691.5225)" id="g388">
<path id="path390" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 279 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g392">
<g clip-path="url(#clipPath398)" id="g394">
<g transform="translate(725,649)" id="g400">
<text id="text404" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan402" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g406">
<g clip-path="url(#clipPath412)" id="g408">
<g transform="matrix(1,0,0,-1,723.8505,619.587)" id="g414">
<path id="path416" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 279 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g418">
<g clip-path="url(#clipPath424)" id="g420">
<g transform="translate(725,599)" id="g426">
<text id="text430" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan428" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g432">
<g clip-path="url(#clipPath438)" id="g434">
<path id="path440" style="fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 1024.628,708.225 H 1216.5 v -288 h -191.872 z"/>
<g transform="matrix(1,0,0,-1,1024.628,708.225)" id="g442">
<path id="path444" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 191.872 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g446">
<g clip-path="url(#clipPath452)" id="g448">
<g transform="translate(1026,687)" id="g454"/>
</g>
</g>
<g id="g456">
<g clip-path="url(#clipPath462)" id="g458">
<path id="path464" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1112.34,601.5948 c -0.46,0 -0.918,-0.2216 -1.18,-0.6156 -24.167,-35.5609 -56.549,-56.0871 -56.549,-56.0871 h 131.906 c 0,0 -32.349,20.5262 -56.549,56.0871 -0.262,0.394 -0.687,0.6156 -1.18,0.6156 z m 1.867,-3.2117 h 12.806 c 0.46,0 0.889,-0.2319 1.119,-0.6259 1.871,-2.9552 4.432,-6.7682 6.074,-8.6399 1.478,-1.6746 -0.689,-3.0188 -2.134,-1.6725 -1.281,1.2149 -2.529,2.9901 -3.284,4.0736 -0.821,1.1493 -2.099,0.6588 -1.836,-0.6875 0.591,-3.0865 3.482,-11.987 4.237,-14.2526 0.788,-2.2656 -1.711,-2.8608 -2.401,-1.0877 -1.576,4.0388 -4.231,13.0685 -5.151,17.4028 -0.263,1.3463 -2.011,1.059 -2.011,-0.2873 0,-1.3462 0.462,-6.1443 0.954,-11.2667 0.23,-2.2656 -2.758,-2.6617 -2.955,0.0308 -0.131,1.8388 -0.291,3.0558 -0.39,4.5662 -0.131,1.806 -1.775,1.7772 -2.268,0.2668 -1.444,-4.4656 -2.236,-5.9494 -3.057,-7.2956 -1.117,-1.8388 -3.218,-0.7224 -2.463,0.985 1.149,2.5284 3.583,9.4279 4.535,13.0727 0.329,1.2477 -0.888,1.9988 -1.775,0.7182 -1.609,-2.2985 -2.231,-3.2856 -4.299,-5.387 -1.215,-1.215 -3.087,0.006 -1.97,1.7136 1.904,2.8895 3.774,5.2865 5.12,7.7163 0.23,0.4269 0.69,0.6567 1.149,0.6567 z"/>
</g>
</g>
<g id="g466">
<g clip-path="url(#clipPath472)" id="g468">
<path id="path474" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1179.534,668.1332 -5.799,-12.0059 c 1.677,0.4358 3.671,0.6914 5.783,0.6914 2.129,0 4.126,-0.2546 5.836,-0.7072 z m 23.436,-9.7064 -12.588,-4.3948 c 1.526,-0.8884 3.097,-2.1121 4.589,-3.6039 1.509,-1.5086 2.737,-3.101 3.625,-4.6096 z m -46.903,-0.0366 4.395,-12.5875 c 0.888,1.5254 2.112,3.1021 3.604,4.594 1.508,1.5086 3.101,2.7312 4.609,3.6196 z m 23.467,-4.573 c -10.443,0 -18.941,-8.4985 -18.941,-18.9414 0,-10.4428 8.498,-18.9413 18.941,-18.9413 10.443,0 18.942,8.4985 18.942,18.9413 0,10.4429 -8.499,18.9414 -18.942,18.9414 z m -21.152,-13.0431 -12.021,-5.8144 12.006,-5.7987 c -0.436,1.693 -0.692,3.6709 -0.692,5.7829 0,2.1289 0.255,4.1204 0.707,5.8302 z m 42.325,0 c 0.436,-1.693 0.686,-3.6709 0.686,-5.783 0,-2.1288 -0.249,-4.1204 -0.702,-5.8301 l 12.017,5.8144 z m -2.095,-16.6628 c -0.889,-1.5253 -2.112,-3.0968 -3.604,-4.5886 -1.509,-1.5086 -3.101,-2.7365 -4.61,-3.6249 l 12.603,-4.3739 z m -38.134,-0.0157 -4.374,-12.6031 12.587,4.3896 c -1.525,0.8884 -3.102,2.1121 -4.594,3.6039 -1.508,1.5086 -2.731,3.101 -3.619,4.6096 z m 13.242,-10.2931 5.814,-12.0164 5.799,12.0007 c -1.676,-0.4358 -3.671,-0.6861 -5.783,-0.6862 -2.129,0 -4.12,0.2493 -5.83,0.7019 z"/>
</g>
</g>
<g id="g476">
<g clip-path="url(#clipPath482)" id="g478">
<path id="path484" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1147.327,536.3529 c -0.225,0 -0.279,-0.3731 -0.054,-0.3981 3.772,-0.6995 18.061,-1.3537 21.234,-5.3008 2.748,-3.3974 -13.662,-5.2928 -26.902,-10.539 -14.14,-5.6208 -19.411,-15.9131 -14.115,-22.2334 5.296,-6.3202 32.354,-15.017 27.683,-23.6854 -4.672,-8.6685 -22.408,-10.7154 -37.972,-20.8828 -15.563,-10.1674 -17.065,-16.8858 -17.065,-16.8858 h 61.477 c 4.197,3.3225 12.316,8.7919 19.611,13.5133 10.967,7.0947 26.257,19.7837 15.09,30.7505 -16.488,16.1379 -46.393,19.5401 -43.67,27.1594 2.722,7.6193 34.249,12.4859 28.978,22.1787 -3.547,6.4702 -26.7,6.3235 -34.295,6.3234 z m -5.074,-4.5747 c -0.4,0 -0.726,-0.3185 -0.726,-0.7182 0,-0.3997 0.326,-0.726 0.726,-0.726 h 15.793 c 0.399,0 0.718,0.3263 0.718,0.726 0,0.3997 -0.319,0.7182 -0.718,0.7182 z m -4.372,-3.3413 c -0.4,0 -0.726,-0.3263 -0.726,-0.726 0,-0.3997 0.326,-0.726 0.726,-0.726 h 15.793 c 0.4,0 0.718,0.3263 0.718,0.726 0,0.3997 -0.318,0.726 -0.718,0.726 z m 30.228,-15.7382 c -0.525,0 -0.976,-0.4262 -0.976,-0.9758 0,-0.5496 0.426,-0.9759 0.976,-0.9759 h 18.938 c 0.55,0 0.976,0.4263 0.976,0.9759 0,0.5496 -0.426,0.9758 -0.976,0.9758 z m -5.816,-4.6215 c -0.55,0 -0.976,-0.4263 -0.976,-0.9759 0,-0.5496 0.426,-0.9758 0.976,-0.9758 h 18.931 c 0.524,0 0.976,0.4512 0.976,0.9758 0,0.5496 -0.427,0.9759 -0.976,0.9759 z m 5.714,-4.5982 c -0.55,0 -0.968,-0.4262 -0.968,-0.9758 0,-0.5496 0.418,-0.9758 0.968,-0.9758 h 18.939 c 0.55,0 0.976,0.4262 0.976,0.9758 0,0.5496 -0.426,0.9758 -0.976,0.9758 z m -49.057,-20.4144 c -0.675,0 -1.226,-0.5433 -1.226,-1.2178 0,-0.6745 0.551,-1.2256 1.226,-1.2257 h 18.931 c 0.675,0 1.226,0.5512 1.226,1.2257 0,0.6745 -0.551,1.2177 -1.226,1.2178 z m 6.995,-5.9955 c -0.675,0 -1.226,-0.5434 -1.226,-1.2179 0,-0.6745 0.551,-1.2255 1.226,-1.2256 h 18.931 c 0.674,0 1.225,0.5511 1.226,1.2256 0,0.6745 -0.552,1.2178 -1.226,1.2179 z m -6.574,-5.9956 c -0.674,0 -1.225,-0.5433 -1.225,-1.2178 0,-0.6745 0.551,-1.2256 1.225,-1.2256 h 18.939 c 0.675,0 1.218,0.5511 1.218,1.2256 0,0.6745 -0.543,1.2178 -1.218,1.2178 z"/>
</g>
</g>
<g id="g486">
<g clip-path="url(#clipPath492)" id="g488">
<g transform="matrix(1,0,0,-1,1409.413,707.725)" id="g494">
<path id="path496" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M -0.163 0 L 509.837 0 L 509.837 288 L -0.163 288 Z"/>
</g>
</g>
</g>
<g id="g498">
<g clip-path="url(#clipPath504)" id="g500">
<g transform="matrix(1,0,0,-1,1622.293,691.0225)" id="g506">
<path id="path508" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 279 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g510">
<g clip-path="url(#clipPath516)" id="g512">
<g transform="translate(1623,649)" id="g518">
<text id="text522" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan520" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g524">
<g clip-path="url(#clipPath530)" id="g526">
<g transform="matrix(1,0,0,-1,1622.293,619.087)" id="g532">
<path id="path534" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 279 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g536">
<g clip-path="url(#clipPath542)" id="g538">
<g transform="translate(1623,598)" id="g544">
<text id="text548" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan546" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g550">
<g clip-path="url(#clipPath556)" id="g552">
<path id="path558" style="fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1408.472,708.225 h 191.872 v -288 h -191.872 z"/>
<g transform="matrix(1,0,0,-1,1408.472,708.225)" id="g560">
<path id="path562" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 191.872 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g564">
<g clip-path="url(#clipPath570)" id="g566">
<g transform="translate(1409,687)" id="g572"/>
</g>
</g>
<g id="g574">
<g clip-path="url(#clipPath580)" id="g576">
<path id="path582" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1496.184,601.5948 c -0.46,0 -0.917,-0.2216 -1.18,-0.6156 -24.167,-35.5609 -56.549,-56.0871 -56.549,-56.0871 h 131.906 c 0,0 -32.349,20.5262 -56.548,56.0871 -0.263,0.394 -0.688,0.6156 -1.18,0.6156 z m 1.868,-3.2117 h 12.805 c 0.46,0 0.889,-0.2319 1.119,-0.6259 1.871,-2.9552 4.433,-6.7682 6.074,-8.6399 1.478,-1.6746 -0.689,-3.0188 -2.134,-1.6725 -1.28,1.2149 -2.528,2.9901 -3.283,4.0736 -0.821,1.1493 -2.1,0.6588 -1.837,-0.6875 0.591,-3.0865 3.482,-11.987 4.238,-14.2526 0.788,-2.2656 -1.712,-2.8608 -2.401,-1.0877 -1.577,4.0388 -4.232,13.0685 -5.152,17.4028 -0.262,1.3463 -2.011,1.059 -2.011,-0.2873 0,-1.3462 0.462,-6.1443 0.955,-11.2667 0.229,-2.2656 -2.759,-2.6617 -2.956,0.0308 -0.131,1.8388 -0.291,3.0558 -0.39,4.5662 -0.131,1.806 -1.775,1.7772 -2.267,0.2668 -1.445,-4.4656 -2.237,-5.9494 -3.058,-7.2956 -1.116,-1.8388 -3.218,-0.7224 -2.463,0.985 1.15,2.5284 3.583,9.4279 4.536,13.0727 0.328,1.2477 -0.889,1.9988 -1.775,0.7182 -1.609,-2.2985 -2.231,-3.2856 -4.3,-5.387 -1.215,-1.215 -3.086,0.006 -1.97,1.7136 1.904,2.8895 3.774,5.2865 5.12,7.7163 0.23,0.4269 0.69,0.6567 1.15,0.6567 z"/>
</g>
</g>
<g id="g584">
<g clip-path="url(#clipPath590)" id="g586">
<path id="path592" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1563.378,668.1332 -5.798,-12.0059 c 1.676,0.4358 3.671,0.6914 5.783,0.6914 2.129,0 4.125,-0.2546 5.835,-0.7072 z m 23.436,-9.7064 -12.587,-4.3948 c 1.525,-0.8884 3.097,-2.1121 4.588,-3.6039 1.509,-1.5086 2.737,-3.101 3.625,-4.6096 z m -46.903,-0.0366 4.395,-12.5875 c 0.889,1.5254 2.112,3.1021 3.604,4.594 1.509,1.5086 3.101,2.7312 4.61,3.6196 z m 23.467,-4.573 c -10.442,0 -18.941,-8.4985 -18.941,-18.9414 0,-10.4428 8.499,-18.9413 18.941,-18.9413 10.443,0 18.942,8.4985 18.942,18.9413 0,10.4429 -8.499,18.9414 -18.942,18.9414 z m -21.151,-13.0431 -12.022,-5.8144 12.006,-5.7987 c -0.436,1.693 -0.692,3.6709 -0.692,5.7829 0,2.1289 0.255,4.1204 0.708,5.8302 z m 42.324,0 c 0.436,-1.693 0.686,-3.6709 0.686,-5.783 0,-2.1288 -0.249,-4.1204 -0.701,-5.8301 l 12.016,5.8144 z m -2.095,-16.6628 c -0.888,-1.5253 -2.112,-3.0968 -3.604,-4.5886 -1.508,-1.5086 -3.101,-2.7365 -4.61,-3.6249 l 12.604,-4.3739 z m -38.134,-0.0157 -4.374,-12.6031 12.587,4.3896 c -1.525,0.8884 -3.102,2.1121 -4.594,3.6039 -1.508,1.5086 -2.731,3.101 -3.619,4.6096 z m 13.242,-10.2931 5.814,-12.0164 5.799,12.0007 c -1.676,-0.4358 -3.671,-0.6861 -5.783,-0.6862 -2.129,0 -4.12,0.2493 -5.83,0.7019 z"/>
</g>
</g>
<g id="g594">
<g clip-path="url(#clipPath600)" id="g596">
<path id="path602" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1531.171,536.3529 c -0.224,0 -0.279,-0.3731 -0.054,-0.3981 3.772,-0.6995 18.061,-1.3537 21.234,-5.3008 2.748,-3.3974 -13.662,-5.2928 -26.902,-10.539 -14.139,-5.6208 -19.41,-15.9131 -14.114,-22.2334 5.296,-6.3202 32.354,-15.017 27.682,-23.6854 -4.671,-8.6685 -22.408,-10.7154 -37.971,-20.8828 -15.564,-10.1674 -17.066,-16.8858 -17.066,-16.8858 h 61.478 c 4.197,3.3225 12.316,8.7919 19.61,13.5133 10.967,7.0947 26.257,19.7837 15.09,30.7505 -16.487,16.1379 -46.393,19.5401 -43.67,27.1594 2.723,7.6193 34.249,12.4859 28.978,22.1787 -3.547,6.4702 -26.7,6.3235 -34.295,6.3234 z m -5.074,-4.5747 c -0.4,0 -0.726,-0.3185 -0.726,-0.7182 0,-0.3997 0.326,-0.726 0.726,-0.726 h 15.793 c 0.4,0 0.718,0.3263 0.718,0.726 0,0.3997 -0.318,0.7182 -0.718,0.7182 z m -4.372,-3.3413 c -0.399,0 -0.726,-0.3263 -0.726,-0.726 0,-0.3997 0.327,-0.726 0.726,-0.726 h 15.793 c 0.4,0 0.718,0.3263 0.718,0.726 0,0.3997 -0.318,0.726 -0.718,0.726 z m 30.228,-15.7382 c -0.525,0 -0.976,-0.4262 -0.976,-0.9758 0,-0.5496 0.426,-0.9759 0.976,-0.9759 h 18.939 c 0.549,0 0.976,0.4263 0.976,0.9759 0,0.5496 -0.427,0.9758 -0.976,0.9758 z m -5.816,-4.6215 c -0.55,0 -0.976,-0.4263 -0.976,-0.9759 0,-0.5496 0.426,-0.9758 0.976,-0.9758 h 18.931 c 0.525,0 0.976,0.4512 0.976,0.9758 0,0.5496 -0.426,0.9759 -0.976,0.9759 z m 5.714,-4.5982 c -0.549,0 -0.968,-0.4262 -0.968,-0.9758 0,-0.5496 0.419,-0.9758 0.968,-0.9758 h 18.939 c 0.55,0 0.976,0.4262 0.976,0.9758 0,0.5496 -0.426,0.9758 -0.976,0.9758 z m -49.057,-20.4144 c -0.674,0 -1.225,-0.5433 -1.225,-1.2178 0,-0.6745 0.551,-1.2256 1.225,-1.2257 h 18.931 c 0.675,0 1.226,0.5512 1.226,1.2257 0,0.6745 -0.551,1.2177 -1.226,1.2178 z m 6.995,-5.9955 c -0.674,0 -1.226,-0.5434 -1.226,-1.2179 0,-0.6745 0.552,-1.2255 1.226,-1.2256 h 18.931 c 0.675,0 1.226,0.5511 1.226,1.2256 0,0.6745 -0.551,1.2178 -1.226,1.2179 z m -6.573,-5.9956 c -0.675,0 -1.226,-0.5433 -1.226,-1.2178 0,-0.6745 0.551,-1.2256 1.226,-1.2256 h 18.939 c 0.674,0 1.218,0.5511 1.218,1.2256 0,0.6745 -0.544,1.2178 -1.218,1.2178 z"/>
</g>
</g>
<g id="g604">
<g clip-path="url(#clipPath610)" id="g606">
<g transform="matrix(1,0,0,-1,1.11475,339.7368)" id="g612">
<path id="path614" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g616">
<g clip-path="url(#clipPath622)" id="g618">
<path id="path624" style="fill:#5e5e5e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 1.467129,339.7368 H 513.7623 V 105.1825 H 1.467129 Z"/>
<g transform="matrix(1,0,0,-1,1.467129,339.7368)" id="g626">
<path id="path628" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512.2952 V 234.5543 H 0 Z"/>
</g>
</g>
</g>
<g id="g630">
<g clip-path="url(#clipPath636)" id="g632">
<g transform="translate(2,319)" id="g638"/>
</g>
</g>
<g id="g640">
<g clip-path="url(#clipPath646)" id="g642">
<path id="path648" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 122.2357,300.2591 c -0.8101,0 -1.6166,-0.3906 -2.0795,-1.085 C 77.56755,236.5063 20.50179,200.3335 20.5018,200.3335 h 232.4546 c 0,0 -57.0079,36.1728 -99.6544,98.8406 -0.4629,0.6944 -1.2116,1.085 -2.0795,1.085 z m 3.2911,-5.6599 h 22.5673 c 0.8101,0 1.566,-0.4087 1.9711,-1.1031 3.2983,-5.2078 7.8117,-11.9274 10.705,-15.2257 2.6039,-2.9511 -1.2151,-5.32 -3.7612,-2.9475 -2.2568,2.141 -4.4556,5.2694 -5.7865,7.1789 -1.4467,2.0252 -3.6998,1.1609 -3.2369,-1.2116 1.0416,-5.4393 6.1374,-21.1243 7.4682,-25.117 1.3888,-3.9927 -3.0162,-5.0415 -4.2313,-1.9168 -2.7775,7.1174 -7.4574,23.0303 -9.0776,30.6685 -0.4629,2.3724 -3.5443,1.8661 -3.5442,-0.5064 0,-2.3724 0.8137,-10.8279 1.6817,-19.8549 0.405,-3.9927 -4.8607,-4.6907 -5.2079,0.0543 -0.2314,3.2404 -0.5135,5.385 -0.6871,8.0468 -0.2315,3.1826 -3.1284,3.132 -3.9963,0.4702 -2.5461,-7.8697 -3.9421,-10.4844 -5.3887,-12.8569 -1.9674,-3.2405 -5.6708,-1.273 -4.3399,1.7359 2.0253,4.4557 6.3145,16.6146 7.9926,23.0375 0.5787,2.1989 -1.566,3.5226 -3.1283,1.2658 -2.8354,-4.0505 -3.9312,-5.79 -7.5767,-9.4934 -2.141,-2.141 -5.4393,0.0108 -3.4719,3.0198 3.3562,5.0921 6.6509,9.3163 9.0233,13.5983 0.4051,0.7522 1.2151,1.1573 2.0253,1.1573 z"/>
</g>
</g>
<g id="g650">
<g clip-path="url(#clipPath656)" id="g652">
<path id="path658" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 425.6372,299.645 -5.7987,-12.006 c 1.6762,0.4359 3.6709,0.6915 5.7829,0.6915 2.1289,0 4.1256,-0.2546 5.8354,-0.7072 z m 23.4357,-9.7064 -12.5874,-4.3948 c 1.5254,-0.8884 3.0968,-2.1121 4.5887,-3.6039 1.5086,-1.5086 2.7364,-3.101 3.6248,-4.6096 z m -46.9029,-0.0366 4.3948,-12.5875 c 0.8884,1.5254 2.1121,3.1021 3.6039,4.594 1.5086,1.5086 3.1011,2.7312 4.6097,3.6196 z m 23.4672,-4.573 c -10.4429,0 -18.9414,-8.4985 -18.9414,-18.9414 0,-10.4428 8.4985,-18.9413 18.9414,-18.9413 10.4428,0 18.9413,8.4985 18.9413,18.9413 0,10.4429 -8.4985,18.9414 -18.9413,18.9414 z m -21.1519,-13.0431 -12.0217,-5.8144 12.006,-5.7987 c -0.4359,1.6929 -0.6915,3.6709 -0.6915,5.7829 0,2.1288 0.2546,4.1204 0.7072,5.8302 z m 42.3247,0 c 0.4358,-1.693 0.6862,-3.6709 0.6862,-5.783 0,-2.1288 -0.2493,-4.1204 -0.7019,-5.8301 l 12.0164,5.8144 z m -2.0953,-16.6628 c -0.8884,-1.5253 -2.1121,-3.0968 -3.6039,-4.5886 -1.5086,-1.5086 -3.101,-2.7365 -4.6096,-3.6249 l 12.6031,-4.3739 z m -38.1341,-0.0157 -4.3739,-12.6031 12.5874,4.3896 c -1.5254,0.8884 -3.1021,2.1121 -4.5939,3.6039 -1.5086,1.5086 -2.7312,3.101 -3.6196,4.6096 z m 13.2422,-10.2931 5.8144,-12.0164 5.7987,12.0007 c -1.6763,-0.4358 -3.671,-0.6861 -5.783,-0.6862 -2.1288,0 -4.1203,0.2493 -5.8301,0.7019 z"/>
</g>
</g>
<g id="g660">
<g clip-path="url(#clipPath666)" id="g662">
<path id="path668" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 306.1575,215.724 c -0.2249,0 -0.2796,-0.3732 -0.0547,-0.3982 3.7722,-0.6995 18.0614,-1.3536 21.2342,-5.3007 2.7479,-3.3975 -13.6617,-5.2929 -26.9018,-10.539 -14.1395,-5.6208 -19.4105,-15.9131 -14.1145,-22.2334 5.2961,-6.3203 32.3539,-15.017 27.6825,-23.6854 -4.6715,-8.6686 -22.4082,-10.7154 -37.9717,-20.8829 -15.5633,-10.1674 -17.0654,-16.8857 -17.0653,-16.8858 h 61.4775 c 4.1968,3.3225 12.3159,8.792 19.6103,13.5133 10.9668,7.0948 26.2571,19.7838 15.0903,30.7505 -16.4877,16.138 -46.3935,19.5401 -43.6705,27.1594 2.723,7.6193 34.2494,12.486 28.9784,22.1788 -3.5474,6.4701 -26.7003,6.3234 -34.2947,6.3234 z m -5.0744,-4.5748 c -0.3997,0 -0.726,-0.3185 -0.726,-0.7182 0,-0.3997 0.3263,-0.726 0.726,-0.726 h 15.7929 c 0.3997,0 0.7182,0.3263 0.7182,0.726 0,0.3997 -0.3185,0.7182 -0.7182,0.7182 z m -4.3717,-3.3412 c -0.3997,0 -0.726,-0.3263 -0.726,-0.726 0,-0.3997 0.3263,-0.726 0.726,-0.726 h 15.7929 c 0.3997,0 0.7182,0.3263 0.7182,0.726 0,0.3997 -0.3185,0.726 -0.7182,0.726 z m 30.2274,-15.7382 c -0.5246,0 -0.9758,-0.4263 -0.9758,-0.9759 0,-0.5496 0.4262,-0.9758 0.9758,-0.9758 h 18.939 c 0.5496,0 0.9757,0.4262 0.9758,0.9758 0,0.5496 -0.4262,0.9759 -0.9758,0.9759 z m -5.816,-4.6216 c -0.5495,0 -0.9757,-0.4262 -0.9758,-0.9758 0,-0.5496 0.4263,-0.9759 0.9758,-0.9759 h 18.9312 c 0.5246,0 0.9758,0.4513 0.9758,0.9759 0,0.5496 -0.4262,0.9758 -0.9758,0.9758 z m 5.7145,-4.5981 c -0.5496,0 -0.9679,-0.4263 -0.968,-0.9759 0,-0.5495 0.4184,-0.9758 0.968,-0.9758 h 18.939 c 0.5496,0 0.9758,0.4263 0.9758,0.9758 0,0.5496 -0.4262,0.9759 -0.9758,0.9759 z m -49.0571,-20.4145 c -0.6745,0 -1.2256,-0.5433 -1.2256,-1.2178 0,-0.6745 0.5511,-1.2256 1.2256,-1.2256 h 18.9312 c 0.6745,0 1.2256,0.5511 1.2256,1.2256 0,0.6745 -0.5511,1.2178 -1.2256,1.2178 z m 6.9948,-5.9955 c -0.6745,0 -1.2255,-0.5433 -1.2256,-1.2178 0,-0.6745 0.5511,-1.2256 1.2256,-1.2257 h 18.9312 c 0.6745,0 1.2255,0.5512 1.2256,1.2257 0,0.6745 -0.5511,1.2177 -1.2256,1.2178 z m -6.5732,-5.9955 c -0.6745,0 -1.2256,-0.5433 -1.2257,-1.2178 0,-0.6745 0.5512,-1.2256 1.2257,-1.2257 h 18.939 c 0.6745,0 1.2177,0.5512 1.2178,1.2257 0,0.6745 -0.5433,1.2177 -1.2178,1.2178 z"/>
</g>
</g>
<g id="g670">
<g clip-path="url(#clipPath676)" id="g672">
<g transform="matrix(1,0,0,-1,1.114689,105.5292)" id="g678">
<path id="path680" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512.0001 V 52.85416 H 0 Z"/>
</g>
</g>
</g>
<g id="g682">
<g clip-path="url(#clipPath688)" id="g684">
<g transform="translate(215,71)" id="g690">
<text id="text694" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan692" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g696">
<g clip-path="url(#clipPath702)" id="g698">
<g transform="matrix(1,0,0,-1,704,339.7368)" id="g704">
<path id="path706" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 512 V 288 H 0 Z"/>
</g>
</g>
</g>
<g id="g708">
<g clip-path="url(#clipPath714)" id="g710">
<g transform="matrix(1,0,0,-1,725.1144,322.0342)" id="g716">
<path id="path718" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g720">
<g clip-path="url(#clipPath726)" id="g722">
<g transform="translate(726,280)" id="g728">
<text id="text732" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan730" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g734">
<g clip-path="url(#clipPath740)" id="g736">
<g transform="matrix(1,0,0,-1,725.1144,250.5988)" id="g742">
<path id="path744" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g746">
<g clip-path="url(#clipPath752)" id="g748">
<g transform="translate(726,230)" id="g754">
<text id="text758" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan756" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g760">
<g clip-path="url(#clipPath766)" id="g762">
<g transform="matrix(1,0,0,-1,964.8856,251.0988)" id="g768">
<path id="path770" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 230 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g772">
<g clip-path="url(#clipPath778)" id="g774">
<g transform="translate(966,230)" id="g780">
<text id="text784" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan782" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g786">
<g clip-path="url(#clipPath792)" id="g788">
<g transform="matrix(1,0,0,-1,1409.413,339.7368)" id="g794">
<path id="path796" style="fill:none;stroke:#000000;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M -0.163 0 L 509.837 0 L 509.837 288 L -0.163 288 Z"/>
</g>
</g>
</g>
<g id="g798">
<g clip-path="url(#clipPath804)" id="g800">
<g transform="matrix(1,0,0,-1,1430.528,323.0342)" id="g806">
<path id="path808" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 469.7713 V 60.74047 H 0 Z"/>
</g>
</g>
</g>
<g id="g810">
<g clip-path="url(#clipPath816)" id="g812">
<g transform="translate(1432,281)" id="g818">
<text id="text822" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 32px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,8.896,0)"><tspan id="tspan820" y="0" x="0 17.792 26.688 49.792 67.584 85.375999 104.928 112.64 131.008"># Heading</tspan></text>
</g>
</g>
</g>
<g id="g824">
<g clip-path="url(#clipPath830)" id="g826">
<g transform="matrix(1,0,0,-1,1430.528,252.0988)" id="g832">
<path id="path834" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 150 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g836">
<g clip-path="url(#clipPath842)" id="g838">
<g transform="translate(1432,231)" id="g844">
<text id="text848" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan846" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g850">
<g clip-path="url(#clipPath856)" id="g852">
<g transform="matrix(1,0,0,-1,1590.413,252.0988)" id="g858">
<path id="path860" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 150 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g862">
<g clip-path="url(#clipPath868)" id="g864">
<g transform="translate(1591,231)" id="g870">
<text id="text874" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan872" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g876">
<g clip-path="url(#clipPath882)" id="g878">
<g transform="matrix(1,0,0,-1,1750.299,252.0988)" id="g884">
<path id="path886" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 0,0 H 150 V 182.6595 H 0 Z"/>
</g>
</g>
</g>
<g id="g888">
<g clip-path="url(#clipPath894)" id="g890">
<g transform="translate(1751,231)" id="g896">
<text id="text900" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 20px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="matrix(1,0,0,-1,11.12,0)"><tspan id="tspan898" y="0" x="0 14.44 26.299999 37.779999 44.439999 55.560001 67.040001">Content</tspan></text>
</g>
</g>
</g>
<g id="g902">
<g clip-path="url(#clipPath908)" id="g904">
<path id="path910" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 827.3325,782.9391 h 265.3355 c 2.191,0 3.304,0 4.485,-0.3745 1.294,-0.4708 2.313,-1.4896 2.783,-2.7829 0.375,-1.1819 0.375,-2.2946 0.375,-4.5199 v -26.8657 c 0,-2.1913 0,-3.304 -0.375,-4.4858 -0.47,-1.2934 -1.489,-2.3122 -2.783,-2.783 -1.181,-0.3745 -2.294,-0.3745 -4.519,-0.3745 H 827.3325 c -2.1914,0 -3.304,0 -4.4859,0.3745 -1.2933,0.4708 -2.3122,1.4896 -2.7829,2.783 -0.3746,1.1818 -0.3746,2.2945 -0.3746,4.5198 v 26.8657 c 0,2.1913 0,3.304 0.3746,4.4859 0.4707,1.2933 1.4896,2.3121 2.7829,2.7829 1.1819,0.3745 2.2945,0.3745 4.5199,0.3745 z"/>
<g transform="matrix(1,0,0,-1,819.6891,782.9391)" id="g912">
<path id="path914" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g916">
<g clip-path="url(#clipPath922)" id="g918">
<g transform="translate(907,754)" id="g924">
<text id="text928" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan926" y="0" x="0 7.1040001 20.879999 35.112 41.784 55.127998 60.911999 74.255997 86.711998 99.167999">[no class]</tspan></text>
</g>
</g>
</g>
<g id="g930">
<g clip-path="url(#clipPath936)" id="g932">
<path id="path938" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 121.9193,782.9391 h 265.3351 c 2.1913,0 3.304,0 4.4858,-0.3745 1.2934,-0.4708 2.3122,-1.4896 2.783,-2.7829 0.3745,-1.1819 0.3745,-2.2946 0.3745,-4.5199 v -26.8657 c 0,-2.1913 0,-3.304 -0.3745,-4.4858 -0.4708,-1.2934 -1.4896,-2.3122 -2.783,-2.783 -1.1818,-0.3745 -2.2945,-0.3745 -4.5198,-0.3745 H 121.9193 c -2.1913,0 -3.3039,0 -4.4858,0.3745 -1.2934,0.4708 -2.3122,1.4896 -2.7829,2.783 -0.3746,1.1818 -0.3746,2.2945 -0.3746,4.5198 v 26.8657 c 0,2.1913 0,3.304 0.3746,4.4859 0.4707,1.2933 1.4895,2.3121 2.7829,2.7829 1.1819,0.3745 2.2945,0.3745 4.5198,0.3745 z"/>
<g transform="matrix(1,0,0,-1,114.276,782.9391)" id="g940">
<path id="path942" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g944">
<g clip-path="url(#clipPath950)" id="g946">
<g transform="translate(199,754)" id="g952">
<text id="text956" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan954" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 78.720001 84.503998 92.496002 98.279999">class: title</tspan></text>
</g>
</g>
</g>
<g id="g958">
<g clip-path="url(#clipPath964)" id="g960">
<path id="path966" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1532.746,782.9391 h 265.335 c 2.191,0 3.304,0 4.486,-0.3745 1.293,-0.4708 2.312,-1.4896 2.782,-2.7829 0.375,-1.1819 0.375,-2.2946 0.375,-4.5199 v -26.8657 c 0,-2.1913 0,-3.304 -0.375,-4.4858 -0.47,-1.2934 -1.489,-2.3122 -2.782,-2.783 -1.182,-0.3745 -2.295,-0.3745 -4.52,-0.3745 h -265.301 c -2.192,0 -3.304,0 -4.486,0.3745 -1.294,0.4708 -2.312,1.4896 -2.783,2.783 -0.375,1.1818 -0.375,2.2945 -0.375,4.5198 v 26.8657 c 0,2.1913 0,3.304 0.375,4.4859 0.471,1.2933 1.489,2.3121 2.783,2.7829 1.182,0.3745 2.294,0.3745 4.52,0.3745 z"/>
<g transform="matrix(1,0,0,-1,1525.102,782.9391)" id="g968">
<path id="path970" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g972">
<g clip-path="url(#clipPath978)" id="g974">
<g transform="translate(1580,754)" id="g980">
<text id="text984" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan982" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 76.512001 97.391998 111.624 120.96 129.408 135.192 149.424 163.2">class: img-right</tspan></text>
</g>
</g>
</g>
<g id="g986">
<g clip-path="url(#clipPath992)" id="g988">
<path id="path994" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 827.3325,412.5741 h 265.3355 c 2.191,0 3.304,0 4.485,-0.3746 1.294,-0.4707 2.313,-1.4895 2.783,-2.7829 0.375,-1.1819 0.375,-2.2945 0.375,-4.5198 v -26.8657 c 0,-2.1914 0,-3.304 -0.375,-4.4859 -0.47,-1.2933 -1.489,-2.3122 -2.783,-2.7829 -1.181,-0.3746 -2.294,-0.3746 -4.519,-0.3746 H 827.3325 c -2.1914,0 -3.304,0 -4.4859,0.3746 -1.2933,0.4707 -2.3122,1.4896 -2.7829,2.7829 -0.3746,1.1819 -0.3746,2.2945 -0.3746,4.5199 v 26.8657 c 0,2.1913 0,3.3039 0.3746,4.4858 0.4707,1.2934 1.4896,2.3122 2.7829,2.7829 1.1819,0.3746 2.2945,0.3746 4.5199,0.3746 z"/>
<g transform="matrix(1,0,0,-1,819.6891,412.5741)" id="g996">
<path id="path998" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1000">
<g clip-path="url(#clipPath1006)" id="g1002">
<g transform="translate(853,383)" id="g1008">
<text id="text1012" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1010" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 76.512001 97.391998 111.624 120.96 129.408 135.192 149.424 163.2 171.192 180.528 188.088 201.864 207.64799">class: img-right-full</tspan></text>
</g>
</g>
</g>
<g id="g1014">
<g clip-path="url(#clipPath1020)" id="g1016">
<path id="path1022" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 121.9193,412.5741 h 265.3351 c 2.1913,0 3.304,0 4.4858,-0.3746 1.2934,-0.4707 2.3122,-1.4895 2.7829,-2.7829 0.3746,-1.1819 0.3746,-2.2945 0.3746,-4.5198 v -26.8657 c 0,-2.1914 0,-3.304 -0.3746,-4.4859 -0.4707,-1.2933 -1.4895,-2.3122 -2.7829,-2.7829 -1.1818,-0.3746 -2.2945,-0.3746 -4.5198,-0.3746 H 121.9193 c -2.1913,0 -3.304,0 -4.4858,0.3746 -1.2934,0.4707 -2.3122,1.4896 -2.7829,2.7829 -0.3746,1.1819 -0.3746,2.2945 -0.3746,4.5199 v 26.8657 c 0,2.1913 0,3.3039 0.3746,4.4858 0.4707,1.2934 1.4895,2.3122 2.7829,2.7829 1.1818,0.3746 2.2945,0.3746 4.5198,0.3746 z"/>
<g transform="matrix(1,0,0,-1,114.276,412.5741)" id="g1024">
<path id="path1026" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1028">
<g clip-path="url(#clipPath1034)" id="g1030">
<g transform="translate(177,383)" id="g1036">
<text id="text1040" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1038" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 76.512001 97.391998 111.624 120.96 126.744 140.088 147.64799">class: img-left</tspan></text>
</g>
</g>
</g>
<g id="g1042">
<g clip-path="url(#clipPath1048)" id="g1044">
<path id="path1050" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1532.746,412.5741 h 265.335 c 2.191,0 3.304,0 4.486,-0.3746 1.293,-0.4707 2.312,-1.4895 2.782,-2.7829 0.375,-1.1819 0.375,-2.2945 0.375,-4.5198 v -26.8657 c 0,-2.1914 0,-3.304 -0.375,-4.4859 -0.47,-1.2933 -1.489,-2.3122 -2.782,-2.7829 -1.182,-0.3746 -2.295,-0.3746 -4.52,-0.3746 h -265.301 c -2.192,0 -3.304,0 -4.486,0.3746 -1.294,0.4707 -2.312,1.4896 -2.783,2.7829 -0.375,1.1819 -0.375,2.2945 -0.375,4.5199 v 26.8657 c 0,2.1913 0,3.3039 0.375,4.4858 0.471,1.2934 1.489,2.3122 2.783,2.7829 1.182,0.3746 2.294,0.3746 4.52,0.3746 z"/>
<g transform="matrix(1,0,0,-1,1525.102,412.5741)" id="g1052">
<path id="path1054" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1056">
<g clip-path="url(#clipPath1062)" id="g1058">
<g transform="translate(1566,383)" id="g1064">
<text id="text1068" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1066" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 76.512001 97.391998 111.624 120.96 126.744 140.088 147.64799 155.64 164.976 172.536 186.312 192.09599">class: img-left-full</tspan></text>
</g>
</g>
</g>
<g id="g1070">
<g clip-path="url(#clipPath1076)" id="g1072">
<path id="path1078" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 827.3325,44.0166 h 265.3355 c 2.191,0 3.304,0 4.485,-0.37456 1.294,-0.47074 2.313,-1.48956 2.783,-2.78291 0.375,-1.18188 0.375,-2.29453 0.375,-4.51984 V 9.473585 c 0,-2.191324 0,-3.303977 -0.375,-4.485856 -0.47,-1.293349 -1.489,-2.312171 -2.783,-2.782912 -1.181,-0.374557 -2.294,-0.374557 -4.519,-0.374557 H 827.3325 c -2.1914,0 -3.304,0 -4.4859,0.374557 -1.2933,0.470741 -2.3122,1.489563 -2.7829,2.782912 -0.3746,1.181879 -0.3746,2.294532 -0.3746,4.519839 V 36.37328 c 0,2.19132 0,3.30397 0.3746,4.48585 0.4707,1.29335 1.4896,2.31217 2.7829,2.78291 1.1819,0.37456 2.2945,0.37456 4.5199,0.37456 z"/>
<g transform="matrix(1,0,0,-1,819.6891,44.0166)" id="g1080">
<path id="path1082" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1084">
<g clip-path="url(#clipPath1090)" id="g1086">
<g transform="translate(897,15)" id="g1092">
<text id="text1096" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1094" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 84.071999 98.304001 104.088 113.424">class: col-2</tspan></text>
</g>
</g>
</g>
<g id="g1098">
<g clip-path="url(#clipPath1104)" id="g1100">
<path id="path1106" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 121.9193,44.0166 h 265.3351 c 2.1913,0 3.304,0 4.4858,-0.37456 1.2934,-0.47074 2.3122,-1.48956 2.7829,-2.78291 0.3746,-1.18188 0.3746,-2.29453 0.3746,-4.51984 V 9.473585 c 0,-2.191324 0,-3.303977 -0.3746,-4.485856 C 394.0524,3.69438 393.0336,2.675558 391.7402,2.204817 390.5584,1.83026 389.4457,1.83026 387.2204,1.83026 H 121.9193 c -2.1913,0 -3.304,0 -4.4858,0.374557 -1.2934,0.470741 -2.3122,1.489563 -2.7829,2.782912 -0.3746,1.181879 -0.3746,2.294532 -0.3746,4.519839 V 36.37328 c 0,2.19132 0,3.30397 0.3746,4.48585 0.4707,1.29335 1.4895,2.31217 2.7829,2.78291 1.1818,0.37456 2.2945,0.37456 4.5198,0.37456 z"/>
<g transform="matrix(1,0,0,-1,114.276,44.0166)" id="g1108">
<path id="path1110" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1112">
<g clip-path="url(#clipPath1118)" id="g1114">
<g transform="translate(153,15)" id="g1120">
<text id="text1124" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1122" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 76.512001 97.391998 111.624 120.96 134.304 147.64799 162.312 170.304 176.088 190.32001">class: img-caption</tspan></text>
</g>
</g>
</g>
<g id="g1126">
<g clip-path="url(#clipPath1132)" id="g1128">
<path id="path1134" style="fill:#d5d5d5;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 1532.746,44.0166 h 265.335 c 2.191,0 3.304,0 4.486,-0.37456 1.293,-0.47074 2.312,-1.48956 2.782,-2.78291 0.375,-1.18188 0.375,-2.29453 0.375,-4.51984 V 9.473585 c 0,-2.191324 0,-3.303977 -0.375,-4.485856 -0.47,-1.293349 -1.489,-2.312171 -2.782,-2.782912 -1.182,-0.374557 -2.295,-0.374557 -4.52,-0.374557 h -265.301 c -2.192,0 -3.304,0 -4.486,0.374557 -1.294,0.470741 -2.312,1.489563 -2.783,2.782912 -0.375,1.181879 -0.375,2.294532 -0.375,4.519839 V 36.37328 c 0,2.19132 0,3.30397 0.375,4.48585 0.471,1.29335 1.489,2.31217 2.783,2.78291 1.182,0.37456 2.294,0.37456 4.52,0.37456 z"/>
<g transform="matrix(1,0,0,-1,1525.102,44.0166)" id="g1136">
<path id="path1138" style="fill:none;stroke:#5e5e5e;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 7.643325,0 H 272.9784 c 2.1913,0 3.304,0 4.4858,0.3745569 1.2934,0.4707409 2.3122,1.4895621 2.7829,2.7829121 0.3746,1.181879 0.3746,2.294532 0.3746,4.519838 V 34.54302 c 0,2.19132 0,3.30397 -0.3746,4.48585 -0.4707,1.29335 -1.4895,2.31217 -2.7829,2.78291 -1.1818,0.37456 -2.2945,0.37456 -4.5198,0.37456 H 7.643325 c -2.191324,0 -3.303977,0 -4.485856,-0.37456 C 1.864119,41.34104 0.8452978,40.32222 0.3745569,39.02887 0,37.84699 0,36.73434 0,34.50903 V 7.643325 C 0,5.452001 0,4.339348 0.3745569,3.157469 0.8452978,1.864119 1.864119,0.8452978 3.157469,0.3745569 4.339348,0 5.452001,0 7.677307,0 Z"/>
</g>
</g>
</g>
<g id="g1140">
<g clip-path="url(#clipPath1146)" id="g1142">
<g transform="translate(1602,15)" id="g1148">
<text id="text1152" style="font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 500; font-size: 24px; font-family: HelveticaNeue; writing-mode: lr-tb; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: nonzero; stroke: none; white-space: pre;" transform="scale(1,-1)"><tspan id="tspan1150" y="0" x="0 13.344 19.128 32.472 44.928001 57.383999 64.056 70.727997 84.071999 98.304001 104.088 113.424">class: col-3</tspan></text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="270px" height="62px" viewBox="0 0 270 62" enable-background="new 0 0 270 62" xml:space="preserve">
<g>
<polygon fill="#4F4F56" points="88.743,35.763 83.886,20.086 81.576,20.086 87.624,39.387 89.859,39.387 95.906,20.086
93.597,20.086 "/>
<rect x="102.516" y="25.601" fill="#4F4F56" width="2.22" height="13.786"/>
<rect x="102.516" y="20.086" fill="#4F4F56" width="2.22" height="2.734"/>
<polygon fill="#4F4F56" points="116.851,35.902 113.647,25.601 111.33,25.601 115.744,39.387 117.972,39.387 122.375,25.601
120.054,25.601 "/>
<rect x="128.986" y="20.086" fill="#4F4F56" width="2.197" height="2.734"/>
<rect x="128.986" y="25.601" fill="#4F4F56" width="2.197" height="13.786"/>
<path fill="#4F4F56" d="M146.641,25.601h-4.246c-2.102,0-3.762,1.634-3.762,3.695v4.747c0,2.98,2.374,5.344,5.314,5.344h4.873
v-19.3h-2.18V25.601z M146.641,37.451h-2.693c-1.713,0-3.109-1.389-3.109-3.15v-5.246c0-0.853,0.678-1.521,1.557-1.521h4.246
V37.451z"/>
<path fill="#4F4F56" d="M156.283,25.211v7.167c0,3.844,3.088,7.008,6.953,7.008h4.594v-1.936h-4.594
c-2.584,0-4.744-2.189-4.744-4.788v-7.739c0-1.555,1.323-2.916,2.925-2.916h6.413v-1.922h-6.413
C158.554,20.086,156.283,22.361,156.283,25.211z"/>
<path fill="#4F4F56" d="M180.388,25.601h-3.023c-2.058,0-3.739,1.634-3.739,3.695v5.806c0,2.397,1.885,4.285,4.284,4.285h1.933
c2.393,0,4.291-1.888,4.291-4.285v-5.806C184.133,27.235,182.443,25.601,180.388,25.601z M181.914,35.396
c0,1.136-0.939,2.056-2.072,2.056h-1.933c-1.138,0-2.079-0.92-2.079-2.056v-6.341c0-0.853,0.688-1.521,1.534-1.521h3.023
c0.887,0,1.526,0.668,1.526,1.521V35.396z"/>
<path fill="#4F4F56" d="M193.767,26.813l-0.804-1.212h-1.438v13.786h2.242v-8.826c0-1.666,1.329-3.026,3.041-3.026h3.293v-1.933
h-3.293C195.526,25.601,194.565,26.012,193.767,26.813z"/>
<path fill="#4F4F56" d="M209.174,20.086h-2.18v15.599c0,2.058,1.665,3.701,3.871,3.701h1.638v-1.936h-1.638
c-0.925,0-1.691-0.798-1.691-1.766v-8.151h3.329v-1.933h-3.329V20.086z"/>
<path fill="#4F4F56" d="M225.787,33c1.612-0.432,2.979-1.935,2.979-3.704c0-2.061-1.688-3.695-3.87-3.695h-2.464
c-2.158,0-3.844,1.634-3.844,3.695v4.747c0,2.98,2.317,5.344,5.287,5.344h4.322v-1.936h-4.322c-1.76,0-3.093-1.389-3.093-3.15
v-0.136L225.787,33z M220.783,29.296c0-0.961,0.704-1.762,1.649-1.762h2.464c0.901,0,1.689,0.801,1.689,1.762
c0,0.973-0.6,1.601-1.305,1.77l-4.498,1.091V29.296z"/>
<path fill="#4F4F56" d="M245.576,25.601h-2.481c-0.928,1.532-1.922,3.214-2.883,4.837l-2.883-4.837h-2.514l4.115,6.893
l-4.115,6.893h2.514c0.94-1.562,1.922-3.239,2.883-4.836l2.883,4.836h2.481l-4.114-6.893L245.576,25.601z"/>
</g>
<g>
<polygon fill="#FFFFFF" points="35.798,17.375 25.766,0 0,0 35.798,62 71.59,0 45.828,0 "/>
<polygon fill="#02BAD1" points="33.879,17.957 24.653,2 5.537,2 "/>
<polygon fill="#02BAD1" points="32.842,19.667 4.43,3.672 13.665,19.667 "/>
<polygon fill="#4F4F56" points="34.879,23.145 25.27,39.766 34.879,56.41 "/>
<polygon fill="#008EAA" points="33.423,21.667 14.82,21.667 24.115,37.766 "/>
<polygon fill="#02BAD1" points="37.746,17.957 46.972,2 66.089,2 "/>
<polygon fill="#02BAD1" points="38.784,19.667 67.195,3.672 57.96,19.667 "/>
<polygon fill="#4F4F56" points="36.746,23.145 46.356,39.766 36.746,56.41 "/>
<polygon fill="#008EAA" points="38.203,21.667 56.806,21.667 47.511,37.766 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

View file

@ -0,0 +1,20 @@
---
title: "A Future Talk"
date: 2025-01-01
event: "FutureConf 2025"
credit: "https://unsplash.com/photos/ZGKqdnfbOWo"
image: "/talks/tim-van-der-kuip-769737-unsplash.jpg"
slides: "/talks/pdf-slides.pdf"
description: "Story's talks pages can highlight upcoming appearances, promoting your talks before you present."
---
Story's talks pages can highlight upcoming appearances, promoting your talks
before you present. This is a dummy page illustrating this capability.
You'll have to add `buildFuture: true` to your site's `config.yaml` to enable
this setting. Talks pages that are in the future won't appear on the homepage
or in your RSS feeds; they'll only appear in the `/talks/` list page of your
site.
This page also illustrates that you can use PDF slides. Story uses PDF.js to embed a slide viewer.
So you don't have to build slides in RemarkJS, you can host them yourself, like Slideshare (but better).
<!--more-->

View file

@ -0,0 +1,78 @@
---
title: "Creating Beautiful Presentations with Story"
date: 2018-05-08T16:00:00-05:00
event: "RemarkConf 2018"
location: "Mount Remarkable, 6346+F7 Wilmington, South Australia, Australia"
site: "https://www.environment.sa.gov.au/parks/find-a-park/Browse_by_region/flinders-ranges-outback/mount-remarkable-national-park"
slides: slides/adirondack/
video: "https://www.youtube.com/watch?v=aVS4W7GZSq0"
image: "slides/adirondack/leo-serrat-533922-unsplash.jpg"
description: "Story's Remark frameworks help you create sophisticated slides with simple, clean Markdown. There are predefined layouts for most presentation needs, beautiful typography and colors, precise image control, and a simple modular way to create custom layouts."
thumbnail: slides/adirondack/thumbnail.jpg
---
This is a "talk" page in Story, which is the permanent homepage for a talk
you've given at a specific event. It's designed to showcase your appearance by
bringing together information about the event, along with your slides and extra
information like a video of your talk. In this way you can build a portfolio of
your speaking history.
<!--more-->
Talks are designed to go together with slides. I (Baron, the author of Story)
create a talk page for every speaking appearance.
You can reuse slides between talks, so multiple talks pages link to the same
slides. You also can feature the cover image from the slides as the talks page's
featured image.
I normally put the speaking proposal / abstract into the body of the talks
page's content, where this text you're reading right now is stored.
> In case you missed that, this page normally wouldn't have an article.
> It'd have a talk abstract.
Talks are included in RSS feeds and in the homepage listing of the site, but
slides aren't. This way people find out about your speaking, but they see no
duplicate content.
You can create a screenshot of the first slide (title and all) and store it
in the slides directory, and use it as the `thumbnail` of the talks page. That's
what I've done on this page; its preview image on the [talks listing
page](/talks/) is different from the banner at the top of this page.
Front-matter content for a talks page can have quite a few items. Here's a
rundown, assuming YAML front matter:
```yaml
---
title: "Creating Beautiful Presentations with Story"
date: "Date of the presentation"
event: "name of the event, such as RemarkConf 2018"
location: "<physical address of the event>"
site: "<url to the homepage of the talk, for example the session page on a conference website>"
slides: "<usually /path/to/slides/in/the/slides/section/, but could be any link>"
image: "<usually something like /slides/my-slides/first-slide-background.jpg>"
description: "A description that will appear in social media shares"
thumbnail: "<usually something like /path/to/slides/thumbnail.jpg/>"
video: "a youtube or other video link"
---
```
Because talks and slides are designed to link so tightly together, their
archetypes (Hugo template files) work in lockstep, so you can create a pair of
talks and slides content items by running the `hugo new` command once, then
editing it and running again:
```sh
$ hugo new talks/my-exciting-talk.md
$ hugo new slides/my-exciting-talk/index.md
```
If you look at the content that results from those commands, most of the
defaults are basically prepopulated for you, such as links between them.
Story supports "future talks," meaning that you can post a talk with a future
date, and it'll appear only in the right places at the right times. Story also
supports PDF slides; you can host your own PDFs embedded with PDF.js. See [future
talks](/talks/a-future-talk/) for more on these topics.
Read next: [Story's amazing Markdown-based presentation engine](/slides/adirondack/).

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -0,0 +1,115 @@
---
title: Story's Typography
date: "2018-08-19"
url: "/typography"
description: "Story uses gorgeous typefaces and is optimized for a pleasant reading experience on any device."
credit: "https://unsplash.com/photos/h-M3O25tyvI"
image: "img/unsplash-photos-h-M3O25tyvI.jpg"
thumbnail: img/unsplash-photos-h-M3O25tyvI.tn-500x500.jpg
classes:
- feature-hyphenate
- feature-justify
- feature-highlight
- feature-tweetquote
categories:
- Demo
---
This article is a demo of Story's beautiful typography.
Story is designed to showcase long-form content such as essays and technical
blog posts. It is built for readability and grace in both screen and print
media at all sizes.
<!--more-->
Try opening your print dialog and saving this page as a
PDF. Now try viewing this page on a cellphone.
Story supports text justification and hyphenation. Click here to toggle <a
id="hyph">hyphenation</a> and <a id="just">justification</a>. These features can
be enabled or disabled with the `feature-[no]hyphenate` and
`feature-[no]justify` feature flags.
### Moby-Dick; Or, The Whale: Heading Level 3
Story reserves H1 and H2 for its own use, and assumes you'll use H3 in your content.
To hide subtitles, use the `feature-nosubtitle` feature.
Floated images occasionally interfere with content, usually headings.
Story provides [feature flags](/features) to add clears (left, right, and both) to `<h3>` elements.
Call me Ishmael. Some years ago---never mind how long precisely---having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. Whenever I find myself growing grim about the mouth; whenever it is a damp, drizzly November in my soul; whenever I find myself involuntarily pausing before coffin warehouses, and bringing up the rear of every funeral I meet; and especially whenever my hypos get such an upper hand of me, that it requires a strong moral principle to prevent me from deliberately stepping into the street, and methodically knocking peoples hats off---then, I account it high time to get to sea as soon as I can.
#### Fleuron and Dinkus: Heading Level 4
An `<hr>` tag can be rendered as a fleuron, with the `feature-hrfleuron` flag. It
can also be a dinkus if you like; use the `feature-hrdinkus` flag. Both are
negatable and implemented in CSS. Here's a demo. You can toggle these features
with <a id="fleuron">feature-hrfleuron</a> and <a id="dinkus">feature-hrdinkus</a>.
----
Call me Ishmael. Some years ago---never mind how long precisely---having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation.
Story has support for syntax highlighting inside of code blocks. It uses
[highlight.js](https://highlightjs.org/) for this. This feature is controlled with the `feature-[no]highlight` flag.
```javascript
function $initHighlight(block, cls) {
try {
if (cls.search(/\bno\-highlight\b/) != -1)
return process(block, true, 0x0F) +
` class="${cls}"`;
} catch (e) {
/* handle exception */
}
for (var i = 0 / 2; i < classes.length; i++) {
if (checkCondition(classes[i]) === undefined)
console.log('undefined');
}
}
export $initHighlight;
```
Here is text with _emphasis_ and **boldness**; ~~strikethrough~~.^[A footnote]
> This is a blockquote. I thought I would sail about the unimaginative incomprehensibilities of the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. (This quote is a demo of justification and hyphenation.)
>
>> Blockquotes can nest.
Here is an unordered list:
- Item one
- Item two
- Item three is longer. I thought I would sail about a little and see the unimaginative incomprehensibilities of the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. (This is a justification and hyphenation demo.)
And an ordered list:
1. Item one
1. Item two
1. Item three is longer. I thought I would sail about a little and see the unimaginative incomprehensibilities of the watery part of the world. It is a way I have of driving off the spleen and regulating the circulation. (This is a justification and hyphenation demo.)
### Quotes That Link To Tweets
If you don't like embedding tweets, Story has a cleaner way to quote and link to a tweet. Just blockquote the content and begin it with a link containing the author's name and the tweet's permalink, and enable the `feature-tweetquote` flag. Story will transform the quote to resemble a simplistic tweet styling. If the flag isn't enabled, normal blockquote styling applies.
> [Baron Schwartz](https://twitter.com/xaprb/status/921004656402321408)
>
> Monitoring tells you whether the system works. Observability lets you ask why it's not working.
<script type="text/javascript">
$( "#hyph" ).click(function() {
$("body").toggleClass("feature-hyphenate");
});
$( "#just" ).click(function() {
$("body").toggleClass("feature-justify");
});
$( "#fleuron" ).click(function() {
$("body").toggleClass("feature-hrfleuron");
});
$( "#dinkus" ).click(function() {
$("body").toggleClass("feature-hrdinkus");
});
</script>
Read next: [Story's MailChimp subscribe forms and RSS feeds](/mailchimp-features).

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

BIN
themes/story/images/tn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

View file

@ -0,0 +1,11 @@
{{ define "title" }}Error 404 Not Found{{ end }}
{{ define "main" }}
<div class="pa3 pa4-ns w-100 w-70-ns center">
<section class="w-100 mw8">
<h1>What is the sound of one page missing?</h1>
<p>That page doesn't exist. Perhaps you'd like to <a href="{{ "search/" | absURL }}">search</a> this site or start at the homepage.</p>
</section>
</div>
{{ end }}

View file

@ -0,0 +1,24 @@
{{ define "title" }}Archives &bullet; {{ .Site.Title }}{{ end }}
{{ define "main" }}
<section class="center bg-white br-3 pv1 ph4 nested-copy-line-height lh-copy f4 nested-links mw-100 measure-wide">
{{- range $i, $p := .Site.RegularPages -}}
{{- $thisYear := $p.Date.Format "2006" }}
{{- $lastPage := $i | add -1 | index .Site.RegularPages }}
{{- if or (eq $i 0) ( ne ($lastPage.Date.Format "2006") $thisYear ) }}
<h3 class="archive-year">{{ $thisYear }}</h3>
{{- end }}
<div>
{{ $p.Date.Format "01-02" }}
<a href="{{ $p.Permalink }}" class="no-underline dim link">
{{- cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) -}}
</a>
</div>
{{- end -}}
</section>
{{ end }}
{{ define "pagination" }}
<br>
{{ end }}

View file

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{{ block "title" . }}{{ .Site.Title }}{{ end }}</title>
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ "index.xml" | absURL }}">
<link rel="canonical" href="{{ .Permalink }}">
<!-- the Story logo is a square with rounded corners interlocked with a section symbol in Bodoni 72 Book font -->
<link rel="shortcut icon" type="image/png" href="{{ "apple-touch-icon-precomposed.png" | absURL }}">
{{ with .Description }}<meta name="description" content="{{. | markdownify }}">{{ end }}
{{ with .Keywords }}<meta name="keywords" content="{{.}}">{{ end }}
{{ .Hugo.Generator }}
{{ block "social" . }}
{{ end }}
{{ block "layout" . }}
<link rel="stylesheet" href="{{ "css/tachyons.min.css" | absURL }}" />
{{- if .Site.Params.less -}}
<link rel="stylesheet/less" type="text/css" href="{{ "css/story.less" | absURL }}" />
<link rel="stylesheet/less" type="text/css" href="{{ "css/descartes.less" | absURL }}" />
<script type="text/javascript" src="{{ "js/less.min.js" | absURL }}"></script>
{{ else }}
<link rel="stylesheet" href="{{ "css/story.css" | absURL }}" />
<link rel="stylesheet" href="{{ "css/descartes.css" | absURL }}" />
{{ end }}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400i,700,700i|Quattrocento:400,700|Spectral:400,400i,700,700i&amp;subset=latin-ext" rel="stylesheet">
{{ end }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
{{ if or (in .Site.Params.classes "feature-highlight") (in .Params.classes "feature-highlight") -}}
{{- if not (or (in .Site.Params.classes "feature-nohighlight") (in .Params.classes "feature-nohighlight") ) -}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
{{- end -}}
{{- end -}}
{{ if or (in .Site.Params.classes "feature-math") (in .Params.classes "feature-math") -}}
{{- if not (or (in .Site.Params.classes "feature-nomath") (in .Params.classes "feature-nomath") ) -}}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.9.0/dist/katex.min.css" integrity="sha384-TEMocfGvRuD1rIAacqrknm5BQZ7W7uWitoih+jMNFXQIbNl16bO8OZmylH/Vi/Ei" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/katex@0.9.0/dist/katex.min.js" integrity="sha384-jmxIlussZWB7qCuB+PgKG1uLjjxbVVIayPJwi6cG6Zb4YKq0JIw+OMnkkEC7kYCq" crossorigin="anonymous"></script>
<script src="{{ "js/auto-render.min.js" | absURL }}"></script> <!-- for KaTeX -->
{{- end -}}
{{- end -}}
{{ if or (in .Site.Params.classes "feature-music") (in .Params.classes "feature-music") -}}
{{- if not (or (in .Site.Params.classes "feature-nomusic") (in .Params.classes "feature-nomusic") ) -}}
<script src="{{ "js/abcjs_basic_5.6.3-min.js" | absURL }}"></script>
{{- end -}}
{{- end -}}
{{ with .Site.Params.head }}{{ range . }}
{{ . | safeHTML }}{{ end }}{{ end }}
<script src="{{ "js/story.js" | absURL }}"></script>
</head>
<body class="ma0 bg-white {{ with .Section }}section-{{ . }}{{ end }} page-kind-{{ .Kind }} is-page-{{ .IsPage }} {{ with .Site.Params.classes }}{{ range . }} {{ . }}{{ end }}{{ end }}{{ with .Params.classes }}{{ range . }} {{ . }}{{ end }}{{ end }}">
{{ block "header" . }}
<!--
You can set the title and header image in the "title/image" parameters of
the _index.md for the section. For a post, you can set the header image
with the "image" parameter in front matter. You can disable these
behaviors with the feature-nohdr class in the site config file or front
matter of an individual post.
-->
{{- $hdr := cond (or (in .Site.Params.classes "feature-nohdr") (in .Params.classes "feature-nohdr")) false true -}}
<header class="cover bg-top" {{ if $hdr }}style="background-image: url('{{ absURL (default "img/default-header-img.jpg" .Params.image) }}'); background-position: center;"{{ end }}>
<div class="{{ cond $hdr "bg-black-30 bb bt" "" }}">
<nav class="hide-print sans-serif {{ cond $hdr "" "bg-black" }} border-box pa3 ph5-l">
<a href="{{ .Site.BaseURL }}" title="Home">
<img src="{{ absURL (default "img/logo.jpg" (default .Site.Params.logo)) }}" class="w2 h2 br-100" alt="{{ .Site.Title }}" />
</a>
<div class="fr h2 pv2 tr">
{{- range .Site.Menus.main }}
<a class="link f5 ml2 dim near-white" href="{{ .URL }}">{{ .Name }}</a>
{{- end }}
{{- range .Site.Menus.social }}
<a class="link f5 ml2 dim near-white" href="{{ .URL }}"><i class="{{ .Title }}"></i></a>
{{- end }}
<a class="link f5 ml2 dim near-white fas fa-rss-square" href="{{ "index.xml" | absURL }}" title="RSS Feed"></a>
<a class="link f5 ml2 dim near-white fas fa-search" href="{{ "search/" | absURL }}" role="search" title="Search"></a>
</div>
</nav>
<div id="hdr" class="tc-l {{ cond $hdr "pv4-ns pv5-l" "" }} pv2 ph3 ph4-ns">
<h1 class="{{ cond $hdr "near-white mt1-ns" "" }} f2 fw3 mb0 mt0 lh-title">{{ cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) }}</h1>
<h2 class="{{ cond $hdr "near-white mt3-l mb4-l" "" }} fw1 f6 f3-l measure-wide-l center lh-copy mt2 mb3">
<!-- You can put a subtitle here in _index.md parameters, or it'll get
filled in with date and categories if it's a post -->
{{ if .IsPage }}
{{ if eq .Section "talks" }}
Presented
<time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
{{- .Date.Format "January 2, 2006" -}}
</time>
at <a class="no-underline category {{ cond $hdr "near-white dim" "black hover-gray" }}" href="{{ .Params.site }}">{{ .Params.event }}</a>
{{ else }}
Published
<time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
{{- .Date.Format "Jan 2, 2006" -}}
</time>
<span class="display-print">by {{ .Params.author | default .Site.Params.author }}</span>
{{ range $idx, $cat := .Params.categories }}{{ if gt $idx 0 }}, {{ end }}{{ if eq $idx 0 }} in {{ end }}<a href="{{ "categories" | absURL }}/{{ . | urlize }}" class="no-underline category {{ cond $hdr "near-white dim" "black hover-gray" }}">{{ . | title }}</a>{{ end }}
<span class="display-print">at {{ .Permalink }}</span>
{{ end }}
{{ else }}
{{ with .Params.subtitle }}{{ . | markdownify }}{{ end }}
{{ end }}
</h2>
</div>
<!-- if there's a "credits" parameter in front matter there'll be a camera icon here -->
{{ if $hdr }}
{{ with .Params.credit }}
<div class="w-100 cf hide-print">
<a class="fr f6 ma0 pa2 link white-50 dim fas fa-camera" href="{{ . }}" title="Photo Credit"></a>
</div>
{{ end }}
{{ end }}
</div>
</header>
{{ end }}
<main role="main">
{{ block "main" . }}
{{ end }}
</main>
{{ block "about" . }}
{{ partial "about.html" . }}
{{ end }}
{{ block "pagination" . }}{{ end }}
{{ block "footer" . }}
<footer class="hide-print sans-serif f6 fw1 bg-black near-white bottom-0 w-100 pa3" role="contentinfo">
<p class="w-50 fr tr">
<a class="no-underline near-white" href="https://github.com/xaprb/story"><img class="dib" title="Made with Hugo and Story" alt="Story logo" src="{{ "img/story-logo-white.svg" | absURL }}" style="width: 1.5rem; height: 1.5rem" /></a>
</p>
<p class="w-50 near-white">
&copy; {{ now.Format "2006" }} {{ with .Site.Params.author }}{{ . }}{{ end }}
</p>
</footer>
{{ end }}
{{ template "_internal/google_analytics_async.html" . }}
{{ with .Site.Params.foot }}{{ range . }}
{{ . | safeHTML }}{{ end }}{{ end }}
</body>
</html>

View file

@ -0,0 +1,22 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ .Site.Title }} </title>
<link>{{ .Permalink }}</link>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<author>{{ .Site.Params.Author }}</author>
<rights>Copyright (c) {{ .Site.LastChange.Year }}</rights>
<updated>{{ .Date }}</updated>
{{ range where (where (where .Data.Pages "Section" "ne" "slides") ".Params.skip" "ne" "true") ".Date.Unix" "<" now.Unix }}
<item>
<title>{{ cond (eq .Site.Params.titlecase true) (.Title | title) (.Title) }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }}</pubDate>
<author>{{ .Site.Params.Author }}</author>
<guid>{{ .Permalink }}</guid>
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="{{ (absURL (default (default "img/default-header-img.tn-500x500.jpg" .Params.image) .Params.thumbnail)) }}" medium="image" type="image/jpg" width="100" height="100" />
<description>{{ .Content | html }}</description>
</item>
{{ end }}
</channel>
</rss>

View file

@ -0,0 +1,30 @@
{{ define "title" }}{{ .Section | title }} &bullet; {{ .Site.Title }}{{ end }}
{{ define "main" }}
<div class="pa3 pa4-ns w-100 w-70-ns center">
<section class="w-100 mw8">
<!-- list all talks; list non-future slides; else list things that are not future and not slides -->
{{ $pages := where .Paginator.Pages ".Params.skip" "ne" "true" }}
{{ if eq .Section "talks" }}
{{ range $pages }}
{{ partial "li.html" . }}
{{ end }}
{{ else if eq .Section "slides" }}
{{ range where $pages ".Date.Unix" "<" now.Unix }}
{{ partial "li.html" . }}
{{ end }}
{{ else }}
{{ range where (where $pages ".Date.Unix" "<" now.Unix) "Section" "ne" "slides" }}
{{ partial "li.html" . }}
{{ end }}
{{ end }}
</section>
</div>
{{ end }}
{{ define "pagination" }}
<footer class="w-100 sans-serif" role="contentinfo">
<nav class="w-third-l pb3 f6 center db" role="navigation">
{{- template "_internal/pagination.html" . -}}
</nav>
</footer>
{{ end }}

View file

@ -0,0 +1,38 @@
{{ define "title" }}{{ .Section | title }} &bullet; {{ .Site.Title }}{{ end }}
{{ define "main" }}
<div class="pa3 pa4-ns w-100 w-70-ns center">
<section class="w-100 mw8">
{{- $hdr := cond (or (in .Site.Params.classes "feature-nohdr") (in .Params.classes "feature-nohdr")) false true -}}
{{ range first 20 (where (where (where .Site.RegularPages "Section" "ne" "slides") ".Params.skip" "ne" "true") ".Date.Unix" "<" now.Unix) }}
<div class="relative w-100">
<article>
<div class="db pv4 {{ cond $hdr "ph3" "" }} ph0-l no-underline dark-gray">
<div class="flex flex-column flex-row-ns">
{{ if $hdr }}
<div class="mb4 mb0-ns w-100 h4 h4-m w4-m h5-ns w5-ns br3 cover {{ if lt .Date.Unix now.Unix }}hide-child{{ end }}" style="background-image: url('{{ absURL (default "img/default-header-img.tn-500x500.jpg" (default .Params.image .Params.thumbnail)) }}'); background-position: center;">
<a href="{{ .Permalink }}" class="sans-serif db child w-100 h-100 f7 lh-copy white no-underline br3 ph3 pt4 pt5-l ttu tc bg-black-60">
<i class="mt3 mt5-l child far {{ cond (gt .Date.Unix now.Unix) "fa-hourglass" "fa-calendar-alt" }}"></i> {{ .Date.Format "Jan 2, 2006" }}
</a>
</div>
{{ end }}
<div class="w-100 w6-ns pl3-ns">
<h1 class="f3 fw1 mt0 lh-title"><a href="{{ .Permalink }}" class="color-inherit dim link">
{{- cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) -}}
</a></h1>
<div class="f6 f5-l lh-copy nested-copy-line-height nested-links">
{{ with .Params.tldr }}{{ . | markdownify }}{{ else }}{{ (printf "%s<br>%s" (.Params.description | markdownify) .Summary) }}{{ end }}
</div>
</div>
</div>
</div>
</article>
</div>
{{ end }}
</section>
</div>
{{ end }}
{{ define "pagination" }}
<br>
{{ end }}

View file

@ -0,0 +1,22 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ .Site.Title }} </title>
<link>{{ .Permalink }}</link>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<author>{{ .Site.Params.Author }}</author>
<rights>Copyright (c) {{ .Site.LastChange.Year }}</rights>
<updated>{{ .Date }}</updated>
{{ range first 20 (where (where (where .Site.RegularPages "Section" "ne" "slides") ".Params.skip" "ne" "true") ".Date.Unix" "<" now.Unix) }}
<item>
<title>{{ cond (eq .Site.Params.titlecase true) (.Title | title) (.Title) }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 MST" }}</pubDate>
<author>{{ .Site.Params.Author }}</author>
<guid>{{ .Permalink }}</guid>
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="{{ (absURL (default (default "img/default-header-img.tn-500x500.jpg" .Params.image) .Params.thumbnail)) }}" medium="image" type="image/jpg" width="100" height="100" />
<description>{{ with .Params.tldr }}{{ . | markdownify | html }}{{ else }}{{ (printf "%s<br>%s" .Params.description .Summary) | markdownify | html }}{{ end }}</description>
</item>
{{ end }}
</channel>
</rss>

View file

@ -0,0 +1,116 @@
{{ define "title" }}Search{{ end }}
{{ define "main" }}
<article class="center ph3 nested-copy-line-height lh-copy f4 nested-links mw-100 measure-wide pt4 min-vh-100">
{{ .Content }}
<input id="search" type="text" placeholder="Search..." class="pa2 br3 ba bw1 b--gray lh-title f3 sans-serif w-100">
<p>Type a search above to see results below:</p>
<ul id="results" class=""></ul>
</article>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.2.1/lunr.min.js"></script>
<script type="text/javascript">
var lunrIndex, $results, pagesIndex;
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] === variable) {
return decodeURIComponent(pair[1].replace(/\+/g, '%20'));
}
}
}
var searchTerm = getQueryVariable('query');
// Initialize lunrjs using our generated index file
function initLunr() {
// First retrieve the index file
$.getJSON("{{ "index.json" | absURL }}")
.done(function(index) {
pagesIndex = index;
// console.log("index:", pagesIndex);
lunrIndex = lunr(function() {
this.field("title", { boost: 10 });
this.field("categories", { boost: 5 });
this.field("keywords");
this.field("content");
this.field("uri");
this.ref("uri");
pagesIndex.forEach(function (page) {
this.add(page)
}, this)
});
})
.fail(function(jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.error("Error fetching Hugo search index JSON file:", err);
});
}
// Nothing crazy here, just hook up a listener on the input field
function initUI() {
$results = $("#results");
$("#search").keyup(function() {
$results.empty();
// Only trigger a search when 2 chars. at least have been provided
var query = $(this).val();
if (query.length < 2) {
return;
}
var results = search(query);
renderResults(results);
});
}
/**
* Trigger a search in lunr and transform the result
*
* @param {String} query
* @return {Array} results
*/
function search(query) {
return lunrIndex.search(query).map(function(result) {
return pagesIndex.filter(function(page) {
return page.uri === result.ref;
})[0];
});
}
/**
* Display the 10 first results
*
* @param {Array} results to display
*/
function renderResults(results) {
if (!results.length) {
return;
}
// Only show the first results
results.slice(0, 20).forEach(function(result) {
var $result = $("<li>");
$result.append($('<a>', {
class: 'no-underline dim link',
href: result.uri,
text: result.title
}));
$results.append($result);
});
}
// Let's get started
$(document).ready(function() {
initLunr();
initUI();
});
</script>
{{ end }}

View file

@ -0,0 +1,18 @@
{{ define "title" }}{{ cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) }}{{ end }}
{{ define "main" }}
<article class="center bg-white br-3 pv1 ph4 lh-copy f5 nested-links mw7">
{{ .Content }}
</article>
{{ end }}
{{ define "social" }}
<meta property="og:title" content="{{ cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) }}" />
<meta property="og:type" content="article" />
<meta property="og:image" content="{{ default "img/default-header-img.jpg" .Params.image | absURL }}" />
<meta property="og:description" content="{{ .Description | markdownify }}" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) }}" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@{{ .Site.Params.twitter }}" />
{{ end }}

View file

@ -0,0 +1,18 @@
{{ define "main" }}
<div class="pa3 pa4-ns w-100 w-70-ns center">
<section class="w-100 mw8">
{{ $pages := where .Paginator.Pages ".Params.skip" "ne" "true" }}
{{ range where (where $pages ".Date.Unix" "<" now.Unix) "Section" "ne" "slides" }}
{{ partial "li.html" . }}
{{ end }}
</section>
</div>
{{ end }}
{{ define "pagination" }}
<footer class="w-100 sans-serif" role="contentinfo">
<nav class="w-third-l pb3 f6 center db" role="navigation">
{{- template "_internal/pagination.html" . -}}
</nav>
</footer>
{{ end }}

View file

@ -0,0 +1,5 @@
{{- $.Scratch.Add "index" slice -}}
{{- range where .Site.Pages ".Params.skip" "ne" "true" -}}
{{- $.Scratch.Add "index" (dict "uri" .Permalink "title" (cond (eq .Site.Params.titlecase true) (.Title | title | markdownify | htmlUnescape) (.Title | markdownify | htmlUnescape)) "categories" .Params.categories "keywords" .Params.keywords "content" (.Summary | plainify | htmlUnescape )) -}}
{{- end -}}
{{- $.Scratch.Get "index" | jsonify -}}

View file

@ -0,0 +1,30 @@
<div class="hide-print sans-serif f6 f5-l mt5 ph3 pb6 center nested-copy-line-height lh-copy nested-links mw-100 measure-wide">
<div class="about-the-author">
{{ if .IsPage }}
{{ $author := (printf "/authors/%s" (default .Site.Params.author (default "Unknown" .Params.author) | urlize)) }}
{{ with .Site.GetPage $author }}
{{ if gt .Content "" }}
{{ .Content }}
{{ end }}
{{ else }}
{{ with .Site.GetPage "/" }}
{{ .Content }}
{{ end }}
{{ end }}
{{ else if gt .Content "" }}
{{ .Content }}
{{ else }}
{{ with .Site.GetPage "/" }}
{{ .Content }}
{{ end }}
{{ end }}
</div>
{{ with .Site.Params.mailchimp }}
<div class="subscribe-form cb w-100 pt3">
<form action="{{ . }}" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" target="_blank" novalidate>
<input class="w-50 dib ph3 pv2 ba b--silver br2 sans-serif f6 f5-l mr2" type="email" placeholder="Subscribe for email updates!" name="EMAIL" id="mce-EMAIL">
<input class="w-40 dib ph3 pv2 ba b--silver br2 sans-serif f6 f5-l white bg-mid-gray" type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe">
</form>
</div>
{{ end }}
</div>

View file

@ -0,0 +1,34 @@
{{- $hdr := cond (or (in .Site.Params.classes "feature-nohdr") (in .Params.classes "feature-nohdr")) false true -}}
<div class="relative w-100">
<article>
<div class="db pv4 {{ cond $hdr "ph3" "" }} ph0-l no-underline dark-gray">
<div class="flex flex-column flex-row-ns">
{{ if $hdr }}
<div class="mb4 mb0-ns w-100 h4 h4-m w4-m h5-ns w5-ns br3 cover {{ if lt .Date.Unix now.Unix }}hide-child{{ end }}" style="background-image: url('{{ absURL (default "img/default-header-img.tn-500x500.jpg" (default .Params.image .Params.thumbnail)) }}'); background-position: center;">
<a href="{{ .Permalink }}" class="sans-serif db child w-100 h-100 f7 lh-copy white no-underline br3 ph3 pt4 pt5-l ttu tc bg-black-60">
<i class="mt3 mt5-l child far {{ cond (gt .Date.Unix now.Unix) "fa-hourglass" "fa-calendar-alt" }}"></i> {{ .Date.Format "Jan 2, 2006" }}
</a>
</div>
{{ end }}
<div class="w-100 w6-ns pl3-ns">
<h1 class="f3 fw1 mt0 lh-title"><a href="{{ .Permalink }}" class="color-inherit dim link">
{{- if eq .Section "talks" }}{{ .Params.event }}: {{ end -}}
{{- cond (eq .Site.Params.titlecase true) (.Title | title | markdownify) (.Title | markdownify) -}}
</a></h1>
<div class="f6 f5-l lh-copy nested-copy-line-height nested-links">
{{ if eq .Section "slides" }}
{{ .Description | markdownify }}
<p class="pa0 sans-serif f7"><a class="ba br3 pa2 link" href="{{ .Permalink }}">View Slideshow <i class="fas fa-chevron-circle-right"></i></a></p>
{{ else if eq .Section "talks" }}
{{ .Summary }}
<p class="pa0 sans-serif f7"><a class="ba br3 pa2 link" href="{{ .Permalink }}">Talk Details <i class="fas fa-chevron-circle-right"></i></a></p>
{{ else }}
{{ .Summary }}
<p class="pa0 sans-serif f7"><a class="ba br3 pa2 link" href="{{ .Permalink }}">Continue Reading <i class="fas fa-chevron-circle-right"></i></a></p>
{{ end }}
</div>
</div>
</div>
</div>
</article>
</div>

View file

@ -0,0 +1,8 @@
{{ if or (hasPrefix .Inner "\n") (hasPrefix .Inner "<p>") }}
<div class="math">\[
{{- $inner := replace .Inner "\\<br />\n" "\\\\" -}}
{{- $inner := replace $inner "<p>" "<p>\\[" -}}
{{- $inner := replace $inner "</p>" "\\]<p>" -}}
{{ trim $inner "\n" }}
\]</div>
{{- else -}}<span class="math">\( {{ trim .Inner "\n" }} \)</span>{{- end -}}

View file

@ -0,0 +1 @@
<pre><code class="language-abc">{{ .Get 0 | readFile}}</code></pre>

Some files were not shown because too many files have changed in this diff Show more